Tema: Juego Online
Ver Mensaje Individual
  #7 (permalink)  
Antiguo 12/03/2010, 01:30
SainT90
 
Fecha de Ingreso: enero-2008
Ubicación: /España/Galicia
Mensajes: 928
Antigüedad: 16 años, 3 meses
Puntos: 21
Respuesta: Juego Online

te lo pongo aquí porque supera los 10000 caracteres

Código PHP:
<?php

//Conectamos con la db
$con=mysql_connect("91.121.3.112","RCbot""xxxx");
mysql_select_db("RCbot",$con);
//Sacamos datos de bots
$RObots=mysql_query("select * FROM RObots WHERE Estado=1 order by Nick",$con);  
$DBot mysql_fetch_array($RObots);

if(
mysql_num_rows(mysql_query("SELECT * FROM RObots WHERE Estado=1" ))==0) { die("Ningun Bot Libre ;)"); }
//Configuramos los datos del servidor
$bnick="".$DBot['Nick']."";
$bpass ="".$DBot['Pass']."";
print(
$bnick);
$Consulta=mysql_query("select * FROM Canales WHERE Bot='".$bnick."' order by Canal asc",$con);  
$canales[0][0] = "";
while(
$Canal mysql_fetch_array($Consulta)) {
    
$canales[$Canal['Canal']][0] = $Canal['fijo'];
    
$canales[$Canal['Canal']][1] = $Canal['variable'];
}

$conexion fsockopen("paix.irc-hispano.org"6667);

//Sacamos Los Canales Del Bot
$CanalesBot=mysql_query("select * FROM Canales WHERE Bot='".$bnick."'",$con);  
$autojoin "";
$c 0;
while(
$DCanales mysql_fetch_array($CanalesBot)) {
    
$autojoin[$c] = $DCanales['Canal'];
    
$c++;
}
$autojoin implode(",",$autojoin);
$mnick "^SainT^";
//Leemos los admins y los metemos en un array
$c=0;
$NAdmins[0]= "";
$Admins=mysql_query("select * FROM Admins",$con);  
while(
$DAdmins mysql_fetch_array($Admins)) { 
    
$NAdmins[$c] = $DAdmins['Nick'];
    
$c++;
}


$open fopen("log.txt","w+"); //siempre es bueno tener un log de las conversaciones :) 

// Identificamos al bot
fputs($conexion"USER ".$bnick." - - :[RC]Stats Estadisticas para tus canales\n");
fputs($conexion"NICK ".$bnick.":".$bpass." -\r\n");

//Guardamos en un log todo lo que pasa en el servidor

