hlmod.hu

Magyar Half-Life Mód közösség!
Pontos idő: 2025.06.16. 19:27



Jelenlévő felhasználók

Jelenleg 366 felhasználó van jelen :: 2 regisztrált, 0 rejtett és 364 vendég

A legtöbb felhasználó (2761 fő) 2025.01.09. 20:06-kor tartózkodott itt.

Regisztrált felhasználók: Bing [Bot], Google [Bot]az elmúlt 5 percben aktív felhasználók alapján

Utoljára aktív
Ahhoz hogy lásd ki volt utoljára aktív, be kell jelentkezned.



Az oldal teljeskörű
használatához regisztrálj.

Regisztráció

Kereső


Új téma nyitása Hozzászólás a témához  [7 hozzászólás ] 
Szerző Üzenet
 Hozzászólás témája: Admin Perfix + Hirdetés tiltó
HozzászólásElküldve:2014.01.25. 09:50 
Offline
Félisten

Csatlakozott:2012.06.19. 15:12
Hozzászólások:926
Megköszönt másnak: 109 alkalommal
Megköszönték neki: 31 alkalommal
Egybe van írva az admin perfix plugin és a hirdetés tiltó az a baj hogy a hirdetés tiltó működik de az admin perfix nem mi lehet a baja?

SMA Forráskód: [ Mindet kijelol ]
  1. #include <amxmodx>
  2. #include <fakemeta>
  3. #include <colorchat>
  4. #include <amxmisc>
  5. #include <celltrie>
  6. #include <cstrike>
  7.  
  8.  
  9. #define VERSION "4.0"
  10. #define FLAG_LOAD ADMIN_CFG
  11. #define MAX_PREFIXES 33
  12. #define MAX_BAD_PREFIXES 100
  13.  
  14. new g_bad_prefix, g_listen, g_listen_flag, g_custom, g_custom_flag, g_say_characters, g_prefix_characters;
  15. new pre_ips_count = 0, pre_names_count = 0, pre_steamids_count, pre_flags_count = 0, bad_prefix_count = 0, i, temp_cvar[2];
  16. new configs_dir[64], file_prefixes[128], file_bad_prefixes[128], text[128], prefix[32], type[2], key[32], length, line = 0, error[256];
  17. new g_saytxt, g_maxplayers, CsTeams:g_team;
  18. new g_typed[192], g_message[192], g_name[32];
  19. new Trie:pre_ips_collect, Trie:pre_names_collect, Trie:pre_steamids_collect, Trie:pre_flags_collect, Trie:bad_prefixes_collect, Trie:client_prefix;
  20. new str_id[16], temp_key[35], temp_prefix[32], temp_value;
  21. new bool:g_toggle[33];
  22.  
  23. new const say_team_info[2][CsTeams][] =
  24. {
  25. {"*SPEC* ", "*DEAD* ", "*DEAD* ", "*SPEC* "},
  26. {"", "", "", ""}
  27. }
  28.  
  29. new const sayteam_team_info[2][CsTeams][] =
  30. {
  31. {"(Spectator) ", "*DEAD*(Terrorist) ", "*DEAD*(Counter-Terrorist) ", "(Spectator) "},
  32. {"(Spectator) ", "(Terrorist) ", "(Counter-Terrorist) ", "(Spectator) "}
  33. }
  34.  
  35. new const forbidden_say_symbols[] = {
  36. "/",
  37. "!",
  38. "%",
  39. "$"
  40. }
  41.  
  42. new const forbidden_prefixes_symbols[] = {
  43. "/",
  44. "\",
  45. "%",
  46. "$",
  47. ".",
  48. ":",
  49. "?",
  50. "!",
  51. "@",
  52. "#",
  53. "%"
  54. }
  55.  
  56. new const separator[] = "************************************************"
  57. new const in_prefix[] = "[AdminPrefixes]"
  58.  
  59. public plugin_init()
  60. {
  61. register_forward(FM_ClientUserInfoChanged, "ClientInfoChanged")
  62. register_clcmd ("say", "msgControl")
  63. register_clcmd ("say_team", "msgControl")
  64. g_bad_prefix = register_cvar("ap_bad_prefixes", "1")
  65. g_listen = register_cvar("ap_listen", "1")
  66. g_listen_flag = register_cvar("ap_listen_flag", "a")
  67. g_custom = register_cvar("ap_custom_current", "1")
  68. g_custom_flag = register_cvar("ap_custom_current_flag", "b")
  69. g_say_characters = register_cvar("ap_say_characters", "1")
  70. g_prefix_characters = register_cvar("ap_prefix_characters", "1")
  71.  
  72. g_saytxt = get_user_msgid ("SayText")
  73. g_maxplayers = get_maxplayers()
  74.  
  75. register_concmd("ap_reload_prefixes", "LoadPrefixes")
  76. register_concmd("ap_reload_badprefixes", "LoadBadPrefixes")
  77. register_concmd("ap_put", "SetPlayerPrefix")
  78. register_clcmd("say", "HookSay")
  79. register_clcmd("say_team", "HookSayTeam")
  80.  
  81. pre_ips_collect = TrieCreate()
  82. pre_names_collect = TrieCreate()
  83. pre_steamids_collect = TrieCreate()
  84. pre_flags_collect = TrieCreate()
  85. bad_prefixes_collect = TrieCreate()
  86. client_prefix = TrieCreate()
  87.  
  88. register_dictionary("admin_prefixes.txt")
  89.  
  90. get_configsdir(configs_dir, charsmax(configs_dir))
  91. formatex(file_prefixes, charsmax(file_prefixes), "%s/ap_prefixes.ini", configs_dir)
  92. formatex(file_bad_prefixes, charsmax(file_bad_prefixes), "%s/ap_bad_prefixes.ini", configs_dir)
  93.  
  94. LoadPrefixes(0)
  95. LoadBadPrefixes(0)
  96. }
  97. public msgControl(id){
  98. new message[192]
  99. read_args (message, 191)
  100. remove_quotes (message)
  101. new Bnum = strlen(message)
  102. new Nnum = 0
  103. new i = 0
  104. while(i < Bnum)
  105. {
  106. if(message[i] == '1' || message[i] == '2' || message[i] == '3' || message[i] == '4' || message[i] == '5' || message[i] == '6' || message[i] == '7' || message[i] == '8' || message[i] == '9' || message[i] == '0')
  107. Nnum++
  108. ++i
  109. }
  110. if( Nnum >= 7)
  111. {
  112. //client_print(id, print_chat, "[L.o.L] A szerveren TILOS a szerverek HIRDETÉSE!")
  113. ColorChat(id,GREEN,"[Hirdetes] A szerveren ^3TILOS a ^3HIRDETÉS!")
  114. return PLUGIN_HANDLED
  115. }
  116. return PLUGIN_CONTINUE
  117. }
  118. public client_connect(id)
  119. set_task(3.0, "NameConrol",id)
  120.  
  121.  
  122.  
  123. public ClientInfoChanged(id)
  124. set_task(3.0, "NameConrol",id)
  125. public NameConrol(id){
  126. if(!is_user_connected(id))
  127. return PLUGIN_CONTINUE
  128. new name[31]
  129. get_user_name(id, name, 30)
  130. new Bnum = strlen(name);
  131. new i=0
  132. new Nnum=0
  133. while(i < Bnum)
  134. {
  135. if(name[i] == '1' || name[i] == '2' || name[i] == '3' || name[i] == '4' || name[i] == '5' || name[i] == '6' || name[i] == '7' || name[i] == '8' || name[i] == '9' || name[i] == '0')
  136. Nnum++;
  137. ++i;
  138. }
  139. if( Nnum >= 7)
  140. {
  141. client_cmd(id, "name ^"TILOS HIRDETNI!^"")
  142. client_cmd(id, "retry")
  143. return PLUGIN_CONTINUE
  144. }
  145. return PLUGIN_CONTINUE
  146. }
  147. stock print_color(const id, const input[], any:...)
  148. {
  149. new count = 1, players[32]
  150. static msg[191]
  151. vformat(msg, 190, input, 3)
  152.  
  153. replace_all(msg, 190, "!g", "^4")
  154. replace_all(msg, 190, "!y", "^1")
  155. replace_all(msg, 190, "!t", "^3")
  156. replace_all(msg, 190, "á", "á")
  157. replace_all(msg, 190, "é", "Ă©")
  158. replace_all(msg, 190, "í", "Ă")
  159. replace_all(msg, 190, "ó", "Ăł")
  160. replace_all(msg, 190, "ö", "ö")
  161. replace_all(msg, 190, "ő", "Ĺ‘")
  162. replace_all(msg, 190, "ú", "Ăş")
  163. replace_all(msg, 190, "ü", "ĂĽ")
  164. replace_all(msg, 190, "ű", "ű")
  165. replace_all(msg, 190, "Á", "Á")
  166. replace_all(msg, 190, "É", "É")
  167. replace_all(msg, 190, "Í", "ĂŤ")
  168. replace_all(msg, 190, "Ó", "Ă“")
  169. replace_all(msg, 190, "Ö", "Ă–")
  170. replace_all(msg, 190, "Ő", "Ő")
  171. replace_all(msg, 190, "Ú", "Ăš")
  172. replace_all(msg, 190, "Ü", "Ăś")
  173. replace_all(msg, 190, "Ű", "Ű")
  174.  
  175. if (id) players[0] = id; else get_players(players, count, "ch")
  176. {
  177. for (new i = 0; i < count; i++)
  178. {
  179. if (is_user_connected(players[i]))
  180. {
  181. message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i])
  182. write_byte(players[i])
  183. write_string(msg)
  184. message_end()
  185. }
  186. }
  187. }
  188. return PLUGIN_HANDLED
  189. }
  190. public LoadPrefixes(id)
  191. {
  192. if(!(get_user_flags(id) & FLAG_LOAD))
  193. {
  194. console_print(id, "%L", LANG_SERVER, "PREFIX_PERMISSION", in_prefix)
  195. return PLUGIN_HANDLED
  196. }
  197.  
  198. TrieClear(pre_ips_collect)
  199. TrieClear(pre_names_collect)
  200. TrieClear(pre_steamids_collect)
  201. TrieClear(pre_flags_collect)
  202.  
  203. line = 0, length = 0, pre_flags_count = 0, pre_ips_count = 0, pre_names_count = 0;
  204.  
  205. if(!file_exists(file_prefixes))
  206. {
  207. formatex(error, charsmax(error), "%L", LANG_SERVER, "PREFIX_NOT_FOUND", in_prefix, file_prefixes)
  208. set_fail_state(error)
  209. }
  210.  
  211. server_print(separator)
  212.  
  213. while(read_file(file_prefixes, line++ , text, charsmax(text), length) && (pre_ips_count + pre_names_count + pre_steamids_count + pre_flags_count) <= MAX_PREFIXES)
  214. {
  215. if(!text[0] || text[0] == '^n' || text[0] == ';' || (text[0] == '/' && text[1] == '/'))
  216. continue
  217.  
  218. parse(text, type, charsmax(type), key, charsmax(key), prefix, charsmax(prefix))
  219. trim(prefix)
  220.  
  221. if(!type[0] || !prefix[0] || !key[0])
  222. continue
  223.  
  224. replace_all(prefix, charsmax(prefix), "!g", "^x04")
  225. replace_all(prefix, charsmax(prefix), "!t", "^x03")
  226. replace_all(prefix, charsmax(prefix), "!n", "^x01")
  227.  
  228. switch(type[0])
  229. {
  230. case 'f':
  231. {
  232. pre_flags_count++
  233. TrieSetString(pre_flags_collect, key, prefix)
  234. server_print("%L", LANG_SERVER, "PREFIX_LOAD_FLAG", in_prefix, prefix, key[0])
  235. }
  236. case 'i':
  237. {
  238. pre_ips_count++
  239. TrieSetString(pre_ips_collect, key, prefix)
  240. server_print("%L", LANG_SERVER, "PREFIX_LOAD_IP", in_prefix, prefix, key)
  241. }
  242. case 's':
  243. {
  244. pre_steamids_count++
  245. TrieSetString(pre_steamids_collect, key, prefix)
  246. server_print("%L", LANG_SERVER, "PREFIX_LOAD_STEAMID", in_prefix, prefix, key)
  247. }
  248. case 'n':
  249. {
  250. pre_names_count++
  251. TrieSetString(pre_names_collect, key, prefix)
  252. server_print("%L", LANG_SERVER, "PREFIX_LOAD_NAME", in_prefix, prefix, key)
  253. }
  254. default:
  255. {
  256. continue
  257. }
  258. }
  259. }
  260.  
  261. if(pre_flags_count <= 0 && pre_ips_count <= 0 && pre_steamids_count <= 0 && pre_names_count <= 0)
  262. {
  263. server_print("%L", LANG_SERVER, "PREFIX_NO", in_prefix)
  264. }
  265.  
  266. get_user_name(id, g_name, charsmax(g_name))
  267. server_print("%L", LANG_SERVER, "PREFIX_LOADED_BY", in_prefix, g_name)
  268. console_print(id, "%L", LANG_SERVER, "PREFIX_LOADED", in_prefix)
  269.  
  270. server_print(separator)
  271.  
  272. for(new i = 1; i <= g_maxplayers; i++)
  273. {
  274. num_to_str(i, str_id, charsmax(str_id))
  275. TrieDeleteKey(client_prefix, str_id)
  276. PutPrefix(i)
  277. }
  278.  
  279. return PLUGIN_HANDLED
  280. }
  281.  
  282. public LoadBadPrefixes(id)
  283. {
  284. if(!get_pcvar_num(g_bad_prefix))
  285. {
  286. console_print(id, "%L", LANG_SERVER, "BADP_OFF", in_prefix)
  287. return PLUGIN_HANDLED
  288. }
  289.  
  290. if(!(get_user_flags(id) & FLAG_LOAD))
  291. {
  292. console_print(id, "%L", LANG_SERVER, "BADP_PERMISSION", in_prefix)
  293. return PLUGIN_HANDLED
  294. }
  295.  
  296. TrieClear(bad_prefixes_collect)
  297.  
  298. line = 0, length = 0, bad_prefix_count = 0;
  299.  
  300. if(!file_exists(file_bad_prefixes))
  301. {
  302. console_print(id, "%L", LANG_SERVER, "BADP_NOT_FOUND", in_prefix, file_bad_prefixes)
  303. return PLUGIN_HANDLED
  304. }
  305.  
  306. server_print(separator)
  307.  
  308. while(read_file(file_bad_prefixes, line++ , text, charsmax(text), length) && bad_prefix_count <= MAX_BAD_PREFIXES)
  309. {
  310. if(!text[0] || text[0] == '^n' || text[0] == ';' || (text[0] == '/' && text[1] == '/'))
  311. continue
  312.  
  313. parse(text, prefix, charsmax(prefix))
  314.  
  315. if(!prefix[0])
  316. continue
  317.  
  318. bad_prefix_count++
  319. TrieSetCell(bad_prefixes_collect, prefix, 1)
  320. server_print("%L", LANG_SERVER, "BADP_LOAD", in_prefix, prefix)
  321. }
  322.  
  323. if(bad_prefix_count <= 0)
  324. {
  325. server_print("%L", LANG_SERVER, "BADP_NO", in_prefix)
  326. }
  327.  
  328. get_user_name(id, g_name, charsmax(g_name))
  329. server_print("%L", LANG_SERVER, "BADP_LOADED_BY", in_prefix, g_name)
  330. console_print(id, "%L", LANG_SERVER, "BADP_LOADED", in_prefix)
  331.  
  332. server_print(separator)
  333.  
  334. return PLUGIN_HANDLED
  335. }
  336.  
  337. public client_putinserver(id)
  338. {
  339. g_toggle[id] = true
  340. num_to_str(id, str_id, charsmax(str_id))
  341. TrieSetString(client_prefix, str_id, "")
  342. PutPrefix(id)
  343. }
  344.  
  345. public HookSay(id)
  346. {
  347. read_args(g_typed, charsmax(g_typed))
  348. remove_quotes(g_typed)
  349.  
  350. trim(g_typed)
  351.  
  352. if(equal(g_typed, "") || !is_user_connected(id))
  353. return PLUGIN_HANDLED_MAIN
  354.  
  355. if(equal(g_typed, "/prefix"))
  356. {
  357. if(g_toggle[id])
  358. {
  359. g_toggle[id] = false
  360. client_print(id, print_chat, "%L", LANG_SERVER, "PREFIX_OFF", in_prefix)
  361. }
  362. else
  363. {
  364. g_toggle[id] = true
  365. client_print(id, print_chat, "%L", LANG_SERVER, "PREFIX_ON", in_prefix)
  366. }
  367.  
  368. return PLUGIN_HANDLED_MAIN
  369. }
  370.  
  371. if(!g_toggle[id])
  372. return PLUGIN_CONTINUE
  373.  
  374. num_to_str(id, str_id, charsmax(str_id))
  375.  
  376. if((TrieGetString(client_prefix, str_id, temp_prefix, charsmax(temp_prefix)) && get_pcvar_num(g_say_characters) == 1) || (!TrieGetString(client_prefix, str_id, temp_prefix, charsmax(temp_prefix)) && get_pcvar_num(g_say_characters) == 2) || get_pcvar_num(g_say_characters) == 3)
  377. {
  378. if(check_say_characters(g_typed))
  379. return PLUGIN_HANDLED_MAIN
  380. }
  381.  
  382. get_user_name(id, g_name, charsmax(g_name))
  383.  
  384. g_team = cs_get_user_team(id)
  385.  
  386. if(temp_prefix[0])
  387. {
  388. formatex(g_message, charsmax(g_message), "^1%s^4%s^3 %s :^4 %s", say_team_info[is_user_alive(id)][g_team], temp_prefix, g_name, g_typed)
  389. }
  390. else
  391. {
  392. formatex(g_message, charsmax(g_message), "^1%s^3%s :^1 %s", say_team_info[is_user_alive(id)][g_team], g_name, g_typed)
  393. }
  394.  
  395. get_pcvar_string(g_listen_flag, temp_cvar, charsmax(temp_cvar))
  396.  
  397. for(new i = 1; i <= g_maxplayers; i++)
  398. {
  399. if(!is_user_connected(i))
  400. continue
  401.  
  402. if(is_user_alive(id) && is_user_alive(i) || !is_user_alive(id) && !is_user_alive(i) || get_pcvar_num(g_listen) && get_user_flags(i) & read_flags(temp_cvar))
  403. {
  404. send_message(g_message, id, i)
  405. }
  406. }
  407.  
  408. return PLUGIN_HANDLED_MAIN
  409. }
  410.  
  411. public HookSayTeam(id)
  412. {
  413. read_args(g_typed, charsmax(g_typed))
  414. remove_quotes(g_typed)
  415.  
  416. trim(g_typed)
  417.  
  418. if(equal(g_typed, "") || !is_user_connected(id))
  419. return PLUGIN_HANDLED_MAIN
  420.  
  421. if(equal(g_typed, "/prefix"))
  422. {
  423. if(g_toggle[id])
  424. {
  425. g_toggle[id] = false
  426. client_print(id, print_chat, "%L", LANG_SERVER, "PREFIX_OFF", in_prefix)
  427. }
  428. else
  429. {
  430. g_toggle[id] = true
  431. client_print(id, print_chat, "%L", LANG_SERVER, "PREFIX_ON", in_prefix)
  432. }
  433.  
  434. return PLUGIN_HANDLED_MAIN
  435. }
  436.  
  437. if(!g_toggle[id])
  438. return PLUGIN_CONTINUE
  439.  
  440. num_to_str(id, str_id, charsmax(str_id))
  441.  
  442. if((TrieGetString(client_prefix, str_id, temp_prefix, charsmax(temp_prefix)) && get_pcvar_num(g_say_characters) == 1) || (!TrieGetString(client_prefix, str_id, temp_prefix, charsmax(temp_prefix)) && get_pcvar_num(g_say_characters) == 2) || get_pcvar_num(g_say_characters) == 3)
  443. {
  444. if(check_say_characters(g_typed))
  445. return PLUGIN_HANDLED_MAIN
  446. }
  447.  
  448. get_user_name(id, g_name, charsmax(g_name))
  449.  
  450. g_team = cs_get_user_team(id)
  451.  
  452. if(temp_prefix[0])
  453. {
  454. formatex(g_message, charsmax(g_message), "^1%s^4%s^3 %s :^4 %s", sayteam_team_info[is_user_alive(id)][g_team], temp_prefix, g_name, g_typed)
  455. }
  456. else
  457. {
  458. formatex(g_message, charsmax(g_message), "^1%s^3%s :^1 %s", sayteam_team_info[is_user_alive(id)][g_team], g_name, g_typed)
  459. }
  460.  
  461. get_pcvar_string(g_listen_flag, temp_cvar, charsmax(temp_cvar))
  462.  
  463. for(new i = 1; i <= g_maxplayers; i++)
  464. {
  465. if(!is_user_connected(i))
  466. continue
  467.  
  468. if(get_user_team(id) == get_user_team(i) || get_pcvar_num(g_listen) && get_user_flags(i) & read_flags(temp_cvar))
  469. {
  470. if(is_user_alive(id) && is_user_alive(i) || !is_user_alive(id) && !is_user_alive(i) || get_pcvar_num(g_listen) && get_user_flags(i) & read_flags(temp_cvar))
  471. {
  472. send_message(g_message, id, i)
  473. }
  474. }
  475. }
  476.  
  477. return PLUGIN_HANDLED_MAIN
  478. }
  479.  
  480. public SetPlayerPrefix(id)
  481. {
  482. if(!get_pcvar_num(g_custom) || !get_pcvar_string(g_custom_flag, temp_cvar, charsmax(temp_cvar)))
  483. {
  484. console_print(id, "%L", LANG_SERVER, "CUSTOM_OFF", in_prefix)
  485. return PLUGIN_HANDLED
  486. }
  487.  
  488. if(!(get_user_flags(id) & read_flags(temp_cvar)))
  489. {
  490. console_print(id, "%L", LANG_SERVER, "CUSTOM_PERMISSION", in_prefix)
  491. return PLUGIN_HANDLED
  492. }
  493.  
  494. new input[128], target;
  495. new arg_type[2], arg_prefix[32], arg_key[35];
  496. new temp_str[16];
  497.  
  498. read_args(input, charsmax(input))
  499. remove_quotes(input)
  500. parse(input, arg_type, charsmax(arg_type), arg_key, charsmax(arg_key), arg_prefix, charsmax(arg_prefix))
  501. trim(arg_prefix)
  502.  
  503. if(get_pcvar_num(g_bad_prefix) && is_bad_prefix(arg_prefix) && !equali(arg_prefix, ""))
  504. {
  505. console_print(id, "%L", LANG_SERVER, "CUSTOM_FORBIDDEN", in_prefix, arg_prefix)
  506. return PLUGIN_HANDLED
  507. }
  508.  
  509. if(get_pcvar_num(g_prefix_characters) && check_prefix_characters(arg_prefix))
  510. {
  511. console_print(id, "%L", LANG_SERVER, "CUSTOM_SYMBOL", in_prefix, arg_prefix, forbidden_prefixes_symbols[i])
  512. return PLUGIN_HANDLED
  513. }
  514.  
  515. switch(arg_type[0])
  516. {
  517. case 'f':
  518. {
  519. target = 0
  520. temp_str = "Flag"
  521. }
  522. case 'i':
  523. {
  524. target = find_player("d", arg_key)
  525. temp_str = "IP"
  526. }
  527. case 's':
  528. {
  529. target = find_player("c", arg_key)
  530. temp_str = "SteamID"
  531. }
  532. case 'n':
  533. {
  534. target = find_player("a", arg_key)
  535. temp_str = "Name"
  536. }
  537. default:
  538. {
  539. console_print(id, "%L", LANG_SERVER, "CUSTOM_INVALID", in_prefix, arg_type)
  540. return PLUGIN_HANDLED
  541. }
  542. }
  543.  
  544. get_user_name(id, g_name, charsmax(g_name))
  545.  
  546. if(equali(arg_prefix, ""))
  547. {
  548. find_and_delete(arg_type, arg_key)
  549.  
  550. if(target)
  551. {
  552. PutPrefix(target)
  553. }
  554.  
  555. console_print(id, "%L", LANG_SERVER, "CUSTOM_REMOVE", in_prefix, temp_str, arg_key)
  556. server_print("%L", LANG_SERVER, "CUSTOM_REMOVE_INFO", in_prefix, g_name, temp_str, arg_key)
  557. return PLUGIN_HANDLED
  558. }
  559.  
  560. find_and_delete(arg_type, arg_key)
  561.  
  562. formatex(text, charsmax(text), "^"%s^" ^"%s^" ^"%s^"", arg_type, arg_key, arg_prefix)
  563. write_file(file_prefixes, text, -1)
  564.  
  565. switch(arg_type[0])
  566. {
  567. case 'f':
  568. {
  569. TrieSetString(pre_flags_collect, arg_key, arg_prefix)
  570. }
  571. case 'i':
  572. {
  573. TrieSetString(pre_ips_collect, arg_key, arg_prefix)
  574. }
  575. case 's':
  576. {
  577. TrieSetString(pre_steamids_collect, arg_key, arg_prefix)
  578. }
  579. case 'n':
  580. {
  581. TrieSetString(pre_names_collect, arg_key, arg_prefix)
  582. }
  583. }
  584.  
  585. if(target)
  586. {
  587. num_to_str(target, str_id, charsmax(str_id))
  588. TrieSetString(client_prefix, str_id, arg_prefix)
  589. }
  590.  
  591. console_print(id, "%L", LANG_SERVER, "CUSTOM_CHANGE", in_prefix, temp_str, arg_key, arg_prefix)
  592. server_print("%L", LANG_SERVER, "CUSTOM_CHANGE_INFO", in_prefix, g_name, temp_str, arg_key, arg_prefix)
  593.  
  594. return PLUGIN_HANDLED
  595. }
  596.  
  597. public client_infochanged(id)
  598. {
  599. if(!is_user_connected(id))
  600. return PLUGIN_CONTINUE
  601.  
  602. new g_old_name[32];
  603.  
  604. get_user_info(id, "name", g_name, charsmax(g_name))
  605. get_user_name(id, g_old_name, charsmax(g_old_name))
  606.  
  607. if(!equal(g_name, g_old_name))
  608. {
  609. num_to_str(id, str_id, charsmax(str_id))
  610. TrieSetString(client_prefix, str_id, "")
  611. set_task(0.5, "PutPrefix", id)
  612. return PLUGIN_HANDLED
  613. }
  614.  
  615. return PLUGIN_CONTINUE
  616. }
  617.  
  618. public PutPrefix(id)
  619. {
  620. num_to_str(id, str_id, charsmax(str_id))
  621. TrieSetString(client_prefix, str_id, "")
  622.  
  623. new sflags[32], temp_flag[2];
  624. get_flags(get_user_flags(id), sflags, charsmax(sflags))
  625.  
  626. for(new i = 0; i <= charsmax(sflags); i++)
  627. {
  628. formatex(temp_flag, charsmax(temp_flag), "%c", sflags[i])
  629.  
  630. if(TrieGetString(pre_flags_collect, temp_flag, temp_prefix, charsmax(temp_prefix)))
  631. {
  632. TrieSetString(client_prefix, str_id, temp_prefix)
  633. }
  634. }
  635.  
  636. get_user_ip(id, temp_key, charsmax(temp_key), 1)
  637.  
  638. if(TrieGetString(pre_ips_collect, temp_key, temp_prefix, charsmax(temp_prefix)))
  639. {
  640. TrieSetString(client_prefix, str_id, temp_prefix)
  641. }
  642.  
  643. get_user_authid(id, temp_key, charsmax(temp_key))
  644.  
  645. if(TrieGetString(pre_steamids_collect, temp_key, temp_prefix, charsmax(temp_prefix)))
  646. {
  647. TrieSetString(client_prefix, str_id, temp_prefix)
  648. }
  649.  
  650. get_user_name(id, temp_key, charsmax(temp_key))
  651.  
  652. if(TrieGetString(pre_names_collect, temp_key, temp_prefix, charsmax(temp_prefix)))
  653. {
  654. TrieSetString(client_prefix, str_id, temp_prefix)
  655. }
  656.  
  657. return PLUGIN_HANDLED
  658. }
  659.  
  660. send_message(const message[], const id, const i)
  661. {
  662. message_begin(MSG_ONE, g_saytxt, {0, 0, 0}, i)
  663. write_byte(id)
  664. write_string(message)
  665. message_end()
  666. }
  667.  
  668. bool:check_say_characters(const check_message[])
  669. {
  670. for(new i = 0; i < charsmax(forbidden_say_symbols); i++)
  671. {
  672. if(check_message[0] == forbidden_say_symbols[i])
  673. {
  674. return true
  675. }
  676. }
  677. return false
  678. }
  679.  
  680. bool:check_prefix_characters(const check_prefix[])
  681. {
  682. for(i = 0; i < charsmax(forbidden_prefixes_symbols); i++)
  683. {
  684. if(containi(check_prefix, forbidden_prefixes_symbols[i]) != -1)
  685. {
  686. return true
  687. }
  688. }
  689. return false
  690. }
  691.  
  692. bool:is_bad_prefix(const check_prefix[])
  693. {
  694. if(TrieGetCell(bad_prefixes_collect, check_prefix, temp_value))
  695. {
  696. return true
  697. }
  698. return false
  699. }
  700.  
  701. find_and_delete(const arg_type[], const arg_key[])
  702. {
  703. line = 0, length = 0;
  704.  
  705. while(read_file(file_prefixes, line++ , text, charsmax(text), length))
  706. {
  707. if(!text[0] || text[0] == '^n' || text[0] == ';' || (text[0] == '/' && text[1] == '/'))
  708. continue
  709.  
  710. parse(text, type, charsmax(type), key, charsmax(key), prefix, charsmax(prefix))
  711. trim(prefix)
  712.  
  713. if(!type[0] || !prefix[0] || !key[0])
  714. continue
  715.  
  716. if(!equal(arg_type, type) || !equal(arg_key, key))
  717. continue
  718.  
  719. write_file(file_prefixes, "", line - 1)
  720. }
  721.  
  722. switch(arg_type[0])
  723. {
  724. case 'f':
  725. {
  726. TrieDeleteKey(pre_flags_collect, arg_key)
  727. }
  728. case 'i':
  729. {
  730. TrieDeleteKey(pre_ips_collect, arg_key)
  731. }
  732. case 's':
  733. {
  734. TrieDeleteKey(pre_steamids_collect, arg_key)
  735. }
  736. case 'n':
  737. {
  738. TrieDeleteKey(pre_names_collect, arg_key)
  739. }
  740. }
  741. }

