hlmod.hu
https://hlmod.hu/

pontrendszer átírás
https://hlmod.hu/viewtopic.php?f=29&t=14765
Oldal: 1 / 2

Szerző:  bencike [ 2014.03.03. 19:12 ]
Hozzászólás témája:  pontrendszer átírás

Sziasztok

valaki ebbe nem tudná beleírni, hogy pontokér lehessen fegyver skineket venni? és a skinek megmaradnának azon a néven :D :S


SMA Forráskód: [ Mindet kijelol ]
  1. #include <amxmodx>
  2. #include <amxmisc>
  3. #include <cstrike>
  4. #include <fun>
  5. #include <fakemeta>
  6. #include <hamsandwich>
  7. #include <nvault>
  8. #include <colorchat>
  9.  
  10. #define PLUGIN "Pontrendszer"
  11. #define VERSION "1.1"
  12. #define AUTHOR "crazy"
  13.  
  14. #define DROG_SEBESSEG 800.0
  15.  
  16. new g_vault
  17. new pontok[33]
  18. new name[33][32]
  19. new admin
  20. new killp, killhsp
  21. new ajandek1, ajandek2, ajandek3
  22. new SyncHudObj
  23. enum shopitems
  24. {
  25. GRANATPACK,
  26. SEBESSEG,
  27. UJRAELEDES,
  28. SURFPACK,
  29. LATHATATLAN,
  30. OTSZAZHP,
  31. ONEHIT,
  32. HALHATATLAN,
  33. FULLPENZ,
  34. MAGOZOTE,
  35. MAGOZOCT,
  36. AWP
  37. };
  38. new cvar_bolt[shopitems]
  39.  
  40. new bool:activ_sebesseg[33]
  41. new bool:activ_lathatatlan[33]
  42. new bool:activ_onehit[33]
  43. new bool:activ_halhatatlan[33]
  44.  
  45. #define MAX_SHOP_ITEM 12
  46. new const shop_item_names[MAX_SHOP_ITEM+1][] =
  47. {
  48. "",
  49. "\yGranatok \w(HE,FE,SM) \r|%d| Pont",
  50. "\yNagyobb Sebesseg \r|%d| Pont",
  51. "\yUjraeledes \w(Halottak hasznalhatjak!) \r|%d| Pont",
  52. "\ySurf Felszereles \w(ShotGun,Granatok,Deagle) \r|%d| Pont",
  53. "\yLathatatlansag \w(1 kor) \r|%d| Pont",
  54. "\y+500 HP \r|%d| Pont",
  55. "\y1 hit = 1 kill \w(1 kor) \r|%d| Pont",
  56. "\yHalhatatlansag \w(1 kor) \r|%d| Pont",
  57. "\y16000$ \r|%d| Pont",
  58. "\yTE Magozo \r|%d| Pont",
  59. "\yCT Magozo \r|%d| Pont",
  60. "\yAWP \r|%d| Pont"
  61. };
  62. public plugin_init() {
  63.  
  64. register_plugin(PLUGIN, VERSION, AUTHOR)
  65. set_task(2.9, "hud", 0, _, _, "b")
  66.  
  67. killp = register_cvar("pont_kill", "2")
  68. killhsp = register_cvar("pont_killhs", "3")
  69.  
  70. ajandek1 = register_cvar("pont_ajandek1", "5")
  71. ajandek2 = register_cvar("pont_ajandek2", "10")
  72. ajandek3 = register_cvar("pont_ajandek3", "30")
  73.  
  74. register_clcmd("team_say /adas", "adas")
  75. register_clcmd("say /adas", "adas")
  76. register_clcmd("pont_adas", "adas")
  77.  
  78. register_clcmd("team_say /shop", "Shop")
  79. register_clcmd("say /shop", "Shop")
  80.  
  81. register_clcmd("team_say /bolt", "Shop")
  82. register_clcmd("say /bolt", "Shop")
  83.  
  84. cvar_bolt[GRANATPACK] = register_cvar("bolt_1", "20")
  85. cvar_bolt[SEBESSEG] = register_cvar("bolt_2", "45")
  86. cvar_bolt[UJRAELEDES] = register_cvar("bolt_3", "80")
  87. cvar_bolt[SURFPACK] = register_cvar("bolt_4", "65")
  88. cvar_bolt[LATHATATLAN] = register_cvar("bolt_5", "500")
  89. cvar_bolt[OTSZAZHP] = register_cvar("bolt_6", "360")
  90. cvar_bolt[ONEHIT] = register_cvar("bolt_7", "450")
  91. cvar_bolt[HALHATATLAN] = register_cvar("bolt_8", "750")
  92. cvar_bolt[FULLPENZ] = register_cvar("bolt_9", "50")
  93. cvar_bolt[MAGOZOTE] = register_cvar("bolt_10", "680")
  94. cvar_bolt[MAGOZOCT] = register_cvar("bolt_11", "680")
  95. cvar_bolt[AWP] = register_cvar("bolt_12", "200")
  96.  
  97. g_vault = nvault_open("PontRendszer");
  98.  
  99. RegisterHam(Ham_Killed, "player", "fw_player_killed", 1)
  100. RegisterHam(Ham_TakeDamage, "player", "fw_player_damage", 0)
  101. RegisterHam(Ham_Spawn, "player", "fw_player_spawn", 0)
  102. RegisterHam(Ham_Spawn, "player", "fw_player_spawn_post", 1)
  103. register_event("CurWeapon", "Event_Change_Weapon", "be", "1=1")
  104. SyncHudObj = CreateHudSyncObj()
  105. new itemszam = (_:shopitems)
  106. if(MAX_SHOP_ITEM != itemszam)
  107. {
  108. set_fail_state("Valamit elrontottal. A shopitems tombben es a shop_item_names tombben nem ugyanannyi elem van")
  109. }
  110. }
  111. public fw_player_killed(victim, attacker, shouldgib)
  112. {
  113. if(!is_user_connected(attacker) || !is_user_connected(victim) || attacker == victim)
  114. return PLUGIN_CONTINUE;
  115.  
  116. if(get_pdata_int(victim, 75) == HIT_HEAD)
  117. {
  118. pontok[attacker] += get_pcvar_num(killhsp)
  119. ColorChat(attacker, GREEN,"[Pontrendszer] .: BOOOM HEADSHOOT! :. Ez megert ^x03 %d pontot!", get_pcvar_num(killhsp))
  120. }
  121. else
  122. {
  123. pontok[attacker] += get_pcvar_num(killp)
  124. ColorChat(attacker, GREEN,"[Pontrendszer] ^x03 %d pont az olesert!", get_pcvar_num(killp))
  125. }
  126. return PLUGIN_CONTINUE
  127. }
  128. public fw_player_damage(victim, inflictor, attacker, Float:damage, damage_type)
  129. {
  130. if(activ_onehit[attacker])
  131. {
  132. SetHamParamFloat(4, float(get_user_health(victim)+1))
  133. }
  134. if(activ_halhatatlan[victim])
  135. {
  136. return HAM_SUPERCEDE
  137. }
  138. return HAM_IGNORED
  139. }
  140. public fw_player_spawn(id)
  141. {
  142. activ_halhatatlan[id] = false
  143. activ_onehit[id] = false
  144. activ_sebesseg[id] = false
  145. }
  146. public fw_player_spawn_post(id)
  147. {
  148. if(activ_lathatatlan[id])
  149. {
  150. set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransAlpha, 255)
  151. activ_lathatatlan[id] = false
  152. }
  153. }
  154. public Event_Change_Weapon(id)
  155. {
  156. if(activ_sebesseg[id])
  157. {
  158. set_user_maxspeed(id, DROG_SEBESSEG)
  159. }
  160. return PLUGIN_CONTINUE
  161. }
  162. public Shop(id)//IGEN EZ ITT A MENU
  163. {
  164. static Item[64]
  165.  
  166. formatex(Item, charsmax(Item),"\r[Pontrendszer Bolt]" )
  167. new Menu = menu_create(Item, "Shoph")
  168.  
  169. new szTempid[10]
  170.  
  171. for(new i = 1; i<sizeof(shop_item_names); i++)
  172. {
  173. num_to_str(i, szTempid, 9)
  174. formatex(Item, charsmax(Item),shop_item_names[i], get_pcvar_num(cvar_bolt[shopitems:(i-1)]))
  175. menu_additem(Menu, Item, szTempid)
  176. }
  177. menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL)
  178. menu_display(id, Menu)
  179.  
  180. return PLUGIN_HANDLED
  181. }
  182. public Shoph(id, menu, item)
  183. {
  184. if( item == MENU_EXIT )
  185. {
  186. menu_destroy(menu)
  187. return PLUGIN_HANDLED
  188. }
  189. new data[6], iName[64]
  190. new access, callback
  191. menu_item_getinfo(menu, item, access, data,5, iName, 63, callback)
  192.  
  193. new key = str_to_num(data)
  194. new elo = is_user_alive(id)
  195. new ar[_:shopitems+1]
  196. for(new i=1; i<_:shopitems+1; i++)
  197. {
  198. ar[i] = get_pcvar_num(cvar_bolt[shopitems:(i-1)])
  199. }
  200.  
  201. switch(key)
  202. {
  203. case 1:
  204. {
  205. if (pontok[id] >= ar[key] && elo)
  206. {
  207. pontok[id] -= ar[key]
  208. give_item(id, "weapon_flashbang")
  209. give_item(id, "weapon_hegrenade")
  210. give_item(id, "weapon_smokegrenade")
  211. ColorChat(id, GREEN, "[Pontrendszer] Megkaptad a granatokat!")
  212. }
  213. else
  214. {
  215. ColorChat(id, GREEN, "[Pontrendszer] Sajnos,nincs eleg pontod")
  216. }
  217. }
  218. case 2:
  219. {
  220. if (pontok[id] >= ar[key] && elo)
  221. {
  222. pontok[id] -= ar[key]
  223. set_user_maxspeed(id, DROG_SEBESSEG)
  224. activ_sebesseg[id] = true
  225. ColorChat(id, GREEN, "[Pontrendszer] A sebesseged gyorsitva lett!")
  226. }
  227. else
  228. {
  229. ColorChat(id, GREEN, "[Pontrendszer] Sajnos,nincs eleg pontod!")
  230. }
  231. }
  232. case 3:
  233. {
  234. if (pontok[id] >= ar[key] && !elo)
  235. {
  236. pontok[id] -= ar[key]
  237. ExecuteHamB(Ham_CS_RoundRespawn, id)
  238. ColorChat(id, GREEN, "[Pontrendszer] Ujraeledtel!")
  239. }
  240. else if(elo)
  241. {
  242. ColorChat(id, GREEN, "[Pontrendszer] Elok nem hasznalhatjak!")
  243. }
  244. else
  245. {
  246. ColorChat(id, GREEN, "[Pontrendszer] Sajnos,nincs eleg pontod")
  247. }
  248. }
  249. case 4:
  250. {
  251. if (pontok[id] >= ar[key] && elo)
  252. {
  253. pontok[id] -= ar[key];
  254. cs_set_weapon_ammo( give_item( id, "weapon_m3" ), 8 )
  255. give_item(id, "weapon_hegrenade")
  256. give_item(id, "weapon_flashbang")
  257. give_item(id, "weapon_flashbang")
  258.  
  259. give_item(id, "weapon_knife")
  260. give_item(id, "weapon_deagle")
  261. cs_set_user_bpammo(id, CSW_DEAGLE, 35)
  262. ColorChat(id, GREEN, "[Pontrendszer] Megkaptad a Surf Felszerelest!")
  263. }
  264. else
  265. {
  266. ColorChat(id, GREEN, "[Pontrendszer] Sajnos,nincs eleg pontod")
  267. }
  268. }
  269. case 5:
  270. {
  271. if (pontok[id] >= ar[key] && elo)
  272. {
  273. pontok[id] -= ar[key]
  274. activ_lathatatlan[id] = true
  275. set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransAlpha, 0)
  276. ColorChat(id, GREEN, "[Pontrendszer] Megkaptad a lathatatlansagot!")
  277. }
  278. else
  279. {
  280. ColorChat(id, GREEN, "[Pontrendszer] Sajnos,nincs eleg pontod")
  281. }
  282. }
  283. case 6:
  284. {
  285. if (pontok[id] >= ar[key] && elo)
  286. {
  287. pontok[id] -= ar[key]
  288. set_user_health(id, get_user_health(id)+500)
  289. ColorChat(id, GREEN, "[Pontrendszer] Megkaptad az eletet!")
  290. }
  291. else
  292. {
  293. ColorChat(id, GREEN, "[Pontrendszer] Sajnos,nincs eleg pontod")
  294. }
  295. }
  296. case 7:
  297. {
  298. if (pontok[id] >= ar[key] && elo)
  299. {
  300. pontok[id] -= ar[key]
  301. activ_onehit[id] = true
  302. ColorChat(id, GREEN, "[Pontrendszer] Megkaptad az egy lovesbol olest!")
  303. }
  304. else
  305. {
  306. ColorChat(id, GREEN, "[Pontrendszer] Sajnos,nincs eleg pontod")
  307. }
  308. }
  309. case 8:
  310. {
  311. if (pontok[id] >= ar[key] && elo)
  312. {
  313. pontok[id] -= ar[key]
  314. activ_halhatatlan[id] = true
  315. ColorChat(id, GREEN, "[Pontrendszer] Megkaptad a halhatatlansagot!")
  316. }
  317. else
  318. {
  319. ColorChat(id, GREEN, "[Pontrendszer] Sajnos,nincs eleg pontod")
  320. }
  321. }
  322. case 9:
  323. {
  324. if (pontok[id] >= ar[key] && elo)
  325. {
  326. pontok[id] -= ar[key]
  327. cs_set_user_money(id, 16000)
  328. ColorChat(id, GREEN, "[Pontrendszer] Megkaptad a penzt!")
  329. }
  330. else
  331. {
  332. ColorChat(id, GREEN, "[Pontrendszer] Sajnos,nincs eleg pontod")
  333. }
  334. }
  335. case 10:
  336. {
  337. if (pontok[id] >= ar[key] && elo)
  338. {
  339. pontok[id] -= ar[key]
  340. give_item(id, "weapon_g3sg1")
  341. cs_set_user_bpammo(id, CSW_G3SG1, 90)
  342. ColorChat(id, GREEN, "[Pontrendszer] Megkaptad a magozot!")
  343. }
  344. else
  345. {
  346. ColorChat(id, GREEN, "[Pontrendszer] Sajnos,nincs eleg pontod")
  347. }
  348. }
  349. case 11:
  350. {
  351. if (pontok[id] >= ar[key] && elo)
  352. {
  353. pontok[id] -= ar[key];
  354. give_item(id, "weapon_sg550")
  355. cs_set_user_bpammo(id, CSW_SG550, 90)
  356. ColorChat(id, GREEN, "[Pontrendszer] Megkaptad a magozot!")
  357. }
  358. else
  359. {
  360. ColorChat(id, GREEN, "[Pontrendszer] Sajnos,nincs eleg pontod")
  361. }
  362. }
  363. case 12:
  364. {
  365. if (pontok[id] >= ar[key] && elo)
  366. {
  367. pontok[id] -= ar[key];
  368. give_item(id, "weapon_awp");
  369. cs_set_user_bpammo(id, CSW_AWP, 30);
  370. ColorChat(id, GREEN, "[Pontrendszer] Megkaptad az awpt!")
  371. }
  372. else
  373. {
  374. ColorChat(id, GREEN, "[Pontrendszer] Sajnos,nincs eleg pontod")
  375. }
  376. }
  377. }
  378. menu_destroy(menu)
  379. return PLUGIN_HANDLED
  380. }
  381.  
  382. public mentes(id)
  383. {
  384. new vaultkey[64],vaultdata[256]
  385.  
  386. format(vaultkey,63,"%s-PONTOK", name[id])
  387. format(vaultdata,255,"%d", pontok[id])
  388.  
  389. nvault_set(g_vault,vaultkey,vaultdata)
  390. return PLUGIN_CONTINUE
  391. }
  392. public betoltes(id)
  393. {
  394. new vaultkey[64],vaultdata[256]
  395.  
  396. format(vaultkey,63,"%s-PONTOK", name[id])
  397.  
  398. nvault_get(g_vault,vaultkey,vaultdata,255)
  399.  
  400. pontok[id] = str_to_num(vaultdata)
  401. return PLUGIN_CONTINUE;
  402. }
  403. public client_disconnect(id)
  404. {
  405. mentes(id);
  406. remove_task(id);
  407. pontok[id] = 0;
  408. activ_halhatatlan[id] = false
  409. activ_lathatatlan[id] = false
  410. activ_onehit[id] = false
  411. activ_sebesseg[id] = false
  412. }
  413.  
  414. public client_connect(id)
  415. {
  416. get_user_name(id, name[id], 31)
  417. betoltes(id);
  418. set_task(300.0, "ajandek_1",id)
  419. set_task(900.0, "ajandek_2",id)
  420. set_task(1800.0, "ajandek_3",id)
  421. }
  422. public adas(id)
  423. {
  424. if (get_user_flags(id) & ADMIN_KICK)
  425. {
  426. new menu = menu_create("\y [Pontrendszer] \rKinek akarsz pontot adni?! \y(10p)", "menu_handler")
  427. new players[32], pnum, tempid
  428. new szName[32], szTempid[10]
  429. get_players(players, pnum)
  430. for( new i; i<pnum; i++ )
  431. {
  432. tempid = players[i];
  433. get_user_name(tempid, szName, charsmax(szName))
  434. num_to_str(tempid, szTempid, charsmax(szTempid))
  435. menu_additem(menu, szName, szTempid, 0)
  436.  
  437. }
  438. menu_display(id, menu, 0)
  439. }
  440. else
  441. {
  442. ColorChat(id, GREEN, "Sajnos nincs jogod hasznalni ezt a parancsot!")
  443.  
  444. }
  445. }
  446. public menu_handler(id, menu, item)
  447. {
  448. if( item == MENU_EXIT )
  449. {
  450. menu_destroy(menu);
  451. return PLUGIN_HANDLED;
  452. }
  453.  
  454. new data[6], szName[64];
  455. new access, callback;
  456. menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback);
  457.  
  458. new tempid = str_to_num(data);
  459.  
  460. if( is_user_alive(tempid) )
  461. {
  462. pontok[tempid] += 10
  463. }
  464. client_cmd(id,"pont_adas")
  465. menu_destroy(menu);
  466. return PLUGIN_HANDLED;
  467. }
  468. public ajandek_1(id)
  469. {
  470. new penz = get_pcvar_num(ajandek1);
  471. client_print(id, print_chat, "[Pontrendszer] %d pont jar mert itt vagy mar 5 perce!", penz)
  472. pontok[id] += penz;
  473. }
  474. public ajandek_2(id)
  475. {
  476. new penz = get_pcvar_num(ajandek2);
  477. client_print(id, print_chat, "[Pontrendszer] %d pont jar mert itt vagy mar 10 perce!", penz)
  478. pontok[id] += penz;
  479. }
  480. public ajandek_3(id)
  481. {
  482. new penz = get_pcvar_num(ajandek3);
  483. client_print(id, print_chat, "[Pontrendszer] %d pont jar mert itt vagy mar 30 perce!", penz)
  484. pontok[id] += penz;
  485. }
  486.  
  487. public hud()
  488. {
  489. admin = 0;
  490. new players[32], pnum, tempid
  491. get_players(players, pnum, "c")
  492.  
  493. for( new i; i<pnum; i++ )
  494. {
  495. tempid = players[i]
  496. if(get_user_flags(tempid) & ADMIN_KICK)
  497. {
  498. admin++;
  499. }
  500.  
  501. }
  502. for( new i; i<pnum; i++ )
  503. {
  504. tempid = players[i]
  505. set_hudmessage(0, 170, 255, 0.02, 0.2, 0, 1.0, 3.0);
  506. ShowSyncHudMsg(tempid, SyncHudObj, "[Pont: %d]^n[Jelenlevo Adminok: %d]",pontok[tempid],admin)
  507. }
  508. }
  509.  

