Problem mit Player Munition

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
  • Hallo bin neu hier wie man sieht :D, bin auch neuling im Scripten aber habe alle möglichen turtorials schon studiert also kommt mir hier nicht mit wikipedia an ;D.


    Ich hab folgendes gescriptet:


    public OnPlayerAmmoChange(playerid, oldammo, newammo)
    {
    if (oldammo >= newammo)
    {
    SetPlayerWantedLevel(playerid, 3);
    }
    return 1;
    }


    ----------------------------------------


    Funktion: Wenn ein player schiesst soll er Wanted level 3 bekommen.


    Dadurch das man munition verliert also die alte munition grösser ist als die neue wird man wanted gesetzt.


    Funktioniert auch, doch ich habe ein bug in dem script:


    Der Player wird wanted wenn er sich ne waffe kauft und ausserdem wird er wanted, wenn er die waffe wechselt.


    Weis jemand wie ich den bug beheben kann, nach möglichkeit mit scriptbeispiel?
    Oder gibts bessere möglichkeiten als ein remotecallback zur ammoabfrage?


    folgendes habe ich ausserdem schon versucht:


    {
    if (oldammo != 0 && oldammo >= newammo)
    {
    SetPlayerWantedLevel(playerid, 3);
    }
    return 1;
    }
    -------------------------------------


    Wenn man eine waffe kauft oder die waffe wechselt gibt es ja garkeinen oldammo und oldammo wäre dann ein nicht bestimmter wert oder so. Hats damit was zutun?


    Ich bitte um Hilfe da ich schon sehr viel in meinem Gamemod allein geschafft hab und stolz bin und wirklich gerne weiterkommen würde. Allein an diesem problem hab ichs ersma 3 tage selbst versucht.
    Die im englischen samp forum konnten mir nicht helfen mal sehen ob ihrs besser könnt.
    Danke für antworten und fürs zuhören.


    Oneill

  • @ crank funzt net






    @ Trooper


    wie kann ich denn eine Abfrage innerhalb einer Abfrage einbringen?
    hab das schon versucht aber gab immer error beim compilen.



    public OnPlayerAmmoChange(playerid, oldammo, newammo)
    I
    Wie sage ich public onplayerammochange das er public OnPlayerWeaponChance mit abfragen soll
    I
    I
    I
    I
    I
    public OnPlayerWeaponChange

  • Setz einfach eine globale Variable grundsätzlich auf 0.
    Bei Waffentausch wird sie auf 1 gesetzt, genauso wie bei Munitionswechsel.
    Wird nun der Waffentausch ausgelöst, aber die Variable IST bereits 1, kann man nun einen Timer anschalten.
    Wird Munition gewechselt, aber die Variable ist schon 1, kann man direkt erkennen, dass nur die Waffen gewechselt wurden.
    Ach, man sollte nicht vergessen, die Variable immer wieder auf 0 zu setzen ;)
    Am besten per Timer, damit ein möglicher Check nicht an einem zu schnellen Server scheitert ;)