Hallo liebe Community,
ich wollte mal so ein Einsteiger "Tutorial" Scripten, dort werden paar Fragen gestellt und Informationen gespeichert.
Aber wenn ich dann zB. bei der Frage "Was ist ihr Geschlecht" Männlich angebe, wird nichts einfach nur ein leeres Zeichen in der DatenBank gespeichert.
Also das Script speichert das immer in die MySQL ID 0 rein. Nach einem Relog funktioniert aber alles normal. Falls ihr mehr Codes braucht bitte bescheid sagen. Ich bedanke mich für jede Hilfe herzlich!
enum PlayerInfo{
eingeloggt,
pLevel,
db_id,
pMoney,
pAdmin,
pFraktion,
pRang,
pSpawn,
pGeschlecht,
pBank,
pTutmode,
pAlter
}
public OnGameModeInit()
{
//MySQL
dbhandle = mysql_connect(db_host,db_user,db_db,db_pass);
AntiDeAMX();
SetGameModeText("SA Roleplay 0.0.1");//Version
AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 170, 0, 0, 0, 0, 0, 0);
DisableInteriorEnterExits();
EnableStuntBonusForAll(0);
ManualVehicleEngineAndLights();
EnableM_Bot();
}
return 1;
}
public OnPlayerConnect(playerid)
{
//Login/Register
new name[MAX_PLAYER_NAME],query[128];
GetPlayerName(playerid,name,sizeof(name));
format(query,sizeof(query),"SELECT id FROM user WHERE username='%s'",name);
mysql_function_query(dbhandle,query,true,"OnUserCheck","i",playerid);
SetPlayerColor(playerid, Weiß);
return 1;
}
savePlayer(playerid)
{
// if(pInfo[playerid][eingeloggt] == 0)return 1;
// Speichern; level,money,admin,fraktion,rang,spawn,geschlecht,bank,tutmode,alter
//Login/Register
new name[MAX_PLAYER_NAME],queryt[128];
GetPlayerName(playerid,name,sizeof(name));
format(queryt,sizeof(queryt),"SELECT id FROM user WHERE username='%s'",name);
mysql_function_query(dbhandle,queryt,true,"OnUserCheck","i",playerid);
new query[2048];
format(query,sizeof(query),"UPDATE user SET pLevel='%i',pMoney='%i',pAdmin='%i',pFraktion='%i',pRang='%i',pSpawn='%i',pGeschlecht='%i',pBank='%i',pTutmode='%i',pAlter='%i' WHERE id='%i'",pInfo[playerid][pLevel],
GetPlayerMoney(playerid),pInfo[playerid][pAdmin],pInfo[playerid][pFraktion],pInfo[playerid][pRang],pInfo[playerid][pSpawn],pInfo[playerid][pGeschlecht],pInfo[playerid][pBank],pInfo[playerid][pTutmode],pInfo[playerid][pAlter],pInfo[playerid][db_id]);
mysql_function_query(dbhandle,query,false,"","");
return 1;
}
if(dialogid==DIALOG_LOGIN) //Login/4
{
if(response)
{
new pName[MAX_PLAYER_NAME],query[128],passwort[35],string1[380];
GetPlayerName(playerid,pName,sizeof(pName));
if(strlen(inputtext)>0)
{
mysql_real_escape_string(inputtext,passwort,dbhandle);
format(query,sizeof(query),"SELECT * FROM user WHERE username='%s' AND password=MD5('%s')",pName,passwort);
mysql_function_query(dbhandle,query,true,"OnPasswordResponse","i",playerid);
}
else
{
//Keine Eingabe
format(string1,sizeof(string1),"{FAFAFA}Hallo {FFFA00}%s{FAFAFA},\n\nwillkommen auf dem {FFFA00}San Andreas Roleplay{FAFAFA} Server.\nDu hast dir bereits einen Account erstellt.\nBitte trage unten dein Passwort ein, dass du bei der Registrierung angegeben hast.",pName);
ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"Anmelden",string1,"Anmelden","Abbrechen");
}
}
else
{
Kick(playerid);
}
return 1;
}
if(dialogid==DIALOG_REGISTER)
{
if(response)
{
new name[MAX_PLAYER_NAME],query[128],passwort[35],string1[256];
GetPlayerName(playerid,name,sizeof(name));
if(strlen(inputtext)>3)
{
//Registrierungsfunktion
mysql_real_escape_string(inputtext,passwort,dbhandle);
format(query,sizeof(query),"INSERT INTO user (username,password) VALUES ('%s',MD5('%s')) ",name,passwort);
mysql_function_query(dbhandle,query,false,"","");
SendClientMessage(playerid,Gelb,"===[ WICHTIG - WICHTIG - WICHTIG ]===");
SendClientMessage(playerid,Gelb,"[i]: ALLE ANGABEN SIND FÜR DEINEN CHARAKTER, DU MUSST NICHT DEINE ECHTEN DATEN ANGEBEN!");
SendClientMessage(playerid,Gelb,"[i]: DU MUSST NUR DEINE ECHTEN DATEN ANGEBEN WENN ES VERLANGT WIRD!");
//ShowPlayerDialog(playerid,DIALOG_TUT0,DIALOG_STYLE_LIST,"Bitte gib dein Geschlecht an","Männlich\nWeiblich","weiter","");
}
else
{
//Kleiner als 4 Zeichen
SendClientMessage(playerid,Rot,"Dein Passwort muss mindestens 4 Zeichen lang sein.");
format(string1,sizeof(string1),"{FAFAFA}Hallo {FFFA00}%s{FAFAFA},\n\nwillkommen auf dem {FFFA00}San Andreas Roleplay{FAFAFA} Server.\nDu hast dir noch keinen Account erstellt.\nBitte trage unten dein Passwort ein, dass du bei der Anmeldung benutzen möchtest.",name);
ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"Registrieren",string1,"Registrieren","Abbrechen");
}
}
else
{
SendClientMessage(playerid,Rot,"Du hast den Vorgang abgebrochen und wurdest gekickt!");
deletePlayer(playerid);
Kick(playerid);
}
return 1;
}