Szerző:  pixxa112 [ 2014.03.03. 21:28 ]
Hozzászólás témája:  Re: pontrendszer átírás

Ha egy kicsit bővebb leírást adnál okosabbak lennénk..

Szerző:  bencike [ 2014.03.03. 21:50 ]
Hozzászólás témája:  Re: pontrendszer átírás

Hát hogy ha valaki eléri az 500 pontot akkor mondjuk menüből kiválasztja, hogy AK47 skint szeretne.
Akkor meg is kapja az AK47 skinjét, és azt el is menti neki névre, tehát ha feljön majd 2 hét múlva akkor is meglesz neki :D..
AK47,M4A1,Famas,awp:2500 pont
usp:500 pont
Deagle:1500 pont.

Szerző:  pixxa112 [ 2014.03.03. 21:53 ]
Hozzászólás témája:  Re: pontrendszer átírás

bencike írta:
Hát hogy ha valaki eléri az 500 pontot akkor mondjuk menüből kiválasztja, hogy AK47 skint szeretne.
Akkor meg is kapja az AK47 skinjét, és azt el is menti neki névre, tehát ha feljön majd 2 hét múlva akkor is meglesz neki :D..
AK47,M4A1,Famas,awp:2500 pont
usp:500 pont
Deagle:1500 pont.


