Yoa hallo,
ich habe grade gemerkt das man sich mit jedem Passwort einloggen kann.
Das Passwort wird nur als Zahl 0 oder 1 gespeichert.
Jetzt wollte ich fragen wie muss ich es hmachen das das PW als String gespeichert/geladen wird.
Ich habe die Sufu genutzt und auch google etc. ich komm aber net weiter.
Also ich möchhte wissen wie ich einen string speichere und lade.
Ich hoffe mir kann einer helfen.
mfg
//Edit wenn möglich kann mir ja noch jemand sagen bzw. erklären wie ich das pw verschlüssele ;D
Hier der ganzte Code:
Dialog Response:
if(dialogid == 1)
{
if(response)
{
new save[128];
GetPlayerName(playerid,player,sizeof(player));
format(save,sizeof(save),"Spieler/%s.ini",player);
if(!strlen(inputtext))
{
new plname[MAX_PLAYER_NAME];
GetPlayerName(playerid, plname, sizeof(plname));
new wstring[250];
format(wstring, sizeof(wstring), "{FFFFFF}Wilkommen zurück: {FF0000}%s \n{FFFFFF}Schön das du uns wieder besuchst\n{FFFFFF}Du kannst dich nun einloggen\n{FF0000}Gib bitte dein Passwort unten ein!",plname);
ShowPlayerDialog(playerid,1,DIALOG_STYLE_INPUT,"Login",wstring,"Weiter","Abbrechen");
return SendClientMessage(playerid,0xFFFFFFFF,"Kein Passwort angegeben!");
}
else if(strcmp(inputtext,dini_Get(save,"Passwort")) == 0)
{
ShowPlayerDialog(playerid,1,DIALOG_STYLE_INPUT,"Login","{FFFFFF}Dein Passwort ist falsch! \nFalls dies nicht dein Account ist\nverlasse das Spiel ändere deinen Nicknamen\nund connecte erneut.\nDu kannst dir dann sofort einenn neuen Account erstellen.","Weiter","Abbrechen");
SendClientMessage(playerid,0xFFFFFFFF,"Das Passwort war Falsch!");
}
else if(strcmp(inputtext,dini_Get(save,"Passwort")) == 0)
{
loggedin[playerid] = true;
hausinfo[playerid] = false;
helpdeskb[playerid] = false;
fahrstunde[playerid] = false;
besichtigen[playerid] = false;
SendClientMessage(playerid, COLOR_WHITE," ");
SendClientMessage(playerid, COLOR_WHITE," ");
SendClientMessage(playerid, COLOR_WHITE," ");
SendClientMessage(playerid, COLOR_WHITE," ");
SendClientMessage(playerid, COLOR_WHITE," ");
SendClientMessage(playerid, COLOR_WHITE," ");
SendClientMessage(playerid, COLOR_WHITE," ");
SendClientMessage(playerid, COLOR_WHITE," ");
SendClientMessage(playerid, COLOR_WHITE," ");
SendClientMessage(playerid, COLOR_WHITE," ");
SendClientMessage(playerid,0xFFFFFFFF,"Du wurdest erfolgreich eingeloggt.");
//Was geladen werden soll
pInfo[playerid][geld] =dini_Int(save,"Geld");
pInfo[playerid][skin] =dini_Int(save,"Skin");
pInfo[playerid][admin] =dini_Int(save,"Adminlevel");
pInfo[playerid][premium] =dini_Int(save,"Premium");
pInfo[playerid][team] =dini_Int(save,"Team");
pInfo[playerid][leader] =dini_Int(save,"Leader");
pInfo[playerid][pBank] =dini_Int(save,"Kontostand");
pInfo[playerid][perso] =dini_Int(save,"Personalausweis");
pInfo[playerid][kampfstyle] =dini_Int(save,"Kampfstyle");
pInfo[playerid][autoschein] =dini_Int(save,"Autoschein");
pInfo[playerid][bootsschein] =dini_Int(save,"Bootsschein");
pInfo[playerid][truckschein] =dini_Int(save,"Truckschein");
pInfo[playerid][motorradschein] =dini_Int(save,"Motorradschein");
pInfo[playerid][quadschein] =dini_Int(save,"Quadschein");
pInfo[playerid][freischwimmer] =dini_Int(save,"Freischwimmer");
pInfo[playerid][flugzeugschein] =dini_Int(save,"Flugzeugschein");
pInfo[playerid][hausbesitzer] =dini_Int(save,"Hausbesitzer");
pInfo[playerid][pHandy] =dini_Int(save,"Handy");
pInfo[playerid][pCalling] =dini_Int(save,"Telefonieren");
pInfo[playerid][pHCash] =dini_Int(save,"Guthaben");
pInfo[playerid][pCallPlayerid] =dini_Int(save,"Anrufer");
pInfo[playerid][pHandyNr] =dini_Int(save,"Handynummer");
pInfo[playerid][tode] =dini_Int(save,"Gestorben");
pInfo[playerid][kills] =dini_Int(save,"Getötete");
pInfo[playerid][frank] =dini_Int(save,"Fraktionsrank");
pInfo[playerid][hunger] =dini_Int(save,"Hunger");
pInfo[playerid][energie] =dini_Int(save,"Energie");
pInfo[playerid][harndrang] =dini_Int(save,"Harndrang");
pInfo[playerid][pjob] =dini_Int(save,"Job");
pInfo[playerid][wochen] =dini_Int(save,"Wochen");
pInfo[playerid][monate] =dini_Int(save,"Monate");
pInfo[playerid][jahre] =dini_Int(save,"Jahre");
pInfo[playerid][payday] =dini_Int(save,"Payday");
pInfo[playerid][flensburgpunkte] =dini_Int(save,"Punkte in Flensburg");
SetTimerEx("Spawn",500,0,"i",playerid);
}
}
}
if(dialogid == 2)
{
if(response)
{
new save[128];
GetPlayerName(playerid,player,sizeof(player));
format(save,sizeof(save),"Spieler/%s.ini",player);
if(!strlen(inputtext))
{
new plname[MAX_PLAYER_NAME];
GetPlayerName(playerid, plname, sizeof(plname));
new wstring[250];
format(wstring, sizeof(wstring), "{FFFFFF}Wilkommen bei uns: {FF0000}%s \n{FFFFFF}Schön das du zu uns gefunden hast\n{FFFFFF}Du kannst dir nun einen Account erstellen\n{FF0000}Bitte gib unten dein gewünschtest Passwort ein!",plname);
ShowPlayerDialog(playerid,2,DIALOG_STYLE_INPUT,"Registrieren",wstring,"Weiter","Abbrechen"); return SendClientMessage(playerid,0xFFFFFFFF,"Das Passwort ist zu kurz!");
}
loggedin[playerid] = true;
hausinfo[playerid] = false;
helpdeskb[playerid] = false;
fahrstunde[playerid] = false;
besichtigen[playerid] = false;
dini_Create(save);
dini_Set(save,"Passwort",inputtext);
dini_IntSet(save,"Passwort",pInfo[playerid][passwort]);
SendClientMessage(playerid,0xFFFFFFFF,"Dein Account wurde angelegt und du wurdest eingeloggt.");
SetTimerEx("Spawn",500,0,"i",playerid);
}
}
return 1;
}
Connect steht nur das einer der beiden Dialoge aufgerufen werden soll ;D
und Disconnect:
public OnPlayerDisconnect(playerid, reason)
{
new name[128];
new save[128];
GetPlayerName(playerid,name,sizeof(name));
format(save,sizeof(save),"/Spieler/%s.ini",name);
if(dini_Exists(save))
{
dini_IntSet(save,"Geld",GetPlayerMoney(playerid));
dini_IntSet(save,"Skin",GetPlayerSkin(playerid));
dini_IntSet(save,"Kampfstyle",GetPlayerFightingStyle(playerid));
dini_IntSet(save,"Adminlevel",pInfo[playerid][admin]);
dini_IntSet(save,"Premium",pInfo[playerid][premium]);
dini_IntSet(save,"Team",pInfo[playerid][team]);
dini_IntSet(save,"Leader",pInfo[playerid][leader]);
dini_IntSet(save,"Kontostand",pInfo[playerid][pBank]);
dini_IntSet(save,"Personalausweis",pInfo[playerid][perso]);
dini_IntSet(save,"Autoschein",pInfo[playerid][autoschein]);
dini_IntSet(save,"Bootsschein",pInfo[playerid][bootsschein]);
dini_IntSet(save,"Truckschein",pInfo[playerid][truckschein]);
dini_IntSet(save,"Motorradschein",pInfo[playerid][motorradschein]);
dini_IntSet(save,"Quadschein",pInfo[playerid][quadschein]);
dini_IntSet(save,"Freischwimmer",pInfo[playerid][freischwimmer]);
dini_IntSet(save,"Flugzeugschein",pInfo[playerid][flugzeugschein]);
dini_IntSet(save,"Hausbesitzer",pInfo[playerid][hausbesitzer]);
dini_IntSet(save,"Handy",pInfo[playerid][pHandy]);
dini_IntSet(save,"Telefonieren",pInfo[playerid][pCalling]);
dini_IntSet(save,"Guthaben",pInfo[playerid][pHCash]);
dini_IntSet(save,"Anrufer",pInfo[playerid][pCallPlayerid]);
dini_IntSet(save,"Handynummer",pInfo[playerid][pHandyNr]);
dini_IntSet(save,"Gestorben",pInfo[playerid][tode]);
dini_IntSet(save,"Getötete",pInfo[playerid][kills]);
dini_IntSet(save,"Fraktionsrank",pInfo[playerid][frank]);
dini_IntSet(save,"Hunger",pInfo[playerid][hunger]);
dini_IntSet(save,"Energie",pInfo[playerid][energie]);
dini_IntSet(save,"Harndrang",pInfo[playerid][harndrang]);
dini_IntSet(save,"Job",pInfo[playerid][pjob]);
dini_IntSet(save,"Wochen",pInfo[playerid][wochen]);
dini_IntSet(save,"Monate",pInfo[playerid][monate]);
dini_IntSet(save,"Jahre",pInfo[playerid][jahre]);
dini_IntSet(save,"Payday",pInfo[playerid][payday]);
dini_IntSet(save,"Punkte in Flensburg",pInfo[playerid][flensburgpunkte]);
dini_IntSet(save,"Drogen",pInfo[playerid][drogen]);
dini_IntSet(save,"Gebannt_von",pInfo[playerid][von]);
dini_IntSet(save,"Grund",pInfo[playerid][grund]);
dini_IntSet(save,"Gebannt",pInfo[playerid][ban]);
}
return 1;
}
Das selbe brauche ich auch für mein ban system nur ohne verschlüsselung also
wenn man gebannt wiurd soll der Grund und der der gabannt hat gespeichert werden also auch ein string.
Meine frage ist nur wie spüeichere ich den Passwort string und lade denn?
mfg
String speichern dini?
- lollipop
- Geschlossen
- Erledigt
-
-
dini_IntSet(save,"Passwort",pInfo[playerid][passwort]);
Ich versteh immernoch nicht warum du dini_IntSet bei einem String machst?!
Passwort ist doch normal ein String. -
dini_Set heißt das doch für Strings soviel ich weiß!?
-
Genau das meine ich ja.
Erst speichert er einen String, dann Integer mit dem Key "Passwort".
Eigentlich müsste da ja ein Warning kommen, weil wenn Passwort String ist, kommt ein Warning bei dini_IntSet, wenn Passwort Integer ist, müsste der Warning bei dini_Set kommen. -
Dann speicher das Passwort doch einfach nicht als Integer ab, sondern als String weil du weißt ja eh nicht ob der Spieler nur Zahlen oder Zahlen & Buchstaben verwendet. String ist für Passwörter eig in dem dini fall Typisch.
-
Also muss cih aus:
dini_IntSet(save,"Passwort",pInfo[playerid][passwort]);
das machen:
dini_Set(save,"Passwort",pInfo[playerid][passwort]);
oder?
ich habe es jetzt so aber dann ist das Passwort feld komplett leer in der ini.
mfg -
Stand vorher was in der .ini?
-
ja 0 oder 1 ;D
halt nicht das pw und man konnte sich mit jedem pw einloggen jetzt kann ich mich mit keinem pw mehr einloggen.
mfg -
Account neu erstellen, und wenn du mit LoH arbeitest die User Dateien nicht mit dem Windows Editor bearbeiten! Nur mit notepad++, sonst ist dein Passwort gleich wieder weg Hab ich viel Erfahrung mit^^
-
Ok danke ;D
nein ich arbeite an einem Selfmade island reallife du kannst dir gerne einmal mein Benutzerprofil durchlesen ;D
Währe es ein LoH dann währe es im Godfather berreich ich bin lang genug im Forum um das zu wissen ;D
Ich werde es mal probieren.
mfg
//edit habe es jetzt erneut probiert.
Ich habe es auch mit notepad geöffnet jedoch steht da trotzdem kein Passwort.
Hier mein aktueller Code:
Disconnect
format(save,sizeof(save),"/Spieler/%s.ini",name);
if(dini_Exists(save))
{
dini_IntSet(save,"Geld",GetPlayerMoney(playerid));
dini_IntSet(save,"Skin",GetPlayerSkin(playerid));
dini_IntSet(save,"Kampfstyle",GetPlayerFightingStyle(playerid));
dini_IntSet(save,"Adminlevel",pInfo[playerid][admin]);
dini_IntSet(save,"Premium",pInfo[playerid][premium]);
dini_IntSet(save,"Team",pInfo[playerid][team]);
dini_IntSet(save,"Leader",pInfo[playerid][leader]);
dini_IntSet(save,"Kontostand",pInfo[playerid][pBank]);
dini_IntSet(save,"Personalausweis",pInfo[playerid][perso]);
dini_IntSet(save,"Autoschein",pInfo[playerid][autoschein]);
dini_IntSet(save,"Bootsschein",pInfo[playerid][bootsschein]);
dini_IntSet(save,"Truckschein",pInfo[playerid][truckschein]);
dini_IntSet(save,"Motorradschein",pInfo[playerid][motorradschein]);
dini_IntSet(save,"Quadschein",pInfo[playerid][quadschein]);
dini_IntSet(save,"Freischwimmer",pInfo[playerid][freischwimmer]);
dini_IntSet(save,"Flugzeugschein",pInfo[playerid][flugzeugschein]);
dini_IntSet(save,"Hausbesitzer",pInfo[playerid][hausbesitzer]);
dini_IntSet(save,"Handy",pInfo[playerid][pHandy]);
dini_IntSet(save,"Telefonieren",pInfo[playerid][pCalling]);
dini_IntSet(save,"Guthaben",pInfo[playerid][pHCash]);
dini_IntSet(save,"Anrufer",pInfo[playerid][pCallPlayerid]);
dini_IntSet(save,"Handynummer",pInfo[playerid][pHandyNr]);
dini_IntSet(save,"Gestorben",pInfo[playerid][tode]);
dini_IntSet(save,"Getötete",pInfo[playerid][kills]);
dini_IntSet(save,"Fraktionsrank",pInfo[playerid][frank]);
dini_IntSet(save,"Hunger",pInfo[playerid][hunger]);
dini_IntSet(save,"Energie",pInfo[playerid][energie]);
dini_IntSet(save,"Harndrang",pInfo[playerid][harndrang]);
dini_IntSet(save,"Job",pInfo[playerid][pjob]);
dini_IntSet(save,"Wochen",pInfo[playerid][wochen]);
dini_IntSet(save,"Monate",pInfo[playerid][monate]);
dini_IntSet(save,"Jahre",pInfo[playerid][jahre]);
dini_IntSet(save,"Payday",pInfo[playerid][payday]);
dini_IntSet(save,"Punkte in Flensburg",pInfo[playerid][flensburgpunkte]);
dini_IntSet(save,"Drogen",pInfo[playerid][drogen]);
dini_IntSet(save,"Gebannt_von",pInfo[playerid][von]);
dini_IntSet(save,"Grund",pInfo[playerid][grund]);
dini_IntSet(save,"Gebannt",pInfo[playerid][ban]);
}
Dialog Response:
if(dialogid == 1)
{
if(response)
{
new save[128];
GetPlayerName(playerid,player,sizeof(player));
format(save,sizeof(save),"Spieler/%s.ini",player);
if(!strlen(inputtext))
{
new plname[MAX_PLAYER_NAME];
GetPlayerName(playerid, plname, sizeof(plname));
new wstring[250];
format(wstring, sizeof(wstring), "{FFFFFF}Wilkommen zurück: {FF0000}%s \n{FFFFFF}Schön das du uns wieder besuchst\n{FFFFFF}Du kannst dich nun einloggen\n{FF0000}Gib bitte dein Passwort unten ein!",plname);
ShowPlayerDialog(playerid,1,DIALOG_STYLE_INPUT,"Login",wstring,"Weiter","Abbrechen");
return SendClientMessage(playerid,0xFFFFFFFF,"Kein Passwort angegeben!");
}
else if(strcmp(inputtext,dini_Get(save,"Passwort")) != 0)
{
ShowPlayerDialog(playerid,1,DIALOG_STYLE_INPUT,"Login","{FFFFFF}Dein Passwort ist falsch! \nFalls dies nicht dein Account ist\nverlasse das Spiel ändere deinen Nicknamen\nund connecte erneut.\nDu kannst dir dann sofort einenn neuen Account erstellen.","Weiter","Abbrechen");
SendClientMessage(playerid,0xFFFFFFFF,"Das Passwort war Falsch!");
}
else if(strcmp(inputtext,dini_Get(save,"Passwort")) == 0)
{
loggedin[playerid] = true;
hausinfo[playerid] = false;
helpdeskb[playerid] = false;
fahrstunde[playerid] = false;
besichtigen[playerid] = false;
SendClientMessage(playerid, COLOR_WHITE," ");
SendClientMessage(playerid, COLOR_WHITE," ");
SendClientMessage(playerid, COLOR_WHITE," ");
SendClientMessage(playerid, COLOR_WHITE," ");
SendClientMessage(playerid, COLOR_WHITE," ");
SendClientMessage(playerid, COLOR_WHITE," ");
SendClientMessage(playerid, COLOR_WHITE," ");
SendClientMessage(playerid, COLOR_WHITE," ");
SendClientMessage(playerid, COLOR_WHITE," ");
SendClientMessage(playerid, COLOR_WHITE," ");
SendClientMessage(playerid,0xFFFFFFFF,"Du wurdest erfolgreich eingeloggt.");
//Was geladen werden soll
pInfo[playerid][geld] =dini_Int(save,"Geld");
pInfo[playerid][skin] =dini_Int(save,"Skin");
pInfo[playerid][admin] =dini_Int(save,"Adminlevel");
pInfo[playerid][premium] =dini_Int(save,"Premium");
pInfo[playerid][team] =dini_Int(save,"Team");
pInfo[playerid][leader] =dini_Int(save,"Leader");
pInfo[playerid][pBank] =dini_Int(save,"Kontostand");
pInfo[playerid][perso] =dini_Int(save,"Personalausweis");
pInfo[playerid][kampfstyle] =dini_Int(save,"Kampfstyle");
pInfo[playerid][autoschein] =dini_Int(save,"Autoschein");
pInfo[playerid][bootsschein] =dini_Int(save,"Bootsschein");
pInfo[playerid][truckschein] =dini_Int(save,"Truckschein");
pInfo[playerid][motorradschein] =dini_Int(save,"Motorradschein");
pInfo[playerid][quadschein] =dini_Int(save,"Quadschein");
pInfo[playerid][freischwimmer] =dini_Int(save,"Freischwimmer");
pInfo[playerid][flugzeugschein] =dini_Int(save,"Flugzeugschein");
pInfo[playerid][hausbesitzer] =dini_Int(save,"Hausbesitzer");
pInfo[playerid][pHandy] =dini_Int(save,"Handy");
pInfo[playerid][pCalling] =dini_Int(save,"Telefonieren");
pInfo[playerid][pHCash] =dini_Int(save,"Guthaben");
pInfo[playerid][pCallPlayerid] =dini_Int(save,"Anrufer");
pInfo[playerid][pHandyNr] =dini_Int(save,"Handynummer");
pInfo[playerid][tode] =dini_Int(save,"Gestorben");
pInfo[playerid][kills] =dini_Int(save,"Getötete");
pInfo[playerid][frank] =dini_Int(save,"Fraktionsrank");
pInfo[playerid][hunger] =dini_Int(save,"Hunger");
pInfo[playerid][energie] =dini_Int(save,"Energie");
pInfo[playerid][harndrang] =dini_Int(save,"Harndrang");
pInfo[playerid][pjob] =dini_Int(save,"Job");
pInfo[playerid][wochen] =dini_Int(save,"Wochen");
pInfo[playerid][monate] =dini_Int(save,"Monate");
pInfo[playerid][jahre] =dini_Int(save,"Jahre");
pInfo[playerid][payday] =dini_Int(save,"Payday");
pInfo[playerid][flensburgpunkte] =dini_Int(save,"Punkte in Flensburg");
SetTimerEx("Spawn",500,0,"i",playerid);
}
}
}
if(dialogid == 2)
{
if(response)
{
new save[128];
GetPlayerName(playerid,player,sizeof(player));
format(save,sizeof(save),"Spieler/%s.ini",player);
if(!strlen(inputtext))
{
new plname[MAX_PLAYER_NAME];
GetPlayerName(playerid, plname, sizeof(plname));
new wstring[250];
format(wstring, sizeof(wstring), "{FFFFFF}Wilkommen bei uns: {FF0000}%s \n{FFFFFF}Schön das du zu uns gefunden hast\n{FFFFFF}Du kannst dir nun einen Account erstellen\n{FF0000}Bitte gib unten dein gewünschtest Passwort ein!",plname);
ShowPlayerDialog(playerid,2,DIALOG_STYLE_INPUT,"Registrieren",wstring,"Weiter","Abbrechen"); return SendClientMessage(playerid,0xFFFFFFFF,"Das Passwort ist zu kurz!");
}
loggedin[playerid] = true;
hausinfo[playerid] = false;
helpdeskb[playerid] = false;
fahrstunde[playerid] = false;
besichtigen[playerid] = false;
dini_Create(save);
dini_Set(save,"Passwort",inputtext);
dini_Set(save,"Passwort",pInfo[playerid][passwort]);
SendClientMessage(playerid,0xFFFFFFFF,"Dein Account wurde angelegt und du wurdest eingeloggt.");
SetTimerEx("Spawn",500,0,"i",playerid);
}
}
mfg -
dini_Set(save,"Passwort",pInfo[playerid][passwort]);
Das noch unter OnPlayerDisconnect, oder da wo du die PlayerVaribalen eben speicherst.
dini_Set(save,"Passwort",inputtext);
dini_Set(save,"Passwort",pInfo[playerid][passwort]);Warum zwei mal?
//Edit Mach so:
dini_Set(save,"Passwort",inputtext);
format(pInfo[playerid][passwort], sizeof(inputtext), inputtext);
Sonst wäre die Variable passwort ja wieder ein leerer String -
Danke für die schnelle hilfe.
Jetzt habe ich ein Problem undzwar das:
C:\Users\Sven\Desktop\Selfmade rl\gamemodes\Selfmade.pwn(5861) : warning 224: indeterminate array size in "sizeof" expression (symbol "")
Es ist in der Zeile:
format(pInfo[playerid][passwort], sizeof(inputtext), inputtext);
//edit habe die Warningzeile auskommentiert habe es getestet.
Es wird trotzdem kein Passwort gespeichert. Es sieht so aus:
Passwort=
egal ob mit notepad oder editor.
mfg -
Ja wenn du die Warningzeile auskommentierst und den Server verlässt, dann wird ja wieder ein leerer String in die Variable reingeschrieben, weil pInfo[playerid][passwort] immernoch ein leerer String ist.
dann mach eben: statt dem format(pInfo[playerid][passwort, sizeof(inputtext)...);
Das:
strmid(pInfo[playerid][passwort], inputtext, 0, strlen(inputtext)-1, 255);Ich seh gerade, dass du beim einloggen das Passwort garnicht lädst...
Also noch zu den anderen dini_Int usw bei if(dialogid == 1):
new length = strlen(dini_Get(save, "Passwort"));
strmid(pInfo[playerid][passwort], dini_Get(save, "Passwort"), 0, length-1, 255);Und beim Disconnecten:
dini_Set(save, "Passwort", pInfo[playerid][passwort]); Falls du das nicht schon hast.
Dir fehlen die einfachsten Basics.
-
Danke ;D jez wird das Passwort gespeichert und geladen.
Nur das Problem ist jetzt kannn ich mich mit jedem Passwort einloggen.
Wie muss es richtig sein? Hier der Code:
entfernt
//edit alten Code entfernt+neuen Text
So habs jetzt so das alles gespeichert wird.
Jetzt kann ich mich aber nicht mehr eibnloggen da steht immer falsches pw.
Es sieht nun wie folgt aus:
if(dialogid == 1)
{
if(response)
{
new pw;
pw = strval(inputtext);
new save[128];
GetPlayerName(playerid,player,sizeof(player));
format(save,sizeof(save),"Spieler/%s.ini",player);
if(!strlen(inputtext))
{
new plname[MAX_PLAYER_NAME];
GetPlayerName(playerid, plname, sizeof(plname));
new wstring[250];
format(wstring, sizeof(wstring), "{FFFFFF}Wilkommen zurück: {FF0000}%s \n{FFFFFF}Schön das du uns wieder besuchst\n{FFFFFF}Du kannst dich nun einloggen\n{FF0000}Gib bitte dein Passwort unten ein!",plname);
ShowPlayerDialog(playerid,1,DIALOG_STYLE_INPUT,"Login",wstring,"Weiter","Abbrechen");
return SendClientMessage(playerid,0xFFFFFFFF,"Kein Passwort angegeben!");
}
if(pInfo[playerid][passwort] != pw)
{
ShowPlayerDialog(playerid,1,DIALOG_STYLE_INPUT,"Login","{FFFFFF}Dein Passwort ist falsch! \nFalls dies nicht dein Account ist\nverlasse das Spiel ändere deinen Nicknamen\nund connecte erneut.\nDu kannst dir dann sofort einenn neuen Account erstellen.","Weiter","Abbrechen");
SendClientMessage(playerid,0xFFFFFFFF,"Das Passwort war Falsch!");
}
else if(pInfo[playerid][passwort] == pw)
{
loggedin[playerid] = true;
hausinfo[playerid] = false;
helpdeskb[playerid] = false;
fahrstunde[playerid] = false;
besichtigen[playerid] = false;
SendClientMessage(playerid, COLOR_WHITE," ");
SendClientMessage(playerid, COLOR_WHITE," ");
SendClientMessage(playerid, COLOR_WHITE," ");
SendClientMessage(playerid, COLOR_WHITE," ");
SendClientMessage(playerid, COLOR_WHITE," ");
SendClientMessage(playerid, COLOR_WHITE," ");
SendClientMessage(playerid, COLOR_WHITE," ");
SendClientMessage(playerid, COLOR_WHITE," ");
SendClientMessage(playerid, COLOR_WHITE," ");
SendClientMessage(playerid, COLOR_WHITE," ");
SendClientMessage(playerid,0xFFFFFFFF,"Du wurdest erfolgreich eingeloggt.");
//Was geladen werden soll
pInfo[playerid][geld] =dini_Int(save,"Geld");
pInfo[playerid][skin] =dini_Int(save,"Skin");
pInfo[playerid][admin] =dini_Int(save,"Adminlevel");
pInfo[playerid][premium] =dini_Int(save,"Premium");
pInfo[playerid][team] =dini_Int(save,"Team");
pInfo[playerid][leader] =dini_Int(save,"Leader");
pInfo[playerid][pBank] =dini_Int(save,"Kontostand");
pInfo[playerid][perso] =dini_Int(save,"Personalausweis");
pInfo[playerid][kampfstyle] =dini_Int(save,"Kampfstyle");
pInfo[playerid][autoschein] =dini_Int(save,"Autoschein");
pInfo[playerid][bootsschein] =dini_Int(save,"Bootsschein");
pInfo[playerid][truckschein] =dini_Int(save,"Truckschein");
pInfo[playerid][motorradschein] =dini_Int(save,"Motorradschein");
pInfo[playerid][quadschein] =dini_Int(save,"Quadschein");
pInfo[playerid][freischwimmer] =dini_Int(save,"Freischwimmer");
pInfo[playerid][flugzeugschein] =dini_Int(save,"Flugzeugschein");
pInfo[playerid][hausbesitzer] =dini_Int(save,"Hausbesitzer");
pInfo[playerid][pHandy] =dini_Int(save,"Handy");
pInfo[playerid][pCalling] =dini_Int(save,"Telefonieren");
pInfo[playerid][pHCash] =dini_Int(save,"Guthaben");
pInfo[playerid][pCallPlayerid] =dini_Int(save,"Anrufer");
pInfo[playerid][pHandyNr] =dini_Int(save,"Handynummer");
pInfo[playerid][tode] =dini_Int(save,"Gestorben");
pInfo[playerid][kills] =dini_Int(save,"Getötete");
pInfo[playerid][frank] =dini_Int(save,"Fraktionsrank");
pInfo[playerid][hunger] =dini_Int(save,"Hunger");
pInfo[playerid][energie] =dini_Int(save,"Energie");
pInfo[playerid][harndrang] =dini_Int(save,"Harndrang");
pInfo[playerid][pjob] =dini_Int(save,"Job");
pInfo[playerid][wochen] =dini_Int(save,"Wochen");
pInfo[playerid][monate] =dini_Int(save,"Monate");
pInfo[playerid][jahre] =dini_Int(save,"Jahre");
pInfo[playerid][payday] =dini_Int(save,"Payday");
pInfo[playerid][flensburgpunkte] =dini_Int(save,"Punkte in Flensburg");
SetTimerEx("Spawn",500,0,"i",playerid);
}
}
} -
WTF! Wiso machst du aus dem Passwort immer einen Integer Wert?!!
Das Passwort ist ein STRING, also eine Zeichenkette und KEINE Zahl!
new pw;
pw = strval(inputtext);Völlig unsinnig -.-
if(pInfo[playerid][passwort] != pw)
Diese Bedinung kann NICHT erfüllt sein, da das Passwort noch nicht in pInfo[playerid][passwort] geladen ist!!!
so:
new save[128];
GetPlayerName(playerid,player,sizeof(player));
format(save,sizeof(save),"Spieler/%s.ini",player);
format(pInfo[playerid][passwort], 50, dini_Get(save, "Passwort"));
if(!strlen(inputtext))
{
new plname[MAX_PLAYER_NAME];
GetPlayerName(playerid, plname, sizeof(plname));
new wstring[250];
format(wstring, sizeof(wstring), "{FFFFFF}Wilkommen zurück: {FF0000}%s \n{FFFFFF}Schön das du uns wieder besuchst\n{FFFFFF}Du kannst dich nun einloggen\n{FF0000}Gib bitte dein Passwort unten ein!",plname);
ShowPlayerDialog(playerid,1,DIALOG_STYLE_INPUT,"Login",wstring,"Weiter","Abbrechen");
return SendClientMessage(playerid,0xFFFFFFFF,"Kein Passwort angegeben!");
}
if(strcmp(inputtext, pInfo[playerid][passwort], true))
{
ShowPlayerDialog(playerid,1,DIALOG_STYLE_INPUT,"Login","{FFFFFF}Dein Passwort ist falsch! \nFalls dies nicht dein Account ist\nverlasse das Spiel ändere deinen Nicknamen\nund connecte erneut.\nDu kannst dir dann sofort einenn neuen Account erstellen.","Weiter","Abbrechen");
SendClientMessage(playerid,0xFFFFFFFF,"Das Passwort war Falsch!");
}
else
{
//...Ist das denn so schwer?
Das musst du doch können wie hast du denn sonst über 500 Beiträge gesammelt?
Du hast den Rank Profi! -
Es tut mir leid das ich soetwas frage nur was da steht mit profi heißt nicht gleich das ich alles lkann.
Erspammt habe ich sie aber nicht. Naja egal.
Ich habs es jetzt soweit verstanden jedoch wird jetzt immer falsches passwort angezeigt wenn ich nur die else abfrage drinnen habe
und wenn ich statt else das mache:
else if(strcmp(inputtext, pInfo[playerid][passwort], false))
Steht auch immer falsches passwort. Habe es auch so probiert:
else if(strcmp(inputtext, pInfo[playerid][passwort], true))
und bei der andere false etc.
So sieht der Code jez aus:
if(dialogid == 1)
{
if(response)
{
new save[128];
GetPlayerName(playerid,player,sizeof(player));
format(save,sizeof(save),"Spieler/%s.ini",player);
format(pInfo[playerid][passwort], 50, dini_Get(save, "Passwort"));
if(!strlen(inputtext))
{
new plname[MAX_PLAYER_NAME];
GetPlayerName(playerid, plname, sizeof(plname));
new wstring[250];
format(wstring, sizeof(wstring), "{FFFFFF}Wilkommen zurück: {FF0000}%s \n{FFFFFF}Schön das du uns wieder besuchst\n{FFFFFF}Du kannst dich nun einloggen\n{FF0000}Gib bitte dein Passwort unten ein!",plname);
ShowPlayerDialog(playerid,1,DIALOG_STYLE_INPUT,"Login",wstring,"Weiter","Abbrechen");
return SendClientMessage(playerid,0xFFFFFFFF,"Kein Passwort angegeben!");
}
if(strcmp(inputtext, pInfo[playerid][passwort], true))
{
ShowPlayerDialog(playerid,1,DIALOG_STYLE_INPUT,"Login","{FFFFFF}Dein Passwort ist falsch! \nFalls dies nicht dein Account ist\nverlasse das Spiel ändere deinen Nicknamen\nund connecte erneut.\nDu kannst dir dann sofort einenn neuen Account erstellen.","Weiter","Abbrechen");
SendClientMessage(playerid,0xFFFFFFFF,"Das Passwort war Falsch!");
}
else if(strcmp(inputtext, pInfo[playerid][passwort], false))
{
//... -
if(strcmp(inputtext, pInfo[playerid][passwort], true))
else if(strcmp(inputtext, pInfo[playerid][passwort], false))Unterschied? Schwachsinn.
true in strcmp = Nicht case sensitive.
false in strcmp = case sensitive.strcmp liefert 0 zurück, wenn die Strings übereinstimmen, 1 wenn nicht, also muss das so heißen, wenn du das unbedingt mit else if machen willst...
if(strcmp(inputtext, pInfo[playerid][passwort], true))
{
ShowPlayerDialog(playerid,1,DIALOG_STYLE_INPUT,"Login","{FFFFFF}Dein Passwort ist falsch! \nFalls dies nicht dein Account ist\nverlasse das Spiel ändere deinen Nicknamen\nund connecte erneut.\nDu kannst dir dann sofort einenn neuen Account erstellen.","Weiter","Abbrechen");
SendClientMessage(playerid,0xFFFFFFFF,"Das Passwort war Falsch!");
}
else if(!strcmp(inputtext, pInfo[playerid][passwort], true))
//... -
breadfish.de
Hat das Thema geschlossen.