// Aremos un loop infinito mientras este conectado al servidor.
while (!feof($conexion)) {
    
$bmsg str_replace("\n"""str_replace("\r"""fgets ($conexion,2048)));
    
fwrite($open"$bmsg");
    
fwrite($open"\n\n");
    
$comando explode(" ",$bmsg);
    
    
$read str_replace("\n","",$bmsg);
     
$read str_replace("\r","",$read);
     
$array explode(" ",$read); 
            
    
$n =  explode("!",$comando[0]);
    
$nick str_replace(":","",$n[0]);

    
// Resiviremos los mensajes del servidor.

    // Al enviarnos el PING responderemos con PONG.. (Dudas, aprende protocolo IRC)
    
if ($comando[0] == 'PING') {
        
fputs($conexion,'PONG '.str_replace(':','',$comando[1])."\n");
        
// Si el el primer ping entraremos a los canales. (Este ping lo hace cuando se conecto.)
        
if(!$bconnect) {
            
// El script no se acabara nunca omenos que se caiga.
            
set_time_limit(0);
            
fputs($conexion,"JOIN ".$autojoin."\n");
            
$bconnect=1;
                
mysql_query("UPDATE RObots SET Estado=2 WHERE Nick='".$bnick."' limit 1"); 

        }
    }
//Saca el nick
$buscar =  explode("!",$comando[0]);
$Nickuser str_replace(":","",$buscar[0]); 
    
//para que no repitan los comandos//
    
$timer time() - $respuesta[$Nickuser];
    if(
$timer 0) {
    
//escribimo todo en un log



// el } fin comandos de admin
        
if ($Nickuser == "[RC]Bot" AND $comando[2] == $bnick) {
            if(
$comando[3] == ":!Entra") {
            if(
$comando[4]) {fputs($conexion,"JOIN :".$comando[4]."\n"); } else {
      
fputs($conexion"PRIVMSG ".$comando[2]." :debes ponerme un canal donde entrar\n");
    }
        }
        }
        if(
mysql_num_rows(mysql_query("SELECT * FROM Admins WHERE Nick='".$Nickuser."'"))==1) { 
//Empezamos con los comandos por privado
//el [3] es la 1º palabra 
    
if ($comando[2] == $bnick) {
switch (
$comando[3]) {
//si el comadno es !exit
    
case ":!quit":
    case 
":!Quit":
    case 
":!exit":
    case 
":!Exit":
    case 
":!Desconecta":
    case 
":!desconecta":
    
$quit "[RC]Bot - Visitame en http://www.saint-rc.es"
    
fputs($conexion,"QUIT :$quit\n"); 
    
mysql_query("UPDATE RObots SET Estado=1 WHERE Nick='".$bnick."' limit 1"); 
    break;    
}
    }
//los } } de arriba finalizan el if y el switch

}
            if(
mysql_num_rows(mysql_query("SELECT * FROM Canales WHERE Canal='".$comando[2]."'" ))==1) {
//para usarios
switch ($comando[3]) {
    case 
":!stats":
    
$query=mysql_query("SELECT * FROM Nicks WHERE nick='".$Nickuser."' AND Canal='".$comando[2]."'");
    
$Duser mysql_fetch_array($query);
    
$color "\x02\x033";
    
fputs($conexion,"PRIVMSG $comando[2] : ".$canales[$comando[2]][1]."".$Nickuser." ".$canales[$comando[2]][0]."Llevas".$canales[$comando[2]][1]." ".$Duser['Lineas']." ".$canales[$comando[2]][0]."lineas escritas,".$canales[$comando[2]][1]." ".$Duser['Palabras']." ".$canales[$comando[2]][0]."palabras escritas,".$canales[$comando[2]][1]." ".$Duser['Letras']." ".$canales[$comando[2]][0]."letras escritas \n");
    
$respuesta[$Nickuser] = time()+2;
    break;
    case 
":!lineas":
        
    
$query=mysql_query("SELECT * FROM Nicks WHERE nick='".$Nickuser."' AND Canal='".$comando[2]."'");
    
$Duser mysql_fetch_array($query);
    
fputs($conexion,"PRIVMSG $comando[2] :".$canales[$comando[2]][1]."".$Nickuser." ".$canales[$comando[2]][0]."Llevas".$canales[$comando[2]][1]." ".$Duser['Lineas']." ".$canales[$comando[2]][0]."Lineas\n");
    
$respuesta[$Nickuser] = time()+2;
    break;
    case 
":!letras":

    
}

    }
        
//lo de arriba cierra el timer


            
    
$comando[2] = str_replace(":","",$comando[2]); 
    if (
eregi("#",$comando[2]) AND eregi(":",$comando[2]) == AND !eregi("@",$Nickuser)) { 
    
//cuando escriben los users
    
if(mysql_num_rows(mysql_query("SELECT * FROM NickProhibidos WHERE Nick='".$Nickuser."'"))==AND $Nickuser != "" AND $Nickuser != " " ) { 
    if(
mysql_num_rows(mysql_query("SELECT * FROM Nicks WHERE nick='".$Nickuser."'  AND Canal='".$comando[2]."'" ))==1) { 
    
$texto array_slice($comando,3);
    
$texto implode(" "$texto);
    
$palabras sizeof(explode(" "$texto));
    
$letras strlen($texto);
    
mysql_query("UPDATE Nicks SET Lineas=Lineas+1, Palabras=Palabras+".$palabras.", Letras=Letras+".$letras." WHERE nick='".$Nickuser."' AND Canal='".$comando[2]."' limit 1"); 

    } else {
    
$texto array_slice($comando,3);
    
$texto implode(" "$texto);
    
$palabras sizeof(explode(" "$texto));
    
$letras strlen($texto);
     
mysql_query("INSERT INTO Nicks (Nick, Canal, Lineas, Letras, Palabras) VALUES ('".$Nickuser."', '".$comando[2]."', '1', '".$letras."', '".$palabras."');"); 
    }
 if(
mysql_num_rows(mysql_query("SELECT * FROM Canales WHERE Canal='".$comando[2]."'" ))==1) { 
    
$query=mysql_query("SELECT SUM(Lineas) as LCanal FROM Nicks WHERE Canal='".$comando[2]."'");
    
$DCanalillo mysql_fetch_array($query);
    
$Lcanal $DCanalillo['LCanal'];
    
mysql_query("UPDATE Canales SET Lineas='".$Lcanal."' WHERE Canal='".$comando[2]."' limit 1"); 
 }
    
    
//Fin Nicks
    //Comienza Frases
    
$Frase array_slice($comando,3);
    
$Frase implode(" "$Frase);
    
$Frase substr ($Frase1);
    if(
mysql_num_rows(mysql_query("SELECT * FROM Frases WHERE nick='".$Nickuser."' AND Canal='".$comando[2]."' AND Frase='".$Frase."'" ))==1) { 
    
mysql_query("UPDATE Frases SET veces=veces+1 WHERE nick='".$Nickuser."' AND Canal='".$comando[2]."' AND Frase='".$Frase."' limit 1"); 
    } else {
     
mysql_query("INSERT INTO Frases (Nick, Canal, Frase) VALUES ('".$Nickuser."', '".$comando[2]."', '".$Frase."');"); 
    }
    
    }
    
//Termina lo de nickuser != ""... } de arriba
        //Finaliza lode # el de abajo
    
}
    
    
//empezamos join,part y esas cosas.

    
switch ($array[1]) {
        case 
"JOIN":
            
fputs($conexion,"WHO :$comando[2]\n"); //ejemplo !Say Texto (el bot dira Texto)
        
if ($cojiendonicks == "0") { $userscanal ""; }
        
$cojiendonicks "1";
            
//para actualizar los nicks
        
if(mysql_num_rows(mysql_query("SELECT * FROM Nicks WHERE nick='".$Nickuser."'  AND Canal='".$comando[2]."'" ))==1) { 
        
mysql_query("UPDATE Nicks SET entradas=entradas+1 WHERE nick='".$Nickuser."' AND Canal='".$comando[2]."' limit 1"); 
        } else {
         
mysql_query("INSERT INTO Nicks (Nick, Canal, entradas) VALUES ('".$Nickuser."', '".$comando[2]."', '1');"); 
        }

        break;
    }

    
//Finaliza si esta en el canal
}


}
    
    

// Al no estar conectado al servidor ejecutara este commando que desconectara el socket y terminara el script.
fclose($conexion); 
exit();

?>
__________________
Compra y Vender artículos en https://www.losredactores.com o una comunidad de webmasters ? https://webeamos.com