Moin also ich habe eben mit meinem neuen Login register system angefangen nun fertig
gehe ich eben auffem server registriere mich usw passt alles nun aber
habe ichs so gemacht die daten werden im enum gespeichert
und ich vergebe frage es dann ab mit PlayerInfo[playerid][xx] usw
nun aber habe ich gemacht das es mit dini leuft also er erstellt es und dann schreibt er es mit
Playerinfo rein doch igendwie funkioniert das nicht ? wieso?
Doofes Login Register System -.-
- Quini2
- Geschlossen
- Erledigt
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 den Code...
-
Enum:
enum Datei
{
Float:X,
Float:Y,
Float:Z,
Float:A,
Float:Health,
Float:Armor,
Geld,
Skin,
Inte,
Virt,
Ls,
Sf
}
new PlayerInfo[MAX_PLAYERS][Datei];public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == 1)
{
if(!Eingeloggt[playerid])
{
if(response)
{
if(!inputtext[0])
{
SendClientMessage(playerid,Rot,"Kein input-text für Passwort");
}
else
{
GetPlayerName(playerid,Name,sizeof(Name));
format(S,sizeof(S),"Accounts/%s.ini",Name);
if(!dini_Exists(S))
{
dini_Create(S);
dini_IntSet(S,"Passwort",udb_hash(inputtext));
PlayerInfo[playerid][X] = 0;
dini_FloatSet(S,"X",PlayerInfo[playerid][X]);
PlayerInfo[playerid][Y] = 0;
dini_FloatSet(S,"Y",PlayerInfo[playerid][Y]);
PlayerInfo[playerid][Z] = 0;
dini_FloatSet(S,"Z",PlayerInfo[playerid][Z]);
PlayerInfo[playerid][A] = 0;
dini_FloatSet(S,"A",PlayerInfo[playerid][A]);
PlayerInfo[playerid][Health] = 100;
dini_FloatSet(S,"Health",PlayerInfo[playerid][Health]);
PlayerInfo[playerid][Armor] = 0;
dini_FloatSet(S,"Armor",PlayerInfo[playerid][Armor]);
PlayerInfo[playerid][Geld] = 500;
dini_IntSet(S,"Geld",PlayerInfo[playerid][Geld]);
PlayerInfo[playerid][Skin] = 0;
dini_IntSet(S,"Skin",PlayerInfo[playerid][Skin]);
PlayerInfo[playerid][Virt] = 0;
dini_IntSet(S,"Virt",PlayerInfo[playerid][Virt]);
PlayerInfo[playerid][Inte] = 0;
dini_IntSet(S,"Inte",PlayerInfo[playerid][Inte]);
PlayerInfo[playerid][Ls] = 0;
dini_IntSet(S,"Ls",PlayerInfo[playerid][Ls]);
PlayerInfo[playerid][Sf] = 0;
dini_IntSet(S,"Sf",PlayerInfo[playerid][Sf]);
ShowPlayerDialog(playerid,2,DIALOG_STYLE_MSGBOX,"Herkunft","Woher kommen sie?","LS","SF");
}
}
}
else
{
SendClientMessage(playerid, Rot, "Server: Sie wurden gekickt, Grund: nicht registriert!");
Kick(playerid);
}
}
return 1;
}
if(dialogid == 2)
{
GetPlayerName(playerid,Name,sizeof(Name));
format(S,sizeof(S),"Accounts/%s.ini",Name);
if(response)
{
PlayerInfo[playerid][X] = 1743.4347; // Das wird nicht mehr ausgeführt
PlayerInfo[playerid][Y] = -1860.1847;
PlayerInfo[playerid][Z] = 13.5790;
PlayerInfo[playerid][A] = 359.1414;
PlayerInfo[playerid][Ls] = 1;
ShowPlayerDialog(playerid,3,DIALOG_STYLE_MSGBOX,"Geschlecht","Was sind sie?","Männlich","Weiblich");
return 1;
}
if(!response)
{
PlayerInfo[playerid][X] = -1986.2137;
PlayerInfo[playerid][X] = 138.0104;
PlayerInfo[playerid][X] = 27.6875;
PlayerInfo[playerid][X] = 88.3919;
PlayerInfo[playerid][X] = 1;
ShowPlayerDialog(playerid,3,DIALOG_STYLE_MSGBOX,"Geschlecht","Was sind sie?","Männlich","Weiblich");
return 1;
}
} -
Sicher das es richtig kompliert wird?
Da sind viele Klammerfehler drin. -
danach gehts ja noch weiter mit dem toturial aber peer dialog ist alles richtig bekomme copy right nur halt in der ini steht x = 0 y = 0 z = 0 usw
weil er danach es nicht mehr weiter ausführt doch ich weiß nicht wieso so sieht es aus:Code
Alles anzeigenPasswort= "Entfernt" X=0.000000 Y=0.000000 Z=0.000000 A=0.000000 Health=100.000000 Armor=0.000000 Geld=500 Skin=0 Virt=0 Inte=0 Ls=0 Sf=0
(Edit1: Code hinzugefügt.);
(Edit2: Kann es vlt an Return 1; liegen unter den dialogen?) -
hmm Ich gebe dir ein Tipp....Versuch mal die dateien die er Speichern soll in einem Stock zu machen den du dann beim Login aufrufen lässt
Soe sieht mein stock aus:
stock LoadUser(playerid)
{
new Spielerdatei[64];
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
format(Spielerdatei,sizeof(Spielerdatei),"/User/%s.ini",name);
SetPlayerScore(playerid,dini_Int(Spielerdatei,"Level"));
GivePlayerMoney(playerid,dini_Int(Spielerdatei,"Money"));
SpielerInfo[playerid][Adminlevel]=dini_Int(Spielerdatei,"Adminlevel");
SpielerInfo[playerid][Durst]=dini_Int(Spielerdatei,"Durst");
SpielerInfo[playerid][Hunger]=dini_Int(Spielerdatei,"Hunger");
SpielerInfo[playerid][Energie]=dini_Int(Spielerdatei,"Energie");
SpielerInfo[playerid][Harndrang]=dini_Int(Spielerdatei,"Harndrang");
SpielerInfo[playerid][Bank]=dini_Int(Spielerdatei,"Bank");
SpielerInfo[playerid][Parkhaus]=dini_Int(Spielerdatei,"Parkhausticket");
SpielerInfo[playerid][eingeloggt] =1;
return 1;
} -
Daran kann es nicht liegen er gibt dem ja alles nur
halt beim registrieren gibt er ihn den wert 0 weil er danach nicht weiter gibt aber wieso -
breadfish.de
Hat das Thema geschlossen.