hlmod.hu

Magyar Half-Life Mód közösség!
Pontos idő: 2024.03.28. 12:06



Jelenlévő felhasználók

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

A legtöbb felhasználó (1565 fő) 2020.11.21. 11:26-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: cs:go Rangok /rankra
HozzászólásElküldve: 2015.06.18. 19:46 
Offline
Fanatikus
Avatar

Csatlakozott: 2014.06.08. 10:25
Hozzászólások: 164
Megköszönt másnak: 38 alkalommal
Megköszönték neki: 19 alkalommal
Valaki javítaná nekem ezt a plugint? nagyon megköszönném! A hiba az, hogy: időnként sok embernek kikapcsolja a hud_saytext-et, nekem is előfordult már többször is! valamint sokszor be bugol és ha 1 ember leír valamit az a más nevében íródik le!

Pl: Józsi leírja, hogy:
Józsi: szevasztok

Utána meg írna Pista valamit és ez jön ki még1x:
Józsi: szevasztok

Fogalmam sincs mi lehet, nagyon meghálálnám annak aki segítene!

SMA Forráskód: [ Mindet kijelol ]
  1. #include <amxmodx>
  2. #include <amxmisc>
  3. #include <cstrike>
  4. #include <csstats>
  5.  
  6. #pragma tabsize 0
  7.  
  8. #define PLUGIN "Rankrendszer (HUD + prefix)"
  9. #define VERSION "1.5"
  10. #define AUTHOR "6lmasok,qKKKJ;>, RaZ_HU"
  11.  
  12. #define ACCESS_LEVEL ADMIN_CHAT
  13. #define ADMIN_LISTEN ADMIN_CHAT
  14.  
  15. #define RANK_SILVER 0
  16. #define RANK_SILVER2 1
  17. #define RANK_SILVER3 2
  18. #define RANK_SILVER4 3
  19. #define RANK_SILVERE 4
  20. #define RANK_SILVEREM 5
  21. #define RANK_NOVA 6
  22. #define RANK_NOVA2 7
  23. #define RANK_NOVA3 8
  24. #define RANK_NOVAM 9
  25. #define RANK_AK 10
  26. #define RANK_AK2 11
  27. #define RANK_DAK 12
  28. #define RANK_SHERIFF 13
  29. #define RANK_SAS 14
  30. #define RANK_SASM 15
  31. #define RANK_SUPREME 16
  32. #define RANK_GLOBAL 17
  33. #define RANK_UBER 18
  34.  
  35. #define MAXRANKS 19
  36.  
  37. new message[192]
  38.  
  39. new strName[191]
  40. new strText[191]
  41. new alive[11]
  42. new sayText
  43. new teamInfo
  44. new maxPlayers
  45. new PlayerRank[33]
  46. new Float:HUD_INTERVAL
  47. new isAlive
  48.  
  49. new stats[8]
  50. new bodyhits[8]
  51. new name[33]
  52. new static color[10]
  53.  
  54. new const RANKS[MAXRANKS][] =
  55. {
  56. "Silver 1",
  57. "Silver 2",
  58. "Silver 3",
  59. "Silver 4",
  60. "Silver Elite",
  61. "Silver Elite Mester",
  62. "Arany Nova 1",
  63. "Arany Nova 2",
  64. "Arany Nova 3",
  65. "Arany Nova Mester ",
  66. "AK",
  67. "Koszorús AK",
  68. "Dupla AK",
  69. "Seriff",
  70. "Sas",
  71. "Sas Mester",
  72. "Supreme",
  73. "Global Elite",
  74. "Über"
  75. }
  76.  
  77. #define size 18
  78.  
  79. new const szamok[size] =
  80. {
  81. 50,
  82. 100,
  83. 200,
  84. 300,
  85. 450,
  86. 650,
  87. 800,
  88. 1000,
  89. 1200,
  90. 1400,
  91. 1700,
  92. 2000,
  93. 2500,
  94. 3000,
  95. 3600,
  96. 4500,
  97. 5500,
  98. 20000
  99. }
  100.  
  101. public plugin_init()
  102. {
  103. register_plugin(PLUGIN, VERSION, AUTHOR)
  104. register_clcmd("say /rang", "hud")
  105. register_clcmd("say rang", "hud")
  106. register_clcmd ("say", "hook_say")
  107. register_clcmd ("say_team", "hook_teamsay")
  108.  
  109. register_cvar("sv_rankrendszer","1") // A plugin be- illetve kikapcsolása
  110. register_cvar("sv_rankrendszer_HUD","1") // A HUD-ra való kijelzés be- illetve kikapcsolása
  111. sethudtime()
  112.  
  113. sayText = get_user_msgid ("SayText")
  114. teamInfo = get_user_msgid ("TeamInfo")
  115. maxPlayers = get_maxplayers()
  116.  
  117. set_task(160.0, "korUzenet", 0, _, _, "b")
  118.  
  119. register_message (sayText, "avoid_duplicated")
  120. }
  121.  
  122. public sethudtime()
  123. {
  124. new refreshtime = register_cvar("sv_rankrendszer_HUDtime","0.9") // A HUD-ra való kijelzés frissítési ideje másodpercben
  125. if (refreshtime == 0.9)
  126. {
  127. HUD_INTERVAL = 0.9
  128. }
  129. else if (refreshtime != 0.9)
  130. {
  131. HUD_INTERVAL = get_pcvar_float(refreshtime)
  132. }
  133.  
  134. return PLUGIN_CONTINUE
  135. }
  136.  
  137. public avoid_duplicated (msgId, msgDest, receiver)
  138. {
  139. return PLUGIN_HANDLED
  140. }
  141.  
  142. public korUzenet()
  143. {
  144. ColorChat( 0, "^3Írd be ^4/rang ^3vagy ^4rang ^3hogy megnézd hány ölés kell a következő ranghoz.")
  145. return PLUGIN_HANDLED;
  146. }
  147.  
  148. public hud(id)
  149. {
  150. getKills(id)
  151.  
  152. ColorChat( id, "^4Rangod: ^3%s ^1| ^4Ölések: ^3%d",RANKS[PlayerRank[id]], stats[0])
  153.  
  154. if(PlayerRank[id] == MAXRANKS-1)
  155. {
  156. //client_print(id, print_chat, "^4Rangod: ^3%s ^1| ^4Ölések: ^3%d ^n^4A következő szinthez kell még: ^3%d",RANKS[PlayerRank[id]], stats[0],szamok[PlayerRank[id]]-stats[0])
  157. ColorChat( id, "^4Már elérted a legnagyobb ^4rangot.")
  158. }
  159. else
  160. {
  161. //client_print(id, print_chat, "^4Rangod: ^3%s ^1| ^4Ölések: ^3%d ^n^4Már elérted a legnagyobb rangot.",RANKS[PlayerRank[id]], stats[0])
  162. ColorChat( id, "^4Következő rang: ^3%s ^1| ^4A következő szinthez kell még: ^3%d",RANKS[PlayerRank[id]+1], szamok[PlayerRank[id]]-stats[0])
  163. }
  164. }
  165.  
  166. public hook_say(id)
  167. {
  168. read_args (message, 191)
  169. remove_quotes (message)
  170.  
  171. if (message[0] == '@' || message[0] == '/' || message[0] == '!' || equal (message, "")) // Ignores Admin Hud Messages, Admin Slash commands,
  172. return PLUGIN_CONTINUE
  173.  
  174. //new name[32]
  175. //get_user_name (id, name, 31)
  176. getName(id)
  177.  
  178. /*new isAlive
  179.  
  180. if (is_user_alive (id))
  181. {
  182. isAlive = 1
  183. alive = "^1 "
  184. }
  185. else
  186. {
  187. isAlive = 0
  188. alive = "^1*HALOTT* "
  189. }*/
  190. aliveCheck(id)
  191.  
  192. //static color[10]
  193.  
  194. if(get_user_flags(id)&ADMIN_CVAR)
  195. {
  196. //get_user_team (id, color, 9)
  197. getTeam(id)
  198. format (strName, 191, "%s^4[TULAJ][%s] ^3%s:", alive, RANKS[PlayerRank[id]], name)
  199. format (strText, 191, "^4%s", message)
  200. }
  201.  
  202. else if(get_user_flags(id)&ADMIN_MAP)
  203. {
  204. getTeam(id)
  205. format (strName, 191, "%s^4[ADMIN][%s] ^3%s:", alive, RANKS[PlayerRank[id]], name)
  206. format (strText, 191, "^4%s", message)
  207. }
  208.  
  209. else if(get_user_flags(id)&ADMIN_MENU)
  210. {
  211. getTeam(id)
  212. format (strName, 191, "%s^4[VIP][%s] ^3%s:", alive, RANKS[PlayerRank[id]], name)
  213. format (strText, 191, "^4%s", message)
  214. }
  215.  
  216. else if(get_user_flags(id)&ADMIN_USER)
  217. {
  218. getTeam(id)
  219. format (strName, 191, "%s^4[%s] ^3%s:",alive, RANKS[PlayerRank[id]], name)
  220. format (strText, 191, "^1%s", message)
  221. }
  222.  
  223. format (message, 191, "%s ^1%s", strName, strText)
  224. sendMessage (color, isAlive)
  225.  
  226. return PLUGIN_CONTINUE
  227. }
  228.  
  229. public hook_teamsay(id)
  230. {
  231. new playerTeam = get_user_team(id)
  232. new playerTeamName[19]
  233.  
  234. switch (playerTeam)
  235. {
  236. case 1:
  237. copy (playerTeamName, 11, "Terrorista")
  238.  
  239. case 2:
  240. copy (playerTeamName, 18, "Anti-Terrorista")
  241.  
  242. default:
  243. copy (playerTeamName, 9, "Néző")
  244. }
  245.  
  246. read_args (message, 191)
  247. remove_quotes (message)
  248.  
  249. if (message[0] == '@' || message[0] == '/' || message[0] == '!' || equal (message, ""))
  250. return PLUGIN_CONTINUE
  251.  
  252. /*new isAlive
  253.  
  254. if (is_user_alive (id))
  255. {
  256. isAlive = 1
  257. alive = "^1 "
  258. }
  259. else
  260. {
  261. isAlive = 0
  262. alive = "^1*HALOTT* "
  263. }*/
  264. aliveCheck(id)
  265.  
  266. //new name[32]
  267. //get_user_name (id, name, 31)
  268. getName(id)
  269.  
  270. //static color[10]
  271.  
  272. if(get_user_flags(id)&ADMIN_CVAR)
  273. {
  274. //get_user_team (id, color, 9)
  275. getTeam(id)
  276. format (strName, 191, "%s(%s)^4[TULAJ][%s] ^3%s:",alive , playerTeamName, RANKS[PlayerRank[id]], name)
  277. format (strText, 191, "^4%s", message)
  278. }
  279.  
  280. else if(get_user_flags(id)&ADMIN_MAP)
  281. {
  282. getTeam(id)
  283. format (strName, 191, "%s(%s)^4[ADMIN][%s] ^3%s:",alive , playerTeamName, RANKS[PlayerRank[id]], name)
  284. format (strText, 191, "^4%s", message)
  285. }
  286.  
  287. else if(get_user_flags(id)&ADMIN_MENU)
  288. {
  289. getTeam(id)
  290. format (strName, 191, "%s(%s)^4[VIP][%s] ^3%s:",alive , playerTeamName, RANKS[PlayerRank[id]], name)
  291. format (strText, 191, "^4%s", message)
  292. }
  293.  
  294. else if(get_user_flags(id)&ADMIN_USER)
  295. {
  296. getTeam(id)
  297. format (strName, 191, "%s(%s)^4[%s] ^3%s:",alive ,playerTeamName, RANKS[PlayerRank[id]], name)
  298. format (strText, 191, "^1%s", message)
  299. }
  300.  
  301. format (message, 191, "%s ^1%s", strName, strText)
  302. sendTeamMessage (color,isAlive, playerTeam)
  303.  
  304. return PLUGIN_CONTINUE
  305. }
  306.  
  307. public sendMessage (color[], alive)
  308. {
  309. new teamName[10]
  310.  
  311. for (new player = 1; player < maxPlayers; player++)
  312. {
  313. if (!is_user_connected(player))
  314. continue
  315. if((alive && is_user_alive(player)) || (!alive && !is_user_alive(player)) || (get_user_flags(player) && ADMIN_LISTEN))
  316. {
  317. get_user_team (player, teamName, 9)
  318. changeTeamInfo (player, color)
  319. writeMessage (player, message)
  320. changeTeamInfo (player, teamName)
  321. }
  322. }
  323. }
  324.  
  325. public sendTeamMessage (color[], alive, playerTeam)
  326. {
  327. new teamName[10]
  328.  
  329. for (new player = 1; player < maxPlayers; player++)
  330. {
  331. if (!is_user_connected(player))
  332. continue
  333.  
  334. if (get_user_team(player) == playerTeam || get_user_flags(player) & ADMIN_LISTEN)
  335. {
  336. if (alive && is_user_alive(player) || !alive && !is_user_alive(player) || get_user_flags(player) & ADMIN_LISTEN)
  337. {
  338. get_user_team (player, teamName, 9)
  339. changeTeamInfo (player, color)
  340. writeMessage (player, message)
  341. changeTeamInfo (player, teamName)
  342. }
  343. }
  344. }
  345. }
  346.  
  347. public changeTeamInfo (player, team[])
  348. {
  349. message_begin (MSG_ONE, teamInfo, _, player)
  350. write_byte (player)
  351. write_string (team)
  352. message_end()
  353. }
  354.  
  355. public writeMessage (player, message[])
  356. {
  357. message_begin (MSG_ONE, sayText, {0, 0, 0}, player)
  358. write_byte (player)
  359. write_string (message)
  360. message_end ()
  361. }
  362.  
  363. stock bool:is_user_steam(id)
  364. {
  365. static dp_pointer;
  366.  
  367. if (dp_pointer || (dp_pointer = get_cvar_pointer("dp_r_id_provider")))
  368. {
  369. server_cmd("dp_clientinfo %d", id);
  370. server_exec();
  371. return (get_pcvar_num(dp_pointer) == 2) ? true : false;
  372. }
  373.  
  374. return false;
  375. }
  376.  
  377. public client_putinserver(id)
  378. {
  379. if(get_cvar_num("sv_rankrendszer")==0)
  380. {
  381. return PLUGIN_HANDLED
  382. }
  383. else if (get_cvar_num("sv_rankrendszer")==1 && get_cvar_num("sv_rankrendszer_HUD")==1)
  384. {
  385. set_task(HUD_INTERVAL, "setDisplay", id)
  386. }
  387. else
  388. {
  389. set_task(0.5, "remTask", id)
  390. }
  391.  
  392. return PLUGIN_CONTINUE
  393. }
  394.  
  395. public remTask(id)
  396. {
  397. remove_task(id, 0)
  398. }
  399.  
  400. public getKills(id)
  401. {
  402. get_user_stats(id, stats, bodyhits)
  403. }
  404.  
  405. public getName(id)
  406. {
  407. get_user_name(id, name, 32)
  408. }
  409.  
  410. public getTeam(id)
  411. {
  412. get_user_team (id, color, 9)
  413. }
  414.  
  415. public aliveCheck(id)
  416. {
  417. if (is_user_alive (id))
  418. {
  419. isAlive = 1
  420. alive = "^1 "
  421. }
  422. else
  423. {
  424. isAlive = 0
  425. alive = "^1*HALOTT* "
  426. }
  427. }
  428.  
  429. public setDisplay(id)
  430. {
  431. if(!is_user_connected(id))
  432. return PLUGIN_CONTINUE
  433.  
  434. getKills(id)
  435. getName(id)
  436.  
  437. if(stats[0] < 50)
  438. {
  439. PlayerRank[id] = RANK_SILVER
  440. }
  441. else if(stats[0] >= 50 && stats[0] < 100)
  442. {
  443. PlayerRank[id] = RANK_SILVER2
  444. }
  445. else if(stats[0] >= 100 && stats[0] < 200)
  446. {
  447. PlayerRank[id] = RANK_SILVER3
  448. }
  449. else if(stats[0] >= 200 && stats[0] < 300)
  450. {
  451. PlayerRank[id] = RANK_SILVER4
  452. }
  453. else if(stats[0] >= 300 && stats[0] < 450)
  454. {
  455. PlayerRank[id] = RANK_SILVERE
  456. }
  457. else if(stats[0] >= 450 && stats[0] < 650)
  458. {
  459. PlayerRank[id] = RANK_SILVEREM
  460. }
  461. else if(stats[0] >= 650 && stats[0] < 800)
  462. {
  463. PlayerRank[id] = RANK_NOVA
  464. }
  465. else if(stats[0] >= 800 && stats[0] < 1000)
  466. {
  467. PlayerRank[id] = RANK_NOVA2
  468. }
  469. else if(stats[0] >= 1000 && stats[0] < 1200)
  470. {
  471. PlayerRank[id] = RANK_NOVA3
  472. }
  473. else if(stats[0] >= 1200 && stats[0] < 1400)
  474. {
  475. PlayerRank[id] = RANK_NOVAM
  476. }
  477. else if(stats[0] >= 1400 && stats[0] < 1700)
  478. {
  479. PlayerRank[id] = RANK_AK
  480. }
  481. else if(stats[0] >= 1700 && stats[0] < 2000)
  482. {
  483. PlayerRank[id] = RANK_AK2
  484. }
  485. else if(stats[0] >= 2000 && stats[0] < 2500)
  486. {
  487. PlayerRank[id] = RANK_DAK
  488. }
  489. else if(stats[0] >= 2500 && stats[0] < 3000)
  490. {
  491. PlayerRank[id] = RANK_SHERIFF
  492. }
  493. else if(stats[0] >= 3000 && stats[0] < 3600)
  494. {
  495. PlayerRank[id] = RANK_SAS
  496. }
  497. else if(stats[0] >= 3600 && stats[0] < 4500)
  498. {
  499. PlayerRank[id] = RANK_SASM
  500. }
  501. else if(stats[0] >= 4500 && stats[0] < 5500)
  502. {
  503. PlayerRank[id] = RANK_SUPREME
  504. }
  505. else if(stats[0] >= 5500 && stats[0] < 20000)
  506. {
  507. PlayerRank[id] = RANK_GLOBAL
  508. }
  509. else if(stats[0] >= 20000)
  510. {
  511. PlayerRank[id] = RANK_UBER
  512. }
  513.  
  514. set_hudmessage(142, 239, 39, 0.01, 0.20, 0, 6.0, 1.0, 0.0, 0.0, -1)
  515. show_hudmessage(id, "^nÖlések: %i ^nRang: %s", stats[0], RANKS[PlayerRank[id]])
  516. //show_hudmessage(id, "%s ^nÖlések: %i ^nRang: %s", name, stats[0], RANKS[PlayerRank[id]])
  517.  
  518. set_task(HUD_INTERVAL, "setDisplay", id)
  519.  
  520. return PLUGIN_CONTINUE
  521. }
  522.  
  523. stock ColorChat(const id, const input[], any:...)
  524. {
  525. new count = 1, players[32];
  526. static msg[191];
  527. vformat(msg, 190, input, 3);
  528.  
  529. replace_all(msg, 190, "!g", "^4"); // Green Color
  530. replace_all(msg, 190, "!y", "^1"); // Default Color
  531. replace_all(msg, 190, "!t", "^3"); // Team Color
  532.  
  533. if (id) players[0] = id; else get_players(players, count, "ch");
  534. {
  535. for (new i = 0; i < count; i++)
  536. {
  537. if (is_user_connected(players[i]))
  538. {
  539. message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i]);
  540. write_byte(players[i]);
  541. write_string(msg);
  542. message_end();
  543. }
  544. }
  545. }
  546. }

