Русское сообщество по скриптингу

Сброс HP  [Решено]

Все вопросы по скриптингу для AMXX, помощь в редактировании плагинов.

Модераторы: Subb98, liFe iS GoOD

Правила форума
1. Запрещено материться и оскорблять других участников форума.
2. Запрещен флуд, оффтоп, дабл постинг во всех разделах форума, кроме раздела "Болтовня".
3. Запрещено взламывать сайт/форум или наносить любой вред проекту.
4. Запрещено рекламировать другие ресурсы.
5. Запрещено создавать темы без информативного названия. Название темы должно отображать ее смысл.

В данном разделе форума разрешено создавать темы, касающие только скриптинга для AMX Mod X.

Правила при создании новой темы:
1. При вставке кода плагина необходимо использовать тег [code=php].
2. Любые изображения должны быть загружены, как вложения к вашему сообщению.
3. При описании проблемы или запросе на помощь в редактировании плагина обязательно выкладывайте исходник sma плагина.

Сброс HP

Сообщение MayroN » 15 июл 2019, 01:45

Приветствую.
Заметил такую особенность,что при выборе класса Хищника ( СТ ), если у его 10 HP постоянно при спавне, и далее при переходе за сторону Дино ( Т ), если нажать клавишу 1 или 2 ,включая q - сбрасываеться здоровье Динозавра от установленного 2000 % - к етим 10 %.

Соответственно так с каждым классом Хищника происходит при переходе за Дино ( + сброс скорости,высота прижка...)

Но и здесь же проблема также и с Хищниками.Если здоровье у его 300 % и тебя понизили до 200 например,
то стоит стрельнуть,перезарядиться,нажать клавишу от 1- до 5,включая q - то здоровье восстанавливаеться до начальных 300 % и также с каждым классом

Просьба глянуть
Большое спасибо за внимание
Код: Выделить всё
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <engine>
#include <fakemeta>
#include <fun>
#include <hamsandwich>

#include <ColorChat>

#if AMXX_VERSION_NUM < 183
    #include < dhudmessage >
#endif

///////////////////////////////////////////////////////////////////
// Offsets                                                 //
/////////////////////////////////////////////////////////////////

#define REMOVE_OBJECTIVES (1<<0 | 1<<2 | 1<<3 | 1<<4)
#define ZOMBIE_OBJECTIVES "zombie_objectives"

///////////////////////////////////////////////////////////////////
// Cvars                                                   //
/////////////////////////////////////////////////////////////////

new zombie_knife, zombie_maxslots, zombie_effect, zombie_level, zombie_respawns, survivor_classes,
level1_respawns, level1_health, level1_maxspeed, level1_bosshp, level1_bossmaxspeed, level2_respawns, zombie_spawnpoint,
level2_health, level2_maxspeed, level2_bosshp, level2_bossmaxspeed, level3_respawns, level3_health, level3_maxspeed, 
level3_bosshp
, level3_bossmaxspeed, level4_respawns, level4_health, level4_maxspeed, level4_bosshp, level4_bossmaxspeed,
level5_respawns, level5_health, level5_maxspeed, level5_bosshp, level5_bossmaxspeed, level6_respawns, survivor_weaponkit,
level6_health, level6_maxspeed, level6_bosshp, level6_bossmaxspeed, level7_respawns, level7_health, level7_maxspeed, 
level7_bosshp
, level7_bossmaxspeed, level8_respawns, level8_health, level8_maxspeed, level8_bosshp, level8_bossmaxspeed,
level9_respawns, level9_health, level9_maxspeed, level9_bosshp, level9_bossmaxspeed, level10_respawns,  
level10_health
, level10_maxspeed, level10_bosshp, level10_bossmaxspeed

new gPluginMode
;
new bool: g_bChoose[33];

///////////////////////////////////////////////////////////////////
// Models                                                 //
/////////////////////////////////////////////////////////////////

new const ZOMBIE_MODEL1[] = "zmh_1" 
new const ZOMBIE_MODEL2
[] = "zmh_2"
new const ZOMBIE_MODEL3[] = "zmh_3" 

///////////////////////////////////////////////////////////////////
// Global Variables                                             //
/////////////////////////////////////////////////////////////////

new g_has_custom_model[33], g_player_model[33][32], g_zombie[33], g_respawn_count[33], g_player_class[33], g_zombie_class[33], 
g_boss_class
[33], g_maxplayers, g_boss_sprite, g_screen_shake, g_hide_weapon, g_pcvar_no_objectives, g_respawn_delay[33]

new g_iMaxPlayers;
new Float:g_models_target_time
new Float
:g_roundstart_time
new Float
:g_spawn_vec[60][3]
new Float:g_spawn_angle[60][3]
new Float:g_spawn_v_angle[60][3]
new Float:g_vec_last_origin[33][3]

new bool:g_first_spawn[33]

new const g_objective_ents[][] = { "func_bomb_target", "info_bomb_target", "hostage_entity", "monster_scientist", 
"func_hostage_rescue", "info_hostage_rescue", "info_vip_start", "func_vip_safetyzone", "func_escapezone" }
new const g_objective_type[] = { (1<<3), (1<<3), (1<<2), (1<<2), (1<<2), (1<<2), (1<<0), (1<<0), (1<<4) }
new const bool:g_objective_prim[] = { true, true, true, false, false, false, false, true, true }

new g_no_objectives = REMOVE_OBJECTIVES
new g_total_spawn 
= 0

///////////////////////////////////////////////////////////////////
// Downloads                                                    //
/////////////////////////////////////////////////////////////////

new const skies[][] =
{
        "mandaris", "bromene", "space", "lackofoxygen", "3dm747", "cult2", "LMmnts_1", "nebula3_", "vr_"
}

public plugin_precache() 
{    
    precache_sound
("jurassic_park/dinosaurs_sound.mp3")
    precache_sound("jurassic_park/predators_sound.mp3")
    precache_sound("jurassic_park/rev_dino_1.wav")
    precache_sound("jurassic_park/boss_dinosaurs_sound.mp3")
    precache_sound("jurassic_park/zvuki_lesa.mp3")
    precache_model("models/player/zmh_1/zmh_1.mdl")
    precache_model("models/player/zmh_2/zmh_2.mdl")
    precache_model("models/player/zmh_3/zmh_3.mdl")

    precache_generic ( "gfx/env/mandarisrt.tga" )
    precache_generic ( "gfx/env/mandarislf.tga" )
    precache_generic ( "gfx/env/mandarisft.tga" )
    precache_generic ( "gfx/env/mandarisdn.tga" )
    precache_generic ( "gfx/env/mandarisbk.tga" )
    precache_generic ( "gfx/env/mandarisup.tga" )

    precache_generic ( "gfx/env/bromenert.tga" )
    precache_generic ( "gfx/env/bromenelf.tga" )
    precache_generic ( "gfx/env/bromeneft.tga" )
    precache_generic ( "gfx/env/bromenedn.tga" )
    precache_generic ( "gfx/env/bromenebk.tga" )
    precache_generic ( "gfx/env/bromeneup.tga" )

    precache_generic ( "gfx/env/spacert.tga" )
    precache_generic ( "gfx/env/spacelf.tga" )
    precache_generic ( "gfx/env/spaceft.tga" )
    precache_generic ( "gfx/env/spacedn.tga" )
    precache_generic ( "gfx/env/spacebk.tga" )
    precache_generic ( "gfx/env/spaceup.tga" )

    precache_generic ( "gfx/env/lackofoxygenrt.tga" )
    precache_generic ( "gfx/env/lackofoxygenlf.tga" )
    precache_generic ( "gfx/env/lackofoxygenft.tga" )
    precache_generic ( "gfx/env/lackofoxygendn.tga" )
    precache_generic ( "gfx/env/lackofoxygenbk.tga" )
    precache_generic ( "gfx/env/lackofoxygenup.tga" )

    precache_generic ( "gfx/env/3dm747rt.tga" )
    precache_generic ( "gfx/env/3dm747lf.tga" )
    precache_generic ( "gfx/env/3dm747ft.tga" )
    precache_generic ( "gfx/env/3dm747dn.tga" )
    precache_generic ( "gfx/env/3dm747bk.tga" )
    precache_generic ( "gfx/env/3dm747up.tga" )

    precache_generic ( "gfx/env/cult2rt.tga" )
    precache_generic ( "gfx/env/cult2lf.tga" )
    precache_generic ( "gfx/env/cult2ft.tga" )
    precache_generic ( "gfx/env/cult2dn.tga" )
    precache_generic ( "gfx/env/cult2bk.tga" )
    precache_generic ( "gfx/env/cult2up.tga" )

    precache_generic ( "gfx/env/LMmnts_1rt.tga" )
    precache_generic ( "gfx/env/LMmnts_1lf.tga" )
    precache_generic ( "gfx/env/LMmnts_1ft.tga" )
    precache_generic ( "gfx/env/LMmnts_1dn.tga" )
    precache_generic ( "gfx/env/LMmnts_1bk.tga" )
    precache_generic ( "gfx/env/LMmnts_1up.tga" )

    precache_generic ( "gfx/env/nebula3_rt.tga" )
    precache_generic ( "gfx/env/nebula3_lf.tga" )
    precache_generic ( "gfx/env/nebula3_ft.tga" )
    precache_generic ( "gfx/env/nebula3_dn.tga" )
    precache_generic ( "gfx/env/nebula3_bk.tga" )
    precache_generic ( "gfx/env/nebula3_up.tga" )

    precache_generic ( "gfx/env/vr_rt.tga" )
    precache_generic ( "gfx/env/vr_lf.tga" )
    precache_generic ( "gfx/env/vr_ft.tga" )
    precache_generic ( "gfx/env/vr_dn.tga" )
    precache_generic ( "gfx/env/vr_bk.tga" )
    precache_generic ( "gfx/env/vr_up.tga" )

    g_boss_sprite = precache_model("sprites/beacon.spr")
    
    new fog 
= engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, "env_fog"))
    DispatchKeyValue(fog, "density", "0.001")
    DispatchKeyValue(fog, "rendercolor", "0 0 0")
    
    if 
