Jump to content

Spawen waar je /q tiepte.


Recommended Posts

Geplaatst:

Is het mogenlijk om dat voor elkaar te krijgen?

Ja, je slaat de coordinaton op in een bestand als de speler command "/q" typt en je laad ze gewoon weer waneer de speler spawnt.

Geplaatst: (bewerkt)

Bedoel je dat je een plek opslaat en dan als je /g typt daar weer spawnt?

Of dat je als je /g typt dat je dan op een bepaalde locatie spawnt?

In dat laatste geval:

	if(strcmp(cmd, "/g", true) == 0)
{
    if(IsPlayerConnected(playerid))
    {
  			SetPlayerPos(playerid, X,Y,Z); // Hier nog even de locatie invullen.
		SendClientMessage(playerid, COLOR_LIGHTBLUE, "Je bent nu geteleporteerd!");
		SetPlayerInterior(playerid,0); // Dit is buiten, kan natuurlijk ook in een int zijn.
    }
    return 1;
}

Bewerkt: door Wu-Zi-Mu
Geplaatst:

Nee, hij bedoelt dat de coördinaten opgeslagen worden als je het spel afsluit, in SA:MP kan dat ook via /q of /quit.

Om dit te doen moet je de coördinaten achterhalen van de positie die hij had toen hij ging afsluiten. Dat kan via de callback: OnPlayerDisconnect. Daarin maak je een functie die de coördinaten opslaat. En als de speler de server dan weer binnenkomt laad hij die gegevens weer.

Geplaatst: (bewerkt)

Het werk niet:

new Float:LastX, Float:LastY, Float:LastZ;
new Float:NewX, Float:NewY, Float:NewZ;

public OnPlayerDisconnect(playerid, reason)
{
GetPlayerPos(playerid, LastX, LastY, LastZ);
dini_FloatSet("Testfile.txt", "X", LastX);
dini_FloatSet("Testfile.txt", "Y", LastY);
dini_FloatSet("Testfile.txt", "Z", LastZ);
return 1;
}

public OnPlayerSpawn(playerid)
{
   NewX = dini_Float("Testfile.txt", "X");
NewY = dini_Float("Testfile.txt", "Y");
NewZ = dini_Float("Testfile.txt", "Z");
SetPlayerPos(playerid, NewX, NewY, NewZ);
return 1;
}

Bewerkt: door TEH_GTA_COLLECTOR
Geplaatst:

Het werk niet:

new Float:LastX, Float:LastY, Float:LastZ;
new Float:NewX, Float:NewY, Float:NewZ;

public OnPlayerDisconnect(playerid, reason)
{
GetPlayerPos(playerid, LastX, LastY, LastZ);
dini_FloatSet("Testfile.txt", "X", LastX);
dini_FloatSet("Testfile.txt", "Y", LastY);
dini_FloatSet("Testfile.txt", "Z", LastZ);
return 1;
}

public OnPlayerSpawn(playerid)
{
   NewX = dini_Float("Testfile.txt", "X");
NewY = dini_Float("Testfile.txt", "Y");
NewZ = dini_Float("Testfile.txt", "Z");
SetPlayerPos(playerid, NewX, NewY, NewZ);
return 1;
}

Hmm ik vind geen fout, maar in ieder geval: Dit werkt maar voor 1 speler en het brengt je elke keer naar die plaats als je spawn

en ik weet niet zeker of je wel wel iemands coordinaten kunt opvragen als hij net weg is. :s

Een reactie plaatsen

Je kan nu een reactie plaatsen en pas achteraf registreren. Als je al lid bent, log eerst in om met je eigen account een reactie te plaatsen.

Gast
Op dit onderwerp reageren...

×   Je hebt text geplaatst met opmaak.   Opmaak verwijderen

  Only 75 emoji are allowed.

×   Je link is automatisch ingevoegd.   In plaats daarvan weergeven als link

×   Je vorige bewerkingen zijn hersteld.   Alles verwijderen

×   You cannot paste images directly. Upload or insert images from URL.

  • Recent actief   0 leden

    • Er zijn hier geen geregistreerde gebruikers aanwezig.
×
×
  • Create New...