Beiträge von Jeffry

    Ja, jetzt hast du den print nur bei deinem OnPlayerStateChange eingefügt.
    Du hast auch noch einen Timer, bei dem der Tankwert aktualisiert wird. Suche mal nach "~r~Tank:" (ohne die Anführungszeichen), dann siehst du wo das überall verwendet wird. Da muss es noch einen Timer geben, der den Wert aktualisiert, denn die Berechnung ist korrekt.

    Und jetzt sollen wir erraten was das Problem ist? :rolleyes:



    Wie sieht deine Tabelle aus, aus der du die Daten lädst?
    Wie sieht der Code jetzt aus, mit dem du das lädst?
    Was sagt der MySQL Log?
    Wie sieht der Befehl aus?

    Nein.
    Schau mal wie es hier gemacht wurde: [ FILTERSCRIPT ] Dynamisches Fraktion System


    Wie gesagt, du brauchst ein kompletten Fraktionssystem, du hast momentan gar nichts.


    Ich rate dir erst mal die Grundlagen von so einem System zu lernen und aufzubauen, bevor du dich gleich da dran setzt, da du offensichtlich die Funktionsweise von enums und allem was dazugehört noch nicht kennst.

    Dann ändere
    format(string2,sizeof(string2),"~r~Tank:%s %0.1f ", Tank, Gas[VID]);
    zu:
    format(string2,sizeof(string2),"~r~Tank:%s %0.1f ", Tank, Gas[VID]);
    printf("string2: %s", string2);
    printf("VID: %d, playerid: %d", VID, playerid);


    Was wird geprintet?

    Dann hast du entweder die prints nicht eingefügt, oder der Fehler liegt nicht am /carsell Befehl, denn mindestens dieser print müsste kommen:
    printf("carkey: %d", CarKey[playerid]);


    Welche Variable hast du denn mit [45] deklariert?

    Prinzipiell so, aber das kann je nach Tabellenstruktur auch anders aussehen:
    stock updaterang()
    {
    new str[512],id=0;
    mysql_query("SELECT * FROM `aranks`");
    mysql_store_result();
    if(mysql_retrieve_row())
    {
    mysql_fetch_field_row(arang1[id],"arang1");
    mysql_fetch_field_row(arang2[id],"arang2");
    mysql_fetch_field_row(arang3[id],"arang3");
    mysql_fetch_field_row(arang4[id],"arang4");
    }
    mysql_free_result();
    return 1;
    }

    Nächstes mal bitte auch die prints von mir dazu posten, dann erspare ich mir die Sucherei.
    new preis = (Kaufliste[Carlist[playerid][CarKey[playerid]][Typ]][Preis]/5)*4;
    zu:
    new preis = (Kaufliste[Carlist[playerid][CarKey[playerid]][Typ]-400][Preis]/5)*4;

    Naja, dann so:
    ocmd:leaderliste(playerid,params[])
    {
    if(PlayerInfo[playerid][pEingeloggt] < 1 ) return SendClientMessage(playerid,Rot,"Du kannst diesen Befehl nicht nutzen, weil du nicht eingeloggt bist.");
    new string[1024];
    for(new i=0; i<MAX_PLAYERS; i++)
    {
    if(!IsPlayerConnected(i)) continue;
    if(PlayerInfo[playerid][pLeader] == 0) continue;
    format(string, sizeof(string), "%s%s: Leader: %s\n", string, LeaderRank(i), SpielerName(i));
    }
    ShowPlayerDialog(playerid,DIALOG_LEADERS,DIALOG_STYLE_MSGBOX,"Leader Liste",string,"Schliesen","");
    return 1;
    }

    Also so wie das aussieht weist du der Gas Variable doch irgendwo noch einen Integer zu.
    Denn bei dem anderen Fahrzeug geht es ja, oder warum kommt der print 2x?


    Ändere den print mal zu:
    printf("Gas: %0.1f | playerid: %d | veh: %d", Gas[veh],playerid,veh);


    Dann prüfe mal, ob du nicht irgendwo der Gas Variable doch noch einen Integer zuweist.
    Wenn du das gemacht hast, und die Änderungen hast, poste den Log nochmal, außer es geht dann.

    Schreibe es mal so, was steht im Log?

    Spoiler anzeigen
    if(strcmp("/carsell", cmd, true) == 0)
    {
    printf("carkey: %d", CarKey[playerid]);
    if(Carlist[playerid][CarKey[playerid]][Typ] != -1)
    {
    if(Carlist[playerid][CarKey[playerid]][Carid] != -1)
    {
    printf("typ: %d", Carlist[playerid][CarKey[playerid]][Typ]);
    new preis = (Kaufliste[Carlist[playerid][CarKey[playerid]][Typ]][Preis]/5)*4;
    GivePlayerMoneys(playerid, preis);
    printf("preis: %d", preis);
    DestroyVehicleSelfmade(Carlist[playerid][CarKey[playerid]][Carid]);
    Carlist[playerid][CarKey[playerid]][Typ]=-1;
    Carlist[playerid][CarKey[playerid]][pos_x]=0.0;
    Carlist[playerid][CarKey[playerid]][pos_y]=0.0;
    Carlist[playerid][CarKey[playerid]][pos_z]=0.0;
    Carlist[playerid][CarKey[playerid]][z_angle]=0.0;
    Carlist[playerid][CarKey[playerid]][Status]=0;
    Carlist[playerid][CarKey[playerid]][Lock]=0;
    Carlist[playerid][CarKey[playerid]][Carid]=-1;
    Carlist[playerid][CarKey[playerid]][Farbe1]=-1;
    Carlist[playerid][CarKey[playerid]][Farbe2]=-1;
    Carlist[playerid][CarKey[playerid]][mod1]=-1;
    Carlist[playerid][CarKey[playerid]][mod2]=-1;
    Carlist[playerid][CarKey[playerid]][mod3]=-1;
    Carlist[playerid][CarKey[playerid]][mod4]=-1;
    Carlist[playerid][CarKey[playerid]][mod5]=-1;
    Carlist[playerid][CarKey[playerid]][mod6]=-1;
    Carlist[playerid][CarKey[playerid]][mod7]=-1;
    Carlist[playerid][CarKey[playerid]][mod8]=-1;
    Carlist[playerid][CarKey[playerid]][mod9]=-1;
    Carlist[playerid][CarKey[playerid]][mod10]=-1;
    Carlist[playerid][CarKey[playerid]][mod11]=-1;
    Carlist[playerid][CarKey[playerid]][mod12]=-1;
    Carlist[playerid][CarKey[playerid]][mod13]=-1;
    Carlist[playerid][CarKey[playerid]][mod14]=-1;
    Carlist[playerid][CarKey[playerid]][mod15]=-1;
    Carlist[playerid][CarKey[playerid]][mod16]=-1;
    Carlist[playerid][CarKey[playerid]][mod17]=-1;
    Carlist[playerid][CarKey[playerid]][Paintjob]=-1;
    Carlist[playerid][CarKey[playerid]][OwnerID] = playerid;
    Carlist[playerid][CarKey[playerid]][SpawnSaveX]=0.0;
    Carlist[playerid][CarKey[playerid]][SpawnSaveY]=0.0;
    Carlist[playerid][CarKey[playerid]][SpawnSaveZ]=0.0;
    Carlist[playerid][CarKey[playerid]][SpawnSaveRot]=0.0;
    Carlist[playerid][CarKey[playerid]][TankVolumen]=0;
    Carlist[playerid][CarKey[playerid]][StandTime] = 0;
    Carlist[playerid][CarKey[playerid]][Neon]=0;
    Carlist[playerid][CarKey[playerid]][NeonType]=1;
    format(string, sizeof(string), "Du hast erfolgreich dein Auto für %s$ verkauft!",GetPoint(preis));
    SendClientMessage(playerid, COLOR_RED, string);
    GetPlayerName(playerid, sendername, sizeof(sendername));
    format(string, sizeof(string), "%s hat sein Auto verkauft!",sendername,preis);
    printf(string);
    }
    else
    {
    SendClientMessage(playerid, COLOR_ERRORTEXT, " Du besitzt zur Zeit kein Auto auf dem ausgewählten Schlüssel !");
    return 1;
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_ERRORTEXT, " Du besitzt kein Auto auf dem ausgewählten Schlüssel !");
    return 1;
    }
    return 1;
    }

    Das ist die Deklaration, nicht die Wertzuweisung.
    Außerdem hast du meine Frage nicht beantwortet:

    Zitat

    Soll das Auto, in dem du bist, verkauft werden, oder wie kann ich den Befehl verstehen?