Offline |
|
Csatlakozott: 2014.10.30. 10:18 Hozzászólások: 468
Megköszönt másnak: 235 alkalommal Megköszönték neki: 34 alkalommal
|
imsocrazy írta: Sziasztok. Lenne egy menü aminek minden funkciója jól működik kivéve a mentés,map resi után minden eltűnik próbáltam már a mentésen javítani de valahogy mindig valami rossz volt benne (pl: volt mikor javítani próbáltam és csak az aranyat mentette többit nem). Valakinek a segítségét kérném a mentés javításában. Előre is köszönöm #include <amxmodx> #include <amxmisc> #include <nvault> #include <fakemeta> #include <cstrike> #include <colorchat> #define PLUGIN "Kesmenu" #define VERSION "1.0" #define AUTHOR "DeRoiD" new szint[33] new oles[33] new kesek[33] new vault new arany[33] new pont[33] new message[192] new nev[32] new Temp[192] static color[10] #define TULAJ ADMIN_IMMUNITY #define VIP ADMIN_LEVEL_H #define FOADMIN ADMIN_LEVEL_B #define ADMIN ADMIN_LEVEL_C new const szamok[49] = { 3, 5, 8, 10, 15, 20, 25, 30, 40, 50, 75, 100, 125, 150, 200, 250, 300, 350, 400, 500, 600, 700, 800, 1000, 1200, 1500, 1750, 2000, 2300, 2500, 2900, 3000, 3350, 3500, 3900, 4000, 4300, 4500, 5000, 5500, 6000, 6500, 7000, 7300, 7500, 7900, 8000, 8500, 10000 } new const rangok[49+1] = { 1, 2, 3, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50 } public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) register_clcmd("say /kes", "kesmenu") register_clcmd("say /menu", "kesmenu") register_clcmd("nightvision", "kesmenu") register_clcmd("say","handlesay") register_clcmd("say_team","handlesay") vault = nvault_open("Knife_mentes") register_event("CurWeapon", "Event_Change_Weapon", "be", "1=1") register_event("DeathMsg","death","a") } public plugin_precache() { precache_model("models/v_razer_alap_kes.mdl") precache_model("models/razer_unlock_ks/v_razer_un_kes2.mdl") precache_model("models/razer_unlock_ks/v_razer_un_kes3.mdl") precache_model("models/razer_unlock_ks/v_razer_un_kes4.mdl") precache_model("models/razer_unlock_ks/v_razer_un_kes5.mdl") precache_model("models/razer_unlock_ks/v_razer_un_kes6.mdl") precache_model("models/razer_unlock_ks/v_razer_un_kes7.mdl") precache_model("models/razer_unlock_ks/v_razer_un_kes8.mdl") } public death() { new killer = read_data(1) new victim = read_data(2) if(killer != victim) { pont[killer] += 3 arany[killer] += 2 oles[killer] += 1 while(oles[killer] >= szamok[szint[killer]]) { szint[killer]++ } } } public kesmenu(id) { new cim[121] formatex(cim, charsmax(cim), "\r.:[R\w4Z3\yR]:. \wPaintball \y-\r FoMenü^n\wÖlések:\r %d \y| Pont:\r %d \y| \wArany:\r %d", pont[id], oles[id], arany[id]) new menu = menu_create(cim, "kesmenu_hl") menu_additem(menu,"Kések","1",0) menu_additem(menu,"Arany Vásárlás","2",0) menu_setprop(menu, MPROP_EXITNAME, "Bezárás") menu_display(id,menu,0) } public kesmenu_hl(id, menu, item) { if( item == MENU_EXIT ) { menu_destroy(menu); return PLUGIN_HANDLED; } new data[9], szName[64]; new access, callback; menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback); new key = str_to_num(data); switch(key) { case 1: kes(id) case 2: shop(id) } menu_destroy(menu); return PLUGIN_HANDLED; } public shop(id){ new cim[121] formatex(cim, charsmax(cim), "\r.:[R\w4Z3\yR]:. \wPaintball \y-\r Arany Vásárlás^n\wPont:\r %d \y| \wArany:\r %d", pont[id], arany[id]) new menu = menu_create(cim, "b_b" ) menu_additem(menu,"\w10 Arany \r[\w20 \dPont\r]","1",0) menu_additem(menu,"\w20 Arany \r[\w40 \dPont\r]","2",0) menu_additem(menu,"\w40 Arany \r[\w80 \dPont\r]","3",0) menu_additem(menu,"\w60 Arany \r[\w120 \dPont\r]","4",0) menu_display(id,menu,0) } public b_b(id, menu, item) { if( item == MENU_EXIT ) { menu_destroy(menu); return PLUGIN_HANDLED; } new data[9], szName[64]; new access, callback; menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback); new key = str_to_num(data); switch(key) { case 1: { if(pont[id] >= 20) { ColorChat(id, RED, "^x04.:[R4Z3R]:. ^x03- ^x01Sikeresen vásároltál ^3+10 ^1Aranyat.") shop(id) arany[id] += 10 pont[id] -= 20 } else ColorChat(id, RED, "^x04.:[R4Z3R]:. ^x03- ^x01Nincs elég ^3Pontod^1 a vásárláshoz.") shop(id) } case 2: { if(pont[id] >= 40) { ColorChat(id, RED, "^x04.:[R4Z3R]:. ^x03- ^x01Sikeresen vásároltál ^3+20 ^1Aranyat.") shop(id) arany[id] += 20 pont[id] -= 40 } else ColorChat(id, RED, "^x04.:[R4Z3R]:. ^x03- ^x01Nincs elég ^3Pontod^1 a vásárláshoz.") shop(id) } case 3: { if(pont[id] >= 80) { ColorChat(id, RED, "^x04.:[R4Z3R]:. ^x03- ^x01Sikeresen vásároltál ^3+40 ^1Aranyat.") shop(id) arany[id] += 40 pont[id] -= 80 } else ColorChat(id, RED, "^x04.:[R4Z3R]:. ^x03- ^x01Nincs elég ^3Pontod^1 a vásárláshoz.") shop(id) } case 4: { if(pont[id] >= 120) { ColorChat(id, RED, "^x04.:[R4Z3R]:. ^x03- ^x01Sikeresen vásároltál ^3+60 ^1Aranyat.") shop(id) arany[id] += 60 pont[id] -= 120 } else ColorChat(id, RED, "^x04.:[R4Z3R]:. ^x03- ^x01Nincs elég ^3Pontod^1 a vásárláshoz.") shop(id) } } return PLUGIN_HANDLED; } public kes(id){ new cim[121], ks1[121],ks2[121],ks3[121],ks4[121],ks5[121],ks6[121],ks7[121],ks8[121] format(cim, charsmax(cim),"\r.:[R\w4Z3\yR]:. \r- \wKések^n\wÖlések: \r%d",oles[id]) format(ks1, charsmax(ks1),"\r.:[R\w4Z3\yR]:. \wkés 1\y [Megszerezve]") if(oles[id] < 100) format(ks2, charsmax(ks2),"\d.:[R4Z3R]:. kés 2 \r[%d/100 Ölés]",oles[id]) else format(ks2, charsmax(ks2),"\r.:[R\w4Z3\yR]:. \wkés 2\y [Megszerezve]") if(oles[id] < 250) format(ks3, charsmax(ks3),"\d.:[R4Z3R]:. kés 3 \r[%d/250 Ölés]",oles[id]) else format(ks3, charsmax(ks3),"\r.:[R\w4Z3\yR]:. \wkés 3\y [Megszerezve]") if(oles[id] < 500) format(ks4, charsmax(ks4),"\d.:[R4Z3R]:. kés 4 \r[%d/500 Ölés]",oles[id]) else format(ks4, charsmax(ks4),"\r.:[R\w4Z3\yR]:. \wkés 4\y [Megszerezve]") if(oles[id] < 1000) format(ks5, charsmax(ks5),"\d.:[R4Z3R]:. kés 5 \r[%d/1000 Ölés]",oles[id]) else format(ks5, charsmax(ks5),"\r.:[R\w4Z3\yR]:. \wkés 5\y [Megszerezve]") if(oles[id] < 2000) format(ks6, charsmax(ks6),"\d.:[R4Z3R]:. kés 6 \r[%d/2000 Ölés]",oles[id]) else format(ks6, charsmax(ks6),"\r.:[R\w4Z3\yR]:. \wkés 6\y [Megszerezve]") if(oles[id] < 3000) format(ks7, charsmax(ks7),"\d.:[R4Z3R]:. kés 7 \r[%d/3000 Ölés]",oles[id]) else format(ks7, charsmax(ks7),"\r.:[R\w4Z3\yR]:. \wkés 7\y [Megszerezve]") if(oles[id] < 5000) format(ks8, charsmax(ks8),"\d.:[R4Z3R]:. kés 8 \r[%d/5000 Ölés]",oles[id]) else format(ks8, charsmax(ks8),"\r.:[R\w4Z3\yR]:. \wkés 8\y [Megszerezve]") new menu = menu_create(cim, "kes_hl") menu_additem(menu,ks1,"1",0) menu_additem(menu,ks2,"2",0) menu_additem(menu,ks3,"3",0) menu_additem(menu,ks4,"4",0) menu_additem(menu,ks5,"5",0) menu_additem(menu,ks6,"6",0) menu_additem(menu,ks7,"7",0) menu_additem(menu,ks8,"8",0) menu_setprop(menu, MPROP_NEXTNAME, "Tovább: \r8\y-as gomb!") menu_setprop(menu, MPROP_EXITNAME, "Bezárás") menu_setprop(menu, MPROP_BACKNAME, "Elozo oldal: \r7\y-es gomb!") menu_setprop(menu, MPROP_PERPAGE, 6); menu_display(id,menu,0) } public kes_hl(id, menu, item) { if( item == MENU_EXIT ) { menu_destroy(menu); return PLUGIN_HANDLED; } new data[9], szName[64]; new access, callback; menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback); new key = str_to_num(data); switch(key) { case 1:{ if(oles[id] >= 0){ kesek[id] = 0 engclient_cmd(id,"weapon_knife") ColorChat(id, RED, "^x04.:[R4Z3R]:. ^x03- ^x01Sikeres választás.") } else { ColorChat(id, RED, "^x04.:[R4Z3R]:. ^x03- ^x01Hiányzik még ^3%d ^1ölés!",0-oles[id]) } } case 2:{ if(oles[id] >= 100){ kesek[id] = 1 engclient_cmd(id,"weapon_knife") ColorChat(id, RED, "^x04.:[R4Z3R]:. ^x03- ^x01Sikeres választás.") } else { ColorChat(id, RED, "^x04.:[R4Z3R]:. ^x03- ^x01Hiányzik még ^3%d ^1ölés!",100-oles[id]) } } case 3:{ if(oles[id] >= 250){ kesek[id] = 2 engclient_cmd(id,"weapon_knife") ColorChat(id, RED, "^x04.:[R4Z3R]:. ^x03- ^x01Sikeres választás.") } else { ColorChat(id, RED, "^x04.:[R4Z3R]:. ^x03- ^x01Hiányzik még ^3%d ^1ölés!",250-oles[id]) } } case 4:{ if(oles[id] >= 500){ kesek[id] = 3 engclient_cmd(id,"weapon_knife") ColorChat(id, RED, "^x04.:[R4Z3R]:. ^x03- ^x01Sikeres választás.") } else { ColorChat(id, RED, "^x04.:[R4Z3R]:. ^x03- ^x01Hiányzik még ^3%d ^1ölés!",500-oles[id]) } } case 5:{ if(oles[id] >= 1000){ kesek[id] = 4 engclient_cmd(id,"weapon_knife") ColorChat(id, RED, "^x04.:[R4Z3R]:. ^x03- ^x01Sikeres választás.") } else { ColorChat(id, RED, "^x04.:[R4Z3R]:. ^x03- ^x01Hiányzik még ^3%d ^1ölés!",1000-oles[id]) } } case 6:{ if(oles[id] >= 2000){ kesek[id] = 5 engclient_cmd(id,"weapon_knife") ColorChat(id, RED, "^x04.:[R4Z3R]:. ^x03- ^x01Sikeres választás.") } else { ColorChat(id, RED, "^x04.:[R4Z3R]:. ^x03- ^x01Hiányzik még ^3%d ^1ölés!",2000-oles[id]) } } case 7:{ if(oles[id] >= 3000){ kesek[id] = 6 engclient_cmd(id,"weapon_knife") ColorChat(id, RED, "^x04.:[R4Z3R]:. ^x03- ^x01Sikeres választás.") } else { ColorChat(id, RED, "^x04.:[R4Z3R]:. ^x03- ^x01Hiányzik még ^3%d ^1ölés!",3000-oles[id]) } } case 8:{ if(oles[id] >= 5000){ kesek[id] = 7 engclient_cmd(id,"weapon_knife") ColorChat(id, RED, "^x04.:[R4Z3R]:. ^x03- ^x01Sikeres választás.") } else { ColorChat(id, RED, "^x04.:[R4Z3R]:. ^x03- ^x01Hiányzik még ^3%d ^1ölés!",5000-oles[id]) } } } menu_destroy(menu); return PLUGIN_HANDLED; } public handlesay(id) { read_args (message, 191) remove_quotes (message) if (message[0] == '@' || message[0] == '/' || message[0] == '!' || equal (message, "")) { return PLUGIN_CONTINUE } get_user_name(id, nev, 31) if(is_user_alive(id)) { get_user_team(id, color, 9) if(get_user_flags(id) & TULAJ) formatex(Temp, 191, "^x04[TULAJ][Szint:^3 %i^4] ^1» ^x03%s ^x04:^x04 %s", rangok[szint[id]], nev, message) else if(get_user_flags(id) & VIP) formatex(Temp, 191, "^x04[V.I.P][Szint:^3 %i^4] ^1» ^x03%s ^x04:^x04 %s", rangok[szint[id]], nev, message) else if(get_user_flags(id) & FOADMIN) formatex(Temp, 191, "^x04[FOADMIN][Szint:^3 %i^4] ^1» ^x03%s ^x04:^x04 %s",rangok[szint[id]], nev, message) else if(get_user_flags(id) & ADMIN) formatex(Temp, 191, "^x04[ADMIN][Szint:^3 %i^4] ^1» ^x03%s ^x04:^x04 %s", rangok[szint[id]], nev, message) else formatex(Temp, 191, "^x04[Szint:^3 %i^4] ^1» ^x03%s ^x04:^x01 %s", rangok[szint[id]], nev, message) } else { get_user_team(id, color, 9) if(get_user_flags(id) & TULAJ) formatex(Temp, 191, "^x04[TULAJ][Szint:^3 %i^4] ^1» ^x03%s ^x04:^x04 %s", rangok[szint[id]], nev, message) else if(get_user_flags(id) & VIP) formatex(Temp, 191, "^x04[V.I.P][Szint:^3 %i^4] ^1» ^x03%s ^x04:^x04 %s", rangok[szint[id]], nev, message) else if(get_user_flags(id) & FOADMIN) formatex(Temp, 191, "^x04[FOADMIN][Szint:^3 %i^4] ^1» ^x03%s ^x04:^x04 %s", rangok[szint[id]], nev, message) else if(get_user_flags(id) & ADMIN) formatex(Temp, 191, "^x04[ADMIN][Szint:^3 %i^4] ^1» ^x03%s ^x04:^x04 %s", rangok[szint[id]], nev, message) else formatex(Temp, 191, "^x04[Szint:^3 %i^4] ^1» ^x03%s ^x04:^x01 %s", rangok[szint[id]], nev, message) } sendmessage(color) return PLUGIN_HANDLED } public sendmessage(color[]) { new teamName[10] for(new player = 1; player < get_maxplayers(); player++) { get_user_team (player, teamName, 9) teamf (player, color) elkuldes(player, Temp) teamf(player, teamName) } } public teamf(player, team[]) { message_begin(MSG_ONE, get_user_msgid("TeamInfo"), _, player) write_byte(player) write_string(team) message_end() } public elkuldes(player, Temp[]) { message_begin( MSG_ONE, get_user_msgid( "SayText" ), _, player) write_byte( player ) write_string( Temp ) message_end() } public mentes(id) { new vaultkey[64],vaultdata[256], name[32] get_user_name(id, name, 31) format(vaultkey,63,"%s-KESEK", name) format(vaultdata,255,"%d %d %d", oles[id],arany[id], pont[id]) nvault_set(vault,vaultkey,vaultdata) return PLUGIN_CONTINUE } public betoltes(id) { new vaultkey[64],vaultdata[256], name[32] get_user_name(id, name, 31) format(vaultkey,63,"%s-KESEK", name) new pon[256], ara[256] nvault_get(vault,vaultkey,vaultdata,255,pon,255,ara,255) oles[id] = str_to_num(vaultdata) arany[id] = str_to_num(ara) pont[id] = str_to_num(pon) return PLUGIN_CONTINUE; } public Event_Change_Weapon(id) { new fgy = get_user_weapon(id) if(kesek[id] == 0 && fgy == CSW_KNIFE) { set_pev(id, pev_viewmodel2, "models/v_razer_alap_kes.mdl") } if(kesek[id] == 1 && fgy == CSW_KNIFE) { set_pev(id, pev_viewmodel2, "models/razer_unlock_ks/v_razer_un_kes2.mdl") } if(kesek[id] == 2 && fgy == CSW_KNIFE) { set_pev(id, pev_viewmodel2, "models/razer_unlock_ks/v_razer_un_kes3.mdl") } if(kesek[id] == 3 && fgy == CSW_KNIFE) { set_pev(id, pev_viewmodel2, "models/razer_unlock_ks/v_razer_un_kes4.mdl") } if(kesek[id] == 4 && fgy == CSW_KNIFE) { set_pev(id, pev_viewmodel2, "models/razer_unlock_ks/v_razer_un_kes5.mdl") } if(kesek[id] == 5 && fgy == CSW_KNIFE) { set_pev(id, pev_viewmodel2, "models/razer_unlock_ks/v_razer_un_kes6.mdl") } if(kesek[id] == 6 && fgy == CSW_KNIFE) { set_pev(id, pev_viewmodel2, "models/razer_unlock_ks/v_razer_un_kes7.mdl") } if(kesek[id] == 7 && fgy == CSW_KNIFE) { set_pev(id, pev_viewmodel2, "models/razer_unlock_ks/v_razer_un_kes8.mdl") } } public client_connect(id) { betoltes(id) } public client_disconnect(id) { mentes(id) } stock print_color(const id, const input[], any:...) { new count = 1, players[32] static msg[191] vformat(msg, 190, input, 3) replace_all(msg, 190, "!g", "^4") replace_all(msg, 190, "!y", "^1") replace_all(msg, 190, "!t", "^3") if (id) players[0] = id; else get_players(players, count, "ch") { for (new i = 0; i < count; i++) { if (is_user_connected(players[i])) { message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i]) write_byte(players[i]) write_string(msg) message_end() } } return PLUGIN_HANDLED }
Hali! Nézz körbe a fórumon, van jó pár nvault mentés. De itt az enyém is. Én steam id-re mentem! A jel változóval ne foglalkozz Annyi a kérdés h az oles[id] változót h töltöd be? public mentes(id) { if(vault == INVALID_HANDLE) set_fail_state("nValut returned invalid handle"); new AuthId[33]; get_user_authid(id, AuthId, charsmax(AuthId)); szamol_szint(id); new vaultkey[64],vaultdata[256]; new jel[33] = -1; format(vaultkey,63,"%s", AuthId); format(vaultdata,255,"%i#%i#%i#%i#%i#%i#%i#%i#%i#%i#",jel,m4a1_sz[id],ak47_sz[id],awp_sz[id],deagle_sz[id],kes_oles[id],kes_sz[id],o_oles[id],szint[id],mp5_sz[id]); nvault_set(vault,vaultkey,vaultdata); return PLUGIN_CONTINUE; }
public betoltes(id) { if(vault == INVALID_HANDLE) set_fail_state("nValut returned invalid handle"); new AuthId[33], jel[33]; get_user_authid(id, AuthId, charsmax(AuthId)); new vaultkey[64],vaultdata[256]; format(vaultkey,63,"%s", AuthId); format(vaultdata,255,"%i#",jel); nvault_get(vault,vaultkey,vaultdata,255); replace_all(vaultdata, 255, "#", " "); new j_o[32]; parse(vaultdata, j_o, 31); jel[32] = str_to_num(j_o); if(jel[32] == -1){ format(vaultdata,255,"%i#%i#%i#%i#%i#%i#%i#%i#%i#%i#",jel[32],m4a1_sz[id],ak47_sz[id],awp_sz[id],deagle_sz[id],kes_oles[id],kes_sz[id],o_oles[id],szint[id],mp5_sz[id]); nvault_get(vault,vaultkey,vaultdata,255); replace_all(vaultdata, 255, "#", " "); new j_o[32], m_s[32], a_s[32], aw_s[32], d_s[32], k_o[32], k_s[32], o_o[32], r_sz[32], mp_sz[32]; parse(vaultdata, j_o, 31,m_s, 31, a_s, 31, aw_s, 31, d_s, 31, k_o, 31, k_s, 31, o_o, 31, r_sz, 31, mp_sz, 31); jel[32] = str_to_num(j_o) m4a1_sz[id] = str_to_num(m_s) ak47_sz[id] = str_to_num(a_s) awp_sz[id] = str_to_num(aw_s) deagle_sz[id] = str_to_num(d_s) kes_oles[id] = str_to_num(k_o) kes_sz[id] = str_to_num(k_s) o_oles[id] = str_to_num(o_o) szint[id] = str_to_num(r_sz) mp5_sz[id] = str_to_num(mp_sz) }else{ format(vaultdata,255,"%i#%i#%i#%i#%i#%i#%i#%i#%i#%i#%i#%i#%i#",m4a1_oles[id],m4a1_sz[id],ak47_oles[id],ak47_sz[id],awp_oles[id],awp_sz[id],deagle_oles[id],deagle_sz[id],kes_oles[id],kes_sz[id],o_oles[id],szint[id],mp5_sz[id]); nvault_get(vault,vaultkey,vaultdata,255); replace_all(vaultdata, 255, "#", " "); new m_o[32], m_s[32], a_o[32], a_s[32], aw_o[32], aw_s[32], d_o[32], d_s[32], k_o[32], k_s[32], o_o[32], r_sz[32], mp_sz[32]; parse(vaultdata, m_o, 31, m_s, 31, a_o, 31, a_s, 31, aw_o, 31, aw_s, 31, d_o, 31, d_s, 31, k_o, 31, k_s, 31, o_o, 31, r_sz, 31, mp_sz, 31); m4a1_oles[id] = str_to_num(m_o) m4a1_sz[id] = str_to_num(m_s) ak47_oles[id] = str_to_num(a_o) ak47_sz[id] = str_to_num(a_s) awp_oles[id] = str_to_num(aw_o) awp_sz[id] = str_to_num(aw_s) deagle_oles[id] = str_to_num(d_o) deagle_sz[id] = str_to_num(d_s) kes_oles[id] = str_to_num(k_o) kes_sz[id] = str_to_num(k_s) o_oles[id] = str_to_num(o_o) szint[id] = str_to_num(r_sz) mp5_sz[id] = str_to_num(mp_sz) } return PLUGIN_CONTINUE; }
|
|