Jeffry: Ich habe jetzt deinen Code benutzt, und der Spielt noch mehr verrückt O.o http://i.epvpimg.com/mDq6h.jpg
Ich habe diesen Dialog:
case Dialog_Geburtsdatum:
{
new second = gettime();
new tag,monat,jahr,stunde,minute;
getdate(jahr,monat,tag);
gettime(stunde,minute,second);
new DateInfo[3][20],string[200];
split(inputtext,DateInfo,'.');
if(response == 0) return 1;
else
{
if(strlen(inputtext) > 10)
{
ShowPlayerDialog(playerid,Dialog_Geburtsdatum,DIALOG_STYLE_INPUT,"{FFFFFF}SmR: {308EAD}Geburtsdatum","Gebe nun bitte dein Alter ein. | Angabe bitte in TT.MM.JJJJ","Weiter","Verlassen");
return 1;
}
new tmp[16];
format(tmp, sizeof(tmp), "d.d.%d", strval(DateInfo[0]),strval(DateInfo[1]),strval(DateInfo[2]));
printf("Datum: %s", tmp);
if(jahr - strval(DateInfo[2]) > 100 || strval(DateInfo[2]) < 1 || strval(DateInfo[2]) >= jahr)
{
printf("jahr: %d | eingabe: %d", jahr, strval(DateInfo[2]));
ShowPlayerDialog(playerid,Dialog_Geburtsdatum,DIALOG_STYLE_INPUT,"{FFFFFF}SmR: {308EAD}Geburtsdatum","Gebe nun bitte dein Alter ein. | Angabe bitte in TT.MM.JJJJ","Weiter","Verlassen");
return 1;
}
new check = jahr - strval(DateInfo[2]);
if(strval(DateInfo[1]) > monat)
{
check -= 1;
}
else if(strval(DateInfo[1]) == monat && strval(DateInfo[0]) > tag)
{
check -= 1;
}
if(check < 14 || check > 50)
{
printf("check = %d", check);
ShowPlayerDialog(playerid,Dialog_Geburtsdatum,DIALOG_STYLE_INPUT,"{FFFFFF}SmR: {308EAD}Geburtsdatum","Gebe nun bitte dein Alter ein. | Angabe bitte in TT.MM.JJJJ","Weiter","Verlassen");
return 1;
}
Spieler[playerid][pAlter] = check;
format(Spieler[playerid][pGeburtsdatum],11,inputtext);
format(string,sizeof(string),"Ok du bist also %i Jahre alt.",Spieler[playerid][pAlter]);
ShowPlayerDialog(playerid,Dialog_Geschlecht,DIALOG_STYLE_LIST,"{FFFFFF}SmR: {308EAD}Geschlecht","{FFFFFF}Männlich\nWeiblich","Weiter","Abbrechen");
return 1;
}
}
{
new second = gettime();
new tag,monat,jahr,stunde,minute;
getdate(jahr,monat,tag);
gettime(stunde,minute,second);
new DateInfo[3][20],string[200];
split(inputtext,DateInfo,'.');
if(response == 0) return 1;
else
{
if(strlen(inputtext) > 10)
{
ShowPlayerDialog(playerid,Dialog_Geburtsdatum,DIALOG_STYLE_INPUT,"{FFFFFF}SmR: {308EAD}Geburtsdatum","Gebe nun bitte dein Alter ein. | Angabe bitte in TT.MM.JJJJ","Weiter","Verlassen");
return 1;
}
new tmp[16];
format(tmp, sizeof(tmp), "d.d.%d", strval(DateInfo[0]),strval(DateInfo[1]),strval(DateInfo[2]));
printf("Datum: %s", tmp);
if(jahr - strval(DateInfo[2]) > 100 || strval(DateInfo[2]) < 1 || strval(DateInfo[2]) >= jahr)
{
printf("jahr: %d | eingabe: %d", jahr, strval(DateInfo[2]));
ShowPlayerDialog(playerid,Dialog_Geburtsdatum,DIALOG_STYLE_INPUT,"{FFFFFF}SmR: {308EAD}Geburtsdatum","Gebe nun bitte dein Alter ein. | Angabe bitte in TT.MM.JJJJ","Weiter","Verlassen");
return 1;
}
new check = jahr - strval(DateInfo[2]);
if(strval(DateInfo[1]) > monat)
{
check -= 1;
}
else if(strval(DateInfo[1]) == monat && strval(DateInfo[0]) > tag)
{
check -= 1;
}
if(check < 14 || check > 50)
{
printf("check = %d", check);
ShowPlayerDialog(playerid,Dialog_Geburtsdatum,DIALOG_STYLE_INPUT,"{FFFFFF}SmR: {308EAD}Geburtsdatum","Gebe nun bitte dein Alter ein. | Angabe bitte in TT.MM.JJJJ","Weiter","Verlassen");
return 1;
}
Spieler[playerid][pAlter] = check;
format(Spieler[playerid][pGeburtsdatum],11,inputtext);
format(string,sizeof(string),"Ok du bist also %i Jahre alt.",Spieler[playerid][pAlter]);
ShowPlayerDialog(playerid,Dialog_Geschlecht,DIALOG_STYLE_LIST,"{FFFFFF}SmR: {308EAD}Geschlecht","{FFFFFF}Männlich\nWeiblich","Weiter","Abbrechen");
return 1;
}
}
Und so Speichert er alles:
stock SavePlayerData(playerid)
{
new query[950 + MAX_PLAYER_NAME],Tag,Monat,Jahr,Stunde,Minute,Sekunde;
getdate(Tag,Monat,Jahr);
gettime(Stunde,Minute,Sekunde);
format(query,sizeof(query),"d.d.%d - d:d:%d",Tag,Monat,Jahr,Stunde,Minute,Sekunde);
mysql_format(DBHandle, query, sizeof(query),"UPDATE `Accounts` SET `pAlter` = '%d', `pAdminlevel` = '%d', `pGeburtsdatum` ='%d',`pGeschlecht` ='%d', `pBanned` = '%d', `pBargeld` = '%d', `pKontoguthaben` = '%d', `pLastLogin` = '%s', `pLeben` = '%.1f' WHERE `pName` = '%e'",
Spieler[playerid][pAlter],Spieler[playerid][pAdminlevel],Spieler[playerid][pGeburtsdatum],Spieler[playerid][pGeschlecht],Spieler[playerid][pBanned],Spieler[playerid][pBargeld],Spieler[playerid][pKontoguthaben],query,Spieler[playerid][pLeben],Spieler[playerid][pName]);
mysql_tquery(DBHandle, query, "","");
printf(query,"%d");
return 1;
}
{
new query[950 + MAX_PLAYER_NAME],Tag,Monat,Jahr,Stunde,Minute,Sekunde;
getdate(Tag,Monat,Jahr);
gettime(Stunde,Minute,Sekunde);
format(query,sizeof(query),"d.d.%d - d:d:%d",Tag,Monat,Jahr,Stunde,Minute,Sekunde);
mysql_format(DBHandle, query, sizeof(query),"UPDATE `Accounts` SET `pAlter` = '%d', `pAdminlevel` = '%d', `pGeburtsdatum` ='%d',`pGeschlecht` ='%d', `pBanned` = '%d', `pBargeld` = '%d', `pKontoguthaben` = '%d', `pLastLogin` = '%s', `pLeben` = '%.1f' WHERE `pName` = '%e'",
Spieler[playerid][pAlter],Spieler[playerid][pAdminlevel],Spieler[playerid][pGeburtsdatum],Spieler[playerid][pGeschlecht],Spieler[playerid][pBanned],Spieler[playerid][pBargeld],Spieler[playerid][pKontoguthaben],query,Spieler[playerid][pLeben],Spieler[playerid][pName]);
mysql_tquery(DBHandle, query, "","");
printf(query,"%d");
return 1;
}
Hier einmal die server_log:
----------
Loaded log file: "server_log.txt".
----------
SA-MP Dedicated Server
----------------------
v0.3z, (C)2005-2014 SA-MP Team
----------------------
v0.3z, (C)2005-2014 SA-MP Team
[18:34:19] filterscripts = "" (string)
[18:34:19]
[18:34:19] Server Plugins
[18:34:19] --------------
[18:34:19] Loading plugin: mysql
[18:34:19] >> plugin.mysql: R39-2 successfully loaded.
[18:34:19] Loaded.
[18:34:19] Loading plugin: sscanf
[18:34:19]
[18:34:19]
[18:34:19] Server Plugins
[18:34:19] --------------
[18:34:19] Loading plugin: mysql
[18:34:19] >> plugin.mysql: R39-2 successfully loaded.
[18:34:19] Loaded.
[18:34:19] Loading plugin: sscanf
[18:34:19]
[18:34:19] ===============================
[18:34:19] sscanf plugin loaded.
[18:34:19] Version: 2.8.1
[18:34:19] (c) 2012 Alex "Y_Less" Cole
[18:34:19] ===============================
[18:34:19] Loaded.
[18:34:19] Loaded 2 plugins.
[18:34:19] Loaded 2 plugins.
[18:34:19]
[18:34:19] Filterscripts
[18:34:19] ---------------
[18:34:19] Loaded 0 filterscripts.
[18:34:19] Filterscripts
[18:34:19] ---------------
[18:34:19] Loaded 0 filterscripts.
[18:34:19] San Miami Roleplay It's Possible. German Roleplay
[18:34:19] --------------------------------
[18:34:19] Dieses Script [Version: It's Possible. German Roleplay] steht unter Datenschutz und darf
[18:34:19] nur von dem jenigen Besitzer benutzt/verwendet werden.
[18:34:19] Falls diese Richtlinien nicht eingehalten werden,werden
[18:34:19] Rechtlicheschritte gegen sie eingeleitet. Script von Eddy.
[18:34:19] Copyright by sMR
[18:34:19] --------------------------------
[18:34:19] San Miami Roleplay It's Possible. German Roleplay
[18:34:19] Dieses Script [Version: It's Possible. German Roleplay] steht unter Datenschutz und darf
[18:34:19] nur von dem jenigen Besitzer benutzt/verwendet werden.
[18:34:19] Falls diese Richtlinien nicht eingehalten werden,werden
[18:34:19] Rechtlicheschritte gegen sie eingeleitet. Script von Eddy.
[18:34:19] Copyright by sMR
[18:34:19] --------------------------------
[18:34:19] San Miami Roleplay It's Possible. German Roleplay
[18:34:19] Number of vehicle models: 0
[18:34:37] Incoming connection: 127.0.0.1:52800
[18:34:38] [join] Eddy_Mind has joined the server (0:127.0.0.1)
[18:34:38] SELECT COUNT(*) AS `count` FROM `Accounts` WHERE `pName` = 'Eddy_Mind'
[18:34:41] INSERT INTO `Accounts` (`pName`, `pPasswort`, `pAlter`, `pGeburtsdatum`, `pGeschlecht`, `pAdminlevel`, `pBanned`, `pBargeld`, `pKontoguthaben`, `pLastLogin`, `pRegDatum`, `pVersuche`, `pLeben`) VALUES ('Eddy_Mind','test','0','0','0','0','0','0','0','2014.12.23 - 18:34:41','2014.12.23 - 18:34:41','0','100.0')
[18:34:43] Datum: 18.11.1994
[18:34:44] UPDATE `Accounts` SET `pAlter` = '20', `pAdminlevel` = '46', `pGeburtsdatum` ='49',`pGeschlecht` ='1', `pBanned` = '49', `pBargeld` = '49', `pKontoguthaben` = '46', `pLastLogin` = '2014.12.23 - 18:34:44', `pLeben` = '0.0' WHERE `pName` = 'Eddy_Mind'
[18:36:18] UPDATE `Accounts` SET `pAlter` = '20', `pAdminlevel` = '5', `pGeburtsdatum` ='49',`pGeschlecht` ='1', `pBanned` = '49', `pBargeld` = '49', `pKontoguthaben` = '46', `pLastLogin` = '2014.12.23 - 18:36:18', `pLeben` = '0.0' WHERE `pName` = 'Eddy_Mind'
[18:36:28] [part] Eddy_Mind has left the server (0:1)
[18:34:37] Incoming connection: 127.0.0.1:52800
[18:34:38] [join] Eddy_Mind has joined the server (0:127.0.0.1)
[18:34:38] SELECT COUNT(*) AS `count` FROM `Accounts` WHERE `pName` = 'Eddy_Mind'
[18:34:41] INSERT INTO `Accounts` (`pName`, `pPasswort`, `pAlter`, `pGeburtsdatum`, `pGeschlecht`, `pAdminlevel`, `pBanned`, `pBargeld`, `pKontoguthaben`, `pLastLogin`, `pRegDatum`, `pVersuche`, `pLeben`) VALUES ('Eddy_Mind','test','0','0','0','0','0','0','0','2014.12.23 - 18:34:41','2014.12.23 - 18:34:41','0','100.0')
[18:34:43] Datum: 18.11.1994
[18:34:44] UPDATE `Accounts` SET `pAlter` = '20', `pAdminlevel` = '46', `pGeburtsdatum` ='49',`pGeschlecht` ='1', `pBanned` = '49', `pBargeld` = '49', `pKontoguthaben` = '46', `pLastLogin` = '2014.12.23 - 18:34:44', `pLeben` = '0.0' WHERE `pName` = 'Eddy_Mind'
[18:36:18] UPDATE `Accounts` SET `pAlter` = '20', `pAdminlevel` = '5', `pGeburtsdatum` ='49',`pGeschlecht` ='1', `pBanned` = '49', `pBargeld` = '49', `pKontoguthaben` = '46', `pLastLogin` = '2014.12.23 - 18:36:18', `pLeben` = '0.0' WHERE `pName` = 'Eddy_Mind'
[18:36:28] [part] Eddy_Mind has left the server (0:1)
Und die mysql_log:
[18:34:19] [DEBUG] CMySQLConnection::Connect - establishing connection to database...
[18:34:19] [DEBUG] CMySQLConnection::Connect - establishing connection to database...
[18:34:19] [DEBUG] CMySQLConnection::Connect - connection was successful
[18:34:19] [DEBUG] CMySQLConnection::Connect - connection was successful
[18:34:19] [DEBUG] CMySQLConnection::Connect - connection was successful
[18:34:19] [DEBUG] CMySQLConnection::Connect - auto-reconnect has been enabled
[18:34:19] [DEBUG] CMySQLConnection::Connect - auto-reconnect has been enabled
[18:34:19] [DEBUG] CMySQLQuery::Execute[] - starting query execution
[18:34:19] [DEBUG] CMySQLQuery::Execute[] - query was successfully executed within 7.413 milliseconds
[18:34:19] [DEBUG] CMySQLQuery::Execute[] - no callback specified, skipping result saving
[18:34:38] [DEBUG] mysql_format - connection: 1, len: 184, format: "SELECT COUNT(*) AS `count` FROM `Accounts` WHERE `pName` = '%e'"
[18:34:38] [DEBUG] mysql_tquery - connection: 1, query: "SELECT COUNT(*) AS `count` FROM `Accounts` WHERE `pName` = 'Eddy", callback: "LoadPlayerDataSequence", format: "dd"
[18:34:38] [DEBUG] CMySQLQuery::Execute[LoadPlayerDataSequence] - starting query execution
[18:34:38] [DEBUG] CMySQLQuery::Execute[LoadPlayerDataSequence] - query was successfully executed within 2.172 milliseconds
[18:34:38] [DEBUG] CMySQLResult::CMySQLResult() - constructor called
[18:34:38] [DEBUG] Calling callback "LoadPlayerDataSequence"..
[18:34:38] [DEBUG] cache_get_field_content_int - row: 0, field_name: "count", connection: 1
[18:34:38] [DEBUG] CMySQLResult::GetRowDataByName - row: '0', field: "count", data: "0"
[18:34:38] [DEBUG] CMySQLResult::~CMySQLResult() - deconstructor called
[18:34:41] [DEBUG] mysql_format - connection: 1, len: 974, format: "INSERT INTO `Accounts` (`pName`, `pPasswort`, `pAlter`, `pGeburtsdatum`, `pGeschlecht`, `pAdminlevel`, `pBanned`, `pBargeld`, `p..."
[18:34:41] [DEBUG] mysql_tquery - connection: 1, query: "INSERT INTO `Accounts` (`pName`, `pPasswort`, `pAlter`, `pGeburt", callback: "(null)", format: "(null)"
[18:34:41] [DEBUG] CMySQLQuery::Execute[] - starting query execution
[18:34:41] [DEBUG] CMySQLQuery::Execute[] - query was successfully executed within 0.552 milliseconds
[18:34:41] [DEBUG] CMySQLQuery::Execute[] - no callback specified, skipping result saving
[18:34:44] [DEBUG] mysql_format - connection: 1, len: 974, format: "UPDATE `Accounts` SET `pAlter` = '%d', `pAdminlevel` = '%d', `pGeburtsdatum` ='%d',`pGeschlecht` ='%d', `pBanned` = '%d', `pBarg..."
[18:34:44] [DEBUG] mysql_tquery - connection: 1, query: "UPDATE `Accounts` SET `pAlter` = '20', `pAdminlevel` = '46', `pG", callback: "(null)", format: "(null)"
[18:34:44] [DEBUG] CMySQLQuery::Execute[] - starting query execution
[18:34:44] [DEBUG] CMySQLQuery::Execute[] - query was successfully executed within 0.665 milliseconds
[18:34:44] [DEBUG] CMySQLQuery::Execute[] - no callback specified, skipping result saving
[18:36:18] [DEBUG] mysql_format - connection: 1, len: 974, format: "UPDATE `Accounts` SET `pAlter` = '%d', `pAdminlevel` = '%d', `pGeburtsdatum` ='%d',`pGeschlecht` ='%d', `pBanned` = '%d', `pBarg..."
[18:36:18] [DEBUG] mysql_tquery - connection: 1, query: "UPDATE `Accounts` SET `pAlter` = '20', `pAdminlevel` = '5', `pGe", callback: "(null)", format: "(null)"
[18:36:18] [DEBUG] CMySQLQuery::Execute[] - starting query execution
[18:36:18] [DEBUG] CMySQLQuery::Execute[] - query was successfully executed within 1.40 milliseconds
[18:36:18] [DEBUG] CMySQLQuery::Execute[] - no callback specified, skipping result saving
[18:34:19] [DEBUG] CMySQLConnection::Connect - establishing connection to database...
[18:34:19] [DEBUG] CMySQLConnection::Connect - connection was successful
[18:34:19] [DEBUG] CMySQLConnection::Connect - connection was successful
[18:34:19] [DEBUG] CMySQLConnection::Connect - connection was successful
[18:34:19] [DEBUG] CMySQLConnection::Connect - auto-reconnect has been enabled
[18:34:19] [DEBUG] CMySQLConnection::Connect - auto-reconnect has been enabled
[18:34:19] [DEBUG] CMySQLQuery::Execute[] - starting query execution
[18:34:19] [DEBUG] CMySQLQuery::Execute[] - query was successfully executed within 7.413 milliseconds
[18:34:19] [DEBUG] CMySQLQuery::Execute[] - no callback specified, skipping result saving
[18:34:38] [DEBUG] mysql_format - connection: 1, len: 184, format: "SELECT COUNT(*) AS `count` FROM `Accounts` WHERE `pName` = '%e'"
[18:34:38] [DEBUG] mysql_tquery - connection: 1, query: "SELECT COUNT(*) AS `count` FROM `Accounts` WHERE `pName` = 'Eddy", callback: "LoadPlayerDataSequence", format: "dd"
[18:34:38] [DEBUG] CMySQLQuery::Execute[LoadPlayerDataSequence] - starting query execution
[18:34:38] [DEBUG] CMySQLQuery::Execute[LoadPlayerDataSequence] - query was successfully executed within 2.172 milliseconds
[18:34:38] [DEBUG] CMySQLResult::CMySQLResult() - constructor called
[18:34:38] [DEBUG] Calling callback "LoadPlayerDataSequence"..
[18:34:38] [DEBUG] cache_get_field_content_int - row: 0, field_name: "count", connection: 1
[18:34:38] [DEBUG] CMySQLResult::GetRowDataByName - row: '0', field: "count", data: "0"
[18:34:38] [DEBUG] CMySQLResult::~CMySQLResult() - deconstructor called
[18:34:41] [DEBUG] mysql_format - connection: 1, len: 974, format: "INSERT INTO `Accounts` (`pName`, `pPasswort`, `pAlter`, `pGeburtsdatum`, `pGeschlecht`, `pAdminlevel`, `pBanned`, `pBargeld`, `p..."
[18:34:41] [DEBUG] mysql_tquery - connection: 1, query: "INSERT INTO `Accounts` (`pName`, `pPasswort`, `pAlter`, `pGeburt", callback: "(null)", format: "(null)"
[18:34:41] [DEBUG] CMySQLQuery::Execute[] - starting query execution
[18:34:41] [DEBUG] CMySQLQuery::Execute[] - query was successfully executed within 0.552 milliseconds
[18:34:41] [DEBUG] CMySQLQuery::Execute[] - no callback specified, skipping result saving
[18:34:44] [DEBUG] mysql_format - connection: 1, len: 974, format: "UPDATE `Accounts` SET `pAlter` = '%d', `pAdminlevel` = '%d', `pGeburtsdatum` ='%d',`pGeschlecht` ='%d', `pBanned` = '%d', `pBarg..."
[18:34:44] [DEBUG] mysql_tquery - connection: 1, query: "UPDATE `Accounts` SET `pAlter` = '20', `pAdminlevel` = '46', `pG", callback: "(null)", format: "(null)"
[18:34:44] [DEBUG] CMySQLQuery::Execute[] - starting query execution
[18:34:44] [DEBUG] CMySQLQuery::Execute[] - query was successfully executed within 0.665 milliseconds
[18:34:44] [DEBUG] CMySQLQuery::Execute[] - no callback specified, skipping result saving
[18:36:18] [DEBUG] mysql_format - connection: 1, len: 974, format: "UPDATE `Accounts` SET `pAlter` = '%d', `pAdminlevel` = '%d', `pGeburtsdatum` ='%d',`pGeschlecht` ='%d', `pBanned` = '%d', `pBarg..."
[18:36:18] [DEBUG] mysql_tquery - connection: 1, query: "UPDATE `Accounts` SET `pAlter` = '20', `pAdminlevel` = '5', `pGe", callback: "(null)", format: "(null)"
[18:36:18] [DEBUG] CMySQLQuery::Execute[] - starting query execution
[18:36:18] [DEBUG] CMySQLQuery::Execute[] - query was successfully executed within 1.40 milliseconds
[18:36:18] [DEBUG] CMySQLQuery::Execute[] - no callback specified, skipping result saving