_________________
Kép


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Admin Perfix + Hirdetés tiltó
HozzászólásElküldve:2014.01.25. 14:38 
Offline
Senior Tag
Avatar

Csatlakozott:2013.12.06. 18:38
Hozzászólások:229
Megköszönt másnak: 15 alkalommal
Megköszönték neki: 16 alkalommal
Szia hát vedd külön. Nem nagyon értem ennek mi értelme kettőt egybe írni na mindegy!


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Admin Perfix + Hirdetés tiltó
HozzászólásElküldve:2014.01.25. 14:49 
Offline
Félisten

Csatlakozott:2012.06.19. 15:12
Hozzászólások:926
Megköszönt másnak: 109 alkalommal
Megköszönték neki: 31 alkalommal
hallywood írta:
Szia hát vedd külön. Nem nagyon értem ennek mi értelme kettőt egybe írni na mindegy!


Igy nem írja 2 szer amit a playerek írnak.

_________________
Kép


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Admin Perfix + Hirdetés tiltó
HozzászólásElküldve:2014.01.26. 09:38 
Offline
Felfüggesztve

Csatlakozott:2013.08.09. 22:37
Hozzászólások:571
Megköszönt másnak: 10 alkalommal
Megköszönték neki: 85 alkalommal
Tomos írta:
hallywood írta:
Szia hát vedd külön. Nem nagyon értem ennek mi értelme kettőt egybe írni na mindegy!


