Problem mit eigenem Motorsystem

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
  • Guten Morgen Forum!


    Habe gerade ein Problem mit meinem Motorsystem welches ich vorhin anfing.
    Sobald ich einmal /motor gemacht habe geht der Motor an. Wenn ich nochmal /motor mache sagt der Server mir das der Befehl nicht vorhanden ist.
    Ich nutze übrigens das Include von BlackAce.


    Code:

    if(strcmp(cmdtext,"/motor")==0)
    {
    if(!IsPlayerInAnyVehicle(playerid)) return SCM(playerid,Rot,"Du sitzt in keinem Fahrzeug!");
    if(GetPlayerVehicleID(playerid) == 481 || GetPlayerVehicleID(playerid) == 509 || GetPlayerVehicleID(playerid) == 510) return SCM(playerid,Rot,"Ein Fahrrad hat keinen Motor...");
    new vehicle;
    vehicle = GetPlayerVehicleID(playerid);
    new Float:vHealth;
    if(GetVehicleParam(vehicle,MOTOR)==0)
    {
    if(GetVehicleHealth(vehicle,vHealth)>500)
    {
    //Wenn Fahrzeug unter 500 HP hat
    SCM(playerid,Rot,"Dein Fahrzeug ist zu kaputt um es zu starten! Lasse es reparieren.");
    return 1;
    }
    else
    {
    //Wenn Motor aus
    SCM(playerid,Grau,"Du versuchst den Motor zu starten...");
    SetVehicleParam(vehicle,MOTOR,1); //Motor anschalten
    SCM(playerid,Blau,"Motor gestartet!");
    return 1;
    }
    }
    else if(GetVehicleParam(vehicle,MOTOR)==1)
    {
    //Wenn Motor an
    SetVehicleParam(vehicle,MOTOR,0); //Motor anschalten
    SCM(playerid,Blau,"Motor abgeschaltet.");
    }
    }


    Ich hoffe mir kann jemand helfen..

  • Was MinX meint ist das:
    if(strcmp(cmdtext,"/motor")==0)
    {
    if(!IsPlayerInAnyVehicle(playerid)) return SCM(playerid,Rot,"Du sitzt in keinem Fahrzeug!");
    if(GetPlayerVehicleID(playerid) == 481 || GetPlayerVehicleID(playerid) == 509 || GetPlayerVehicleID(playerid) == 510) return SCM(playerid,Rot,"Ein Fahrrad hat keinen Motor...");
    new vehicle;
    vehicle = GetPlayerVehicleID(playerid);
    new Float:vHealth;
    if(GetVehicleParam(vehicle,MOTOR)==0)
    {
    if(GetVehicleHealth(vehicle,vHealth)>500)
    {
    //Wenn Fahrzeug unter 500 HP hat
    SCM(playerid,Rot,"Dein Fahrzeug ist zu kaputt um es zu starten! Lasse es reparieren.");
    return 1; // Wär unnötig, da die Schleife danach so oder so aufhört...
    }
    else
    {
    //Wenn Motor aus
    SCM(playerid,Grau,"Du versuchst den Motor zu starten...");
    SetVehicleParam(vehicle,MOTOR,1); //Motor anschalten
    SCM(playerid,Blau,"Motor gestartet!");
    return 1; // Wär genau so unnötig, da die Schleife danach so oder so aufhört...
    }
    }
    else if(GetVehicleParam(vehicle,MOTOR)==1)
    {
    //Wenn Motor an
    SetVehicleParam(vehicle,MOTOR,0); //Motor anschalten
    SCM(playerid,Blau,"Motor abgeschaltet.");
    }
    return 1; // <-------------------- fehlt
    }


  • versuchsmal so.

    Ziele:
    100Beiträge[x]
    200Beiträge[]
    500Beiträge[]
    1000Beiträge[]


    Klick me --->

  • Gaaaaaaanz ruhig.
    Ich erwarte Hilfe.
    Ich habe den kompletten Befehl fertig und erwarte nicht das ihr (alle außer Du) den zu ende schreiben sondern das ihr (alle außer Du) mir helft.


    Kriegt man in dem Forum hier Verwarnungen für Spam oder Off-Topic ? Ich wills hoffen.

  • Ich habs über
    GetVehicleParamsEx(vehicleid,engine,lights,alarm,doors,bonnet,boot,objective);
    SetVehicleParamsEx(vehicleid,VEHICLE_PARAMS_ON,lights,alarm,doors,bonnet,boot,objective);

    Und das funktioniert problemlos.... Aber ich lasse den Motorstatus über Variablen speichern.
    Im SA-MP Wiki find ich auch keine GetVehicleParam Funktion (http://wiki.sa-mp.com/wiki/GetVehicleParamsEx würde sonst bei ähnliche Befehle drin stehen ^^), nutzt du eine Include oder hast du die Funktion selbst geschrieben?

  • Mein kleiner Home Server geht zwischendurch mal aus.. einfach so.
    Könnte es damit zusammen hängen?
    In den Logs steht komischer weise nix :O


    Habs hingekriegt.. Neuer Befehl:



    if(strcmp(cmdtext,"/motor")==0)
    {
    new vID = GetPlayerVehicleID(playerid);
    new engine,lights,alarm,doors,bonnet,boot,objective;
    GetVehicleParamsEx(vID,engine,lights,alarm,doors,bonnet,boot,objective);
    if(engine==0)
    {
    SCM(playerid,Grau,"Du versuchst den Motor zu starten...");
    SetVehicleParamsEx(vID,1,lights,alarm,doors,bonnet,boot,objective);
    SCM(playerid,Blau,"Motor gestartet.");
    }
    else
    {
    SetVehicleParamsEx(vID,0,lights,alarm,doors,bonnet,boot,objective);
    SCM(playerid,Blau,"Motor ausgeschaltet.");
    }
    return 1;
    }

    Einmal editiert, zuletzt von y0sh1 ()