Beiträge von [RG]Stormi25

    Hallo zsm, Hallo Jeffry



    ich möchte beim Befehl des Tankens am besten irgendwie oben im Enum die Tankpunkte definieren


    so sieht mein Befehl zur zeit aus


    ocmd:tanken(playerid,params[])
    {
    new vID,seat;
    if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid,RED,"Du bist in keinem Fahrzeug!");
    seat = GetPlayerVehicleSeat(playerid);
    if(seat != 0) return SendClientMessage(playerid,RED,"Du musst der Fahrer des Fahreugs sein um dies tanken zu können!");
    vID = GetPlayerVehicleID(playerid);
    //Ab hier muss das Fahrzeug betankt werden
    SetTimerEx("OnPlayerCarFill",2000,false,"ii",playerid,vID);
    return 1;
    }


    forward OnPlayerCarFill(playerid,vID);
    public OnPlayerCarFill(playerid,vID)
    {
    new string[128],preis;
    if(cInfo[vID][liter] < 96 || IsPlayerInAnyVehicle(playerid)) {
    cInfo[vID][liter] = cInfo[vID][liter] + 5;

    format(string,sizeof(string),"UPDATE autos SET tank='%i' AND Zustand='%i' WHERE besitzer='%i' AND id='%i'",cInfo[vID][liter],cInfo[vID][zustand],sInfo[playerid][db_id],cInfo[vID][db_id]);
    mysql_function_query(dbhandle,string,false,"","");
    format(string,sizeof(string),"Dein aktueller Tankstatus beträgt: %i Liter",cInfo[vID][liter]);
    SendClientMessage(playerid,CL_ORANGE,string);
    preis = preis + 50;
    printf("Fahrzeug wird befüllt || Aktueller Preis = %i",preis);
    SetTimerEx("OnPlayerCarFill",2000,false,"ii",playerid,vID);

    }
    else
    {
    format(string,sizeof(string),"Dein Fahrzeug wurde erfolgreich betankt! Der Füllvorgang kostet %i Euro und wird dir sofort abgezogen!",preis);
    SendClientMessage(playerid,RED,string);
    GivePlayerMoney(playerid,-preis);
    preis = 0;
    }
    return 1;
    }


    vlt könnt ihr mir nen anstups geben

    Jeffry


    Hier
    if(dialogid == DIALOG_AGE_CHANGE)
    {
    if(response)
    {
    //
    new string[256],pID;
    pID = GetPVarInt(playerid,"changeID");

    new input = strval(inputtext);
    new length = strlen(inputtext);
    printf("lenght = %i",length);
    if(length < 3) {

    format(string,sizeof(string),"Du hast das Alter von %s zu %i geändert",SpielerName(pID),input);
    SendClientMessage(playerid,CL_GREEEN,string);
    sInfo[pID][alter] = input;
    format(string,sizeof(string),"%s hat dein Alter aktualisiert; Neues Alter:%i",SpielerName(playerid),sInfo[pID][alter]);
    SendClientMessage(pID,CL_GREEEN,string);
    sInfo[pID][alter] = inputtext[256];
    format(string,sizeof(string),"UPDATE user SET `alter`='%i' WHERE `username`='%s'",sInfo[pID][alter],SpielerName(pID));
    mysql_function_query(dbhandle,string,false,"","");
    printf("string = %s",string);
    return 1;
    }
    else
    {
    format(string,sizeof(string),"Gib bitte das neue Alter von %s, Playerid %i ein! MAX 2 stellig!",SpielerName(pID),pID);
    ShowPlayerDialog(playerid,DIALOG_AGE_CHANGE,DIALOG_STYLE_INPUT,"Alterswechsel",string,"OK","Abbruch");
    }


    }
    else
    {
    printf("alterchange return 1");
    return 1;
    }
    }


    kann mir da denn keiner helfen?

    Hallo zusammen,


    ich wollte das ganze hier mal pushen da wir noch jede menge freie SA:MP Server haben.


    Wir freuen uns auf Anfragen.


    Ich bin weiterhin für euch im Support tätig und freue mich auf eure Fragen :)


    gleichzeitig wollte ich BoomRMX mal loben denn er ist mit einer der nettesten Personen/Kollegen die ich kenne :D

    MYSQL LOG
    [21:45:36] [WARNING] CMySQLResult::GetRowDataByName - field not found ("motorrschein")
    [21:45:36] [ERROR] cache_get_field_content_int - invalid datatype
    [21:45:36] [WARNING] CMySQLResult::GetRowDataByName - field not found ("deaths")
    [21:45:36] [ERROR] cache_get_field_content_int - invalid datatype
    [21:45:36] [WARNING] CMySQLResult::GetRowDataByName - field not found ("kills")
    [21:45:36] [ERROR] cache_get_field_content_int - invalid datatype
    [21:45:36] [WARNING] CMySQLResult::GetRowDataByName - field not found ("u_warns")
    [21:45:36] [ERROR] cache_get_field_content_int - invalid datatype
    [21:45:36] [WARNING] CMySQLResult::GetRowDataByName - field not found ("f_warns")
    [21:45:36] [ERROR] cache_get_field_content_int - invalid datatype
    [21:45:36] [WARNING] CMySQLResult::GetRowDataByName - field not found ("fmoneyin")
    [21:45:36] [ERROR] cache_get_field_content_int - invalid datatype
    [21:45:36] [WARNING] CMySQLResult::GetRowDataByName - field not found ("fmoneyout")
    [21:45:36] [ERROR] cache_get_field_content_int - invalid datatype
    [21:45:36] [WARNING] CMySQLResult::GetRowDataByName - field not found ("bankguthaben")
    [21:45:36] [ERROR] cache_get_field_content_int - invalid datatype





    Das ist alles was im Log steht Jeffry

    Habe hier ein Befehl der nicht richtig funktioniert


    Führe ich ihn manuell aus bekomme ich folgendes (also per DB direkt)


    #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'alter='18' WHERE username='Stormi25'' at line 1


    so siehts im Script aus


    format(string,sizeof(string),"UPDATE user SET alter='%i' WHERE username='%s'",sInfo[pID][alter],SpielerName(pID));


    Jeffry :D

    Hallo, habe administrativ mal einen Befehl gebaut wo man einige Infos ändern kann wie z.B auch den Namen und das Alter



    Leider wird mir nur der 1. Dialog aufgerufen, alle weiteren leider nicht


    dann habe ich versucht es zu debuggen mit Prints aber es wird nicht geprintet


    vlt könnt ihr mir helfen Jeffry ne Nuss für dich :D
    public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
    {
    if(dialogid == DIALOG_CHANGE_ANY)
    {
    new string[256],pID;
    pID = GetPVarInt(playerid,"changeID");
    if(response)
    {
    //SpielerName(pID),sInfo[pID][alter],sInfo[playerid][rang],sInfo[playerid][fraktion],sInfo[pID][treue]
    if(listitem == 0)
    {
    format(string,sizeof(string),"Gib bitte den neuen Namen von %s, Playerid %i ein!",SpielerName(pID),pID);
    ShowPlayerDialog(playerid,DIALOG_NAME_CHANGE,DIALOG_STYLE_INPUT,"Name ändern",string,"OK","Abbruch");
    printf("Namechange 1");
    return 1;
    }
    if(listitem == 1)
    {
    format(string,sizeof(string),"Gib bitte das neue Alter von %s, Playerid %i ein!",SpielerName(pID),pID);
    ShowPlayerDialog(playerid,DIALOG_AGE_CHANGE,DIALOG_STYLE_INPUT,"Alterswechsel",string,"OK","Abbruch");
    printf("Namechange 2");
    return 1;
    }
    }
    printf("Namechange Abbruch");
    }

    if(dialogid == DIALOG_NAME_CHANGE)
    {
    if(response)
    {
    //
    new string[256],pID;
    format(string,sizeof(string),"Du hast den Namen zu %s geändert!",inputtext);
    SendClientMessage(playerid,CL_GREEEN,string);
    SetPlayerName(pID,inputtext);
    changename(pID,inputtext);
    return 1;
    }
    else
    {
    return 1;
    }
    }

    if(dialogid == DIALOG_AGE_CHANGE)
    {
    if(response)
    {
    //
    new string[256],pID;
    pID = GetPVarInt(playerid,"changeID");
    new input = strval(inputtext);
    if(input <= 3) {

    format(string,sizeof(string),"Du hast das Alter zu %i geändert",input);
    SendClientMessage(playerid,CL_GREEEN,string);
    format(string,sizeof(string),"%s hat dein Alter aktualisiert;%i",input);
    SendClientMessage(pID,CL_GREEEN,string);
    sInfo[pID][alter] = inputtext[256];
    format(string,sizeof(string),"UPDATE user SET alter='%i' WHERE username='%s' AND id='%i'",input,SpielerName(pID),sInfo[pID][db_id]);
    mysql_function_query(dbhandle,string,false,"","");
    return 1;
    }
    else
    {
    format(string,sizeof(string),"Gib bitte das neue Alter von %s, Playerid %i ein! MAX 2 stellig!",SpielerName(pID),pID);
    ShowPlayerDialog(playerid,DIALOG_AGE_CHANGE,DIALOG_STYLE_INPUT,"Alterswechsel",string,"OK","Abbruch");
    }


    }
    else
    {
    return 1;
    }
    }


    und der befehl



    ocmd:changeme(playerid,params[])
    {
    new pID,string[1024];
    if(!isAdmin(playerid,9))
    {
    if(sscanf(params,"i",pID)) return SendClientMessage(playerid,RED,"Benutze /changeme [PID vom Spieler]");
    SetPVarInt(playerid,"changeID",pID);
    format(string,sizeof(string),"Name ändern (Aktuell %s)\nAlter ändern (Aktuell %i)\nFraktionsrang (Aktuell %i)\nFraktion (Aktuell %i)\nTreuepunkte (Aktuell %i)",
    SpielerName(pID),sInfo[pID][alter],sInfo[playerid][rang],sInfo[playerid][fraktion],sInfo[pID][treue]);
    ShowPlayerDialog(playerid,DIALOG_CHANGE_ANY,DIALOG_STYLE_LIST,"Ändern allgemeiner Statistiken",string,"OK","Abbruch");
    }
    else
    {
    SendClientMessage(playerid,RED,"ACHTUNG, das Ändern einer Einstellung kostet dich 50.000$, ausgenommen ist das Alter!");
    format(string,sizeof(string),"Name ändern (Aktuell %s)\nAlter ändern (Aktuell %i)",
    SpielerName(pID),sInfo[pID][alter]);
    ShowPlayerDialog(playerid,DIALOG_CHANGE_ME,DIALOG_STYLE_LIST,"Ändern eigener Statistiken",string,"OK","Abbruch");
    return 1;
    }

    return 1;
    }

    Externer Inhalt www.youtube.com
    Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.
    Durch die Aktivierung der externen Inhalte erklären Sie sich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.

    new playerName[MAX_PLAYER_NAME+1], string[sizeIndex];
    GetPlayerName(playerid, playerName, sizeof(playerName));



    das kann man sich auch auf 2 arten sparen


    entweder du nimmst
    GetPlayerName(playerid); direkt ins format rein


    oder


    stock SpielerName(playerid)
    {
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    return name;
    }


    man verwendet jedes mal Spielername(playerid);