Guardado de posicion - Printable Version
+- SA-MP Forums Archive (
https://sampforum.blast.hk)
+-- Forum: SA-MP Scripting and Plugins (
https://sampforum.blast.hk/forumdisplay.php?fid=8)
+--- Forum: Scripting Help (
https://sampforum.blast.hk/forumdisplay.php?fid=12)
+--- Thread: Guardado de posicion (
/showthread.php?tid=653980)
Guardado de posicion -
MandaleMecha - 18.05.2018
Hola quiero saber como puedo colocar este scrip.
Para que respawnee random cuando el jugador muera, y no que se quede en el mismo lugar donde murio
Hasta ahora lo que hace este FS creado por HERMES es spawnear en el ultimo lugar que te desconectaste pero al morir sigue Spawneando en el mismo lugar quiero cambiarlo a random
Код HTML:
#include <a_samp>
#include <Dini>
#define ARCHIVO_POS "Posiciones/%s.ini"
new Float:GuardadoPos[MAX_PLAYERS][4];
new GuardadoIntVW[MAX_PLAYERS][2];
public OnFilterScriptInit()
{
print(" ------------------------------------------------------");
print(" | Guardado y Cargado de Posiciуn by HERMES | Cargado |");
print(" ------------------------------------------------------");
return 1;
}
public OnFilterScriptExit()
{
return 1;
}
public OnPlayerConnect(playerid)
{
new Archivo[64];
format(Archivo, sizeof(Archivo), ARCHIVO_POS, NombreJugador(playerid));
if(dini_Exists(Archivo))
{
GuardadoPos[playerid][0] = dini_Float(Archivo, "PosX");
GuardadoPos[playerid][1] = dini_Float(Archivo, "PosY");
GuardadoPos[playerid][2] = dini_Float(Archivo, "PosZ");
GuardadoPos[playerid][3] = dini_Float(Archivo, "Angulo");
GuardadoIntVW[playerid][0] = dini_Int(Archivo, "Interior");
GuardadoIntVW[playerid][1] = dini_Int(Archivo, "Mundo");
} else {
GuardadoPos[playerid][0] = 0.0;
GuardadoPos[playerid][1] = 0.0;
GuardadoPos[playerid][2] = 0.0;
GuardadoPos[playerid][3] = 0.0;
GuardadoIntVW[playerid][0] = 0;
GuardadoIntVW[playerid][1] = 0;
}
return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
new Archivo[64];
GetPlayerPos(playerid, GuardadoPos[playerid][0], GuardadoPos[playerid][1], GuardadoPos[playerid][2]);
GetPlayerFacingAngle(playerid, GuardadoPos[playerid][3]);
GuardadoIntVW[playerid][0] = GetPlayerInterior(playerid);
GuardadoIntVW[playerid][1] = GetPlayerVirtualWorld(playerid);
format(Archivo, sizeof(Archivo), ARCHIVO_POS, NombreJugador(playerid));
if(!dini_Exists(Archivo))
{
dini_Create(Archivo);
}
dini_FloatSet(Archivo, "PosX", GuardadoPos[playerid][0]);
dini_FloatSet(Archivo, "PosY", GuardadoPos[playerid][1]);
dini_FloatSet(Archivo, "PosZ", GuardadoPos[playerid][2]);
dini_FloatSet(Archivo, "Angulo", GuardadoPos[playerid][3]);
dini_IntSet(Archivo, "Interior", GuardadoIntVW[playerid][0]);
dini_IntSet(Archivo, "Mundo", GuardadoIntVW[playerid][1]);
return 1;
}
public OnPlayerSpawn(playerid)
{
if(GuardadoPos[playerid][0] != 0.0 && GuardadoPos[playerid][1] != 0.0 && GuardadoPos[playerid][2] != 0.0)
{
SetPlayerPos(playerid, GuardadoPos[playerid][0], GuardadoPos[playerid][1], GuardadoPos[playerid][2]);
SetPlayerFacingAngle(playerid, GuardadoPos[playerid][3]);
SetPlayerInterior(playerid, GuardadoIntVW[playerid][0]);
SetPlayerVirtualWorld(playerid, GuardadoIntVW[playerid][1]);
}
return 1;
}
NombreJugador(playerid)
{
new PNombre[MAX_PLAYER_NAME];
GetPlayerName(playerid, PNombre, sizeof(PNombre));
return PNombre;
}
Re: Guardado de posicion -
dani18 - 18.05.2018
Puedes envнar las posiciones que tienes guardadas en "Posiciones/%s.ini"?
Re: Guardado de posicion -
MandaleMecha - 18.05.2018
Es una unica posicion por que cundo el jugador se desonecta crea un Player pos X Y Z y la posicion anterior se borra al desconectarse para asi sucesibamente entonces nunca habran dos posiciones en un jugador si no mas la de su ultima /q