[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
  • Hey Danke, noch ne Frage, wie ist der beste Weg wenn ich Befehl machen möchte um ein Vehikel mit Befehl per Name zu spawnen..


    z.B. /veh Nrg = Spawn eine NRG
    ohne jetzt dass ich 200 if(StrCMP) machen muss um die string-eingaben zu vergleichen

    SA:MP in 2020?

  • @fishy


    Hoffe habe nichts vergessen:



    Mit freundlichen Grüßen
    JustMe.77 8)

  • @fishy
    CMD:veh(playerid,params[])
    {
    new vid;
    if(sscanf(params,"k<vehicle>",vid)) return SendClientMessage(playerid, 0xFFFFFFFF, "/veh <vehicle name / id>");
    new Float:X,Float:Y,Float:Z;
    GetPlayerPos(playerid,X,Y,Z);
    new vehicleid = CreateVehicle(vid,X,Y,Z,0.0,-1,-1,-1);
    SetVehicleVirtualWorld(vehicleid,GetPlayerVirtualWorld(playerid));
    LinkVehicleToInterior(vehicleid,GetPlayerInterior(playerid));
    PutPlayerInVehicle(playerid,vehicleid);
    return true;
    }


    @[LnD]JustMe.77 Warum so kompliziert wenn's auch einfach geht :)

  • Ja jetzt klappt es irgendwie als filterscript, wtf.


    Danke



    Habe ein Problem mit einem Wert

    Code
    ResetPlayerMoney(i);
            GivePlayerMoney(i, TempMoney[i]);
            new Float:HP[MAX_PLAYERS], Float:Armor[MAX_PLAYERS];
            new Float:Score[MAX_PLAYERS];
            GetPlayerHealth(i, HP[i]);
            GetPlayerArmour(i, Armor[i]);
            Score[i] += HP[i];
            Score[i] += Armor[i];
            SetPlayerScore(i, Score[i]);
            Score[i] = 0;


    ingame ist der score dann bei 138396963933 und wenn ich die floats wegnehme ist der irwie bei -203693012

    SA:MP in 2020?

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Jetzt ist der auf 0...


    Edit: Geht doch


    Habe ein Problem mit dini, irgendwie funktioniert das nicht so ganz..
    Es sollte nach dem Register eine .ini mit dem Namen des Spielers erstellen, es passiert aber nix... Habs schon getestet, liegt nicht an dem String "name"


    Glaube die Dini wird nicht richtig geladen bzw hat ne falsche Version (1.6)

    Code
    new name[64];
            GetPlayerName(playerid, name, 64);
            new string[128];
            format(string, sizeof(string), "/Accounts/%s.ini", name);
            dini_Create(string);

    SA:MP in 2020?

    2 Mal editiert, zuletzt von Anti. ()

  • @fishy
    Ja, dafür musst du einfach das Callback OnPlayerWeaponShot mit 0 returnen.
    Sprich, vorher abfragen ob ein Spieler mit der Waffe getroffen wurde, dann schauen ob dieser Spieler unverwundbar sein soll und dann, falls das so ist, 0 returnen.
    http://wiki.sa-mp.com/wiki/OnPlayerWeaponShot


    Könnte man auch mit OnPlayerTakeDamage / OnPlayerGiveDamage, da müsstest du die HP (manchmal auch Armour) wieder dazu rechnen. Außerdem müsstest du auch schauen, ob der Spieler eine Rüstung getragen hat, was es meiner Meinung nach bisschen komplizierter machen würde, als mit OnPlayerWeaponShot zu arbeiten.



    Versuch es mal, wenn du Hilfe brauchst oder dir nicht sicher bist, kannst du ja hier (mit Code) fragen. ;)

  • Moin zusammen eine kleine Frage hab ich da und zwar ist es möglich bei einem DIALOG_LIST_ITEM auszugeben und in einer Variable zu speichern und später abzufragen welche er angeklickt hat?


    wollte eine Dynamische List_Item für Jobs machen wo auch eine Dynamiche naricht ausgegeben wird

  • Beitrag von Manniac ()

    Dieser Beitrag wurde vom Autor aus folgendem Grund gelöscht: nvm ().
  • Es gibt die funktion bei OnDialogResponse:


    Code
    if(response)
    if(listitem == 0)
    (1. Item in der Liste) Falls du das noch globaler verwenden willst kannst du ja ClickedListItem[MAX_PLAYERS]; als variable verwenden, dann setzt du dort ein
    ClickedListItem[playerid] = 1;


    Ich hoffe das ist was du meinst und ich konnte dir weiterhelfen.

    SA:MP in 2020?

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen