Правила форума Гаранты форума
Размещение рекламы AMX-X компилятор

Здравствуйте, гость Вход | Регистрация

Наши новости:

14-дек
24-апр
10-апр
11-апр

Longjump Module

, код лонгджампа - работает на стиме
holoc
сообщение 12.8.2009, 12:36
Сообщение #1
Стаж: 19 лет

Сообщений: 749
Благодарностей: 5723
Полезность: 0

Обновив недавно сервер с удивлением узнал, что longjump module более не работает. Пришлось реализовывать его функционал самому.

Это не готовый плагин, это пара кусков кода, которые можно использовать в других плагинах, к примеру в том же csdm_itemmode.

Необходим модуль fakemeta
Код
#include <fakemeta>
Также необходима переменная, в которой будет храниться информация о том, есть ли у игрока ЛонгДжамп или нет
Код
new bool:HasLongJump[33] = false
В public plugin_init() дописываем строку
Код
register_forward(FM_PlayerPreThink, "playerthink", true)
Добавляем функцию
Код
public playerthink(id)
{
    if(!is_user_alive(id))
        return FMRES_IGNORED

    if (!HasLongJump[id])
        return FMRES_IGNORED

    if(pev(id, pev_flags) & FL_ONGROUND)
    {
        new buttons = pev(id, pev_button)
        new oldbuttons = pev(id, pev_oldbuttons)
        if((buttons & IN_DUCK) && (buttons & IN_JUMP) && !(oldbuttons & IN_JUMP))
        {
            static Float:Vel[3], Float:playerspeed
            pev(id, pev_velocity, Vel)
            playerspeed = vector_length(Vel)            
            if(playerspeed>100.0)
            {
                velocity_by_aim(id, 1, Vel)
                Vel[0] = Vel[0]*600
                Vel[1] = Vel[1]*600
                Vel[2] = 300.0
                fm_set_user_velocity(id,Vel)
            }
        }
    }
    return FMRES_IGNORED
}
Все что осталось, это при тех условиях, когда должен выдаваться lj module, добавлять строку
Код
HasLongJump[id] = true
и соответственно когда он должен отбираться(например при смерти, при дисконнекте, новом раунде, хз) добавить строку
Код
HasLongJump[id] = false

Скриптер из меня неважный - так что если кто-то может указать недочеты, исправить, дополнить и т.д., я буду только рад.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 11 раз
   Цитировать сообщение
Статус пользователя ki11er
сообщение 22.10.2012, 3:59
Сообщение #2
Стаж: 17 лет

Сообщений: 92
Благодарностей: 19
Полезность: 152

Как это будет выглядеть в этом плагине? Заранее благодарен за помощь.
Код
#include <amxmodx>
#include <fakemeta_util>
#include <biohazard>

#define PLUGIN  "Class: Jumper"
#define AUTHOR  "cheap_suit"
#define VERSION "0.1"

new g_class
public plugin_init()
{
        register_plugin(PLUGIN, VERSION, AUTHOR)
        
        g_class = register_class("Jumper", "Skill: leap")

    if(g_class != -1)
    {
    set_class_data(g_class, DATA_HEALTH, 250.0)
    set_class_data(g_class, DATA_SPEED, 250.0)
    set_class_data(g_class, DATA_GRAVITY, 0.90)
    set_class_data(g_class, DATA_ATTACK, 2.0)
    set_class_data(g_class, DATA_DEFENCE, 0.245)
    set_class_data(g_class, DATA_HEDEFENCE, 1.10)
    set_class_data(g_class, DATA_HITSPEED, 0.95)
    set_class_data(g_class, DATA_HITDELAY, 0.15)
    set_class_data(g_class, DATA_REGENDLY, 0.20)
    set_class_data(g_class, DATA_HITREGENDLY, 2.2)
    set_class_data(g_class, DATA_KNOCKBACK, 1.25)
    }
}

public event_infect(victim, attacker)
        if(get_user_class(victim) == g_class)
                fm_set_user_longjump(victim, true, false)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Andrei
сообщение 22.10.2012, 7:17
Сообщение #3


Стаж: 15 лет

Сообщений: 1335
Благодарностей: 693
Полезность: 740

Что-то я не видел такого модуля,да и зачем такой малый функционал на модуле?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
cs-portal
сообщение 27.10.2012, 12:05
Сообщение #4
Стаж: 16 лет

Сообщений: 8181
Благодарностей: 2709
Полезность: 0

я тоже не видел модуля. да и собственно вроде лонгджамп плагинов навалом? или нет
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Safety1st
сообщение 27.10.2012, 18:00
Сообщение #5
Стаж: 14 лет
Город: Moscow

Сообщений: 7228
Благодарностей: 8071
Полезность: 196

Цитата(holoc @ 12.8.2009, 14:36) *
Обновив недавно сервер с удивлением узнал, что longjump module более не работает. Пришлось реализовывать его функционал самому.

Думаю, в этих творениях LongJump Enabler код получше.

Цитата(Bos93 @ 22.10.2012, 9:17) *
Что-то я не видел такого модуля,да и зачем такой малый функционал на модуле?

Цитата(cs-portal @ 27.10.2012, 14:05) *
я тоже не видел модуля. да и собственно вроде лонгджамп плагинов навалом? или нет

Думаю, автор топика имел ввиду просто код, с помощью которого можно получить ту же функциональность, которую давал LJ.

Отредактировал: Safety1st, - 27.10.2012, 18:01
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
  Тема закрытаНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: