[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
  • Naja, hier gäbe es 2 gute Möglichkeiten.


    1. Du erstellst ein 2D-Array...1D = Kills...2D = ID und dann sortierst das nach Kills und hast die ID :)


    2. Du durchsuchst einfach nur das Array:


    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • Guten Tag wäre es Möglich ein Fahrzeug auf dem LKW mit der "Ladefläche" für Autos zu transportieren sodass sie nicht runterfallen ?

    Das frage ich mich auch schon seit Längerem, ich hab da eine Idee, aber ob die auch Klappt ist eine andere Frage.


    Vielleicht das Fahrzeug als Objekt Erstellen und das Objekt dann an das Fahrzeug Attachen ?


    Oder auf der "Ladeläche eine Unsichtbare kleine Wand Mappen/Attachen damit das Fahrzeug nicht runterfällt ?


    MfG.

  • Bei /me Befehlen etc senden die praktisch immer nur halbe Dinge, obwohl mehr eingegeben wurde.
    Woran liegt das?


    ocmd:me(playerid, params[])
    {
    new string[128+MAX_PLAYER_NAME], metext[128], playername[MAX_PLAYER_NAME], Float:X, Float:Y, Float:Z;
    if(sscanf(params, "s", metext))
    return SendClientMessage(playerid, COLOR_GREY, "[OOC] Befehl: /me [Text]");


    GetPlayerPos(playerid, X, Y, Z);
    GetPlayerName(playerid, playername, sizeof(playername));


    format(string, sizeof(string), "* %s %s *", playername, metext);


    foreach(Player, i)
    {
    if(IsPlayerInRangeOfPoint(i, 6.5, X, Y, Z))
    {
    SendClientMessage(i, COLOR_ME, string);
    }
    }
    return 1;
    }

  • Bei /me Befehlen etc senden die praktisch immer nur halbe Dinge, obwohl mehr eingegeben wurde.
    Woran liegt das?


    ocmd:me(playerid, params[]){new string[128+MAX_PLAYER_NAME], metext[128], playername[MAX_PLAYER_NAME], Float:X, Float:Y, Float:Z;if(sscanf(params, "s", metext))return SendClientMessage(playerid, COLOR_GREY, "[OOC] Befehl: /me [Text]");GetPlayerPos(playerid, X, Y, Z);GetPlayerName(playerid, playername, sizeof(playername));format(string, sizeof(string), "* %s %s *", playername, metext);foreach(Player, i){if(IsPlayerInRangeOfPoint(i, 6.5, X, Y, Z)){SendClientMessage(i, COLOR_ME, string);}}return 1;}

    Schon mit größeren Strings versucht?

  • Versuchs doch mal so:


    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • So,


    Ich will wie vorhin folgendes machen.


    Aktuell werden durch ein Array PKills[MAX_PLAYERS]; jedem Spieler bei einem Kill PKills[playerid] += 1; zugewiesen.


    Nun will ich die Kills der besten 5 Spieler in einer Auflistung darstellen.


    Das ganze sieht fuer mich recht scheisse aus.
    Ausprobieren kann ich es leider nicht da ich nicht soviele Spieler habe, aber vielleicht kann ja einer hinsehen ob das Konstrukt funktionieren wuerde.


    Hier mal kommentiert, mit dem was meiner Ansicht nach geschehen soll


  • Hallo,


    Ich habe ein Problem wen ich /motor mache geht er nicht an wen man nochmal /motor eingibt sollte das Licht und der Motor ausgehn.
    Wen man /licht macht geht es auch nicht an warum?

  • Hallo,


    Ich habe ein Problem wen ich /motor mache geht er nicht an wen man nochmal /motor eingibt sollte das Licht und der Motor ausgehn.
    Wen man /licht macht geht es auch nicht an warum?

    Dein Fehler:
    if(engine == VEHICLE_PARAMS_ON)
    {
    GetVehicleParamsEx(vid, engine,lights,alarm,doors,bonnet,boot,objective);
    SetVehicleParamsEx(vid, VEHICLE_PARAMS_ON, lights,alarm,doors,bonnet,boot,objective);
    SendClientMessage(playerid, COLOR_LIGHTBLUE, "Du stellst den Motor ab.");
    }
    else
    {
    GetVehicleParamsEx(vid, engine,lights,alarm,doors,bonnet,boot,objective);
    SetVehicleParamsEx(vid, engine,VEHICLE_PARAMS_OFF,alarm,doors,bonnet,boot,objective);
    SendClientMessage(playerid, COLOR_LIGHTBLUE, "Du betätigst die Zündung.");
    }



    Korrektur:
    if(engine == VEHICLE_PARAMS_ON)
    {
    GetVehicleParamsEx(vid, engine,lights,alarm,doors,bonnet,boot,objective);
    SetVehicleParamsEx(vid, VEHICLE_PARAMS_OFF, VEHICLE_PARAMS_OFF,alarm,doors,bonnet,boot,objective);
    SendClientMessage(playerid, COLOR_LIGHTBLUE, "Du stellst den Motor ab.");
    }
    else
    {
    GetVehicleParamsEx(vid, engine,lights,alarm,doors,bonnet,boot,objective);
    SetVehicleParamsEx(vid, engine,VEHICLE_PARAMS_ON,alarm,doors,bonnet,boot,objective);
    SendClientMessage(playerid, COLOR_LIGHTBLUE, "Du betätigst die Zündung.");
    }


    Erklärung:
    Du hast abgefragt ob der Motor an ist und wenn ja, hast du ihn wieder angemacht. Somit kann er
    auch nicht ausgehen. Das gleiche hast du auch beim Licht, somit musst du es auch dort überarbeiten.