Holnapra megcsinálom :D

Szerző:  bencike [ 2014.03.03. 21:53 ]
Hozzászólás témája:  Re: pontrendszer átírás

pixxa112 írta:
bencike írta:
Hát hogy ha valaki eléri az 500 pontot akkor mondjuk menüből kiválasztja, hogy AK47 skint szeretne.
Akkor meg is kapja az AK47 skinjét, és azt el is menti neki névre, tehát ha feljön majd 2 hét múlva akkor is meglesz neki :D..
AK47,M4A1,Famas,awp:2500 pont
usp:500 pont
Deagle:1500 pont.


Holnapra megcsinálom :D


tényleg?:$ Kösöznöm! :D

Szerző:  pixxa112 [ 2014.03.03. 22:16 ]
Hozzászólás témája:  Re: pontrendszer átírás

Igen :D

Szerző:  ultraibolya [ 2014.03.04. 15:42 ]
Hozzászólás témája:  Re: pontrendszer átírás

Várom pixxa :)

Szerző:  xXlederXxHUN [ 2014.03.04. 15:43 ]
Hozzászólás témája:  Re: pontrendszer átírás

ultraibolya írta:
Várom pixxa :)

Többen vagyunk így ;)

Szerző:  bencike [ 2014.03.04. 15:47 ]
Hozzászólás témája:  Re: pontrendszer átírás

:$$ én várom a legjobban :3

Szerző:  Beckx [ 2014.03.04. 16:03 ]
Hozzászólás témája:  Re: pontrendszer átírás

Már én is:$

Oldal: 1 / 2 Minden időpont UTC+02:00 időzóna szerinti
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/