[Include] Actor Extensions
-
-
Läuft er denn auch mit Animation oder wird er einfach nur immer ein Stück geportet?
-
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 -
Wo genau ist jetzt eigentlich der Vorteil/Nachteil/Unterschied zu einem NPC?
-
Der Actor nimmt keinen Playerslot ein.
Er ist eigentlich wie ein Objekt, das Animationen ausführen kann. -
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 unterwegsWenn wer noch weitere Ideen hat, gerne Posten
mfg.
-
Kaliber, danke für das Include.
Gibt es auch eine Möglichkeit rauszufinden ob man auf den Actor zielt? -
Gibt es auch eine Möglichkeit rauszufinden ob man auf den Actor zielt?
Lies mal einen Beitrag vor dir -
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.
Wie schauts mit Fahrzeugen aus?
Actors in Cars undso.. -
Schöne Include, kann man gebrauchen
-
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ärenAllerdings 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 -
aber das kommt bestimmt bald
Dann kann er eigentlich die NPCs komplett löschenhav0K~: einfach mal ausprobieren, dann siehst du's schon
-
Schöne Include 9/10
Ist sicherlich zu gebrauchen und ich habe schon lange drauf gewartet -
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 verschwendenSinniger 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.
-
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 drinnenSchö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 ankommtoder 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
mfg.
-
Zitat
Hast du Verbesserungsvorschläge / Wünsche?
Keine Fehler wenn ich es Teste :'D
-
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 implementierenNun 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 wirdEs 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
-
GetPlayerCameraTargetActor
Rly?! Das hättest du mir auch früher sagen können, dass diese Funktion existiertIsVaildActor, fehlt trotzdem noch
Is nun drinnen