hlmod.hu

Magyar Half-Life Mód közösség!
Pontos idő: 2024.04.18. 09:01



Jelenlévő felhasználók

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

A legtöbb felhasználó (1565 fő) 2020.11.21. 11:26-kor tartózkodott itt.

Regisztrált felhasználók: nincs regisztrált felhasználó 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  [ 1 hozzászólás ] 
Szerző Üzenet
 Hozzászólás témája: XP
HozzászólásElküldve: 2015.03.30. 20:23 
Offline
Tag

Csatlakozott: 2014.05.17. 18:20
Hozzászólások: 44
Megköszönt másnak: 3 alkalommal
Megköszönték neki: 1 alkalommal
Sziasztok! VAlaki meg beleírná nekem hogy menüben is irja az XP-t? amikor beirom h /szint és ott XP xy%
aki meg csinálja megy a gomb :lol:
SMA Forráskód: [ Mindet kijelol ]
  1. /*==================================================
  2.  
  3. Plugin: Deathrun XP
  4. Version: 2.0
  5. Author: KronoS
  6.  
  7. *****************
  8. *** Changelog ***
  9. *****************
  10.  
  11. #Version 2.0 | 03 October 2011
  12.  
  13. -Ham_Spawn instead of ResetHud
  14. -removed the respawn system because it wasn't working (it will be added in the next version)
  15. -minor changes in the code
  16. -fixed the "index out of bounds" error
  17.  
  18. ***************
  19. *** Credits ***
  20. ***************
  21.  
  22. XunTric - xp based tutorial
  23. Il3gal - for his idea
  24. Vechta - admin commands
  25.  
  26. ==================================================*/
  27.  
  28. #include <amxmodx>
  29. #include <amxmisc>
  30. #include <fun>
  31. #include <hamsandwich>
  32. #include <nvault>
  33.  
  34. new const PLUGIN_NAME[] = "Deathrun XP";
  35.  
  36. new const drxp_version[] = "2.0";
  37.  
  38. new const LEVELS[10] = {
  39. 50,
  40. 100,
  41. 150,
  42. 200,
  43. 250,
  44. 300,
  45. 350,
  46. 400,
  47. 450,
  48. 500
  49. }
  50.  
  51. new drxp_playerxp[33], drxp_playerlevel[33];
  52. new drxp_kill, drxp_knife, drxp_grenade, drxp_hs, drxp_savexp, g_drxp_vault;
  53.  
  54. public plugin_init()
  55. {
  56. register_plugin(PLUGIN_NAME, drxp_version, "KronoS");
  57.  
  58. RegisterHam(Ham_Spawn, "player", "drxp_spawn", 1);
  59. register_event("DeathMsg", "drxp_death", "a");
  60.  
  61. drxp_savexp = register_cvar("drxp_savexp","1");
  62. drxp_kill = register_cvar("drxp_kill", "10");
  63. drxp_knife = register_cvar("drxp_knife","5");
  64. drxp_grenade = register_cvar("drxp_grenade","15");
  65. drxp_hs = register_cvar("drxp_hs","10");
  66.  
  67. g_drxp_vault = nvault_open("deathrun_xp");
  68.  
  69. register_concmd("amx_takexp", "cmd_take_exp", ADMIN_BAN, "<target> <amount>");
  70. register_concmd("amx_givexp", "cmd_give_exp", ADMIN_BAN, "<target> <amount>");
  71. }
  72.  
  73. public drxp_spawn(id)
  74. {
  75. if((drxp_playerlevel[id] < 10) && (drxp_playerxp[id] >= LEVELS[drxp_playerlevel[id]]))
  76. {
  77. client_print(id,print_chat,"[%s] Gratulalok!Szintet leptel!", PLUGIN_NAME);
  78. while(drxp_playerxp[id] >= LEVELS[drxp_playerlevel[id]])
  79. {
  80. drxp_playerlevel[id] += 1;
  81. }
  82. }
  83.  
  84. if(drxp_playerlevel[id] > 0)
  85. set_user_health(id, get_user_health(id) + 5*drxp_playerlevel[id]);
  86. }
  87.  
  88. public drxp_death()
  89. {
  90. new iVictim = read_data(2);
  91. new weapon, hitplace, attacker = get_user_attacker(iVictim,weapon,hitplace);
  92.  
  93. new victimname[32], wvar[32];
  94. get_user_name(iVictim,victimname,31);
  95. read_data(4, wvar, 31);
  96.  
  97. if(equal(wvar, "world", 5))
  98. return;
  99.  
  100. if(attacker < 1 || attacker > 32)
  101. return;
  102.  
  103. drxp_playerxp[attacker] += get_pcvar_num(drxp_kill);
  104. client_print(attacker,print_chat,"[%s] Kaptal %i XPt olesert, megolted: %s-t!", PLUGIN_NAME, get_pcvar_num(drxp_grenade), victimname);
  105.  
  106. if(hitplace == HIT_HEAD)
  107. {
  108. drxp_playerxp[attacker] += get_pcvar_num(drxp_hs);
  109. client_print(attacker,print_chat,"[%s] Kaptal %i XPt olesert, megolted: %s-t fejessel!", PLUGIN_NAME, get_pcvar_num(drxp_hs), victimname);
  110. }
  111.  
  112. if(weapon == CSW_KNIFE)
  113. {
  114. drxp_playerxp[attacker] += get_pcvar_num(drxp_knife);
  115. client_print(attacker,print_chat,"[%s] Kaptal %i XPt olesert, megolted: %s-t kessel!", PLUGIN_NAME, get_pcvar_num(drxp_knife), victimname);
  116. }
  117. else if(weapon == CSW_HEGRENADE)
  118. {
  119. drxp_playerxp[attacker] += get_pcvar_num(drxp_grenade);
  120. client_print(attacker,print_chat,"[%s] Kaptal %i XPt olesert, megolted: %s-t Granattal!", PLUGIN_NAME, get_pcvar_num(drxp_grenade), victimname);
  121. }
  122.  
  123. drxp_hudinfo(attacker);
  124. }
  125.  
  126. public drxp_hudinfo(id)
  127. {
  128. set_hudmessage(255, 255, 255, 0.01, 0.2, 0, 3.0, 3.0);
  129. if(drxp_playerlevel[id] < 10)
  130. show_hudmessage(id, "Szint: %i^nXP: %i / %i", drxp_playerlevel[id], drxp_playerxp[id], LEVELS[drxp_playerlevel[id] + 1]);
  131. else
  132. show_hudmessage(id, "Szint: %i^nElerted a maximum szintet!", drxp_playerlevel[id]);
  133.  
  134. set_task(2.0, "drxp_hudinfo", id);
  135. }
  136.  
  137. public client_putinserver(id)
  138. {
  139. if(get_pcvar_num(drxp_savexp) == 1)
  140. LoadData(id);
  141.  
  142. set_task(10.0, "drxp_hudinfo", id);
  143. }
  144.  
  145. public client_disconnect(id)
  146. {
  147. if(get_pcvar_num(drxp_savexp) == 1)
  148. SaveData(id);
  149.  
  150. drxp_playerxp[id] = 0;
  151. drxp_playerlevel[id] = 0;
  152. }
  153.  
  154. public SaveData(id)
  155. {
  156. new PlayerName[35];
  157. get_user_name(id,PlayerName,34);
  158.  
  159. new vaultkey[64],vaultdata[256];
  160. format(vaultkey,63,"%s",PlayerName);
  161. format(vaultdata,255,"%i#%i#",drxp_playerxp[id],drxp_playerlevel[id]);
  162. nvault_set(g_drxp_vault,vaultkey,vaultdata);
  163. return PLUGIN_CONTINUE;
  164. }
  165.  
  166. public LoadData(id)
  167. {
  168. new PlayerName[35];
  169. get_user_name(id,PlayerName,34);
  170.  
  171. new vaultkey[64],vaultdata[256];
  172. format(vaultkey,63,"%s",PlayerName);
  173. format(vaultdata,255,"%i#%i#",drxp_playerxp[id],drxp_playerlevel[id]);
  174. nvault_get(g_drxp_vault,vaultkey,vaultdata,255);
  175.  
  176. replace_all(vaultdata, 255, "#", " ");
  177.  
  178. new playerxp[32], playerlevel[32];
  179.  
  180. parse(vaultdata, playerxp, 31, playerlevel, 31);
  181.  
  182. drxp_playerxp[id] = str_to_num(playerxp);
  183. drxp_playerlevel[id] = str_to_num(playerlevel);
  184.  
  185. return PLUGIN_CONTINUE;
  186. }
  187.  
  188. public cmd_give_exp(id, level, cid)
  189. {
  190. if(!cmd_access(id, level, cid, 3))
  191. return PLUGIN_HANDLED
  192.  
  193. new target[32], amount[21], reason[21]
  194.  
  195. read_argv(1, target, 31)
  196. read_argv(2, amount, 20)
  197. read_argv(3, reason, 20)
  198.  
  199. new player = cmd_target(id, target, 8)
  200.  
  201. if(!player)
  202. return PLUGIN_HANDLED
  203.  
  204. new admin_name[32], player_name[32]
  205. get_user_name(id, admin_name, 31)
  206. get_user_name(player, player_name, 31)
  207.  
  208. new expnum = str_to_num(amount)
  209. client_print(0, print_chat, "ADMIN %s: addot %s xpt, neki: %s", admin_name, amount, player_name)
  210.  
  211. drxp_playerxp[player] += expnum
  212. SaveData(id)
  213.  
  214. return PLUGIN_CONTINUE
  215. }
  216.  
  217. public cmd_take_exp(id, level, cid)
  218. {
  219. if(!cmd_access(id, level, cid, 3))
  220. return PLUGIN_HANDLED
  221.  
  222. new target[32], amount[21], reason[21]
  223.  
  224. read_argv(1, target, 31)
  225. read_argv(2, amount, 20)
  226. read_argv(3, reason, 20)
  227.  
  228. new player = cmd_target(id, target, 8)
  229.  
  230. if(!player)
  231. return PLUGIN_HANDLED
  232.  
  233. new admin_name[32], player_name[32]
  234.  
  235. get_user_name(id, admin_name, 31)
  236. get_user_name(player, player_name, 31)
  237.  
  238. new expnum = str_to_num(amount)
  239. client_print(0, print_chat, "ADMIN %s: elvett %s xpt, tole: %s", admin_name, amount, player_name)
  240.  
  241. drxp_playerxp[player] -= expnum
  242. SaveData(id)
  243.  
  244. return PLUGIN_CONTINUE
  245. }
  246. /* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
  247. *{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1038\\ f0\\ fs16 \n\\ par }
  248. */
  249.  

_________________
Amíg nem adod fel legyőzhetetlen vagy!


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


Ki van itt

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