((g_pcvar_no_objectives = get_cvar_pointer(ZOMBIE_OBJECTIVES))) {
        new cvar_val[8]
        get_pcvar_string(g_pcvar_no_objectives, cvar_val, sizeof cvar_val - 1)
        g_no_objectives = read_flags(cvar_val) & REMOVE_OBJECTIVES
    
}
    
    if 
(g_no_objectives)
    {
        register_forward(FM_Spawn, "forward_spawn")
    }
}

///////////////////////////////////////////////////////////////////
// Plugin Start                                                 //
/////////////////////////////////////////////////////////////////

public plugin_init() 
{
    g_iMaxPlayers = get_maxplayers();
    register_plugin("zombiehell", "0.0", "hectorz0r")
    
        gPluginMode 
= register_cvar( "sv_skies_mode", "1" );  // 0 - disabled, 1 - random skies
    register_event("HLTV", "event_round_start", "a", "1=0", "2=0")
    register_event("ResetHUD", "event_set_power", "be")
    register_event("DeathMsg", "event_eat_brain", "a", "1>0")
    register_event("DeathMsg", "event_death_msg", "a")
    register_event("CurWeapon", "event_check_speed", "be", "1=1")
    register_event("AmmoX", "event_free_ammo", "be", "1=1", "1=2", "1=3", "1=4", "1=5", "1=6", "1=7", "1=8", "1=9", "1=10")
    register_event("SendAudio", "dinosaurs_win", "a", "2&%!MRAD_terwin")
    register_event("SendAudio", "predators_win", "a", "2&%!MRAD_ctwin") 
    register_event
("TeamInfo", "join_spawn", "a")
    
    RegisterHam
(Ham_Touch, "weapon_shield", "ham_weapon_cleaner", 1)
    RegisterHam(Ham_Touch, "weaponbox", "ham_weapon_cleaner", 1)
    RegisterHam(Ham_TakeDamage, "player", "ham_zombie_knife")
    RegisterHam(Ham_Spawn, "player", "ham_player_spawn", 1)
    RegisterHam(Ham_Killed, "player", "ham_player_killed")
    RegisterHam(Ham_Killed, "player", "ham_killed_respawn", 1)
    
    register_forward
(FM_GetGameDescription, "fm_game_description")
    register_forward(FM_SetClientKeyValue, "fm_client_key")
    register_forward(FM_ClientUserInfoChanged, "fm_client_info")
    register_forward(FM_SetModel, "fm_set_model")    
    register_forward
(FM_Think, "fm_think")
    
    register_impulse
(100, "Impulse_Light")
    register_clcmd("nightvision", "Clcmd_Nightvision");
    register_clcmd("say predator", "clcmd_show_surv_class_menu");

    survivor_weaponkit = register_cvar("survivor_weaponkit", "1")
    zombie_spawnpoint = register_cvar("zombie_spawnpoint", "1")
    zombie_knife = register_cvar("zombie_knife", "0")
    zombie_maxslots = register_cvar("zombie_maxslots", "10")
    zombie_effect = register_cvar("zombie_effect", "1")
    zombie_level = register_cvar("zombie_level", "1")
    zombie_respawns = register_cvar("zombie_respawns", "1")
    survivor_classes = register_cvar("survivor_classes", "1")
    level1_respawns = register_cvar("level1_respawns", "")
    level1_health = register_cvar("level1_health", "")
    level1_maxspeed = register_cvar("level1_maxspeed", "")
    level1_bosshp = register_cvar("level1_bosshp", "")
    level1_bossmaxspeed = register_cvar("level1_bossmaxspeed", "")
    level2_respawns = register_cvar("level2_respawns", "")
    level2_health = register_cvar("level2_health", "")
    level2_maxspeed = register_cvar("level2_maxspeed", "")
    level2_bosshp = register_cvar("level2_bosshp", "")
    level2_bossmaxspeed = register_cvar("level2_bossmaxspeed", "")
    level3_respawns = register_cvar("level3_respawns", "")
    level3_health = register_cvar("level3_health", "")
    level3_maxspeed = register_cvar("level3_maxspeed", "")
    level3_bosshp = register_cvar("level3_bosshp", "")
    level3_bossmaxspeed = register_cvar("level3_bossmaxspeed", "")
    level4_respawns = register_cvar("level4_respawns", "")
    level4_health = register_cvar("level4_health", "")
    level4_maxspeed = register_cvar("level4_maxspeed", "")
    level4_bosshp = register_cvar("level4_bosshp", "")
    level4_bossmaxspeed = register_cvar("level4_bossmaxspeed", "")
    level5_respawns = register_cvar("level5_respawns", "")
    level5_health = register_cvar("level5_health", "")
    level5_maxspeed = register_cvar("level5_maxspeed", "")
    level5_bosshp = register_cvar("level5_bosshp", "")
    level5_bossmaxspeed = register_cvar("level5_bossmaxspeed", "")
    level6_respawns = register_cvar("level6_respawns", "")
    level6_health = register_cvar("level6_health", "")
    level6_maxspeed = register_cvar("level6_maxspeed", "")
    level6_bosshp = register_cvar("level6_bosshp", "")
    level6_bossmaxspeed = register_cvar("level6_bossmaxspeed", "")
    level7_respawns = register_cvar("level7_respawns", "")
    level7_health = register_cvar("level7_health", "")
    level7_maxspeed = register_cvar("level7_maxspeed", "")
    level7_bosshp = register_cvar("level7_bosshp", "")
    level7_bossmaxspeed = register_cvar("level7_bossmaxspeed", "")
    level8_respawns = register_cvar("level8_respawns", "")
    level8_health = register_cvar("level8_health", "")
    level8_maxspeed = register_cvar("level8_maxspeed", "")
    level8_bosshp = register_cvar("level8_bosshp", "")
    level8_bossmaxspeed = register_cvar("level8_bossmaxspeed", "")
    level9_respawns = register_cvar("level9_respawns", "")
    level9_health = register_cvar("level9_health", "")
    level9_maxspeed = register_cvar("level9_maxspeed", "")
    level9_bosshp = register_cvar("level9_bosshp", "")
    level9_bossmaxspeed = register_cvar("level9_bossmaxspeed", "")
    level10_respawns = register_cvar("level10_respawns", "")
    level10_health = register_cvar("level10_health", "")
    level10_maxspeed = register_cvar("level10_maxspeed", "")
    level10_bosshp = register_cvar("level10_bosshp", "")
    level10_bossmaxspeed = register_cvar("level10_bossmaxspeed", "")
    
    server_cmd
("zombie_level 1")
    server_cmd("mp_roundtime 5.0")
    server_cmd("mp_limitteams 0")
    server_cmd("mp_autoteambalance 1")
    server_cmd("mp_flashlight 1")
    server_cmd("mp_startmoney 0")
    server_cmd("mp_timelimit 0")
    server_cmd("mp_freezetime 0")
    server_cmd("sv_maxspeed 999")
    server_cmd("exec addons/amxmodx/configs/jurassic_park.cfg")
    server_cmd("exec addons/amxmodx/configs/jurassic_park_levels.cfg")
    
    set_msg_block
(get_user_msgid("RoundTime"), BLOCK_SET)
    set_msg_block(get_user_msgid("ClCorpse"), BLOCK_SET)
    
    set_task
(1.0, "hud", _, "", 0, "b")
    
    csdm_respawn
()
    g_maxplayers = get_maxplayers()
    
    g_hide_weapon 
= get_user_msgid("HideWeapon")
    g_screen_shake = get_user_msgid("ScreenShake")
    
    register_message
(get_user_msgid("TextMsg"), "round_end_message")
    register_message(g_hide_weapon, "message_hide_weapon")
    
    if 
(!g_pcvar_no_objectives) {
        new cvar_defval[8]
        get_flags(REMOVE_OBJECTIVES, cvar_defval, sizeof cvar_defval - 1)
        register_cvar(ZOMBIE_OBJECTIVES, cvar_defval)
    }
    
    if 
(is_objective_map())
    {
        return
    
}

    new iEnt = -1
    while
( ( iEnt = engfunc( EngFunc_FindEntityByString, iEnt, "classname", "armoury_entity" ) ) ) {
        engfunc( EngFunc_RemoveEntity, iEnt )
    }
}

public client_authorized(id)    {
    g_player_class[id] = 0;
}

///////////////////////////////////////////////////////////////////
// Mod Name                                                     //
/////////////////////////////////////////////////////////////////

public fm_game_description() 
{ 
    forward_return
(FMV_STRING, "• Парк Динозавров •") 
    return FMRES_SUPERCEDE
}

///////////////////////////////////////////////////////////////////
// Zombie Extra Health                                          //
/////////////////////////////////////////////////////////////////

public event_eat_brain()
{
    new client = read_data(1)
    new client2 = read_data(2)
    new name[32]
    new name2[32]
    get_user_name(client, name, 31)
    get_user_name(client2, name2, 31)
    if(cs_get_user_team(client) == CS_TEAM_T && is_user_alive(client))
    {
        set_user_health(client, get_user_health(client) + 300)        
        client_cmd
(0, "spk jurassic_park/rev_dino_1.wav")
    }
}

///////////////////////////////////////////////////////////////////
// Remove Weapon Entities                                       //
/////////////////////////////////////////////////////////////////

public Impulse_Light(id)
{
    if(!is_user_alive(id))
        return 0;    
        
    if
(get_user_team(id) != 2)
        return 1;
    
    return 0
;
}

public Clcmd_Nightvision(id)
{
    if(!is_user_alive(id))
        return 0;    
        
    if
(get_user_team(id) != 1)
        return 1;
    
    return 0
;
}

public ham_weapon_cleaner(iEntity)
{
    call_think(iEntity)
}

///////////////////////////////////////////////////////////////////
// Extra Knife Damage                                           //
/////////////////////////////////////////////////////////////////

public ham_zombie_knife(id, ent, idattacker, Float:damage, damagebits)
{
    if(ent == idattacker && is_user_alive(ent) && get_user_weapon(ent) == CSW_KNIFE && cs_get_user_team(id) == CS_TEAM_CT && get_pcvar_num(zombie_knife) == 1)
    {
        new Float:flHealth
        pev
(id, pev_health, flHealth)
        SetHamParamFloat(4, flHealth * 5)
        return HAM_HANDLED
    
}
    return HAM_IGNORED
}

///////////////////////////////////////////////////////////////////
// Round Start                                                  //
/////////////////////////////////////////////////////////////////

public event_round_start()
{
    for(new i = 1; i <= g_maxplayers; i++)
    {
        g_respawn_count[i] = 0
        remove_task
(i)
    }
    set_task(0.1, "zombie_game_start")
    if(get_pcvar_num(zombie_level))    {
        set_lights("b")
    }
    g_roundstart_time = get_gametime()
}

public zombie_game_start()
{
    set_task(1.0, "ambience_sound")
    set_task(1.0, "bot_cfg")
}

public ambience_sound()
{
client_cmd(0, "mp3 play sound/jurassic_park/zvuki_lesa.mp3")
set_task(1185.0, "ambience_sound")
}
 

///////////////////////////////////////////////////////////////////
// Permanently Hud Texts                                        //
/////////////////////////////////////////////////////////////////

public hud()
{
    new sInfo[64];
    
    for
(new id = 1; id <= g_iMaxPlayers; id++)
    {
        if(!is_user_alive(id))
            continue;
        
        switch
(get_user_team(id))    {
            case 1:{
                set_dhudmessage(0, 255, 0, 0.01, 0.92, 0, 0.1, 1.0, 0.1, 0.1);
                show_dhudmessage(id, "Тип • Динозавр • Ярость • Огонь [E] и Длинный прыжок • Здоровье • %i %%", get_user_health(id));
            }
            case 2:{
                switch(g_player_class[id])
                {
                    case 0: format(sInfo, charsmax(sInfo), "Не Выбран");
                    case 1: format(sInfo, charsmax(sInfo), "Шрам");
                    case 2: format(sInfo, charsmax(sInfo), "Чоппер");
                    case 3: format(sInfo, charsmax(sInfo), "Ночной Волк");
                    case 4: format(sInfo, charsmax(sInfo), "Кельт");
                    case 5: format(sInfo, charsmax(sInfo), "Берсеркер");
                    case 6: format(sInfo, charsmax(sInfo), "Охотник");
                    case 7: format(sInfo, charsmax(sInfo), "Старейшина");
                    case 8: format(sInfo, charsmax(sInfo), "Повелитель");
                    case 9: format(sInfo, charsmax(sInfo), "Властелин");
                }
                set_dhudmessage(255, 255, 255, 0.01, 0.92, 0, 0.1, 1.0, 0.1, 0.1);
                show_dhudmessage(id, "Тип • Хищник • Класс • %s • Ярость • Дым [E] • Здоровье • %i %%", sInfo, get_user_health(id));
            }
        }
    }
    
    if
(get_pcvar_num(zombie_level))    {
        server_cmd("zombie_knife 0")
    }
}

///////////////////////////////////////////////////////////////////
// Bot Settings                                                 //
/////////////////////////////////////////////////////////////////

public bot_cfg()
{
    server_cmd("pb_minbots %d", get_pcvar_num(zombie_maxslots))
    server_cmd("pb_maxbots %d", get_pcvar_num(zombie_maxslots))
    //server_cmd("pb_bot_quota_match 0")
    //server_cmd("pb_mapstartbotdelay 1.0")
    //server_cmd("pb_bot_join_team T")
    //server_cmd("pb_minbotskill 100")
    //server_cmd("pb_maxbotskill 100")
    //server_cmd("pb_jasonmode 1")
    //server_cmd("pb_detailnames 0")
    //server_cmd("pb_chat 0")
    //server_cmd("pb_radio 1")
    //server_cmd("pb_aim_type 1")
}

///////////////////////////////////////////////////////////////////
// Set Zombie/Survivor Values                                   //
/////////////////////////////////////////////////////////////////

public event_set_power(id)
{
    message_begin(MSG_ONE, g_hide_weapon, _, id)
    write_byte(1<<4)
    message_end()
    
    set_task
(0.1, "round_start_effects", id)
    
    switch
(cs_get_user_team(id))    {
        case CS_TEAM_CT:{
            set_task(0.1, "survivor_power1", id)
        }
        case CS_TEAM_T:{
            new szFunc[16];
            formatex(szFunc, charsmax(szFunc), "zombie_power_%i", get_pcvar_num(zombie_level));
            set_task(0.1, szFunc, id)
        }
    }
}

public zombie_power_1(id)
{
    cs_set_user_money(id, 0)
    g_boss_class[id] = 0
    g_zombie_class
[id] = 1
    cs_set_user_nvg
(id, 1)
    set_user_health(id, get_pcvar_num(level1_health))
    set_user_maxspeed(id, get_pcvar_float(level1_maxspeed))
    set_user_gravity(id, 0.5)
}

public zombie_power_2(id)
{
    cs_set_user_money(id, 0)
    g_boss_class[id] = 0
    g_zombie_class
[id] = 2
    cs_set_user_nvg
(id, 1)
    set_user_health(id, get_pcvar_num(level2_health))
    set_user_maxspeed(id, get_pcvar_float(level2_maxspeed))
    set_user_gravity(id, 0.5)
}

public zombie_power_3(id)
{
    cs_set_user_money(id, 0)
    g_boss_class[id] = 0
    g_zombie_class
[id] = 3
    cs_set_user_nvg
(id, 1)
    set_user_health(id, get_pcvar_num(level3_health))
    set_user_maxspeed(id, get_pcvar_float(level3_maxspeed))
    set_user_gravity(id, 0.5)
}

public zombie_power_4(id)
{
    cs_set_user_money(id, 0)
    g_boss_class[id] = 0
    g_zombie_class
[id] = 4
    cs_set_user_nvg
(id, 1)
    set_user_health(id, get_pcvar_num(level4_health))
    set_user_maxspeed(id, get_pcvar_float(level4_maxspeed))
    set_user_gravity(id, 0.5)
}

public zombie_power_5(id)
{
    cs_set_user_money(id, 0)
    g_boss_class[id] = 0
    g_zombie_class
[id] = 5
    cs_set_user_nvg
(id, 1)
    set_user_health(id, get_pcvar_num(level5_health))
    set_user_maxspeed(id, get_pcvar_float(level5_maxspeed))
    set_user_gravity(id, 0.5)
}

public zombie_power_6(id)
{
    cs_set_user_money(id, 0)
    g_boss_class[id] = 0
    g_zombie_class
[id] = 6
    cs_set_user_nvg
(id, 1)
    set_user_health(id, get_pcvar_num(level6_health))
    set_user_maxspeed(id, get_pcvar_float(level6_maxspeed))
    set_user_gravity(id, 0.5)
}

public zombie_power_7(id)
{
    cs_set_user_money(id, 0)
    g_boss_class[id] = 0
    g_zombie_class
[id] = 7
    cs_set_user_nvg
(id, 1)
    set_user_health(id, get_pcvar_num(level7_health))
    set_user_maxspeed(id, get_pcvar_float(level7_maxspeed))
    set_user_gravity(id, 0.5)
}

public zombie_power_8(id)
{
    cs_set_user_money(id, 0)
    g_boss_class[id] = 0
    g_zombie_class
[id] = 8
    cs_set_user_nvg
(id, 1)
    set_user_health(id, get_pcvar_num(level8_health))
    set_user_maxspeed(id, get_pcvar_float(level8_maxspeed))
    set_user_gravity(id, 0.5)
}

public zombie_power_9(id)
{
    cs_set_user_money(id, 0)
    g_boss_class[id] = 0
    g_zombie_class
[id] = 9
    cs_set_user_nvg
(id, 1)
    set_user_health(id, get_pcvar_num(level9_health))
    set_user_maxspeed(id, get_pcvar_float(level9_maxspeed))
    set_user_gravity(id, 0.5)
}

public zombie_power_10(id)
{
    cs_set_user_money(id, 0)
    g_boss_class[id] = 0
    g_zombie_class
[id] = 10
    cs_set_user_nvg
(id, 1)
    set_user_health(id, get_pcvar_num(level10_health))
    set_user_maxspeed(id, get_pcvar_float(level10_maxspeed))
    set_user_gravity(id, 0.3)
}

