Sziasztok!
Van a regisztrálós bank abban 2 dolgot szeretnék.
1. Egy jatekosok.ini nevű fáljba mentse a regisztrációkat.
2.A bankban legyen egy /bank help parancs amire előhoz egy motd ablakot amiben a regisztráció és a belépés lesz leírva.
Kód:
- #include <amxmodx> 
- #include <amxmisc> 
- #include <fakemeta> 
- #include <nvault> 
- #include <zombieplague> 
-   
- 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", "2000") 
-         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() 
- { 
-         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]) 
-                         { 
-                                 client_print(id, print_chat, "%L", LANG_PLAYER, "NO_PW1") 
-                                 client_print(id, print_chat, "%L", 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]) 
-                                 client_print(id, print_chat, "%L",LANG_PLAYER, "YOUR_AMMO",  g_ammo[id]) 
-                                 client_print(id, print_chat, "%L", LANG_PLAYER, "LOGIN_SUCCES") 
-                         } 
-                         else 
-                         { 
-                                 client_print(id, print_chat, "%L", LANG_PLAYER, "WRONG_PW") 
-                         } 
-                 } 
-                 else 
-                 { 
-                         client_print(id, print_chat, "%L", LANG_PLAYER, "ALREADY") 
-                 } 
-                 return PLUGIN_HANDLED 
-         } 
-         else if(equal(command, "/password", 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) 
-                         client_print(id, print_chat, "%L",LANG_PLAYER, "PW_CREATED1", password) 
-                         client_print(id, print_chat, "%L",LANG_PLAYER, "PW_CREATED2", password) 
-                 } 
-                 else if(g_logged_in[id] == 1) 
-                 { 
-                         if(!password[0] && !password[1] && !password[2]) 
-                         { 
-                                 client_print(id, print_chat, "%L", LANG_PLAYER, "PW_ERROR") 
-                         } 
-                         else 
-                         { 
-                                 format(vaultdata, 255, "%i# %s#", g_ammo[id], password) 
-                                 nvault_set(g_save, vaultkey, vaultdata) 
-                                 client_print(id, print_chat, "%L", LANG_PLAYER, "PW_CHANGED", password) 
-                         } 
-                 } 
-                 else 
-                 { 
-                         client_print(id, print_chat, "%L", LANG_PLAYER, "NOT_LOGGED") 
-                 } 
-                 return PLUGIN_HANDLED 
-         } 
-         else if(equal(command, "/send")) 
-         { 
-                 new ammo = str_to_num(num) 
-                 new receiver = cmd_target(id, password, 7); 
-                 if(!receiver) 
-                 { 
-                         client_print(id, print_chat, "%L", LANG_PLAYER, "NO_PLAYER") 
-                 } 
-                 else if(zp_get_user_ammo_packs(id) < ammo) 
-                 { 
-                         client_print(id, print_chat, "%L", 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) 
-                         client_print(id, print_chat, "%L", LANG_PLAYER, "GAVE_AMMO", rec) 
-                         client_print(receiver, print_chat, "%L", 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]) 
-                 client_print(id, print_chat, "%L", 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; 
- } 
-