Waffen speichern und geben

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
  • Hi,


    wie kann ich die Waffen (und Munition) herausfinden die der Spieler zum Zeitpunkt des Todes hatte und sie ihm beim Respawn wieder geben?


    Habe das hier gefunden
    new weapons[13][2];
    for (new i = 0; i < 13; i++)
    {
    GetPlayerWeaponData(playerid, i, weapons[i][0], weapons[i][1]);
    }


    weiß aber leider nicht wie ich es verwenden soll :D

  • jetzt musst du nur noch weapons[i][0] und weapons[i][1] slot für slot (also i für i und zwar von 0 bis 12 speichern)


    Wichtig dabei ist halt, dass du verstehst, wie das System funktioniert. Du kannst 13(slot 0 bis 12) unterschiedliche Waffen halten als Spieler, dein Spieler hat also 12 Slots.


    Die 12 Slots werden dort abgefragt, um einem Spieler die Waffe dann zu geben muss du nur wieder das Array für den Spieler auslesen und ihm die Waffe geben.


    Hinter dem i verbirgt sicher Slot, hinter dem index 0 der Waffentyp, hinter dem index 1 die Anzahl an Schüssen, die dir übrig bleibt.

    nanosMalte


    Zitat

    Zitat von Goldkiller




    Obwohl MiniYoda das Wörtchen "Dynamisch" in der Deutschen SA-MP szene mit durchaus fatalen Folgen verbreitete, so hat er dennoch bewiesen, dass er das Handwerk PAWN hervorragend beherrscht. Er gehört definitiv zu den kompetentesten Scriptern die man bei SA-MP.DE finden kann.

  • Müsste ich das dann so machen?


    Oben:


    new weapons[13][2];


    Dann


    public OnPlayerDeath(playerid, killerid, reason)
    {
    for (new i = 0; i < 13; i++)
    {
    GetPlayerWeaponData(playerid, i, weapons[i][0], weapons[i][1]);
    }


    }


    Und noch


    public OnPlayerSpawn(playerid)
    {
    for (new i = 0; i < 13; i++)
    {
    GivePlayerWeapon(playerid, i, weapons[i][0], weapons[i][1]);
    }
    }


    Leider geht dies auch nicht so wirklich :/


    Code
    (1639) : warning 202: number of arguments does not match definition

    (Das ist die GivePlayerWeapon Zeile [Denke wegen dem "i"])

  • Ja aber du wirst Probleme bekommen, denn du musst noch die playerid berücksichtigen, dein array muss also aus 3 dimmensionen (oder wie man jenes immer nennen mag bestehen):


    weapon[playerid][slot][0-1]

    nanosMalte


    Zitat

    Zitat von Goldkiller




    Obwohl MiniYoda das Wörtchen "Dynamisch" in der Deutschen SA-MP szene mit durchaus fatalen Folgen verbreitete, so hat er dennoch bewiesen, dass er das Handwerk PAWN hervorragend beherrscht. Er gehört definitiv zu den kompetentesten Scriptern die man bei SA-MP.DE finden kann.