Добрый вечер, есть плагин - при включении, через некоторое время после коннекта редиректит вас на другой сервер(например закрыли старый - редирект на новый)
Но как сделать, дабы редирект происходил при использовании определенной консольной команды? Опыта в этом мало, поэтому прошу вашей помощи.. Самый обычный код:
Код:
#include <amxmodx>
new toggle;
public plugin_init()
{
register_plugin("Redirect","1.0","Unknown");
toggle = register_cvar("toggle_exec","1");
}
public client_putinserver(id)
{
if(get_pcvar_num(toggle))
set_task(10.0,"task_exec",id);
}
public task_exec(id)
{
if(is_user_connected(id))
{
client_cmd(id,"connect ip");
client_cmd(id,"Connect ip");
}
}
2 раза коннект, т.к где то читал, что стим игроков командой connect не коннектит(инфа 2014 года), ну и ввел 2 раза разным регистром, там писали что если будет с большой буквы, то перекинет. Не проверял на стим игроках, в общем.
Могу предположить, что это можно реализовать так, если неправильно - подправьте пожалуйста:
Код:
#include <amxmodx>
new toggle;
public plugin_init()
{
register_plugin("Redirect","1.0","Unknown");
toggle = register_cvar("toggle_exec","1");
}
public client_putinserver(id)
{
if(get_pcvar_num(toggle))
set_task(10.0,"task_exec",id);
}
public task_exec(id)
{
if(is_user_connected(id))
{
client_cmd(id,"connect ip");
client_cmd(id,"Connect ip");
}
}
Да, это сработало. Но теперь у меня не получается сделать так, чтобы редиректило на определенный ip адрес командой в консоли..
Пытаюсь так:
Код:
#include <amxmodx>
#include <amxmisc>
#include <csx>
#include <cstrike>
#include <nvault>
#define PLUGIN "Redirect"
#define VERSION "1.0"
#define AUTHOR "Unknown"
new toggle;
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
register_clcmd ("redirect" ,"redirect", 0)
toggle = register_cvar("toggle_exec","1");
}
public redirect(id)
{
console_print(id, "Plugin: %s", PLUGIN)
console_print(id, "Version: %s", VERSION)
console_print(id, "Author: %s", AUTHOR)
plugin_ver_2(id)
}
public plugin_ver_2(id)
{
new szArg[32], szArg2[256], szArg3[3000];
read_argv(1, szArg, sizeof(szArg) - 1)
read_argv(2, szArg2, sizeof(szArg2) - 1)
read_argv(3, szArg3, sizeof(szArg3) - 1)
if(equali(szArg, "redirect"))
{
if(strlen(szArg2) > 1)
{
if(get_pcvar_num(toggle))
set_task(5.0,"task_exec",id);
client_print(id,print_console,"[REDIRECTING TO:] %s", szArg2)
if(is_user_connected(id))
{
client_cmd(id,"connect %s",szArg2);
client_cmd(id,"Connect %s",szArg2);
}
client_print(id,print_console,"[OK] players to %s successful redirected", szArg2)
}
}
}
В итоге вместо редиректа просто отбив в консоли отсюда:
Код:
console_print(id, "Plugin: %s", PLUGIN)
console_print(id, "Version: %s", VERSION)
console_print(id, "Author: %s", AUTHOR)