[SAMMELTHREAD] Kleine Scripting Fragen

Dein Problem konnte durch einen User gelöst werden? Bedank dich bei ihm indem du seinen Beitrag als Hilfreich markierst sowie einen Daumen oben dalässt
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

  • CMD:quitjob(playerid)
    {
    if(Spieler[playerid][pQuitJob] == 1)
    {
    SendClientMessage(playerid, COLOR_GREY, "** Du hast bereits die Kündigung eingereicht!");
    }
    if(Spieler[playerid][pJob] == 0)
    {
    SendClientMessage(playerid, COLOR_GREY, "** Du kannst nicht kündigen, da du keinen Beruf hast!");
    }
    if(Spieler[playerid][pQuitJob] == 1)
    {
    Spieler[playerid][pQuitJob] = 1;
    SendClientMessage(playerid, COLOR_LIGHTBLUE, "* Du hast soeben die Kündigung eingereicht.");
    SendClientMessage(playerid, COLOR_LIGHTBLUE, "* Bis zum nächsten Zahltag kannst du noch deinen jetzigen Beruf ausführen.");
    }
    return 1;
    }



    Hey,


    Ich wollte /quitjob per befehl machen.


    Wollte folgendes einbaun das man den Job Kündigen kann aber widerrum auch die Kündigung zurückziehen kann wie kann ich das machen?

  • Hey,


    Ich wollte /quitjob per befehl machen.


    Wollte folgendes einbaun das man den Job Kündigen kann aber widerrum auch die Kündigung zurückziehen kann wie kann ich das machen?



    CMD:quitjob(playerid)
    {
    if(Spieler[playerid][pJob] == 0)
    {
    SendClientMessage(playerid, COLOR_GREY, "** Du kannst nicht kündigen, da du keinen Beruf hast!");
    }
    if(Spieler[playerid][pQuitJob] == 0)
    {
    Spieler[playerid][pQuitJob] = 1;
    SendClientMessage(playerid, COLOR_LIGHTBLUE, "* Du hast soeben die Kündigung eingereicht.");
    SendClientMessage(playerid, COLOR_LIGHTBLUE, "* Bis zum nächsten Zahltag kannst du noch deinen jetzigen Beruf ausführen.");
    }
    else if(Spieler[playerid][pQuitJob] == 1)
    {
    Spieler[playerid][pQuitJob] = 0;
    SendClientMessage(playerid, COLOR_LIGHTBLUE, "* Du hast soeben die Kündigung zurückgezogen.");
    }
    return 1;
    }


    //e So müsste es funktionieren :)
    //e2 kleinen denkfehler behoben

    Mit freundlichen Grüßen,


    Keslo

  • hey ich habe irgendwie ein Merkwürdigen Fehler mein Pickup wird nicht gelöscht
    Wenn ich eine Zweite erstelle und gehe durch die weiter verschwindet die erste aber wieso ?


    [24/11/2016 16:44:35] 0
    [24/11/2016 16:44:35] Test 0
    [24/11/2016 16:44:35] Test 1
    [24/11/2016 16:44:35] 1

  • Kann mir jemand kurz sagen, was hier ran falsch sein soll?
    Jukebox[playerid][0] = Pos[0];
    Jukebox[playerid][1] = Pos[1];
    Jukebox[playerid][2] = Pos[2];


    Definiert wird es über Float:Pos[3] sowie Jukebox[MAX_PLAYERS][3]


  • public OnPlayerSelectedMenuRow(playerid, row)
    {
    TogglePlayerControllable(playerid, 1);
    SetCameraBehindPlayer(playerid);
    new Menu:CurrentMenu = GetPlayerMenu(playerid);
    if(CurrentMenu == StadtMenu)
    {
    switch(row)
    {
    case 0:
    {
    if(Spieler[playerid][pJob] == 0)
    {
    ShowPlayerDialog(playerid, DIALOG_ARBEITSAMT, DIALOG_STYLE_LIST, "Arbeitsamt", ""COLOR_HEX_GREEN"Müllmann (empfohlen)\n"COLOR_HEX_GREEN"Trucker (empfohlen)\n"COLOR_HEX_GREEN"Hochseefisher (empfohlen)\n"COLOR_HEX_GREEN"Pilot (empfohlen)\n"COLOR_HEX_WHITE"Anwalt\n"COLOR_HEX_WHITE"Detektiv\n"COLOR_HEX_WHITE"Zugfahrer\n"COLOR_HEX_GREEN"Busfahrer (empfohlen)", "Auswählen", "Schließen");
    }
    else
    {
    SendClientMessage(playerid, COLOR_LIGHTBLUE, "* Du hast schon einen Job! Kündige mit /quitjob");
    }
    }
    case 1:
    {
    if(Spieler[playerid][pPerso] == 0)
    {
    if(Spieler[playerid][pTutorial] > 0)
    {
    if(GetPlayerCheckpointID(playerid) == CP_TUTORIAL_4)
    {
    ShowInfo(playerid, "Du kannst nun deine~n~Personalien mit dem~n~Befehl ~r~/stats~w~ sehen und~n~mit dem Befehl ~r~/show~n~~w~zeigen.~n~Verlasse nun die ~b~Stadthalle~w~!");
    SchonGewusst(playerid, "Du kannst Regelbrecher~n~der Administration mit~n~dem Befehl ~r~/a ~w~melden.");
    DisablePlayerCheckpointEx(playerid);
    SendClientMessage(playerid, COLOR_LIGHTBLUE, "* Du hast einen Personalausweis ausgestellt bekommen, nutze /stats!");
    Spieler[playerid][pPerso] = 1;
    SetPlayerCheckpointEx(playerid, 1369.6493,-1647.7352,13.3828, 2.0, CP_TUTORIAL_5, CP_TYPE_TUTORIAL);
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_LIGHTBLUE, "* Du hast schon einen Personalausweis!");
    }
    }
    }
    }
    }
    return 1;
    }



    Hey,


    Wen der Spieler ein Perso hat soll die nachricht SendClientMessage(playerid, COLOR_LIGHTBLUE, "* Du hast schon einen Personalausweis!");
    ausgelesen werden wird aber nicht warum?


    Beim job funktioniert es wen man ein job hat kann man auch den Dialog nicht öffnen?

  • Beitrag von Dr. Frauenarzt ()

    Dieser Beitrag wurde vom Autor aus folgendem Grund gelöscht: Erledigt ().

  • Zug[0] = CreateVehicleEx(538,735.3322,2241.4160,19.2559,186.3122,1,205, 180, true, 0); // Zug
    Zug[1] = CreateVehicleEx(538,739.2803,2113.7998,13.5984,180.6826,1,205, 180, true, 0); // Zug
    Zug[2] = CreateVehicleEx(538,742.5255,1780.5483,6.8367,180.2577,1,205, 180, true, 0); // Zug
    Zug[3] = CreateVehicleEx(538,743.1469,1652.9189,8.5661,180.3493,1,205, 180, true, 0); // Zug


    Der Zug erstellt sich nicht warum?


    Ich muss das so schreiben sonst haben die Züge keinen Benzin das ist das schlecht für den Zufahrer Job


  • stock CreateVehicleEx(vehicletype, Float:x, Float:y, Float:z, Float:rotation, color1, color2, respawn_delay, bool:reset=false, siren)
    {
    new vehicleid;
    if(vehicletype < 400 || vehicletype > 611)return 0;
    vehicleid = CreateVehicle(vehicletype, x, y, z, rotation, color1, color2, respawn_delay, siren);
    if(Vehicle[vehicleid][vehMotor])KillTimer(Vehicle[vehicleid][VehicleTimer]);
    Vehicle[vehicleid][vehMotor] = false;
    Vehicle[vehicleid][vehLicht] = false;
    Vehicle[vehicleid][vehHaube] = false;
    Vehicle[vehicleid][vehKRaum] = false;
    Vehicle[vehicleid][vehPosX2] = x;
    Vehicle[vehicleid][vehPosY2] = y;
    Vehicle[vehicleid][vehPosZ2] = z;
    Vehicle[vehicleid][vehSiren] = siren;
    Vehicle[vehicleid][vehProds] = 0;
    Vehicle[vehicleid][vehText] = CreateDynamic3DTextLabel(" ", COLOR_WHITE, 50.0, 60.0, 110.0, 20.0, INVALID_PLAYER_ID, vehicleid, 0, -1, -1, -1, 100.0);
    if(reset == true)
    {
    if(IsValidVehicle(vehicleid))
    Vehicle[vehicleid][vehTankKM] = 0;
    Vehicle[vehicleid][vehKMStandCount] = 0;
    Vehicle[vehicleid][vehKMStand] = 0;
    Vehicle[vehicleid][vehFuel] = VehicleData[vehicletype-400][vehMaxTank];
    Vehicle[vehicleid][vehNeonID] = 0;
    Vehicle[vehicleid][vehProds] = 0;
    DestroyDynamicObject(Vehicle[vehicleid][vehNeon1]);
    DestroyDynamicObject(Vehicle[vehicleid][vehNeon2]);
    DestroyDynamicObject(Vehicle[vehicleid][vehSiren1]);
    DestroyDynamicObject(Vehicle[vehicleid][vehSiren2]);
    DestroyDynamicObject(Vehicle[vehicleid][vehSiren3]);
    DestroyDynamicObject(Vehicle[vehicleid][vehSiren4]);
    DestroyDynamicObject(Vehicle[vehicleid][vehSiren5]);
    DestroyDynamicObject(Vehicle[vehicleid][vehUCL]);
    Vehicle[vehicleid][vehNeon1] = INVALID_OBJECT_ID;
    Vehicle[vehicleid][vehNeon2] = INVALID_OBJECT_ID;
    Vehicle[vehicleid][vehSiren1] = INVALID_OBJECT_ID;
    Vehicle[vehicleid][vehSiren2] = INVALID_OBJECT_ID;
    Vehicle[vehicleid][vehSiren3] = INVALID_OBJECT_ID;
    Vehicle[vehicleid][vehSiren4] = INVALID_OBJECT_ID;
    Vehicle[vehicleid][vehSiren5] = INVALID_OBJECT_ID;
    Vehicle[vehicleid][vehUCL] = INVALID_OBJECT_ID;
    Vehicle[vehicleid][vehUCLCreated] = 0;
    }
    return vehicleid;
    }


  • Schreibe die Funktion so:
    stock CreateVehicleEx(vehicletype, Float:x, Float:y, Float:z, Float:rotation, color1, color2, respawn_delay, bool:reset=false, siren, bool:train=false)
    {
    new vehicleid;
    if(vehicletype < 400 || vehicletype > 611)return 0;
    if(!train) vehicleid = CreateVehicle(vehicletype, x, y, z, rotation, color1, color2, respawn_delay, siren);
    else vehicleid = AddStaticVehicle(vehicletype, x, y, z, rotation, color1, color2);
    if(Vehicle[vehicleid][vehMotor])KillTimer(Vehicle[vehicleid][VehicleTimer]);
    Vehicle[vehicleid][vehMotor] = false;
    Vehicle[vehicleid][vehLicht] = false;
    Vehicle[vehicleid][vehHaube] = false;
    Vehicle[vehicleid][vehKRaum] = false;
    Vehicle[vehicleid][vehPosX2] = x;
    Vehicle[vehicleid][vehPosY2] = y;
    Vehicle[vehicleid][vehPosZ2] = z;
    Vehicle[vehicleid][vehSiren] = siren;
    Vehicle[vehicleid][vehProds] = 0;
    Vehicle[vehicleid][vehText] = CreateDynamic3DTextLabel(" ", COLOR_WHITE, 50.0, 60.0, 110.0, 20.0, INVALID_PLAYER_ID, vehicleid, 0, -1, -1, -1, 100.0);
    if(reset == true)
    {
    if(IsValidVehicle(vehicleid))
    Vehicle[vehicleid][vehTankKM] = 0;
    Vehicle[vehicleid][vehKMStandCount] = 0;
    Vehicle[vehicleid][vehKMStand] = 0;
    Vehicle[vehicleid][vehFuel] = VehicleData[vehicletype-400][vehMaxTank];
    Vehicle[vehicleid][vehNeonID] = 0;
    Vehicle[vehicleid][vehProds] = 0;
    DestroyDynamicObject(Vehicle[vehicleid][vehNeon1]);
    DestroyDynamicObject(Vehicle[vehicleid][vehNeon2]);
    DestroyDynamicObject(Vehicle[vehicleid][vehSiren1]);
    DestroyDynamicObject(Vehicle[vehicleid][vehSiren2]);
    DestroyDynamicObject(Vehicle[vehicleid][vehSiren3]);
    DestroyDynamicObject(Vehicle[vehicleid][vehSiren4]);
    DestroyDynamicObject(Vehicle[vehicleid][vehSiren5]);
    DestroyDynamicObject(Vehicle[vehicleid][vehUCL]);
    Vehicle[vehicleid][vehNeon1] = INVALID_OBJECT_ID;
    Vehicle[vehicleid][vehNeon2] = INVALID_OBJECT_ID;
    Vehicle[vehicleid][vehSiren1] = INVALID_OBJECT_ID;
    Vehicle[vehicleid][vehSiren2] = INVALID_OBJECT_ID;
    Vehicle[vehicleid][vehSiren3] = INVALID_OBJECT_ID;
    Vehicle[vehicleid][vehSiren4] = INVALID_OBJECT_ID;
    Vehicle[vehicleid][vehSiren5] = INVALID_OBJECT_ID;
    Vehicle[vehicleid][vehUCL] = INVALID_OBJECT_ID;
    Vehicle[vehicleid][vehUCLCreated] = 0;
    }
    return vehicleid;
    }


    Dann kannst du die Züge so erstellen:
    Zug[0] = CreateVehicleEx(538,735.3322,2241.4160,19.2559,186.3122,1,205, 180, true, 0, true); // Zug
    Zug[1] = CreateVehicleEx(538,739.2803,2113.7998,13.5984,180.6826,1,205, 180, true, 0, true); // Zug
    Zug[2] = CreateVehicleEx(538,742.5255,1780.5483,6.8367,180.2577,1,205, 180, true, 0, true); // Zug
    Zug[3] = CreateVehicleEx(538,743.1469,1652.9189,8.5661,180.3493,1,205, 180, true, 0, true); // Zug
    Das letzte "true" bedeutet, dass es ein Zug ist.

  • Danke.




    strdel(DialogString, 0, sizeof(DialogString));
    format(DialogString, sizeof(DialogString), "%s"COLOR_HEX_BLUE"Fahrzeugpreis: "COLOR_HEX_WHITE"%d$\n"COLOR_HEX_BLUE"Kraftstoffverbrauch: "COLOR_HEX_WHITE"%.2fL/KM\n", DialogString, VehicleShop[i][Preis], VehicleData[VehicleShop[i][modelid]-400][vehTankVerbrauch]);
    format(DialogString, sizeof(DialogString), "%s"COLOR_HEX_BLUE"Tankfassungsvermögen: "COLOR_HEX_WHITE"%.2f Liter\n", DialogString, VehicleData[VehicleShop[i][modelid]-400][vehMaxTank]);
    format(DialogString, sizeof(DialogString), "%s"COLOR_HEX_BLUE"Mindestlevel:"COLOR_HEX_WHITE"\n"COLOR_HEX_BLUE"KFZ Steuer: "COLOR_HEX_WHITE"%d$", VehicleData[VehicleShop[i][modelid]-400][vehMaxTank], kfzSteuer);
    ShowPlayerDialog(playerid, DIALOG_BUYPRIVATEVEHICLE, DIALOG_STYLE_MSGBOX, VehicleShop[i][Name] , DialogString, "Kaufen", "Abbrechen");



    Er zeigt mir kein Dialog mehr an warum? :o


    Andere Frage ich hab ja eingebaut Mindestlevel so jetzt möchte ich das alle Fahrzeuge ab Level 1 sind und die Flugzeuge ab Level 12 zu kaufen sind wie geht das ?


  • for(new i=0;i<sizeof(VehicleShop);i++)
    {
    if(vehicleid == autoVehicles[i])
    {
    //FreezePlayer(playerid);
    new Float:x, Float:y, Float:z, Float:vx, Float:vy, Float:vz;
    new kfzSteuer = GetPlayerVehicleCount(playerid)*100;
    GetPosVorSpieler(playerid, 7, x, y, z);
    GetPlayerPos(playerid, vx,vy, vz);
    SetPlayerCameraPos(playerid,x, y, z+0.5);
    SetPlayerCameraLookAt(playerid, vx, vy, vz+0.75);
    SetVehicleParamsEx(vehicleid, engine, VEHICLE_PARAMS_ON, alarm, doors, bonnet, boot, objective);
    new string[1024];
    format(string,sizeof(string),"{247BA6}Fahrzeugpreis: {FFFFFF}%d$\n{247BA6}Kraftstoffverbrauch: {FFFFFF}%.2fL / 100km\n{247BA6}Tankfassungsvermögen: {FFFFFF}%.2f Liter\n{247BA6}Mindestlevel: {FFFFFF}-\n{247BA6}KFZ-Steuer: {FFFFFF}%d$", VehicleShop[i][Preis], VehicleData[VehicleShop[i][modelid]-400][vehTankVerbrauch], VehicleData[VehicleShop[i][modelid]-400][vehMaxTank], kfzSteuer);
    ShowPlayerDialog(playerid,DIALOG_BUYPRIVATEVEHICLE,DIALOG_STYLE_MSGBOX,VehicleShop[i][Name],string,"Kaufen","Aussteigen");
    return 1;
    }
    }
    }
    return 1;
    }


    Dialog zeigt nun wider an,


    so das Problem ist KFZ Steuer zeigt er nicht
    und das Mindestlevel möchte ich iwie auslesen?