MikeY 0 Odesláno: 30. Srpen, 2012 Share Odesláno: 30. Srpen, 2012 Zdravím. Ako by sa dalo spraviť, aby sa hráčovi načítala jeho posledná pozícia, tá na ktorej bol predtým než server opustil? Ďakujem za rady Link to comment Share on other sites More sharing options...
0 paveldaa 0 Odesláno: 30. Srpen, 2012 Share Odesláno: 30. Srpen, 2012 do disconectu si ukládej pozici X,Y,Z a v registraci ji načítej Link to comment Share on other sites More sharing options...
0 Vyholený*_*Sandokán 1 Odesláno: 30. Srpen, 2012 Share Odesláno: 30. Srpen, 2012 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š.. 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č Link to comment Share on other sites More sharing options...
0 MikeY 0 Odesláno: 30. Srpen, 2012 Author Share Odesláno: 30. Srpen, 2012 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 More sharing options...
0 Vyholený*_*Sandokán 1 Odesláno: 30. Srpen, 2012 Share Odesláno: 30. Srpen, 2012 to neviem..ale je public OnPlayerSpawn... a tam daj SetPlayerPos(playerid,X,Y,Z);..ale to XYZ si zmeň na suradnice.. Link to comment Share on other sites More sharing options...
0 MikeY 0 Odesláno: 30. Srpen, 2012 Author Share Odesláno: 30. Srpen, 2012 No lenže tam sa budú spawmovať všetci a to mi moc nevyhovuje :-D Link to comment Share on other sites More sharing options...
0 KillBill61 0 Odesláno: 31. Srpen, 2012 Share Odesláno: 31. Srpen, 2012 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 More sharing options...
0 LYRIcS 88 Odesláno: 31. Srpen, 2012 Share Odesláno: 31. Srpen, 2012 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 More sharing options...
0 MikeY 0 Odesláno: 31. Srpen, 2012 Author Share Odesláno: 31. Srpen, 2012 _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š.. 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č 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 More sharing options...
0 MikeY 0 Odesláno: 31. Srpen, 2012 Author Share Odesláno: 31. Srpen, 2012 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 More sharing options...
0 MikeY 0 Odesláno: 31. Srpen, 2012 Author Share Odesláno: 31. Srpen, 2012 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 More sharing options...
0 Waxor 0 Odesláno: 31. Srpen, 2012 Share Odesláno: 31. Srpen, 2012 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 More sharing options...
0 MikeY 0 Odesláno: 31. Srpen, 2012 Author Share Odesláno: 31. Srpen, 2012 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 More sharing options...
0 _Luk4s_ 0 Odesláno: 4. Září, 2012 Share Odesláno: 4. Září, 2012 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é Link to comment Share on other sites More sharing options...
0 Vyholený*_*Sandokán 1 Odesláno: 5. Září, 2012 Share Odesláno: 5. Září, 2012 keď ti hažde toto "Meno" tak medzi stock stock Meno(playerid) { new name[24]; GetPlayerName(playerid, name, sizeof(name)); return name; } Link to comment Share on other sites More sharing options...
0 _Luk4s_ 0 Odesláno: 5. Září, 2012 Share Odesláno: 5. Září, 2012 Zbytočné predlžovanie skriptu kôli jednému slovu.. Link to comment Share on other sites More sharing options...
Dotaz
MikeY 0
Zdravím.
Ako by sa dalo spraviť, aby sa hráčovi načítala jeho posledná pozícia, tá na ktorej bol predtým než server opustil?
Ďakujem za rady
Link to comment
Share on other sites
15 odpovědí na tuto otázku
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now