The first server
ip:5.231.35.228:27017
hostname " [DZ]:Half-Life_AG | ~>> AGmini 1"
plugin !
#include <amxmodx>
#include <amxmisc>
#include <vault>
#include <sockets_hz>
#define PLUGIN "CrossServer Chatting"
#define VERSION "0.1"
#define AUTHOR "LetiLetiLepestok"
#define PORT_LISTEN 27998
#define PORT_SEND 27988
#define SERVER_NAME "5.231.35.228:27017"
new Float:player_lastsay[33]
new listening_socket
new sending_socket
new g_syncHUD
new g_MapName[64]
new g_PlayersNum
new g_Mode[64]
public plugin_init() {
new error
register_plugin(PLUGIN, VERSION, AUTHOR)
register_cvar("multi_server_chat", VERSION,FCVAR_SERVER)
listening_socket = socket_listen("127.0.0.1", PORT_LISTEN, SOCKET_UDP, error)
register_clcmd("say", "handle_say")
register_clcmd("say /go", "connect_s")
//register_clcmd("say /info", "show_info")
g_syncHUD = CreateHudSyncObj()
socket_unblock(listening_socket)
set_task(0.5, "drink_beer", 0, "", 0, "b")
set_task(2.0, "send_serverinfo", 0, "", 0, "b")
}
public plugin_end ()
{
socket_close(listening_socket)
}
public connect_s(id)
{
client_cmd(id, "Connect 5.231.35.228:27018")
return PLUGIN_CONTINUE
}
public handle_say(id)
{
if(player_lastsay[id] > get_gametime())
return PLUGIN_CONTINUE
new pname[32]
new error
static IiMsg[512]
static said[192]
if(!is_user_admin(id) && get_cvar_num("only_admin"))
return PLUGIN_CONTINUE
read_args(said,192)
remove_quotes(said)
if(equali(said, "timeleft"))
return PLUGIN_CONTINUE
if(equali(said, "nextmap"))
return PLUGIN_CONTINUE
if(equali(said, "noob"))
return PLUGIN_CONTINUE
if(equali(said, "luck"))
return PLUGIN_CONTINUE
if(equali(said, "/info"))
return PLUGIN_CONTINUE
replace_all(said, charsmax(said), "%", "")
if(!strlen(said))
return PLUGIN_CONTINUE
get_user_name(id, pname, 31)
format(IiMsg, 511,"chat|(%s) %s: %s", SERVER_NAME, pname, said)
sending_socket= socket_open("127.0.0.1", PORT_SEND, SOCKET_UDP, error)
socket_send(sending_socket, IiMsg,511)
socket_close(sending_socket)
player_lastsay[id] = get_gametime() + 1.0;
return PLUGIN_CONTINUE
}
public drink_beer()
{
new string[512]
new param[32]
if(socket_change(listening_socket, 1))
{
socket_recv(listening_socket, string, charsmax(string))
strtok(string, param, 31, string, charsmax(string), '|')
if(equal(param, "serverinfo"))
{
new playersnum[3]
parse(string, playersnum, charsmax(playersnum), g_MapName, charsmax(g_MapName), g_Mode, charsmax(g_Mode))
g_PlayersNum = str_to_num(playersnum)
return
}
client_print(0, print_chat,"%s", string)
}
}
public send_serverinfo()
{
new string[128]
new map[64]
new mode[128]
new error
get_mapname(map, charsmax(map))
get_cvar_string("sv_ag_gamemode", mode, charsmax(mode))
format(string, charsmax(string),"serverinfo|%d %s %s", get_playersnum(), map, mode)
sending_socket= socket_open("127.0.0.1", PORT_SEND, SOCKET_UDP, error)
socket_send(sending_socket, string, charsmax(string))
socket_close(sending_socket)
show_info()
}
public show_info()
{
new players[32]
new num, i
get_players(players, num, "bch")
for (i = 0; i < num; i++)
{
set_hudmessage(255, 255, 255, -0.07, 0.75, 0, 0.01, 600.0, 0.01, 0.1, -1)
if(g_PlayersNum)
ShowSyncHudMsg(players[i], g_syncHUD, "AGmini 2 Server (5.231.35.228:27018)^nPlayers: %d Map: %s (%s)^n^nSay /go to join!", g_PlayersNum, g_MapName, g_Mode)
else
ShowSyncHudMsg(players[i], g_syncHUD, "AGmini 2 Server (5.231.35.228:27018)^nPlayers: %d Map: %s (%s)", g_PlayersNum, g_MapName, g_Mode)
}
return PLUGIN_CONTINUE
}
The second server
ip+port:5.231.35.228:27018
hostname " [DZ]:Half-Life_AG | ~>> AGmini 2"
plugin !
Код:
#include <amxmodx>
#include <amxmisc>
#include <vault>
#include <sockets_hz>
#define PLUGIN "CrossServer Chatting"
#define VERSION "0.1"
#define AUTHOR "LetiLetiLepestok"
#define PORT_LISTEN 27998
#define PORT_SEND 27988
#define SERVER_NAME "5.231.35.228:27018"
new Float:player_lastsay[33]
new listening_socket
new sending_socket
new g_syncHUD
new g_MapName[64]
new g_PlayersNum
new g_Mode[64]
public plugin_init() {
new error
register_plugin(PLUGIN, VERSION, AUTHOR)
register_cvar("multi_server_chat", VERSION,FCVAR_SERVER)
listening_socket = socket_listen("127.0.0.1", PORT_LISTEN, SOCKET_UDP, error)
register_clcmd("say", "handle_say")
register_clcmd("say /go", "connect_s")
//register_clcmd("say /info", "show_info")
g_syncHUD = CreateHudSyncObj()
socket_unblock(listening_socket)
set_task(0.5, "drink_beer", 0, "", 0, "b")
set_task(2.0, "send_serverinfo", 0, "", 0, "b")
}
public plugin_end ()
{
socket_close(listening_socket)
}
public connect_s(id)
{
client_cmd(id, "Connect 5.231.35.228:27017")
return PLUGIN_CONTINUE
}
public handle_say(id)
{
if(player_lastsay[id] > get_gametime())
return PLUGIN_CONTINUE
new pname[32]
new error
static IiMsg[512]
static said[192]
if(!is_user_admin(id) && get_cvar_num("only_admin"))
return PLUGIN_CONTINUE
read_args(said,192)
remove_quotes(said)
if(equali(said, "timeleft"))
return PLUGIN_CONTINUE
if(equali(said, "nextmap"))
return PLUGIN_CONTINUE
if(equali(said, "noob"))
return PLUGIN_CONTINUE
if(equali(said, "luck"))
return PLUGIN_CONTINUE
if(equali(said, "/info"))
return PLUGIN_CONTINUE
replace_all(said, charsmax(said), "%", "")
if(!strlen(said))
return PLUGIN_CONTINUE
get_user_name(id, pname, 31)
format(IiMsg, 511,"chat|(%s) %s: %s", SERVER_NAME, pname, said)
sending_socket= socket_open("127.0.0.1", PORT_SEND, SOCKET_UDP, error)
socket_send(sending_socket, IiMsg,511)
socket_close(sending_socket)
player_lastsay[id] = get_gametime() + 1.0;
return PLUGIN_CONTINUE
}
public drink_beer()
{
new string[512]
new param[32]
if(socket_change(listening_socket, 1))
{
socket_recv(listening_socket, string, charsmax(string))
strtok(string, param, 31, string, charsmax(string), '|')
if(equal(param, "serverinfo"))
{
new playersnum[3]
parse(string, playersnum, charsmax(playersnum), g_MapName, charsmax(g_MapName), g_Mode, charsmax(g_Mode))
g_PlayersNum = str_to_num(playersnum)
return
}
client_print(0, print_chat,"%s", string)
}
}
public send_serverinfo()
{
new string[128]
new map[64]
new mode[128]
new error
get_mapname(map, charsmax(map))
get_cvar_string("sv_ag_gamemode", mode, charsmax(mode))
format(string, charsmax(string),"serverinfo|%d %s %s", get_playersnum(), map, mode)
sending_socket= socket_open("127.0.0.1", PORT_SEND, SOCKET_UDP, error)
socket_send(sending_socket, string, charsmax(string))
socket_close(sending_socket)
show_info()
}
public show_info()
{
new players[32]
new num, i
get_players(players, num, "bch")
for (i = 0; i < num; i++)
{
set_hudmessage(255, 255, 255, -0.07, 0.75, 0, 0.01, 600.0, 0.01, 0.1, -1)
if(g_PlayersNum)
ShowSyncHudMsg(players[i], g_syncHUD, "AGmini 1 Server (5.231.35.228:27017)^nPlayers: %d Map: %s (%s)^n^nSay /go to join!", g_PlayersNum, g_MapName, g_Mode)
else
ShowSyncHudMsg(players[i], g_syncHUD, "AGmini 1 Server (5.231.35.228:27017)^nPlayers: %d Map: %s (%s)", g_PlayersNum, g_MapName, g_Mode)
}
return PLUGIN_CONTINUE
}
I do not think I made a mistake?
Can there be a private sources with plugin !
Ex:
Код:
sockets_hz_amxx_i386.so
sockets_hz.inc