Ich habe ein kleines/grosses Problem!
Ich habe das Login/Registersysten von MrMonat Tutorials gemacht doch wird in der account datei nur das passwort gespeichert!
Es ist sehr wichtig!
Benötigt ihr Scriptschnitzel?
Mfg Chris
Ich habe ein kleines/grosses Problem!
Ich habe das Login/Registersysten von MrMonat Tutorials gemacht doch wird in der account datei nur das passwort gespeichert!
Es ist sehr wichtig!
Benötigt ihr Scriptschnitzel?
Mfg Chris
erstmal dein Problem ist das er nur das PW speichert richtig?
2. Das Vögelchen was mir den Code zwitschert ist zur Zeit leider im Urlaub....
was?
Ja nur das pw speichert?
mit dem 2. habe ich ausgedrückt das wir schon den code brauchen... nur nicht mit der üblichen Glaskugel
Schick am besten die Zeilen
Gibt's Errors wegen dini?
Falls ja, nimm mal ne ältere Version.
Die allerneuste, die ich damals verwendet habe, hatte mir immer Errors ausgespuckt.
Hab eine frühere Version genommen, und hat geklappt
Ich habe jez hier mal alles was mit Accounts zutun hat!
stock register(playerid,key[])
{
dini_IntSet(Spielerdatei,"PayDay",0); // dini_IntSet bedeutet ganz einfach, das es in der .txd datei eine neue Zeile anlegt, Da steht dann: Payday= und dann die 0, die wir hier "PayDay",0 gesetzt haben wir wollen ja das er bei 0 Anfängt. Natürlich kann man auch eine andere Zahl setzten ;)
dini_IntSet(Spielerdatei,"Monate",0);//hier das gleiche spiel, nur mit einer anderen Variable, und zwar Monate. Später mehr.
}
stock SpielerName(playerid)
{
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
return name;
}
stock Register(playerid,key[])
{
new Spielerdatei[64];
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.ini",name);
dini_Create(Spielerdatei);
dini_Set(Spielerdatei,"Passwort",key);
SendClientMessage(playerid,BLAU,"Erfolgreich registriert.");
//GivePlayerMoney(playerid,50000);
SetPlayerScore(playerid,0);
SetPVarInt(playerid,"loggedin",1);
SetPVarInt(playerid,"Fraktion",0);
SetPVarInt(playerid,"PayDay",0);
SetPVarInt(playerid,"Monate",0);//
SetPVarInt(playerid,"Wanteds",0);
return 1;
}
stock Login(playerid,key[])
{
new Spielerdatei[64];
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.ini",name);
if(!strcmp(key,dini_Get(Spielerdatei,"Passwort"),false))
{
LoadAccount(playerid);
SendClientMessage(playerid,BLAU,"Erfolgreich eingeloggt.");
return 1;
}
else
{
SendClientMessage(playerid,BLAU,"Falsches Passwort.");
ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"Login","Dein Account wurde gefunden. Gib bitte das Passwort ein.","Login","Abbrechen");
return 1;
}
}
stock LoadAccount(playerid)
{
new Spielerdatei[64];
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
format(Spielerdatei,sizeof(Spielerdatei),"Accounts/%s.ini",name);
SetPlayerScore(playerid,dini_Int(Spielerdatei,"Level"));
GivePlayerMoney(playerid,dini_Int(Spielerdatei,"Geld"));
SetPlayerSkin(playerid,dini_Int(Spielerdatei,"Skin"));
SetPVarInt(playerid,"Adminlevel",dini_Int(Spielerdatei,"Adminlevel"));
SetPVarInt(playerid,"Fraktion",dini_Int(Spielerdatei,"Fraktion"));
SetPVarInt(playerid,"Wanteds",dini_Int(Spielerdatei,"Wanteds"));
SetPVarInt(playerid,"Baned",dini_Int(Spielerdatei,"Baned"));
if(GetPVarInt(playerid,"Baned")==1)
{
SendClientMessage(playerid,ROT,"Du bist vom Server gebannt.");
Kick(playerid);
}
SetPVarInt(playerid,"loggedin",1);
SetPVarInt(playerid,"PayDay",dini_Int(Spielerdatei,"PayDay"));//Er soll aus der Spielerdatei den PayDay einstellen bzw. die Zahl vergeben (SetPVarInt). Übrigens bedeutet das Int=Integer. Das heißt Zahl. Also wenn ihr was mit Int macht, dann wird es als Zahl gespeichert. Also: SetPVarInt(playerid,"PayDay" heißt das er die Payday Variable einstellen (Set) soll. Danach steht wo er diese Information hernehmen kann, also aus der Spielerdatei, Zeile PayDay.
SetPVarInt(playerid,"Monate",dini_Int(Spielerdatei,"Monate"));//hier das selbe nur mit den monaten
SpawnPlayer(playerid);// Er wird jetzt nachdem der accouznt geladen ist gespawnt
dini_IntSet(Spielerdatei,"PayDay",GetPVarInt(playerid,"PayDay")); //dini_IntSet bedeutet das er eine Zahl in die Name.txd datei eintragen soll, in der Zeile PayDay, GetPVar, damit gibt er die Zahl die er dann speichert.
dini_IntSet(Spielerdatei,"Monate",GetPVarInt(playerid,"Monate"));//hier das selbe für monate
return 1;
}
stock SpielerSpeichern(playerid)
{
if(GetPVarInt(playerid,"loggedin")==1)
{
new Spielerdatei[64];
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
format(Spielerdatei,sizeof(Spielerdatei),"Accounts/%s.ini",name);
dini_IntSet(Spielerdatei,"Level",GetPlayerScore(playerid));
dini_IntSet(Spielerdatei,"Skin",GetPlayerSkin(playerid));
dini_IntSet(Spielerdatei,"Geld",GetPlayerMoney(playerid));
dini_IntSet(Spielerdatei,"Adminlevel",GetPVarInt(playerid,"Adminlevel"));
dini_IntSet(Spielerdatei,"Fraktion",GetPVarInt(playerid,"Fraktion"));
dini_IntSet(Spielerdatei,"Wanteds",GetPVarInt(playerid,"Wanteds"));
dini_IntSet(Spielerdatei,"Baned",GetPVarInt(playerid,"Baned"));
}
return 1;
}
Schonmal an die Funktion
dini_Create(file[]);
gedacht?
Wie will er was schreiben, wenn die Datei nichtmal existiert?
//EDIT: Außerdem hast du
stock Register
2x
stock Register(playerid,key[])
{
new Spielerdatei[64];
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
format(Spielerdatei,sizeof(Spielerdatei),"/Benutzer/%s.txt",name);
dini_Create(Spielerdatei);
dini_Set(Spielerdatei,"Passwort",key);
SendClientMessage(playerid,Blau,"Danke das sie sich bei GTA-PP Regestriert haben");
SetPlayerScore(playerid,0);
dini_IntSet(Spielerdatei,"PayDay",0);
dini_IntSet(Spielerdatei,"Monate",0);
dini_IntSet(Spielerdatei,"Geld",10000);
dini_IntSet(Spielerdatei,"Level",0);
dini_IntSet(Spielerdatei,"Adminlevel",0);
dini_IntSet(Spielerdatei,"Fraktion",0);
dini_IntSet(Spielerdatei,"Banned",0);
dini_IntSet(Spielerdatei,"Skin",26);
SetPlayerSkin(playerid,26);
return 1;
}
stock Login(playerid,key[])
{
new Spielerdatei[64];
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
format(Spielerdatei,sizeof(Spielerdatei),"/Benutzer/%s.txt",name);
if(!strcmp(key,dini_Get(Spielerdatei,"Passwort"),false))
{
LoadAccount(playerid);
SendClientMessage(playerid,Blau,"Willkommen zurück bei GTA-PowerPlay");
return 1;
}
else
{
SendClientMessage(playerid,Blau,"Das Passwort war Falsch versuch es erneut");
ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"Login bei GTA-PP","Der Account wurde wieder gefunden gib nun dein Passwort ein","Einloggen","Abbrechen");
return 1;
}
}
stock LoadAccount(playerid)
{
new Spielerdatei[64];
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
format(Spielerdatei,sizeof(Spielerdatei),"/Benutzer/%s.txt",name);
SetPlayerScore(playerid,dini_Int(Spielerdatei,"Level"));
GivePlayerMoney(playerid,dini_Int(Spielerdatei,"Geld"));
SetPVarInt(playerid,"Adminlevel",dini_Int(Spielerdatei,"Adminlevel"));
SetPVarInt(playerid,"Fraktion",dini_Int(Spielerdatei,"Fraktion"));
SetPVarInt(playerid,"Baned",dini_Int(Spielerdatei,"Baned"));
SetPVarInt(playerid,"Vehicl",dini_Int(Spielerdatei,"Vehicl"));
SetPlayerSkin(playerid,dini_Int(Spielerdatei,"Skin"));
SetPVarInt(playerid,"PayDay",dini_Int(Spielerdatei,"PayDay"));
SetPVarInt(playerid,"Monate",dini_Int(Spielerdatei,"Monate"));
SetPVarInt(playerid,"bantime",dini_Int(Spielerdatei,"bantime"));
if(GetPVarInt(playerid,"bantime") > gettime())
{
new string[128];
format(string,sizeof(string),"Bantime: {00FF00}%i",GetPVarInt(playerid,"bantime"));
SendClientMessage(playerid,0xEB0000D9,"Du bist noch vom Server gebannt. Du bist gebannt bis:");
SendClientMessage(playerid,0xEB0000D9,string);
Kick(playerid);
}
if(GetPVarInt(playerid,"Vehicl") > -1)
{
new Float:x,Float:y,Float:z;
x = dini_Float(Spielerdatei,"X");
y = dini_Float(Spielerdatei,"Y");
z = dini_Float(Spielerdatei,"Z");
CreateVehicle(GetPVarInt(playerid,"Vehicl") ,x, y, z, -1, 1, 1, -1);
}
if(GetPVarInt(playerid,"Baned")==1)
{
SendClientMessage(playerid,Rot,"Du bist Gebannt");
SendClientMessage(playerid,Rot,"Den Grund kannst du im Forum lesen");
SendClientMessage(playerid,Rot,"Bei einwänden oder fehlbann melde dich im Forum");
SendClientMessage(playerid,Rot,"In den Supportbereich");
SendClientMessage(playerid,Rot,"www.gta-powerplay.tk");
Kick(playerid);
}
SetPVarInt(playerid,"loggedin",1);
return 1;
}
stock SpielerSpeichern(playerid)
{
if(GetPVarInt(playerid,"loggedin")==1)
{
new Spielerdatei[64];
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
format(Spielerdatei,sizeof(Spielerdatei),"/Benutzer/%s.txt",name);
dini_IntSet(Spielerdatei,"Level",GetPlayerScore(playerid));
dini_IntSet(Spielerdatei,"Geld",GetPlayerMoney(playerid));
dini_IntSet(Spielerdatei,"Adminlevel",GetPVarInt(playerid,"Adminlevel"));
dini_IntSet(Spielerdatei,"Fraktion",GetPVarInt(playerid,"Fraktion"));
dini_IntSet(Spielerdatei,"Baned",GetPVarInt(playerid,"Baned"));
dini_IntSet(Spielerdatei,"Vehicl",GetPVarInt(playerid,"Vehicl"));
dini_IntSet(Spielerdatei,"Skin",GetPlayerSkin(playerid));
dini_IntSet(Spielerdatei,"PayDay",GetPVarInt(playerid,"PayDay"));
dini_IntSet(Spielerdatei,"Monate",GetPVarInt(playerid,"Monate"));
dini_IntSet(Spielerdatei,"bantime",GetPVarInt(playerid,"bantime"));
}
return 1;
}
Und du musst noch einen ordner anlegen mit dem namen wie im script Glaub ich
Dini_Create ist doch im stock Register vorhanden?
Mfg Chris
Ja Scriptfiles ist vorhanden Der Ordner Accounts auch ich sagte doch die datei mit dem PW wird created
//edit Habe den ersten registerstock gelöscht trotzdem wie vorher!
Mfg Chris
Nimm mal das von mir das ist zu 100% identisch mit deinen
nur im Scriptfiles Ordner den Ordner Benutzer anlegen
Jetzt bekomme ich irgendiwe 10 errors mit SpielerNAme?
C:\Users\Christian\Desktop\Scripting lernen\Die .pwn Dateien\tutorial.pwn(217) : error 017: undefined symbol "SpielerName"
C:\Users\Christian\Desktop\Scripting lernen\Die .pwn Dateien\tutorial.pwn(264) : error 017: undefined symbol "SpielerName"
C:\Users\Christian\Desktop\Scripting lernen\Die .pwn Dateien\tutorial.pwn(266) : error 017: undefined symbol "SpielerName"
C:\Users\Christian\Desktop\Scripting lernen\Die .pwn Dateien\tutorial.pwn(281) : error 017: undefined symbol "SpielerName"
C:\Users\Christian\Desktop\Scripting lernen\Die .pwn Dateien\tutorial.pwn(283) : error 017: undefined symbol "SpielerName"
C:\Users\Christian\Desktop\Scripting lernen\Die .pwn Dateien\tutorial.pwn(295) : error 017: undefined symbol "SpielerName"
C:\Users\Christian\Desktop\Scripting lernen\Die .pwn Dateien\tutorial.pwn(377) : error 017: undefined symbol "SpielerName"
C:\Users\Christian\Desktop\Scripting lernen\Die .pwn Dateien\tutorial.pwn(388) : error 017: undefined symbol "SpielerName"
C:\Users\Christian\Desktop\Scripting lernen\Die .pwn Dateien\tutorial.pwn(498) : error 017: undefined symbol "SpielerName"
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
9 Errors.
Welche errors?
welche zeilen?
Achtet auf die Groß- und Kleinschreibung!
Das ist bei Pawn entscheidend!
Da fehlte nur das
stock SpielerSpeichern(playerid);
also fehler behoben