public survivor_power1(id) {
    g_zombie_class[id] = 0
    g_boss_class
[id] = 0
    if 
(get_pcvar_num(survivor_weaponkit) == 1)
        if(get_user_team(id) != 2 && get_user_weapon(id) != CSW_KNIFE)
        {
                return
        
}
        strip_user_weapons(id)
    {
        give_item(id, "weapon_ak47")
        cs_set_user_bpammo(id, CSW_AK47, 200)
        give_item(id, "weapon_m4a1")
        cs_set_user_bpammo(id, CSW_M4A1, 200)
        give_item(id, "weapon_m249")
        cs_set_user_bpammo(id, CSW_M249, 200)
        give_item(id, "weapon_mp5navy")
        cs_set_user_bpammo(id, CSW_MP5NAVY, 200)
        give_item(id, "weapon_aug")
        cs_set_user_bpammo(id, CSW_AUG, 200)
        give_item(id, "weapon_m3")
        cs_set_user_bpammo(id, CSW_M3, 200)
        give_item(id, "weapon_galil")
        cs_set_user_bpammo(id, CSW_GALIL, 200)
        give_item(id, "weapon_xm1014")
        cs_set_user_bpammo(id, CSW_XM1014, 200)
        give_item(id, "weapon_deagle")
        cs_set_user_bpammo(id, CSW_DEAGLE, 200)
        give_item(id, "weapon_flashbang")
        give_item(id, "weapon_flashbang")
        give_item(id, "weapon_hegrenade")
        give_item(id, "weapon_smokegrenade")
        cs_set_user_nvg( id, 1)
        cs_set_user_armor ( id, 100, CsArmorType:)
    }
    if(get_pcvar_num(survivor_classes) == 1)
    {
        if(!g_bChoose[id])
            set_task(1.0, "task_show_surv_class_menu", id)
    }
}

///////////////////////////////////////////////////////////////////
// Set Zombie Model                                             //
/////////////////////////////////////////////////////////////////

public ham_player_spawn(id)
{
    if(!is_user_alive(id) || !cs_get_user_team(id))
        return
    g_zombie
[id] = cs_get_user_team(id) == CS_TEAM_T ? true : false
    remove_task
(id + 100)
    if(g_zombie[id])
    {
        switch (random_num(1, 3))
        {
            case 1: copy(g_player_model[id], charsmax( g_player_model[] ), ZOMBIE_MODEL1)
            case 2: copy(g_player_model[id], charsmax( g_player_model[] ), ZOMBIE_MODEL2)
            case 3: copy(g_player_model[id], charsmax( g_player_model[] ), ZOMBIE_MODEL3)
        }
        new currentmodel[32]
        fm_get_user_model(id, currentmodel, charsmax(currentmodel))
        if(!equal(currentmodel, g_player_model[id]))
        {
            if(get_gametime() - g_roundstart_time < 5.0)
                set_task(5.0 * 0.5, "fm_user_model_update", id + 100)
            else
                fm_user_model_update
(id + 100)
        }
    }
    else if(g_has_custom_model[id])
    {
        fm_reset_user_model(id)
        
        switch
(g_player_class[id])
        {
            case 1: set_user_health(id, 50);
            case 2: set_user_health(id, 300);
            case 3: set_user_health(id, 10); 
            case 4
: set_user_health(id, 100);
            case 5: set_user_health(id, 1);
            case 6: set_user_health(id, 500);
            case 7: set_user_health(id, 40)
            case 8: set_user_health(id, 40)
            case 9: set_user_health(id, 300);
        }
    }
}

public fm_client_key(id, const infobuffer[], const key[])
{
   
    if
(g_has_custom_model[id] && equal(key, "model"))
        return FMRES_SUPERCEDE
    return FMRES_IGNORED
}

public fm_client_info(id)
{
    if(!g_has_custom_model[id])
        return FMRES_IGNORED
    static currentmodel
[32]
    fm_get_user_model(id, currentmodel, charsmax(currentmodel))
    if(!equal(currentmodel, g_player_model[id]) && !task_exists(id + 100))
        fm_set_user_model(id + 100)
    return FMRES_IGNORED
}

public fm_user_model_update(taskid)
{
    static Float:current_time
    current_time 
= get_gametime()
    
    if
(current_time - g_models_target_time >= 0.5)
    {
        fm_set_user_model(taskid)
        g_models_target_time = current_time
    
}
    else
    
{
        set_task((g_models_target_time + 0.5) - current_time, "fm_set_user_model", taskid)
        g_models_target_time = g_models_target_time + 0.5
    
}
}

public fm_set_user_model(player)
{
    player -= 100
    engfunc
(EngFunc_SetClientKeyValue, player, engfunc(EngFunc_GetInfoKeyBuffer, player), "model", g_player_model[player])
    g_has_custom_model[player] = true
}

///////////////////////////////////////////////////////////////////
// Player Connected                                             //
/////////////////////////////////////////////////////////////////

public client_connect(id)
{
    g_first_spawn[id] = true
}

///////////////////////////////////////////////////////////////////
// Player Disconnected                                          //
/////////////////////////////////////////////////////////////////

public client_disconnect(id)
{
    remove_task(id)
    g_respawn_count[id] = 0
    g_bChoose
[id] = false;
}

///////////////////////////////////////////////////////////////////
// Death Event                                                  //
/////////////////////////////////////////////////////////////////

