Ammo packs
Posted: 2011 Jul 15 11:35
Gal turit pluginą kuris išsaugotų ammo pack pagal steamID, o jei nėra steamID pagal IP? Nes visus kuriuos randu tai tik 1/2.
Code: Select all
#include <amxmodx>#include <fakemeta>#include <zombieplague>#include <nvault> #define PLUGIN "[ZP] Can Auto Save Ammo"#define VERSION "0.1.0"#define AUTHOR "HsK" new g_save, g_ammo[33], g_ammo_can_save[33]new cvar_save_in #define MAX_SAVE 500 //can save.... public plugin_init(){ register_plugin(PLUGIN, VERSION, AUTHOR) register_event("DeathMsg","event_deathmsg","a") register_forward(FM_PlayerPreThink, "fw_PlayerPreThink") cvar_save_in = register_cvar("zp_ammo_save_in", "0") // 0 = name / 1 = ip / 2 = steam id g_save = nvault_open("g_ammo_save")} // Save Ammopublic zp_user_infected_post(id, infector){ if (g_ammo_can_save[infector]) Save_Ammo_date(infector) if (g_ammo_can_save[id]) Save_Ammo_date(id)} public zp_extra_item_selected(id, itemid){ if (g_ammo_can_save[id]) Save_Ammo_date(id)} public event_deathmsg(){ new killer = read_data(1) new victim = read_data(2) if (!killer && !victim) return PLUGIN_CONTINUE; if (g_ammo_can_save[killer]) Save_Ammo_date(killer) if (g_ammo_can_save[victim]) Save_Ammo_date(victim) return PLUGIN_CONTINUE;} public fw_PlayerPreThink(id){ if (g_ammo_can_save[id]) { new ammo_packs = zp_get_user_ammo_packs(id) g_ammo[id] = ammo_packs } return FMRES_IGNORED;} public client_disconnect(id){ if(g_ammo_can_save[id]) Save_Ammo_date(id)} public client_putinserver(id) set_task(2.0, "now_can_save", id) public now_can_save(id){ Load_Ammo_date(id) set_task(0.5, "can_save_true", id)} public can_save_true(id) g_ammo_can_save[id] = true public Save_Ammo_date(id){ new vaultkey[64], vaultdata[256] switch (get_pcvar_num(cvar_save_in)) { case 0: { new name[33]; get_user_name(id,name,32) format(vaultkey, 63, "%s-/", name) } case 1: { new player_ip[33] get_user_ip(id, player_ip, 32); format(vaultkey, 63, "%s-/", player_ip) } case 2: { new AuthID[33]; get_user_authid(id, AuthID, 32); formatex(vaultkey, 64, "%s-/", AuthID); } } format(vaultdata, 255, "%i#", g_ammo[id]) nvault_set(g_save, vaultkey, vaultdata) return PLUGIN_CONTINUE;} public Load_Ammo_date(id){ new vaultkey[64], vaultdata[256] switch (get_pcvar_num(cvar_save_in)) { case 0: { new name[33]; get_user_name(id,name,32) format(vaultkey, 63, "%s-/", name) } case 1: { new player_ip[33] get_user_ip(id, player_ip, 32); format(vaultkey, 63, "%s-/", player_ip) } case 2: { new AuthID[33]; get_user_authid(id, AuthID, 32); formatex(vaultkey, 64, "%s-/", AuthID); } } format(vaultdata, 255, "%i#", g_ammo[id]) nvault_get(g_save, vaultkey, vaultdata, 255) replace_all(vaultdata, 255, "#", " ") new playammo[32] parse(vaultdata, playammo, 31) g_ammo[id] = str_to_num(playammo) set_ammo(id) return PLUGIN_CONTINUE;} public set_ammo(id){ if (g_ammo[id] > MAX_SAVE) { zp_set_user_ammo_packs(id, MAX_SAVE) g_ammo[id] = MAX_SAVE } else zp_set_user_ammo_packs(id, g_ammo[id]) client_print(id, print_chat, "Your Ammo is : %d ", g_ammo[id])}
Code: Select all
#include <amxmodx> #include <fakemeta> #include <zombieplague> #include <nvault> #define PLUGIN "[ZP] Can Auto Save Ammo" #define VERSION "0.1.0" #define AUTHOR "HsK" new g_save, g_ammo[33], g_ammo_can_save[33] new cvar_save_in #define MAX_SAVE 500 //can save.... public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) register_event("DeathMsg","event_deathmsg","a") register_forward(FM_PlayerPreThink, "fw_PlayerPreThink") cvar_save_in = register_cvar("zp_ammo_save_in", "0") // 0 = name / 1 = ip or steam id g_save = nvault_open("g_ammo_save") } // Save Ammo public zp_user_infected_post(id, infector) { if (g_ammo_can_save[infector]) Save_Ammo_date(infector) if (g_ammo_can_save[id]) Save_Ammo_date(id) } public zp_extra_item_selected(id, itemid) { if (g_ammo_can_save[id]) Save_Ammo_date(id) } public event_deathmsg() { new killer = read_data(1) new victim = read_data(2) if (!killer && !victim) return PLUGIN_CONTINUE; if (g_ammo_can_save[killer]) Save_Ammo_date(killer) if (g_ammo_can_save[victim]) Save_Ammo_date(victim) return PLUGIN_CONTINUE; } public fw_PlayerPreThink(id) { if (g_ammo_can_save[id]) { new ammo_packs = zp_get_user_ammo_packs(id) g_ammo[id] = ammo_packs } return FMRES_IGNORED; } public client_disconnect(id) { if(g_ammo_can_save[id]) Save_Ammo_date(id) } public client_putinserver(id) set_task(2.0, "now_can_save", id) public now_can_save(id) { Load_Ammo_date(id) set_task(0.5, "can_save_true", id) } public can_save_true(id) g_ammo_can_save[id] = true public Save_Ammo_date(id) { new vaultkey[64], vaultdata[256] switch (get_pcvar_num(cvar_save_in)) { case 0: { new name[33]; get_user_name(id,name,32) format(vaultkey, 63, "%s-/", name) } case 1: { new player_ip[33]; new AuthID[33]; get_user_ip(id, player_ip, 32); get_user_authid(id, AuthID, 32); if(equal(AuthID, "VALVE_ID_LAN") || equal(AuthID, "STEAM_ID_LAN")) { format(vaultkey, 63, "%s-/", player_ip) } else { formatex(vaultkey, 64, "%s-/", AuthID); } } } format(vaultdata, 255, "%i#", g_ammo[id]) nvault_set(g_save, vaultkey, vaultdata) return PLUGIN_CONTINUE; } public Load_Ammo_date(id) { new vaultkey[64], vaultdata[256] switch (get_pcvar_num(cvar_save_in)) { case 0: { new name[33]; get_user_name(id,name,32) format(vaultkey, 63, "%s-/", name) } case 1: { new player_ip[33]; new AuthID[33]; get_user_ip(id, player_ip, 32); get_user_authid(id, AuthID, 32); if(equal(AuthID, "VALVE_ID_LAN") || equal(AuthID, "STEAM_ID_LAN")) { format(vaultkey, 63, "%s-/", player_ip) } else { formatex(vaultkey, 64, "%s-/", AuthID); } } } format(vaultdata, 255, "%i#", g_ammo[id]) nvault_get(g_save, vaultkey, vaultdata, 255) replace_all(vaultdata, 255, "#", " ") new playammo[32] parse(vaultdata, playammo, 31) g_ammo[id] = str_to_num(playammo) set_ammo(id) return PLUGIN_CONTINUE; } public set_ammo(id) { if (g_ammo[id] > MAX_SAVE) { zp_set_user_ammo_packs(id, MAX_SAVE) g_ammo[id] = MAX_SAVE } else zp_set_user_ammo_packs(id, g_ammo[id]) client_print(id, print_chat, "Your Ammo is : %d ", g_ammo[id]) }
Code: Select all
#include <amxmodx>#include <fakemeta>#include <zombieplague>#include <nvault> #define PLUGIN "[ZP] Can Auto Save Ammo"#define VERSION "0.1.0"#define AUTHOR "HsK" new g_save, g_ammo[33], g_ammo_can_save[33] #define MAX_SAVE 500 //can save.... public plugin_init(){ register_plugin(PLUGIN, VERSION, AUTHOR) register_event("DeathMsg","event_deathmsg","a") register_forward(FM_PlayerPreThink, "fw_PlayerPreThink") g_save = nvault_open("g_ammo_save")} // Save Ammopublic zp_user_infected_post(id, infector){ if (g_ammo_can_save[infector]) Save_Ammo_date(infector) if (g_ammo_can_save[id]) Save_Ammo_date(id)} public zp_extra_item_selected(id, itemid){ if (g_ammo_can_save[id]) Save_Ammo_date(id)} public event_deathmsg(){ new killer = read_data(1) new victim = read_data(2) if (!killer && !victim) return PLUGIN_CONTINUE; if (g_ammo_can_save[killer]) Save_Ammo_date(killer) if (g_ammo_can_save[victim]) Save_Ammo_date(victim) return PLUGIN_CONTINUE;} public fw_PlayerPreThink(id){ if (g_ammo_can_save[id]) { new ammo_packs = zp_get_user_ammo_packs(id) g_ammo[id] = ammo_packs } return FMRES_IGNORED;} public client_disconnect(id){ if(g_ammo_can_save[id]) Save_Ammo_date(id)} public client_putinserver(id) set_task(2.0, "now_can_save", id) public now_can_save(id){ Load_Ammo_date(id) set_task(0.5, "can_save_true", id)} public can_save_true(id) g_ammo_can_save[id] = true public Save_Ammo_date(id){ new vaultkey[64], vaultdata[256] new auth[40] get_user_authid(id, auth, charsmax(auth)) if(!equal(auth, "STEAM_0", 7)) get_user_ip(id, auth, charsmax(auth), 1) formatex(vaultkey, 63, "%s-/", auth) format(vaultdata, 255, "%i#", g_ammo[id]) nvault_set(g_save, vaultkey, vaultdata) return PLUGIN_CONTINUE;} public Load_Ammo_date(id){ new vaultkey[64], vaultdata[256] new auth[40] get_user_authid(id, auth, charsmax(auth)) if(!equal(auth, "STEAM_0", 7)) get_user_ip(id, auth, charsmax(auth), 1) formatex(vaultkey, 63, "%s-/", auth) format(vaultdata, 255, "%i#", g_ammo[id]) nvault_get(g_save, vaultkey, vaultdata, 255) replace_all(vaultdata, 255, "#", "") new playammo[32] parse(vaultdata, playammo, 31) g_ammo[id] = str_to_num(playammo) set_ammo(id) return PLUGIN_CONTINUE;} public set_ammo(id){ if (g_ammo[id] > MAX_SAVE) { zp_set_user_ammo_packs(id, MAX_SAVE) g_ammo[id] = MAX_SAVE } else zp_set_user_ammo_packs(id, g_ammo[id]) client_print(id, print_chat, "Your Ammo is : %d ", g_ammo[id])}