Jump to content
  • 0

pomoc Pozice


Andrey

Dotaz

Zdravím, potřebuji poradit Jedna se o to, že potřebuji aby hráč po registraci se objevil na jednom určitém místě a pak, když se přihlásí aby se objevil na místě, kde se naposled nacházel. Všechno mám už udělané, ale nemůžu přijít na to, jak to zkombinovat, aby fungovali obojí správně. Všechno se mi ukládá do souboru jak má atp. Přidám zde kód, jak to mám momentálně udělané.

 

http://pastebin.com/6w2tYRnB

 

V tomto případě funguje pozice, na které se naposled hráč nacházel, naopak nefunguje když se hráč zaregistruje, tak aby se objevil na dané souřadnici.

 

Pokud   SetPlayerPos(playerid,positionx,positiony,positionz); dám to stocku Login, tak registrace funguje v pořádku, kdežto login, kde se měl spawnout na poslední pozici nefunguje správně.

Edited by Andrey
Link to comment
Share on other sites

6 odpovědí na tuto otázku

Recommended Posts

  • 0

new p_Pos[MAX_PLAYERS][3];

 

načteš na 

p_Pos[playerid][0], p_Pos[playerid][1], p_Pos[playerid][2]

pozice skrz dini

 

při spawnu

 

if(!fexist(cesta)){

SetPlayerPos(playerid, 0.0, 0.0, 0.0); // sem dáš pozice

} else {

SetPlayerPos(playerid, p_Pos[playerid][0], p_Pos[playerid][1], p_Pos[playerid][2]);

}

 

při uložení

 

new Float:x, Float:y, Float:z;

GetPlayerPos(playerid, x, y, z);

dini_FloatSet(cesta, "X", x);

dini_FloatSet(cesta, "Y", y);

dini_FloatSet(cesta, "Z", z);

 

nvm co je na tom tak hrozného :d

snad sem to napsal dobře :d

Link to comment
Share on other sites

  • 0

Vzdyt je to cele spatne. Soubor se vytvari pri registraci, ktera probiha pred spawnutim. Tudiz o tom, jestli se zrovna hrac registroval nerozhoduje existence souboru.

Pak se musi zjistovat, zda je to jeho prvni spawnuti po pripojeni (duvod snad pochopis).

 

Autor kodu asi nezna pole ze?

Edited by Lukasz
Link to comment
Share on other sites

  • 0

Spawn jde samozřejmě ukládat i bez registrace ale jinak...

Co se týče registrace tak hned při registraci uložit a nastavit na určité newy pro X, Y, Z pozice základního spawnu. Při spawnu spawnout přes SetPlayerPos a při uložení/odpojení zase zjistit tu aktuální a uložit + na login načítání pozic.

Edited by rEf
Link to comment
Share on other sites

  • 0

Zkusil jsem to takhle ->

new bool:PrvniSpawn[MAX_PLAYERS];

//Do OnPlayerConnect

PrvniSpawn[playerid] = true;

//Do OnPlayerSpawn

	if(PrvniSpawn[playerid])
	{
	SetPlayerPos(playerid,3671.7141,-3062.7083,6.7713);
	PrvniSpawn[playerid] = false;
	}
	else
	{
	SetPlayerPos(playerid,positionx,positiony,positionz);
	}

A pořád mě to přesměruje na pozici, kde se má hráč spawnout při registraci. (Souřadnice, kde byl hráč naposled to ukládá správně do souboru!)

Link to comment
Share on other sites

  • 0

Tak tohle je taky možnost ale tamto je jednoduší :-D To co jsem psal nastavit pozice přímo při registraci na proměny, postnout ho na ty X, Y, Z a pak už jen ukládání a načítání :-D

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...