public ham_player_killed(victim, attacker, shouldgib)
{
    new cts[32], ts[32], ctsnum, tsnum
    new CsTeams
:team
    
    for
(new i=1; i<=g_maxplayers; i++)
    {
        if(!is_user_alive(i))
        {
            continue
        
}
        team = cs_get_user_team(i)
        if(team == CS_TEAM_T)
        {
            ts[tsnum++] = i
            
} else if(team == CS_TEAM_CT) {
            cts[ctsnum++] = i
        
}
    }
    if(ctsnum == 0)
    {
        switch(get_pcvar_num(zombie_level))
        {
            case 1:
            {
                server_cmd("zombie_level 1")
                server_cmd("zombie_respawns %d", get_pcvar_num(level1_respawns))
            }
            case 2:
            {
                server_cmd("zombie_level 1")
                server_cmd("zombie_respawns %d", get_pcvar_num(level1_respawns))
            }
            case 3:
            {
                server_cmd("zombie_level 2")
                server_cmd("zombie_respawns %d", get_pcvar_num(level2_respawns))
            }
            case 4:
            {
                server_cmd("zombie_level 3")
                server_cmd("zombie_respawns %d", get_pcvar_num(level3_respawns))
            }
            case 5:
            {
                server_cmd("zombie_level 4")
                server_cmd("zombie_respawns %d", get_pcvar_num(level4_respawns))
            }
            case 6:
            {
                server_cmd("zombie_level 5")
                server_cmd("zombie_respawns %d", get_pcvar_num(level5_respawns))
            }
            case 7:
            {
                server_cmd("zombie_level 6")
                server_cmd("zombie_respawns %d", get_pcvar_num(level6_respawns))
            }
            case 8:
            {
                server_cmd("zombie_level 7")
                server_cmd("zombie_respawns %d", get_pcvar_num(level7_respawns))
            }
            case 9:
            {
                server_cmd("zombie_level 8")
                server_cmd("zombie_respawns %d", get_pcvar_num(level8_respawns))
            }
            case 10:
            {
                server_cmd("zombie_level 9")
                server_cmd("zombie_respawns %d", get_pcvar_num(level9_respawns))
            }
        }
    }
    if(tsnum == 0)
    {
        switch(get_pcvar_num(zombie_level))
        {
            case 1:
            {
                server_cmd("zombie_level 2")
                server_cmd("zombie_respawns %d", get_pcvar_num(level2_respawns))
            }
            case 2:
            { 
                server_cmd
("zombie_level 3")
                server_cmd("zombie_respawns %d", get_pcvar_num(level3_respawns))
            }
            case 3:
            { 
                server_cmd
("zombie_level 4")
                server_cmd("zombie_respawns %d", get_pcvar_num(level4_respawns))
            }
            case 4:
            {
                server_cmd("zombie_level 5")
                server_cmd("zombie_respawns %d", get_pcvar_num(level5_respawns))
            }
            case 5:
            { 
                server_cmd
("zombie_level 6")
                server_cmd("zombie_respawns %d", get_pcvar_num(level6_respawns))
            }
            case 6:
            { 
                server_cmd
("zombie_level 7")
                server_cmd("zombie_respawns %d", get_pcvar_num(level7_respawns))
            }
            case 7:
            {
                server_cmd("zombie_level 8")
                server_cmd("zombie_respawns %d", get_pcvar_num(level8_respawns))
            }
            case 8:
            { 
                server_cmd
("zombie_level 9")
                server_cmd("zombie_respawns %d", get_pcvar_num(level9_respawns))
            }
            case 9:
            { 
                server_cmd
("zombie_level 10")
                server_cmd("zombie_respawns %d", get_pcvar_num(level10_respawns))
            }
            case 10:
            {
                set_task(3.0, "new_map")
                server_cmd("zombie_level 1")
                server_cmd("zombie_respawns %d", get_pcvar_num(level1_respawns))
            }
        }
    }  
    if
(tsnum == 1 && g_boss_class[ts[0]] < 1)
    {
        switch(get_pcvar_num(zombie_level))
        {
            case 1:
            {
                g_zombie_class[ts[0]] = 0
                g_boss_class
[ts[0]] = 1
                new tname
[32]
                get_user_name(ts[0], tname, 31)
                set_hudmessage(255, 255, 255, -1.0, 0.20, 0, 6.0, 999.0, 0.1, 0.2, 2)
                //show_hudmessage(0, "%s Теперь он босс!!!", tname)
                client_cmd(0,"stopsound")
                client_cmd(0, "mp3 play sound/jurassic_park/boss_dinosaurs_sound.mp3")
                set_user_health(ts[0], get_pcvar_num(level1_bosshp))
                set_user_maxspeed(ts[0], get_pcvar_float(level1_bossmaxspeed))
                server_cmd("zombie_knife 1")
                set_task(1.0, "boss_beacon", ts[0])
            }
            case 2:
            {
                g_zombie_class[ts[0]] = 0
                g_boss_class
[ts[0]] = 2
                
                client_cmd
(0,"stopsound")
                client_cmd(0, "mp3 play sound/jurassic_park/boss_dinosaurs_sound.mp3")
                set_user_health(ts[0], get_pcvar_num(level2_bosshp))
                set_user_maxspeed(ts[0], get_pcvar_float(level2_bossmaxspeed))
                server_cmd("zombie_knife 1")
                set_task(1.0, "boss_beacon", ts[0])
            }
            case 3:
            { 
                g_zombie_class
[ts[0]] = 0
                g_boss_class
[ts[0]] = 3
                
                client_cmd
(0,"stopsound")
                client_cmd(0, "mp3 play sound/jurassic_park/boss_dinosaurs_sound.mp3")
                set_user_health(ts[0], get_pcvar_num(level3_bosshp))
                set_user_maxspeed(ts[0], get_pcvar_float(level3_bossmaxspeed))
                server_cmd("zombie_knife 1")
                set_task(1.0, "boss_beacon", ts[0])
            }
            case 4:
            { 
                g_zombie_class
[ts[0]] = 0
                g_boss_class
[ts[0]] = 4
                
                client_cmd
(0,"stopsound")
                client_cmd(0, "mp3 play sound/jurassic_park/boss_dinosaurs_sound.mp3")
                set_user_health(ts[0], get_pcvar_num(level4_bosshp))
                set_user_maxspeed(ts[0], get_pcvar_float(level4_bossmaxspeed))
                server_cmd("zombie_knife 1")
                set_task(1.0, "boss_beacon", ts[0])
            }
            case 5:
            { 
                g_zombie_class
[ts[0]] = 0
                g_boss_class
[ts[0]] = 5
                
                client_cmd
(0,"stopsound")
                client_cmd(0, "mp3 play sound/jurassic_park/boss_dinosaurs_sound.mp3")
                set_user_health(ts[0], get_pcvar_num(level5_bosshp))
                set_user_maxspeed(ts[0], get_pcvar_float(level5_bossmaxspeed))
                server_cmd("zombie_knife 1")
                set_task(1.0, "boss_beacon", ts[0])
            }
            case 6:
            { 
                g_zombie_class
[ts[0]] = 0
                g_boss_class
[ts[0]] = 6
                
                client_cmd
(0,"stopsound")
                client_cmd(0, "mp3 play sound/jurassic_park/boss_dinosaurs_sound.mp3")
                set_user_health(ts[0], get_pcvar_num(level6_bosshp))
                set_user_maxspeed(ts[0], get_pcvar_float(level6_bossmaxspeed))
                server_cmd("zombie_knife 1")
                set_task(1.0, "boss_beacon", ts[0])
            }
            case 7:
            { 
                g_zombie_class
[ts[0]] = 0
                g_boss_class
[ts[0]] = 7
                
                client_cmd
(0,"stopsound")
                client_cmd(0, "mp3 play sound/jurassic_park/boss_dinosaurs_sound.mp3")
                set_user_health(ts[0], get_pcvar_num(level7_bosshp))
                set_user_maxspeed(ts[0], get_pcvar_float(level7_bossmaxspeed))
                server_cmd("zombie_knife 1")
                set_task(1.0, "boss_beacon", ts[0])
            }
            case 8:
            { 
                g_zombie_class
[ts[0]] = 0
                g_boss_class
[ts[0]] = 8
                
                client_cmd
(0,"stopsound")
                client_cmd(0, "mp3 play sound/jurassic_park/boss_dinosaurs_sound.mp3")
                set_user_health(ts[0], get_pcvar_num(level8_bosshp))
                set_user_maxspeed(ts[0], get_pcvar_float(level8_bossmaxspeed))
                server_cmd("zombie_knife 1")
                set_task(1.0, "boss_beacon", ts[0])
            }
            case 9:
            { 
                g_zombie_class
[ts[0]] = 0
                g_boss_class
[ts[0]] = 9
                
                client_cmd
(0,"stopsound")
                client_cmd(0, "mp3 play sound/jurassic_park/boss_dinosaurs_sound.mp3")
                set_user_health(ts[0], get_pcvar_num(level9_bosshp))
                set_user_maxspeed(ts[0], get_pcvar_float(level9_bossmaxspeed))
                server_cmd("zombie_knife 1")
                set_task(1.0, "boss_beacon", ts[0])
            }
            case 10:
            { 
                g_zombie_class
[ts[0]] = 0
                g_boss_class
[ts[0]] = 10
                
                client_cmd
(0,"stopsound")
                client_cmd(0, "mp3 play sound/jurassic_park/boss_dinosaurs_sound.mp3")
                set_user_health(ts[0], get_pcvar_num(level10_bosshp))
                set_user_maxspeed(ts[0], get_pcvar_float(level10_bossmaxspeed))
                server_cmd("zombie_knife 1")
                set_task(1.0, "boss_beacon", ts[0])
            }
        }
    }  
    if
(cs_get_user_team(victim) == CS_TEAM_T && get_pcvar_num(zombie_effect) == 1)
    {
        static Float:FOrigin2[3]
        pev(victim, pev_origin, FOrigin2)
        engfunc(EngFunc_MessageBegin, MSG_PVS, SVC_TEMPENTITY, FOrigin2, 0)
        write_byte(TE_PARTICLEBURST)
        engfunc(EngFunc_WriteCoord, FOrigin2[0])
        engfunc(EngFunc_WriteCoord, FOrigin2[1])
        engfunc(EngFunc_WriteCoord, FOrigin2[2])
        write_short(50)
        write_byte(72)
        write_byte(10)
        message_end()
    }
}
  

public new_map
()
{
    new nextmap[32]
    get_cvar_string("amx_nextmap", nextmap, 31)
    server_cmd("changelevel %s", nextmap)
}

///////////////////////////////////////////////////////////////////
// Death Event 2                                                //
/////////////////////////////////////////////////////////////////

public event_death_msg()
{
    new zrespawn = read_data(2)
    set_pev(zrespawn, pev_effects, EF_NODRAW)
    if(get_user_team(zrespawn) == 0)
    {
        if(++g_respawn_count[zrespawn] > get_pcvar_num(zombie_respawns))
        {
            return
        
}
        set_task(1.0, "zombie_respawner", zrespawn)
    }
}

///////////////////////////////////////////////////////////////////
// Survivor Respawn                                             //
/////////////////////////////////////////////////////////////////

public ham_killed_respawn(id)
{
    if(is_user_connected(id) && cs_get_user_team(id) == CS_TEAM_CT)
    {
        g_respawn_delay[id] = 10
        survivor_respawner
(id)
    }
}

public survivor_respawner(id)
{
    if(is_user_alive(id) || !is_user_connected(id))
        return PLUGIN_CONTINUE
    
    if
(g_respawn_delay[id] > 0)
    {
        g_respawn_delay[id]--
        set_task(1.0, "survivor_respawner", id)
    }
    else
        ExecuteHamB
(Ham_CS_RoundRespawn, id)
    
    return PLUGIN_CONTINUE
}

public join_spawn()
{
    new player_spawn = read_data(1)
    static user_team[32]
    
    read_data
(2, user_team, 31) 
    
    if
(!is_user_connected(player_spawn))
        return PLUGIN_CONTINUE
    
    switch
(user_team[0])
    {
        case 'C': set_task(1.0, "survivor_respawner", player_spawn)
            //case 'T': client_print(player_spawn, print_chat, "Zombies cant use this respawn method!")
            //case 'S': client_print(player_spawn, print_chat, "Spectators cant use this respawn method!")
    }
    return PLUGIN_CONTINUE
}

///////////////////////////////////////////////////////////////////
// CSDM Respawn                                                 //
/////////////////////////////////////////////////////////////////

public zombie_respawner(zrespawn)
{
    new cts[32], ts[32], ctsnum, tsnum
    new CsTeams
:team
    
    for
(new i=1; i<=g_maxplayers; i++)
    {
        if(!is_user_alive(i))
        {
            continue
        
}
        team = cs_get_user_team(i)
        if(team == CS_TEAM_T)
        {
            ts[tsnum++] = i
            
} else if(team == CS_TEAM_T) {
            cts[ctsnum++] = i
        
}
    }
    if(tsnum > 1)
    {
        switch(get_pcvar_num(zombie_spawnpoint))
        {
            case 1:
            { 
                ExecuteHamB
(Ham_CS_RoundRespawn, zrespawn)
                set_task(0.1, "respawn_effect", zrespawn)
                strip_user_weapons(zrespawn)
                give_item(zrespawn, "")
                set_user_godmode(zrespawn, 1) 
                set_task
(5.0, "remove_zombie_protection", zrespawn)
            }
            case 2:
            { 
                pev
(zrespawn, pev_origin, g_vec_last_origin[zrespawn])
                ExecuteHamB(Ham_CS_RoundRespawn, zrespawn)
                engfunc(EngFunc_SetOrigin, zrespawn, g_vec_last_origin[zrespawn])
                set_task(0.1, "respawn_effect", zrespawn)
                strip_user_weapons(zrespawn)
                give_item(zrespawn, "")
                set_user_godmode(zrespawn, 1) 
                set_task
(5.0, "remove_zombie_protection", zrespawn)
            }
        }
    }
}

