Skocz do zawartości

Nowy szablon forum

mygo.pl

Stworzyliśmy dla Was nowy wygląd forum. Z pewnością znajdziesz rzeczy, które wg Ciebie mogą zostać zmienione - wspomnij o tym w specjalnym wątku.

Czytaj więcej

Jak założyć własną sieć

serwerów CS

Zastanawiasz się nad prowadzeniem własnej sieci serwerów? Przeczytaj podstawowe informacje, na które należy zwrócić uwagę, przy takim projekcie.

Czytaj więcej

Tworzymy spis sieci

dodaj swoją

Dodaj sieć do której należysz, pozwoli to na promocję i budowę ogólnopolskiej bazy sieci CS.

Czytaj więcej

RSSZM Class Sneaky Creature


MYGO.pl
 Udostępnij

Rekomendowane odpowiedzi

  • RSSy
I don t have error compiler and logs but my server shutdown because i have plugin
this plugin work but finish ability provoke shutdown

Code:

#include <amxmodx>
#include <fakemeta>
#include <fun>
#include <zombieplague>

new const zclass_name[] = "Sneaky Creature"
new const zclass_info[] = "[T]"
new const zclass_model[] = "zombie_invisible"
new const zclass_clawmodel[] = "claws_light.mdl"
new const zclass_clawmodel_invi[] = "models/zombie_ultimate/claws_light_invisible.mdl"
const zclass_health = 2600
const zclass_speed = 295
const Float:zclass_gravity = 0.7
const Float:zclass_knockback = 6.0

new const zombie_sound_invisible[] = "zombie_ultimate/zsneaky_ability.wav"

new idclass
const Float:invisible_time = 10.0
const Float:invisible_timewait = 10.0
const invisible_dmg = 200
const Float:invisible_speed = 215.0
const Float:invisible_gravity = 0.9

new g_invisible[33], g_invisible_wait[33]
new g_maxplayers
new g_roundend

enum (+= 100)
{
        TASK_INVISIBLE = 2000,
        TASK_WAIT_INVISIBLE,
        TASK_INVISIBLE_SOUND,
        TASK_BOT_USE_SKILL
}

#define ID_INVISIBLE (taskid - TASK_INVISIBLE)
#define ID_WAIT_INVISIBLE (taskid - TASK_WAIT_INVISIBLE)
#define ID_INVISIBLE_SOUND (taskid - TASK_INVISIBLE_SOUND)
#define ID_BOT_USE_SKILL (taskid - TASK_BOT_USE_SKILL)

public plugin_init()
{
        register_plugin("Sneaky Creature", "1.0", "ALBTeam, Rainq")
       
        register_event("HLTV", "event_round_start", "a", "1=0", "2=0")
        register_event("DeathMsg", "Death", "a")
        register_event("CurWeapon", "EventCurWeapon", "be", "1=1")
        register_logevent("logevent_round_end", 2, "1=Round_End")
       
        register_clcmd("impulse 201", "cmd_invisible")
        g_maxplayers = get_maxplayers()
}

public plugin_precache()
{
        precache_model(zclass_clawmodel_invi)
        precache_sound(zombie_sound_invisible)
       
        idclass = zp_register_zombie_class(zclass_name, zclass_info, zclass_model, zclass_clawmodel, zclass_health, zclass_speed, zclass_gravity, zclass_knockback)
}

public client_impulse(id, impulse)
{
        if(impulse == 201)
        {
                if(is_user_alive(id) && zp_get_user_zombie(id) && !zp_get_user_nemesis(id) && zp_get_user_zombie_class(id) == idclass)
                {
                        cmd_invisible(id);
                        return PLUGIN_HANDLED;
                }
        }
        return PLUGIN_CONTINUE;
}

public client_putinserver(id)
{
        reset_value_player(id)
}

public client_disconnect(id)
{
        reset_value_player(id)
}

public event_round_start()
{
        g_roundend = 0
       
        for (new id=1; id<=g_maxplayers; id++)
        {       
                reset_value_player(id)
        }
}

public logevent_round_end()
{
        g_roundend = 1
}

public Death()
{
        new victim = read_data(2)
        reset_value_player(victim)
}

public EventCurWeapon(id)
{       
        if(g_invisible[id]) set_user_maxspeed(id, invisible_speed);
       
        return PLUGIN_CONTINUE;
}

public zp_user_infected_post(id)
{
        reset_value_player(id)
       
        if(is_user_alive(id) && zp_get_user_zombie(id) && !zp_get_user_nemesis(id) && zp_get_user_zombie_class(id) == idclass)
        {
                if(is_user_bot(id))
                {
                        set_task(random_float(5.0,15.0), "bot_use_skill", id+TASK_BOT_USE_SKILL)
                        return
                }
                //client_print(id, print_center,"You can hide in the fog in %d seconds.", invisible_timewait)
        }
}

public zp_user_humanized_post(id)
{
        reset_value_player(id)
}

public cmd_invisible(id)
{       
        if(is_user_alive(id) && zp_get_user_zombie(id) && !zp_get_user_nemesis(id) && zp_get_user_zombie_class(id) == idclass)

        if (zp_get_user_zombie_class(id) == idclass && !g_invisible[id] && !g_invisible_wait[id])
        {
                g_invisible[id] = 1
               
                set_wpnmodel(id)
                set_user_rendering(id,kRenderFxGlowShell,0,0,0,kRenderTransAlpha)
                set_user_footsteps(id, 1)
                set_user_maxspeed(id, invisible_speed)
                set_user_gravity(id, invisible_gravity)
                PlayEmitSound(id, zombie_sound_invisible)
               
                set_task(invisible_time, "RemoveInvisible", id+TASK_INVISIBLE)
                set_task(2.0, "InvisibleSound", id+TASK_INVISIBLE_SOUND, _, _, "b")
               
                return PLUGIN_HANDLED
        }
        if (g_roundend) return PLUGIN_CONTINUE
        return PLUGIN_CONTINUE
}

public bot_use_skill(taskid)
{
        new id = ID_BOT_USE_SKILL

        cmd_invisible(id)
       
        set_task(random_float(5.0,15.0), "bot_use_skill", id+TASK_BOT_USE_SKILL)
}

public InvisibleSound(taskid)
{
        new id = ID_INVISIBLE_SOUND
       
        if (g_invisible[id]) PlayEmitSound(id, zombie_sound_invisible)
        else remove_task(taskid)
}

public RemoveInvisible(taskid)
{
        new id = ID_INVISIBLE
       
        g_invisible[id] = 0
       
        set_wpnmodel(id)
        set_user_rendering(id)
        set_user_footsteps(id, 0)
        set_user_maxspeed(id, float(zclass_speed))
        set_user_gravity(id, zclass_gravity)
       
        g_invisible_wait[id] = 1
       
        set_task(invisible_timewait, "RemoveWaitInvisible", id+TASK_WAIT_INVISIBLE)
}

public RemoveWaitInvisible(taskid)
{
        new id = ID_WAIT_INVISIBLE
       
        g_invisible_wait[id] = 0
}

set_wpnmodel(id)
{       
        if (get_user_weapon(id) == CSW_KNIFE)
        {
                if (g_invisible[id])
                {
                        set_pev(id, pev_viewmodel2, zclass_clawmodel_invi)
                }
                else
                {
                        static temp[100]
                        format(temp, charsmax(temp), "models/zombie_plague/%s", zclass_clawmodel)
                        set_pev(id, pev_viewmodel2, temp)
                }
        }       
}

PlayEmitSound(id, const sound[])
{
        emit_sound(id, CHAN_VOICE, sound, 1.0, ATTN_NORM, 0, PITCH_NORM)
}

reset_value_player(id)
{
        g_invisible[id] = 0
        g_invisible_wait[id] = 0
       
        remove_task(id+TASK_INVISIBLE)
        remove_task(id+TASK_WAIT_INVISIBLE)
        remove_task(id+TASK_BOT_USE_SKILL)
}

Przeczytaj cały wpis

Odnośnik do komentarza
Udostępnij na innych stronach

Gość
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
 Udostępnij

  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...