11.04.2012, 02:11
(
Последний раз редактировалось juank; 11.04.2012 в 02:53.
)
Bueno deseo saber como hacer para que el usuario al desconectarse quede guardado en el lugar donde se deconecto?
SALUDOS.
SALUDOS.
public OnPlayerDisconnect(playerid){
new Float:posX, Float:posY, Float:posZ, Float:Angle;
GetPlayerPos(playerid, posX, posY,posZ);
GetPlayerFacingAngle(playerid, Angle);
}
GetPlayerPos(playerid,PlayerInfo[playerid][Pos_X], PlayerInfo[playerid][Pos_Y], PlayerInfo[playerid][Pos_Z]);
public OnPlayerDisconnect(playerid){
new Float:posX, Float:posY, Float:posZ, Float:Angle, String[127];
GetPlayerPos(playerid, posX, posY,posZ);
GetPlayerFacingAngle(playerid, Angle);
format(string, sizeof(string), "%s ha salido, su ultima posiciуn fue: %0.2f,%0.2f,%0.2f", posX, posY, posZ);
SendClientMessage(playerid, COLOR_WHITE, String);
}
#include <dini>
new Spawneado[MAX_PLAYERS];
#define COLOR_ROJO 0xFF0000FF
#define COLOR_VERDE_CLARO 0x00FF00FF
public OnPlayerConnect(playerid)
{
Spawneado[playerid] = 0;
return 1;
}
public OnPlayerDisconnect(playerid)
{
new usuario[MAX_PLAYER_NAME], archivo[256], Float:x, Float:y, Float:z, Float:angulo;
GetPlayerName(playerid, usuario, sizeof(usuario));
GetPlayerPos(playerid, Float:x, Float:y, Float:z);
GetPlayerFacingAngle(playerid, Float:angulo);
format(archivo, sizeof(archivo), "Pos/Usuarios/%s.ini", usuario);
dini_FloatSet(archivo, "PosGuardada(X)", Float:x);
dini_FloatSet(archivo, "PosGuardada(Y)", Float:y);
dini_FloatSet(archivo, "PosGuardada(Z)", Float:z);
dini_FloatSet(archivo, "PosGuardada(Angulo)", Float:angulo);
return 1;
}
public OnPlayerSpawn(playerid)
{
if(Spawneado[playerid] == 0)
{
Spawneado[playerid] == 1;
new vehiculo, usuario[MAX_PLAYER_NAME], archivo[256];
vehiculo = GetPlayerVehicleID(playerid);
GetPlayerName(playerid, usuario, sizeof(usuario));
format(archivo, sizeof(archivo), "Pos/Usuarios/%s.ini", usuario);
if(IsPlayerInAnyVehicle(playerid))
{
SetVehiclePos(vehiculo, dini_Int(archivo, "PosGuardada(X)"), dini_Int(archivo, "PosGuardada(Y)"), dini_Int(archivo, "PosGuardada(Z)")+1);
}
else
{
SetPlayerPos(playerid, dini_Int(archivo, "PosGuardada(X)"), dini_Int(archivo, "PosGuardada(Y)"), dini_Int(archivo, "PosGuardada(Z)")+1);
SetPlayerFacingAngle(playerid, dini_Int(archivo, "PosGuardada(Angulo)"));
SetCameraBehindPlayer(playerid);
SendClientMessage(playerid, COLOR_VERDE_CLARO, "Posicion cargada exitosamente!");
PlayerPlaySound(playerid, 1057, 0.0, 0.0, 0.0);
}
}
return 1;
}
if(Spawneado[playerid] == 0)
{
Spawneado[playerid] == 1;
new vehiculo, usuario[MAX_PLAYER_NAME], archivo[256];
vehiculo = GetPlayerVehicleID(playerid);
GetPlayerName(playerid, usuario, sizeof(usuario));
format(archivo, sizeof(archivo), "Pos/Usuarios/%s.ini", usuario);
if(IsPlayerInAnyVehicle(playerid))
{
SetVehiclePos(vehiculo, dini_Int(archivo, "PosGuardada(X)"), dini_Int(archivo, "PosGuardada(Y)"), dini_Int(archivo, "PosGuardada(Z)")+1);
}
else
{
SetPlayerPos(playerid, dini_Int(archivo, "PosGuardada(X)"), dini_Int(archivo, "PosGuardada(Y)"), dini_Int(archivo, "PosGuardada(Z)")+1);
SetPlayerFacingAngle(playerid, dini_Int(archivo, "PosGuardada(Angulo)"));
SetCameraBehindPlayer(playerid);
SendClientMessage(playerid, COLOR_GRAD2, "Posicion cargada exitosamente!");
PlayerPlaySound(playerid, 1057, 0.0, 0.0, 0.0);
}
}
return 1;
}
Spawneado[playerid] == 1;