Igy nem írja 2 szer amit a playerek írnak.

fölösleges egybe rakni...

1. - Szedd ki mindkét plugint.
2. - Tedd be a hirdetés tiltót.
3. - Válts mappot!
4. - Tedd be a ADMIN Prefixet
5. - Válts Mappot!

6. - Voala!


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Admin Perfix + Hirdetés tiltó
HozzászólásElküldve:2014.01.26. 10:37 
Offline
Félisten

Csatlakozott:2012.06.19. 15:12
Hozzászólások:926
Megköszönt másnak: 109 alkalommal
Megköszönték neki: 31 alkalommal
stupid írta:
Tomos írta:
hallywood írta:
Szia hát vedd külön. Nem nagyon értem ennek mi értelme kettőt egybe írni na mindegy!


Igy nem írja 2 szer amit a playerek írnak.

fölösleges egybe rakni...

1. - Szedd ki mindkét plugint.
2. - Tedd be a hirdetés tiltót.
3. - Válts mappot!
4. - Tedd be a ADMIN Prefixet
5. - Válts Mappot!

6. - Voala!


Ez több pluginnal is megy pl plusz még allchat?

_________________
Kép


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Admin Perfix + Hirdetés tiltó
HozzászólásElküldve:2014.01.26. 11:01 
Offline
Jómunkásember

