Все вопросы по скриптингу для AMXX, помощь в редактировании плагинов.
Модераторы: Subb98, liFe iS GoOD
Правила форума
1. Запрещено материться и оскорблять других участников форума.
2. Запрещен флуд, оффтоп, дабл постинг во всех разделах форума, кроме раздела "Болтовня".
3. Запрещено взламывать сайт/форум или наносить любой вред проекту.
4. Запрещено рекламировать другие ресурсы.
5. Запрещено создавать темы без информативного названия. Название темы должно отображать ее смысл.
В данном разделе форума разрешено создавать темы, касающие только скриптинга для AMX Mod X.
Правила при создании новой темы:
1. При вставке кода плагина необходимо использовать тег [code=php].
2. Любые изображения должны быть загружены, как вложения к вашему сообщению.
3. При описании проблемы или запросе на помощь в редактировании плагина обязательно выкладывайте исходник sma плагина.
jigore » 21 июл 2018, 01:53
Решил изменить один плагин для зм сервера, чтобы был leap и у людей, но хочу сделать его активацию после нажатия 3 раз +forward (вперед). Т.е. чтобы мог просто ходить, но если нажал три раза юзался leap.
- Код: Выделить всё
#include <amxmodx>
#include <fakemeta>
#include <zombieplague>
#define PLUGIN "[ZP] WWWLeap"
#define VERSION "0.1"
#define AUTHOR "gore"
/*based on zp_leap*/
#define TASK_ID 1337
new www_leap
new www_time
new bool:g_hasLeap[33]
new Float:g_lastLeaptime[33]
new g_Leap_force
new g_Leap_height
new g_Leap_cooldown
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
g_Leap_force = register_cvar("www_force", "550")
g_Leap_height = register_cvar("www_height", "255")
g_Leap_cooldown = register_cvar("www_cooldown", "5.0")
www_leap = register_cvar("www_leap","1")
www_time = register_cvar("www_leap_time","15.0")
register_forward(FM_PlayerPreThink, "fw_PlayerPreThink")
register_event("DeathMsg", "death", "a")
register_event("HLTV", "event_round_start", "a", "1=0", "2=0")
}
public client_disconnect(id)
{
g_hasLeap[id] = false;
if ( task_exists(TASK_ID+id) )
remove_task(TASK_ID+id)
}
public death()
{
g_hasLeap[read_data(2)] = false
}
public zp_user_humanized_pre(id)
{
if (is_user_alive(id) && zp_get_user_zombie(id))
{
if (get_pcvar_num(www_leap))
{
set_task(1.00, "CountDown", id + 1337, "", 0, "", 0);
new Float:leap_float = get_pcvar_float(www_time);
set_task(leap_float, "leap_begin", id, "", 0, "", 0);
}
}
return PLUGIN_HANDLED
}
public event_round_start()
{
for (new i = 1; i <= 32; i++)
g_hasLeap[i] = true
}
public zp_user_infected_post(id, infector)
{
g_hasLeap[id] = false
}
public leap_begin(id)
{
if (!is_user_alive(id))
return PLUGIN_HANDLED
if (zp_get_user_zombie(id))
{
g_hasLeap[id] = true
remove_task(TASK_ID+id)
}
return PLUGIN_HANDLED
}
public fw_PlayerPreThink(id)
{
if (!is_user_alive(id))
return FMRES_IGNORED
if (leap_longjump(id))
{
static Float:velocity[3]
velocity_by_aim(id, get_pcvar_num(g_Leap_force), velocity)
velocity[2] = get_pcvar_float(g_Leap_height)
set_pev(id, pev_velocity, velocity)
g_lastLeaptime[id] = get_gametime()
}
return FMRES_IGNORED
}
leap_longjump(id)
{
if (!g_hasLeap[id])
return false
if (!(pev(id, pev_flags) & FL_ONGROUND) || fm_get_speed(id) < 80)
return false
static buttons
buttons = pev(id, pev_button)
if (!is_user_bot(id) && (!(buttons & IN_JUMP) || !(buttons & IN_DUCK)))
return false
if (get_gametime() - g_lastLeaptime[id] < get_pcvar_float(g_Leap_cooldown))
return false
return true
}
stock fm_get_speed(entity)
{
static Float:velocity[3]
pev(entity, pev_velocity, velocity)
return floatround(vector_length(velocity))
}
can do nothing with PAWN.
-
jigore
-
- Сообщения: 2
- Зарегистрирован: 21 июл 2018, 01:44
- Благодарил (а): 0 раз.
- Поблагодарили: 0 раз.
- Опыт программирования: Меньше недели
- Языки программирования: Я ничего не знаю
NoPM_N1Ck » 22 июл 2018, 01:43
Я так понимаю, что исходник от leap для зомби?
-
NoPM_N1Ck
-
- Сообщения: 99
- Зарегистрирован: 06 июл 2018, 18:56
- Откуда: Русь
- Благодарил (а): 2 раз.
- Поблагодарили: 7 раз.
- Опыт программирования: Меньше месяца
- Языки программирования: Java
jigore » 22 июл 2018, 12:46
NoPM_N1Ck писал(а):Я так понимаю, что исходник от leap для зомби?
да, так и есть
can do nothing with PAWN.
-
jigore
-
- Сообщения: 2
- Зарегистрирован: 21 июл 2018, 01:44
- Благодарил (а): 0 раз.
- Поблагодарили: 0 раз.
- Опыт программирования: Меньше недели
- Языки программирования: Я ничего не знаю
Вернуться в Скриптинг
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 6