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

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

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

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

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

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

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

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

Помоги с плагином knifedm.amxx

Статус пользователя Mandarin96rus
сообщение 19.12.2012, 16:12
Сообщение #1
Стаж: 13 лет

Сообщений: 26
Благодарностей: 1
Полезность: 16

Всем привет, сюдь в том что некоторые люди не могут возродиться и им приходиться перезаходить. Помогите разобраться.
Скрытый текст
#include <amxmodx>
#include <fun>
#include <cstrike>
#include <hamsandwich>
#include <engine>
#include <fakemeta>

new cvar_enabled, cvar_hp, cvar_hp_hs, cvar_gamename, amx_gamename

public plugin_init()
{
register_plugin("Knife DeathMatch", "1.1", "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")
cvar_gamename = register_cvar("amx_knifedm_gamename", "1")

if(get_pcvar_num(cvar_gamename) == 1)
{
amx_gamename = register_cvar("amx_gamename", "Knife DM" )
register_forward(FM_GetGameDescription, "GameDesc")
}

if(get_pcvar_num(cvar_enabled) == 1)
{
remove_entity_name("func_bomb_target")
remove_entity_name("info_bomb_target")
remove_entity_name("hostage_entity")
remove_entity_name("func_hostage_rescue")
remove_entity_name("info_hostage_rescue")
remove_entity_name("info_vip_start")
remove_entity_name("func_vip_safetyzone")
remove_entity_name("func_escapezone")

removeweapons()

server_cmd("sv_restart 2")
}
}

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)
}
origin[2] += 500
set_user_origin (id, origin)

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

public on_Death()
{
if(get_pcvar_float(cvar_enabled) == 1)
{
new id = read_data(2)
set_task(1.0, "spawn_user", id)
}
}

public spawn_user(id)
{
if(cs_get_user_team(id) == CS_TEAM_SPECTATOR)
{
return PLUGIN_HANDLED
}

ExecuteHamB(Ham_CS_RoundRespawn, id)
return PLUGIN_HANDLED
}

public client_death(killer, victim, wpnindex, hitplace, TK)
{
if(get_pcvar_float(cvar_enabled) == 1)
{
if(hitplace == 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, "Этот сервер использует Knife DeathMatch мод!")
client_print(id, print_chat, "Ты можешь использовать только нож!")
}

public GameDesc()
{
static gamename[32]
get_pcvar_string(amx_gamename, gamename, 31)
forward_return(FMV_STRING, gamename)
return FMRES_SUPERCEDE
}

removeweapons()
{
new weapon, nnumr

while ((weapon = find_ent_by_class(-1,"armoury_entity")))
{
remove_entity(weapon)
nnumr++
}
}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя S0m3Th1nG_AwFul!
сообщение 19.12.2012, 18:28
Сообщение #2
Стаж: 15 лет

Сообщений: 454
Благодарностей: 323
Полезность: 961

Нужна более подробная информация - игрок остаётся DEAD или при возрождении повисает в "темноте"?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя Mandarin96rus
сообщение 19.12.2012, 19:10
Сообщение #3
Стаж: 13 лет

Сообщений: 26
Благодарностей: 1
Полезность: 16

Цитата(S0m3Th1nG_AwFul! @ 19.12.2012, 19:28) *
Нужна более подробная информация - игрок остаётся DEAD или при возрождении повисает в "темноте"?


Остается мертвым.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя S0m3Th1nG_AwFul!
сообщение 19.12.2012, 19:40
Сообщение #4
Стаж: 15 лет

Сообщений: 454
Благодарностей: 323
Полезность: 961

Логи ошибок от данного плагина имеются?
Быстрое тестирование показало, что возникает:
Код
L 12/19/2012 - 21:36:23: [FUN] Invalid player 11
L 12/19/2012 - 21:36:23: [AMXX] Displaying debug trace (plugin "knifedm.amxx")
L 12/19/2012 - 21:36:23: [AMXX] Run time error 10: native error (native "set_user_origin")
L 12/19/2012 - 21:36:23: [AMXX]    [0] knifedm.sma::knife (line 61)

Однако хотелось бы удостовериться.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
underwoker
сообщение 19.12.2012, 19:44
Сообщение #5
Стаж: 56 лет


Благодарностей:

Цитата(Mandarin96rus @ 19.12.2012, 17:12) *
Всем привет, сюдь в том что некоторые люди не могут возродиться и им приходиться перезаходить. Помогите разобраться.
Скрытый текст
#include <amxmodx>
#include <fun>
#include <cstrike>
#include <hamsandwich>
#include <engine>
#include <fakemeta>

new cvar_enabled, cvar_hp, cvar_hp_hs, cvar_gamename, amx_gamename

public plugin_init()
{
register_plugin("Knife DeathMatch", "1.1", "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")
cvar_gamename = register_cvar("amx_knifedm_gamename", "1")

if(get_pcvar_num(cvar_gamename) == 1)
{
amx_gamename = register_cvar("amx_gamename", "Knife DM" )
register_forward(FM_GetGameDescription, "GameDesc")
}

if(get_pcvar_num(cvar_enabled) == 1)
{
remove_entity_name("func_bomb_target")
remove_entity_name("info_bomb_target")
remove_entity_name("hostage_entity")
remove_entity_name("func_hostage_rescue")
remove_entity_name("info_hostage_rescue")
remove_entity_name("info_vip_start")
remove_entity_name("func_vip_safetyzone")
remove_entity_name("func_escapezone")

removeweapons()

server_cmd("sv_restart 2")
}
}

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)
}
origin[2] += 500
set_user_origin (id, origin)

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

public on_Death()
{
if(get_pcvar_float(cvar_enabled) == 1)
{
new id = read_data(2)
set_task(1.0, "spawn_user", id)
}
}

public spawn_user(id)
{
if(cs_get_user_team(id) == CS_TEAM_SPECTATOR)
{
return PLUGIN_HANDLED
}

ExecuteHamB(Ham_CS_RoundRespawn, id)
return PLUGIN_HANDLED
}

public client_death(killer, victim, wpnindex, hitplace, TK)
{
if(get_pcvar_float(cvar_enabled) == 1)
{
if(hitplace == 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, "Этот сервер использует Knife DeathMatch мод!")
client_print(id, print_chat, "Ты можешь использовать только нож!")
}

public GameDesc()
{
static gamename[32]
get_pcvar_string(amx_gamename, gamename, 31)
forward_return(FMV_STRING, gamename)
return FMRES_SUPERCEDE
}

removeweapons()
{
new weapon, nnumr

while ((weapon = find_ent_by_class(-1,"armoury_entity")))
{
remove_entity(weapon)
nnumr++
}
}

Только некоторые люди не могут? Или все?
Настораживает строчка:
Код
    ExecuteHamB(Ham_CS_RoundRespawn, id)
    return PLUGIN_HANDLED


Попробуй так.
Скрытый текст
Код
#include <amxmodx>
#include <fun>
#include <cstrike>
#include <hamsandwich>
#include <engine>
#include <fakemeta>

new cvar_enabled, cvar_hp, cvar_hp_hs, cvar_gamename, amx_gamename

public plugin_init()
{
    register_plugin("Knife DeathMatch", "1.1", "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")
    cvar_gamename = register_cvar("amx_knifedm_gamename", "1")

    if(get_pcvar_num(cvar_gamename) == 1)
    {
        amx_gamename = register_cvar("amx_gamename", "Knife DM" )
        register_forward(FM_GetGameDescription, "GameDesc")
    }

    if(get_pcvar_num(cvar_enabled) == 1)
    {
        remove_entity_name("func_bomb_target")
        remove_entity_name("info_bomb_target")
        remove_entity_name("hostage_entity")
        remove_entity_name("func_hostage_rescue")
        remove_entity_name("info_hostage_rescue")
        remove_entity_name("info_vip_start")
        remove_entity_name("func_vip_safetyzone")
        remove_entity_name("func_escapezone")

        removeweapons()

        server_cmd("sv_restart 2")
    }
}

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)
            }
            origin[2] += 500
            set_user_origin (id, origin)

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

public on_Death()
{
    if(get_pcvar_float(cvar_enabled) == 1)
    {
        new id = read_data(2)
        set_task(1.0, "spawn_user", id)
    }
}

public spawn_user(id)
{
    if(cs_get_user_team(id) == CS_TEAM_SPECTATOR)
    {
        return PLUGIN_HANDLED
    }

    ExecuteHamB(Ham_CS_RoundRespawn, id)
    return PLUGIN_CONTINUE
}

public client_death(killer, victim, wpnindex, hitplace, TK)
{
    if(get_pcvar_float(cvar_enabled) == 1)
    {
        if(hitplace == 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, "Этот сервер использует Knife DeathMatch мод!")
    client_print(id, print_chat, "Ты можешь использовать только нож!")
}

public GameDesc()
{
    static gamename[32]
    get_pcvar_string(amx_gamename, gamename, 31)
    forward_return(FMV_STRING, gamename)
    return FMRES_SUPERCEDE
}

removeweapons()
{
    new weapon, nnumr

    while ((weapon = find_ent_by_class(-1,"armoury_entity")))
    {
        remove_entity(weapon)
        nnumr++
    }
}
Перейти в начало страницы     
   +
Статус пользователя Mandarin96rus
сообщение 19.12.2012, 19:54
Сообщение #6
Стаж: 13 лет

Сообщений: 26
Благодарностей: 1
Полезность: 16

Цитата(S0m3Th1nG_AwFul! @ 19.12.2012, 20:40) *
Логи ошибок от данного плагина имеются?
Быстрое тестирование показало, что возникает:
Код
L 12/19/2012 - 21:36:23: [FUN] Invalid player 11
L 12/19/2012 - 21:36:23: [AMXX] Displaying debug trace (plugin "knifedm.amxx")
L 12/19/2012 - 21:36:23: [AMXX] Run time error 10: native error (native "set_user_origin")
L 12/19/2012 - 21:36:23: [AMXX]    [0] knifedm.sma::knife (line 61)

Однако хотелось бы удостовериться.


Да такая ошибка
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя S0m3Th1nG_AwFul!
сообщение 19.12.2012, 21:12
Сообщение #7
Стаж: 15 лет

Сообщений: 454
Благодарностей: 323
Полезность: 961

Не уверен, что отработал нужное событие, но проверяй

Код
#include <amxmodx>
#include <fun>
#include <cstrike>
#include <hamsandwich>
#include <engine>
#include <fakemeta>

new cvar_enabled, cvar_hp, cvar_hp_hs, cvar_gamename, amx_gamename

public plugin_init()
{
    register_plugin("Knife DeathMatch", "1.1", "Lucky")
    
    register_event("DeathMsg", "on_Death", "a")
    register_event("CurWeapon", "knife", "b")
    register_logevent("logevent_team_join", 3, "1=joined team")
    
    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")
    cvar_gamename = register_cvar("amx_knifedm_gamename", "1")

    if(get_pcvar_num(cvar_gamename) == 1)
    {
        amx_gamename = register_cvar("amx_gamename", "Knife DM" )
        register_forward(FM_GetGameDescription, "GameDesc")
    }
    
    if(get_pcvar_num(cvar_enabled) == 1)
    {
        remove_entity_name("func_bomb_target")
        remove_entity_name("info_bomb_target")
        remove_entity_name("hostage_entity")
        remove_entity_name("func_hostage_rescue")
        remove_entity_name("info_hostage_rescue")
        remove_entity_name("info_vip_start")
        remove_entity_name("func_vip_safetyzone")
        remove_entity_name("func_escapezone")
        
        removeweapons()
        
        server_cmd("sv_restart 2")
    }
}

public logevent_team_join()
{
    if(get_pcvar_float(cvar_enabled) == 1)
    {
        new id = get_loguser_index()
        set_task(1.0, "spawn_user", id)
    }
}

stock get_loguser_index()
{
    static loguser[80], name[32];
    read_logargv(0,loguser,79);
    parse_loguser(loguser,name,31);

    return get_user_index(name);
}

public knife(id)
{
    if(get_pcvar_float(cvar_enabled) == 1 && is_user_alive(id))
    {
        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)
            }
            origin[2] += 500
            set_user_origin (id, origin)

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

public on_Death()
{
    if(get_pcvar_float(cvar_enabled) == 1)
    {
        new id = read_data(2)
        set_task(1.0, "spawn_user", id)
    }
}

public spawn_user(id)
{
    if(cs_get_user_team(id) == CS_TEAM_SPECTATOR)
    {
        return PLUGIN_HANDLED
    }
    
    ExecuteHamB(Ham_CS_RoundRespawn, id)
    return PLUGIN_HANDLED
}

public client_death(killer, victim, wpnindex, hitplace, TK)
{
    if(get_pcvar_float(cvar_enabled) == 1)
    {
        if(hitplace == 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!")
}

public GameDesc()
{
    static gamename[32]
    get_pcvar_string(amx_gamename, gamename, 31)
    forward_return(FMV_STRING, gamename)
    return FMRES_SUPERCEDE
}

removeweapons()
{
    new weapon, nnumr
    
    while ((weapon = find_ent_by_class(-1,"armoury_entity")))
    {
        remove_entity(weapon)
        nnumr++
    }
}



Отредактировал: S0m3Th1nG_AwFul!, - 19.12.2012, 21:18
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя Mandarin96rus
сообщение 20.12.2012, 9:49
Сообщение #8
Стаж: 13 лет

Сообщений: 26
Благодарностей: 1
Полезность: 16

Цитата(S0m3Th1nG_AwFul! @ 19.12.2012, 22:12) *
Не уверен, что отработал нужное событие, но проверяй

Код
#include <amxmodx>
#include <fun>
#include <cstrike>
#include <hamsandwich>
#include <engine>
#include <fakemeta>

new cvar_enabled, cvar_hp, cvar_hp_hs, cvar_gamename, amx_gamename

public plugin_init()
{
    register_plugin("Knife DeathMatch", "1.1", "Lucky")
    
    register_event("DeathMsg", "on_Death", "a")
    register_event("CurWeapon", "knife", "b")
    register_logevent("logevent_team_join", 3, "1=joined team")
    
    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")
    cvar_gamename = register_cvar("amx_knifedm_gamename", "1")

    if(get_pcvar_num(cvar_gamename) == 1)
    {
        amx_gamename = register_cvar("amx_gamename", "Knife DM" )
        register_forward(FM_GetGameDescription, "GameDesc")
    }
    
    if(get_pcvar_num(cvar_enabled) == 1)
    {
        remove_entity_name("func_bomb_target")
        remove_entity_name("info_bomb_target")
        remove_entity_name("hostage_entity")
        remove_entity_name("func_hostage_rescue")
        remove_entity_name("info_hostage_rescue")
        remove_entity_name("info_vip_start")
        remove_entity_name("func_vip_safetyzone")
        remove_entity_name("func_escapezone")
        
        removeweapons()
        
        server_cmd("sv_restart 2")
    }
}

public logevent_team_join()
{
    if(get_pcvar_float(cvar_enabled) == 1)
    {
        new id = get_loguser_index()
        set_task(1.0, "spawn_user", id)
    }
}

stock get_loguser_index()
{
    static loguser[80], name[32];
    read_logargv(0,loguser,79);
    parse_loguser(loguser,name,31);

    return get_user_index(name);
}

public knife(id)
{
    if(get_pcvar_float(cvar_enabled) == 1 && is_user_alive(id))
    {
        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)
            }
            origin[2] += 500
            set_user_origin (id, origin)

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

public on_Death()
{
    if(get_pcvar_float(cvar_enabled) == 1)
    {
        new id = read_data(2)
        set_task(1.0, "spawn_user", id)
    }
}

public spawn_user(id)
{
    if(cs_get_user_team(id) == CS_TEAM_SPECTATOR)
    {
        return PLUGIN_HANDLED
    }
    
    ExecuteHamB(Ham_CS_RoundRespawn, id)
    return PLUGIN_HANDLED
}

public client_death(killer, victim, wpnindex, hitplace, TK)
{
    if(get_pcvar_float(cvar_enabled) == 1)
    {
        if(hitplace == 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!")
}

public GameDesc()
{
    static gamename[32]
    get_pcvar_string(amx_gamename, gamename, 31)
    forward_return(FMV_STRING, gamename)
    return FMRES_SUPERCEDE
}

removeweapons()
{
    new weapon, nnumr
    
    while ((weapon = find_ent_by_class(-1,"armoury_entity")))
    {
        remove_entity(weapon)
        nnumr++
    }
}



Спасибо большое, все работает!
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Mandarin96rus
сообщение 20.12.2012, 14:40
Сообщение #9
Стаж: 13 лет

Сообщений: 26
Благодарностей: 1
Полезность: 16

Привет всем. Еще раз спасибо большое за помощь S0m3Th1nG_AwFul!, все люди нормально заходят. Но у меня появилась еще одна просьба. Суть в том что у меня на сервере установлен плагин weaponmenu и когда я выдаю оружие любому игроку оно появляется и сразу пропадает. Дело в плагине 100% ибо когда я его убирал weaponmenu работал на ура. Посмотрите пожалуйста как можно разобраться с этой проблемой.
Скрытый текст
#include <amxmodx>
#include <fun>
#include <cstrike>
#include <hamsandwich>
#include <engine>
#include <fakemeta>

new cvar_enabled, cvar_hp, cvar_hp_hs, cvar_gamename, amx_gamename

public plugin_init()
{
register_plugin("Knife DeathMatch", "1.1", "Lucky")

register_event("DeathMsg", "on_Death", "a")
register_event("CurWeapon", "knife", "b")
register_logevent("logevent_team_join", 3, "1=joined team")

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")
cvar_gamename = register_cvar("amx_knifedm_gamename", "1")

if(get_pcvar_num(cvar_gamename) == 1)
{
amx_gamename = register_cvar("amx_gamename", "Knife DM" )
register_forward(FM_GetGameDescription, "GameDesc")
}

if(get_pcvar_num(cvar_enabled) == 1)
{
remove_entity_name("func_bomb_target")
remove_entity_name("info_bomb_target")
remove_entity_name("hostage_entity")
remove_entity_name("func_hostage_rescue")
remove_entity_name("info_hostage_rescue")
remove_entity_name("info_vip_start")
remove_entity_name("func_vip_safetyzone")
remove_entity_name("func_escapezone")

removeweapons()

server_cmd("sv_restart 2")
}
}

public logevent_team_join()
{
new id = get_loguser_index()
set_task(1.0, "spawn_user", id)
}

stock get_loguser_index()
{
static loguser[80], name[32];
read_logargv(0,loguser,79);
parse_loguser(loguser,name,31);

return get_user_index(name);
}

public knife(id)
{
if(get_pcvar_float(cvar_enabled) == 1 && is_user_alive(id))
{
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)
}
origin[2] += 500
set_user_origin (id, origin)

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

public on_Death()
{
server_print("death triggered!")
if(get_pcvar_float(cvar_enabled) == 1)
{
new id = read_data(2)
set_task(1.0, "spawn_user", id)
}
}

public spawn_user(id)
{
if(cs_get_user_team(id) == CS_TEAM_SPECTATOR)
{
return PLUGIN_HANDLED
}

ExecuteHamB(Ham_CS_RoundRespawn, id)
return PLUGIN_HANDLED
}

public client_death(killer, victim, wpnindex, hitplace, TK)
{
if(get_pcvar_float(cvar_enabled) == 1)
{
if(hitplace == 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!")
}

public GameDesc()
{
static gamename[32]
get_pcvar_string(amx_gamename, gamename, 31)
forward_return(FMV_STRING, gamename)
return FMRES_SUPERCEDE
}

removeweapons()
{
new weapon, nnumr

while ((weapon = find_ent_by_class(-1,"armoury_entity")))
{
remove_entity(weapon)
nnumr++
}
}


Отредактировал: Mandarin96rus, - 20.12.2012, 14:41
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя S0m3Th1nG_AwFul!
сообщение 20.12.2012, 15:13
Сообщение #10
Стаж: 15 лет

Сообщений: 454
Благодарностей: 323
Полезность: 961

code
Код
#include <amxmodx>
#include <fun>
#include <cstrike>
#include <hamsandwich>
#include <engine>
#include <fakemeta>

new cvar_enabled, cvar_hp, cvar_hp_hs, cvar_gamename, amx_gamename

public plugin_init()
{
    register_plugin("Knife DeathMatch", "1.1", "Lucky")
    
    register_event("DeathMsg", "on_Death", "a")
    register_clcmd("joinclass", "joinclass")
    
    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")
    cvar_gamename = register_cvar("amx_knifedm_gamename", "1")

    if(get_pcvar_num(cvar_gamename) == 1)
    {
        amx_gamename = register_cvar("amx_gamename", "Knife DM" )
        register_forward(FM_GetGameDescription, "GameDesc")
    }
    
    if(get_pcvar_num(cvar_enabled) == 1)
    {
        remove_entity_name("func_bomb_target")
        remove_entity_name("info_bomb_target")
        remove_entity_name("hostage_entity")
        remove_entity_name("func_hostage_rescue")
        remove_entity_name("info_hostage_rescue")
        remove_entity_name("info_vip_start")
        remove_entity_name("func_vip_safetyzone")
        remove_entity_name("func_escapezone")
        
        removeweapons()
        
        server_cmd("sv_restart 2")
    }
}

public joinclass(id)
{
    if(get_pcvar_float(cvar_enabled) == 1)
    {
        set_task(0.5, "spawn_user", id)
    }
}

public on_Death()
{
    if(get_pcvar_float(cvar_enabled) == 1)
    {
        new id = read_data(2)
        set_task(1.0, "spawn_user", id)
    }
}

public spawn_user(id)
{
    if(cs_get_user_team(id) == CS_TEAM_SPECTATOR || is_user_alive(id))
    {
        return PLUGIN_HANDLED
    }
    
    ExecuteHamB(Ham_CS_RoundRespawn, id)
    return PLUGIN_HANDLED
}

public client_death(killer, victim, wpnindex, hitplace, TK)
{
    if(get_pcvar_float(cvar_enabled) == 1)
    {
        if(hitplace == 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!")
}

public GameDesc()
{
    static gamename[32]
    get_pcvar_string(amx_gamename, gamename, 31)
    forward_return(FMV_STRING, gamename)
    return FMRES_SUPERCEDE
}

removeweapons()
{
    new weapon, nnumr
    
    while ((weapon = find_ent_by_class(-1,"armoury_entity")))
    {
        remove_entity(weapon)
        nnumr++
    }
}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя Mandarin96rus
сообщение 20.12.2012, 15:37
Сообщение #11
Стаж: 13 лет

Сообщений: 26
Благодарностей: 1
Полезность: 16

Цитата(S0m3Th1nG_AwFul! @ 20.12.2012, 16:13) *
code
Код
#include <amxmodx>
#include <fun>
#include <cstrike>
#include <hamsandwich>
#include <engine>
#include <fakemeta>

new cvar_enabled, cvar_hp, cvar_hp_hs, cvar_gamename, amx_gamename

public plugin_init()
{
    register_plugin("Knife DeathMatch", "1.1", "Lucky")
    
    register_event("DeathMsg", "on_Death", "a")
    register_clcmd("joinclass", "joinclass")
    
    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")
    cvar_gamename = register_cvar("amx_knifedm_gamename", "1")

    if(get_pcvar_num(cvar_gamename) == 1)
    {
        amx_gamename = register_cvar("amx_gamename", "Knife DM" )
        register_forward(FM_GetGameDescription, "GameDesc")
    }
    
    if(get_pcvar_num(cvar_enabled) == 1)
    {
        remove_entity_name("func_bomb_target")
        remove_entity_name("info_bomb_target")
        remove_entity_name("hostage_entity")
        remove_entity_name("func_hostage_rescue")
        remove_entity_name("info_hostage_rescue")
        remove_entity_name("info_vip_start")
        remove_entity_name("func_vip_safetyzone")
        remove_entity_name("func_escapezone")
        
        removeweapons()
        
        server_cmd("sv_restart 2")
    }
}

public joinclass(id)
{
    if(get_pcvar_float(cvar_enabled) == 1)
    {
        set_task(0.5, "spawn_user", id)
    }
}

public on_Death()
{
    if(get_pcvar_float(cvar_enabled) == 1)
    {
        new id = read_data(2)
        set_task(1.0, "spawn_user", id)
    }
}

public spawn_user(id)
{
    if(cs_get_user_team(id) == CS_TEAM_SPECTATOR || is_user_alive(id))
    {
        return PLUGIN_HANDLED
    }
    
    ExecuteHamB(Ham_CS_RoundRespawn, id)
    return PLUGIN_HANDLED
}

public client_death(killer, victim, wpnindex, hitplace, TK)
{
    if(get_pcvar_float(cvar_enabled) == 1)
    {
        if(hitplace == 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!")
}

public GameDesc()
{
    static gamename[32]
    get_pcvar_string(amx_gamename, gamename, 31)
    forward_return(FMV_STRING, gamename)
    return FMRES_SUPERCEDE
}

removeweapons()
{
    new weapon, nnumr
    
    while ((weapon = find_ent_by_class(-1,"armoury_entity")))
    {
        remove_entity(weapon)
        nnumr++
    }
}


Все работает оружие берется, но сново некоторые люди не могут возродиться.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя S0m3Th1nG_AwFul!
сообщение 20.12.2012, 16:07
Сообщение #12
Стаж: 15 лет

Сообщений: 454
Благодарностей: 323
Полезность: 961

code2
Код
#include <amxmodx>
#include <fun>
#include <cstrike>
#include <hamsandwich>
#include <engine>
#include <fakemeta>

new cvar_enabled, cvar_hp, cvar_hp_hs, cvar_gamename, amx_gamename

public plugin_init()
{
    register_plugin("Knife DeathMatch", "1.1", "Lucky")
    
    register_event("DeathMsg", "on_Death", "a")
    register_logevent("logevent_team_join", 3, "1=joined team")
    
    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")
    cvar_gamename = register_cvar("amx_knifedm_gamename", "1")

    if(get_pcvar_num(cvar_gamename) == 1)
    {
        amx_gamename = register_cvar("amx_gamename", "Knife DM" )
        register_forward(FM_GetGameDescription, "GameDesc")
    }
    
    if(get_pcvar_num(cvar_enabled) == 1)
    {
        remove_entity_name("func_bomb_target")
        remove_entity_name("info_bomb_target")
        remove_entity_name("hostage_entity")
        remove_entity_name("func_hostage_rescue")
        remove_entity_name("info_hostage_rescue")
        remove_entity_name("info_vip_start")
        remove_entity_name("func_vip_safetyzone")
        remove_entity_name("func_escapezone")
        
        removeweapons()
        
        server_cmd("sv_restart 2")
    }
}

public logevent_team_join()
{
    if(get_pcvar_float(cvar_enabled) == 1)
    {
        new id = get_loguser_index()
        set_task(1.0, "spawn_user", id)
    }
}

stock get_loguser_index()
{
    static loguser[80], name[32];
    read_logargv(0,loguser,79);
    parse_loguser(loguser,name,31);

    return get_user_index(name);
}

public on_Death()
{
    if(get_pcvar_float(cvar_enabled) == 1)
    {
        new id = read_data(2)
        set_task(1.0, "spawn_user", id)
    }
}

public spawn_user(id)
{
    if(cs_get_user_team(id) == CS_TEAM_SPECTATOR)
    {
        return PLUGIN_HANDLED
    }
    
    ExecuteHamB(Ham_CS_RoundRespawn, id)
    return PLUGIN_HANDLED
}

public client_death(killer, victim, wpnindex, hitplace, TK)
{
    if(get_pcvar_float(cvar_enabled) == 1)
    {
        if(hitplace == 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!")
}

public GameDesc()
{
    static gamename[32]
    get_pcvar_string(amx_gamename, gamename, 31)
    forward_return(FMV_STRING, gamename)
    return FMRES_SUPERCEDE
}

removeweapons()
{
    new weapon, nnumr
    
    while ((weapon = find_ent_by_class(-1,"armoury_entity")))
    {
        remove_entity(weapon)
        nnumr++
    }
}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя Mandarin96rus
сообщение 20.12.2012, 16:22
Сообщение #13
Стаж: 13 лет

Сообщений: 26
Благодарностей: 1
Полезность: 16

Цитата(S0m3Th1nG_AwFul! @ 20.12.2012, 18:07) *
code2
Код
#include <amxmodx>
#include <fun>
#include <cstrike>
#include <hamsandwich>
#include <engine>
#include <fakemeta>

new cvar_enabled, cvar_hp, cvar_hp_hs, cvar_gamename, amx_gamename

public plugin_init()
{
    register_plugin("Knife DeathMatch", "1.1", "Lucky")
    
    register_event("DeathMsg", "on_Death", "a")
    register_logevent("logevent_team_join", 3, "1=joined team")
    
    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")
    cvar_gamename = register_cvar("amx_knifedm_gamename", "1")

    if(get_pcvar_num(cvar_gamename) == 1)
    {
        amx_gamename = register_cvar("amx_gamename", "Knife DM" )
        register_forward(FM_GetGameDescription, "GameDesc")
    }
    
    if(get_pcvar_num(cvar_enabled) == 1)
    {
        remove_entity_name("func_bomb_target")
        remove_entity_name("info_bomb_target")
        remove_entity_name("hostage_entity")
        remove_entity_name("func_hostage_rescue")
        remove_entity_name("info_hostage_rescue")
        remove_entity_name("info_vip_start")
        remove_entity_name("func_vip_safetyzone")
        remove_entity_name("func_escapezone")
        
        removeweapons()
        
        server_cmd("sv_restart 2")
    }
}

public logevent_team_join()
{
    if(get_pcvar_float(cvar_enabled) == 1)
    {
        new id = get_loguser_index()
        set_task(1.0, "spawn_user", id)
    }
}

stock get_loguser_index()
{
    static loguser[80], name[32];
    read_logargv(0,loguser,79);
    parse_loguser(loguser,name,31);

    return get_user_index(name);
}

public on_Death()
{
    if(get_pcvar_float(cvar_enabled) == 1)
    {
        new id = read_data(2)
        set_task(1.0, "spawn_user", id)
    }
}

public spawn_user(id)
{
    if(cs_get_user_team(id) == CS_TEAM_SPECTATOR)
    {
        return PLUGIN_HANDLED
    }
    
    ExecuteHamB(Ham_CS_RoundRespawn, id)
    return PLUGIN_HANDLED
}

public client_death(killer, victim, wpnindex, hitplace, TK)
{
    if(get_pcvar_float(cvar_enabled) == 1)
    {
        if(hitplace == 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!")
}

public GameDesc()
{
    static gamename[32]
    get_pcvar_string(amx_gamename, gamename, 31)
    forward_return(FMV_STRING, gamename)
    return FMRES_SUPERCEDE
}

removeweapons()
{
    new weapon, nnumr
    
    while ((weapon = find_ent_by_class(-1,"armoury_entity")))
    {
        remove_entity(weapon)
        nnumr++
    }
}


Все работает стабильно. Спасибо большое, ты мой спаситель :DD
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
  Тема закрытаНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: