ReGameDLL ReParachute [1.1 Beta]

Mmonster

Пользователь
Регистрация
9 Июн 2017
Сообщения
497
Симпатии
225
Пол
Мужской
#1
Автор: the_hunter
Версия: 1.1 Beta

Требование:
Описание:

ReParachute - это Amxx-модуль парашюта для ReHLDS & ReGameDLL

Установка:
  1. В директорию cstrike/addons/amxmodx/modules копируем модуль (parachute_amxx.dll - для Windows; parachute_amxx_i386.so - для Linux)
  2. В директорию cstrike/addons/amxmodx/configs копируем parachute.cfg
  3. В директорию cstrike/model копируем parachute.mdl (Если вам не нужна модель,этот пункт можно пропустить)
  4. Открываем файл addons/amxmodx/configs/modules.ini, и добавляем строку
    Код:
    parachute
Настройки:
Код:
;par_sound - звук, который будет воспроизводится при открытии парашюта (по умолчанию: "common/wpn_denyselect.wav").Поставьте пустое значение (""), чтобы выключить звук.
par_sound "common/wpn_denyselect.wav"
;par_model - модель парашюта (по умолчанию: "models/parachute.mdl"). Поставьте пустое значение (""), чтобы выключить модель.
par_model "models/parachute.mdl"
;par_camera - вид камеры во время действия парашюта (по умолчанию: 0). 0 - от первого лица; 1 - от третьего лица; 2 - сверху слева.
par_camera 0
;par_fall_speed - скорость падения с парашютом (по умолчанию: -100).
par_fall_speed -100
;par_hold_button - при значении 0, клавишу E держать не нужно. Парашют будет активен, пока игрок не приземлится. При значении 1 парашют перестает действовать, если отпустить клавишу E. (по умолчанию: 1).
par_hold_button 1
;par_access_flags - необходимые флаги игрока, для использования парашюта (по умолчанию: "" (для всех))
par_access_flags ""
 

Вложения

Последнее редактирование: Mmonster

neygomon

Его Темнейшество :j
Разработчик
Регистрация
8 Июн 2017
Сообщения
826
Симпатии
380
Пол
Мужской
#2
щас бы модулем делать тоже самое что и плагином... лол
 

pheel

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

neygomon

Его Темнейшество :j
Разработчик
Регистрация
8 Июн 2017
Сообщения
826
Симпатии
380
Пол
Мужской
#6

Mmonster

Пользователь
Регистрация
9 Июн 2017
Сообщения
497
Симпатии
225
Пол
Мужской
#7
neygomon ,Единственный парашют,который как по мне адекватно работает на Reapi(Возможно уже и другие исправили)
Но ты сказал,что тут говно код :D
C++:
#include <amxmodx>
#include <reapi>
#include <engine>

new pFallSpeed = 100

new bool:g_is_alive[33]

