hlmod.hu
https://hlmod.hu/

BaseBluider
https://hlmod.hu/viewtopic.php?f=9&t=16907
Oldal: 1 / 1

Szerző:  StopMe [2014.08.10. 16:07 ]
Hozzászólás témája:  BaseBluider

Sziasztok segitség kéne hogy amikor van a ct meg a zombi hogy lehet pontrendszert csinálni meg reget valaki küldene nekem ezeket

Szerző:  NuD[!]e [2014.08.10. 17:19 ]
Hozzászólás témája:  Re: BaseBluider

Reg : Regisztrációs Rendszer 8.0
Pontrendszer : Pontrendszer

Szerző:  StopMe [2014.08.11. 11:30 ]
Hozzászólás témája:  Re: BaseBluider

A pontrendszer nem jó

Szerző:  NuD[!]e [2014.08.11. 21:16 ]
Hozzászólás témája:  Re: BaseBluider

Tessék ez már jo!
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 9
  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. "\yLathatatlansag \w(1 kor) \r|%d| Pont",
  170. "\y+500 HP \r|%d| Pont",
  171. "\y1 hit = 1 kill \w(1 kor) \r|%d| Pont",
  172. "\yTE Magozo \r|%d| Pont",
  173. "\yCT Magozo \r|%d| Pont",
  174. "\yAWP \r|%d| Pont"
  175. };
  176. public plugin_init() {
  177.  
  178. register_plugin(PLUGIN, VERSION, AUTHOR)
  179. set_task(2.9, "hud", 0, _, _, "b")
  180.  
  181. killp = register_cvar("pont_kill", "5")
  182. killhsp = register_cvar("pont_killhs", "10")
  183.  
  184. ajandek1 = register_cvar("pont_ajandek1", "5")
  185. ajandek2 = register_cvar("pont_ajandek2", "10")
  186. ajandek3 = register_cvar("pont_ajandek3", "30")
  187.  
  188. register_clcmd("team_say /adas", "adas")
  189. register_clcmd("say /adas", "adas")
  190. register_clcmd("pont_adas", "adas")
  191.  
  192. register_clcmd("team_say /shop", "Shop")
  193. register_clcmd("say /shop", "Shop")
  194.  
  195. register_clcmd("team_say /bolt", "Shop")
  196. register_clcmd("say /bolt", "Shop")
  197.  
  198. cvar_bolt[GRANATPACK] = register_cvar("bolt_1", "20")
  199. cvar_bolt[SEBESSEG] = register_cvar("bolt_2", "45")
  200. cvar_bolt[UJRAELEDES] = register_cvar("bolt_3", "80")
  201. cvar_bolt[SURFPACK] = register_cvar("bolt_4", "65")
  202. cvar_bolt[LATHATATLAN] = register_cvar("bolt_5", "110)
  203. cvar_bolt[OTSZAZHP] = register_cvar("bolt_6", "360")
  204. cvar_bolt[ONEHIT] = register_cvar("bolt_7", "150")
  205. cvar_bolt[HALHATATLAN] = register_cvar("bolt_8", "750")
  206. cvar_bolt[FULLPENZ] = register_cvar("bolt_9", "50")
  207. cvar_bolt[MAGOZOTE] = register_cvar("bolt_10", "80")
  208. cvar_bolt[MAGOZOCT] = register_cvar("bolt_11", "80")
  209. cvar_bolt[AWP] = register_cvar("bolt_12", "20")
  210.  
  211. g_vault = nvault_open("PontRendszer");
  212.  
  213. RegisterHam(Ham_Killed, "player", "fw_player_killed", 1)
  214. RegisterHam(Ham_TakeDamage, "player", "fw_player_damage", 0)
  215. RegisterHam(Ham_Spawn, "player", "fw_player_spawn", 0)
  216. RegisterHam(Ham_Spawn, "player", "fw_player_spawn_post", 1)
  217. register_event("CurWeapon", "Event_Change_Weapon", "be", "1=1")
  218. SyncHudObj = CreateHudSyncObj()
  219. new itemszam = (_:shopitems)
  220. if(MAX_SHOP_ITEM != itemszam)
  221. {
  222. set_fail_state("Valamit elrontottal. A shopitems tombben es a shop_item_names tombben nem ugyanannyi elem van")
  223. }
  224. }
  225. public fw_player_killed(victim, attacker, shouldgib)
  226. {
  227. if(!is_user_connected(attacker) || !is_user_connected(victim) || attacker == victim)
  228. return PLUGIN_CONTINUE;
  229.  
  230. if(get_pdata_int(victim, 75) == HIT_HEAD)
  231. {
  232. pontok[attacker] += get_pcvar_num(killhsp)
  233. ColorChat(attacker, GREEN,"[Pontrendszer] .: BOOOM HEADSHOOT! :. Ez megert ^x03 %d pontot!", get_pcvar_num(killhsp))
  234. }
  235. else
  236. {
  237. pontok[attacker] += get_pcvar_num(killp)
  238. ColorChat(attacker, GREEN,"[Pontrendszer] ^x03 %d pont az olesert!", get_pcvar_num(killp))
  239. }
  240. return PLUGIN_CONTINUE
  241. }
  242. public fw_player_damage(victim, inflictor, attacker, Float:damage, damage_type)
  243. {
  244. if(activ_onehit[attacker])
  245. {
  246. SetHamParamFloat(4, float(get_user_health(victim)+1))
  247. }
  248. if(activ_halhatatlan[victim])
  249. {
  250. return HAM_SUPERCEDE
  251. }
  252. return HAM_IGNORED
  253. }
  254. public fw_player_spawn(id)
  255. {
  256. activ_halhatatlan[id] = false
  257. activ_onehit[id] = false
  258. activ_sebesseg[id] = false
  259. }
  260. public fw_player_spawn_post(id)
  261. {
  262. if(activ_lathatatlan[id])
  263. {
  264. set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransAlpha, 255)
  265. activ_lathatatlan[id] = false
  266. }
  267. }
  268. public Event_Change_Weapon(id)
  269. {
  270. if(activ_sebesseg[id])
  271. {
  272. set_user_maxspeed(id, DROG_SEBESSEG)
  273. }
  274. return PLUGIN_CONTINUE
  275. }
  276. public Shop(id)//IGEN EZ ITT A MENU
  277. {
  278. static Item[64]
  279.  
  280. formatex(Item, charsmax(Item),"\r[Pontrendszer Bolt]" )
  281. new Menu = menu_create(Item, "Shoph")
  282.  
  283. new szTempid[10]
  284.  
  285. for(new i = 1; i<sizeof(shop_item_names); i++)
  286. {
  287. num_to_str(i, szTempid, 9)
  288. formatex(Item, charsmax(Item),shop_item_names[i], get_pcvar_num(cvar_bolt[shopitems:(i-1)]))
  289. menu_additem(Menu, Item, szTempid)
  290. }
  291. menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL)
  292. menu_display(id, Menu)
  293.  
  294. return PLUGIN_HANDLED
  295. }
  296. public Shoph(id, menu, item)
  297. {
  298. if( item == MENU_EXIT )
  299. {
  300. menu_destroy(menu)
  301. return PLUGIN_HANDLED
  302. }
  303. new data[6], iName[64]
  304. new access, callback
  305. menu_item_getinfo(menu, item, access, data,5, iName, 63, callback)
  306.  
  307. new key = str_to_num(data)
  308. new elo = is_user_alive(id)
  309. new ar[_:shopitems+1]
  310. for(new i=1; i<_:shopitems+1; i++)
  311. {
  312. ar[i] = get_pcvar_num(cvar_bolt[shopitems:(i-1)])
  313. }
  314.  
  315. switch(key)
  316. {
  317. case 1:
  318. {
  319. if (pontok[id] >= ar[key] && elo)
  320. {
  321. pontok[id] -= ar[key]
  322. give_item(id, "weapon_flashbang")
  323. give_item(id, "weapon_hegrenade")
  324. give_item(id, "weapon_smokegrenade")
  325. ColorChat(id, GREEN, "[Pontrendszer] Megkaptad a granatokat!")
  326. }
  327. else
  328. {
  329. ColorChat(id, GREEN, "[Pontrendszer] Sajnos,nincs eleg pontod")
  330. }
  331. }
  332. case 2:
  333. {
  334. if (pontok[id] >= ar[key] && elo)
  335. {
  336. pontok[id] -= ar[key]
  337. set_user_maxspeed(id, DROG_SEBESSEG)
  338. activ_sebesseg[id] = true
  339. ColorChat(id, GREEN, "[Pontrendszer] A sebesseged gyorsitva lett!")
  340. }
  341. else
  342. {
  343. ColorChat(id, GREEN, "[Pontrendszer] Sajnos,nincs eleg pontod!")
  344. }
  345. }
  346. case 3:
  347. {
  348. if (pontok[id] >= ar[key] && !elo)
  349. {
  350. pontok[id] -= ar[key]
  351. ExecuteHamB(Ham_CS_RoundRespawn, id)
  352. ColorChat(id, GREEN, "[Pontrendszer] Ujraeledtel!")
  353. }
  354. else if(elo)
  355. {
  356. ColorChat(id, GREEN, "[Pontrendszer] Elok nem hasznalhatjak!")
  357. }
  358. else
  359. {
  360. ColorChat(id, GREEN, "[Pontrendszer] Sajnos,nincs eleg pontod")
  361. }
  362. }
  363. case 4:
  364. {
  365. if (pontok[id] >= ar[key] && elo)
  366. {
  367. pontok[id] -= ar[key];
  368. cs_set_weapon_ammo( give_item( id, "weapon_m3" ), 8 )
  369. give_item(id, "weapon_hegrenade")
  370. give_item(id, "weapon_flashbang")
  371. give_item(id, "weapon_flashbang")
  372.  
  373. give_item(id, "weapon_knife")
  374. give_item(id, "weapon_deagle")
  375. cs_set_user_bpammo(id, CSW_DEAGLE, 35)
  376. ColorChat(id, GREEN, "[Pontrendszer] Megkaptad a Surf Felszerelest!")
  377. }
  378. else
  379. {
  380. ColorChat(id, GREEN, "[Pontrendszer] Sajnos,nincs eleg pontod")
  381. }
  382. }
  383. case 5:
  384. {
  385. if (pontok[id] >= ar[key] && elo)
  386. {
  387. pontok[id] -= ar[key]
  388. activ_lathatatlan[id] = true
  389. set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransAlpha, 0)
  390. ColorChat(id, GREEN, "[Pontrendszer] Megkaptad a lathatatlansagot!")
  391. }
  392. else
  393. {
  394. ColorChat(id, GREEN, "[Pontrendszer] Sajnos,nincs eleg pontod")
  395. }
  396. }
  397. case 6:
  398. {
  399. if (pontok[id] >= ar[key] && elo)
  400. {
  401. pontok[id] -= ar[key]
  402. set_user_health(id, get_user_health(id)+500)
  403. ColorChat(id, GREEN, "[Pontrendszer] Megkaptad az eletet!")
  404. }
  405. else
  406. {
  407. ColorChat(id, GREEN, "[Pontrendszer] Sajnos,nincs eleg pontod")
  408. }
  409. }
  410. case 7:
  411. {
  412. if (pontok[id] >= ar[key] && elo)
  413. {
  414. pontok[id] -= ar[key]
  415. activ_onehit[id] = true
  416. ColorChat(id, GREEN, "[Pontrendszer] Megkaptad az egy lovesbol olest!")
  417. }
  418. else
  419. {
  420. ColorChat(id, GREEN, "[Pontrendszer] Sajnos,nincs eleg pontod")
  421. }
  422. }
  423. case 8:
  424. {
  425. if (pontok[id] >= ar[key] && elo)
  426. {
  427. pontok[id] -= ar[key]
  428. activ_halhatatlan[id] = true
  429. ColorChat(id, GREEN, "[Pontrendszer] Megkaptad a halhatatlansagot!")
  430. }
  431. else
  432. {
  433. ColorChat(id, GREEN, "[Pontrendszer] Sajnos,nincs eleg pontod")
  434. }
  435. }
  436. case 9:
  437. {
  438. if (pontok[id] >= ar[key] && elo)
  439. {
  440. pontok[id] -= ar[key]
  441. cs_set_user_money(id, 16000)
  442. ColorChat(id, GREEN, "[Pontrendszer] Megkaptad a penzt!")
  443. }
  444. else
  445. {
  446. ColorChat(id, GREEN, "[Pontrendszer] Sajnos,nincs eleg pontod")
  447. }
  448. }
  449. case 10:
  450. {
  451. if (pontok[id] >= ar[key] && elo)
  452. {
  453. pontok[id] -= ar[key]
  454. give_item(id, "weapon_g3sg1")
  455. cs_set_user_bpammo(id, CSW_G3SG1, 90)
  456. ColorChat(id, GREEN, "[Pontrendszer] Megkaptad a magozot!")
  457. }
  458. else
  459. {
  460. ColorChat(id, GREEN, "[Pontrendszer] Sajnos,nincs eleg pontod")
  461. }
  462. }
  463. case 11:
  464. {
  465. if (pontok[id] >= ar[key] && elo)
  466. {
  467. pontok[id] -= ar[key];
  468. give_item(id, "weapon_sg550")
  469. cs_set_user_bpammo(id, CSW_SG550, 90)
  470. ColorChat(id, GREEN, "[Pontrendszer] Megkaptad a magozot!")
  471. }
  472. else
  473. {
  474. ColorChat(id, GREEN, "[Pontrendszer] Sajnos,nincs eleg pontod")
  475. }
  476. }
  477. case 12:
  478. {
  479. if (pontok[id] >= ar[key] && elo)
  480. {
  481. pontok[id] -= ar[key];
  482. give_item(id, "weapon_awp");
  483. cs_set_user_bpammo(id, CSW_AWP, 30);
  484. ColorChat(id, GREEN, "[Pontrendszer] Megkaptad az awpt!")
  485. }
  486. else
  487. {
  488. ColorChat(id, GREEN, "[Pontrendszer] Sajnos,nincs eleg pontod")
  489. }
  490. }
  491. }
  492. menu_destroy(menu)
  493. return PLUGIN_HANDLED
  494. }
  495.  
  496. public mentes(id)
  497. {
  498. new vaultkey[64],vaultdata[256]
  499.  
  500. format(vaultkey,63,"%s-PONTOK", name[id])
  501. format(vaultdata,255,"%d", pontok[id])
  502.  
  503. nvault_set(g_vault,vaultkey,vaultdata)
  504. return PLUGIN_CONTINUE
  505. }
  506. public betoltes(id)
  507. {
  508. new vaultkey[64],vaultdata[256]
  509.  
  510. format(vaultkey,63,"%s-PONTOK", name[id])
  511.  
  512. nvault_get(g_vault,vaultkey,vaultdata,255)
  513.  
  514. pontok[id] = str_to_num(vaultdata)
  515. return PLUGIN_CONTINUE;
  516. }
  517. public client_disconnect(id)
  518. {
  519. mentes(id);
  520. remove_task(id);
  521. pontok[id] = 0;
  522. activ_halhatatlan[id] = false
  523. activ_lathatatlan[id] = false
  524. activ_onehit[id] = false
  525. activ_sebesseg[id] = false
  526. }
  527.  
  528. public client_connect(id)
  529. {
  530. get_user_name(id, name[id], 31)
  531. betoltes(id);
  532. set_task(300.0, "ajandek_1",id)
  533. set_task(900.0, "ajandek_2",id)
  534. set_task(1800.0, "ajandek_3",id)
  535. }
  536. public adas(id)
  537. {
  538. if (get_user_flags(id) & ADMIN_KICK)
  539. {
  540. new menu = menu_create("\y [Pontrendszer] \rKinek akarsz pontot adni?! \y(10p)", "menu_handler")
  541. new players[32], pnum, tempid
  542. new szName[32], szTempid[10]
  543. get_players(players, pnum)
  544. for( new i; i<pnum; i++ )
  545. {
  546. tempid = players[i];
  547. get_user_name(tempid, szName, charsmax(szName))
  548. num_to_str(tempid, szTempid, charsmax(szTempid))
  549. menu_additem(menu, szName, szTempid, 0)
  550.  
  551. }
  552. menu_display(id, menu, 0)
  553. }
  554. else
  555. {
  556. ColorChat(id, GREEN, "Sajnos nincs jogod hasznalni ezt a parancsot!")
  557.  
  558. }
  559. }
  560. public menu_handler(id, menu, item)
  561. {
  562. if( item == MENU_EXIT )
  563. {
  564. menu_destroy(menu);
  565. return PLUGIN_HANDLED;
  566. }
  567.  
  568. new data[6], szName[64];
  569. new access, callback;
  570. menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback);
  571.  
  572. new tempid = str_to_num(data);
  573.  
  574. if( is_user_alive(tempid) )
  575. {
  576. pontok[tempid] += 10
  577. }
  578. client_cmd(id,"pont_adas")
  579. menu_destroy(menu);
  580. return PLUGIN_HANDLED;
  581. }
  582. public ajandek_1(id)
  583. {
  584. new penz = get_pcvar_num(ajandek1);
  585. client_print(id, print_chat, "[Pontrendszer] %d pont jar mert itt vagy mar 5 perce!", penz)
  586. pontok[id] += penz;
  587. }
  588. public ajandek_2(id)
  589. {
  590. new penz = get_pcvar_num(ajandek2);
  591. client_print(id, print_chat, "[Pontrendszer] %d pont jar mert itt vagy mar 10 perce!", penz)
  592. pontok[id] += penz;
  593. }
  594. public ajandek_3(id)
  595. {
  596. new penz = get_pcvar_num(ajandek3);
  597. client_print(id, print_chat, "[Pontrendszer] %d pont jar mert itt vagy mar 30 perce!", penz)
  598. pontok[id] += penz;
  599. }
  600.  
  601. public hud()
  602. {
  603. admin = 0;
  604. new players[32], pnum, tempid
  605. get_players(players, pnum, "c")
  606.  
  607. for( new i; i<pnum; i++ )
  608. {
  609. tempid = players[i]
  610. if(get_user_flags(tempid) & ADMIN_KICK)
  611. {
  612. admin++;
  613. }
  614.  
  615. }
  616. for( new i; i<pnum; i++ )
  617. {
  618. tempid = players[i]
  619. set_hudmessage(0, 252, 100, 0.02, 0.2, 0, 1.0, 3.0);
  620. ShowSyncHudMsg(tempid, SyncHudObj, "[Pont: %d]",pontok[tempid],admin)
  621. }
  622. }
  623.  

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