[Bug] leerer Tank wenn Autos spawnen

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
  • Nabend!
    Ich habe mir ein selfmade Script heruntergeladen, weil ich selbst nicht scripten kann.
    Kommen wir auf den Punkt, wenn ich mit /veh Autos spawne, ist immer der Tank leer. Wie kann man das beheben?
    Sagt wenn ihr etwas braucht (server_log, server,cfg, name des gamemodes :D)
    lg
    Th3Lagg3r

    Einmal editiert, zuletzt von Th3Lagg3r ()

  • nein, leider nicht. Ich habe jetzt 5 Minuten lang die Serverdateien durchgesehen, aber nirgendwo steht was zum Tank geschweige denn von Autos.


    Ich muss dazu sagen, der ganze Gamemode ist ein bisschen buggy, aber ich finde keinen. Sämtliche Gamemodes die ich versuche auf meinen Server zu machen, legen den down (naja, bis auf dieser Gamemode).



    EDIT (18:30) : Problem besteht immernoch. Jemand einen Lösungsvorschlag?


    EDIT²: Habe das Script wieder gefunden:
    [ GAMEMODE ] Selfmade by RedFly | RedAge

    2 Mal editiert, zuletzt von Th3Lagg3r ()

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Sorry, falschen Button gedrückt. Beitrag ist noch nicht erledigt :S
    if(strcmp(cmd, "/veh", true) == 0) { if(IsPlayerConnected(playerid)) { if(SpielerInfo[playerid][Adminlevel] < 5) { SendClientMessage(playerid, COLOR_GRAD2, " Du bist nicht befugt diesen Befehl zu nutzen! "); return 1; } tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_GRAD2, "Benutze: /veh [carid] [color1] [color2]."); return 1; } new car; car = strval(tmp); if(car < 400 || car > 611) { SendClientMessage(playerid, COLOR_GRAD2, " Fahrzeug Id muss mindestens 400 sein und darf nur bis 611 gehen !"); return 1; } tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_GRAD2, "Benutze: /veh [carid] [color1] [color2]."); return 1; } new color1; color1 = strval(tmp); if(color1 < 0 || color1 > 126) { SendClientMessage(playerid, COLOR_GRAD2, " Farbnummer muss von 0 bist 126 gehen !"); return 1; } tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_GRAD2, "Benutze: /veh [carid] [color1] [color2]."); return 1; } new color2; color2 = strval(tmp); if(color2 < 0 || color2 > 126) { SendClientMessage(playerid, COLOR_GRAD2, " Farbnummer muss von 0 bist 126 gehen !"); return 1; } new Float:X,Float:Y,Float:Z; GetPlayerPos(playerid, X,Y,Z); CreateVehicle(car, X,Y,Z, 0.0, color1, color2, -1); Tankmenge[car] = GasMax[car-400]; format(string, sizeof(string), " Fahrzeug %d wurde gespawnt.", car); SendClientMessage(playerid, COLOR_GRAD2, string); } return 1; }


    EDIT: Warum ist das nicht so abgebildet wie in pawno ?

  • if(strcmp(cmd, "/veh", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    if(SpielerInfo[playerid][Adminlevel] < 5)
    {
    SendClientMessage(playerid, COLOR_GRAD2, " Du bist nicht befugt diesen Befehl zu nutzen! ");
    return 1;
    }
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD2, "Benutze: /veh [carid] [color1] [color2].");
    return 1;
    }
    new car;
    car = strval(tmp);
    if(car < 400 || car > 611) { SendClientMessage(playerid, COLOR_GRAD2, " Fahrzeug Id muss mindestens 400 sein und darf nur bis 611 gehen !"); return 1; }
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD2, "Benutze: /veh [carid] [color1] [color2].");
    return 1;
    }
    new color1;
    color1 = strval(tmp);
    if(color1 < 0 || color1 > 126) { SendClientMessage(playerid, COLOR_GRAD2, " Farbnummer muss von 0 bist 126 gehen !"); return 1; }
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD2, "Benutze: /veh [carid] [color1] [color2].");
    return 1;
    }
    new color2;
    color2 = strval(tmp);
    if(color2 < 0 || color2 > 126) { SendClientMessage(playerid, COLOR_GRAD2, " Farbnummer muss von 0 bist 126 gehen !"); return 1; }
    new Float:X,Float:Y,Float:Z;
    GetPlayerPos(playerid, X,Y,Z);
    CreateVehicle(car, X,Y,Z, 0.0, color1, color2, -1);
    Tankmenge[car] = GasMax[car-400];
    format(string, sizeof(string), " Fahrzeug %d wurde gespawnt.", car);
    SendClientMessage(playerid, COLOR_GRAD2, string);
    }
    return 1;
    }


    EDIT: geht immernoch nicht, habs jetzt als quellcode gepostet


  • Das müsste eigentlich gehen..
    Such mal in deinen Script nach 'Tankmenge' ob das überhaupt definiert ist..
    Also STRG + F Und da gibst du 'Tankmenge' ein.


  • if(strcmp(cmd, "/veh", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    if(SpielerInfo[playerid][Adminlevel] < 5)
    {
    SendClientMessage(playerid, COLOR_GRAD2, " Du bist nicht befugt diesen Befehl zu nutzen! ");
    return 1;
    }
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD2, "Benutze: /veh [carid] [color1] [color2].");
    return 1;
    }
    new car;
    car = strval(tmp);
    if(car < 400 || car > 611) { SendClientMessage(playerid, COLOR_GRAD2, " Fahrzeug Id muss mindestens 400 sein und darf nur bis 611 gehen !"); return 1; }
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD2, "Benutze: /veh [carid] [color1] [color2].");
    return 1;
    }
    new color1;
    color1 = strval(tmp);
    if(color1 < 0 || color1 > 126) { SendClientMessage(playerid, COLOR_GRAD2, " Farbnummer muss von 0 bist 126 gehen !"); return 1; }
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD2, "Benutze: /veh [carid] [color1] [color2].");
    return 1;
    }
    new color2;
    color2 = strval(tmp);
    if(color2 < 0 || color2 > 126) { SendClientMessage(playerid, COLOR_GRAD2, " Farbnummer muss von 0 bist 126 gehen !"); return 1; }
    new Float:X,Float:Y,Float:Z;
    GetPlayerPos(playerid, X,Y,Z);
    CreateVehicle(car, X,Y,Z, 0.0, color1, color2, -1);
    Tankmenge[Wagen] = GasMax[GetVehicleModel(Wagen)-400];
    format(string, sizeof(string), " Fahrzeug %d wurde gespawnt.", car);
    SendClientMessage(playerid, COLOR_GRAD2, string);
    }
    return 1;
    }


    Probier's mal so :)


    //EDIT
    Hab sein Script vorliegen, so heißt es richtig :))

  • Mal ohne das Thema komplett zu lesen... ich würde sagen das der Tank einer Variable entspricht und da Variablen meist meist Null sind wenn man sie nicht anderweitig verändert
    wäre das wohl einer der Ursachen warum die der Tank auch Null ist, sprich du musst die Variable für die jeweilige Stelle auf den maximalen Wert für deine Tank Zahl setzen.

    Mfg. BlackFoX_UD_ alias [BFX]Explosion


  • Tankmenge = GasMax[GetVehicleModel(playerid)-400];

    Das Rot Makierte kann nicht gehen,
    da das Model per Vehicleid ausgegeben wird und nicht per playerid
    daher kommen da falsche werte raus
    So währe es richtig,
    da du CreateVehicle deklairen musst, damit die id von den GasMax richtig ist


    if(strcmp(cmd, "/veh", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    if(SpielerInfo[playerid][Adminlevel] < 5)
    {
    SendClientMessage(playerid, COLOR_GRAD2, " Du bist nicht befugt diesen Befehl zu nutzen! ");
    return 1;
    }
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD2, "Benutze: /veh [carid] [color1] [color2].");
    return 1;
    }
    new car;
    car = strval(tmp);
    if(car < 400 || car > 611) { SendClientMessage(playerid, COLOR_GRAD2, " Fahrzeug Id muss mindestens 400 sein und darf nur bis 611 gehen !"); return 1; }
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD2, "Benutze: /veh [carid] [color1] [color2].");
    return 1;
    }
    new color1;
    color1 = strval(tmp);
    if(color1 < 0 || color1 > 126) { SendClientMessage(playerid, COLOR_GRAD2, " Farbnummer muss von 0 bist 126 gehen !"); return 1; }
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD2, "Benutze: /veh [carid] [color1] [color2].");
    return 1;
    }
    new color2;
    color2 = strval(tmp);
    if(color2 < 0 || color2 > 126) { SendClientMessage(playerid, COLOR_GRAD2, " Farbnummer muss von 0 bist 126 gehen !"); return 1; }
    new Float:X,Float:Y,Float:Z;
    GetPlayerPos(playerid, X,Y,Z);
    new vehicle = CreateVehicle(car, X,Y,Z, 0.0, color1, color2, -1);//Hier kam eine deklairung
    Tankmenge[vehicle] = GasMax[car-400];//hier wiederholt sich die deklairung
    format(string, sizeof(string), " Fahrzeug %d wurde gespawnt.", car);
    SendClientMessage(playerid, COLOR_GRAD2, string);
    }
    return 1;
    }

    All in all it's just another brick in the wall

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen