Pickups || OnPlayerPickupPickup

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
  • Tutorial zu Pickups mit Wirkungen


    Hey liebe Community.
    In diesem Tutorial möchte ich zeigen, wie man Pickups mit Wirkungen in die GameMode einbauen kann.


    Dies ist wirklich sehr leicht.
    Zuersteinmal braucht ihr eine geeignete Position, wo das Pickup später im Spiel erscheinen soll.
    Dazu geht ihr in den GTA San Andreas Ordner auf "samp_debug"→"Launch Debug".
    Habt ihr eine Stelle gefunden, gebt /save ein. Damit werden die Koordinaten gespeichert.


    • Schritt 1


    Öffnet eure GameMode. Ganz oben am Script, unter den Includes, benötigen wir zuersteinmal ein "new". Dies sollte wie folgt aussehen und unterhalb der Includes/Defines stehen:


    new heal; // Anstatt "heal" könnt ihr dort den Namen von eurem Pickup hinschreiben


    Ich nenne das Pickup hier im Beispiel "heal" da es später das Leben auf 100% setzt.

    •Schritt 2


    Scrollt runter bis zu OnGameModeInit:


    public OnGameModeInit()
    {


    Nun kommt der Name des Pickups ins Spiel (in dem Fall: "heal").


    heal = CreatePickup(1240, 2, 1503.3359, 1432.3585, 10.1191);


    Die Variablen:


    (PickupModellID, PickupTyp, Koordinate:X,Koordinate:Y, Koordinate:Z)



    PickupModellID

    Die Modell ID des Pickups. In diesem Fall ist es ein Herz, alle PickupIDs findet ihr hier:
    http://weedarr.wikidot.com/pickups


    Pickup Typ:


    Der Typ eines Pickups. Beispiel: 2 steht dafür, dass wenn ein Spieler es aufhebt, es nach kurzer Zeit respawnt.
    Die PickupTypen findet ihr hier: http://wiki.sa-mp.com/wiki/PickupTypes

    Koordinate X:


    Die X Koordinate für das Pickup


    Koordinate Y:


    Die Y Koordinate für das Pickup


    Koordinate Z:


    Die Z Koordinate für das Pickup


    • Schritt 3


    Sucht nach diesem Public:


    public OnPlayerPickUpPickup(playerid, pickupid)
    {


    Dieses public ist für die Wirkung zuständig, wenn ein Spieler ein Pickup aufhebt.
    In unserem Falle: "heal".


    if(pickupid == heal)
    {
    SetPlayerHealth(playerid,100);
    }


    SetPlayerHealth(playerid,100);


    Setzt das Leben von einem Spieler auf 100 Prozent


    Geschafft! Wenn der Spieler nun das Pickup Heal aufhebt, erhält er volles Leben!


    Ich hoffe ich konnte mit diesem Tutorial helfen.


    MfG
    Honigbrot

    2 Mal editiert, zuletzt von pwnfl4sh ()

  • Das Tutorial ist wirklich sehr hilfreich.
    Einen kleinen Kritikpunkt habe ich aber:


    Die Pickup-ID ist die Ingame-ID eines Pickups. Also die, die du bei dem Createn des Pickups in der Variable speicherst.
    Was du in deinem Tutorial als Pickup-ID bezeichnet hast, ist die Pickup-ModelID.
    Ist zwar kein schwerwiegender Fehler, aber mit sowas könnten neulinge schnell durcheinander kommen ;)



    MfG Firer

  • Es ist vielleicht für Anfänger ganz nütlzlich, nur ist das mit dem Herzpickup unglücklich gewählt, denn wenn man das Pickup aufnimmt ohne weitere Funktionen dafür einzurichten bekommt man trozdem volle Leben, du kannst es z.B. mit dem Rüstungs Pickup verbinden, so dass man Rüstung und volle Leben bekommt.

    "Bevor ich mir Informationen aus der "Bild" hole,
    werde ich anfangen, Wahlergebnisse danach vorauszusagen,
    neben welchen Busch unsere Katze gepinkelt hat."

    Margarete Stokowski