Работа плагина на 1 карту , не на раунд

gesk1995

Пользователь
Регистрация
8 Июн 2017
Сообщения
339
Симпатии
11
Пол
Мужской
#1
Код:
#include <amxmodx>
#include <engine>
#include <cstrike>

#define FL_WATERJUMP (1<<11)
#define FL_ONGROUND (1<<9)

new userspeed[33]
new levitation[33]

public plugin_init()
{
    register_plugin("Buy Bunny Hop", "1.0", "Cs-StrikeS.Moy.Su")

    register_event("ResetHUD", "round_start", "be")

    register_clcmd("buy_bhop", "buy_bhop")
    register_clcmd("buy_levit", "buy_levit")
}

public round_start(id)
{
    userspeed[id] = 0
    levitation[id] = 0
}

public buy_bhop(id)
{
        new Bhop
        new Money
        Money = cs_get_user_money(id)
        Bhop = 5000
    if(Money >= Bhop)
    {
        userspeed[id] = 1
        set_task(1.0, "client_PreThink", id)
        cs_set_user_money(id, Money - Bhop)
    }
        else
        {
                client_print(id, print_chat, "У вас нехватает Денег !!!")
                client_print(id, print_console, "У вас нехватает Денег !!!")
        }
}

public buy_levit(id)
{
        new Levit
        new Money
        Money = cs_get_user_money(id)
        Levit = 10000
    if(Money >= Levit)
    {
        levitation[id] = 1
        set_task(1.0, "client_PreThink", id)
        cs_set_user_money(id, Money - Levit)
    }
        else
        {
                client_print(id, print_chat, "У вас нехватает Денег !!!")
                client_print(id, print_console, "У вас нехватает Денег !!!")
        }
}

public client_PreThink(id)
{
       if(is_user_alive(id))
        {
        if(userspeed[id] == 1)
            {
            entity_set_float(id, EV_FL_fuser2, 0.0)

            if(entity_get_int(id, EV_INT_button) & 2)
                    {
                new flags = entity_get_int(id, EV_INT_flags)

                if (flags & FL_WATERJUMP)
                    return PLUGIN_CONTINUE
                if (entity_get_int(id, EV_INT_waterlevel) >= 2 )
                    return PLUGIN_CONTINUE
                if (!(flags & FL_ONGROUND))
                    return PLUGIN_CONTINUE

                new Float:velocity[3]
                entity_get_vector(id, EV_VEC_velocity, velocity)
                velocity[2] += 250.0
                entity_set_vector(id, EV_VEC_velocity, velocity)

                entity_set_int(id, EV_INT_gaitsequence, 6)
            }
        }
        if(levitation[id] == 1)
            {
                        new oldbuttons = get_user_oldbutton(id)

                        oldbuttons &= ~IN_JUMP
                        entity_set_int(id, EV_INT_oldbuttons, oldbuttons)
            entity_set_float(id, EV_FL_fuser2, 0.0)

            if(entity_get_int(id, EV_INT_button) & 2)
                    {
                new Float:velocity[3]
                entity_get_vector(id, EV_VEC_velocity, velocity)
                velocity[2] += 250.0
                entity_set_vector(id, EV_VEC_velocity, velocity)

                entity_set_int(id, EV_INT_gaitsequence, 6)
            }
        }
    }
    return PLUGIN_CONTINUE
}


Ребят помогите вырезать buy_levit , и подскажите как мне сделать что бы покупка осуществлялась на 1 карту , а не на раунд.
 

g52

Пользователь
Регистрация
8 Июн 2018
Сообщения
243
Симпатии
30
#2
gesk1995, попробую рискнуть (вырезал notepad-ом все названия с левитом)
 

Вложения

gesk1995

Пользователь
Регистрация
8 Июн 2017
Сообщения
339
Симпатии
11
Пол
Мужской
#3
g52, не компилируется
13 Дек 2018
ф
 

Вложения

  • 34,9 KB 5

xopoIIIuu

Пользователь
Регистрация
17 Июл 2017
Сообщения
23
Симпатии
1
Пол
Мужской
#4
Еб*нутся, что за код? Где вы такую х*йню вечно находите?

Думаю дальше сам разберешься...
Код:
#include <reapi>

RegisterHookChain(RG_CBasePlayer_Jump, "HC_CBasePlayer_Jump_Pre", .post = false);

public HC_CBasePlayer_Jump_Pre(id) {
    new flags = get_entvar(id, var_flags);

    if((flags & FL_WATERJUMP) || !(flags & FL_ONGROUND) || get_entvar(id, var_waterlevel) >= 2)
    return HC_CONTINUE;

new Float:fVelocity[3];
    get_entvar(id, var_velocity, fVelocity);
    fVelocity[2] = 250.0;

    set_entvar(id, var_velocity, fVelocity);
    set_entvar(id, var_gaitsequence, 6);
}
 

gesk1995

Пользователь
Регистрация
8 Июн 2017
Сообщения
339
Симпатии
11
Пол
Мужской
#5
xopoIIIuu, что есть то есть , другого никто не сделает .
13 Дек 2018
xopoIIIuu, не силён в скриптенге , подскажи хотя б чё куда)
 

ifx

Пользователь
Регистрация
11 Фев 2018
Сообщения
287
Симпатии
120
#6
закомменти строки, чтобы было вот так

// register_event("ResetHUD", "round_start", "be")
// public round_start(id)
// {
// userspeed[id] = 0
// levitation[id] = 0
// }

и перекомпилируй плагин, этого должно хватить
 

gesk1995

Пользователь
Регистрация
8 Июн 2017
Сообщения
339
Симпатии
11
Пол
Мужской
#7
ifx, всё работает , но вот компилируется , и есть ошибки , это критично?
 

Вложения

  • 32,7 KB 16

ifx

Пользователь
Регистрация
11 Фев 2018
Сообщения
287
Симпатии
120
#8
gesk1995, это не ошибки, а предупреждения) можешь забить, на работу плагина никак не влияет