Motor- und Tanksystem

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
  • Ich habe Warns + Errors :D .Wie immerxD


    Naja eingetlich nur Error fast :) hier mal die Fehler...



    C:\Users\acer\Desktop\0.3c Neu\gamemodes\Neu.pwn(1209) : error 029: invalid expression, assumed zero
    C:\Users\acer\Desktop\0.3c Neu\gamemodes\Neu.pwn(1209) : warning 215: expression has no effect
    C:\Users\acer\Desktop\0.3c Neu\gamemodes\Neu.pwn(1209) : error 001: expected token: ";", but found "if"
    C:\Users\acer\Desktop\0.3c Neu\gamemodes\Neu.pwn(1211) : error 029: invalid expression, assumed zero
    C:\Users\acer\Desktop\0.3c Neu\gamemodes\Neu.pwn(1211) : warning 215: expression has no effect
    C:\Users\acer\Desktop\0.3c Neu\gamemodes\Neu.pwn(1211) : error 001: expected token: ";", but found "if"
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    4 Errors.




    if(strcmp(cmdtext, "/tanken", true) == 0)
    {
    else if (GetPlayerVehicleSeat(playerid) != 0) return SendClientMessage(playerid,COLOR_RED,"Du bist in keinem Fahrzeug (oder kein Fahrer).");//hier einmal
    new car = GetPlayerVehicleID(playerid);
    else if (TanktGerade[car]) return SendClientMessage(playerid,COLOR_RED,"Du tankst schon!");//und hier :D
    else if (Motor[car] == true) return SendClientMessage(playerid,COLOR_RED,"Du musst vor dem Tanken den Motor ausschalten.");
    new ZuTanken = 100-Tank[car];
    new preis = ZuTanken * BENZINPREIS;
    if (GetPlayerMoney(playerid)-preis < 0) return SendClientMessage(playerid,COLOR_RED,"Du hast nicht genug Geld!");
    GivePlayerMoney(playerid, -preis);
    SendClientMessage(playerid, COLOR_GREEN, "Tanken wird gestartet.");
    SetCameraBehindPlayer(playerid);
    TogglePlayerControllable(playerid,0);
    TanktGerade[car] = true;
    tanktimer[playerid] = SetTimerEx("Auftanken",500,true,"i",playerid);
    return 1;
    }


    Brauche Hilfe^^

    3 Mal editiert, zuletzt von [Markus] () aus folgendem Grund: Rechtschreibfehler ausgebesster(Paar)

  • Ich habe auch dieselben Warns und Errors nurnoch 2 Errors mehr:


    E:\Program Files\Rockstar Games\Grand Theft Auto San Andreas\gamemodes\BGRTanksystem!.pwn(3651) : error 029: invalid expression, assumed zero
    E:\Program Files\Rockstar Games\Grand Theft Auto San Andreas\gamemodes\BGRTanksystem!.pwn(3651) : warning 215: expression has no effect
    E:\Program Files\Rockstar Games\Grand Theft Auto San Andreas\gamemodes\BGRTanksystem!.pwn(3651) : error 001: expected token: ";", but found "if"
    E:\Program Files\Rockstar Games\Grand Theft Auto San Andreas\gamemodes\BGRTanksystem!.pwn(3652) : warning 219: local variable "car" shadows a variable at a preceding level
    E:\Program Files\Rockstar Games\Grand Theft Auto San Andreas\gamemodes\BGRTanksystem!.pwn(3653) : error 029: invalid expression, assumed zero
    E:\Program Files\Rockstar Games\Grand Theft Auto San Andreas\gamemodes\BGRTanksystem!.pwn(3653) : warning 215: expression has no effect
    E:\Program Files\Rockstar Games\Grand Theft Auto San Andreas\gamemodes\BGRTanksystem!.pwn(3653) : error 001: expected token: ";", but found "if"
    E:\Program Files\Rockstar Games\Grand Theft Auto San Andreas\gamemodes\BGRTanksystem!.pwn(3781) : error 017: undefined symbol "c"
    E:\Program Files\Rockstar Games\Grand Theft Auto San Andreas\gamemodes\BGRTanksystem!.pwn(3782) : error 017: undefined symbol "c"


    Die Zeilen sind:

    if(strcmp(cmdtext, "/tanken", true) == 0)
    {
    else if (GetPlayerVehicleSeat(playerid) != 0) return SendClientMessage(playerid,COLOR_RED,"Du bist in keinem Fahrzeug (oder kein Fahrer).");//hier einmal
    new car = GetPlayerVehicleID(playerid);
    else if (TanktGerade[car]) return SendClientMessage(playerid,COLOR_RED,"Du tankst schon!");//und hier :D
    else if (Motor[car] == true) return SendClientMessage(playerid,COLOR_RED,"Du musst vor dem Tanken den Motor ausschalten.");
    new ZuTanken = 100-Tank[car];
    new preis = ZuTanken * BENZINPREIS;
    if (GetPlayerMoney(playerid)-preis < 0) return SendClientMessage(playerid,COLOR_RED,"Du hast nicht genug Geld!");
    GivePlayerMoney(playerid, -preis);
    SendClientMessage(playerid, COLOR_GREEN, "Tanken wird gestartet.");
    SetCameraBehindPlayer(playerid);
    TogglePlayerControllable(playerid,0);
    TanktGerade[car] = true;
    tanktimer[playerid] = SetTimerEx("Auftanken",500,true,"i",playerid);
    return 1;
    }


    und noch:


    public BenzinVerlust()
    {
    for(new i=0; i<MAX_VEHICLES; i++)
    {
    if (Motor[i] == true)
    {
    Tank[i] = Tank[i]-1;
    if (Tank[i]<1)
    {
    Tank[i] = 0;
    GetVehicleParamsEx(c,engine,lights,alarm,doors,bonnet,boot,objective);
    SetVehicleParamsEx(c,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
    Motor[i] = false;
    }
    }
    }
    return 1;
    }


    Beim letzteren hatte ich schon versucht das mit car zu ändern, dies funzte aber nicht so und ich hatte es auch mit i ersetzt, da gab es keine Errors mehr aber ich weiß nicht ob das dann richtig ist :D.


    Hoffe ihr könnt helfen.^^

  • public BenzinVerlust()
    {
    for(new i=0; i<MAX_VEHICLES; i++)
    {
    if (Motor[i] == true)
    {
    Tank[i] = Tank[i]-1;
    if (Tank[i]<1)
    {
    Tank[i] = 0;
    new c = GetPlayerVehicleID(i);
    GetVehicleParamsEx(c,engine,lights,alarm,doors,bonnet,boot,objective);
    SetVehicleParamsEx(c,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
    Motor[i] = false;
    }
    }
    }
    return 1;
    }
    if(strcmp(cmdtext, "/tanken", true) == 0)
    {
    if (GetPlayerVehicleSeat(playerid) != 0) return SendClientMessage(playerid,Color_Red,"Du bist in keinem Fahrzeug (oder kein Fahrer).");
    new car = GetPlayerVehicleID(playerid);
    if (TanktGerade[car]) return SendClientMessage(playerid,Color_Red,"Du tankst schon!");
    else if (Motor[car] == true) return SendClientMessage(playerid,Color_Red,"Du musst vor dem Tanken den Motor ausschalten.");
    new ZuTanken = 100-Tank[car];
    new preis = ZuTanken * BENZINPREIS;
    if (GetPlayerMoney(playerid)-preis < 0) return SendClientMessage(playerid,Color_Red,"Du hast nicht genug Geld!");
    GivePlayerMoney(playerid, -preis);
    SendClientMessage(playerid, Color_Red, "Tanken wird gestartet.");
    SetCameraBehindPlayer(playerid);
    TogglePlayerControllable(playerid,0);
    TanktGerade[car] = true;
    tanktimer[playerid] = SetTimerEx("Auftanken",500,true,"i",playerid);
    return 1;
    }



    Die heutigen Noobs, sind die Profis von morgen! :thumbup:


    Danke an Jeffry für seine ständige Hilfsbereitschaft und freundliche Art. 8)

  • Ich fänds persönlich gut wenn du uns zeigen könntest wie man für verschiedene Fahrzeuge verschiedene Spritmengen festlegen kann.
    Naja so wie es jez ist 7/10
    Währe es mit verschieden Tankinhalt dann währen es 9/10 und mit verschieden Sprtarten 10/10
    mfg


    Bewerte mich und meine Transaktionen als Mittelsmann

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • wenn das auto zerstört ist/wurde oder respawnt ist dann ist der motor immer noch als an bezeichnet aber warum ? da muss man nemlich immer 2 mal /motor eingeben

    Das Originale SOR ( Street´s of Reallife ) seit 03.10.2009

  • alles gut beschrieben, es macht spaß es zulesen und es funktioniert auch 100%


    ich gebe dir 9/10 Punkten


    MfG;
    EUReKA

  • @Speedfight: Steht ja auch dabei, dass Grundwissen erwartet wird.
    pain: Sollte eigentlich nicht sein, da das Fahrzeug mit ausgeschaltetem Motor auch nicht rückwärts fahren sollte.


    @Never: Stimmt nicht, damit wird nur die Bool-Variable auf false gesetzt, der Motor bleibt trotzdem an. Resultat: Man muss im Auto zweimal /m eingeben, damit der Motor ausgeschaltet wird.


    Allgemeine Frage: Wird OnVehicleSpawn auch aufgerufen, wenn Fahrzeuge im OnGameModeInit gespawnt werden? Konnte davon im Wiki nichts finden und wäre praktischer den Motor dort auszuschalten, da man dann die Schleife (und folglich auch etwas Rechenleistung) weglassen könnte.

    Ich bin
    .. seit etwa 2007 in der Webentwicklung tätig, seit 2013 professionell
    .. Erfahrener Entwickler in PHP, Swift, Javascript, Typescript und Ruby. Zusätzlich habe ich Erfahrung in Python, Java, C#, C++, Prolog und einigen esoterischen Programmiersprachen
    .. Luftfahrtenthusiast und Segelflieger

  • Hey gute Erklärung aber ich bekomme folgende Errors bzw. Warnings :


    C:\Users\Benedikt\Desktop\Selfmade Server\gamemodes\BlackJordan.pwn(250) : error 029: invalid expression, assumed zero
    C:\Users\Benedikt\Desktop\Selfmade Server\gamemodes\BlackJordan.pwn(250) : warning 215: expression has no effect
    C:\Users\Benedikt\Desktop\Selfmade Server\gamemodes\BlackJordan.pwn(250) : error 001: expected token: ";", but found "if"
    C:\Users\Benedikt\Desktop\Selfmade Server\gamemodes\BlackJordan.pwn(250) : error 036: empty statement
    C:\Users\Benedikt\Desktop\Selfmade Server\gamemodes\BlackJordan.pwn(250) : fatal error 107: too many error messages on one line


    Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    4 Errors.



    Diese Entsprechen folgenden Zeilen :


    if(strcmp(cmdtext, "/fill", true) == 0)
    {
    else if (GetPlayerVehicleSeat(playerid) != 0); return SendClientMessage(playerid,COLOR_RED,"Du bist in keinem Fahrzeug (oder kein Fahrer).");
    new car = GetPlayerVehicleID(playerid)
    else if (TanktGerade[car]) return SendClientMessage(playerid,COLOR_RED,"Du tankst schon!");
    else if (Motor[car] == true) return SendClientMessage(playerid,COLOR_RED,"Du musst vor dem Tanken den Motor ausschalten.");
    new ZuTanken = 100-Tank[car];
    new preis = ZuTanken * BENZINPREIS;
    if (GetPlayerMoney(playerid)-preis < 0) return SendClientMessage(playerid,COLOR_TOMATO,"Du hast nicht genug Geld!");
    GivePlayerMoney(playerid, -preis);
    SendClientMessage(playerid, COLOR_GREEN, "Tanken wird gestartet.");
    SetCameraBehindPlayer(playerid);
    TogglePlayerControllable(playerid,0);
    TanktGerade[car] = true;
    tanktimer[playerid] = SetTimerEx("Auftanken",500,true,"i",playerid);
    return 1;
    }
    return 0;


    /edit Habe Teamviewer

    Einmal editiert, zuletzt von ~[INAKTIV]~ ()

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