Mysql Alter wird falsch registriert

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
  • Hallo Habe ein kleines problem Bei mir wird das alter falsch gespeichert was kann das sein


    #define GetYearFromTimestamp(%0) floatround((gettime() - 0)/31536000)



    case DIALOG_REGISTER4:
    {
    getdate(jahr,monat,tag);
    gettime(stunde,minute,sekunde);
    new DateInfo[3][20],string[200];
    split(inputtext,DateInfo,'.');
    if(response == 0)return Kick(playerid);
    else
    {
    if(strlen(inputtext) > 10)
    {
    ShowPlayerDialog(playerid,DIALOG_REGISTER4,DIALOG_STYLE_INPUT,""#SERVERFARBE""#SERVERNAME"{FFFFFF}: Registrierung/Alter","Gebe nun bitte dein Alter ein. | Angabe bitte in TT.MM.JJJJ","Weiter","Verlassen");
    return 1;
    }
    if(!IsValidDate(strval(DateInfo[0]),strval(DateInfo[1]),strval(DateInfo[2])))
    {
    ShowPlayerDialog(playerid,DIALOG_REGISTER4,DIALOG_STYLE_INPUT,""#SERVERFARBE""#SERVERNAME"{FFFFFF}: Registrierung/Alter","Gebe nun bitte dein Alter ein. | Angabe bitte in TT.MM.JJJJ","Weiter","Verlassen");
    return 1;
    }
    if(jahr - strval(DateInfo[2]) > 100 || strval(DateInfo[2]) < 1 || strval(DateInfo[2]) >= jahr)
    {
    ShowPlayerDialog(playerid,DIALOG_REGISTER4,DIALOG_STYLE_INPUT,""#SERVERFARBE""#SERVERNAME"{FFFFFF}: Registrierung/Alter","Gebe nun bitte dein Alter ein. | Angabe bitte in TT.MM.JJJJ","Weiter","Verlassen");
    return 1;
    }
    new check = jahr - strval(DateInfo[2]);
    if(check == jahr)
    {
    ShowPlayerDialog(playerid,DIALOG_REGISTER4,DIALOG_STYLE_INPUT,""#SERVERFARBE""#SERVERNAME"{FFFFFF}: Registrierung/Alter","Gebe nun bitte dein Alter ein. | Angabe bitte in TT.MM.JJJJ","Weiter","Verlassen");
    return 1;
    }
    if(strval(DateInfo[1]) > monat)
    {
    check -= 1;
    }
    else if(strval(DateInfo[1]) == monat && strval(DateInfo[0]) > tag)
    {
    check -= 1;
    }
    if(GetYearFromTimestamp(playerid) < 14 && GetYearFromTimestamp(playerid) > 50)
    {
    ShowPlayerDialog(playerid,DIALOG_REGISTER4,DIALOG_STYLE_INPUT,""#SERVERFARBE""#SERVERNAME"{FFFFFF}: Registrierung/Alter","Gebe nun bitte dein Alter ein. | Angabe bitte in TT.MM.JJJJ","Weiter","Verlassen");
    return 1;
    }
    Spieler[playerid][pYearsOld] = GetYearFromTimestamp(mktime(stunde,minute,sekunde,strval(DateInfo[0]),strval(DateInfo[1]),strval(DateInfo[2])));
    format(string,sizeof(string),"Und du bist also %i Jahre alt.",floatround(playerid));
    SendClientMessage(playerid,HELLROT,string);
    StopAudioStreamForPlayer(playerid);
    ImTutorial[playerid] = 1;
    CreateAccount(playerid);
    return 1;
    }
    }


    Kann mir da einer helfen bitte

  • format(string,sizeof(string),"Und du bist also %i Jahre alt.",floatround(playerid));



    Du gibst auch nicht das Alter, sondern die playerid an :p


    Mein CS:GO Server: 62.75.168.39:27016


    Ich bin so hungrig, dass ich vor lauter Durst nicht weiß, was ich rauchen soll - so müde bin ich!
    Freedom is just another word for 'Nothing left to lose'

  • Beitrag von Loganpunkt ()

    Dieser Beitrag wurde gelöscht, Informationen über den Löschvorgang sind nicht verfügbar.
  • Für was überhaupt diese komische Funktion? Du hast doch eigentlich alles schon, schreib es so:
    case DIALOG_REGISTER4:
    {
    getdate(jahr,monat,tag);
    gettime(stunde,minute,sekunde);
    new DateInfo[3][20],string[200];
    split(inputtext,DateInfo,'.');
    if(response == 0)return Kick(playerid);
    else
    {
    if(strlen(inputtext) > 10)
    {
    ShowPlayerDialog(playerid,DIALOG_REGISTER4,DIALOG_STYLE_INPUT,""#SERVERFARBE""#SERVERNAME"{FFFFFF}: Registrierung/Alter","Gebe nun bitte dein Alter ein. | Angabe bitte in TT.MM.JJJJ","Weiter","Verlassen");
    return 1;
    }
    if(!IsValidDate(strval(DateInfo[0]),strval(DateInfo[1]),strval(DateInfo[2])))
    {
    ShowPlayerDialog(playerid,DIALOG_REGISTER4,DIALOG_STYLE_INPUT,""#SERVERFARBE""#SERVERNAME"{FFFFFF}: Registrierung/Alter","Gebe nun bitte dein Alter ein. | Angabe bitte in TT.MM.JJJJ","Weiter","Verlassen");
    return 1;
    }
    if(jahr - strval(DateInfo[2]) > 100 || strval(DateInfo[2]) < 1 || strval(DateInfo[2]) >= jahr)
    {
    ShowPlayerDialog(playerid,DIALOG_REGISTER4,DIALOG_STYLE_INPUT,""#SERVERFARBE""#SERVERNAME"{FFFFFF}: Registrierung/Alter","Gebe nun bitte dein Alter ein. | Angabe bitte in TT.MM.JJJJ","Weiter","Verlassen");
    return 1;
    }
    new check = jahr - strval(DateInfo[2]);
    if(check == jahr)
    {
    ShowPlayerDialog(playerid,DIALOG_REGISTER4,DIALOG_STYLE_INPUT,""#SERVERFARBE""#SERVERNAME"{FFFFFF}: Registrierung/Alter","Gebe nun bitte dein Alter ein. | Angabe bitte in TT.MM.JJJJ","Weiter","Verlassen");
    return 1;
    }
    if(strval(DateInfo[1]) > monat)
    {
    check -= 1;
    }
    else if(strval(DateInfo[1]) == monat && strval(DateInfo[0]) > tag)
    {
    check -= 1;
    }
    if(check < 14 || check > 50)
    {
    ShowPlayerDialog(playerid,DIALOG_REGISTER4,DIALOG_STYLE_INPUT,""#SERVERFARBE""#SERVERNAME"{FFFFFF}: Registrierung/Alter","Gebe nun bitte dein Alter ein. | Angabe bitte in TT.MM.JJJJ","Weiter","Verlassen");
    return 1;
    }
    Spieler[playerid][pYearsOld] = check;
    format(string,sizeof(string),"Und du bist also %i Jahre alt.",Spieler[playerid][pYearsOld]);
    SendClientMessage(playerid,HELLROT,string);
    StopAudioStreamForPlayer(playerid);
    ImTutorial[playerid] = 1;
    CreateAccount(playerid);
    return 1;
    }
    }

  • Naja, das brauchst du vielleicht, aber nicht so wie es da steht.


    => Möchtest du das Alter des Spielers nochmals woanders anzeigen, außer bei der Registrierung? Soll es zum Beispiel in den Statistiken stehen und aktualisiert werden, wenn ein Jahr vorbei ist? Oder soll es nur beim registrieren angezeigt werden?

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • case DIALOG_REGISTER4:
    {
    getdate(jahr,monat,tag);
    gettime(stunde,minute,sekunde);
    new DateInfo[3][20],string[200];
    split(inputtext,DateInfo,'.');
    if(response == 0) return Kick(playerid);
    else
    {
    if(strlen(inputtext) > 10)
    {
    ShowPlayerDialog(playerid,DIALOG_REGISTER4,DIALOG_STYLE_INPUT,""#SERVERFARBE""#SERVERNAME"{FFFFFF}: Registrierung/Alter","Gebe nun bitte dein Alter ein. | Angabe bitte in TT.MM.JJJJ","Weiter","Verlassen");
    return 1;
    }
    if(!IsValidDate(strval(DateInfo[0]),strval(DateInfo[1]),strval(DateInfo[2])))
    {
    ShowPlayerDialog(playerid,DIALOG_REGISTER4,DIALOG_STYLE_INPUT,""#SERVERFARBE""#SERVERNAME"{FFFFFF}: Registrierung/Alter","Gebe nun bitte dein Alter ein. | Angabe bitte in TT.MM.JJJJ","Weiter","Verlassen");
    return 1;
    }
    if(jahr - strval(DateInfo[2]) > 100 || strval(DateInfo[2]) < 1 || strval(DateInfo[2]) >= jahr)
    {
    ShowPlayerDialog(playerid,DIALOG_REGISTER4,DIALOG_STYLE_INPUT,""#SERVERFARBE""#SERVERNAME"{FFFFFF}: Registrierung/Alter","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)
    {
    ShowPlayerDialog(playerid,DIALOG_REGISTER4,DIALOG_STYLE_INPUT,""#SERVERFARBE""#SERVERNAME"{FFFFFF}: Registrierung/Alter","Gebe nun bitte dein Alter ein. | Angabe bitte in TT.MM.JJJJ","Weiter","Verlassen");
    return 1;
    }
    Spieler[playerid][pYearsOld] = check;
    format(Spieler[playerid][pGeburtstag],11,inputtext);
    format(string,sizeof(string),"Und du bist also %i Jahre alt.",Spieler[playerid][pYearsOld]);
    SendClientMessage(playerid,HELLROT,string);
    StopAudioStreamForPlayer(playerid);
    ImTutorial[playerid] = 1;
    CreateAccount(playerid);
    return 1;
    }
    }


    stock AgeOfPlayer(playerid)
    {
    new DateInfo[3][20], jahr, monat, tag;
    split(Spieler[playerid][pGeburtstag],DateInfo,'.');
    getdate(jahr,monat,tag);
    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;
    }
    return check;
    }



    Im enum für Spieler definieren:
    pGeburtstag[11],


    Spieler[playerid][pGeburtstag] beim Speichern und Laden des Spielers als String speichern/laden.

  • C:\Users\Jeremias\Desktop\Server\Server\gamemodes\GeTmyselfmade.pwn(76303) : warning 219: local variable "jahr" shadows a variable at a preceding level
    C:\Users\Jeremias\Desktop\Server\Server\gamemodes\GeTmyselfmade.pwn(76303) : warning 219: local variable "monat" shadows a variable at a preceding level
    C:\Users\Jeremias\Desktop\Server\Server\gamemodes\GeTmyselfmade.pwn(76303) : warning 219: local variable "tag" shadows a variable at a preceding level

  • cache_get_field_content(0,"Geburtstag",result);
    Spieler[playerid][pGeburtstag] = strval(result);


    mysql_format(MySqlConnection,query,sizeof(query),"pOrgLeader='%d',pOrgMember='%d',pLohn='%d',WaitPerso='%d',pMarried='%s',pBuyClothes='%d',pTsIdent='%s',pIll='%d',pConterminatedTime='%d',pBitchSkill='%d',pBitchFuckCount='%d',pMedicHealplayerSkill='%d',pMedicHealCount='%d',Geburtstag='%d' WHERE Name='%s'",
    Spieler[playerid][pOrgLeader],Spieler[playerid][pOrgMember],Spieler[playerid][pLohn],Spieler[playerid][WaitPerso],Spieler[playerid][pMarried],Spieler[playerid][pBuyClothes],Spieler[playerid][pTsIdent],Spieler[playerid][pIll],Spieler[playerid][pConterminatedTime],
    Spieler[playerid][pBitchSkill],Spieler[playerid][pBitchFuckCount],Spieler[playerid][pMedicHealplayerSkill],Spieler[playerid][pMedicHealCount],Spieler[playerid][pGeburtstag],Spieler[playerid][pName]);

  • cache_get_field_content(0,"Geburtstag",result);
    format(Spieler[playerid][pGeburtstag], 11, result);


    mysql_format(MySqlConnection,query,sizeof(query),"pOrgLeader='%d',pOrgMember='%d',pLohn='%d',WaitPerso='%d',pMarried='%s',pBuyClothes='%d',pTsIdent='%s',pIll='%d',pConterminatedTime='%d',pBitchSkill='%d',pBitchFuckCount='%d',pMedicHealplayerSkill='%d',pMedicHealCount='%d',Geburtstag='%s' WHERE Name='%s'",
    Spieler[playerid][pOrgLeader],Spieler[playerid][pOrgMember],Spieler[playerid][pLohn],Spieler[playerid][WaitPerso],Spieler[playerid][pMarried],Spieler[playerid][pBuyClothes],Spieler[playerid][pTsIdent],Spieler[playerid][pIll],Spieler[playerid][pConterminatedTime],
    Spieler[playerid][pBitchSkill],Spieler[playerid][pBitchFuckCount],Spieler[playerid][pMedicHealplayerSkill],Spieler[playerid][pMedicHealCount],Spieler[playerid][pGeburtstag],Spieler[playerid][pName]);


    pGeburtstag muss im enum so definiert sein:
    pGeburtstag[11],


    Außerdem muss der Wert der Spalte Geburtstag in der Datenbank ein VARCHAR der Länge 11 sein.