Geplaatst: 3 augustus 200915 jaren comment_1434090 Hoe kan ik om de 5 sec. de posities van alle spelers opslaan zodat ze daarna dan weer terug kunnen komen?
Geplaatst: 3 augustus 200915 jaren comment_1434108 Met dini gaat dat zeer gemakkelijk. Ik sla iedereen ineen eigen userfile op. #define UserPositions %s.ini forward Dingetje(); OnGameModeInit { SetTimer("Dingetje", 5000, true); return 1; } public Dingetje() { for(new i=0; i < GetMaxPlayers(); i ++); { new Float:x, Float:y, Float:z; new file[100]; new pName; GetPlayerName(i, pName, sizeof(pName); format(file,sizeof(file),UserFile,pName); GetPlayerPos(i, x, y, z); dini_FloatSet(file, "xPos", x); dini_FloatSet(file, "xPos", y); dini_FloatSet(file, "xPos", z); } return 1; } En dan als je een de positie van een speler wilt neerzetten: forward AnderDingetje(playerid); //Maak bijvoorbeeld een command, met een script erin: AnderDingetje(playerid) //Dat verwijst naar de nieuwe callback, en word dus gebruikt. //Ik raad je aan het zo te doen, werkt beter. Deze callback kan je timen, maar ik raad het je niet aan. //Ga dan met loops werken, zoals ik hierboven heb gedaan. Dan kan het wel. public AnderDingetje(playerid) { new Float:x, Float:y, Float:z; new file[100]; new pName; GetPlayerName(playerid, pName, sizeof(pName); format(file,sizeof(file),UserFile,pName); x = dini_Float(file, "xPos"); y = dini_Float(file, "xPos"); z = dini_Float(file, "xPos"); SetPlayerPos(playerid, x, y, z); return 1; }
Geplaatst: 4 augustus 200915 jaren Auteur comment_1434230 Met het opslaa gedeelte krijg ik dieze errors: G:\Server B\filterscripts\account.pwn(1378) : error 036: empty statement G:\Server B\filterscripts\account.pwn(1383) : error 017: undefined symbol "i" G:\Server B\filterscripts\account.pwn(1383) : error 035: argument type mismatch (argument 2) G:\Server B\filterscripts\account.pwn(1384) : error 017: undefined symbol "UserFile" G:\Server B\filterscripts\account.pwn(1385) : error 017: undefined symbol "i" G:\Server B\filterscripts\account.pwn(1382) : warning 203: symbol is never used: "pName" Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase 5 Errors.
Geplaatst: 4 augustus 200915 jaren comment_1434273 Volgens mij moet dit anders: format(file,sizeof(file),UserFile,pName); format(file,sizeof(file), "SavedPos_%s.ini", udb_encode(pName));
Geplaatst: 4 augustus 200915 jaren Auteur comment_1434403 Die errors staan op: 1 public Dingetje() 2 { 3 for(new i=0; i < GetMaxPlayers(); i ++); 4 { 5 new Float:x, Float:y, Float:z; 6 new file[100]; 7 new pName; 8 GetPlayerName(i, pName, sizeof(pName); 9 format(file,sizeof(file),UserFile,pName); 10 GetPlayerPos(i, x, y, z); 11 dini_FloatSet(file, "xPos", x); 12 dini_FloatSet(file, "xPos", y); 13 dini_FloatSet(file, "xPos", z); 14 } 15 return 1; 16 } G:\Server B\filterscripts\account.pwn(3) : error 036: empty statement G:\Server B\filterscripts\account.pwn( : error 017: undefined symbol "i" G:\Server B\filterscripts\account.pwn( : error 035: argument type mismatch (argument 2) G:\Server B\filterscripts\account.pwn(9) : error 017: undefined symbol "UserFile" G:\Server B\filterscripts\account.pwn(10) : error 017: undefined symbol "i" G:\Server B\filterscripts\account.pwn(7) : warning 203: symbol is never used: "pName" Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase 5 Errors.
Hoe kan ik om de 5 sec. de posities van alle spelers opslaan zodat ze daarna dan weer terug kunnen komen?