Jump to content
  • 0

pomoc posledná pozícia


MikeY

Dotaz

15 odpovědí na tuto otázku

Recommended Posts

  • 0

mam to na servery ak chceš ty to tu dam.. :)

 

medzi NEW

new Float:positionx;
new Float:positiony;
new Float:positionz;

 

do OnPlayerConnect

LoadStats(playerid);

 

do OnPlayerDisconnect

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

GetPlayerPos(playerid,x,y,z);
positionx = x;
positiony = y;
positionz = z;
if (!dini_Exists(FileStats(playerid)))
{
	dini_Create(FileStats(playerid));
}

SaveStats(playerid);

 

do OnPlayerSpawn

SetPlayerPos(playerid,positionx,positiony,positionz);

 

do OnPlayerDeath

SetPlayerPos(playerid,-2632.8022,1358.5471,7.1133);
positionx = -2632.8022;
positiony = 1358.5471;
positionz = 7.1133;

 

(uprav si jak chceš.. :d tie suradnice)

 

a potom dakde celkom dole do modu..

 

FileStats(playerid)
{
 new a[256]; format(a, sizeof(a), "%s.ini",udb_encode(Meno(playerid)));
 return a;
}

SaveStats(playerid)
{
 dini_IntSet(FileStats(playerid), "PositionX", floatround(positionx));
 dini_IntSet(FileStats(playerid), "PositionY", floatround(positiony));
 dini_IntSet(FileStats(playerid), "PositionZ", floatround(positionz));
}

LoadStats(playerid)
{
 positionx = dini_Int(FileStats(playerid), "PositionX");
 positiony = dini_Int(FileStats(playerid), "PositionY");
 positionz = dini_Int(FileStats(playerid), "PositionZ");
}

 

to je všetko..ale musiš mať registraciu :) nemaš zač :d

Link to comment
Share on other sites

  • 0

Veľmi pekne ti ďakujem.

 

Ešte jedna vec. Existuje niečo také, ako sú tieto SetPlayerNiečo, také že by to spôsoboval spawn hráča na určitom mieste, ale iba pre hráča čo je na serveri prvý krát?

Link to comment
Share on other sites

  • 0

udelej treba onplayerspawn pokud existuje tato slozka (nebo nwm jak mas udelanou registraci celkove) tak ho to spawne normalne ale pokud slozka neexistuje tak ho to spawne jako novacka a vyrobi to tu slozku

Link to comment
Share on other sites

  • 0

daj tam podmienku, napr

 

new bool:prvyspawn[MAX_PLAYERS];

 

do onplayerconnect

 

prvyspawn[playerid] = false; //cize nastavime aby sa nemal spawnut na "prvom" spawne

 

a do registracie daj

 

prvyspawn[playerid] = true; //teda ak sa registruje tak logicky ze je na serveri prvy krat tak ho to musi spawnut na prvy spawn

 

a do onplayerspawn:

 

if(prvspawn[playerid] == true) //cize ak ma nastaveny prvy spawn
{
   SetPlayerPos(playerid, ...);
}
else
{
   a sem daj tu poziciu ktoru mu to ma nacitat z loginu
}

Link to comment
Share on other sites

  • 0

 

_Sonic_":3po3k448]mam to na servery ak chceš ty to tu dam.. :)

 

medzi NEW

new Float:positionx;
new Float:positiony;
new Float:positionz;

 

do OnPlayerConnect

LoadStats(playerid);

 

do OnPlayerDisconnect

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

GetPlayerPos(playerid,x,y,z);
positionx = x;
positiony = y;
positionz = z;
if (!dini_Exists(FileStats(playerid)))
{
	dini_Create(FileStats(playerid));
}

SaveStats(playerid);

 

do OnPlayerSpawn

SetPlayerPos(playerid,positionx,positiony,positionz);

 

do OnPlayerDeath

SetPlayerPos(playerid,-2632.8022,1358.5471,7.1133);
positionx = -2632.8022;
positiony = 1358.5471;
positionz = 7.1133;

 

(uprav si jak chceš.. :d tie suradnice)

 

a potom dakde celkom dole do modu..

 

FileStats(playerid)
{
 new a[256]; format(a, sizeof(a), "%s.ini",udb_encode(Meno(playerid)));
 return a;
}

SaveStats(playerid)
{
 dini_IntSet(FileStats(playerid), "PositionX", floatround(positionx));
 dini_IntSet(FileStats(playerid), "PositionY", floatround(positiony));
 dini_IntSet(FileStats(playerid), "PositionZ", floatround(positionz));
}

LoadStats(playerid)
{
 positionx = dini_Int(FileStats(playerid), "PositionX");
 positiony = dini_Int(FileStats(playerid), "PositionY");
 positionz = dini_Int(FileStats(playerid), "PositionZ");
}

 

to je všetko..ale musiš mať registraciu :) nemaš zač :d

 

Píše mi to -

error 017: undefined symbol "LoadStats"

error 017: undefined symbol "FileStats"

error 017: undefined symbol "FileStats"

error 017: undefined symbol "SaveStats"

 

 

čo stým?

Link to comment
Share on other sites

  • 0

Tak pardon. Dopísal som to celé a tie errory sú tam už neni.

Ale toto

error 017: undefined symbol "udb_encode"

 

čo spraviť stýmto?

 

Ďakujem za rady

Link to comment
Share on other sites

  • 0

Opravil som si to pomocou includov.

Ide teraz o toto

FileStats(playerid)

 

{

new a[256]; format(a, sizeof(a), "%s.ini",udb_encode(Meno(playerid)));

return a;

}

 

SaveStats(playerid)

{

dini_IntSet(FileStats(playerid), "PositionX", floatround(positionx));

dini_IntSet(FileStats(playerid), "PositionY", floatround(positiony));

dini_IntSet(FileStats(playerid), "PositionZ", floatround(positionz));

}

 

LoadStats(playerid)

{

positionx = dini_Int(FileStats(playerid), "PositionX");

positiony = dini_Int(FileStats(playerid), "PositionY");

positionz = dini_Int(FileStats(playerid), "PositionZ");

}

 

 

Dal som si tam ten riadok čo si mi písal a napísalo mi error

undefined symbol "Meno"

 

 

 

vážne prosím o pomoc, strašne ma to štve

Link to comment
Share on other sites

  • 0
Tak pardon. Dopísal som to celé a tie errory sú tam už neni.

Ale toto

error 017: undefined symbol "udb_encode"

 

čo spraviť stýmto?

 

Ďakujem za rady

 

asi ti tam chybí ten encoder, jestli chceš šifrovat heslo

tu:

 

stock udb_encode(buf[])
{
new length = strlen(buf);
   new s1 = 1;
   new s2 = 0;
   new n;
for (n = 0; n < length; n++)
   {
		s1 = (s1 + buf[n]) % 65521;
  		s2 = (s2 + s1)     % 65521;
   }
   return (s2 << 16) + s1;
}

 

Link to comment
Share on other sites

  • 0

 

Tak pardon. Dopísal som to celé a tie errory sú tam už neni.

Ale toto

error 017: undefined symbol "udb_encode"

 

čo spraviť stýmto?

 

Ďakujem za rady

 

asi ti tam chybí ten encoder, jestli chceš šifrovat heslo

tu:

 

stock udb_encode(buf[])
{
new length = strlen(buf);
   new s1 = 1;
   new s2 = 0;
   new n;
for (n = 0; n < length; n++)
   {
		s1 = (s1 + buf[n]) % 65521;
  		s2 = (s2 + s1)     % 65521;
   }
   return (s2 << 16) + s1;
}

 

 

 

Mno to mám hotové a opravené.

Lenže teraz sa mi tam objavil tento problém, ako som písal:

 

Opravil som si to pomocou includov.

Ide teraz o toto

FileStats(playerid)

 

{

new a[256]; format(a, sizeof(a), "%s.ini",udb_encode(Meno(playerid)));

return a;

}

 

SaveStats(playerid)

{

dini_IntSet(FileStats(playerid), "PositionX", floatround(positionx));

dini_IntSet(FileStats(playerid), "PositionY", floatround(positiony));

dini_IntSet(FileStats(playerid), "PositionZ", floatround(positionz));

}

 

LoadStats(playerid)

{

positionx = dini_Int(FileStats(playerid), "PositionX");

positiony = dini_Int(FileStats(playerid), "PositionY");

positionz = dini_Int(FileStats(playerid), "PositionZ");

}

 

 

Dal som si tam ten riadok čo si mi písal a napísalo mi error

undefined symbol "Meno"

 

 

 

vážne prosím o pomoc, strašne ma to štve

 

 

Link to comment
Share on other sites

  • 0

Prečo si to stažuješ? buď si to "Meno" zadefinuj alebo tam použi normálne toto

 

new a[256]; format(a, sizeof(a), "%s.ini",udb_encode(PlayerName(playerid)));

 

To podla mňa budeš mat definované :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...