public plugin_init()
{
    register_plugin("Parachute for ALL [ReAPI]", "3.0", "Leo_[BH]")

    RegisterHookChain(RG_CBasePlayer_PreThink, "RG_client_PreThink");
    
    RegisterHookChain(RG_CBasePlayer_Killed, "RG_Player_Killed", 0);
    RegisterHookChain(RG_CBasePlayer_Spawn, "RG_Spawn_Post", 1);
}

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

    new Float:fallspeed = pFallSpeed * -1.0

    new button = get_entvar(id, EntVars:var_button); // get_user_button(id)
    new oldbutton = get_entvar(id, EntVars:var_oldbuttons); // get_user_oldbutton(id)

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

    if (button & IN_USE)
    {
        new Float:velocity[3]
        entity_get_vector(id, EV_VEC_velocity, velocity)

        if (velocity[2] < 0.0)
        {
            entity_set_int(id, EV_INT_sequence, 3)
            entity_set_int(id, EV_INT_gaitsequence, 1)
            entity_set_float(id, EV_FL_frame, 1.0)
            entity_set_float(id, EV_FL_framerate, 1.0)
            set_entvar(id, EntVars:var_gravity, 0.1)

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

// // // // // // // // // // // // // // //

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 client_disconnect(id)
{
    g_is_alive[id] = false
}
 

neygomon

Его Темнейшество :j
Разработчик
Регистрация
8 Июн 2017
Сообщения
826
Симпатии
380
Пол
Мужской
#8
ну так зачем юзать синк, когда есть PM_Move c нормальными возможностями искаропки
 

Tenseus

Пользователь
Регистрация
12 Июн 2017
Сообщения
43
Симпатии
4
Пол
Мужской
#10
Давно как-то на alliedmodders между ответами в теме посвященную парашютам, я нашёл интересный плагин.
При очень длительном юзе в нем не нашлось никаких багов, к тому же другой принцип анимации в полете.
Руки не в стороны (с дефолтной модели: so_am_I), а анимация прыжка. На самом деле выглядит круто.

Было бы не плохо если кто-нибудь переписал на reapi, если это возможно.
 

Вложения

sonyx

Заблокированные
Регистрация
8 Июн 2017
Сообщения
490
Симпатии
229
#12
Tenseus нет, нет и нет. Очень тяжелый плагин
Особенно нагрузочные форварды из комплекта AMXX:

// engine
client_PostThink()
client_PreThink()
server_frame()
client_cmdStart()

// fakemeta
FM_PlayerPreThink
FM_PlayerPostThink
FM_CmdStart
FM_CmdEnd
FM_AddToFullPack
FM_UpdateClientData

// ham sandwich
Ham_Player_PreThink
Ham_Player_PostThink
 

tpylala

Пользователь
Регистрация
8 Июн 2017
Сообщения
19
Симпатии
8
Пол
Мужской
#14
а есть смысл переделывать на реапи ?
Код:
; entity_get_vector(id, EV_VEC_velocity, velocity)
if (velocity[2] < 0)
{
velocity[2] = (velocity[2] + 40.0 < -100) ? velocity[2] + 40.0 : -100.0
entity_set_vector(id, EV_VEC_velocity, velocity)
}
}
 

REVO

Пользователь
Регистрация
9 Июн 2017
Сообщения
273
Симпатии
74
Пол
Мужской
VKcom
isss67wtf
#15
один раз скачал тоже модуль парашюта, прописал в настройках:
par_fall_speed -100 или 100, уже не помню, суть в том, что при нажатии клавиши Е, я летел вверх!
 

tpylala

Пользователь
Регистрация
8 Июн 2017
Сообщения
19
Симпатии
8
Пол
Мужской
#16
Это же самый лайтовый плагин для парашюта ?

PHP:
#include <amxmodx>
#include <engine>

public plugin_init()
    register_plugin("Parachute", "1.1", "maeStro | neygomon")

public client_PreThink(id)
{
    if (!is_user_alive(id) || ~get_user_button(id) & IN_USE || get_entity_flags(id) & FL_ONGROUND) return
    static Float:velocity[3]; entity_get_vector(id, EV_VEC_velocity, velocity)
    if (velocity[2] < 0)
    {
        velocity[2] = (velocity[2] + 40.0 < -100) ? velocity[2] + 40.0 : -100.0
        entity_set_vector(id, EV_VEC_velocity, velocity)
    }
}
 

h1k3

Пользователь
Регистрация
8 Июн 2017
Сообщения
72
Симпатии
37
Пол
Мужской
#17
У вас работает на последним рехлдс и длл модуль парашюта?
 

BeasT

Anubis
Пользователь
Регистрация
26 Июн 2017
Сообщения
398
Симпатии
54
Пол
Мужской
#18
+
 

BeasT

Anubis
Пользователь
Регистрация
26 Июн 2017
Сообщения
398
Симпатии
54
Пол
Мужской
#19
один раз скачал тоже модуль парашюта, прописал в настройках:
par_fall_speed -100 или 100, уже не помню, суть в том, что при нажатии клавиши Е, я летел вверх!
плагин парашюта забыл удалить