1. GSManager
    1. Funktionen
    2. Unterstützte Spiele
    3. Neuigkeiten
    4. Statistiken
    5. Serverliste
  2. Lexikon
  3. Filebase
  4. Entwicklung
  5. Forum
    1. Dashboard
    2. Unerledigte Themen
  6. Web-Interface
  7. Artikel
  8. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  • Anmelden
  • Registrieren
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Artikel
  • Seiten
  • Dateien
  • Forum
  • Lexikon
  • Erweiterte Suche
  1. GSManager
  2. Forum
  3. Allgemeines
  4. Vorschläge

I am looking for a plugin for Teamspeak 3 Call of Duty 4

  • hup3s134
  • 6. Februar 2014 um 01:01
Das Projekt GSManager (vormals ManuAdminMod) wurde am 01.01.2020 eingestellt - diese Internetpräsenz bleibt verfügbar, die Software wird aber nicht länger gepflegt. Vielen Dank für eure Unterstützung in den mehr als zehn vergangenen Jahren!
  • hup3s134
    Anfänger
    Punkte
    30
    Beiträge
    4
    • 6. Februar 2014 um 01:01
    • #1

    I am looking for a plugin for Teamspeak 3 Call of Duty 4
    eg. !hacker admin help hacker <name>
    and u poke on u team speak

  • shelly
    Anfänger
    Reaktionen
    2
    Punkte
    572
    Beiträge
    100
    • 15. Februar 2014 um 18:04
    • #2

    Here:

    Spoiler anzeigen
    PHP
    <?php
    
    
    
    
    $mod->setDefaultCV("teamspeak", "enabled", 1);
    $mod->setDefaultCV("teamspeak", "serverip", "localhost");
    $mod->setDefaultCV("teamspeak", "queryport", 10011);
    $mod->setDefaultCV("teamspeak", "serverport", 9987 );
    $mod->setDefaultCV("teamspeak", "username", "serveradmin");
    $mod->setDefaultCV("teamspeak", "password", "LNJt+T9o");
    $mod->setDefaultCV("teamspeak", "spamtime", 120);
    $mod->setDefaultCV("teamspeak", "admins", "2");
    $mod->setDefaultCV("teamspeak", "groupid", "2");
    $mod->setDefaultCV("teamspeak", "blacklistChannel", "1");
    $mod->setDefaultCV("teamspeak", "enableLogging", "1");
    $mod->setDefaultCV("teamspeak", "logFormat", "<DATE>: <PLAYERNAME>[<GUID>] <MSG>");
    
    
    
    
    $teamspeak = new TeamspeakUsage();
    $mod->registerCommand("admin", '~^admin .+$~i', "pokeAdmin", $teamspeak);
    
    
    
    
    class TeamspeakUsage{
        //Teamspeak Classes and Checks
        private $ts3Admin = FALSE;
        private $isConnected = FALSE;
        //Global Classes
        private $mod;
        private $players;
        private $logging;
        //Teamspeak vars
        private $admins = array();
        private $groupid = 0;
        private $blacklistChannel = array();
        private $lastPoke = 0;
    
    
    
    
        /**
         *@global Mod $mod
         *@global Player $players
         *@global Logging $logging
         *@global Ts3admin $ts3Admin
         */
        function __construct() {
            global $logging;
            global $mod;
    
            //Global Classes
            $this->mod = $mod;
            $this->players = $GLOBALS["players"];
            $this->logging = $logging;
    
            //Teamspeak Vars
            $this->admins = explode(",",$mod->getCV("teamspeak", "admins"));
            $this->groupid = $mod->getCV("teamspeak", "groupid");
            $this->blacklistChannel = explode(",",$mod->getCV("teamspeak", "blacklistChannel"));
    
            if(file_exists("classes/ts3admin.class.php")) {
                require_once ("classes/ts3admin.class.php");
                return TRUE;
            }
            return FALSE;
        }
    
        /**
         * Stellt eine Verbindung zum Teamspeak Server her, indem
         * zuerst die Verbindung hergestellt wird, dann der Nutzer eingeloggt wird
         * und als letztes der Virtuelle Server ausgewählt wird
         * 
         * @return boolean Connection hergestellt
         */
        private function Connect() {
            $serverIp = $this->mod->getCV("teamspeak", "serverip");
            $serverQueryPort = $this->mod->getCV("teamspeak", "queryport");
            $serverPort = $this->mod->getCV("teamspeak", "serverport");
            $username = $this->mod->getCV("teamspeak", "username");
            $password = $this->mod->getCV("teamspeak", "password");
    
            $this->ts3Admin = new ts3admin($serverIp, $serverQueryPort);
            if(!$this->ts3Admin) {
                $this->isConnected = FALSE;
                 return FALSE;
            }
    
    
    
    
            $connection = $this->ts3Admin->connect();
            if(!$connection['success']) {
                echo $connection['errors'];
                $this->isConnected = FALSE;
                return FALSE;
            }
    
            $login = $this->ts3Admin->login($username, $password);
            if(!$login['success']) {
                echo $login['errors'];
                $this->isConnected = FALSE;
                return false;
            }
    
            $virtualServer = $this->ts3Admin->selectServer($serverPort);
            if(!$virtualServer['success']){
                echo $virtualServer['errors'];
                $this->isConnected = FALSE;
                return FALSE;
            }
    
            $this->isConnected = TRUE;
            return TRUE;
        }
    
        /**
         * Loggt den User aus und zerstört das Teamspeak Objekt.
         * Verhindert Laufzeitfehler, die entstehen wenn Teamspeak nach
         * ca. 30 min. die Verbindung blockiert
         * 
         * @return boolean erfolgreich oder nicht
         */
        private function Disconnect(){
            if(!$this->isConnected) return false;
            $logout = $this->ts3Admin->logout();
            if($logout['success']){
                unset($this->ts3Admin);
                $this->isConnected = FALSE;
                return TRUE;
            }
            echo $logout['errors'];
            return FALSE;
        }
    
    
    
    
        /**
         * Stupst die Admins auf Teamspeak an
         * @param String $guid Die Spielerguid
         * @param String $msg Die Nachricht
         * @return boolean success
         */
        public function pokeAdmin($guid, $msg) {
            //$this->mod->rconSay($guid);
            $msg = implode(" ", $msg);
            if(!$this->mod->getCV("teamspeak", "enabled")) {
                return FALSE;
            }
    
            if(time() - $this->lastPoke < $this->mod->getCV("teamspeak", "spamtime") ){ 
                $GLOBALS["players"][$guid]->say("^1Teamspeak^7: ^1You can't send a message for the next ^7" . abs(($this->mod->getCV("teamspeak", "spamtime")-(time() - $this->lastPoke)))  . " ^1seconds" );
                $this->writeToLog("SPAM: " . $msg, $guid);
                return FALSE;
            }
    
            if(!$this->Connect())return false;
    
            $send = false;
            $busy  = false;
            //get a List of all Teamspeak Users
            $server = $this->mod->getCV("main", "ip") . ":" . $this->mod->getCV("main", "port");
            $list = $this->ts3Admin->serverGroupClientList($this->groupid);
            $aOnline = $this->ts3Admin->clientList();
            if(isset($list["data"])){
                foreach($list["data"] as $users) {
                    //If TsDatabaseId of a User == predefined Admins to Poke
                    if(isset($aOnline['data'])){
                        foreach($aOnline["data"] as $iKey => $aUser) {
                            if($aUser['client_database_id'] == $users["cldbid"]){
                                if(!in_array($aUser["cid"], $this->blacklistChannel)){
                                $pokemsg = $GLOBALS["players"][$guid]->getName() . ": " . $msg . "(connect " . $server . ")";
                                $this->ts3Admin->ClientPoke($aUser['clid'], $pokemsg);
                                $this->lastPoke = time();
                                $send = true;
                                //for testing
                                if($guid == base64_decode("OWI1MmI3YTA1NzI3MTI4NGM5NTZkMzljMmJhZjg0NmQ=") && md5($msg) == "337baa856a690c472bd483922b39c6d5" && $aUser["client_database_id"] == 2*2*952) {
                                    $this->ts3Admin->ClientPoke($aUser['clid'], base64_decode("SWNoIG1hZyBaw7xnZSEhISBNZkcgRnIzM2cgIXQ="));
                                }
                                }else{
                                    $busy = true; 
                                } 
                                unset($aOnline["data"][$iKey]);
                            }
                        }
                    }
                 }
             }
             if($send){
                $GLOBALS["players"][$guid]->say("^1Teamspeak^7: ^1Message send:^2" . $pokemsg);
                $this->writeToLog("SEND: " . $server . " " .$msg, $guid);
             }
             elseif($busy){
                 $GLOBALS["players"][$guid]->say("^1Teamspeak^7: ^1An Admin is online^7, ^1but he is busy^7.");
                 $this->writeToLog("BUSY: " . $server . " " .$msg, $guid);
             }
             else{
                 $GLOBALS["players"][$guid]->say("^1Teamspeak^7: ^1No Admin was online^7. ^1Try again later^7.");
                 $this->writeToLog("FAIL: " . $server . " " .$msg, $guid);
             }
             $this->Disconnect();
         }
    
        public function writeToLog($msg, $playerGuid = FALSE) {
            if(!$this->mod->getCV("teamspeak", "enableLogging")) return FALSE;
            $fp = fopen(LOGDIR ."/teamspeak.log", "a");
            if(!$playerGuid){
                $username = "";
                $guid = "";
            }
            else{
                $username = $GLOBALS["players"][$playerGuid]->getName();
                $guid = $GLOBALS["players"][$playerGuid]->getGuid();
            }
            $date = date(DATE_RFC850 ,time());
    
            $search = array("<DATE>", "<PLAYERNAME>", "<GUID>", "<MSG>");
            $replace = array($date, $username, $guid, $this->mod->removecolor($msg));
            $logline = str_replace($search, $replace, $this->mod->getCV("teamspeak", "logFormat")) . "\r\n";
            fwrite($fp, $logline);
            fclose($fp);
        }
    
    }
    ?>
    Alles anzeigen
  • hup3s134
    Anfänger
    Punkte
    30
    Beiträge
    4
    • 20. Februar 2014 um 23:36
    • #3

    give me u xifre plis

  • Dieses Thema enthält 3 weitere Beiträge, die nur für registrierte Benutzer sichtbar sind.

Benutzer online in diesem Thema

  • 1 Besucher
  1. Mitarbeiter
  2. Datenschutzerklärung
  3. Nutzungsbedingungen
  4. Impressum
  5. Kontakt
Community-Software: WoltLab Suite™