Alters System

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
  • Guten Tag,


    Mein Name lautet MrPawn.
    Und zwar denke ich bin ich zu müde um noch gescheit zu denken.


    Und zwar geht es um mein Alters System:


    if(dialogid == DIALOG_ALTER)
    {
    if(!response) {
    ShowPlayerMenu(playerid, "Register");
    mysql_real_escape_string(PlayerInfo[playerid][pName], PlayerInfo[playerid][pName]);
    new query[154];
    format(query, sizeof(query), "DELETE FROM `Benutzerkonten` WHERE `Benutzername` = '%s'", PlayerInfo[playerid][pName]);
    mysql_query(query);
    }
    if(response) {
    new J,M,T;
    getdate(J,M,T);
    new DatumInfo[3][20], string[128];
    split(inputtext,DatumInfo,'.');
    if(!strlen(inputtext))
    {
    SendClientMessage(playerid, ROT, "Falsches Format (TAG.MONAT.JAHR)");
    ShowPlayerMenu(playerid, "Alter");
    }
    if(strlen(inputtext) > 10)
    {
    SendClientMessage(playerid, ROT, "Falsches Format (TAG.MONAT.JAHR)");
    ShowPlayerMenu(playerid, "Alter");
    return 1;
    }
    if(!IsValidDate(strval(DatumInfo[0]),strval(DatumInfo[1]),strval(DatumInfo[2])))
    {
    SendClientMessage(playerid, ROT, "Falsches Format (TAG.MONAT.JAHR)");
    ShowPlayerMenu(playerid, "Alter");
    return 1;
    }
    if(J - strval(DatumInfo[2]) > 100 || strval(DatumInfo[2]) < 1 || strval(DatumInfo[2]) >= J)
    {
    SendClientMessage(playerid, ROT, "Falsches Format (TAG.MONAT.JAHR)");
    ShowPlayerMenu(playerid, "Alter");
    return 1;
    }
    new check = J - strval(DatumInfo[2]);
    if(check == J)
    {
    SendClientMessage(playerid, ROT, "Falsches Format (TAG.MONAT.JAHR)");
    ShowPlayerMenu(playerid, "Alter");
    return 1;
    }
    if(strval(DatumInfo[1]) > M)
    {
    check -= 1;
    }
    else if(strval(DatumInfo[1]) == M && strval(DatumInfo[0]) > T)
    {
    check -= 1;
    }
    if(check < 0 || check > 65)
    {
    SendClientMessage(playerid, ROT, "Falsches Format (TAG.MONAT.JAHR)");
    ShowPlayerMenu(playerid, "Alter");
    return 1;
    }
    format(string, sizeof(string), "Ok, du bist also %i Jahre Jung/Alt.", check);
    SendClientMessage(playerid, GRAU, string);
    ShowPlayerMenu(playerid, "Geschlecht");
    }
    }


    Dieser Quelltext wird garnicht erst aufgerufen (noch nicht geprintet)
    Also #ERROS werden schon angezeigt, aber ingame passiert da dann nichts!
    Wenn ich split garnicht im Script habe, dann zeig er mir aber keinen Error an. Sobald ich Split einfüge kommt der Fehler:


    Code
    error 025: function heading differs from prototype
    Pawn compiler 3.2.3664	 	 	Copyright (c) 1997-2006, ITB CompuPhase
    
    
    
    
    1 Error.



    stock split(const strsrc[], strdest[][], delimiter)
    {
    new i, li;
    new aNum;
    new len;
    while(i <= strlen(strsrc))
    {
    if(strsrc[i] == delimiter || i == strlen(strsrc))
    {
    len = strmid(strdest[aNum], strsrc, li, i, 128);
    strdest[aNum][len] = 0;
    li = i+1;
    aNum++;
    }
    i++;
    }
    return 1;
    }


    EDIT: Es lag an dem MySQL Include ^^
    Da war auch ein Split drinne, leider kein nützliches für mich :)