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

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

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

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

bhop

, bhop
Статус пользователя jahongir
сообщение 11.3.2011, 1:37
Сообщение #1
Стаж: 15 лет

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

как сдeлать плагин чтоб отдeльныe команды были включить выключить помогити пожалуйста

CODE
#include <amxmodx>
#include <engine>

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

new bool:g_on[33] = false

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

register_clcmd( "amx_bhop", "cmd_say_bh" )

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

public client_disconnect(id) {
g_on[id] = false
}

public cmd_say_bh(id) {
if(!g_on[id])
g_on[id] = true
else
g_on[id] = false

return PLUGIN_CONTINUE
}

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

if (!g_on[id])
return PLUGIN_HANDLED

entity_set_float(id, EV_FL_fuser2, 0.0)

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

// Code from CBasePlayer::Jump (player.cpp)
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
}


Отредактировал: jahongir, - 11.3.2011, 1:57
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя GAMER007
сообщение 25.10.2011, 17:55
Сообщение #2


Стаж: 17 лет

Сообщений: 67
Благодарностей: 12
Полезность: 141

up, знаю такой плагин уже есть, но найти не могу...помогите, народ.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Sanya
сообщение 25.10.2011, 18:25
Сообщение #3


Стаж: 15 лет

Сообщений: 96
Благодарностей: 25
Полезность: 204

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

#define PLUGIN "bhop"
#define VERSION "0.1"
#define AUTHOR "c-s.net.ua"

new Has[ 33 ];

public plugin_init()
{
        register_clcmd("say /bhop","bhop_menu")
    register_plugin(PLUGIN, VERSION, AUTHOR)
}
public client_authorized(id)
{
Has[ id ] = true
}
public bhops_menu(id, menu, key)
{
  if(key == MENU_EXIT)
  {
      menu_destroy(menu)
    return PLUGIN_HANDLED
  }
  new accss, clbck, data[6], name[64], itm
  menu_item_getinfo(menu, key, accss, data, 5, name, 63, clbck)
  itm = str_to_num(data)
  switch(itm)
  {
      case 1:
        {
            client_PreThink( id );
            Has[ id ] = true;
        }
      case 2:
        {
            client_PreThink( id );
            Has[ id ] = false;
        }
  }
  return PLUGIN_HANDLED
}

public bhop_menu(id)
{
    new menu
    menu = menu_create("\yРаспрыжка","bhops_menu");
    menu_additem( menu,"\rВключить", "1", 0)
    menu_additem( menu,"\dВыключить", "2", 0)
    
    menu_setprop( menu , MPROP_EXIT, MEXIT_ALL)

    menu_setprop(menu, MPROP_PERPAGE, 3)
    
    menu_display(id, menu)
    return PLUGIN_HANDLED
}

public client_PreThink( id )
{
    if( Has[ id ] )
    {
    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
}

Пойдет?

P.S. /bhop в чат

Отредактировал: Sanya96, - 25.10.2011, 18:28
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя GAMER007
сообщение 25.10.2011, 18:53
Сообщение #4


Стаж: 17 лет

Сообщений: 67
Благодарностей: 12
Полезность: 141

мм, не сильно разбираюсь в скриптинге, так то вопрос. Меню будет каждый раунд запускаться по новой? А вообще было бы удобно сделать меню так:
1. Включить
2. Выключить
3. Запомнить пред. выбор
Если выбирают 1 или 2, то меню на след. раунд снова открывается.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Sanya
сообщение 25.10.2011, 19:01
Сообщение #5


Стаж: 15 лет

Сообщений: 96
Благодарностей: 25
Полезность: 204

Цитата(GAMER007 @ 25.10.2011, 19:53) *
мм, не сильно разбираюсь в скриптинге, так то вопрос. Меню будет каждый раунд запускаться по новой? А вообще было бы удобно сделать меню так:
1. Включить
2. Выключить
3. Запомнить пред. выбор
Если выбирают 1 или 2, то меню на след. раунд снова открывается.

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