/motor befehl hilfe

In 10 Minuten startet der nächtliche Backupvorgang! Es kann währenddessen (ca. 10 Minuten) zu Einschränkungen bei der Nutzung des Forums kommen
Weitere Infos findet ihr im Thema Backup des Forums
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, wieso wird das Texrdraw erst beim 2x motor anschalten erst grün? Und dann wenn ich wieder aus und einsteige ist es wieder rot.




    COMMAND:motor(playerid,params[])
    {
    new string[128];
    if(GetPlayerState(playerid)!=PLAYER_STATE_DRIVER)return SendClientMessage(playerid,Rot,"Du bist nicht der Fahrer");
    new vID=GetPlayerVehicleID(playerid),
    tmp_engine,
    tmp_lights,
    tmp_alarm,
    tmp_doors,
    tmp_bonnet,
    tmp_boot,
    tmp_objective;

    GetVehicleParamsEx(vID, tmp_engine, tmp_lights, tmp_alarm, tmp_doors, tmp_bonnet, tmp_boot, tmp_objective);
    if(tmp_engine == 1)
    {
    tmp_engine = 0;
    format(string,sizeof(string),"Der Spieler %s schaltet den Motor ab",SpielerName(playerid));
    SendClientMessage(playerid,Lila,string);
    GameTextForPlayer(playerid, "~w~Motor ist ~r~aus", 500, 1);
    TextDrawHideForPlayer(playerid,Textdraw[5]);
    TextDrawShowForPlayer(playerid,Textdraw[5]);
    TextDrawColor(Textdraw[5], Grün);
    }
    else
    {
    tmp_engine = 1;
    format(string,sizeof(string),"Der Spieler %s schaltet den Motor an",SpielerName(playerid));
    SendClientMessage(playerid,Lila,string);
    GameTextForPlayer(playerid, "~w~Motor ist ~g~an", 500, 1);
    TextDrawHideForPlayer(playerid,Textdraw[5]);
    TextDrawShowForPlayer(playerid,Textdraw[5]);
    TextDrawColor(Textdraw[5], Rot);
    }
    SetVehicleParamsEx(vID, tmp_engine, tmp_lights, tmp_alarm, tmp_doors, tmp_bonnet, tmp_boot, tmp_objective);
    return 1;
    }

  • Versuch das mal:


    Das ganz oben im Script:
    new engine,lights,alarm,doors,bonnet,boot,objective;
    Das bei deinen Befehl:
    COMMAND:motor(playerid,params[])
    {
    new string[128];
    if(GetPlayerState(playerid)!=PLAYER_STATE_DRIVER)return SendClientMessage(playerid,Rot,"Du bist nicht der Fahrer");
    new vID = GetPlayerVehicleID(playerid);
    if(GetVehicleParamsEx(VEHICLE_PARAMS_ON,lights,alarm,doors,bonnet,boot,objective))
    {
    SetVehicleParamsEx(VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
    format(string,sizeof(string),"Der Spieler %s schaltet den Motor ab",SpielerName(playerid));
    SendClientMessage(playerid,Lila,string);
    GameTextForPlayer(playerid, "~w~Motor ist ~r~aus", 500, 1);
    TextDrawHideForPlayer(playerid,Textdraw[5]);
    TextDrawColor(Textdraw[5], Grün);
    TextDrawShowForPlayer(playerid,Textdraw[5]);
    return 1;
    }
    else if(GetVehicleParamsEx(VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective))
    {
    SetVehicleParamsEx(VEHICLE_PARAMS_ON,lights,alarm,doors,bonnet,boot,objective);
    format(string,sizeof(string),"Der Spieler %s schaltet den Motor an",SpielerName(playerid));
    SendClientMessage(playerid,Lila,string);
    GameTextForPlayer(playerid, "~w~Motor ist ~g~an", 500, 1);
    TextDrawHideForPlayer(playerid,Textdraw[5]);
    TextDrawColor(Textdraw[5], Rot);
    TextDrawShowForPlayer(playerid,Textdraw[5]);
    return 1;
    }
    return 1;
    }
    Ich habe das mal übersichtlicher gemacht.

    Einmal editiert, zuletzt von 5Gum ()

  • Hey.
    Du musst TextDrawShowForPlayer und TextDrawColor tauschen.
    Mit freundlichen Grüßen
    Kevin

  • Hey.
    Du musst TextDrawShowForPlayer und TextDrawColor tauschen.
    Mit freundlichen Grüßen
    Kevin

    danke jetzt funtzt es, aber wenn ich jetzt in ein Auto einsteige und da wo der motor noch nicht läuft, da is dann das Testdraw immernoch Grün. Wie kann ich das beheben?


    //Edit:


    habe es mir jetzt sovorgestellt:
    unter OnPlayerEnterVehicle


    new vID = GetPlayerVehicleID(playerid);
    if(GetVehicleParamsEx(vID, engine , lights, alarm, doors, bonnet, boot, objective))
    {
    if(engine == 1)
    {
    TextDrawHideForPlayer(playerid,Textdraw[5]);
    TextDrawColor(Textdraw[5],Grün);
    TextDrawShowForPlayer(playerid,Textdraw[5]);
    }
    else
    {
    TextDrawHideForPlayer(playerid,Textdraw[5]);
    TextDrawColor(Textdraw[5],Rot);
    TextDrawShowForPlayer(playerid,Textdraw[5]);
    }
    }

    Einmal editiert, zuletzt von Exon ()