Skocz do zawartości

Witamy w Nieoficjalnym polskim support'cie AMX Mod X

Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

M0nk3y - zdjęcie

M0nk3y

Rejestracja: 03.07.2011
Aktualnie: Nieaktywny
Poza forum Ostatnio: 16.10.2011 13:17
-----

Moje tematy

Zapis ammo pack

16.10.2011 13:15

Witam chciał bym prosić was o przerobienie pluginu zapisu ammo paków z nvalut na sql a oto pluign:

#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
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 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]
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)
{
zp_set_user_ammo_packs(id, g_ammo[id])
client_print(id, print_chat, "Your Ammo is : %d ", g_ammo[id])
}