Csatlakozott:2013.10.01. 19:07
Hozzászólások:319
Megköszönt másnak: 50 alkalommal
Megköszönték neki: 23 alkalommal
Szerintem megy!

_________________
[kozep]Kép[/kozep]
[kozep]Naponta fejlesztések ezért is megéri fel jonni!:)[/kozep]
[kozep]Troy ~ 1337. CFG[/kozep]


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Admin Perfix + Hirdetés tiltó
HozzászólásElküldve:2014.01.26. 11:55 
Offline
Felfüggesztve

Csatlakozott:2013.08.09. 22:37
Hozzászólások:571
Megköszönt másnak: 10 alkalommal
Megköszönték neki: 85 alkalommal
megy,de reméld azt hogy szentem 2x fogja kihozni a üzenetet ha kettő colorchat plugin van.


Hozzászólás jelentése
Vissza a tetejére
   
Hozzászólások megjelenítése: Rendezés 
Új téma nyitása Hozzászólás a témához  [7 hozzászólás ] 


Ki van itt

Jelenlévő fórumozók: nincs regisztrált felhasználó valamint 6 vendég


Nyithatsz új témákat ebben a fórumban.
Válaszolhatsz egy témára ebben a fórumban.
Nem szerkesztheted a hozzászólásaidat ebben a fórumban.
Nem törölheted a hozzászólásaidat ebben a fórumban.
Nem küldhetsz csatolmányokat ebben a fórumban.

Keresés:
Ugrás:  
Powered by phpBB® Forum Software © phpBB Limited
Magyar fordítás © Magyar phpBB Közösség
Portal: Kiss Portal Extension © Michael O'Toole