pixxa112 írta: Hali. Az miért van, hogy semelyik parancsra se csinál semmit? #include <amxmodx> #include <amxmisc> #include <fakemeta> #include <nvault> #include <zombieplague> #include <colorchat> new g_save, g_ammo[33], g_logged_in[33], g_pw[33][64] new cvar_max, cvar_track_ratio; public plugin_init() { register_plugin("[ZP] Nvault Bank with Password", "1.13", "EXaNoVA") register_event("DeathMsg","event_deathmsg","a") cvar_max = register_cvar("nvault_max_ammo_save", "10000") cvar_track_ratio = register_cvar("zp_ammo_track_ratio", ""); set_pcvar_float(cvar_track_ratio, 1.0); register_clcmd("say ", "say_hook") register_dictionary("nvault_bank.txt") g_save = nvault_open("bank_save") track_ammopacks(); } public plugin_end() { new players[32], playernum; get_players(players, playernum); for(new i=0; i < playernum; i++) { filter(players[i:1ii1hybg]); } } public zp_user_infected_post(id, infector) { filter(infector) filter(id) } public zp_extra_item_selected(id, itemid) { filter(id) } public event_deathmsg() { new killer = read_data(1) new victim = read_data(2) if (!killer && !victim) return PLUGIN_CONTINUE; filter(killer) filter(victim) return PLUGIN_CONTINUE; } public say_hook(id) { new text[100], command[64], password[32], num[30], name[50], vaultkey[64] read_args(text, 99); remove_quotes(text); command[0] = '^0'; password[0] = '^0'; parse(text, command, 63, password, 31, num, 29); get_user_name(id, name, 49) format(vaultkey, 63, "%s-/", name) if(equal(command, "/login", 6)) { new vaultdata[256], ammo[32], pw[64] nvault_get(g_save, vaultkey, vaultdata, 255) replace_all(vaultdata, 255, "#", "") parse(vaultdata, ammo, 31, pw, 63) if(g_logged_in[id] == 0) { if(!pw[0] && !pw[1] && !pw[2]) { ColorChat(id, GREEN, "[BANK] ^1Még nincs jelszavad! Hogy legyen írd a chatbe ^4/password <jelszo>") ColorChat(id, GREEN, "[BANK] ^1A ^4<jelszo> ^1helyére akármit írhatsz!") return PLUGIN_HANDLED } else if(equal(password, pw)) { g_ammo[id] = str_to_num(ammo)+zp_get_user_ammo_packs(id) g_pw[id] = pw g_logged_in[id] = 1 zp_set_user_ammo_packs(id, g_ammo[id]) ColorChat(id, GREEN, "[BANK] ^1Jelenleg ennyi lőszercsomagod van:^4 %d", g_ammo[id]) ColorChat(id, GREEN, "[BANK] ^1Sikeresen bejelentkeztél!") } else { ColorChat(id, GREEN, "[BANK] ^1Hibás jelszó!") } } else { ColorChat(id, GREEN, "[BANK] ^1Te már be vagy jelentkezve!") } return PLUGIN_HANDLED } else if(equal(command, "/jelszo", 9)) { new vaultdata[256], ammo[32], pw[64] nvault_get(g_save, vaultkey, vaultdata, 255) replace_all(vaultdata, 255, "#", "") parse(vaultdata, ammo, 31, pw, 63) g_pw[id] = password if(!pw[0] && !pw[1] && !pw[2]) { format(vaultdata, 255, "%i# %s#", g_ammo[id], g_pw[id]) nvault_set(g_save, vaultkey, vaultdata) ColorChat(id, GREEN, "[BANK] ^1Ne felejtsd el a jelszavad:^4 %s", password) ColorChat(id, GREEN, "[BANK] ^1Most lépj be, hogy mentse a lőszercsomagod! Hogy belépj írd a chatbe:^4 /login %d", password) } else if(g_logged_in[id] == 1) { if(!password[0] && !password[1] && !password[2]) { ColorChat(id, GREEN, "[BANK] ^1Nem írtál be jelszót!") } else { format(vaultdata, 255, "%i# %s#", g_ammo[id], password) nvault_set(g_save, vaultkey, vaultdata) ColorChat(id, GREEN, "[BANK] ^1Jelszavad megváltoztattad! Az új jelszavad:^4 %s", password) } } else { ColorChat(id, GREEN, "[BANK] ^1Nem vagy bejelentkezve!") } return PLUGIN_HANDLED } else if(equal(command, "/kuldes")) { new ammo = str_to_num(num) new receiver = cmd_target(id, password, 7); if(!receiver) { ColorChat(id, GREEN, "[BANK] ^1Nincs ilyen nevű játékos!") } else if(zp_get_user_ammo_packs(id) < ammo) { ColorChat(id, GREEN, "[BANK] ^1Nincs elegendő lőszercsomagod!") } else { new rec[32] get_user_name(receiver, rec, 31) zp_set_user_ammo_packs(id, zp_get_user_ammo_packs(id) - ammo) zp_set_user_ammo_packs(receiver, zp_get_user_ammo_packs(receiver) + ammo) ColorChat(id, GREEN, "[BANK] ^1Te adtál lőszercsomagot:^4 %s^1-nek!", rec) ColorChat(id, GREEN, "[BANK] ^1Te kaptál lőszercsomagot:^4 %s^1-tol!", name) } } else { return PLUGIN_CONTINUE; } return PLUGIN_HANDLED } public track_ammopacks() { static players[32], playernum, id; get_players(players, playernum); for(new i=0; i < playernum; i++) { id = players[i:1ii1hybg]; g_ammo[id] = zp_get_user_ammo_packs(id); } set_task(get_pcvar_float(cvar_track_ratio), "track_ammopacks"); } public client_disconnect(id) { filter(id) g_logged_in[id] = 0 g_ammo[id] = 0 } public client_connect(id) { g_logged_in[id] = 0 } public filter(id) { if(g_logged_in[id]) { save_ammo(id) } else return } public save_ammo(id) { new vaultkey[64], vaultdata[256], name[33]; get_user_name(id,name,32) format(vaultkey, 63, "%s-/", name) if(g_ammo[id] >= get_pcvar_num(cvar_max)) { format(vaultdata, 255, "%d# %s#", get_pcvar_num(cvar_max), g_pw[id]) ColorChat(id, GREEN, "[BANK] ^1Elérted a maximális lőszercsomagot:^4 %d", get_pcvar_num(cvar_max)) } else { format(vaultdata, 255, "%i# %s#", g_ammo[id], g_pw[id]) } nvault_set(g_save, vaultkey, vaultdata) return PLUGIN_CONTINUE; } /* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE *{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1038\\ f0\\ fs16 \n\\ par } */
Üdv! A hibát javítottam (Remélem!) TESZT NEM VOLT!The source:#include <amxmodx> #include <amxmisc> #include <fakemeta> #include <nvault> #include <zombieplague> #include <colorchat> new g_save, g_ammo[33], g_logged_in[33], g_pw[33][64] new cvar_max, cvar_track_ratio; public plugin_init() { register_plugin("[ZP] Nvault Bank with Password", "1.13", "EXaNoVA") register_event("DeathMsg","event_deathmsg","a") cvar_max = register_cvar("nvault_max_ammo_save", "10000") cvar_track_ratio = register_cvar("zp_ammo_track_ratio", ""); set_pcvar_float(cvar_track_ratio, 1.0); register_clcmd("say ", "say_hook") register_dictionary("nvault_bank.txt") g_save = nvault_open("bank_save") track_ammopacks(); } public plugin_end() { new players[32], playernum; get_players(players, playernum); for(new i=0; i < playernum; i++) { filter(players[i]); } } public zp_user_infected_post(id, infector) { filter(infector) filter(id) } public zp_extra_item_selected(id, itemid) { filter(id) } public event_deathmsg() { ew killer = read_data(1) new victim = read_data(2) if (!killer && !victim) return PLUGIN_CONTINUE; filter(killer) filter(victim) return PLUGIN_CONTINUE; } public say_hook(id) { new text[100], command[64], password[32], num[30], name[50], vaultkey[64] read_args(text, 99); remove_quotes(text); command[0] = '^0'; password[0] = '^0'; parse(text, command, 63, password, 31, num, 29); get_user_name(id, name, 49) format(vaultkey, 63, "%s-/", name) if(equal(command, "/login", 6)) { new vaultdata[256], ammo[32], pw[64] nvault_get(g_save, vaultkey, vaultdata, 255) replace_all(vaultdata, 255, "#", "") parse(vaultdata, ammo, 31, pw, 63) if(g_logged_in[id] == 0) { if(!pw[0] && !pw[1] && !pw[2]) { ColorChat(id, GREEN, "[BANK] ^1Még nincs jelszavad! Hogy legyen írd a chatbe ^4/password <jelszo>", LANG_PLAYER,"NO_PW1") ColorChat(id, GREEN, "[BANK] ^1A ^4<jelszo> ^1helyére akármit írhatsz!", LANG_PLAYER,"NO_PW2") return PLUGIN_HANDLED } else if(equal(password, pw)) { g_ammo[id] = str_to_num(ammo)+zp_get_user_ammo_packs(id) g_pw[id] = pw g_logged_in[id] = 1 zp_set_user_ammo_packs(id, g_ammo[id]) ColorChat(id, GREEN, "[BANK] ^1Jelenleg ennyi lőszercsomagod van:^4 %d",LANG_PLAYER, "YOUR_AMMO", g_ammo[id]) ColorChat(id, GREEN, "[BANK] ^1Sikeresen bejelentkeztél!", LANG_PLAYER, "LOGIN_SUCCES") } else { ColorChat(id, GREEN, "[BANK] ^1Hibás jelszó!", LANG_PLAYER, "WRONG_PW) } } else { ColorChat(id, GREEN, "[BANK] ^1Te már be vagy jelentkezve!", LANG_PLAYER, "ALREADY") } return PLUGIN_HANDLED } else if(equal(command, "/jelszo", 9)) { new vaultdata[256], ammo[32], pw[64] nvault_get(g_save, vaultkey, vaultdata, 255) replace_all(vaultdata, 255, "#", "") parse(vaultdata, ammo, 31, pw, 63) g_pw[id] = password if(!pw[0] && !pw[1] && !pw[2]) { format(vaultdata, 255, "%i# %s#", g_ammo[id], g_pw[id]) nvault_set(g_save, vaultkey, vaultdata) ColorChat(id, GREEN, "[BANK] ^1Ne felejtsd el a jelszavad:^4 %s",LANG_PLAYER, "PW_CREATED1", password) ColorChat(id, GREEN, "[BANK] ^1Most lépj be, hogy mentse a lőszercsomagod! Hogy belépj írd a chatbe:^4 /login %d",LANG_PLAYER, "PW_CREATED2", password) } else if(g_logged_in[id] == 1) { if(!password[0] && !password[1] && !password[2]) { ColorChat(id, GREEN, "[BANK] ^1Nem írtál be jelszót!", LANG_PLAYER, "PW_ERROR") } else { format(vaultdata, 255, "%i# %s#", g_ammo[id], password) nvault_set(g_save, vaultkey, vaultdata) ColorChat(id, GREEN, "[BANK] ^1Jelszavad megváltoztattad! Az új jelszavad:^4 %s", LANG_PLAYER, "PW_CHANGED", password) } } else { ColorChat(id, GREEN, "[BANK] ^1Nem vagy bejelentkezve!", LANG_PLAYER, "NOT_LOGGED") } return PLUGIN_HANDLED } else if(equal(command, "/kuldes")) { new ammo = str_to_num(num) new receiver = cmd_target(id, password, 7); if(!receiver) { ColorChat(id, GREEN, "[BANK] ^1Nincs ilyen nevű játékos!", LANG_PLAYER, "NO_PLAYER") } else if(zp_get_user_ammo_packs(id) < ammo) { ColorChat(id, GREEN, "[BANK] ^1Nincs elegendő lőszercsomagod!", LANG_PLAYER, "NO_ENOUGH") } else { new rec[32] get_user_name(receiver, rec, 31) zp_set_user_ammo_packs(id, zp_get_user_ammo_packs(id) - ammo) zp_set_user_ammo_packs(receiver, zp_get_user_ammo_packs(receiver) + ammo) ColorChat(id, GREEN, "[BANK] ^1Te adtál lőszercsomagot:^4 %s^1-nek!", LANG_PLAYER, "GAVE_AMMO", rec) ColorChat(id, GREEN, "[BANK] ^1Te kaptál lőszercsomagot:^4 %s^1-tol!", LANG_PLAYER, "BECAME_AMMO", name) } } else { return PLUGIN_CONTINUE; } return PLUGIN_HANDLED } public track_ammopacks() { static players[32], playernum, id; get_players(players, playernum); for(new i=0; i < playernum; i++) { id = players[i]; g_ammo[id] = zp_get_user_ammo_packs(id); } set_task(get_pcvar_float(cvar_track_ratio), "track_ammopacks"); } public client_disconnect(id) { filter(id) g_logged_in[id] = 0 g_ammo[id] = 0 } public client_connect(id) { g_logged_in[id] = 0 } public filter(id) { if(g_logged_in[id]) { save_ammo(id) } else return } public save_ammo(id) { new vaultkey[64], vaultdata[256], name[33]; get_user_name(id,name,32) format(vaultkey, 63, "%s-/", name) if(g_ammo[id] >= get_pcvar_num(cvar_max)) { format(vaultdata, 255, "%d# %s#", get_pcvar_num(cvar_max), g_pw[id]) ColorChat(id, GREEN, "[BANK] ^1Elérted a maximális lőszercsomagot:^4 %d", LANG_PLAYER, "REACHED", get_pcvar_num(cvar_max)) } else { format(vaultdata, 255, "%i# %s#", g_ammo[id], g_pw[id]) } nvault_set(g_save, vaultkey, vaultdata) return PLUGIN_CONTINUE; }
Remélem jól csináltam mindent!(Még kezdő vagyok a PAWN nyelvben, elnézést ha nem jó!) Üdv. Anonymous1337
_________________ Ha elnyerte valamelyik témában a hozzászólásom a tetszésedet melyet olvastál, akkor egy egyszerű gombnyomással kifejezheted, hogy tetszett.
|