_________________
Kép

87.229.77.40:27020


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: cs:go Rangok /rankra
HozzászólásElküldve: 2015.06.25. 20:04 
Offline
GFX-Designer
Avatar

Csatlakozott: 2015.03.12. 15:06
Hozzászólások: 624
Megköszönt másnak: 199 alkalommal
Megköszönték neki: 78 alkalommal
Ha a HUD nem jelenik meg akkor az azért van mert túl sok HUD pluginod van a szerveren!
Nekem is volt ez,és ez volt a probléma.

_________________
„Nem azért felejtünk el játszani, mert megöregszünk, hanem attól öregszünk meg, hogy elfelejtünk játszani.”

-MAXHACKED Website-
-HERViD Website-
► Spoiler mutatása


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: cs:go Rangok /rankra
HozzászólásElküldve: 2015.06.25. 20:12 
Offline
Fanatikus
Avatar

Csatlakozott: 2014.06.08. 10:25
Hozzászólások: 164
Megköszönt másnak: 38 alkalommal
Megköszönték neki: 19 alkalommal
Nem azért, ha bent van ez a plugin akkor bent van ilyen probléma egyébként máskor nincs :D
meg amúgy sincs sok plugin a szerveremen

_________________
Kép

87.229.77.40:27020


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: cs:go Rangok /rankra
HozzászólásElküldve: 2015.06.25. 20:16 
Offline
A Scripter

