hlmod.hu

Magyar Half-Life Mód közösség!
Pontos idő: 2024.06.16. 04:47



Jelenlévő felhasználók

Jelenleg 438 felhasználó van jelen :: 1 regisztrált, 0 rejtett és 437 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] 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  [ 2 hozzászólás ] 
Szerző Üzenet
 Hozzászólás témája: Rang
HozzászólásElküldve: 2015.08.19. 01:52 
Offline
Tiszteletbeli
Avatar

Csatlakozott: 2015.03.11. 20:11
Hozzászólások: 915
Megköszönt másnak: 52 alkalommal
Megköszönték neki: 317 alkalommal
Valaki javítaná? :D
Nagyon bele kavarodtam..
MAX RANK: 20, le van írva mind az SMA-ban, de belekavarodtam nagyon.. :x :xicon_e_biggrin:

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

_________________
viewtopic.php?f=101&t=25611#p184899
viewtopic.php?f=114&t=29544&p=209471#p209431


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Rang
HozzászólásElküldve: 2015.08.19. 09:16 
Offline
Lelkes
Avatar

Csatlakozott: 2015.08.09. 11:22
Hozzászólások: 29
Megköszönték neki: 2 alkalommal
Elsőre ennyit láttam meg telefonról
SMA Forráskód: [ Mindet kijelol ]
  1. #define size 18

-->
SMA Forráskód: [ Mindet kijelol ]
  1. #define size 19


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  [ 2 hozzászólás ] 


Ki van itt

Jelenlévő fórumozók: nincs regisztrált felhasználó valamint 99 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