Foros del Web » Programando para Internet » PHP »

SendPackets solo envia 1 funcion a la vez...

Estas en el tema de SendPackets solo envia 1 funcion a la vez... en el foro de PHP en Foros del Web. Buenas, estoy teniendo una pequeña dificultad con el envio de paquetes.. mi código es el siguiente: Código PHP: <?php  $char_id  =  1 ; $item_id  =  ...
  #1 (permalink)  
Antiguo 26/03/2013, 10:24
 
Fecha de Ingreso: julio-2009
Mensajes: 121
Antigüedad: 14 años, 9 meses
Puntos: 1
SendPackets solo envia 1 funcion a la vez...

Buenas, estoy teniendo una pequeña dificultad con el envio de paquetes..

mi código es el siguiente:

Código PHP:
<?php 

$char_id 
1;
$item_id 15;
$item_ammount 10;
$item_enchant 0;
$admin "Sk0rPi0n";

printf($char_id$adminKickCharacterPacket($char_id$admin) == "x1" "KICKEADO" "KICK_ERROR"); // kickea el Personaje ingame

printf($char_id$item_id$item_ammount$item_enchant$adminAddItem2Packet($char_id$item_id$item_ammount$item_enchant$admin) == "x1" "GIVE_OK" "ERROR_GIVE"); //Envia un packete que entrega X item

function tounicode($string) { 
    
$rs ""; for($i 0$i strlen($string); $i++) $rs .= $string[$i].chr(0); 
    return(
$rs.chr(0).chr(0)); 



function 
KickCharacterPacket($char_id$admin) { 
    
$fp fsockopen("127.0.0.1""2012"$errno$errstr5); $rs "x"
    if (!
$fp) die("<script>alert('Error connecting to cached: $errstr 
[server down??]')</script>"
); 

    
$buf pack("c"5); // 4 = ChangeCharacterNamePacket(); 
    
$buf .= pack("i"$char_id); //char_id 
    
$buf .= tounicode($admin); //new char name 

    
fwrite($fppack("s", (strlen($buf)+2)).$buf); 
    
$len unpack("v"fread($fp2)); $rid unpack("c"fread($fp1)); 
    for (
$i 0$i < (($len[1]-4) / 4); $i++) { $read unpack("i"fread($fp4)); $rs .= $read[1]; } 
    
fclose($fp); return($rs); 


function 
AddItem2Packet($char_id$item_id$item_ammount$item_enchant$admin) { 
    
$fp fsockopen("127.0.0.1""2012"$errno$errstr5); $rs "x"
    if (!
$fp) die("<script>alert('Error connecting to cached: $errstr 
[server down??]')</script>"
); 
    
$buf=pack("cVVVVVVVVVV",55,$char_id,0,$item_id,$item_ammount,$item_enchant,0,0,0,0,1).tounicode("$admin"); 

    
fwrite($fppack("s", (strlen($buf)+2)).$buf); 
    
$len unpack("v"fread($fp2)); $rid unpack("c"fread($fp1)); 
    for (
$i 0$i < (($len[1]-4) / 4); $i++) { $read unpack("i"fread($fp4)); $rs .= $read[1]; } 
    
fclose($fp); return($rs); 


?>
El problema es el siguiente, se ejecutan las 2 acciones al mismo tiempo... yo lo que necesitaria es que.. primero se ejecute la funcion KickCharacterPacket y cuando este lista... se ejecute luego AddItem2Packet...
Funcionan ambas tal cual estan... pero solo funciona 1 a la vez... osea si el Personaje esta logeado... lo kickea... si esta offline... le da el item... :/

Tambien puedo chequear primero si esta o no online...

Código PHP:
printf("The character %s is %s\n"$char_idCheckCharacterPacket($char_id) == "x1" "online" "offline"); 

function 
CheckCharacterPacket($p0) { 
    
$fp fsockopen("127.0.0.1""2012"$errno$errstr5); $rs "x"
    if (!
$fp) die("<script>alert('Error connecting to cached: $errstr 
[server down??]')</script>"
); 

    
$buf pack("c"1); // 1 = CheckCharacterPacket(); 
    
$buf .= pack("i"$p0); //char_id 

    
fwrite($fppack("s", (strlen($buf)+2)).$buf); 
    
$len unpack("v"fread($fp2)); $rid unpack("c"fread($fp1)); 
    for (
$i 0$i < (($len[1]-4) / 4); $i++) { $read unpack("i"fread($fp4)); $rs .= $read[1]; } 
    
fclose($fp); return($rs); 

El tema es que no se como hacer para que se ejecute automaticamente :/ ya he intentado varios metodos pero siempre funciona igual si la cuenta esta off... da el item... y si esta online, pues la kickea y no da el item :@...

Alguna idea :/?

Etiquetas: envia, funcion
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:57.