TS³ Connect - Eine Lösung um deinen SA:MP Server mit deinem Teamspeak 3 zu verbinden!

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • 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 :D




    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

    All in all it's just another brick in the wall

    13 Mal editiert, zuletzt von Beavis () aus folgendem Grund: Text mehrfach

  • Was ist wenn man dies nicht mehr hat?

    Man kann den in der user tabelle nachschauen
    Dazu musst du die sqlite datenbank bei navicat einfügen


    schöne Sache, aber sind es nicht SubChannel und nicht Supchannel ? ;) "ts_createsupchannel"


    Ja ich war erst am überlegen aber so schlimm ist es jetzt nicht
    es kommt aber auf die merkliste

    All in all it's just another brick in the wall

  • Sobald ich wieder am PC kann, werde ich diese include mal ausprobieren, dann werde ich meine Bewertung abgeben ;). Hoffe das bis dahin das Leertasten Problem da behoben wird, dass man alles normal verwenden kann ;). Ohne extra Sachen. ;)

  • man sollte auch anstaat den namen die teamspeak uid nutzen können. ansonsten ist es gut.


    zudem wäre es schön, wenn man daten aus dem server bekommen kann: wer ist online (aufm ts) etc.

  • man sollte auch anstaat den namen die teamspeak uid nutzen können.


    Das hatte ich erst vorgehabt, aber da das nicht wirklich geklappt hat (mit der id)
    habe ich es per Name gemacht um es mir einfacher zu machen :D


    Das mit den infos kommt noch in anderen Versionen dazu ich wollte nicht so viel zum anfang reinmachen um später mehr bei Updates zu Zeigen ;)


    Bread.:


    127.0.0.1 ist mein Webspace ^^
    Du musst deine IP eingeben (ggf ports freischalten)

    All in all it's just another brick in the wall

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen