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

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

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

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

Выдача Defuse Kit - добавить квар.

, Добавить квар активации плагина.
Статус пользователя drivemaster
сообщение 13.2.2016, 0:32
Сообщение #1


Стаж: 17 лет

Сообщений: 266
Благодарностей: 79
Полезность: 246

Выдача Defuse Kit.

Доброго времени суток. Извиняюсь за банальный вопрос, но при планировании нового режима для сервера, возникла необходимость выдавать Defuse Kit команде CT, по мере активации режима.
Нарыл простой плагин выдачи, но мне необходимо, чтобы у плагина был квар активации (1 - Вкл, 0 - Выкл.), для возможности активации в нужный момент.
Думаю для знающих не составит труда.
Заранее благодарен. blush.gif

Код плагина:
Код:
#include <amxmodx>
#include <cstrike>
#include <engine>
#include <hamsandwich>

new const VERSION[] = "0.0.1"

public plugin_init()
{
register_plugin("Defuse Kit Give", VERSION, "pra")

if( find_ent_by_class(-1, "func_bomb_target") > 0 || find_ent_by_class(-1, "info_bomb_target") > 0 )
{
RegisterHam(Ham_Spawn, "player", "Ham__CBasePlayer_Spawn__Post", true)
}
}

public Ham__CBasePlayer_Spawn__Post( id )
{
if( is_user_alive(id) && cs_get_user_team(id) == CS_TEAM_CT )
{
cs_set_user_defuse(id, 1)
}
}


Отредактировал: drivemaster, - 13.2.2016, 0:33
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя ZshelZ
сообщение 13.2.2016, 7:05
Сообщение #2
Стаж: 10 лет

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

где нибудь в начале(если не подключен инклюд cstrike)
native cs_get_user_team(in)
Код:
new g_iMaxPlayers;

в нужный момент в плагине
в plugin_init
Код:
g_iMaxPlayers = get_maxplayers();

в нужном месте
циклом по игрокам
Код:
for(new i=1;i<=g_iMaxPlayers; i++){if(!is_user_alive(i)||cs_get_user_team(i)!=2)continue;cs_set_user_defuse(i,1);}


Отредактировал: ZshelZ, - 13.2.2016, 7:06
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя drivemaster
сообщение 13.2.2016, 17:04
Сообщение #3


Стаж: 17 лет

Сообщений: 266
Благодарностей: 79
Полезность: 246

ZshelZ, А где тут квар к выложенному мной плагину? Или ты предлагаешь альтернативную выдачу Дифузов?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя drivemaster
сообщение 17.2.2016, 15:57
Сообщение #4


Стаж: 17 лет

Сообщений: 266
Благодарностей: 79
Полезность: 246

Ещё актуально.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя YrkinSon
сообщение 17.2.2016, 19:15
Сообщение #5
Стаж: 12 лет
Город: Новосибирск

Сообщений: 302
Благодарностей: 54
Полезность: 36

попробуй

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

new const VERSION[] = "0.0.1"

public plugin_init()
{
register_plugin("Defuse Kit Give", VERSION, "pra")

register_cvar("enable_defuse_respawn", "1")

if(find_ent_by_class(-1, "func_bomb_target") > 0 || find_ent_by_class(-1, "info_bomb_target") > 0 )
{
RegisterHam(Ham_Spawn, "player", "Ham_CBasePlayer_Spawn__Post", true)
}
}

public Ham_CBasePlayer_Spawn__Post(id)
{
if(is_user_alive(id) && cs_get_user_team(id) == CS_TEAM_CT && (get_cvar_num("enable_defuse_respawn") >= 1))
{
cs_set_user_defuse(id, 1)
}
}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя drivemaster
сообщение 18.2.2016, 13:13
Сообщение #6


Стаж: 17 лет

Сообщений: 266
Благодарностей: 79
Полезность: 246

YrkinSon, При компиляции выдаёт 2 ошибки.

Код
C:\Program Files (x86)\Notepad++\pawn.compiler\include\cstrike.inc(13) : error 017: undefined symbol "AMXX_VERSION_NUM"
C:\Program Files (x86)\Notepad++\pawn.compiler\include\engine.inc(16) : error 017: undefined symbol "AMXX_VERSION_NUM"


Отредактировал: drivemaster, - 18.2.2016, 13:14
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя vovan4ik1997
сообщение 18.2.2016, 13:16
Сообщение #7


Стаж: 13 лет

Сообщений: 1087
Благодарностей: 433
Полезность: 718

drivemaster, в ошибке все ясно было.
Код:
#include <amxmodx>
#include <cstrike>
#include <engine>
#include <hamsandwich>

public plugin_init()
{
register_plugin("Defuse Kit Give","0.1.1", "pra")

register_cvar("enable_defuse_respawn", "1")

if(find_ent_by_class(-1, "func_bomb_target") > 0 || find_ent_by_class(-1, "info_bomb_target") > 0 )
{
RegisterHam(Ham_Spawn, "player", "Ham_CBasePlayer_Spawn__Post", true)
}
}

public Ham_CBasePlayer_Spawn__Post(id)
{
if(is_user_alive(id) && cs_get_user_team(id) == CS_TEAM_CT && (get_cvar_num("enable_defuse_respawn") >= 1))
{
cs_set_user_defuse(id, 1)
}
}


Представь, что ты заплатил однажды, а получаешь прибыль постоянно.
Закажи правильный контент тут
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя drivemaster
сообщение 18.2.2016, 13:53
Сообщение #8


Стаж: 17 лет

Сообщений: 266
Благодарностей: 79
Полезность: 246

Благодарю, всё работает.

А сложно добавить, чтобы по этому же квару выдавалась и отнималась бомба у террористов?

Ну, например:
при
Код
enable_defuse_respawn 1
Террористу выдаётся бомба (случайному, как обычно), Кт щипцы.

при кваре
Код
enable_defuse_respawn 0
у террористов отнимается бомба, у кт щипцы.

С учётом того что места закладки остаются, просто бомбы нет.

Места закладки бомбы выставлены плагином BombSite Creator

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