Moin Bratfischis,
mein Kollege und ich haben bei unserem Script ein Problem. Wir haben uns (als Scriptinganfänger) mal an ein Enum gesetzt. Dort haben wir folgendes eingetragen:
enum SpielerInfo
{
geschlecht,
alter,
skin,
wanteds,
//level,
geld,
eingeloggt,
Float: spx,
Float: spy,
Float: spz,
firstspawn
}
new sInfo[MAX_PLAYERS][SpielerInfo];
Nun haben wir den CMD /savespawn erstellt:
ocmd:savespawn(playerid,params[])
{
new name[128], save[128];
new Float:spX,Float:spY,Float:spZ;
GetPlayerPos(playerid,spX,spY,spZ);
GetPlayerName(playerid,name,sizeof(name));
format(save,sizeof(save),"/Spieler/%s.ini",name);
if(dini_Exists(save))
{
SendClientMessage(playerid,COLOR_GREEN,"Info: Neuen Spawn gesetzt");
dini_FloatSet(save,"spx",spX);
dini_FloatSet(save,"spy",spY);
dini_FloatSet(save,"spz",spZ);
}
return 1;
}
In der Datei werde diese auch eingetragen. Allerdings nicht wieder ausgelesen bzw. geändert nachdem Spawn.
Zum Auslesen haben wir unter OnPlayerConnect geschrieben:
new pName[MAX_PLAYER_NAME], save[128];
GetPlayerName(playerid,pName,sizeof(pName));
format(save,sizeof(save),"/Spieler/%s.ini",pName);
if(!dini_Exists(save))
{
ShowPlayerDialog(playerid, DIALOG_REGISTER1, DIALOG_STYLE_INPUT, "Registrierung", "Gebe hier dein gewünschtes Passwort ein:", "OK", "Abbrechen");
}
else
{
ShowPlayerDialog(playerid, DIALOG_LOGIN1, DIALOG_STYLE_INPUT, "Login", "Gebe bitte hier dein Passwort ein:", "OK", "Abbrechen");
SetPlayerSkin(playerid,dini_Int(save,"skin"));
SetPlayerWantedLevel(playerid,dini_Int(save,"wanteds"));
GivePlayerMoney(playerid,dini_Int(save,"geld"));
SetPlayerPos(playerid,dini_Float(save,"spx"),dini_Float(save,"spy"),dini_Float(save,"spz"));
}
return 1;
Also man Spawnt nun mit unseren eingestellten Noobskin am Bahnhof in LV. Wir haben momentan keine FirstSpawn Abfrage drin.
Woran kann das liegen das die Position nicht umgeändert wird?