Hey, ich habe ein Problem mit dem Laden und Speichern von den Last X,Y,Z Coadinaten..
Also im Script kommen keine Errors, aber ich komme Ingame auch nicht auf meine alten POS. Zurück..
In meiner Player.txt. werden die Cooards nicht gespeichert...
Bitte um hilfe
Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!
Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
-
-
Zeig mal, wie du sie speicherst
-
enum spieler_daten
{
wanted,
skin,
Float:lastx,Float:lasty,Float:lastz,
eingeloggt
}public OnPlayerDisconnect(playerid, reason)
{
new pname[MAX_PLAYERS],accFormat[128];
GetPlayerName(playerid,pname,sizeof pname);
format(accFormat,sizeof accFormat,"%s.datei",pname);
if(fexist(accFormat) && Spieler[playerid][eingeloggt])
{
dini_IntSet(accFormat,"wanted",Spieler[playerid][wanted]);
dini_IntSet(accFormat,"skin",Spieler[playerid][skin]);
dini_FloatSet(accFormat,"lastx",Spieler[playerid][lastx]);
dini_FloatSet(accFormat,"lasty",Spieler[playerid][lasty]);
dini_FloatSet(accFormat,"lastz",Spieler[playerid][lastz]);
dini_IntSet(accFormat,"Geld",GetPlayerMoney(playerid));
dini_IntSet(accFormat,"Score",GetPlayerScore(playerid));
}
Spieler[playerid][eingeloggt] = 0;
Spieler[playerid][wanted] = 0;
Spieler[playerid][skin] = 0;
Spieler[playerid][lastx] = (0.0);
Spieler[playerid][lasty] = (0.0);
Spieler[playerid][lastz] = (0.0);
return 1;
}public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
new pname[MAX_PLAYERS],accFormat[128];
GetPlayerName(playerid,pname,sizeof pname);
format(accFormat,sizeof accFormat,"%s.datei",pname);
if(response)
{
switch(dialogid)
{
case DIALOG_LOGIN:
{
if(!strlen(inputtext))
{
ShowPlayerDialog(playerid,DIALOG_LOGIN,1,"Login","Bitte logge dich ein","Abbrechen","Weiter");
return SendClientMessage(playerid,0xFFFFFFFF,"Kein Passwort angegeben!");
}
if(strcmp(inputtext,dini_Get(accFormat,"Passwort")) == 0)
{
Spieler[playerid][wanted] = dini_Int(accFormat,"wanted");
Spieler[playerid][skin] = dini_Int(accFormat,"skin");
Spieler[playerid][lastx] = dini_Float(accFormat,"lastx");
Spieler[playerid][lasty] = dini_Float(accFormat,"lasty");
Spieler[playerid][lastz] = dini_Float(accFormat,"lastz");
GivePlayerMoney(playerid,dini_Int(accFormat,"Geld"));
SetPlayerScore(playerid,dini_Int(accFormat,"Score"));
Spieler[playerid][eingeloggt] = 1;
SendClientMessage(playerid,0xFFFFFFFF,"Du wurdest erfolgreich eingeloggt.");
}
else
{
ShowPlayerDialog(playerid,DIALOG_LOGIN,1,"Login","Bitte logge dich ein","Abbrechen","Weiter");
SendClientMessage(playerid,0xFFFFFFFF,"Das Passwort war Falsch!");
}
}
case DIALOG_REG:
{
if(!strlen(inputtext))
{
ShowPlayerDialog(playerid,DIALOG_REG,1,"Registrieren","Bitte Registriere dich","Abbrechen","Weiter");
return SendClientMessage(playerid,0xFFFFFFFF,"Das Passwort ist zu kurz!");
}
dini_Create(accFormat);
dini_Set(accFormat,"Passwort",inputtext);
Spieler[playerid][eingeloggt] = 1;
SendClientMessage(playerid,0xFFFFFFFF,"Account wurde angelegt und du wurdest eingeloggt.");
GivePlayerMoney(playerid,20000);
}
}
}
else
{
switch(dialogid)
{
case DIALOG_LOGIN:ShowPlayerDialog(playerid,DIALOG_LOGIN,1,"Login","Bitte logge dich ein","Abbrechen","Weiter");
case DIALOG_REG:ShowPlayerDialog(playerid,DIALOG_REG,1,"Registrieren","Bitte Registriere dich","Abbrechen","Weiter");
}
}
return 1;
} -
public OnPlayerDisconnect(playerid, reason)
{
new pname[MAX_PLAYERS],accFormat[128];
GetPlayerName(playerid,pname,sizeof pname);
GetPlayerPos(playerid,lastx,lasty,lastz);//Das hier vergessen^^
format(accFormat,sizeof accFormat,"%s.datei",pname);
if(fexist(accFormat) && Spieler[playerid][eingeloggt])
{
dini_IntSet(accFormat,"wanted",Spieler[playerid][wanted]);
dini_IntSet(accFormat,"skin",Spieler[playerid][skin]);
dini_FloatSet(accFormat,"lastx",Spieler[playerid][lastx]);
dini_FloatSet(accFormat,"lasty",Spieler[playerid][lasty]);
dini_FloatSet(accFormat,"lastz",Spieler[playerid][lastz]);
dini_IntSet(accFormat,"Geld",GetPlayerMoney(playerid));
dini_IntSet(accFormat,"Score",GetPlayerScore(playerid));
}
Spieler[playerid][eingeloggt] = 0;
Spieler[playerid][wanted] = 0;
Spieler[playerid][skin] = 0;
Spieler[playerid][lastx] = (0.0);
Spieler[playerid][lasty] = (0.0);
Spieler[playerid][lastz] = (0.0);
return 1;
} -
C:\Users\Luka\Desktop\Neuer Ordner (3)\gamemodes\Selfmade.pwn(66) : warning 217: loose indentation
C:\Users\Luka\Desktop\Neuer Ordner (3)\gamemodes\Selfmade.pwn(66) : error 035: argument type mismatch (argument 2)
C:\Users\Luka\Desktop\Neuer Ordner (3)\gamemodes\Selfmade.pwn(67) : warning 217: loose indentation
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase1 Error.
-
Du musst schon richtig einrücken (mit TAB)
-
was is mit dem Error?
C:\Users\Luka\Desktop\Neuer Ordner (3)\gamemodes\Selfmadeneu.pwn(88) : error 035: argument type mismatch (argument 2)
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase1 Error.
-
sry mein Fehler
Spieler[playerid][lastx],Spieler[playerid][lasty],Spieler[playerid][lastz]
muss da rein^^
GetPlayerPos(playerid,Spieler[playerid][lastx],Spieler[playerid][lasty],Spieler[playerid][lastz]); -
Wenn man sich jz einloggt, spawnt man am normalem spawn, aber fällt durch den boden.. dann is man am 0 Punkt
-
breadfish.de
Hat das Thema geschlossen.