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

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

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

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

> Правила форума

Этот раздел, как вы могли заметить по названию, предназначен для решения вопросов по поводу уже существующих модов и плагинов.
Пожалуйста, если у вас проблема с написанием плагина, не путайте этот раздел с разделом по скриптингу.
Для поиска плагинов и модов существует соответствующий раздел.

Название темы должно соответствовать содержанию. Темы с названием типа "Помогите", "Вопрос", "парни подскажите..." - будут удалены.
Все темы, не относящиеся к "Вопросам по модам и плагинам", будут удалены или перемещены в соответствующий раздел.

Правила оформления темы:
1. Помимо заголовка не забудьте верно сформулировать свой вопрос.
2. Выложите исходник (в тег кода + ) или ссылку на плагин который вызывает у вас вопросы.
3. Выложите лог с ошибками (если имеется) под спойлер

bhop - say /off /on

, плиз help
Статус пользователя bapstop
сообщение 29.11.2014, 13:53
Сообщение #1


Стаж: 12 лет

Сообщений: 206
Благодарностей: 100
Полезность: 686

Как сделать чтобы когда игрок писал в чат: /on - у него включался Bhop
А когда пишет: /off - то отключается

Код:
#include <amxmodx>
#include <engine>

#define FL_WATERJUMP (1<<11) // player jumping out of water
#define FL_ONGROUND (1<<9) // At rest / on the ground

public plugin_init() {
register_plugin("Super Bunny Hopper", "1.2", "Cheesy Peteza")
register_cvar("sbhopper_version", "1.2", FCVAR_SERVER)

register_cvar("bh_enabled", "1")
register_cvar("bh_autojump", "1")
register_cvar("bh_showusage", "1")
}

public client_PreThink(id) {
if (!get_cvar_num("bh_enabled"))
return PLUGIN_CONTINUE

entity_set_float(id, EV_FL_fuser2, 0.0) // Disable slow down after jumping

if (!get_cvar_num("bh_autojump"))
return PLUGIN_CONTINUE

// Code from CBasePlayer::Jump (player.cpp) Make a player jump automatically
if (entity_get_int(id, EV_INT_button) & 2) { // If holding jump
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) // Play the Jump Animation
}
return PLUGIN_CONTINUE
}

public client_authorized(id)
set_task(30.0, "showUsage", id)

public showUsage(id) {
if ( !get_cvar_num("bh_enabled") || !get_cvar_num("bh_showusage") )
return PLUGIN_HANDLED

if ( !get_cvar_num("bh_autojump") ) {
client_print(id, print_chat, "[AMX] Bunny hopping is enabled on this server. You will not slow down after jumping.")
} else {
client_print(id, print_chat, "[AMX] Auto bunny hopping is enabled on this server. Just hold down jump to bunny hop.")
}
return PLUGIN_HANDLED
}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   Цитировать сообщение
Статус пользователя sweet
сообщение 29.11.2014, 13:58
Сообщение #2
Стаж: 15 лет

Сообщений: 1920
Благодарностей: 597
Полезность: 431

Вот такой плагин есть.

Команды в консоль:
bhopon
bhopoff

Код:
#include <amxmodx>
#include <engine>

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

new bhops[32] = false

public plugin_init() {
register_plugin("Super Bunny Hopper", "1.2", "Cheesy Peteza")
register_clcmd("bhopon","bhop_trololoon")
register_clcmd("bhopoff","bhop_trololooff")
register_cvar("sbhopper_version", "1.2", FCVAR_SERVER)

register_cvar("bh_enabled", "1")
register_cvar("bh_autojump", "1")
register_cvar("bh_showusage", "1")
}

public client_PreThink(id) {
if (!get_cvar_num("bh_enabled"))
return PLUGIN_CONTINUE

if (!bhops[id])
return PLUGIN_CONTINUE

entity_set_float(id, EV_FL_fuser2, 0.0)

if (!get_cvar_num("bh_autojump"))
return PLUGIN_CONTINUE

// Code from CBasePlayer::Jump (player.cpp) Make a player jump automatically
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)
}
return PLUGIN_CONTINUE
}

public client_authorized(id)
set_task(30.0, "showUsage", id)

public showUsage(id) {
if ( !get_cvar_num("bh_enabled") || !get_cvar_num("bh_showusage") )
return PLUGIN_HANDLED

if ( !get_cvar_num("bh_autojump") ) {
client_print(id, print_chat, "")
} else {
client_print(id, print_chat, "")
}
return PLUGIN_HANDLED
}

public bhop_trololoon(id)
{
bhops[id] = true
}

public bhop_trololooff(id)
{
bhops[id] = false
}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя FlaZeR
сообщение 29.11.2014, 14:05
Сообщение #3
Стаж: 12 лет

Сообщений: 354
Благодарностей: 145
Полезность: 81

А команду say добавить, думаю ТС труда не составит :)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя bapstop
сообщение 29.11.2014, 17:17
Сообщение #4


Стаж: 12 лет

Сообщений: 206
Благодарностей: 100
Полезность: 686

Проблема решена переделал плагин :)

Код:
#include <amxmodx>

#include <engine>



#define FL_WATERJUMP (1<<11)

#define FL_ONGROUND (1<<9)



new bhops[32] = false



public plugin_init() {

register_plugin("Super Bunny Hopper", "1.2", "Cheesy Peteza")

register_clcmd("say /on","bhop_trololoon")

register_clcmd("say /off","bhop_trololooff")

register_cvar("sbhopper_version", "1.2", FCVAR_SERVER)



register_cvar("bh_enabled", "1")

register_cvar("bh_autojump", "1")

register_cvar("bh_showusage", "0")

}

public client_putinserver(id)

{

bhops[id] = true

}

public client_PreThink(id) {

if (!get_cvar_num("bh_enabled"))

return PLUGIN_CONTINUE



if (!bhops[id])

return PLUGIN_CONTINUE



entity_set_float(id, EV_FL_fuser2, 0.0)



if (!get_cvar_num("bh_autojump"))

return PLUGIN_CONTINUE



// Code from CBasePlayer::Jump (player.cpp) Make a player jump automatically

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)

}

return PLUGIN_CONTINUE

}



public client_authorized(id)

set_task(30.0, "showUsage", id)



public showUsage(id) {

if ( !get_cvar_num("bh_enabled") || !get_cvar_num("bh_showusage") )

return PLUGIN_HANDLED



if ( !get_cvar_num("bh_autojump") ) {

client_print(id, print_chat, "")

} else {

client_print(id, print_chat, "")

}

return PLUGIN_HANDLED

}



public bhop_trololoon(id)

{

bhops[id] = true

}



public bhop_trololooff(id)

{

bhops[id] = false

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