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

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

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

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

> Правила форума

Этот раздел, как вы могли заметить по названию, предназначен для решения вопросов по поводу уже существующих модов и плагинов.
Пожалуйста, если у вас проблема с написанием плагина, не путайте этот раздел с разделом по скриптингу.
Для поиска плагинов и модов существует соответствующий раздел.

Название темы должно соответствовать содержанию. Темы с названием типа "Помогите", "Вопрос", "парни подскажите..." - будут удалены.
Все темы, не относящиеся к "Вопросам по модам и плагинам", будут удалены или перемещены в соответствующий раздел.

Правила оформления темы:
1. Помимо заголовка не забудьте верно сформулировать свой вопрос.
2. Выложите исходник (в тег кода + ) или ссылку на плагин который вызывает у вас вопросы.
3. Выложите лог с ошибками (если имеется) под спойлер

Проблема с начальной выдачей паков и плагином save ammo.

, ZP 4.3
Статус пользователя xoymiii
сообщение 2.8.2013, 18:24
Сообщение #1


Стаж: 13 лет

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

Всем привет! Проблема вот в чём. Начальная выдача паков новым игрокам = 500. когда плагин save ammo включен, то паков становится 0, при подключении нового игрока. Когда плагин выключен то выдаётся 500 паков. Поправьте пожалуйста исходник если кто знает в чём проблема. Сам плагин работает хорошо.
Код
#include <amxmodx>
#include <fakemeta>
#include <zombieplague>
#include <nvault>

#define PLUGIN    ""
#define VERSION    ""
#define AUTHOR    ""

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

#define MAX_SAVE 10000

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", "2")

    g_save = nvault_open("g_ammo_save")
}

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 ", g_ammo[id])
}


Отредактировал: xoymiii, - 2.8.2013, 18:41
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
mde...
сообщение 2.8.2013, 18:44
Сообщение #2
Стаж: 13 лет

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

Забудь про этот исходник, потом сервер будет лагать.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя xoymiii
сообщение 2.8.2013, 18:46
Сообщение #3


Стаж: 13 лет

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

Цитата(mde... @ 2.8.2013, 20:44) *
Забудь про этот исходник, потом сервер будет лагать.

что посоветуешь?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Nebo
сообщение 2.8.2013, 18:47
Сообщение #4


Стаж: 13 лет
Город: Казань

Сообщений: 3181
Благодарностей: 1015
Полезность: 701

xoymiii, Написать новый, что еще то :)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя xoymiii
сообщение 2.8.2013, 18:48
Сообщение #5


Стаж: 13 лет

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

Цитата(Nebo @ 2.8.2013, 20:47) *
xoymiii, Написать новый, что еще то :)

мне нужны готовые варианты =)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
  Ответить в данную темуНачать новую тему
 
0 пользователей и 2 гостей читают эту тему: