Wie ihr es wisst, arbeite ich und xGreekz7x an einer Include die es möglich macht euren Server mit einen Teamspeak zu verbinden.
Das was ihr nur braucht ist:
Der Serveradmin Account mit passwort (bekommt man bei der Installation angezeigt)
Die IP und den Port von den TS (Standart 9987)
Und den Queryport des TS (Standart 10011)
Die Ganzen Funktionen im Überblick:
native ts_connect(tsip[],tsuser[],tspass[],tsbotname[],tsport=9987,tsqueryport=10011,phphost[]="beavis.cc/ts/ts3.php");
native ts_kick(playerid, uID[], const reason[]=" ");
native ts_ban(playerid, uID[], const reason[]= " ", time=0);
native ts_move(playerid, uID[], const ts_channel[], ts_channelkey[]=" ");
native ts_createchannel(playerid, const cannelname[], const channeltopic[]=" ");
native ts_createsubchannel(playerid, const cannelname[], const channeltopic[], const whatchannel[]);
native ts_removechannel(playerid, const channelname[]);
native ts_addservergroup(playerid, uID[], const servergroup[]);
native ts_removeservergroup(playerid, uID[], const servergroup[]);
native ts_addchannelgroup(playerid, uID[], const channel[], const channelgroup[]);
native ts_removechannelgroup(playerid, uID[], const channel[]);
native ts_givetalkpower(playerid, uID[]);
native ts_taketalkpower(playerid, uID[]);
native ts_createservertoken(playerid, const servergroup[]);
native ts_createchanneltoken(playerid, const channel[], const channelgroup[]);
native ts_tokendelete(playerid, const token[]);
native ts_chanelmove(playerid, const channel[], const tochannel[]);
native ts_poke(playerid, uID[], const message[]);
native ts_clientcheck();
Wir haben uns dazu entschieden, die einzelnen Funktionen auch zu beschreiben (Spart das durcheinander hier im Post)
Was wichtig ist in der Beta Phase:
Die Funktion
ts_connect(tsip[],tsuser[],tspass[],tsbotname[],tsport=9987,tsqueryport=10011,phphost[]="beavis.cc/ts/ts3.php")
Der letzte Wert darf nicht geändert werden!
Sobald das php Script freigegeben ist, könnt ihr da den pfad angeben aber das kommt alles noch
Desweiteren ist die Funktion in der Doku nicht erwähnt:
native ts_clientcheck();
Die Funktion ist relativ umfangreich, da man einiges mit machen kann.
Ich habe sie aus den Grund erstellt, um user mit den Accounts zu vergleichen.
Wenn ihr sie anwenden wollt, benötigt ihr ein neuen public im Gamemode
der nennt sich
public ts_checkuser(uID[],tsname[])
So hier werden die uid und der Name übergeben.
Da ich etwa auf Ordnung im TS stehe, habe ich das mal so gemacht (soll als muster da sein!)
public ts_checkuser(uID[],tsname[])
{
new query[128],LoadName[MAX_PLAYER_NAME];
format(query, 128, "SELECT `Name` FROM `DTuser` WHERE `TSIdent` = '%s' LIMIT 1;", uID);
mysql_query(query, (-1), (0), SQL);
mysql_store_result(SQL);
if(mysql_num_rows(SQL))
{
mysql_fetch_row_data(SQL);
mysql_fetch_field("Name",LoadName,SQL);
if(strcmp(tsname,LoadName,true))
{
format(query, 128, "Bitte ändere deinen Namen zu %s!",LoadName);
ts_kick(-1, uID, query);
}
}
else
{
ts_move(-1, uID, "Unregistriert");
}
mysql_free_result(SQL);
return 1;
}
So wie ihr seht hab ich hier eine Abfrage reingemacht.
Ich frage erst ab ob es die uID in der Datenbank gibt.
Gibt es sie nicht wird der user gemovt in den channel "Unregistriert"
Gibt es die uID aber der Name stimmt nicht, wird der User gekickt und bekommt mitgesendet wie er sich nennen soll.
Ist alles richtig passiert nichts
Das ist nur eine kleine spielerei die mir heut nacht eingefallen ist
Viel spaß mit den system
Hinweis! Alle Versionen unter der Beta IV sind nicht mehr Kompatibel
//edit
Support eingestellt da 2.0 in folge ist