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

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

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

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

Advanced Spectate

, Изменить тип консольной команды для использования плагина
Статус пользователя Ваван
сообщение 24.4.2010, 0:24
Сообщение #1


Стаж: 18 лет

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

Меценат Меценат

Всем доброго...

Задался вот вопросом одним, а так как сам ноль, искренне прошу помощи.

Имеется плагин для перехода администратора в режим живого спетатора.
https://c-s.net.ua/forum/topic7751.html

Все отлично работает, но есть пожелания по модификации плагина. Для использования требуется нажать "у" и ввести в чат фразу "/spec". Либо воспользоватся консолью и забиндить на любую клавишу "bind v say /spec"

Так вот суть модернизации такова. Дабы админам не заполнять экран одной и той же фразой, переделать чтобы вместо сообщения в чат, можно было просто ввести в консоле любую команду, например:
amx_spec

И желательно сменить флаг доступа. Чтобы данным плагином могли пользоватся только администраторы с флагом доступа "А" - иммунитетом.

Люди добрые помогите что чем сможет!)
Прикрепленные файлы:
Прикрепленный файл  advanced_spec.rar ( 9,03 килобайт ) Кол-во скачиваний: 12
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя Rejiser
сообщение 16.8.2010, 14:44
Сообщение #2


Стаж: 15 лет

Сообщений: 2261
Благодарностей: 1068
Полезность: 870

может вот так :

#define ADMIN_FLAG ADMIN_KICK
заменить на
#define ADMIN_FLAG ADMIN_IMMUNITY

Кстате неплохая замена amx_revive, тоже интересует вопрос про чат (как скрыть сообщение)
или про добавление консольной команды

Отредактировал: Rejiser, - 16.8.2010, 14:45
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя STR@TEG
сообщение 16.8.2010, 18:13
Сообщение #3
Стаж: 16 лет

Сообщений: 4186
Благодарностей: 1763
Полезность: 837

Вот попробуй, команда /spec или /aspec скрываются из чата:
Прикрепленный файл  advanced_spec_1.1.rar ( 10,32 килобайт ) Кол-во скачиваний: 3
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Rejiser
сообщение 19.8.2010, 11:22
Сообщение #4


Стаж: 15 лет

Сообщений: 2261
Благодарностей: 1068
Полезность: 870

STR@TEG, подскажи как добавить консольную команду?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя STR@TEG
сообщение 19.8.2010, 12:21
Сообщение #5
Стаж: 16 лет

Сообщений: 4186
Благодарностей: 1763
Полезность: 837

Цитата(Rejiser @ 19.8.2010, 13:22) *
STR@TEG, подскажи как добавить консольную команду?
Код
register_concmd("команда", "функция", флаг, "подсказка")
Команда - консольная команда, при которой выполняется определенное действие.
Функция - имя функции, которая выполняется при выполнении консольной команды.
Флаг - флаг доступа к использованию консольной команды.
Подсказка - просто текст, выводимый при написании amx_help.

Еще необходимо изменить функцию say_event(id), так как она работает с чатом.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Rejiser
сообщение 19.8.2010, 12:56
Сообщение #6


Стаж: 15 лет

Сообщений: 2261
Благодарностей: 1068
Полезность: 870

STR@TEG, получается вот так?
register_concmd("amx_spec", "say_event", ADMIN_FLAG, "Перевод в спектары")

Отредактировал: Rejiser, - 19.8.2010, 13:01
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя STR@TEG
сообщение 19.8.2010, 13:14
Сообщение #7
Стаж: 16 лет

Сообщений: 4186
Благодарностей: 1763
Полезность: 837

Цитата(Rejiser @ 19.8.2010, 14:56) *
STR@TEG, получается вот так?
register_concmd("amx_spec", "say_event", ADMIN_FLAG, "Перевод в спектары")
Да, только вместо ADMIN_FLAG должен быть какой-либо администраторский флаг, если только ADMIN_FLAG не объявлен ранее в начале кода.

Еще необходимо изменить функцию say_event(id), так как она работает с чатом.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Rejiser
сообщение 19.8.2010, 14:07
Сообщение #8


Стаж: 15 лет

Сообщений: 2261
Благодарностей: 1068
Полезность: 870

STR@TEG, да объявлен
Цитата
Еще необходимо изменить функцию say_event(id), так как она работает с чатом.

Куда ее изменять? sorry.gif
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя STR@TEG
сообщение 19.8.2010, 14:36
Сообщение #9
Стаж: 16 лет

Сообщений: 4186
Благодарностей: 1763
Полезность: 837

Замени функцию say_event(id) на эту:
CODE
public say_event(id)
{
if (!(get_user_flags(id) & ADMIN_FLAG))
{
client_print(id, print_chat, "You do not have access to go Advanced Spectate.")
}
else if (g_Spec[id])
{
client_print(id, print_chat, "You have returned to a normal team.")

if (is_user_alive(id))
{
reset_player_model(id)

if (g_Spec[id]==1)
{
cs_set_user_team(id, CS_TEAM_T)
}
else
{
cs_set_user_team(id, CS_TEAM_CT)
}
unspec_stuff(id)
_SetPlayerSolid(id)
_set_rendering(id)
}
g_Spec[id] = 0
}
else
{
g_Spec[id] = Team(id)
spec_stuff(id)
cs_set_user_team(id, CS_TEAM_SPECTATOR)
reset_player_model(id)
client_print(id, print_chat, "You have gone Advanced Spectate.")
}
return PLUGIN_HANDLED
}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Rejiser
сообщение 19.8.2010, 15:06
Сообщение #10


Стаж: 15 лет

Сообщений: 2261
Благодарностей: 1068
Полезность: 870

STR@TEG, скомпилировалось без ошибок)
завтра проверю на работоспособность)

ахаха
теперь когда админ пишет что-либо в чат (любое сообщение) он переходит в спектара, еще раз пишет - обратно выходит

Отредактировал: Rejiser, - 19.8.2010, 15:41
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Rejiser
сообщение 20.8.2010, 5:21
Сообщение #11


Стаж: 15 лет

Сообщений: 2261
Благодарностей: 1068
Полезность: 870

Цитата(STR@TEG @ 16.8.2010, 20:13) *
Вот попробуй, команда /spec или /aspec должны скрываться из чата:
[attachment=12275:advanced_spec.rar]


а если с этими изменениями, то вообще ни одна команда в чате не отображается, даже сообщения простые)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя STR@TEG
сообщение 20.8.2010, 8:22
Сообщение #12
Стаж: 16 лет

Сообщений: 4186
Благодарностей: 1763
Полезность: 837

Цитата(Rejiser @ 19.8.2010, 17:06) *
теперь когда админ пишет что-либо в чат (любое сообщение) он переходит в спектара, еще раз пишет - обратно выходит
Потому что
Код
register_clcmd("say", "say_event")
register_clcmd("say_team","say_event")
нужно было удалить и оставить только консольную команду.

Цитата(Rejiser @ 20.8.2010, 7:21) *
а если с этими изменениями, то вообще ни одна команда в чате не отображается, даже сообщения простые)
Исправил, архив выше.

Конечный вариант для тебя:
Прикрепленный файл  advanced_spec_1.1.rar ( 9,96 килобайт ) Кол-во скачиваний: 8
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 2 раз
   + Цитировать сообщение
Статус пользователя Ваван
сообщение 30.8.2010, 16:47
Сообщение #13


Стаж: 18 лет

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

Меценат Меценат

Вот самое главное было в том:
Чтобы когда переходишь в этот режим, остальные не пытались повторить.
Просто тупо чат забивают, а толку ZERO...

Так заматывает когда все тупо толпятся, а ты знаешь что мона пройти и там никого нет !!!

Зафтра проверю... Надеюсь оправдает мое ожидание...
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Ваван
сообщение 31.8.2010, 8:51
Сообщение #14


Стаж: 18 лет

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

Меценат Меценат

Всё отлично получилось...

Спасибо огромное за помощь !!!

З.Ы. Единственный вопрос остался. Что мне надо изменить в sma, если потребуецца поменять флаг доступа с иммунитета, например на флаг бана ???
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Rejiser
сообщение 31.8.2010, 9:20
Сообщение #15


Стаж: 15 лет

Сообщений: 2261
Благодарностей: 1068
Полезность: 870

Цитата(Ваван @ 31.8.2010, 10:51) *
З.Ы. Единственный вопрос остался. Что мне надо изменить в sma, если потребуецца поменять флаг доступа с иммунитета, например на флаг бана ???


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