Csatlakozott: 2013.11.19. 19:08
Hozzászólások: 827
Megköszönt másnak: 8 alkalommal
Megköszönték neki: 315 alkalommal
Látom szenvedsz vele ezért segítek.

1. new name[33] ezt a részt ugye plugin elejére írtad ugye.
2. Ha játékosoknak szeretnéd lementeni a neveket akkor két választási lehetőséged van.
- 3 dimenziós tömb -> name[33][33]
- függvénybe írod

HIBA

Amikor valaki valamit ír chatbe akkor előfordulhat, hogy valakinek éppen lefrissül a getName() függvény.
Ilyenkor a name memória cella ugye megváltozik és a játékos nevét menti le akinek utoljára frissítette.
És ezért van csak az, hogy csak a neve változik meg az illetőnek de amit leírt az nem.

...
Leírás alapján segítettem de ha nem tudod javítani akkor majd segítek.

Ők köszönték meg DeR0iD nek ezt a hozzászólást: joxxa4cfg (2015.06.25. 20:27)
  Népszerűség: 2.27%


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: cs:go Rangok /rankra
HozzászólásElküldve: 2015.06.25. 20:27 
Offline
Fanatikus
Avatar

Csatlakozott: 2014.06.08. 10:25
Hozzászólások: 164
Megköszönt másnak: 38 alkalommal
Megköszönték neki: 19 alkalommal
Nagyon szépen köszönöm Deroid!!!!

_________________
Kép

87.229.77.40:27020


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: cs:go Rangok /rankra
HozzászólásElküldve: 2015.06.26. 19:32 
Offline
A Scripter

Csatlakozott: 2013.11.19. 19:08
Hozzászólások: 827
Megköszönt másnak: 8 alkalommal
Megköszönték neki: 315 alkalommal
kicsit tagolatlan na m1.

SMA Forráskód: [ Mindet kijelol ]
  1. #include <amxmodx>
  2. #include <amxmisc>
  3. #include <cstrike>
  4. #include <csstats>
  5.  
  6. #pragma tabsize 0
  7.  
  8. #define PLUGIN "Rankrendszer (HUD + prefix)"
  9. #define VERSION "1.5"
  10. #define AUTHOR "6lmasok,qKKKJ;>, RaZ_HU"
  11.  
  12. #define ACCESS_LEVEL ADMIN_CHAT
  13. #define ADMIN_LISTEN ADMIN_CHAT
  14.  
  15. #define RANK_SILVER 0
  16. #define RANK_SILVER2 1
  17. #define RANK_SILVER3 2
  18. #define RANK_SILVER4 3
  19. #define RANK_SILVERE 4
  20. #define RANK_SILVEREM 5
  21. #define RANK_NOVA 6
  22. #define RANK_NOVA2 7
  23. #define RANK_NOVA3 8
  24. #define RANK_NOVAM 9
  25. #define RANK_AK 10
  26. #define RANK_AK2 11
  27. #define RANK_DAK 12
  28. #define RANK_SHERIFF 13
  29. #define RANK_SAS 14
  30. #define RANK_SASM 15
  31. #define RANK_SUPREME 16
  32. #define RANK_GLOBAL 17
  33. #define RANK_UBER 18
  34.  
  35. #define MAXRANKS 19
  36.  
  37. new message[192]
  38.  
  39. new strName[191]
  40. new strText[191]
  41. new sayText
  42. new teamInfo
  43. new maxPlayers
  44. new PlayerRank[33]
  45. new Float:HUD_INTERVAL
  46.  
  47. new static color[10]
  48.  
  49. new const RANKS[MAXRANKS][] =
  50. {
  51. "Silver 1",
  52. "Silver 2",
  53. "Silver 3",
  54. "Silver 4",
  55. "Silver Elite",
  56. "Silver Elite Mester",
  57. "Arany Nova 1",
  58. "Arany Nova 2",
  59. "Arany Nova 3",
  60. "Arany Nova Mester ",
  61. "AK",
  62. "Koszorús AK",
  63. "Dupla AK",
  64. "Seriff",
  65. "Sas",
  66. "Sas Mester",
  67. "Supreme",
  68. "Global Elite",
  69. "Über"
  70. }
  71.  
  72. #define size 18
  73.  
  74. new const szamok[size] =
  75. {
  76. 50,
  77. 100,
  78. 200,
  79. 300,
  80. 450,
  81. 650,
  82. 800,
  83. 1000,
  84. 1200,
  85. 1400,
  86. 1700,
  87. 2000,
  88. 2500,
  89. 3000,
  90. 3600,
  91. 4500,
  92. 5500,
  93. 20000
  94. }
  95.  
  96. public plugin_init()
  97. {
  98. register_plugin(PLUGIN, VERSION, AUTHOR)
  99. register_clcmd("say /rang", "hud")
  100. register_clcmd("say rang", "hud")
  101. register_clcmd ("say", "hook_say")
  102. register_clcmd ("say_team", "hook_teamsay")
  103.  
  104. register_cvar("sv_rankrendszer","1") // A plugin be- illetve kikapcsolása
  105. register_cvar("sv_rankrendszer_HUD","1") // A HUD-ra való kijelzés be- illetve kikapcsolása
  106. sethudtime()
  107.  
  108. sayText = get_user_msgid ("SayText")
  109. teamInfo = get_user_msgid ("TeamInfo")
  110. maxPlayers = get_maxplayers()
  111.  
  112. set_task(160.0, "korUzenet", 0, _, _, "b")
  113.  
  114. register_message (sayText, "avoid_duplicated")
  115. }
  116.  
  117. public sethudtime()
  118. {
  119. new refreshtime = register_cvar("sv_rankrendszer_HUDtime","0.9") // A HUD-ra való kijelzés frissítési ideje másodpercben
  120. if (refreshtime == 0.9)
  121. {
  122. HUD_INTERVAL = 0.9
  123. }
  124. else if (refreshtime != 0.9)
  125. {
  126. HUD_INTERVAL = get_pcvar_float(refreshtime)
  127. }
  128.  
  129. return PLUGIN_CONTINUE
  130. }
  131.  
  132. public avoid_duplicated (msgId, msgDest, receiver)
  133. {
  134. return PLUGIN_HANDLED
  135. }
  136.  
  137. public korUzenet()
  138. {
  139. ColorChat( 0, "^3Írd be ^4/rang ^3vagy ^4rang ^3hogy megnézd hány ölés kell a következő ranghoz.")
  140. return PLUGIN_HANDLED;
  141. }
  142.  
  143. public hud(id)
  144. {
  145. new stats[8]
  146. new bodyhits[8]
  147. get_user_stats(id, stats, bodyhits)
  148.  
  149. ColorChat( id, "^4Rangod: ^3%s ^1| ^4Ölések: ^3%d",RANKS[PlayerRank[id]], stats[0])
  150.  
  151. if(PlayerRank[id] == MAXRANKS-1)
  152. {
  153. //client_print(id, print_chat, "^4Rangod: ^3%s ^1| ^4Ölések: ^3%d ^n^4A következő szinthez kell még: ^3%d",RANKS[PlayerRank[id]], stats[0],szamok[PlayerRank[id]]-stats[0])
  154. ColorChat( id, "^4Már elérted a legnagyobb ^4rangot.")
  155. }
  156. else
  157. {
  158. //client_print(id, print_chat, "^4Rangod: ^3%s ^1| ^4Ölések: ^3%d ^n^4Már elérted a legnagyobb rangot.",RANKS[PlayerRank[id]], stats[0])
  159. ColorChat( id, "^4Következő rang: ^3%s ^1| ^4A következő szinthez kell még: ^3%d",RANKS[PlayerRank[id]+1], szamok[PlayerRank[id]]-stats[0])
  160. }
  161. }
  162.  
  163. public hook_say(id)
  164. {
  165. read_args (message, 191)
  166. remove_quotes (message)
  167.  
  168. if (message[0] == '@' || message[0] == '/' || message[0] == '!' || equal (message, "")) // Ignores Admin Hud Messages, Admin Slash commands,
  169. return PLUGIN_CONTINUE
  170.  
  171. new name[32]
  172. get_user_name (id, name, 31)
  173.  
  174. new isAlive, alive[32]
  175.  
  176. if (is_user_alive (id))
  177. {
  178. isAlive = 1
  179. alive = "^1 "
  180. }
  181. else
  182. {
  183. isAlive = 0
  184. alive = "^1*HALOTT* "
  185. }
  186.  
  187. //static color[10]
  188.  
  189. if(get_user_flags(id)&ADMIN_CVAR)
  190. {
  191. //get_user_team (id, color, 9)
  192. getTeam(id)
  193. format (strName, 191, "%s^4[TULAJ][%s] ^3%s:", alive, RANKS[PlayerRank[id]], name)
  194. format (strText, 191, "^4%s", message)
  195. }
  196.  
  197. else if(get_user_flags(id)&ADMIN_MAP)
  198. {
  199. getTeam(id)
  200. format (strName, 191, "%s^4[ADMIN][%s] ^3%s:", alive, RANKS[PlayerRank[id]], name)
  201. format (strText, 191, "^4%s", message)
  202. }
  203.  
  204. else if(get_user_flags(id)&ADMIN_MENU)
  205. {
  206. getTeam(id)
  207. format (strName, 191, "%s^4[VIP][%s] ^3%s:", alive, RANKS[PlayerRank[id]], name)
  208. format (strText, 191, "^4%s", message)
  209. }
  210.  
  211. else if(get_user_flags(id)&ADMIN_USER)
  212. {
  213. getTeam(id)
  214. format (strName, 191, "%s^4[%s] ^3%s:",alive, RANKS[PlayerRank[id]], name)
  215. format (strText, 191, "^1%s", message)
  216. }
  217.  
  218. format (message, 191, "%s ^1%s", strName, strText)
  219. sendMessage (color, isAlive)
  220.  
  221. return PLUGIN_CONTINUE
  222. }
  223.  
  224. public hook_teamsay(id)
  225. {
  226. new playerTeam = get_user_team(id)
  227. new playerTeamName[19]
  228.  
  229. switch (playerTeam)
  230. {
  231. case 1:
  232. copy (playerTeamName, 11, "Terrorista")
  233.  
  234. case 2:
  235. copy (playerTeamName, 18, "Anti-Terrorista")
  236.  
  237. default:
  238. copy (playerTeamName, 9, "Néző")
  239. }
  240.  
  241. read_args (message, 191)
  242. remove_quotes (message)
  243.  
  244. if (message[0] == '@' || message[0] == '/' || message[0] == '!' || equal (message, ""))
  245. return PLUGIN_CONTINUE
  246.  
  247. new isAlive, alive[32]
  248.  
  249. if (is_user_alive (id))
  250. {
  251. isAlive = 1
  252. alive = "^1 "
  253. }
  254. else
  255. {
  256. isAlive = 0
  257. alive = "^1*HALOTT* "
  258. }
  259.  
  260. new name[32]
  261. get_user_name (id, name, 31)
  262.  
  263. //static color[10]
  264.  
  265. if(get_user_flags(id)&ADMIN_CVAR)
  266. {
  267. //get_user_team (id, color, 9)
  268. getTeam(id)
  269. format (strName, 191, "%s(%s)^4[TULAJ][%s] ^3%s:",alive , playerTeamName, RANKS[PlayerRank[id]], name)
  270. format (strText, 191, "^4%s", message)
  271. }
  272.  
  273. else if(get_user_flags(id)&ADMIN_MAP)
  274. {
  275. getTeam(id)
  276. format (strName, 191, "%s(%s)^4[ADMIN][%s] ^3%s:",alive , playerTeamName, RANKS[PlayerRank[id]], name)
  277. format (strText, 191, "^4%s", message)
  278. }
  279.  
  280. else if(get_user_flags(id)&ADMIN_MENU)
  281. {
  282. getTeam(id)
  283. format (strName, 191, "%s(%s)^4[VIP][%s] ^3%s:",alive , playerTeamName, RANKS[PlayerRank[id]], name)
  284. format (strText, 191, "^4%s", message)
  285. }
  286.  
  287. else if(get_user_flags(id)&ADMIN_USER)
  288. {
  289. getTeam(id)
  290. format (strName, 191, "%s(%s)^4[%s] ^3%s:",alive ,playerTeamName, RANKS[PlayerRank[id]], name)
  291. format (strText, 191, "^1%s", message)
  292. }
  293.  
  294. format (message, 191, "%s ^1%s", strName, strText)
  295. sendTeamMessage (color,isAlive, playerTeam)
  296.  
  297. return PLUGIN_CONTINUE
  298. }
  299.  
  300. public sendMessage (color[], alive)
  301. {
  302. new teamName[10]
  303.  
  304. for (new player = 1; player < maxPlayers; player++)
  305. {
  306. if (!is_user_connected(player))
  307. continue
  308. if((alive && is_user_alive(player)) || (!alive && !is_user_alive(player)) || (get_user_flags(player) && ADMIN_LISTEN))
  309. {
  310. get_user_team (player, teamName, 9)
  311. changeTeamInfo (player, color)
  312. writeMessage (player, message)
  313. changeTeamInfo (player, teamName)
  314. }
  315. }
  316. }
  317.  
  318. public sendTeamMessage (color[], alive, playerTeam)
  319. {
  320. new teamName[10]
  321.  
  322. for (new player = 1; player < maxPlayers; player++)
  323. {
  324. if (!is_user_connected(player))
  325. continue
  326.  
  327. if (get_user_team(player) == playerTeam || get_user_flags(player) & ADMIN_LISTEN)
  328. {
  329. if (alive && is_user_alive(player) || !alive && !is_user_alive(player) || get_user_flags(player) & ADMIN_LISTEN)
  330. {
  331. get_user_team (player, teamName, 9)
  332. changeTeamInfo (player, color)
  333. writeMessage (player, message)
  334. changeTeamInfo (player, teamName)
  335. }
  336. }
  337. }
  338. }
  339.  
  340. public changeTeamInfo (player, team[])
  341. {
  342. message_begin (MSG_ONE, teamInfo, _, player)
  343. write_byte (player)
  344. write_string (team)
  345. message_end()
  346. }
  347.  
  348. public writeMessage (player, message[])
  349. {
  350. message_begin (MSG_ONE, sayText, {0, 0, 0}, player)
  351. write_byte (player)
  352. write_string (message)
  353. message_end ()
  354. }
  355.  
  356. stock bool:is_user_steam(id)
  357. {
  358. static dp_pointer;
  359.  
  360. if (dp_pointer || (dp_pointer = get_cvar_pointer("dp_r_id_provider")))
  361. {
  362. server_cmd("dp_clientinfo %d", id);
  363. server_exec();
  364. return (get_pcvar_num(dp_pointer) == 2) ? true : false;
  365. }
  366.  
  367. return false;
  368. }
  369.  
  370. public client_putinserver(id)
  371. {
  372. if(get_cvar_num("sv_rankrendszer")==0)
  373. {
  374. return PLUGIN_HANDLED
  375. }
  376. else if (get_cvar_num("sv_rankrendszer")==1 && get_cvar_num("sv_rankrendszer_HUD")==1)
  377. {
  378. set_task(HUD_INTERVAL, "setDisplay", id)
  379. }
  380. else
  381. {
  382. set_task(0.5, "remTask", id)
  383. }
  384.  
  385. return PLUGIN_CONTINUE
  386. }
  387.  
  388. public remTask(id)
  389. {
  390. remove_task(id, 0)
  391. }
  392.  
  393. public getTeam(id)
  394. {
  395. get_user_team (id, color, 9)
  396. }
  397.  
  398. public setDisplay(id)
  399. {
  400. if(!is_user_connected(id))
  401. return PLUGIN_CONTINUE
  402.  
  403. new stats[8]
  404. new bodyhits[8]
  405. get_user_stats(id, stats, bodyhits)
  406.  
  407. if(stats[0] < 50)
  408. {
  409. PlayerRank[id] = RANK_SILVER
  410. }
  411. else if(stats[0] >= 50 && stats[0] < 100)
  412. {
  413. PlayerRank[id] = RANK_SILVER2
  414. }
  415. else if(stats[0] >= 100 && stats[0] < 200)
  416. {
  417. PlayerRank[id] = RANK_SILVER3
  418. }
  419. else if(stats[0] >= 200 && stats[0] < 300)
  420. {
  421. PlayerRank[id] = RANK_SILVER4
  422. }
  423. else if(stats[0] >= 300 && stats[0] < 450)
  424. {
  425. PlayerRank[id] = RANK_SILVERE
  426. }
  427. else if(stats[0] >= 450 && stats[0] < 650)
  428. {
  429. PlayerRank[id] = RANK_SILVEREM
  430. }
  431. else if(stats[0] >= 650 && stats[0] < 800)
  432. {
  433. PlayerRank[id] = RANK_NOVA
  434. }
  435. else if(stats[0] >= 800 && stats[0] < 1000)
  436. {
  437. PlayerRank[id] = RANK_NOVA2
  438. }
  439. else if(stats[0] >= 1000 && stats[0] < 1200)
  440. {
  441. PlayerRank[id] = RANK_NOVA3
  442. }
  443. else if(stats[0] >= 1200 && stats[0] < 1400)
  444. {
  445. PlayerRank[id] = RANK_NOVAM
  446. }
  447. else if(stats[0] >= 1400 && stats[0] < 1700)
  448. {
  449. PlayerRank[id] = RANK_AK
  450. }
  451. else if(stats[0] >= 1700 && stats[0] < 2000)
  452. {
  453. PlayerRank[id] = RANK_AK2
  454. }
  455. else if(stats[0] >= 2000 && stats[0] < 2500)
  456. {
  457. PlayerRank[id] = RANK_DAK
  458. }
  459. else if(stats[0] >= 2500 && stats[0] < 3000)
  460. {
  461. PlayerRank[id] = RANK_SHERIFF
  462. }
  463. else if(stats[0] >= 3000 && stats[0] < 3600)
  464. {
  465. PlayerRank[id] = RANK_SAS
  466. }
  467. else if(stats[0] >= 3600 && stats[0] < 4500)
  468. {
  469. PlayerRank[id] = RANK_SASM
  470. }
  471. else if(stats[0] >= 4500 && stats[0] < 5500)
  472. {
  473. PlayerRank[id] = RANK_SUPREME
  474. }
  475. else if(stats[0] >= 5500 && stats[0] < 20000)
  476. {
  477. PlayerRank[id] = RANK_GLOBAL
  478. }
  479. else if(stats[0] >= 20000)
  480. {
  481. PlayerRank[id] = RANK_UBER
  482. }
  483.  
  484. set_hudmessage(142, 239, 39, 0.01, 0.20, 0, 6.0, 1.0, 0.0, 0.0, -1)
  485. show_hudmessage(id, "^nÖlések: %i ^nRang: %s", stats[0], RANKS[PlayerRank[id]])
  486. //show_hudmessage(id, "%s ^nÖlések: %i ^nRang: %s", name, stats[0], RANKS[PlayerRank[id]])
  487.  
  488. set_task(HUD_INTERVAL, "setDisplay", id)
  489.  
  490. return PLUGIN_CONTINUE
  491. }
  492.  
  493. stock ColorChat(const id, const input[], any:...)
  494. {
  495. new count = 1, players[32];
  496. static msg[191];
  497. vformat(msg, 190, input, 3);
  498.  
  499. replace_all(msg, 190, "!g", "^4"); // Green Color
  500. replace_all(msg, 190, "!y", "^1"); // Default Color
  501. replace_all(msg, 190, "!t", "^3"); // Team Color
  502.  
  503. if (id) players[0] = id; else get_players(players, count, "ch");
  504. {
  505. for (new i = 0; i < count; i++)
  506. {
  507. if (is_user_connected(players[i]))
  508. {
  509. message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i]);
  510. write_byte(players[i]);
  511. write_string(msg);
  512. message_end();
  513. }
  514. }
  515. }
  516. }


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: cs:go Rangok /rankra
HozzászólásElküldve: 2015.06.26. 22:10 
Offline
Fanatikus
Avatar

Csatlakozott: 2014.06.08. 10:25
Hozzászólások: 164
Megköszönt másnak: 38 alkalommal
Megköszönték neki: 19 alkalommal
ty

_________________
Kép

87.229.77.40:27020


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 22 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