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

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

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

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

Тройной\двойной прыжок VIP

Статус пользователя TuRBoDiZz
сообщение 10.3.2013, 16:10
Сообщение #1
Стаж: 13 лет

Сообщений: 142
Благодарностей: 6
Полезность: 44

Здравствуйте!
Решил доделать Вип меню, но не могу добавить Тройной или двойной прыжок с функцией ВКЛ/выкл.
Как это можно сделать? если можно сделать его 6 разделом, а Воскресить игрока перенести на 7, заранее спасибо!

Тело :D
#NDLED
}


Отредактировал: TuRBoDiZz, - 10.3.2013, 22:14
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
cs-portal
сообщение 10.3.2013, 16:26
Сообщение #2
Стаж: 16 лет

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

new bool:HasUserJump[33] = false


хукаешь client_death

HasUserJump[id] = false

в момент включения скилла в меню

HasUserJump[id] = true

также оффать надо при client_disconnect / connect во избежание ошибок
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
cs-portal
сообщение 10.3.2013, 16:43
Сообщение #3
Стаж: 16 лет

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

оформи код с отступами. в тег <code>
читать неудобно

вначале там

Код
#define ADMINACCESS ADMIN_CHAT

new bool:hasjump[33]
new jumpnum[33] = 0
new bool:dojump[33] = fals
e

добавляешь в
Код
public plugin_init()
{
    
    register_cvar("amx_maxjumps","3")
    register_cvar("amx_mjadminonly","0")
}



Код
public client_disconnect(id)
{
    jumpnum[id] = 0
    dojump[id] = false
        hasjump[id] = false
}



Код
public client_PreThink(id)
{
        
    if(!is_user_alive(id) || !hasjump[id]) return PLUGIN_CONTINUE
    if(get_cvar_num("amx_mjadminonly") && (!access(id,ADMINACCESS))) return PLUGIN_CONTINUE
    new nbut = get_user_button(id)
    new obut = get_user_oldbutton(id)
    if((nbut & IN_JUMP) && !(get_entity_flags(id) & FL_ONGROUND) && !(obut & IN_JUMP))
    {
        if(jumpnum[id] < get_cvar_num("amx_maxjumps"))
        {
            dojump[id] = true
            jumpnum[id]++
            return PLUGIN_CONTINUE
        }
    }
    if((nbut & IN_JUMP) && (get_entity_flags(id) & FL_ONGROUND))
    {
        jumpnum[id] = 0
        return PLUGIN_CONTINUE
    }
    return PLUGIN_CONTINUE
}

public client_PostThink(id)
{
    if(!is_user_alive(id) || hasjump[id]) return PLUGIN_CONTINUE
    if(get_cvar_num("amx_mjadminonly") && (!access(id,ADMINACCESS))) return PLUGIN_CONTINUE
    if(dojump[id] == true)
    {
        new Float:velocity[3]    
        entity_get_vector(id,EV_VEC_velocity,velocity)
        velocity[2] = random_float(265.0,285.0)
        entity_set_vector(id,EV_VEC_velocity,velocity)
        dojump[id] = false
        return PLUGIN_CONTINUE
    }
    return PLUGIN_CONTINUE
}



в меню в какой то пункт пхаешь

hasjump[id] = true

ну примерно так
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя TuRBoDiZz
сообщение 10.3.2013, 17:25
Сообщение #4
Стаж: 13 лет

Сообщений: 142
Благодарностей: 6
Полезность: 44

Цитата(cs-portal @ 10.3.2013, 16:43) *
оформи код с отступами. в тег <code>
читать неудобно

вначале там

Код
#define ADMINACCESS ADMIN_CHAT

new bool:hasjump[33]
new jumpnum[33] = 0
new bool:dojump[33] = fals
e

добавляешь в
Код
public plugin_init()
{
    
    register_cvar("amx_maxjumps","3")
    register_cvar("amx_mjadminonly","0")
}



Код
public client_disconnect(id)
{
    jumpnum[id] = 0
    dojump[id] = false
        hasjump[id] = false
}



Код
public client_PreThink(id)
{
        
    if(!is_user_alive(id) || !hasjump[id]) return PLUGIN_CONTINUE
    if(get_cvar_num("amx_mjadminonly") && (!access(id,ADMINACCESS))) return PLUGIN_CONTINUE
    new nbut = get_user_button(id)
    new obut = get_user_oldbutton(id)
    if((nbut & IN_JUMP) && !(get_entity_flags(id) & FL_ONGROUND) && !(obut & IN_JUMP))
    {
        if(jumpnum[id] < get_cvar_num("amx_maxjumps"))
        {
            dojump[id] = true
            jumpnum[id]++
            return PLUGIN_CONTINUE
        }
    }
    if((nbut & IN_JUMP) && (get_entity_flags(id) & FL_ONGROUND))
    {
        jumpnum[id] = 0
        return PLUGIN_CONTINUE
    }
    return PLUGIN_CONTINUE
}

public client_PostThink(id)
{
    if(!is_user_alive(id) || hasjump[id]) return PLUGIN_CONTINUE
    if(get_cvar_num("amx_mjadminonly") && (!access(id,ADMINACCESS))) return PLUGIN_CONTINUE
    if(dojump[id] == true)
    {
        new Float:velocity[3]    
        entity_get_vector(id,EV_VEC_velocity,velocity)
        velocity[2] = random_float(265.0,285.0)
        entity_set_vector(id,EV_VEC_velocity,velocity)
        dojump[id] = false
        return PLUGIN_CONTINUE
    }
    return PLUGIN_CONTINUE
}



в меню в какой то пункт пхаешь

hasjump[id] = true

ну примерно так


Не выходит у меня, руки не от туда..
Ну вот так
Код
#iED
}


Отредактировал: TuRBoDiZz, - 10.3.2013, 22:15
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя nprod
сообщение 10.3.2013, 17:39
Сообщение #5


Стаж: 13 лет

Сообщений: 209
Благодарностей: 73
Полезность: 281

На будущее:
в панели инструментов есть функция code:


Когда ты заключаешь текст (в твоем случае исходник плагина) он публикуется со всеми отступами:
Код
                                                               К примеру такой отступ
                                                или такой

Конечно же, можно заключать code в спойлер:
Спойлер
Код
блабла
                      блабла
                                             блабла

Как сказали выше, так удобнее читать код.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя TuRBoDiZz
сообщение 10.3.2013, 17:44
Сообщение #6
Стаж: 13 лет

Сообщений: 142
Благодарностей: 6
Полезность: 44

Цитата(nprod @ 10.3.2013, 17:39) *
На будущее:
в панели инструментов есть функция code:


Когда ты заключаешь текст (в твоем случае исходник плагина) он публикуется со всеми отступами:
Код
                                                               К примеру такой отступ
                                                или такой

Конечно же, можно заключать code в спойлер:
Спойлер
Код
блабла
                      блабла
                                             блабла

Как сказали выше, так удобнее читать код.

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