Страница 1 от 2

[Req] Rope plugin

Публикувано на: 07 Фев 2019, 23:23
от Eduardsozols22
Maglibi vi ktota iz pro kto zanimajitsa plugin code.
zdelat plugin rope kak pautina, katoruju magli bi ispolzivat toka vipi 3 raza v raunde,
Tot katorij est v internete unevo net vazmoznasti ispolzivat toka vipkam!

[Req] Rope plugin

Публикувано на: 07 Фев 2019, 23:55
от enemys

Код за потвърждение: Избери целия код

#include <amxmodx>
#include <amxmisc>
#include <engine>
#include <hamsandwich>
 
 
new bool:canusehook[32]
new bool:ishooked[32]
new hookorigin[32][3]
new blockhook[33]
 
#define ADMIN_HOOK ADMIN_BAN
 
new Hooking
 
 
public plugin_init()
{
        register_plugin("Cs_Hook","1.0", "Sulky")
 
 
        RegisterHam(Ham_Spawn, "player", "Spawn_player", 1)
 
 
        register_clcmd("+hook","hook_on")
        register_clcmd("-hook","hook_off")
}
 
 
public plugin_precache()
{
        precache_sound("hook/hook.wav")
        Hooking = precache_model("sprites/hook/hook.spr")
}
 
 
public Spawn_player(id)
{
        if(is_user_alive(id) && is_user_connected(id))
        {
                blockhook[id] = 0
        }
}
 
 
public client_disconnect(id)
{
        remove_hook(id)
}
 
 
public client_putinserver(id)
{
        remove_hook(id)
}
 
 
public hook_on(id,level,cid)
{
        if(!is_user_alive(id))
        {
                ChatColor(id, "!yНельзя Использовать !gПаутинку, !yКогда Вы !teamМертвы!");
                return PLUGIN_HANDLED;
        }
 
        if(get_user_flags(id) & ADMIN_HOOK)
        {
               
                if(!canusehook[id-1] && !cmd_access(id,level,cid,1))
                {
                        return PLUGIN_HANDLED
                }
 
                if(blockhook[id]<10)
                {
                        get_user_origin(id,hookorigin[id-1],3)
 
                        ishooked[id-1] = true
                        ++blockhook[id]
                        emit_sound(id,CHAN_STATIC,"hook/hook.wav",1.0,ATTN_NORM,0,PITCH_NORM)
                        set_task(0.1,"hook_task",id,"",0,"ab")
                        hook_task(id)
                }
                else
                {
                        ChatColor(id, "!yНельзя Использовать !gПаутину !yБольше !team10-ти !yРаз!")
                        return PLUGIN_HANDLED
                }
        }
        else
        {
                ChatColor(id, "!yУ !teamВас !yнету паутинки, Вы не !teamV.I.P")
        }
        return PLUGIN_HANDLED
}
 
 
public is_hooked(id)
{
        return ishooked[id-1]
}
 
 
public hook_off(id)
{
        if(get_user_flags(id) & ADMIN_HOOK)
        {
                remove_hook(id)
        }
        else
        {
                                ChatColor(id, "!yУ !teamВас !yнету паутинки, Вы не !teamV.I.P")
        }
 
 
        return PLUGIN_HANDLED
}
 
 
public hook_task(id)
{
        if(!is_user_connected(id) || !is_user_alive(id))
        {
                remove_hook(id)
        }
 
 
        remove_beam(id)
        draw_hook(id)
 
 
        new origin[3], Float:velocity[3]
        get_user_origin(id,origin)
        new distance = get_distance(hookorigin[id-1],origin)
        if(distance > 25)
        {
                velocity[0] = (hookorigin[id-1][0] - origin[0]) * (2.0 * 300 / distance)
                velocity[1] = (hookorigin[id-1][1] - origin[1]) * (2.0 * 300 / distance)
                velocity[2] = (hookorigin[id-1][2] - origin[2]) * (2.0 * 300 / distance)
 
 
                entity_set_vector(id,EV_VEC_velocity,velocity)
        }
        else
        {
                entity_set_vector(id,EV_VEC_velocity,Float:{0.0,0.0,0.0})
                remove_hook(id)
        }
}
 
 
public draw_hook(id)
{
        message_begin(MSG_BROADCAST,SVC_TEMPENTITY)
        write_byte(1) // TE_BEAMENTPOINT
        write_short(id) // entid
        write_coord(hookorigin[id-1][0]) // origin
        write_coord(hookorigin[id-1][1]) // origin
        write_coord(hookorigin[id-1][2]) // origin
        write_short(Hooking) // sprite index
        write_byte(0) // start frame
        write_byte(0) // framerate
        write_byte(100) // life
        write_byte(10) // width
        write_byte(0) // noise
        if(get_user_team(id) == 1)
        {
                write_byte(random_num(0, 255))
                write_byte(random_num(0, 255))
                write_byte(random_num(0, 255))
        }
        else
        {
                write_byte(random_num(0, 255))
                write_byte(random_num(0, 255))
                write_byte(random_num(0, 255))
        }
        write_byte(250) // brightness
        write_byte(1) // speed
        message_end()
}
 
 
public remove_hook(id)
{
        if(task_exists(id))
        {
                remove_task(id)
        }
        remove_beam(id)
        ishooked[id-1] = false
}
 
 
public remove_beam(id)
{
        message_begin(MSG_BROADCAST,SVC_TEMPENTITY)
        write_byte(99)
        write_short(id)
        message_end()
}
 
stock ChatColor(const id, const input[], any:...)
{
    new count = 1, players[32]
    static msg[191]
    vformat(msg, 190, input, 3)
   
    replace_all(msg, 190, "!g", "^4")
    replace_all(msg, 190, "!y", "^1")
    replace_all(msg, 190, "!team", "^3")
   
    if (id) players[0] = id; else get_players(players, count, "ch")
    {
        for (new i = 0; i < count; i++)
        {
            if (is_user_connected(players[i]))
            {
                message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i]);
                write_byte(players[i]);
                write_string(msg);
                message_end();
            }
        }
    }
}  

[Req] Rope plugin

Публикувано на: 08 Фев 2019, 02:06
от Eduardsozols22
A gde skoka raz on mozit ispolzivat pautinu?
i kakoi bind dla ispolzivanije ?

[Req] Rope plugin

Публикувано на: 08 Фев 2019, 11:07
от OciXCrom
bind key +hook

[Req] Rope plugin

Публикувано на: 08 Фев 2019, 11:14
от Eduardsozols22
Tom i delo sto nerabotajet! admin_ban paminal na admin_level_h
Dla vipa!

[Req] Rope plugin

Публикувано на: 08 Фев 2019, 11:23
от OciXCrom
This line:

Код за потвърждение: Избери целия код

#define ADMIN_HOOK ADMIN_BAN
Change it to whichever flag you want.

[Req] Rope plugin

Публикувано на: 08 Фев 2019, 11:25
от Eduardsozols22
Nu ja pamenall, plagin vklucon no nehocit rabotat! nepuskajet pautinu!

[Req] Rope plugin

Публикувано на: 08 Фев 2019, 11:28
от OciXCrom

[Req] Rope plugin

Публикувано на: 08 Фев 2019, 11:40
от Eduardsozols22
Mine nada adelinij toka rope !
Ane isco kakijeta grab.
Adin plagin!
Peredelai pozalusta etat rope

[Req] Rope plugin

Публикувано на: 08 Фев 2019, 13:55
от OciXCrom
Can you please speak English? I don't understand what you're saying nor in what language and Google Translate detects a different language for each comment.