//===========================================================================
function netMessageReceived( netMsg m )
private
int atenderMensaje = false;
begin
// tener en cuenta que todos los campos del objeto netMessage son STRING!!
// incoluso el ORIGEN que indica el id_player que envia el mensaje..
if(exists(idPlayer))
///* SI EL MENSAJE ES PARA MI POR SLOT */
if( m.destino == PHOTON_PLAYER_ID )
atenderMensaje = true;
end
///* SI EL MENSAJE ES PARA TODOS */
if( m.destino < 0 )
atenderMensaje = true;
end
end
// + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
// + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
// + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
///* SI TOCA ATENDER EL MENSJAE POR UNO DE LOS MOTIVOS ANTERIORES */
if( atenderMensaje )
switch( m.accion )
/* MENSAJES DE CHAT */
case "chat":
if(STRSTR(net_msg_id_stack.str, m.PacketID) > -1)
//idChat.println("Ya existe en stack!");
else
//idChat.println("tag nuevo! se ha añadido al stack!");
net_msg_id_stack.add(m.PacketID);
idChat.println( strGetToken(m.msg, "#", 1) );
end
end
/* MENSAJES DE TILES DE ZONA */
case "getZone":
//idChat2.println("Cliente: " + itoa(m.origen) + " pide world.zone[" + strGetToken(m.msg,'#', 1) + "," + strGetToken(m.msg,'#', 2) + "]" );
// esta funcion esta en modNetwork.prg..
netSendZone( m.origen, atoi( strGetToken(m.msg,'#', 1) ), atoi( strGetToken(m.msg,'#', 2) ), m.PacketID );
end
/* MENSAJES DE OBJETOS DE ZONA */
case "getObjs":
//idChat2.println("Cliente: " + itoa(m.origen) + " pide objs[" + strGetToken(m.msg,'#', 1) + "," + strGetToken(m.msg,'#', 2) + "]" );
// esta funcion esta en modNetwork.prg..
netSendObjs( m.origen, atoi( strGetToken(m.msg,'#', 1) ), atoi( strGetToken(m.msg,'#', 2) ), m.PacketID );
end
/* MENSAJES DE RECOGIDA DE OBJETOS */
case "getObject":
if(STRSTR(net_msg_id_stack.str, m.PacketID) > -1)
//idChat.println("Ya existe en stack!");
else
net_msg_id_stack.add(m.PacketID);
cx_ = atoi( strGetToken(m.msg,'#', 1) ); // celda X de la recogida del item..
cy_ = atoi( strGetToken(m.msg,'#', 2) ); // celda Y de la recogida del item..
z = world.zone[ xZone, yZone ].objs[ cx_, cy_ ];
idChat.println( players[m.origen].nick + " has get: " + itoa(z) );
world.zone[ xZone, yZone ].objs[ cx_, cy_ ] = atoi( strGetToken(m.msg,'#', 3) ); // item que suelta el player si transportaba algo..
z = world.zone[ xZone, yZone ].objs[ cx_, cy_ ];
if(z == 0)
//idChat2.println( players[m.origen].nick + " no leaves nothing.." ); // si no dejo nada..
else
//idChat2.println( players[m.origen].nick + " leaves: " + itoa(z) ); // si dejo algun objeto..
z = world.zone[ xZone, yZone ].objs[ x, y ];
object( cx_, cy_, z ); // celdaX celdaY graph..
end
updateZoneMapObjects();
netSendACK( m.PacketID, m.origen );
end
end
end
end
// + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
// + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
// + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
return(0);
end
//===========================================================================
//===========================================================================