Правила форума Гаранты форума
Размещение рекламы AMX-X компилятор

Здравствуйте, гость Вход | Регистрация

Наши новости:

14-дек
24-апр
10-апр
11-апр

zp_ammo_save

Статус пользователя CH0CAPIC
сообщение 26.7.2014, 22:59
Сообщение #1


Стаж: 12 лет

Сообщений: 388
Благодарностей: 19
Полезность: < 0

ребята есть такая проблема с плагином zp auto save ammo, помогите.

Код
  [0] zp_save.sma::zp_user_infected_post (line 32)
  Displaying debug trace (plugin "zp_save.amxx")
  Run time error 4: index out of bounds


Код:

#include <amxmodx>
#include <fakemeta>
#include <zombieplague>
#include <nvault>
#include <colorchat>

#define PLUGIN "[ZP] Can Auto Save Ammo"
#define VERSION "0.1.0"
#define AUTHOR "ZombArena"

new g_save, g_ammo[33], g_ammo_can_save[33]
new cvar_save_in

#define MAX_SAVE 2000 //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", "1") // 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)
{
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, "[Ammo] You Have %d Ammo [Maximum Save Ammo: 2000]", g_ammo[id])
}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя default1k
сообщение 26.7.2014, 23:13
Сообщение #2
Стаж: 12 лет

Сообщений: 718
Благодарностей: 180
Полезность: 153

Если нужно, завтра скину другую версию
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя CH0CAPIC
сообщение 26.7.2014, 23:16
Сообщение #3


Стаж: 12 лет

Сообщений: 388
Благодарностей: 19
Полезность: < 0

если я установлю другую версию те что уже сохранены они же потеряются?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Redir
сообщение 27.7.2014, 15:10
Сообщение #4
Стаж: 12 лет

Сообщений: 567
Благодарностей: 138
Полезность: 119

Цитата(CH0CAPIC @ 27.7.2014, 1:16) *
если я установлю другую версию те что уже сохранены они же потеряются?

Тут ошибок нету.
Код:
#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 5000 //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 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)
{
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, "У вас на счету: %d ammo ", g_ammo[id])
}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
  Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: