• Этот сайт использует файлы cookie. Продолжая пользоваться этим сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.

ReAPI Parachute [ReAPI]

izzatillo

Пользователь
Регистрация
8 Июн 2017
Сообщения
186
Симпатии
68
Пол
Мужской
#1
Автор: ReHLDS Team
Версия: 1.1

Простой плагин Парашюта без модели. Полностью написан на ReAPI
Доступен всем игрокам. Для открытия парашюта жмите клавишу "E" в воздухе.
 

Вложения

gesk1995

Пользователь
Регистрация
8 Июн 2017
Сообщения
39
Симпатии
1
Пол
Мужской
#2
А если нужна модель как её сюда присобачить ?
 

iOS

Пользователь
Регистрация
9 Июн 2017
Сообщения
198
Симпатии
21
Пол
Мужской
#3
Это та же не пофикшенная версия? Где рывки при полёте были.
 

gesk1995

Пользователь
Регистрация
8 Июн 2017
Сообщения
39
Симпатии
1
Пол
Мужской
#4
iOS, это ровный плагин уже
 

gesk1995

Пользователь
Регистрация
8 Июн 2017
Сообщения
39
Симпатии
1
Пол
Мужской
#6
iOS, отпишешь , я пока что Юзаю Скальпеля парашют , но хочу Плагин для Реапи с моделью !
 

iOS

Пользователь
Регистрация
9 Июн 2017
Сообщения
198
Симпатии
21
Пол
Мужской
#7

d3m37r4

Постоялец
Регистрация
8 Июн 2017
Сообщения
165
Симпатии
66
Пол
Мужской
#9
Еще же вроде модуль amxx был парашют.
 

Mmonster

Команда форума
Модератор
Регистрация
9 Июн 2017
Сообщения
294
Симпатии
138
Пол
Мужской
#11
iOS, от этого что-то изменится?Парашют оптимизирован,уж куда лучше,Чем юзать версию скальпеля
 

iOS

Пользователь
Регистрация
9 Июн 2017
Сообщения
198
Симпатии
21
Пол
Мужской
#12
iOS, от этого что-то изменится?Парашют оптимизирован,уж куда лучше,Чем юзать версию скальпеля
хз, полезно будет тем кто избавляется от лишних модулей. Хотя от engine врятли, но всё равно :) За скальпеля промолчу. :D
 

d3m37r4

Постоялец
Регистрация
8 Июн 2017
Сообщения
165
Симпатии
66
Пол
Мужской
#14
Симпатии: iOS

Lenin

Пользователь
Регистрация
9 Июн 2017
Сообщения
28
Симпатии
7
Пол
Мужской
#15

Вложения

wopox1337

Пользователь
Регистрация
11 Июн 2017
Сообщения
23
Симпатии
14
#18
Пофикшенная версия. Убрал рандомные подскоки вверх игроков.
Код:
#include <amxmodx>
#include <reapi>

public plugin_init()
{
    register_plugin("[ReAPI] Parachute", "1.1", "ReHLDS Team");
    RegisterHookChain(RG_PM_AirMove, "PM_AirMove", false);
}

public PM_AirMove(const playerIndex)
{
    if (!(get_entvar(playerIndex, var_button) & IN_USE)
    || get_entvar(playerIndex, var_waterlevel) > 0) {
        return;
    }
    new Float:flVelocity[3];
    get_entvar(playerIndex, var_velocity, flVelocity);
    if (flVelocity[2] < 0.0)
    {
        flVelocity[2] = (flVelocity[2] + 40.0 < -100.0) ? flVelocity[2] + 40.0 : -100.0;
        set_entvar(playerIndex, var_sequence, ACT_WALK);
        set_entvar(playerIndex, var_gaitsequence, ACT_IDLE);
        set_pmove(pm_velocity, flVelocity);
        //set_movevar(mv_gravity, 80.0);
    }
}
 

iOS

Пользователь
Регистрация
9 Июн 2017
Сообщения
198
Симпатии
21
Пол
Мужской
#19
Пофикшенная версия. Убрал рандомные подскоки вверх игроков.
Код:
#include <amxmodx>
#include <reapi>

public plugin_init()
{
    register_plugin("[ReAPI] Parachute", "1.1", "ReHLDS Team");
    RegisterHookChain(RG_PM_AirMove, "PM_AirMove", false);
}

public PM_AirMove(const playerIndex)
{
    if (!(get_entvar(playerIndex, var_button) & IN_USE)
    || get_entvar(playerIndex, var_waterlevel) > 0) {
        return;
    }
    new Float:flVelocity[3];
    get_entvar(playerIndex, var_velocity, flVelocity);
    if (flVelocity[2] < 0.0)
    {
        flVelocity[2] = (flVelocity[2] + 40.0 < -100.0) ? flVelocity[2] + 40.0 : -100.0;
        set_entvar(playerIndex, var_sequence, ACT_WALK);
        set_entvar(playerIndex, var_gaitsequence, ACT_IDLE);
        set_pmove(pm_velocity, flVelocity);
        //set_movevar(mv_gravity, 80.0);
    }
}
как были рывки так и есть.
 

SWAT

Пользователь
Регистрация
8 Июн 2017
Сообщения
2
Симпатии
1
Пол
Мужской
#20
Есть ещё такой вариант.

Код:
#include <amxmodx>
#include <reapi>

new pFallSpeed;
new bool:g_is_alive[33];

public plugin_init()
{
    register_plugin("Parachute for All [ReAPI]", "3.0", "Leo_[BH] & SWAT");

    pFallSpeed = register_cvar("sv_parachute_speed", "70");

    RegisterHookChain(RG_CBasePlayer_PreThink, "RG_client_PreThink", true);
    RegisterHookChain(RG_CBasePlayer_Killed, "RG_Player_Killed", false);
    RegisterHookChain(RG_CBasePlayer_Spawn, "RG_Spawn_Post", true);
}

public client_disconnected(id)
{
    g_is_alive[id] = false;
}

public RG_Spawn_Post(id)
{
    if(is_user_alive(id))
    {
        g_is_alive[id] = true;
    }
}

public RG_Player_Killed(victim, attacker)
{
    g_is_alive[victim] = false;
}

public RG_client_PreThink(id)
{
    if(!g_is_alive[id]) return;

    static button; button = get_entvar(id, EntVars:var_button);
    static oldbutton; oldbutton = get_entvar(id, EntVars:var_oldbuttons);
    static Float:fallspeed; fallspeed = get_pcvar_num(pFallSpeed) * -1.0;

    if(get_entvar(id, EntVars:var_gravity) == 0.1) set_entvar(id, EntVars:var_gravity, 1.0);

    if(button & IN_USE)
    {
        static Float:velocity[3]
        get_entvar(id, EntVars:var_velocity, velocity);

        if (velocity[2] < 0.0)
        {
            set_entvar(id, EntVars:var_sequence, 3);
            set_entvar(id, EntVars:var_gaitsequence, 1);
            set_entvar(id, EntVars:var_frame, 1.0);
            set_entvar(id, EntVars:var_framerate, 1.0);
            set_entvar(id, EntVars:EntVars:var_gravity, 0.1);

            velocity[2] = (velocity[2] + 40.0 < fallspeed) ? velocity[2] + 40.0 : fallspeed;
            set_entvar(id, EntVars:var_velocity, velocity);
        }
    }
    else if((oldbutton & IN_USE))
    {
        set_entvar(id, EntVars:var_gravity, 1.0);
    }
}