hlmod.hu
https://hlmod.hu/

Elmentés.
https://hlmod.hu/viewtopic.php?f=29&t=16641
Oldal: 1 / 1

Szerző:  Somterno [ 2014.07.23. 20:59 ]
Hozzászólás témája:  Elmentés.

Pontrendszer
Pontrendszer plugin.
Hogyan lehet megcsinálni ,hogy elmentse a pontokat?

Szerző:  xXlederXxHUN [ 2014.07.23. 21:05 ]
Hozzászólás témája:  Re: Elmentés.

Elmenti

Szerző:  Golo [ 2014.07.23. 21:09 ]
Hozzászólás témája:  Re: Elmentés.

Amibe látsz vault-os cuccot akkor azt elmenti :)

Szerző:  Somterno [ 2014.07.23. 21:14 ]
Hozzászólás témája:  Re: Elmentés.

Nem tudom mi van akkor. Amikor resizem a szervert akkor mindenkinek eltűnik a pontja.

Szerző:  Golo [ 2014.07.23. 21:29 ]
Hozzászólás témája:  Re: Elmentés.

Próbáld meg így :)
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 name[32]
  385. get_user_name(id, name, 31)
  386.  
  387. new vaultkey[64],vaultdata[256]
  388.  
  389. format(vaultkey,63,"%s-PONTOK", name[id])
  390. format(vaultdata,255,"%d", pontok[id])
  391.  
  392. nvault_set(g_vault,vaultkey,vaultdata)
  393. return PLUGIN_CONTINUE
  394. }
  395. public betoltes(id)
  396. {
  397. new name[32]
  398. get_user_name(id, name, 31)
  399.  
  400. new vaultkey[64],vaultdata[256]
  401.  
  402. format(vaultkey,63,"%s-PONTOK", name[id])
  403.  
  404. nvault_get(g_vault,vaultkey,vaultdata,255)
  405.  
  406. pontok[id] = str_to_num(vaultdata)
  407. return PLUGIN_CONTINUE;
  408. }
  409. public client_disconnect(id)
  410. {
  411. mentes(id);
  412. remove_task(id);
  413. pontok[id] = 0;
  414. activ_halhatatlan[id] = false
  415. activ_lathatatlan[id] = false
  416. activ_onehit[id] = false
  417. activ_sebesseg[id] = false
  418. }
  419.  
  420. public client_connect(id)
  421. {
  422. get_user_name(id, name[id], 31)
  423. betoltes(id);
  424. set_task(300.0, "ajandek_1",id)
  425. set_task(900.0, "ajandek_2",id)
  426. set_task(1800.0, "ajandek_3",id)
  427. }
  428. public adas(id)
  429. {
  430. if (get_user_flags(id) & ADMIN_KICK)
  431. {
  432. new menu = menu_create("\y [Pontrendszer] \rKinek akarsz pontot adni?! \y(10p)", "menu_handler")
  433. new players[32], pnum, tempid
  434. new szName[32], szTempid[10]
  435. get_players(players, pnum)
  436. for( new i; i<pnum; i++ )
  437. {
  438. tempid = players[i];
  439. get_user_name(tempid, szName, charsmax(szName))
  440. num_to_str(tempid, szTempid, charsmax(szTempid))
  441. menu_additem(menu, szName, szTempid, 0)
  442.  
  443. }
  444. menu_display(id, menu, 0)
  445. }
  446. else
  447. {
  448. ColorChat(id, GREEN, "Sajnos nincs jogod hasznalni ezt a parancsot!")
  449.  
  450. }
  451. }
  452. public menu_handler(id, menu, item)
  453. {
  454. if( item == MENU_EXIT )
  455. {
  456. menu_destroy(menu);
  457. return PLUGIN_HANDLED;
  458. }
  459.  
  460. new data[6], szName[64];
  461. new access, callback;
  462. menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback);
  463.  
  464. new tempid = str_to_num(data);
  465.  
  466. if( is_user_alive(tempid) )
  467. {
  468. pontok[tempid] += 10
  469. }
  470. client_cmd(id,"pont_adas")
  471. menu_destroy(menu);
  472. return PLUGIN_HANDLED;
  473. }
  474. public ajandek_1(id)
  475. {
  476. new penz = get_pcvar_num(ajandek1);
  477. client_print(id, print_chat, "[Pontrendszer] %d pont jar mert itt vagy mar 5 perce!", penz)
  478. pontok[id] += penz;
  479. }
  480. public ajandek_2(id)
  481. {
  482. new penz = get_pcvar_num(ajandek2);
  483. client_print(id, print_chat, "[Pontrendszer] %d pont jar mert itt vagy mar 10 perce!", penz)
  484. pontok[id] += penz;
  485. }
  486. public ajandek_3(id)
  487. {
  488. new penz = get_pcvar_num(ajandek3);
  489. client_print(id, print_chat, "[Pontrendszer] %d pont jar mert itt vagy mar 30 perce!", penz)
  490. pontok[id] += penz;
  491. }
  492.  
  493. public hud()
  494. {
  495. admin = 0;
  496. new players[32], pnum, tempid
  497. get_players(players, pnum, "c")
  498.  
  499. for( new i; i<pnum; i++ )
  500. {
  501. tempid = players[i]
  502. if(get_user_flags(tempid) & ADMIN_KICK)
  503. {
  504. admin++;
  505. }
  506.  
  507. }
  508. for( new i; i<pnum; i++ )
  509. {
  510. tempid = players[i]
  511. set_hudmessage(0, 170, 255, 0.02, 0.2, 0, 1.0, 3.0);
  512. ShowSyncHudMsg(tempid, SyncHudObj, "[Pont: %d]^n[Jelenlevo Adminok: %d]",pontok[tempid],admin)
  513. }
  514. }
  515.  

Szerző:  xXlederXxHUN [ 2014.07.23. 21:46 ]
Hozzászólás témája:  Re: Elmentés.

SMA Forráskód: [ Mindet kijelol ]
  1. public plugin_end()
  2. {
  3. nvault_close(g_vault);
  4. }

Ezt tedd be SMA-ba

Szerző:  Jerikoo [ 2014.07.23. 21:52 ]
Hozzászólás témája:  Re: Elmentés.

Sziasztok!

Nem akarok hülyeséget mondani, de ez az "nvault"...
Mármint régen én is sokat szenvedtem pluginokkal, hogy ha felmegyek és például összeszedek pontokat, majd lejövök és resizem a szervert a webadminból, akkor eltűnnek a pontok, vagyis nem mentődnek...
De ha map váltás történik, akkor elmenti...

Legalábbis én így tudom, nem akarok baromságokat beszélni...

Üdvözlettel,
JeriQ

Szerző:  DeteCT0R [ 2014.07.24. 01:18 ]
Hozzászólás témája:  Re: Elmentés.

Jerikoo írta:
Sziasztok!

Nem akarok hülyeséget mondani, de ez az "nvault"...
Mármint régen én is sokat szenvedtem pluginokkal, hogy ha felmegyek és például összeszedek pontokat, majd lejövök és resizem a szervert a webadminból, akkor eltűnnek a pontok, vagyis nem mentődnek...
De ha map váltás történik, akkor elmenti...

Legalábbis én így tudom, nem akarok baromságokat beszélni...

Üdvözlettel,
JeriQ

Azis szamit hogy lepsz le mert csak disconnect eseten menti..

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