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

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

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

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

Косяк в плагине "bonus" а где не понятно...

Статус пользователя Senjkee
сообщение 9.5.2011, 3:03
Сообщение #1


Стаж: 16 лет

Сообщений: 187
Благодарностей: 17
Полезность: 7

Приветствую и прошу прощения за беспокойство :)
Нужна мелкая помощь:

Прикол в том что плагин и выдает и сохраняет отлично бонусы! Но спустя время заходит любой игрок и бонусы обнуляются sad.gif В чем проблема ?*
Зарание спасибо...

Исходник


#include <amxmodx>
#include <hamsandwich>
#include <fakemeta>
#include <nvault>

new bonus[33]
new bonus_head, bonus_other, Savebonus, g_vault

#define ID_SHOWHUD (taskid - TASK_SHOWHUD)
#define m_LastHitGroup 75
#define EXTRAOFFSET 5

enum (+= 100)
{
TASK_SHOWHUD
}

public plugin_init()
{
register_plugin("Bonus", "0.000002", "SGamer")
RegisterHam(Ham_Killed, "player", "Player_Killed")
Savebonus = register_cvar("Savebonus","1")
bonus_head = register_cvar("amx_bonus_bonus_in_head", "3")
bonus_other = register_cvar("amx_bonus_bonus", "1")
g_vault = nvault_open("bonus")
}

public plugin_natives()
{
register_native("get_user_bonus", "native_get_user_bonus", 1)
register_native("set_user_bonus", "native_set_user_bonus", 1)
}

public Player_Killed(victim, attacker, mda)
{
if(is_user_connected(attacker))
{
if(get_pdata_int(victim, m_LastHitGroup, EXTRAOFFSET) == HIT_HEAD)
bonus[attacker] += get_pcvar_num(bonus_head)
else
bonus[attacker] += get_pcvar_num(bonus_other)
}
}

public client_putinserver(id)
{
if(!is_user_bot(id))
{
set_task(0.4, "ShowHUD", id+TASK_SHOWHUD, _, _, "b")
}
}

public ShowHUD(taskid)
{
static red, green, blue

//id = ID_SHOWHUD
red = random_num(1, 255)
green = random_num(1, 255)
blue = random_num(1, 255)

if(is_user_alive(ID_SHOWHUD))
{
set_hudmessage(red, green, blue, 0.02, 0.5, 0, 6.0, 1.1, 0.0, 0.0)
show_hudmessage(ID_SHOWHUD, "[Бонусов: %d]", bonus[ID_SHOWHUD])
}
}

public native_get_user_bonus(id)
{
return bonus[id]
}

public native_set_user_bonus(id, amount)
{
bonus[id] = amount
}

public client_connect(id)
{
if(get_pcvar_num(Savebonus) == 1)
{
LoadData(id)
}
}

public client_disconnect(id)
{
if(get_pcvar_num(Savebonus) == 1)
remove_task(id+TASK_SHOWHUD)
{

SaveData(id)
}
bonus[id] = 0

}
public SaveData(id)
{
new AuthID[35]
get_user_authid(id,AuthID,34)

new vaultkey[64],vaultdata[256]
format(vaultkey,63,"%s-Mod", AuthID)
format(vaultdata,255,"%i#", bonus[id])
nvault_set(g_vault,vaultkey,vaultdata)
return PLUGIN_CONTINUE
}
public LoadData(id)
{
new AuthID[35]
get_user_authid(id,AuthID,34)

new vaultkey[64],vaultdata[256]
format(vaultkey,63,"%s-Mod", AuthID)
format(vaultdata,255,"%i#", bonus[id])
nvault_get(g_vault,vaultkey,vaultdata,255)

replace_all(vaultdata, 255, "#", " ")

parse(vaultdata, bonus, 31)

bonus[id] = str_to_num(bonus)

return PLUGIN_CONTINUE
}

Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя Senjkee
сообщение 9.5.2011, 19:30
Сообщение #2


Стаж: 16 лет

Сообщений: 187
Благодарностей: 17
Полезность: 7

upxD
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя ProxXx
сообщение 9.5.2011, 19:55
Сообщение #3


Стаж: 19 лет

Сообщений: 72
Благодарностей: 41
Полезность: 438

Код
public LoadData(id)
{
new AuthID[35], b[32]
get_user_authid(id,AuthID,34)

new vaultkey[64],vaultdata[256]
format(vaultkey,63,"%s-Mod", AuthID)
format(vaultdata,255,"%i#", bonus[id])
nvault_get(g_vault,vaultkey,vaultdata,255)

replace_all(vaultdata, 255, "#", " ")

parse(vaultdata, b, 31)

bonus[id] = str_to_num(b)

return PLUGIN_CONTINUE
}

Попробуй.

Отредактировал: ProxXx, - 9.5.2011, 19:58
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя Senjkee
сообщение 11.5.2011, 18:09
Сообщение #4


Стаж: 16 лет

Сообщений: 187
Благодарностей: 17
Полезность: 7

Цитата(ProxXx @ 9.5.2011, 19:55) *
Попробуй.


Отлично, супер, класс!!! Золотые руки... Так чет я и не понял в чем там косяк был?!



ProxXx - а где инфу почитать ?! Я хотел сделать так что-бы выполнялась функция при достижении числа и как-бы сохранялась до следующего значения... Но кроме констант как в DDshop sad.gif Но там меню покупка и т.д!
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
  Тема закрытаНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: