AMX MOD X
Среда, 28.01.2026, 07:16:43



Приветствую Вас Гость | RSS
[ Главная ] [ Redirect в зависимости от мода - AMX Mod X Форум ] [ Регистрация ] [ Вход ]
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]

Вниманию участников! Данный форум теперь является архивом и вскором времени здесь нельзя будет создавать новых тем! Просьба всем для общения и создания новых тем перейти на наш новый форум: http://amxmodx.su/

  • Страница 1 из 1
  • 1
Модератор форума: slogic, AlMod  
Redirect в зависимости от мода
unKn0wnДата: Четверг, 16.10.2008, 09:42:05 | Сообщение # 1
Майор
Группа: Пользователи
Сообщений: 98
Репутация: 0
Статус: Не в сети
Суть плагина в том, чтобы перенапралять игрока на другой сервер в зависимости от мода игры. Есть на одном айпи несколько серверов КС, и один ХЛ1. Для ХЛ1 был выделен порт 27011, и получаетсья пользывателям теперь при конекте прийдёться писать этот порт(да знаю есть вкладка "фаворитс" -но это я знаю...) И я подумал почему бы не сделать плагин который будет проверять значение gamedir, и в зависимости от этого значения делал перенаправление, на сервера к которым относитсья мод игры. На пример gamedir cstrike, gamedir valve. (если такой плагин существует то прошу дайте ссылку)
Я пытался переделать HPK -ничего невышло. Потом взялся за различные плагины отвечающие за redirect... Но так и нечего неполучилось так, как я впервые берусь за создание\переделывание плагина, и познания в скриптинге очень малы... Столкнулся с проблемой немагу найти, что вписать вместо get_playersnum.
Code
new gamedir
gamedir = get_playersnum(1)

Kак я понял функция get_playersnum выполняет свою роль, теость проверяет игроков, на какая функция будет проверять gamedir??
PS: я во всём этом плохо понимаю, поэтому буду очень дотошный :)) конечно если вобще кто-то хоть чем то поможет.




Сообщение отредактировал unKn0wn - Четверг, 16.10.2008, 09:43:23
 
slogicДата: Воскресенье, 19.10.2008, 16:46:12 | Сообщение # 2
Генералиссимус
Группа: Админы
Сообщений: 1941
Репутация: 47
Статус: Не в сети
чтобы проверить какой мод стоит, надо использовать функцию
stock is_running(const mod[])
из amxmisc.inc

пример:
if(is_running("cstrike")) log_amx("мы играем в CS")

 
SinatorДата: Воскресенье, 19.10.2008, 17:19:51 | Сообщение # 3
Рядовой
Группа: Пользователи
Сообщений: 12
Репутация: 0
Статус: Не в сети
Если не ошибаюсь, то он хочет узнать не на сервере, а на клиенте, а я так понял, что твоя функция определяет на строне сервера мод.

+ я конечно тоже пока профан в этом, но вроде нельзя это сделать вообще, т.к. клинет до подключения к серверу будет видеть что это допустим КС, а игрок играет в ХЛ, то ему игра скажет "На данном сервере запущенная другая игра." ... и тебя даже не начнёт конектить )


CS Servers:
csp.ty-ta.ru:27015 - Pub#1
csp.ty-ta.ru:27018 - DM
csp.ty-ta.ru:27020 - Jump#1
 
draftДата: Воскресенье, 19.10.2008, 22:50:32 | Сообщение # 4
Полковник
Группа: Пользователи
Сообщений: 225
Репутация: 3
Статус: Не в сети
Абсолютно верно.
 
unKn0wnДата: Суббота, 25.10.2008, 17:48:12 | Сообщение # 5
Майор
Группа: Пользователи
Сообщений: 98
Репутация: 0
Статус: Не в сети
Сначала тебя пускает на сервер, тоесть примерно грузит на 3 "диления" после просто прекращает коннектить и в консоле пишет, что не тот мод. Это пишет с параметром "developer 2

BUILD 3647 SERVER (0 CRC)
Server # 26
Serverinfo packet received.
Clearing memory
loading sprites/640hud3.spr
loading sprites/640hud7.spr
loading sprites/640hud8.spr
loading sprites/640hud9.spr
loading sprites/640hud5.spr
loading sprites/640hud6.spr
loading sprites/crosshairs.spr
loading sprites/640hud4.spr
loading sprites/640hud1.spr
loading sprites/640hud2.spr
loading sprites/640hud16.spr
loading sprites/radar640.spr
loading sprites/radaropaque640.spr
loading sprites/640hud12.spr
loading sprites/640hud13.spr
loading sprites/sniper_scope.spr
loading sprites/ch_sniper.spr
loading sprites/640hud14.spr
loading sprites/640hud15.spr
loading sprites/640hud17.spr
loading sprites/640hud18.spr
loading sprites/640hud10.spr
loading sprites/640hud11.spr
loading sprites/iplayer.spr
loading sprites/iplayerblue.spr
loading sprites/iplayerred.spr
loading sprites/iplayerdead.spr
loading sprites/iplayervip.spr
loading sprites/iplayerc4.spr
loading sprites/tile.spr
loading sprites/ic4.spr
loading sprites/ibackpack.spr
loading sprites/laserbeam.spr
loading sprites/camera.spr
loading sprites/ihostage.spr
loading sprites/voiceicon.spr
Server is running game valve. Restart in that game to connect.

Тоесть как-то подключаеться..
Возможно ли перехватить это сообщение "Server is running game valve. Restart in that game to connect.", и вместо него делать редирект на другой порт(как в обычных редирект плагинах)? Тоесть чтобы не писать плагин для выявления мода на клиенте, а просто использывать эту встроенную возможность от самого КСа, и тем самым заменить одно действие КСа, на другое?


 
draftДата: Среда, 29.10.2008, 01:09:22 | Сообщение # 6
Полковник
Группа: Пользователи
Сообщений: 225
Репутация: 3
Статус: Не в сети
Так попробуй
client_connect(id)
{
log_amx("id = %d is connecting", id)
}

Если будет выводиться эта надпись в логе сервера, когда ты заходишь с другого мода, то тогда можно и перехватить. Впрочем, я сомневаюсь, что кто-то играет с "developer 2"

 
  • Страница 1 из 1
  • 1
Поиск:

AMX Mod X Russian Community © 2006-2026