Beiträge von Mr.Soap

    Wo den z.B du kannst auch einfach PlayerInfo[playerid][pAlter] Verwenden das ist der Interger (16)


    //Edit Außer im Dialog dort solltest du meine Funktion nutzen ich editier dir das gleich hier her



    if(dialogid == DIALOG_ALTER)
    {
    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_ALTER,DIALOG_STYLE_INPUT,"{00AFFF}"#SERVERNAME" {FFFFFF}- Information","Wir brauchen nun noch eine letzte persönliche Information von dir.\nWir möchten gerne wissen wie alt du bist, Angaben in TT.MM.JJJJ.","Weiter","Abbrechen");
    return 1;
    }
    if(!IsValidDate(strval(DateInfo[0]),strval(DateInfo[1]),strval(DateInfo[2])))
    {
    ShowPlayerDialog(playerid,DIALOG_ALTER,DIALOG_STYLE_INPUT,"{00AFFF}"#SERVERNAME" {FFFFFF}- Information","Wir brauchen nun noch eine letzte persönliche Information von dir.\nWir möchten gerne wissen wie alt du bist, Angaben in TT.MM.JJJJ.","Weiter","Abbrechen");
    return 1;
    }
    if(jahr - strval(DateInfo[2]) > 100 || strval(DateInfo[2]) < 1 || strval(DateInfo[2]) >= jahr)
    {
    ShowPlayerDialog(playerid,DIALOG_ALTER,DIALOG_STYLE_INPUT,"{00AFFF}"#SERVERNAME" {FFFFFF}- Information","Wir brauchen nun noch eine letzte persönliche Information von dir.\nWir möchten gerne wissen wie alt du bist, Angaben in TT.MM.JJJJ.","Weiter","Abbrechen");
    return 1;
    }
    new check = jahr - strval(DateInfo[2]);
    if(check == jahr)
    {
    ShowPlayerDialog(playerid,DIALOG_ALTER,DIALOG_STYLE_INPUT,"{00AFFF}"#SERVERNAME" {FFFFFF}- Information","Wir brauchen nun noch eine letzte persönliche Information von dir.\nWir möchten gerne wissen wie alt du bist, Angaben in TT.MM.JJJJ.","Weiter","Abbrechen");
    return 1;
    }
    if(strval(DateInfo[1]) > monat)
    {
    check -= 1;
    }
    else if(strval(DateInfo[1]) == monat && strval(DateInfo[0]) > tag)
    {
    check -= 1;
    }
    SpielerInfo[playerid][pAlter] = GetYearFromTimestamp(mktime(stunde,minute,sekunde,strval(DateInfo[0]),strval(DateInfo[1]),strval(DateInfo[2])));
    if(SpielerInfo[playerid][pAlter] < 10 && SpielerInfo[playerid][pAlter] > 80)
    {
    ShowPlayerDialog(playerid,DIALOG_ALTER,DIALOG_STYLE_INPUT,"{00AFFF}"#SERVERNAME" {FFFFFF}- Information","Wir brauchen nun noch eine letzte persönliche Information von dir.\nWir möchten gerne wissen wie alt du bist, Angaben in TT.MM.JJJJ.","Weiter","Abbrechen");
    return 1;
    }
    format(string,sizeof(string),"In Ordnung, du bist also %i Jahre alt.",SpielerInfo[playerid][pAlter]);
    SendClientMessage(playerid,COLOR_ROT,string);
    return 1;
    }
    }

    Sry auf Enter gekommen ich editier gleich



    if(dialogid == DIALOG_ALTER)
    {
    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_ALTER,DIALOG_STYLE_INPUT,"{00AFFF}"#SERVERNAME" {FFFFFF}- Information","Wir brauchen nun noch eine letzte persönliche Information von dir.\nWir möchten gerne wissen wie alt du bist, Angaben in TT.MM.JJJJ.","Weiter","Abbrechen");
    return 1;
    }
    if(!IsValidDate(strval(DateInfo[0]),strval(DateInfo[1]),strval(DateInfo[2])))
    {
    ShowPlayerDialog(playerid,DIALOG_ALTER,DIALOG_STYLE_INPUT,"{00AFFF}"#SERVERNAME" {FFFFFF}- Information","Wir brauchen nun noch eine letzte persönliche Information von dir.\nWir möchten gerne wissen wie alt du bist, Angaben in TT.MM.JJJJ.","Weiter","Abbrechen");
    return 1;
    }
    if(jahr - strval(DateInfo[2]) > 100 || strval(DateInfo[2]) < 1 || strval(DateInfo[2]) >= jahr)
    {
    ShowPlayerDialog(playerid,DIALOG_ALTER,DIALOG_STYLE_INPUT,"{00AFFF}"#SERVERNAME" {FFFFFF}- Information","Wir brauchen nun noch eine letzte persönliche Information von dir.\nWir möchten gerne wissen wie alt du bist, Angaben in TT.MM.JJJJ.","Weiter","Abbrechen");
    return 1;
    }
    new check = jahr - strval(DateInfo[2]);
    if(check == jahr)
    {
    ShowPlayerDialog(playerid,DIALOG_ALTER,DIALOG_STYLE_INPUT,"{00AFFF}"#SERVERNAME" {FFFFFF}- Information","Wir brauchen nun noch eine letzte persönliche Information von dir.\nWir möchten gerne wissen wie alt du bist, Angaben in TT.MM.JJJJ.","Weiter","Abbrechen");
    return 1;
    }
    if(strval(DateInfo[1]) > monat)
    {
    check -= 1;
    }
    else if(strval(DateInfo[1]) == monat && strval(DateInfo[0]) > tag)
    {
    check -= 1;
    }
    if(AgeOfPlayer(playerid) < 10 && AgeOfPlayer(playerid) > 80)
    {
    ShowPlayerDialog(playerid,DIALOG_ALTER,DIALOG_STYLE_INPUT,"{00AFFF}"#SERVERNAME" {FFFFFF}- Information","Wir brauchen nun noch eine letzte persönliche Information von dir.\nWir möchten gerne wissen wie alt du bist, Angaben in TT.MM.JJJJ.","Weiter","Abbrechen");
    return 1;
    }
    SpielerInfo[playerid][pAlter] = GetYearFromTimestamp(mktime(stunde,minute,sekunde,strval(DateInfo[0]),strval(DateInfo[1]),strval(DateInfo[2])));
    format(string,sizeof(string),"In Ordnung, du bist also %i Jahre alt.",AgeOfPlayer(playerid));
    SendClientMessage(playerid,COLOR_ROT,string);
    return 1;
    }
    }

    Dann speicher doch die Rückgabe von AgeOfPlayer

    format(query, sizeof(query), "UPDATE `accounts` SET `Level` = '%d',`Adminlevel` = '%d',`Online` = '%d',`Datum` = '%s',`Geschlecht` = '%i',`Alter` = '%i' WHERE `Name` = '%s'",
    SpielerInfo[playerid][pLevel],SpielerInfo[playerid][pAdminlevel],SpielerInfo[playerid][pOnline],SpielerInfo[playerid][pDatum],SpielerInfo[playerid][pGeschlecht],AgeOfPlayer(playerid),SpielerInfo[playerid][pName]);

    Evtl. Solltest du auch mal deine Load Funktion zeigen sonst wird dein AgeOfPlayer nur einmal beim Registrieren Funktionieren,...


    Alternative Funktion:



    stock GetYearFromTimestamp(stamp)
    {
    new yearold = gettime() - stamp;
    return floatround(yearold/31536000);
    }


    Sollte aber auch so gehen

    stock GetYearFromTimestamp(stamp) {
    return floatround((gettime() - stamp)/31536000);
    }

    Oder so:

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


    Falls etwas nicht klappt nicht böse sein war nen halbes Jahr nicht mehr am Scripten und beginne nun wieder

    Ich finde das Tutorial eher ungeeignet es wirkt fast als ob du selbst nicht genau weist was du machst,...


    - Du Speicherst die Killerid als PvarInt aber den namen nicht als PvarString ?
    - Für was bei einmaligen Aufruf vom Namen einen eigenen Stock?
    ,...


    Verbesser dein Tutorial am besten noch mal ein bisschen


    ocmd:clear(playerid,params[]) {
    if(!isPlayerInFrakt(playerid,1))return SendClientMessage(playerid,WEIß,"Du kannst diesen Befehl nicht nutzen");
    if(!DutyPD[playerid])return SendClientMessage(playerid,WEIß,"Du bist nicht im Dienst");
    new pID, s[64];
    if(sscanf(params,"i",pID))return SendClientMessage(playerid,WEIß,"Benutze: /Clear [PLAYERID] ");
    SetPlayerWantedLevel(pID,0);
    format(s,sizeof(s),"Polizist %s hat deine Akte verbrannt",sName(playerid));
    SendClientMessage(pID,GRAU,s);
    return 1;
    }

    Sollte Funktionieren ein Wenig(nicht ganz) optimiert ;)

    Hallo, Community ich dachte mir ich mach mal einen Thread
    wo man Texturierte Objekte Vorstellen kann (Auch mit Code)
    Ich fang einfach mal mit einem Beispiel an:


    Beschreibung:


    Schicke Natur Lampen kann auf alle Bollard Lights angewandt werden


    Bild:



    Code:



    SetDynamicObjectMaterial(DeinObjekt, 1, 19366, "all_walls", "mp_furn_floor", 0);


    Evtl. Kann ein Admin den Thread ja vom Präfix Befreien und bei Erfolg anheften