Public erstellen

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,


    ich wollte wissen wie man ein Public wie z.B. public OnObjectMoved(objectid) erstellt das praktisch dauerhaft im Script ist bzw. wie die Publics die standardmäßig drin sind (OnPlayerSpawn usw.).
    Versteht ihr was ich meine? :D


    Ich brauche nämlich ein Public oder so, dass Abfragt ob ein Objekt in der Nähe eines Spielers ist.
    Ungefähr so:


    public IsObjectNearPlayer(objectid,playerid)
    {


    }


    Hoffe mir kann einer helfen und sagen wie ich das zu machen hab :)

  • Und wie wird das dann aufgerufen?
    Alle 500 ms automatisch oder wie?

  • Entweder mit nem Timer..
    Oder mit nem andern Public

    [tabmenu][tab='Angebote','http://cdn3.iconfinder.com/data/icons/glyph/227/Tag-48.png']

    + Die Preise liegen bei 5-100+€ Ablauf:
    + Entweder ihr addet mich in Skype (PN vorher Schreiben) oder Ihr schreibt eine PN an mich (Betreff - Euer Wunsch z.B. Filterscript)
    + So nun schreibt ihr mir was ihr alles in dem Script haben wollt ich werd euch dann sagen ob ich es hinbekomme.
    + Dann machen wir ein groben Preis aus. Ich werde das Script erstellen und es zusammen mit dem Kunden Testen.



    [tab='Kontakt','http://cdn3.iconfinder.com/data/icons/line/36/person_add-48.png']
    edmix23

    + Bitte beim Adden angeben wer ihr seit oder per PN bescheid sagen!
    [tab='Zahlungs Methoden','https://cdn3.iconfinder.com/data/icons/line/36/check_money-32.png']
    +Paypal!
    +Direkte Banküberweisung

  • Was wird das denn?
    Schön kompliziert mit irgendwelchen Timern, die komplett sinnlos da rumeiern...
    Wie wärs mit IsPlayerInRangeOfPoint?
    ->
    IsObjectNearPlayer(objectid,playerid,Float:Range)
    {
    new Float:Coords[3];
    GetObjectPos(objectid,Coords[0],Coords[1],Coords[2]);
    return (IsPlayerInRangeOfPoint(playerid, Range,Coords[0],Coords[1],Coords[2]);
    }

  • Ja, das mit dem Timer weiß ich. Aber ist das nicht übelst Ressourcen fressend?


    Ich möchte nämlich abfragen ob ein bestimmtes Objekt (objectid) in der Nähe eines Spielers ist (playerid).
    Dazu müsste das public ja schon relativ oft aufgerufen werden.


    @RG:


    Und wie wird das dann aufgerufen? Das müsste ja dann schon unter OnPlayerUpdate eingefügt werden oder?

  • Also ich glaube ich muss mal komplett erklären was ich vor hab.


    Also, ich habe ein Deathmatch erstellt bei dem man mit einem Duneride Raketen verschießen kann.
    Wenn man feuern drückt wird ein Objekt erstellt das nach vorne fliegt und schließlich explodiert.
    Das Problem ist das das Objekt durch gegnerische Fahrzeuge hindurch fliegt und erst dahinter explodiert.
    Deswegen brauche ich ein Public oder was auch immer das erkennt wann ein abgeschossenes Objekt (die Rakete des Gegners)
    in der Nähe eines Fahrzeug ist und dann explodiert und nicht erst dahinter.


    Versteht ihr? :D

  • Nimm einfach nen Timer. Muss ja nicht unbedingt ein Timer sein, der 50 Mal in der Sekunde aufgerufen wird... Dann ist das auch nicht wirklich CPU-Lastig, denk ich.