hlmod.hu

Magyar Half-Life Mód közösség!
Pontos idő: 2024.05.02. 07:39



Jelenlévő felhasználók

Jelenleg 546 felhasználó van jelen :: 0 regisztrált, 0 rejtett és 546 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  [ 4 hozzászólás ] 
Szerző Üzenet
 Hozzászólás témája: Pontrendszer [K.I.S.Z.E.D.É.S]
HozzászólásElküldve: 2014.11.26. 19:46 
Offline
Jómunkásember

Csatlakozott: 2014.08.22. 22:10
Hozzászólások: 477
Megköszönt másnak: 43 alkalommal
Megköszönték neki: 8 alkalommal
Sziasztok! nekem ebböl a Crazy pontrendszeréből kikéne szedni a magozókat az AWP-t és a Surpackot:) aki megcsinálja megy a kéz! :) SMA:
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. enum Color
  9. {
  10. NORMAL = 1, // clients scr_concolor cvar color
  11. GREEN, // Green Color
  12. TEAM_COLOR, // Red, grey, blue
  13. GREY, // grey
  14. RED, // Red
  15. BLUE, // Blue
  16. }
  17.  
  18. new TeamName[][] =
  19. {
  20. "",
  21. "TERRORIST",
  22. "CT",
  23. "SPECTATOR"
  24. }
  25.  
  26. ColorChat(id, Color:type, const msg[], {Float,Sql,Result,_}:...)
  27. {
  28. static message[256];
  29.  
  30. switch(type)
  31. {
  32. case NORMAL: // clients scr_concolor cvar color
  33. {
  34. message[0] = 0x01;
  35. }
  36. case GREEN: // Green
  37. {
  38. message[0] = 0x04;
  39. }
  40. default: // White, Red, Blue
  41. {
  42. message[0] = 0x03;
  43. }
  44. }
  45.  
  46. vformat(message[1], 251, msg, 4);
  47. message[192] = '^0';
  48.  
  49. static team, ColorChange, index, MSG_Type;
  50.  
  51. if(id)
  52. {
  53. MSG_Type = MSG_ONE;
  54. index = id;
  55. } else {
  56. index = FindPlayer();
  57. MSG_Type = MSG_ALL;
  58. }
  59.  
  60. team = get_user_team(index);
  61. ColorChange = ColorSelection(index, MSG_Type, type);
  62.  
  63. ShowColorMessage(index, MSG_Type, message);
  64.  
  65. if(ColorChange)
  66. {
  67. Team_Info(index, MSG_Type, TeamName[team]);
  68. }
  69. }
  70.  
  71. ShowColorMessage(id, type, message[])
  72. {
  73. message_begin(type, get_user_msgid("SayText"), _, id);
  74. write_byte(id)
  75. write_string(message);
  76. message_end();
  77. }
  78.  
  79. Team_Info(id, type, team[])
  80. {
  81. message_begin(type, get_user_msgid("TeamInfo"), _, id);
  82. write_byte(id);
  83. write_string(team);
  84. message_end();
  85.  
  86. return 1;
  87. }
  88.  
  89. ColorSelection(index, type, Color:Type)
  90. {
  91. switch(Type)
  92. {
  93. case RED:
  94. {
  95. return Team_Info(index, type, TeamName[1]);
  96. }
  97. case BLUE:
  98. {
  99. return Team_Info(index, type, TeamName[2]);
  100. }
  101. case GREY:
  102. {
  103. return Team_Info(index, type, TeamName[0]);
  104. }
  105. }
  106.  
  107. return 0;
  108. }
  109.  
  110. FindPlayer()
  111. {
  112. static i;
  113. i = -1;
  114.  
  115. while(i <= get_maxplayers())
  116. {
  117. if(is_user_connected(++i))
  118. {
  119. return i;
  120. }
  121. }
  122.  
  123. return -1;
  124. }
  125.  
  126.  
  127. #define PLUGIN "Pontrendszer"
  128. #define VERSION "1.1"
  129. #define AUTHOR "crazy"
  130.  
  131. #define DROG_SEBESSEG 800.0
  132.  
  133. new g_vault
  134. new pontok[33]
  135. new name[33][32]
  136. new admin
  137. new killp, killhsp
  138. new ajandek1, ajandek2, ajandek3
  139. new SyncHudObj
  140. enum shopitems
  141. {
  142. GRANATPACK,
  143. SEBESSEG,
  144. UJRAELEDES,
  145. SURFPACK,
  146. LATHATATLAN,
  147. OTSZAZHP,
  148. ONEHIT,
  149. HALHATATLAN,
  150. FULLPENZ,
  151. MAGOZOTE,
  152. MAGOZOCT,
  153. AWP
  154. };
  155. new cvar_bolt[shopitems]
  156.  
  157. new bool:activ_sebesseg[33]
  158. new bool:activ_lathatatlan[33]
  159. new bool:activ_onehit[33]
  160. new bool:activ_halhatatlan[33]
  161.  
  162. #define MAX_SHOP_ITEM 12
  163. new const shop_item_names[MAX_SHOP_ITEM+1][] =
  164. {
  165. "",
  166. "\yGranatok \w(HE,FE,SM) \r|%d| Pont",
  167. "\yNagyobb Sebesseg \r|%d| Pont",
  168. "\yUjraeledes \w(Halottak hasznalhatjak!) \r|%d| Pont",
  169. "\ySurf Felszereles \w(ShotGun,Granatok,Deagle) \r|%d| Pont",
  170. "\yLathatatlansag \w(1 kor) \r|%d| Pont",
  171. "\y+500 HP \r|%d| Pont",
  172. "\y1 hit = 1 kill \w(1 kor) \r|%d| Pont",
  173. "\yHalhatatlansag \w(1 kor) \r|%d| Pont",
  174. "\y16000$ \r|%d| Pont",
  175. "\yTE Magozo \r|%d| Pont",
  176. "\yCT Magozo \r|%d| Pont",
  177. "\yAWP \r|%d| Pont"
  178. };
  179. public plugin_init() {
  180.  
  181. register_plugin(PLUGIN, VERSION, AUTHOR)
  182. set_task(2.9, "hud", 0, _, _, "b")
  183.  
  184. killp = register_cvar("pont_kill", "2")
  185. killhsp = register_cvar("pont_killhs", "3")
  186.  
  187. ajandek1 = register_cvar("pont_ajandek1", "5")
  188. ajandek2 = register_cvar("pont_ajandek2", "10")
  189. ajandek3 = register_cvar("pont_ajandek3", "30")
  190.  
  191. register_clcmd("team_say /adas", "adas")
  192. register_clcmd("say /adas", "adas")
  193. register_clcmd("pont_adas", "adas")
  194.  
  195. register_clcmd("team_say /shop", "Shop")
  196. register_clcmd("say /shop", "Shop")
  197.  
  198. register_clcmd("team_say /bolt", "Shop")
  199. register_clcmd("say /bolt", "Shop")
  200.  
  201. cvar_bolt[GRANATPACK] = register_cvar("bolt_1", "20")
  202. cvar_bolt[SEBESSEG] = register_cvar("bolt_2", "45")
  203. cvar_bolt[UJRAELEDES] = register_cvar("bolt_3", "80")
  204. cvar_bolt[SURFPACK] = register_cvar("bolt_4", "65")
  205. cvar_bolt[LATHATATLAN] = register_cvar("bolt_5", "500")
  206. cvar_bolt[OTSZAZHP] = register_cvar("bolt_6", "360")
  207. cvar_bolt[ONEHIT] = register_cvar("bolt_7", "450")
  208. cvar_bolt[HALHATATLAN] = register_cvar("bolt_8", "750")
  209. cvar_bolt[FULLPENZ] = register_cvar("bolt_9", "50")
  210. cvar_bolt[MAGOZOTE] = register_cvar("bolt_10", "680")
  211. cvar_bolt[MAGOZOCT] = register_cvar("bolt_11", "680")
  212. cvar_bolt[AWP] = register_cvar("bolt_12", "200")
  213.  
  214. g_vault = nvault_open("PontRendszer");
  215.  
  216. RegisterHam(Ham_Killed, "player", "fw_player_killed", 1)
  217. RegisterHam(Ham_TakeDamage, "player", "fw_player_damage", 0)
  218. RegisterHam(Ham_Spawn, "player", "fw_player_spawn", 0)
  219. RegisterHam(Ham_Spawn, "player", "fw_player_spawn_post", 1)
  220. register_event("CurWeapon", "Event_Change_Weapon", "be", "1=1")
  221. SyncHudObj = CreateHudSyncObj()
  222. new itemszam = (_:shopitems)
  223. if(MAX_SHOP_ITEM != itemszam)
  224. {
  225. set_fail_state("Valamit elrontottal. A shopitems tombben es a shop_item_names tombben nem ugyanannyi elem van")
  226. }
  227. }
  228. public fw_player_killed(victim, attacker, shouldgib)
  229. {
  230. if(!is_user_connected(attacker) || !is_user_connected(victim) || attacker == victim)
  231. return PLUGIN_CONTINUE;
  232.  
  233. if(get_pdata_int(victim, 75) == HIT_HEAD)
  234. {
  235. pontok[attacker] += get_pcvar_num(killhsp)
  236. ColorChat(attacker, GREEN,"[Pontrendszer] .: BOOOM HEADSHOOT! :. Ez megert ^x03 %d pontot!", get_pcvar_num(killhsp))
  237. }
  238. else
  239. {
  240. pontok[attacker] += get_pcvar_num(killp)
  241. ColorChat(attacker, GREEN,"[Pontrendszer] ^x03 %d pont az olesert!", get_pcvar_num(killp))
  242. }
  243. return PLUGIN_CONTINUE
  244. }
  245. public fw_player_damage(victim, inflictor, attacker, Float:damage, damage_type)
  246. {
  247. if(activ_onehit[attacker])
  248. {
  249. SetHamParamFloat(4, float(get_user_health(victim)+1))
  250. }
  251. if(activ_halhatatlan[victim])
  252. {
  253. return HAM_SUPERCEDE
  254. }
  255. return HAM_IGNORED
  256. }
  257. public fw_player_spawn(id)
  258. {
  259. activ_halhatatlan[id] = false
  260. activ_onehit[id] = false
  261. activ_sebesseg[id] = false
  262. }
  263. public fw_player_spawn_post(id)
  264. {
  265. if(activ_lathatatlan[id])
  266. {
  267. set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransAlpha, 255)
  268. activ_lathatatlan[id] = false
  269. }
  270. }
  271. public Event_Change_Weapon(id)
  272. {
  273. if(activ_sebesseg[id])
  274. {
  275. set_user_maxspeed(id, DROG_SEBESSEG)
  276. }
  277. return PLUGIN_CONTINUE
  278. }
  279. public Shop(id)//IGEN EZ ITT A MENU
  280. {
  281. static Item[64]
  282.  
  283. formatex(Item, charsmax(Item),"\r[Pontrendszer Bolt]" )
  284. new Menu = menu_create(Item, "Shoph")
  285.  
  286. new szTempid[10]
  287.  
  288. for(new i = 1; i<sizeof(shop_item_names); i++)
  289. {
  290. num_to_str(i, szTempid, 9)
  291. formatex(Item, charsmax(Item),shop_item_names[i], get_pcvar_num(cvar_bolt[shopitems:(i-1)]))
  292. menu_additem(Menu, Item, szTempid)
  293. }
  294. menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL)
  295. menu_display(id, Menu)
  296.  
  297. return PLUGIN_HANDLED
  298. }
  299. public Shoph(id, menu, item)
  300. {
  301. if( item == MENU_EXIT )
  302. {
  303. menu_destroy(menu)
  304. return PLUGIN_HANDLED
  305. }
  306. new data[6], iName[64]
  307. new access, callback
  308. menu_item_getinfo(menu, item, access, data,5, iName, 63, callback)
  309.  
  310. new key = str_to_num(data)
  311. new elo = is_user_alive(id)
  312. new ar[_:shopitems+1]
  313. for(new i=1; i<_:shopitems+1; i++)
  314. {
  315. ar[i] = get_pcvar_num(cvar_bolt[shopitems:(i-1)])
  316. }
  317.  
  318. switch(key)
  319. {
  320. case 1:
  321. {
  322. if (pontok[id] >= ar[key] && elo)
  323. {
  324. pontok[id] -= ar[key]
  325. give_item(id, "weapon_flashbang")
  326. give_item(id, "weapon_hegrenade")
  327. give_item(id, "weapon_smokegrenade")
  328. ColorChat(id, GREEN, "[Pontrendszer] Megkaptad a granatokat!")
  329. }
  330. else
  331. {
  332. ColorChat(id, GREEN, "[Pontrendszer] Sajnos,nincs eleg pontod")
  333. }
  334. }
  335. case 2:
  336. {
  337. if (pontok[id] >= ar[key] && elo)
  338. {
  339. pontok[id] -= ar[key]
  340. set_user_maxspeed(id, DROG_SEBESSEG)
  341. activ_sebesseg[id] = true
  342. ColorChat(id, GREEN, "[Pontrendszer] A sebesseged gyorsitva lett!")
  343. }
  344. else
  345. {
  346. ColorChat(id, GREEN, "[Pontrendszer] Sajnos,nincs eleg pontod!")
  347. }
  348. }
  349. case 3:
  350. {
  351. if (pontok[id] >= ar[key] && !elo)
  352. {
  353. pontok[id] -= ar[key]
  354. ExecuteHamB(Ham_CS_RoundRespawn, id)
  355. ColorChat(id, GREEN, "[Pontrendszer] Ujraeledtel!")
  356. }
  357. else if(elo)
  358. {
  359. ColorChat(id, GREEN, "[Pontrendszer] Elok nem hasznalhatjak!")
  360. }
  361. else
  362. {
  363. ColorChat(id, GREEN, "[Pontrendszer] Sajnos,nincs eleg pontod")
  364. }
  365. }
  366. case 4:
  367. {
  368. if (pontok[id] >= ar[key] && elo)
  369. {
  370. pontok[id] -= ar[key];
  371. cs_set_weapon_ammo( give_item( id, "weapon_m3" ), 8 )
  372. give_item(id, "weapon_hegrenade")
  373. give_item(id, "weapon_flashbang")
  374. give_item(id, "weapon_flashbang")
  375.  
  376. give_item(id, "weapon_knife")
  377. give_item(id, "weapon_deagle")
  378. cs_set_user_bpammo(id, CSW_DEAGLE, 35)
  379. ColorChat(id, GREEN, "[Pontrendszer] Megkaptad a Surf Felszerelest!")
  380. }
  381. else
  382. {
  383. ColorChat(id, GREEN, "[Pontrendszer] Sajnos,nincs eleg pontod")
  384. }
  385. }
  386. case 5:
  387. {
  388. if (pontok[id] >= ar[key] && elo)
  389. {
  390. pontok[id] -= ar[key]
  391. activ_lathatatlan[id] = true
  392. set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransAlpha, 0)
  393. ColorChat(id, GREEN, "[Pontrendszer] Megkaptad a lathatatlansagot!")
  394. }
  395. else
  396. {
  397. ColorChat(id, GREEN, "[Pontrendszer] Sajnos,nincs eleg pontod")
  398. }
  399. }
  400. case 6:
  401. {
  402. if (pontok[id] >= ar[key] && elo)
  403. {
  404. pontok[id] -= ar[key]
  405. set_user_health(id, get_user_health(id)+500)
  406. ColorChat(id, GREEN, "[Pontrendszer] Megkaptad az eletet!")
  407. }
  408. else
  409. {
  410. ColorChat(id, GREEN, "[Pontrendszer] Sajnos,nincs eleg pontod")
  411. }
  412. }
  413. case 7:
  414. {
  415. if (pontok[id] >= ar[key] && elo)
  416. {
  417. pontok[id] -= ar[key]
  418. activ_onehit[id] = true
  419. ColorChat(id, GREEN, "[Pontrendszer] Megkaptad az egy lovesbol olest!")
  420. }
  421. else
  422. {
  423. ColorChat(id, GREEN, "[Pontrendszer] Sajnos,nincs eleg pontod")
  424. }
  425. }
  426. case 8:
  427. {
  428. if (pontok[id] >= ar[key] && elo)
  429. {
  430. pontok[id] -= ar[key]
  431. activ_halhatatlan[id] = true
  432. ColorChat(id, GREEN, "[Pontrendszer] Megkaptad a halhatatlansagot!")
  433. }
  434. else
  435. {
  436. ColorChat(id, GREEN, "[Pontrendszer] Sajnos,nincs eleg pontod")
  437. }
  438. }
  439. case 9:
  440. {
  441. if (pontok[id] >= ar[key] && elo)
  442. {
  443. pontok[id] -= ar[key]
  444. cs_set_user_money(id, 16000)
  445. ColorChat(id, GREEN, "[Pontrendszer] Megkaptad a penzt!")
  446. }
  447. else
  448. {
  449. ColorChat(id, GREEN, "[Pontrendszer] Sajnos,nincs eleg pontod")
  450. }
  451. }
  452. case 10:
  453. {
  454. if (pontok[id] >= ar[key] && elo)
  455. {
  456. pontok[id] -= ar[key]
  457. give_item(id, "weapon_g3sg1")
  458. cs_set_user_bpammo(id, CSW_G3SG1, 90)
  459. ColorChat(id, GREEN, "[Pontrendszer] Megkaptad a magozot!")
  460. }
  461. else
  462. {
  463. ColorChat(id, GREEN, "[Pontrendszer] Sajnos,nincs eleg pontod")
  464. }
  465. }
  466. case 11:
  467. {
  468. if (pontok[id] >= ar[key] && elo)
  469. {
  470. pontok[id] -= ar[key];
  471. give_item(id, "weapon_sg550")
  472. cs_set_user_bpammo(id, CSW_SG550, 90)
  473. ColorChat(id, GREEN, "[Pontrendszer] Megkaptad a magozot!")
  474. }
  475. else
  476. {
  477. ColorChat(id, GREEN, "[Pontrendszer] Sajnos,nincs eleg pontod")
  478. }
  479. }
  480. case 12:
  481. {
  482. if (pontok[id] >= ar[key] && elo)
  483. {
  484. pontok[id] -= ar[key];
  485. give_item(id, "weapon_awp");
  486. cs_set_user_bpammo(id, CSW_AWP, 30);
  487. ColorChat(id, GREEN, "[Pontrendszer] Megkaptad az awpt!")
  488. }
  489. else
  490. {
  491. ColorChat(id, GREEN, "[Pontrendszer] Sajnos,nincs eleg pontod")
  492. }
  493. }
  494. }
  495. menu_destroy(menu)
  496. return PLUGIN_HANDLED
  497. }
  498.  
  499. public mentes(id)
  500. {
  501. new vaultkey[64],vaultdata[256]
  502.  
  503. format(vaultkey,63,"%s-PONTOK", name[id])
  504. format(vaultdata,255,"%d", pontok[id])
  505.  
  506. nvault_set(g_vault,vaultkey,vaultdata)
  507. return PLUGIN_CONTINUE
  508. }
  509. public betoltes(id)
  510. {
  511. new vaultkey[64],vaultdata[256]
  512.  
  513. format(vaultkey,63,"%s-PONTOK", name[id])
  514.  
  515. nvault_get(g_vault,vaultkey,vaultdata,255)
  516.  
  517. pontok[id] = str_to_num(vaultdata)
  518. return PLUGIN_CONTINUE;
  519. }
  520. public client_disconnect(id)
  521. {
  522. mentes(id);
  523. remove_task(id);
  524. pontok[id] = 0;
  525. activ_halhatatlan[id] = false
  526. activ_lathatatlan[id] = false
  527. activ_onehit[id] = false
  528. activ_sebesseg[id] = false
  529. }
  530.  
  531. public client_connect(id)
  532. {
  533. get_user_name(id, name[id], 31)
  534. betoltes(id);
  535. set_task(300.0, "ajandek_1",id)
  536. set_task(900.0, "ajandek_2",id)
  537. set_task(1800.0, "ajandek_3",id)
  538. }
  539. public adas(id)
  540. {
  541. if (get_user_flags(id) & ADMIN_KICK)
  542. {
  543. new menu = menu_create("\y [Pontrendszer] \rKinek akarsz pontot adni?! \y(10p)", "menu_handler")
  544. new players[32], pnum, tempid
  545. new szName[32], szTempid[10]
  546. get_players(players, pnum)
  547. for( new i; i<pnum; i++ )
  548. {
  549. tempid = players[i];
  550. get_user_name(tempid, szName, charsmax(szName))
  551. num_to_str(tempid, szTempid, charsmax(szTempid))
  552. menu_additem(menu, szName, szTempid, 0)
  553.  
  554. }
  555. menu_display(id, menu, 0)
  556. }
  557. else
  558. {
  559. ColorChat(id, GREEN, "Sajnos nincs jogod hasznalni ezt a parancsot!")
  560.  
  561. }
  562. }
  563. public menu_handler(id, menu, item)
  564. {
  565. if( item == MENU_EXIT )
  566. {
  567. menu_destroy(menu);
  568. return PLUGIN_HANDLED;
  569. }
  570.  
  571. new data[6], szName[64];
  572. new access, callback;
  573. menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback);
  574.  
  575. new tempid = str_to_num(data);
  576.  
  577. if( is_user_alive(tempid) )
  578. {
  579. pontok[tempid] += 10
  580. }
  581. client_cmd(id,"pont_adas")
  582. menu_destroy(menu);
  583. return PLUGIN_HANDLED;
  584. }
  585. public ajandek_1(id)
  586. {
  587. new penz = get_pcvar_num(ajandek1);
  588. client_print(id, print_chat, "[Pontrendszer] %d pont jar mert itt vagy mar 5 perce!", penz)
  589. pontok[id] += penz;
  590. }
  591. public ajandek_2(id)
  592. {
  593. new penz = get_pcvar_num(ajandek2);
  594. client_print(id, print_chat, "[Pontrendszer] %d pont jar mert itt vagy mar 10 perce!", penz)
  595. pontok[id] += penz;
  596. }
  597. public ajandek_3(id)
  598. {
  599. new penz = get_pcvar_num(ajandek3);
  600. client_print(id, print_chat, "[Pontrendszer] %d pont jar mert itt vagy mar 30 perce!", penz)
  601. pontok[id] += penz;
  602. }
  603.  
  604. public hud()
  605. {
  606. admin = 0;
  607. new players[32], pnum, tempid
  608. get_players(players, pnum, "c")
  609.  
  610. for( new i; i<pnum; i++ )
  611. {
  612. tempid = players[i]
  613. if(get_user_flags(tempid) & ADMIN_KICK)
  614. {
  615. admin++;
  616. }
  617.  
  618. }
  619. for( new i; i<pnum; i++ )
  620. {
  621. tempid = players[i]
  622. set_hudmessage(0, 170, 255, 0.02, 0.2, 0, 1.0, 3.0);
  623. ShowSyncHudMsg(tempid, SyncHudObj, "[Pont: %d]^n[Jelenlevo Adminok: %d]",pontok[tempid],admin)
  624. }
  625. }
  626.  

_________________
Soha se késő megköszönni! :)


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Pontrendszer [K.I.S.Z.E.D.É.S]
HozzászólásElküldve: 2014.11.26. 20:00 
Offline
Nagyúr
Avatar

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

_________________
My Steam:
KépKép


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Pontrendszer [K.I.S.Z.E.D.É.S]
HozzászólásElküldve: 2014.11.27. 17:01 
Offline
Jómunkásember

Csatlakozott: 2014.08.22. 22:10
Hozzászólások: 477
Megköszönt másnak: 43 alkalommal
Megköszönték neki: 8 alkalommal
Hali! ment a gomb! de még a 16000$ t kiszednéd pls ? :)

_________________
Soha se késő megköszönni! :)


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Pontrendszer [K.I.S.Z.E.D.É.S]
HozzászólásElküldve: 2014.11.27. 17:06 
Offline
Nagyúr
Avatar

Csatlakozott: 2014.04.10. 15:32
Hozzászólások: 776
Megköszönt másnak: 122 alkalommal
Megköszönték neki: 60 alkalommal
Tessék:

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

_________________
Kép


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


Ki van itt

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