SA-MP Forums

Go Back   SA-MP Forums > SA-MP Scripting and Plugins > Scripting Help

Reply
 
Thread Tools Display Modes
Old 18/05/2018, 01:30 PM   #1
MandaleMecha
Little Clucker
 
Join Date: Feb 2016
Posts: 7
Reputation: 0
Default Guardado de posicion

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 Code:
#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;
}
MandaleMecha is offline   Reply With Quote
Old 18/05/2018, 02:16 PM   #2
dani18
Big Clucker
 
dani18's Avatar
 
Join Date: Dec 2017
Posts: 97
Reputation: 14
Default Re: Guardado de posicion

Puedes envíar las posiciones que tienes guardadas en "Posiciones/%s.ini"?
__________________
dani18 is offline   Reply With Quote
Old 18/05/2018, 04:18 PM   #3
MandaleMecha
Little Clucker
 
Join Date: Feb 2016
Posts: 7
Reputation: 0
Default Re: Guardado de posicion

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
MandaleMecha is offline   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off



All times are GMT. The time now is 08:06 AM.


Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.