Tacho - Tank Problem

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Tacho - Tank Problem

    PAWN-Quellcode

    1. stock UpdatePlayerTacho(playerid)
    2. {
    3. if(IsPlayerInAnyVehicle(playerid))
    4. {
    5. new string[128],
    6. vehicleid,
    7. model,
    8. Float:CarHealth,
    9. CarHealthIni,
    10. Float:TankInProzent,
    11. Float:Tank;
    12. vehicleid = GetPlayerVehicleID(playerid);
    13. model = GetVehicleModel(vehicleid);
    14. //GetVehiclePos(vehicleid, Vehicle[vehicleid][vehPosX2], Vehicle[vehicleid][vehPosY2], Vehicle[vehicleid][vehPosZ2]);
    15. if(IsAFahrrad(model))return 1;
    16. TankInProzent = VehicleData[GetVehicleModel(vehicleid)-400][vehMaxTank]/100;
    17. Tank = Vehicle[vehicleid][vehFuel];
    18. GetVehicleHealth(vehicleid, CarHealth);
    19. CarHealthIni = floatround((CarHealth - 250.0) / 7.5, floatround_floor);
    20. if(CarHealthIni < 0) CarHealthIni = 0;
    21. format(string, sizeof(string), "~b~%s: ~w~%d%", VehicleName[GetVehicleModel(vehicleid)-400],CarHealthIni);
    22. PlayerTextDrawSetString(playerid, pTextSpeedo[playerid][3], string);
    23. format(string, sizeof(string), "%d km/h", GetVehicleSpeed(vehicleid));
    24. PlayerTextDrawSetString(playerid, pTextSpeedo[playerid][4], string);
    25. format(string, sizeof(string), "~b~KM-Stand:~w~ %.1f", Vehicle[vehicleid][vehKMStand]);
    26. PlayerTextDrawSetString(playerid, pTextSpeedo[playerid][2], string);
    27. new Float:position = 514.0;
    28. position += Tank/TankInProzent;
    29. PlayerTextDrawTextSize(playerid, pTextSpeedo[playerid][1], position, 0.0);
    30. if(Tank/TankInProzent >= 50 && Tank/TankInProzent <= 100){
    31. PlayerTextDrawBoxColor(playerid, pTextSpeedo[playerid][1], 828254308);
    32. }
    33. if(Tank/TankInProzent <= 49 && Tank/TankInProzent >= 25){
    34. PlayerTextDrawBoxColor(playerid, pTextSpeedo[playerid][1], -945203201);
    35. }
    36. if(Tank/TankInProzent >= 0 && Tank/TankInProzent <= 24){
    37. PlayerTextDrawBoxColor(playerid, pTextSpeedo[playerid][1], -1625941249);
    38. }
    39. PlayerTextDrawShow(playerid, pTextSpeedo[playerid][1]);
    40. format(string, sizeof(string), "~b~Tank: ~w~%d/%d ~b~L", floatround(Tank/TankInProzent));
    41. PlayerTextDrawSetString(playerid, pTextSpeedo[playerid][1], string);
    42. }
    43. return 1;
    44. }
    Alles anzeigen



    Hallo, es wird alles super angezeigt funktioniert auch.

    so wen ich aber in ein Fahrzeug steige vom Script her zeigt er mir Tank: 0 an das das Auto leer ist. wen ich /motor eingebe ist der Tank tatsächlich leer.
    Wen ich ein Fahrzeug ingame erstelle ist der Tank voll und wird auch gespeichert.
    Komisch ist das nur die Fahrzeuge Leer sind die ihm Script drinnen sind.
  • Dr. Frauenarzt schrieb:

    Hallo, es wird alles super angezeigt funktioniert auch.

    so wen ich aber in ein Fahrzeug steige vom Script her zeigt er mir Tank: 0 an das das Auto leer ist. wen ich /motor eingebe ist der Tank tatsächlich leer.
    Wen ich ein Fahrzeug ingame erstelle ist der Tank voll und wird auch gespeichert.
    Komisch ist das nur die Fahrzeuge Leer sind die ihm Script drinnen sind.
    Hey,

    was du probieren kannst ist unter OngamemodeInit nachdem(!) deine fahrzeuge erstellt wurden den tank auf 100 mit einer for schleife zu setzen.
    anschließend kannst du pro fahrzeug bei onvehiclespawn die richtigen liter setzen, wenn du verstehst was ich meine.

    je nach dem wie dus haben willst.

    mfg
    Mit freundlichen Grüßen,

    Keslo
  • Keslo schrieb:

    Dr. Frauenarzt schrieb:

    Hallo, es wird alles super angezeigt funktioniert auch.

    so wen ich aber in ein Fahrzeug steige vom Script her zeigt er mir Tank: 0 an das das Auto leer ist. wen ich /motor eingebe ist der Tank tatsächlich leer.
    Wen ich ein Fahrzeug ingame erstelle ist der Tank voll und wird auch gespeichert.
    Komisch ist das nur die Fahrzeuge Leer sind die ihm Script drinnen sind.
    Hey,
    was du probieren kannst ist unter OngamemodeInit nachdem(!) deine fahrzeuge erstellt wurden den tank auf 100 mit einer for schleife zu setzen.
    anschließend kannst du pro fahrzeug bei onvehiclespawn die richtigen liter setzen, wenn du verstehst was ich meine.

    je nach dem wie dus haben willst.

    mfg
    Die Frage ist an was es liegt. habe den Tacho verändert neu gemacht und überarbeitet vorhin ging es noch nun leider nicht mehr weiß aber nicht warum.


    //E:

    PAWN-Quellcode

    1. public OnVehicleTimer(vehicleid)
    2. {
    3. new model;
    4. new i = vehicleid;
    5. if(IsValidVehicle(i))
    6. {
    7. model = GetVehicleModel(i);
    8. if(!IsAFahrrad(model))
    9. {
    10. Vehicle[i][vehKMStandCount] += GetDistanceToLastPoint(i);
    11. if(Vehicle[i][vehKMStandCount] > 100)
    12. {
    13. Vehicle[i][vehKMStand] += 0.1;
    14. Vehicle[i][vehKMStandCount] = 0;
    15. }
    16. if(Vehicle[i][vehMotor] == true)
    17. {
    18. if(Vehicle[i][vehFuel] > 0.0)
    19. {
    20. Vehicle[i][vehTankKM] += GetDistanceToLastPoint(i);
    21. if(Vehicle[i][vehTankKM] > 150)
    22. {
    23. Vehicle[i][vehFuel] -= VehicleData[GetVehicleModel(i)-400][vehTankVerbrauch]/10;
    24. Vehicle[i][vehTankKM] = 0;
    25. }
    26. SaveVehicleCoords(i);
    27. }
    28. else if(Vehicle[i][vehFuel] <= 0.0)
    29. {
    30. Vehicle[i][vehFuel] = 0;
    31. Vehicle[i][vehMotor] = false;
    32. KillTimer(Vehicle[i][VehicleTimer]);
    33. GetVehicleParamsEx(i, engine, lights, alarm, doors, bonnet, boot, objective);
    34. SetVehicleParamsEx(i, VEHICLE_PARAMS_OFF, lights, alarm, doors, bonnet, boot, objective);
    35. for(new j=0;i<GetMaxPlayers();j++)
    36. {
    37. if(IsLoggedIn(j))
    38. {
    39. if(GetPlayerVehicleID(j) == i)
    40. {
    41. if(GetPlayerVehicleSeat(j) == 0)
    42. {
    43. SendClientMessage(j, COLOR_GREY, "** Dein Tank ist leer!");
    44. break;
    45. }
    46. }
    47. }
    48. }
    49. }
    50. }
    51. }
    52. }
    53. return 1;
    54. }
    Alles anzeigen