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

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

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

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

Баг в плагине

, Помогите разобраться.
Статус пользователя MrTsar
сообщение 15.2.2014, 22:36
Сообщение #1


Стаж: 13 лет

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

Доброго времени суток! Столкнулся с проблемой: нужен был плагин который респавнит игроков сразу после смерти. Целый день убил и нашел то что искал. Но после установки на сервер как оказалось не совсем то. Плагин работает отлично кроме того момента когда кпримеру уже игра идет(тоесть игроки играют) и новый игрок который заходит на сервер присоединяясь к команде не респавнится до того момента пока не закончится раунд, а мне нужно что бы как только зашел сразу мог играть. Большой плюс в этом плагине что он ограничивает использование weapoon, что есть кроме ножа ничего не льзя использовать. Кто понимает гляньте код пожалуйста.
Скрытый текст
Код
#include <amxmodx>
#include <fun>
#include <cstrike>
#include <hamsandwich>

new cvar_enabled, cvar_hp, cvar_hp_hs

public plugin_init()
{
    register_plugin("Knife DeathMatch", "1.0", "Lucky")
    
    register_event("DeathMsg", "on_Death", "a")
    register_event("CurWeapon", "knife", "b")
    
    cvar_enabled = register_cvar("amx_knifedm", "1")
    cvar_hp = register_cvar("amx_knifedm_hp", "10")
    cvar_hp_hs = register_cvar("amx_knifedm_hp_hs", "25")
    
}

public knife(id)
{
    if(get_pcvar_float(cvar_enabled) == 1)
    {
        new clip, ammo
        new usersweapon = get_user_weapon(id, clip, ammo)

        if(usersweapon == CSW_KNIFE)
        {
            return PLUGIN_CONTINUE
        }
        else
        {
            new origin[3]
            get_user_origin (id, origin)
            origin[2] -= 500
            set_user_origin (id, origin)
            new iwpn, iwpns[32], nwpn[32]
            get_user_weapons (id, iwpns, iwpn)
            for (new a = 0; a < iwpn; ++a)
            {
                get_weaponname (iwpns[a], nwpn, 31)
                engclient_cmd (id, "drop", nwpn)
            }
            new origin2[3]
            get_user_origin (id, origin2)
            origin2[2] += 500
            set_user_origin (id, origin2)

            client_cmd (id, "weapon_knife")
        }
    }
    return PLUGIN_CONTINUE
}

public on_Death()
{
    new id = read_data(2)
    
    if(get_pcvar_float(cvar_enabled) == 1)

    set_task(1.0, "spawn_user", id)
}

public spawn_user(id)
{
    if(cs_get_user_team(id) == CS_TEAM_SPECTATOR)
    {
        return PLUGIN_HANDLED
    }
    
    cs_user_spawn(id)
    
    give_item(id, "weapon_knife")
    
    set_task(2.0, "give_knife", id)
    return PLUGIN_HANDLED
}

public give_knife(id)
{
    give_item(id, "weapon_knife")
}

public client_death(killer, victim, wpnindex, hitplace, TK)
{
    new hit = hitplace
    
    if(get_pcvar_float(cvar_enabled) == 1)
    {
        if(hit == HIT_HEAD)
        {
            set_user_health(killer, get_user_health(killer) + get_pcvar_num(cvar_hp_hs))
            
            set_hudmessage(255, 0, 0, 0.1, -1.0, 0, 6.0, 10.0)
            show_hudmessage(killer, "HeadShot")
        }
        else
        {
            set_user_health(killer, get_user_health(killer) + get_pcvar_num(cvar_hp))
        }
    }
}

public client_connect(id)
{
    if(get_pcvar_num(cvar_enabled) == 1)
    {
        set_task(20.0, "connect_ads", id)
    }
}

public connect_ads(id)
{
    client_print(id, print_chat, "This server is using Knife DeathMatch Mod!")
    client_print(id, print_chat, "You can use only knife!")
}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
  Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: