[Include] Actor Extensions

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
  • Läuft er denn auch mit Animation oder wird er einfach nur immer ein Stück geportet?


    Natürlich mit animation du kannst es quasi von einem normalen Spieler nicht unterscheiden, besonders wenn du ihm noch n TextLabel oder so gibst ;)

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • Außerdem braucht man dafür keine. rec-Dateien und der Actor läuft nicht so wie NPCs außer mit Kalibers Funktion.

  • Kaliber: in dem anderen Thema wurde GetPlayerTargetPlayer, das du auch zitiert hast, erwähnt. Eventuell kannst du das für Actors auch realisieren. Sprich, ein Callback, wenn man auf einen Actor zielt. ;)


    Ja klar kann ich machen, aber erst heute Abend bin noch unterwegs :)


    Wenn wer noch weitere Ideen hat, gerne Posten :)


    mfg. :thumbup:

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • Mag jetzt etwas abwegig vom Thema sein, aber wie schaut es mit der Ressourcen-Nutzung bei diesen Actors aus?
    Wenn ich jetzt Pro Stadt 500 Actors erstelle, die durch die Stadt laufen, evtl. verschiedene Aktionen tätigen..


    Hätte da ja eine Idee, bspw. dass diese Actors wie normale Spieler auf einem Roleplay Server reagieren.


    Kaliber:


    Wie schauts mit Fahrzeugen aus?
    Actors in Cars undso.. :D

  • Schöne Include, kann man gebrauchen ;)

    Server Leiter - Projektleiter
    __________________________________________________


    Hostingpartner: simple-servers.de - So einfach wie noch nie!
    nImage - Free and fast picture upload!
    nImage - Picture upload
    __________________________________________________


    Server IP: server.nemesus-roleplay.net
    Teamspeak IP: ts3.nemesus-roleplay.net
    __________________________________________________


  • Wenn ich jetzt Pro Stadt 500 Actors erstelle, die durch die Stadt laufen, evtl. verschiedene Aktionen tätigen..


    Wesentlich besser als wenn es 500 NPCs wären :)


    Allerdings liegt das Limit bei 1000 Actors ;)


    Wie schauts mit Fahrzeugen aus?
    Actors in Cars undso..


    Momentan gar nicht möglich, müssen auf Kalcor warten...aber das kommt bestimmt bald :)

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • if(actorid >= MAX_ACTORS) return print(!"* Move: Invalid actorid!");
    Nette, Idee das so zu lösen, aber unsinnig, wenn der Actor nicht existent ist, so kann man auch Rechnenzeit verschwenden :whistling:


    Sinniger wäre es zu lösen, wenn man es über IsValidActor löst, sowas hast du in der Art ja schin drin, warum nicht gleich als Funktion nutzen ?
    Ich würde dir auch raten, nicht die Funktion via CallLocalFunction aufzurufen, sondern via einfachen Funktionsaufruf, hab ich in meinem Tutorial ja beschrieben,
    oder einfach via #emit.


    Auch hier spart das massig Zeit und es ist besser als die Funktionen ins leere laufen zu lassen.

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

    Margarete Stokowski

  • Kaliber: in dem anderen Thema wurde GetPlayerTargetPlayer, das du auch zitiert hast, erwähnt. Eventuell kannst du das für Actors auch realisieren. Sprich, ein Callback, wenn man auf einen Actor zielt.


    Gibt es auch eine Möglichkeit rauszufinden ob man auf den Actor zielt?


    So ist nun drinnen ;)


    Schöne Include 9/10


    Hast du Verbesserungsvorschläge / Wünsche? :)


    Nette, Idee das so zu lösen, aber unsinnig, wenn der Actor nicht existent ist, so kann man auch Rechnenzeit verschwenden


    Nun sagen wir es mal so, es ist nicht unsinnig! Wenn er da z.B. 1000 eingibt...dann gibts n Array out of Bounds Fehler...also macht schon Sinn, aber ich habe da mal was ergänzt...


    Ich würde dir auch raten, nicht die Funktion via CallLocalFunction aufzurufen, sondern via einfachen Funktionsaufruf


    Das hat aber den Nachteil, dass der Besitzer von dem Gamemode auf diesen Callback implementiert haben muss, sonst bekommt dieser einen Fehler.
    Zudem handelt es sich um Callbacks wo es sagen wir mal auf 50ms nicht so ankommt ^^


    oder einfach via #emit.


    Da habe ich nicht so gute Erfahrungen mit gemacht...da failt das manchmal oder der Server crasht...


    massig Zeit


    ...Wir reden hier über extrem kleine Millisekunden Bereiche...wenn nicht sogar Nanosekunden...


    Da habe ich lieber ein System, welches stabil ist und keine Fehler kommen, als 10ms gespart dafür aber kritisch bzw mit mehr Auffwand (Callbacks implementieren).


    PS: Wenn jemand darauf Wert legt und diese Funktionen drinnen hat, kann er das ja auch umschreiben, ich meine eine Zeile zu ersetzen ist jetzt keine Sache der Unmöglichkeit :D


    mfg. :thumbup:

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • Das hat aber den Nachteil, dass der Besitzer von dem Gamemode auf diesen Callback implementiert haben muss, sonst bekommt dieser einen Fehler.


    Du hast das Tutorial nicht gelesen oder ?
    Man muss keine Callbacks implementieren :pinch:


    Nun sagen wir es mal so, es ist nicht unsinnig! Wenn er da z.B. 1000 eingibt...dann gibts n Array out of Bounds Fehler...also macht schon Sinn, aber ich habe da mal was ergänzt...


    Ich meinte auch nicht, das wenn man > 1000 eingibt sondern wenn man eine ID eingibt, dessen Actor nicht existent ist.


    Liest du eigentlich die Beiträge oder nur das was du lesen willst ?


    Fürs Aminen auf den Actor gibt es bereits eine schöne Funktion.
    Die nennt sich "GetPlayerCameraTargetActor", deine hingegen ist da doch sehr ungenau.
    Man muss aber dafür "EnablePlayerCameraTarget" aktiviert haben.
    Das sollten aber die meisten, wenn sie eine dieser Funktionen nutzen:

    • GetPlayerCameraTargetPlayer
    • GetPlayerCameraTargetVehicle
    • GetPlayerCameraTargetObject
    • GetPlayerCameraTargetActor


    So könnte man auch prüfen ob, auf den Actor geschossen wird :thumbup:


    Es wäre auch möglich, diese Funktion nur temporär zu aktivieren, aber dann sollte da ein Hook drin sein, der prüft ob EnablePlayerCameraTarget nicht bereits aktiviert ist und man es versehentlich wieder deaktiviert.


    IsVaildActor, fehlt trotzdem noch :P

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

    Margarete Stokowski

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