HILFE PLS HELFT MIR

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
  • Hallo habe ja wie in 0.3c neu ist motor an und motoraus befehl gescriptet nur ich möchte das wenn ich /motor mache und er an ist ausgeht und wenn er aus ist an geht


    hier meine 2 befehle


    if(strcmp(cmdtext,"/motoran",true)==0)
    {
    if(IsPlayerInAnyVehicle(playerid)==1)
    {
    new engine,lights,alarm,doors,bonnet,boot,objective;
    new vid = GetPlayerVehicleID(playerid);
    GetVehicleParamsEx(vid,engine,lights,alarm,doors,bonnet,boot,objective);
    SetVehicleParamsEx(vid,1,lights,alarm,doors,bonnet,boot,objective);
    }
    else
    {
    SendClientMessage(playerid,Rot,"Du musst dafür in einem Auto sitzen.");
    }
    return 1;
    }



    und
    if(strcmp(cmdtext,"/motoraus",true)==0)
    {
    if(IsPlayerInAnyVehicle(playerid)==1)
    {
    new engine,lights,alarm,doors,bonnet,boot,objective;
    new vid = GetPlayerVehicleID(playerid);
    GetVehicleParamsEx(vid,engine,lights,alarm,doors,bonnet,boot,objective);
    SetVehicleParamsEx(vid,0,lights,alarm,doors,bonnet,boot,objective);
    }
    else
    {
    SendClientMessage(playerid,Rot,"Du musst dafür in einem Auto sitzen.");
    }
    return 1;
    }
    DANKE schonmal IM VORRAUS

  • new Motor[MAX_VEHICLES] = 0;
    if(strcmp(cmdtext,"/motor",true)==0)
    {
    if(IsPlayerInAnyVehicle(playerid))
    {
    new vid = GetPlayerVehicleID(playerid);
    if(Motor[vid] == 0)
    {
    new engine,lights,alarm,doors,bonnet,boot,objective;
    GetVehicleParamsEx(vid,engine,lights,alarm,doors,bonnet,boot,objective);
    SetVehicleParamsEx(vid,1,lights,alarm,doors,bonnet,boot,objective);
    Motor[vid] = 1;
    }
    }
    else if(Motor[vid] == 0)
    {
    new engine,lights,alarm,doors,bonnet,boot,objective;
    GetVehicleParamsEx(vid,engine,lights,alarm,doors,bonnet,boot,objective);
    SetVehicleParamsEx(vid,0,lights,alarm,doors,bonnet,boot,objective);
    Motor[vid] = 0;
    }
    else
    {
    SendClientMessage(playerid,Rot,"Du musst dafür in einem Auto sitzen.");
    }
    return 1;
    }


  • :) (Überschrift)


    RottenApple Dein Code hat Klammerfehler, und die if(Motor Abfrage ist falsch.
    So funktioniert es, ich habs bereits getestet:
    new Motor[MAX_VEHICLES] = 0;
    if(strcmp(cmdtext,"/motor",true)==0)
    {
    if(IsPlayerInAnyVehicle(playerid))
    {
    new vid = GetPlayerVehicleID(playerid);
    if(Motor[vid] == 0)
    {
    new engine,lights,alarm,doors,bonnet,boot,objective;
    GetVehicleParamsEx(vid,engine,lights,alarm,doors,bonnet,boot,objective);
    SetVehicleParamsEx(vid,0,lights,alarm,doors,bonnet,boot,objective);
    Motor[vid] = 1;
    }
    else if(Motor[vid] == 1)
    {
    new engine,lights,alarm,doors,bonnet,boot,objective;
    GetVehicleParamsEx(vid,engine,lights,alarm,doors,bonnet,boot,objective);
    SetVehicleParamsEx(vid,1,lights,alarm,doors,bonnet,boot,objective);
    Motor[vid] = 0;
    }
    }
    else
    {
    SendClientMessage(playerid,COLOR_RED,"Du musst dafür in einem Auto sitzen.");
    }
    return 1;
    }

  • Super RottenApple, er schaltet den Motor ein, wenn er aus ist oder er schaltet den Motor aus, wenn er aus ist. Genau so hast du es geschrieben ^^ Nebenbei Intrepidus empfehle ich hierführ keine unnötigen 2000er Arrays, da es eh eine Abfrage gibt, ob der motor an oder ausgeschalten ist...


    Hier Korrektur:


    public OnPlayerCommandText(playerid,cmdtext[])
    {
    if(!strcmp(cmdtext,"/motor",true))
    {
    if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid,Rot,"Du musst dafür in einem Auto sitzen.");
    new vid = GetPlayerVehicleID(playerid),engine,lights,alarm,doors,bonnet,boot,objective;
    GetVehicleParamsEx(vid,engine,lights,alarm,doors,bonnet,boot,objective);
    if(engine)
    {
    SetVehicleParamsEx(vid,false,lights,alarm,doors,bonnet,boot,objective);
    SendClientMessage(playerid,0xFFFFFFAA," Motor ausgeschalten...");
    }
    else
    {
    SetVehicleParamsEx(vid,true,lights,alarm,doors,bonnet,boot,objective);
    SendClientMessage(playerid,0xFFFFFFAA," Motor eingeschalten...");
    }
    return 1;
    }
    return 0;
    }


    public OnVehicleDeath(vehicleid) //Bin mir dabei nicht sicher, ob SAMP dies automatisch ausführt, aber sicher ist sicher
    {
    new engine,lights,alarm,doors,bonnet,boot,objective;
    GetVehicleParamsEx(vehicleid,engine,lights,alarm,doors,bonnet,boot,objective);
    if(engine) SetVehicleParamsEx(vid,false,lights,alarm,doors,bonnet,boot,objective);
    }

    Mfg Templer


    >>Dein Breadfish-Thema im Unterforum ScriptingBase / Scriptingwünsche wurde nicht richtig beantworter?<<
    >>Es handelt sich um ein Programmier Problem und du nicht einfach weiter kommst wo der Fehler sein könnte?<<
    Dann melde dich bei mir über die PN-Funktion indem du den Link zu deinem Breadfish-Themen Problem schickst.
    Voraussetzung:
    Thema älter als 1 Tag und im Breadfish Forum gespostet!

  • Stimmt, darauf hab ich nicht geachtet, Sorry.
    Wollte mich nur um die Gröbsten Fehler kümmern und hab das nicht bemerkt.


  • if(!strcmp(cmdtext,"/motor",true))
    {
    if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid,Rot,"Du musst dafür in einem Auto sitzen.");
    new vid = GetPlayerVehicleID(playerid),engine,lights,alarm,doors,bonnet,boot,objective;
    GetVehicleParamsEx(vid,engine,lights,alarm,doors,bonnet,boot,objective);
    switch(engine)
    {
    case 0:
    SetVehicleParamsEx(vid,false,lights,alarm,doors,bonnet,boot,objective);
    SendClientMessage(playerid,0xFFFFFFAA," Motor eingeschaltet...");
    engine = 1;
    }
    case 1:
    {
    SetVehicleParamsEx(vid,true,lights,alarm,doors,bonnet,boot,objective);
    SendClientMessage(playerid,0xFFFFFFAA," Motor ausgeschaltet...");
    engine = 0;
    }
    return 1;
    }


    Sollte funktionieren.

  • Huch, da hab ich wohl ein paar Fehler eingebaut.



    if(!strcmp(cmdtext,"/motor",true))
    {
    if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid,Rot,"Du musst dafür in einem Auto sitzen.");
    new vid = GetPlayerVehicleID(playerid),engine,lights,alarm,doors,bonnet,boot,objective;
    GetVehicleParamsEx(vid,engine,lights,alarm,doors,bonnet,boot,objective);
    switch(engine)
    {
    case 0:
    { // Klammer vergessen
    SetVehicleParamsEx(vid,false,lights,alarm,doors,bonnet,boot,objective);
    SendClientMessage(playerid,0xFFFFFFAA," Motor eingeschaltet...");
    engine = 1;
    }
    case 1:
    {
    SetVehicleParamsEx(vid,true,lights,alarm,doors,bonnet,boot,objective);
    SendClientMessage(playerid,0xFFFFFFAA," Motor ausgeschaltet...");
    engine = 0;
    }
    } // Klammer vergessen
    return 1;
    }

  • Ehm Michael, das bringt sich gar nichts was du machst. In diesem Fall ist ein switch total unnötig und warum du die Variable engine auch noch änderst ist mir auch schleierhaft ^^ Man muss unter OnVehicleSpawn den Motor ausschalten, damit beim Befehl zuerst der Motor eingeschalten wird. Bzw beim Befehl überprüfen, ob das Auto zum ersten mal verwendet wird, wenn das vorherige nicht klappt.

    Mfg Templer


    >>Dein Breadfish-Thema im Unterforum ScriptingBase / Scriptingwünsche wurde nicht richtig beantworter?<<
    >>Es handelt sich um ein Programmier Problem und du nicht einfach weiter kommst wo der Fehler sein könnte?<<
    Dann melde dich bei mir über die PN-Funktion indem du den Link zu deinem Breadfish-Themen Problem schickst.
    Voraussetzung:
    Thema älter als 1 Tag und im Breadfish Forum gespostet!

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Ehm Michael, das bringt sich gar nichts was du machst. In diesem Fall ist ein switch total unnötig und warum du die Variable engine auch noch änderst ist mir auch schleierhaft ^^ Man muss unter OnVehicleSpawn den Motor ausschalten, damit beim Befehl zuerst der Motor eingeschalten wird. Bzw beim Befehl überprüfen, ob das Auto zum ersten mal verwendet wird, wenn das vorherige nicht klappt.

    Mit der Variable "engine", die ich im swtich benutzt habe, ist der Motorstatus (1 oder 0) gemeint.
    Gegebenfalls einfach eine andere Variable benutzen.

  • ich habe es ander gelöst ganz einfach


    danke ohne euch währe es nicht gegangen und templer man muss es bei spawn nit machen man kann auch oben


    bei OnGameModeInit ManualVehicleEngineAndLights() machen habe ich


    also ich habe oben new Motor[MAX_VEHICLES];


    und dann


    bei OnPlayerCommandText


    if(!strcmp(cmdtext,"/motor",true))
    {
    if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid,Rot,"Du musst dafür in einem Auto sitzen.");
    new vid = GetPlayerVehicleID(playerid),engine,lights,alarm,doors,bonnet,boot,objective;
    GetVehicleParamsEx(vid,engine,lights,alarm,doors,bonnet,boot,objective);
    if(Motor[vid] == 0)
    {
    SetVehicleParamsEx(vid,1,lights,alarm,doors,bonnet,boot,objective);
    SendClientMessage(playerid,0xFFFFFFAA," Motor eingeschalten...");
    Motor[vid] = 1;
    }
    else
    {
    SetVehicleParamsEx(vid,0,lights,alarm,doors,bonnet,boot,objective);
    SendClientMessage(playerid,0xFFFFFFAA," Motor ausgeschalten...");
    Motor[vid] = 0;
    }
    return 1;
    }


    das funzt 100%


    danke an alle