csdm_respawn()
{
   
new map
[32], config[32],  mapfile[64]

get_mapname(map, 31)
get_configsdir(config, 31)
format(mapfile, 63, "%s\csdm\%s.spawns.cfg", config, map)
g_total_spawn = 0

if 
(file_exists(mapfile)) 
{
    new new_data[124], len
    new line 
= 0
    new pos
[12][8]
    
    while
(g_total_spawn < 60 && (line = read_file(mapfile , line , new_data , 123 , len) ) != 0 ) 
    
{
        if (strlen(new_data)<|| new_data[0] == '[')
            continue
            
        parse
(new_data, pos[1], 7, pos[2], 7, pos[3], 7, pos[4], 7, pos[5], 7, pos[6], 7, pos[7], 7, pos[8], 7, pos[9], 7, pos[10], 7)
        
        g_spawn_vec
[g_total_spawn][0] = str_to_float(pos[1])
        g_spawn_vec[g_total_spawn][1] = str_to_float(pos[2])
        g_spawn_vec[g_total_spawn][2] = str_to_float(pos[3])
        
        g_spawn_angle
[g_total_spawn][0] = str_to_float(pos[4])
        g_spawn_angle[g_total_spawn][1] = str_to_float(pos[5])
        g_spawn_angle[g_total_spawn][2] = str_to_float(pos[6])
            
        g_spawn_v_angle
[g_total_spawn][0] = str_to_float(pos[8])
        g_spawn_v_angle[g_total_spawn][1] = str_to_float(pos[9])
        g_spawn_v_angle[g_total_spawn][2] = str_to_float(pos[10])
        
        g_total_spawn
++
        }
        
    if 
(g_total_spawn >= 2 && get_pcvar_num(zombie_spawnpoint) == 1)
    {
        RegisterHam(Ham_Spawn, "player", "csdm_player_spawn", 1)
    }
}
return 1
}

public csdm_player_spawn(id)
{
    if (!is_user_alive(id) || cs_get_user_team(id) == CS_TEAM_CT)
        return
    
    if 
(g_first_spawn[id])
    {
        g_first_spawn[id] = false
        return
    
}
    
    new list
[60]
    new num = 0
    new final 
= -1
    new total
=0
    new players
[32], n, x = 0
    new Float
:loc[32][3], locnum
    
    get_players
(players, num)
    for (new i=0; i<num; i++)
    {
        if (is_user_alive(players[i]) && players[i] != id)
        {
            pev(players[i], pev_origin, loc[locnum])
            locnum++
        }
    }
    
    num 
= 0
    while 
(num <= g_total_spawn)
    {
        if (num == g_total_spawn)
            break
        n 
= random_num(0, g_total_spawn-1)
        if (!list[n])
        {
            list[n] = 1
            num
++
        } 
        else 
        
{
            total++
            if (total > 100)
                break
            continue  
        
}
        
        if 
(locnum < 1)
        {
            final = n
            break
        
}
        
        final 
= n
        for 
(= 0; x < locnum; x++)
        {
            new Float:distance = get_distance_f(g_spawn_vec[n], loc[x])
            if (distance < 250.0)
            {
                final = -1
                break
            
}
        }
        
        if 
(final != -1)
            break
    
}
    
    if 
(final != -1)
    {
        new Float:mins[3], Float:maxs[3]
        pev(id, pev_mins, mins)
        pev(id, pev_maxs, maxs)
        engfunc(EngFunc_SetSize, id, mins, maxs)
        engfunc(EngFunc_SetOrigin, id, g_spawn_vec[final])
        set_pev(id, pev_fixangle, 1)
        set_pev(id, pev_angles, g_spawn_angle[final])
        set_pev(id, pev_v_angle, g_spawn_v_angle[final])
        set_pev(id, pev_fixangle, 1)
    }
}
  

///////////////////////////////////////////////////////////////////
// Respawn Effect                                               //
/////////////////////////////////////////////////////////////////

public respawn_effect(id)
{
    if(get_pcvar_num(zombie_effect) == 1)
    {
        static Float:FOrigin3[3] 
        pev
(id, pev_origin, FOrigin3)
        
        engfunc
(EngFunc_MessageBegin, MSG_PVS, SVC_TEMPENTITY, FOrigin3, 0)
        write_byte(TE_IMPLOSION) 
        engfunc
(EngFunc_WriteCoord, FOrigin3[0])
        engfunc(EngFunc_WriteCoord, FOrigin3[1]) 
        engfunc
(EngFunc_WriteCoord, FOrigin3[2]) 
        write_byte
(255)
        write_byte(255)
        write_byte(5)  
        message_end
()
    }
}

///////////////////////////////////////////////////////////////////
// Respawn Protection                                           //
/////////////////////////////////////////////////////////////////

public remove_zombie_protection(id)
{
    set_user_godmode(id, 0)
    give_item(id, "weapon_knife")
}

///////////////////////////////////////////////////////////////////
// Survivor Classes                                             //
/////////////////////////////////////////////////////////////////

public task_show_surv_class_menu(id)
{
    if(cs_get_user_team(id) != CS_TEAM_CT)
        return;
    
    if
(g_player_class[id] != 0)
        return;
    
    survivor_class_menu
(id);
    g_bChoose[id] = true;
}

public clcmd_show_surv_class_menu(id)
{
    if(cs_get_user_team(id) != CS_TEAM_CT)
    {
#if AMXX_VERSION_NUM < 183
ColorChat(id, RED, "^4[ Парк Динозавров ] ^1Это меню доступно только ^3Хищникам !")
#else
client_print_color(id, print_team_red, "^4[ Парк Динозавров ] ^1Это меню доступно только ^3Хищникам !")
#endif 
        return;
    }
    
    survivor_class_menu
(id)
}

public survivor_class_menu(id)
{
    
    new menuid 
= menu_create("\rПарк Динозавров\w^n\yКлассы Хищников\w", "survivor_menu_handler")
    menu_additem(menuid, "Шрам", "1", 0)
    menu_additem(menuid, "Чоппер", "2", 0)
    menu_additem(menuid, "Ночной Волк", "3", 0)
    menu_additem(menuid, "Кельт", "4", 0)
    menu_additem(menuid, "Берсеркер", "5", 0)
    menu_additem(menuid, "Охотник", "6", 0)
    menu_additem(menuid, "Старейшина", "7", 0)
    menu_additem(menuid, "Повелитель", "8", 0)
    menu_additem(menuid, "Властелин", "9", 0)
    menu_setprop(menuid, MPROP_PERPAGE, 0);
    menu_setprop(menuid, MPROP_EXIT, MEXIT_NEVER); 
    menu_display
(id, menuid, 0)
}

public survivor_menu_handler(id, menuid, item)
{
    new data[6], iName[64]
    new access, callback
    menu_item_getinfo
(menuid, item, access, data,5, iName, 63, callback)
    new key = str_to_num(data)
    switch(key)
    {
        case 1:
        {
            g_zombie_class[id] = 0
            g_boss_class
[id] = 0
            g_player_class
[id] = 1
            set_user_health
(id, 50)
            set_user_maxspeed(id, 275.0)
            ColorChat(id, RED, "^4[ Парк Динозавров ] ^3Ваш класс Хищника ^4[ Шрам ]", g_player_class)
        }
        case 2:
        {
            g_zombie_class[id] = 0
            g_boss_class
[id] = 0
            g_player_class
[id] = 2
            set_user_health
(id, 300)
            set_user_maxspeed(id, 165.0)
            ColorChat(id, RED, "^4[ Парк Динозавров ] ^3Ваш класс Хищника ^4[ Чоппер ]", g_player_class)
        }
        case 3: 
        
{
            g_zombie_class[id] = 0
            g_boss_class
[id] = 0
            g_player_class
[id] = 3
            set_user_health
(id, 10)
            set_user_maxspeed(id, 380.0)
            ColorChat(id, RED, "^4[ Парк Динозавров ] ^3Ваш класс Хищника ^4[ Ночной Волк ]", g_player_class)
        }
        case 4: 
        
{
            g_zombie_class[id] = 0
            g_boss_class
[id] = 0
            g_player_class
[id] = 4
            set_user_health
(id, 100)
            set_user_maxspeed(id, 250.0)        
            ColorChat
(id, RED, "^4[ Парк Динозавров ] ^3Ваш класс Хищника ^4[ Кельт ]", g_player_class)    
        
}
        case 5: 
        
{
            g_zombie_class[id] = 0
            g_boss_class
[id] = 0
            g_player_class
[id] = 5
            set_user_health
(id, 1)
            set_user_maxspeed(id, 400.0)
            set_user_gravity(id, 0.3)
            ColorChat(id, RED, "^4[ Парк Динозавров ] ^3Ваш класс Хищника ^4[ Берсеркер ]", g_player_class)
        }
        case 6: 
        
{
            g_zombie_class[id] = 0
            g_boss_class
[id] = 0
            g_player_class
[id] = 6
            set_user_health
(id, 500)
            set_user_maxspeed(id, 220.0)
            set_user_gravity(id, 3.2)
            ColorChat(id, RED, "^4[ Парк Динозавров ] ^3Ваш класс Хищника ^4[ Охотник ]", g_player_class)
        }
        case 7: 
        
{
            g_zombie_class[id] = 0
            g_boss_class
[id] = 0
            g_player_class
[id] = 7
            set_user_health
(id, 40)
            set_user_maxspeed(id, 210.0)
            set_user_gravity(id, 0.5)
            ColorChat(id, RED, "^4[ Парк Динозавров ] ^3Ваш класс Хищника ^4[ Старейшина ]", g_player_class)
        }
        case 8: 
        
{
            g_zombie_class[id] = 0
            g_boss_class
[id] = 0
            g_player_class
[id] = 8
            set_user_health
(id, 800)
            set_user_maxspeed(id, 120.0)
            ColorChat(id, RED, "^4[ Парк Динозавров ] ^3Ваш класс Хищника ^4[ Повелитель ]", g_player_class)
        }
        case 9: 
        
{
            g_zombie_class[id] = 0
            g_boss_class
[id] = 0
            g_player_class
[id] = 9
            set_user_health
(id, 300)
            set_user_maxspeed(id, 600.0)
            set_user_gravity(id, 7.5)
            ColorChat(id, RED, "^4[ Парк Динозавров ] ^3Ваш класс Хищника ^4[ Властелин ]", g_player_class)
        }
    }
    menu_destroy(menuid)
    return PLUGIN_HANDLED
}

///////////////////////////////////////////////////////////////////
// Weapon Switch Event                                          //
/////////////////////////////////////////////////////////////////

public event_check_speed(id)
{
    if(g_player_class[id])
    {
        switch(g_player_class[id])
        {
            case 1:
            { 
                    set_user_health
(id, 50)
                    set_user_maxspeed(id, 275.0)
            }
            case 2:
            { 
                    set_user_health
(id, 300)
                    set_user_maxspeed(id, 165.0)
            }
            case 3:
            { 
                    set_user_health
(id, 10)
                    set_user_maxspeed(id, 380.0)
            }
            case 4:
            { 
                    set_user_health
(id, 100)
                    set_user_maxspeed(id, 250.0)    
            
}
            case 5:
            { 
                    set_user_health
(id, 1)
                    set_user_maxspeed(id, 400.0)
                    set_user_gravity(id, 0.3)
            }
            case 6:
            { 
                    set_user_health
(id, 500)
                    set_user_maxspeed(id, 220.0)
                    set_user_gravity(id, 3.2)
            }
            case 7:
            { 
                    set_user_health
(id, 40)
                    set_user_maxspeed(id, 210.0)
                    set_user_gravity(id, 0.5)
            }
            case 8:
            { 
                    set_user_health
(id, 800)
                    set_user_maxspeed(id, 120.0)
            }
            case 9:
            { 
                    set_user_health
(id, 300)
                    set_user_maxspeed(id, 600.0)
                    set_user_gravity(id, 7.5)
            }
        }
    }
    if(g_zombie_class[id])
    {
        switch(g_zombie_class[id])
        {
            case 1:
            {
                engclient_cmd(id, "weapon_knife")
                set_user_maxspeed(id, get_pcvar_float(level1_maxspeed))
            }
            case 2:
            { 
                engclient_cmd
(id, "weapon_knife")
                set_user_maxspeed(id, get_pcvar_float(level2_maxspeed))
            }
            case 3:
            { 
                engclient_cmd
(id, "weapon_knife")
                set_user_maxspeed(id, get_pcvar_float(level3_maxspeed))
            }
            case 4:
            { 
                engclient_cmd
(id, "weapon_knife")
                set_user_maxspeed(id, get_pcvar_float(level4_maxspeed))
            }
            case 5:
            { 
                engclient_cmd
(id, "weapon_knife")
                set_user_maxspeed(id, get_pcvar_float(level5_maxspeed))
            }
            case 6:
            { 
                engclient_cmd
(id, "weapon_knife")
                set_user_maxspeed(id, get_pcvar_float(level6_maxspeed))
            }
            case 7:
            { 
                engclient_cmd
(id, "weapon_knife")
                set_user_maxspeed(id, get_pcvar_float(level7_maxspeed))
            }
            case 9:
            { 
                engclient_cmd
(id, "weapon_knife")
                set_user_maxspeed(id, get_pcvar_float(level8_maxspeed))
            }
            case 8:
            { 
                engclient_cmd
(id, "weapon_knife")
                set_user_maxspeed(id, get_pcvar_float(level9_maxspeed))
            }
            case 10:
            { 
                engclient_cmd
(id, "weapon_knife")
                set_user_maxspeed(id, get_pcvar_float(level10_maxspeed))
            }
        }
    }
    if(g_boss_class[id])
    {
        switch(g_boss_class[id])
        {
            case 1:
            {
                engclient_cmd(id, "weapon_knife")
                set_user_maxspeed(id, get_pcvar_float(level1_bossmaxspeed))
            }
            case 2:
            { 
                engclient_cmd
(id, "weapon_knife")
                set_user_maxspeed(id, get_pcvar_float(level2_bossmaxspeed))
            }
            case 3:
            { 
                engclient_cmd
(id, "weapon_knife")
                set_user_maxspeed(id, get_pcvar_float(level3_bossmaxspeed))
            }
            case 4:
            { 
                engclient_cmd
(id, "weapon_knife")
                set_user_maxspeed(id, get_pcvar_float(level4_bossmaxspeed))
            }
            case 5:
            { 
                engclient_cmd
(id, "weapon_knife")
                set_user_maxspeed(id, get_pcvar_float(level5_bossmaxspeed))
            }
            case 6:
            { 
                engclient_cmd
(id, "weapon_knife")
                set_user_maxspeed(id, get_pcvar_float(level6_bossmaxspeed))
            }
            case 7:
            { 
                engclient_cmd
(id, "weapon_knife")
                set_user_maxspeed(id, get_pcvar_float(level7_bossmaxspeed))
            }
            case 9:
            { 
                engclient_cmd
(id, "weapon_knife")
                set_user_maxspeed(id, get_pcvar_float(level8_bossmaxspeed))
            }
            case 8:
            { 
                engclient_cmd
(id, "weapon_knife")
                set_user_maxspeed(id, get_pcvar_float(level9_bossmaxspeed))
            }
            case 10:
            { 
                engclient_cmd
(id, "weapon_knife")
                set_user_maxspeed(id, get_pcvar_float(level10_bossmaxspeed))
            }
        }
    }
}

///////////////////////////////////////////////////////////////////
// Lock Zombie Team                                             //
/////////////////////////////////////////////////////////////////

public force_team(id)
{
    engclient_cmd(id, "jointeam", "2", "3")
}


///////////////////////////////////////////////////////////////////
// Unlimited Ammo                                               //
/////////////////////////////////////////////////////////////////

public event_free_ammo(id)
{
    set_pdata_int(id, 376 + read_data(1), 200, 5)
}

///////////////////////////////////////////////////////////////////
// Remove Map Objectives                                        //
/////////////////////////////////////////////////////////////////

public forward_spawn(ent) {
    if (!pev_valid(ent))
        return FMRES_IGNORED
    
    static classname
[32], i
    pev
(ent, pev_classname, classname, sizeof classname - 1)
    for (= 0; i < sizeof g_objective_ents; ++i) {
        if (equal(classname, g_objective_ents[i])) {
            if (!(REMOVE_OBJECTIVES & g_objective_type[i]))
                return FMRES_IGNORED
            
            engfunc
(EngFunc_RemoveEntity, ent)
            return FMRES_SUPERCEDE
        
}
    }
    
    return FMRES_IGNORED
}

bool:is_objective_map() {
    new const classname[] = "classname"
    for (new i = 0; i < sizeof g_objective_ents; ++i) {
        if (g_objective_prim[i] && engfunc(EngFunc_FindEntityByString, FM_NULLENT, classname, g_objective_ents[i]))
            return true
    
}
    
    return false
}

///////////////////////////////////////////////////////////////////
// Stocks                                                       //
/////////////////////////////////////////////////////////////////

stock fm_get_user_model(player, model[], len)
{
    engfunc(EngFunc_InfoKeyValue, engfunc(EngFunc_GetInfoKeyBuffer, player), "model", model, len)
}

stock fm_reset_user_model(player)
{
    g_has_custom_model[player] = false
    dllfunc
(DLLFunc_ClientUserInfoChanged, player, engfunc(EngFunc_GetInfoKeyBuffer, player))
}

///////////////////////////////////////////////////////////////////
// Boss Beacon                                                  //
/////////////////////////////////////////////////////////////////

public boss_beacon(id)
{
    if(g_boss_class[id] >= 1 && is_user_alive(id))
    {
        static origin[3]
        get_user_origin(id, origin)
        message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
        write_byte(TE_BEAMCYLINDER)
        write_coord(origin[0])
        write_coord(origin[1])
        write_coord(origin[2]-20)
        write_coord(origin[0])    
        write_coord
(origin[1])    
        write_coord
(origin[2]+200)
        write_short(g_boss_sprite)
        write_byte(0)       
        write_byte
(1)        
        write_byte
(6)
        write_byte(2)        
        write_byte
(1)        
        write_byte
(50)      
        write_byte
(50)      
        write_byte
(255)
        write_byte(200)
        write_byte(6)
        message_end()
        set_task(1.0, "boss_beacon", id)
    }
}
  

///////////////////////////////////////////////////////////////////
// Round Start Screen Effects                                   //
/////////////////////////////////////////////////////////////////

public round_start_effects(id)
{
    
    new Float
:screen_shake[3]
    screen_shake[0] = random_float(100.0, 175.0)
    screen_shake[1] = random_float(20.0, 80.0)
    screen_shake[2] = random_float(550.0, 1200.0)
    message_begin(MSG_ONE, g_screen_shake, {0,0,0}, id)
    write_short(1<<14)
    write_short(1<<14)
    write_short(1<<14)
    message_end()
}

///////////////////////////////////////////////////////////////////
// Round End Text & Sounds                                      //
/////////////////////////////////////////////////////////////////

public dinosaurs_win()
{
    client_cmd(0,"stopsound")
    client_cmd(0,"mp3 play sound/jurassic_park/dinosaurs_sound.mp3")
}

public predators_win()
{
    client_cmd(0,"stopsound")
    client_cmd(0,"mp3 play sound/jurassic_park/predators_sound.mp3")
}

public round_end_message(const MsgId, const MsgDest, const MsgEntity)
{
    static Message[192]
    get_msg_arg_string(2, Message, 191)
    
    if 
(equal(Message, "#Terrorists_Win"))
    {
        set_msg_arg_string(2, "")
    }
    else if (equal(Message, "#CTs_Win"))
    {
        set_msg_arg_string(2, "")
    }
}

///////////////////////////////////////////////////////////////////
// Remove Round Time                                            //
/////////////////////////////////////////////////////////////////

public message_hide_weapon() {
    set_msg_arg_int(1, ARG_BYTE, get_msg_arg_int(1) | 1<<4)
}

public plugin_end()
{
        if( get_pcvar_num( gPluginMode ) == 1 )
        {
                server_cmd( "sv_skyname %s", skies[ random_num( 0, charsmax( skies ) ) ] );
        }
}

///////////////////////////////////////////////////////////////////
// EOF                                                          //
/////////////////////////////////////////////////////////////////
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1049\\ f0\\ fs16 \n\\ par }
*/
МультиМод CS
Аватара пользователя
MayroN
 
Сообщения: 673
Зарегистрирован: 10 окт 2010, 18:23
Откуда: Украина, г. Белая Церковь
Благодарил (а): 149 раз.
Поблагодарили: 86 раз.
Опыт программирования: Около года
Языки программирования: На которых говорю...

Re: Сброс HP  [Решено]

Сообщение flymic24 » 15 июл 2019, 10:09

Советую разобраться с Ивентом CurWeapon в паблике "event_check_speed" :acute:
Аватара пользователя
flymic24
 
Сообщения: 209
Зарегистрирован: 05 окт 2012, 17:29
Откуда: Bryansk
Благодарил (а): 4 раз.
Поблагодарили: 76 раз.
Опыт программирования: Около года
Языки программирования: Counter-Strike 1.6

Re: Сброс HP

Сообщение MayroN » 15 июл 2019, 13:57

flymic24,
Эесли например удалить это
Код: Выделить всё
    if(g_player_class[id])
    {
        switch(g_player_class[id])
        {
            case 1:
            { 
                    set_user_health
(id, 50)
                    set_user_maxspeed(id, 275.0)
            }
            case 2:
            { 
                    set_user_health
(id, 300)
                    set_user_maxspeed(id, 165.0)
            }
            case 3:
            { 
                    set_user_health
(id, 10)
                    set_user_maxspeed(id, 380.0)
            }
            case 4:
            { 
                    set_user_health
(id, 100)
                    set_user_maxspeed(id, 250.0)    
            
}
            case 5:
            { 
                    set_user_health
(id, 1)
                    set_user_maxspeed(id, 400.0)
                    set_user_gravity(id, 0.3)
            }
            case 6:
            { 
                    set_user_health
(id, 500)
                    set_user_maxspeed(id, 220.0)
                    set_user_gravity(id, 3.2)
            }
            case 7:
            { 
                    set_user_health
(id, 40)
                    set_user_maxspeed(id, 210.0)
                    set_user_gravity(id, 0.5)
            }
            case 8:
            { 
                    set_user_health
(id, 800)
                    set_user_maxspeed(id, 120.0)
            }
            case 9:
            { 
                    set_user_health
(id, 300)
                    set_user_maxspeed(id, 600.0)
                    set_user_gravity(id, 7.5)
            }
        }
    


Проблема полностью решаеться,но тогда при каждом респауне Хищников незапоминает их здоровье,скорость,гравитацию

Добавлено:

Вписал ети кейсы сюда - пошло запоминание на здоровье и гравитацию.
Проблема только со скоростью осталась
Код: Выделить всё
public survivor_power1(id) {
    g_zombie_class[id] = 0
    g_boss_class
[id] = 0
    if 
(get_pcvar_num(survivor_weaponkit) == 1)
        if(get_user_team(id) != 2 && get_user_weapon(id) != CSW_KNIFE)
        {
                return
        
}
        strip_user_weapons(id)
    {
        give_item(id, "weapon_ak47")
        cs_set_user_bpammo(id, CSW_AK47, 200)
        give_item(id, "weapon_m4a1")
        cs_set_user_bpammo(id, CSW_M4A1, 200)
        give_item(id, "weapon_m249")
        cs_set_user_bpammo(id, CSW_M249, 200)
        give_item(id, "weapon_mp5navy")
        cs_set_user_bpammo(id, CSW_MP5NAVY, 200)
        give_item(id, "weapon_aug")
        cs_set_user_bpammo(id, CSW_AUG, 200)
        give_item(id, "weapon_m3")
        cs_set_user_bpammo(id, CSW_M3, 200)
        give_item(id, "weapon_galil")
        cs_set_user_bpammo(id, CSW_GALIL, 200)
        give_item(id, "weapon_xm1014")
        cs_set_user_bpammo(id, CSW_XM1014, 200)
        give_item(id, "weapon_deagle")
        cs_set_user_bpammo(id, CSW_DEAGLE, 200)
        give_item(id, "weapon_flashbang")
        give_item(id, "weapon_flashbang")
        give_item(id, "weapon_hegrenade")
        give_item(id, "weapon_smokegrenade")
        cs_set_user_nvg( id, 1)
        cs_set_user_armor ( id, 100, CsArmorType:)
    }
    if(get_pcvar_num(survivor_classes) == 1)
    {
        switch(g_player_class[id])
        {
        case 1:
                {
                        set_user_health(id, 50);
            set_user_maxspeed(id, 275.0)
                }
        case 2:
        {
            set_user_health(id, 300)
            set_user_maxspeed(id, 165.0)
        }
        case 3: 
        
{
            set_user_health(id, 10)
            set_user_maxspeed(id, 380.0)
        }
        case 4: 
        
{
            set_user_health(id, 100)
            set_user_maxspeed(id, 250.0)            
        
}
        case 5: 
        
{
            set_user_health(id, 1)
            set_user_maxspeed(id, 400.0)
            set_user_gravity(id, 0.3)
        }
        case 6: 
        
{
            set_user_health(id, 500)
            set_user_maxspeed(id, 220.0)
            set_user_gravity(id, 3.2)
        }
        case 7: 
        
{
            set_user_health(id, 40)
            set_user_maxspeed(id, 210.0)
            set_user_gravity(id, 0.5)
        }
        case 8: 
        
{
            set_user_health(id, 800)
            set_user_maxspeed(id, 120.0)
        }
        case 9: 
        
{
            set_user_health(id, 300)
            set_user_maxspeed(id, 600.0)
            set_user_gravity(id, 7.5)
                }
    }
        if(!g_bChoose[id])
            set_task(1.0, "task_show_surv_class_menu", id)
    }
}

///////////////////////////////////////////////////////////////////
// Set Zombie Model                                             //
/////////////////////////////////////////////////////////////////

public ham_player_spawn(id)
{
    if(!is_user_alive(id) || !cs_get_user_team(id))
        return
    g_zombie
[id] = cs_get_user_team(id) == CS_TEAM_T ? true : false
    remove_task
(id + 100)
    if(g_zombie[id])
    {
        switch (random_num(1, 3))
        {
            case 1: copy(g_player_model[id], charsmax( g_player_model[] ), ZOMBIE_MODEL1)
            case 2: copy(g_player_model[id], charsmax( g_player_model[] ), ZOMBIE_MODEL2)
            case 3: copy(g_player_model[id], charsmax( g_player_model[] ), ZOMBIE_MODEL3)
        }
        new currentmodel[32]
        fm_get_user_model(id, currentmodel, charsmax(currentmodel))
        if(!equal(currentmodel, g_player_model[id]))
        {
            if(get_gametime() - g_roundstart_time < 5.0)
                set_task(5.0 * 0.5, "fm_user_model_update", id + 100)
            else
                fm_user_model_update
(id + 100)
        }
    }
    else if(g_has_custom_model[id])
    {
        fm_reset_user_model(id)
        
        switch
(g_player_class[id])
        {
        case 1:
                {
                        set_user_health(id, 50);
            set_user_maxspeed(id, 275.0)
                }
        case 2:
        {
            set_user_health(id, 300)
            set_user_maxspeed(id, 165.0)
        }
        case 3: 
        
{
            set_user_health(id, 10)
            set_user_maxspeed(id, 380.0)
        }
        case 4: 
        
{
            set_user_health(id, 100)
            set_user_maxspeed(id, 250.0)            
        
}
        case 5: 
        
{
            set_user_health(id, 1)
            set_user_maxspeed(id, 400.0)
            set_user_gravity(id, 0.3)
        }
        case 6: 
        
{
            set_user_health(id, 500)
            set_user_maxspeed(id, 220.0)
            set_user_gravity(id, 3.2)
        }
        case 7: 
        
{
            set_user_health(id, 40)
            set_user_maxspeed(id, 210.0)
            set_user_gravity(id, 0.5)
        }
        case 8: 
        
{
            set_user_health(id, 800)
            set_user_maxspeed(id, 120.0)
        }
        case 9: 
        
{
            set_user_health(id, 300)
            set_user_maxspeed(id, 600.0)
            set_user_gravity(id, 7.5)
                }
             }
    }
}
МультиМод CS
Аватара пользователя
MayroN
 
Сообщения: 673
Зарегистрирован: 10 окт 2010, 18:23
Откуда: Украина, г. Белая Церковь
Благодарил (а): 149 раз.
Поблагодарили: 86 раз.
Опыт программирования: Около года
Языки программирования: На которых говорю...

Re: Сброс HP

Сообщение flymic24 » 15 июл 2019, 16:28

Скорость правильнее устанавливать в:
Код: Выделить всё
Ham_CS_Player_ResetMaxSpeed
Аватара пользователя
flymic24
 
Сообщения: 209
Зарегистрирован: 05 окт 2012, 17:29
Откуда: Bryansk
Благодарил (а): 4 раз.
Поблагодарили: 76 раз.
Опыт программирования: Около года
Языки программирования: Counter-Strike 1.6

Re: Сброс HP

Сообщение MayroN » 15 июл 2019, 17:31

Принято.
Уже решили
МультиМод CS
Аватара пользователя
MayroN
 
Сообщения: 673
Зарегистрирован: 10 окт 2010, 18:23
Откуда: Украина, г. Белая Церковь
Благодарил (а): 149 раз.
Поблагодарили: 86 раз.
Опыт программирования: Около года
Языки программирования: На которых говорю...


Вернуться в Скриптинг

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 14