Papawolf

Patrouillierende Wachen in Traderzonen

9 posts in this topic

Hey Leute,

bin gerade dabei eine Traderzone zu basteln, mir kam die Überlegung ob man die Wachen von A nach B patrouillieren lassen kann damit's lebendiger wirkt.
Kann jemand helfen oder eine kleine Anleitung dafür basteln? :)
 

Share this post


Link to post
Share on other sites

im editor wachen setzen und wegpunkte einfügen.... geht bei mir gut... die halten den trader sauber... sterben aber auch...

Share this post


Link to post
Share on other sites
Advertisement

Ist nichtmal zwingend notwending Wegpunkte zu setzen, ausser du willst Sie wirklich von einem bestimmten, zu einem anderen Punkt laufen lassen.

So wie ich verstehe, willst du aber nur ein bisschen Bewegung reinbringen, damit kannst du die Armaanimationen nutzen:

"Altes" Traderformat:

_trader = 
[
    "Exile_Trader_Aircraft",
    "WhiteHead_17",
    ["InBaseMoves_patrolling1"],
    [14564.9,16923.4,0.00146294],
    323.53
]
call ExileClient_object_trader_create;

Für patroullierend moves, nimmst du z.b. InBaseMoves_patrolling1

Liegestütze gibts mit: AmovPercMstpSnonWnonDnon_exercisePushup 

Gibt ein Sack voll Animationen, von schwimmen, bis wiederbeleben, sitzend mit Waffe, in der Nase popelnd...einfach mal die Liste unten durchgehen.

 

Wen du deine Trader über EXILE 3EDEN Plugin im "neuen" exportierst, dann kannst einfach doppelt auf den Trader klicken und deine Animation unter Object Specific Animations eintragen.

In dem Format, kannst du den Tradern auch jedes erdenkliche Outfit + Waffe verpassen:

/**
 * Created with Exile Mod 3DEN Plugin
 * www.exilemod.com
 */

if (!hasInterface || isServer) exitWith {};

// 1 NPCs
private _npcs = [
["Exile_Trader_Diving", ["AmovPercMstpSnonWnonDnon_exercisePushup"], "Exile_Trader_Diving", "WhiteHead_12", [["arifle_SDAR_F","","","",[],[],""],[],[],["U_I_Wetsuit",[]],["V_RebreatherIA",[]],[],"","G_I_Diving",[],["","","","","",""]], [13466.5, 15038.6, 6.77878], [0, 1, 0], [0, 0, 1]]
];

{
    private _logic = "Logic" createVehicleLocal [0, 0, 0];
    private _trader = (_x select 0) createVehicleLocal [0, 0, 0];
    private _animations = _x select 1;
    
    _logic setPosWorld (_x select 5);
    _logic setVectorDirAndUp [_x select 6, _x select 7];
    
    _trader setVariable ["BIS_enableRandomization", false];
    _trader setVariable ["BIS_fnc_animalBehaviour_disable", true];
    _trader setVariable ["ExileAnimations", _animations];
    _trader setVariable ["ExileTraderType", _x select 2];
    _trader disableAI "ANIM";
    _trader disableAI "MOVE";
    _trader disableAI "FSM";
    _trader disableAI "AUTOTARGET";
    _trader disableAI "TARGET";
    _trader disableAI "CHECKVISIBLE";
    _trader allowDamage false;
    _trader setFace (_x select 3);
    _trader setUnitLoadOut (_x select 4);
    _trader setPosWorld (_x select 5);
    _trader setVectorDirAndUp [_x select 6, _x select 7];
    _trader reveal _logic;
    _trader attachTo [_logic, [0, 0, 0]];
    _trader switchMove (_animations select 0);
    _trader addEventHandler ["AnimDone", {_this call ExileClient_object_trader_event_onAnimationDone}];
}
forEach _npcs;

3den-trader-positioning.jpg

 

3den-trader-animations.jpg

 

Liste einiger Animationen:

Spoiler


// Generic Standing around with a rifle
c4coming2cDf_genericstani1
c4coming2cDf_genericstani2
c4coming2cDf_genericstani3

// Sitting, chillin the fuck out of his life
c5efe_MichalLoop

// Standing without a gun, like a boss
HubBriefing_loop
HubBriefing_scratch
HubBriefing_stretch
HubBriefing_think

// Swimming with a gun
AdvePercMstpSnonWrflDnon
AdvePercMstpSnonWrflDnon_relax

// Treating wounded
Acts_TreatingWounded01
Acts_TreatingWounded02
Acts_TreatingWounded03
Acts_TreatingWounded04
Acts_TreatingWounded05
Acts_TreatingWounded06

Acts_LyingWounded_loop1
Acts_LyingWounded_loop2
Acts_LyingWounded_loop3

// Swimming, no gun
AdvePercMstpSnonWnonDnon_relax
AdvePercMstpSnonWnonDnon

// Prone, fixing vehicle, no gun, without movement
HubFixingVehicleProne_idle1

// Standing, fixing vehicle
InBaseMoves_assemblingVehicleErc

// Crouching, fixing vehicle, our crafting animation
Acts_carFixingWheel

// Our vehicle trader animations
InBaseMoves_repairVehicleKnl
InBaseMoves_repairVehiclePne

// Sitting at table on computer
HubSittingAtTableU_idle1
HubSittingAtTableU_idle2
HubSittingAtTableU_idle3

// Sitting on a chair, with a rifle
HubSittingChairA_idle1
HubSittingChairA_idle2
HubSittingChairA_idle3
HubSittingChairA_move1

// Sitting on a chair, not sure if rifle, pistol or unarmed
HubSittingChairB_idle1
HubSittingChairB_idle2
HubSittingChairB_idle3
HubSittingChairB_move1

// Sitting on a chair, probably a rifle
HubSittingChairC_idle1
HubSittingChairC_idle2
HubSittingChairC_idle3
HubSittingChairC_move1

// Sitting on a chair, with a rifle, like a boss
InBaseMoves_SittingRifle1
InBaseMoves_SittingRifle2

// Standing, no rifle, on a table. Maybe a counter (our food trader thing?)
InBaseMoves_table1

// Standing, no rifle, aircraft trader
LHD_krajPaluby

// Sitting on a chair, probably NO rifle
HubSittingChairUA_idle1
HubSittingChairUA_idle2
HubSittingChairUA_idle3
HubSittingChairUA_move1

// Sitting on a chair, no rifle
HubSittingChairUB_idle1
HubSittingChairUB_idle2
HubSittingChairUB_idle3
HubSittingChairUB_move1

// Sitting on a chair, no rifle <<< EXTRA CHILLIN
HubSittingChairUC_idle1
HubSittingChairUC_idle2
HubSittingChairUC_idle3
HubSittingChairUC_move1

// IRONMAN TRAINING
AmovPercMstpSnonWnonDnon_exercisePushup
AmovPercMstpSnonWnonDnon_exercisePushup
AmovPercMstpSnonWnonDnon_exercisekneeBendA
AmovPercMstpSnonWnonDnon_exercisekneeBendA
AmovPercMstpSnonWnonDnon_exercisekneeBendB

// Sitting up HIGH (?), with a rifle
sitTableRfl_listening

// Sitting up HIGH (?), with a rifle
HubSittingHighA_idle1

HubSittingHighB_move1

// Sitting up HIGH (?), with a rifle
HubSittingHighB_idle1
HubSittingHighB_idle2
HubSittingHighB_idle3

// Standing, with a rifle
HubStanding_idle1
HubStanding_idle2
HubStanding_idle3

// Standing, no rifle
HubStandingUA_idle1
HubStandingUA_idle2
HubStandingUA_idle3
HubStandingUA_move1
HubStandingUA_move2

// Standing, no rifle, probably needs a gun belt to look okay
HubStandingUB_idle1
HubStandingUB_idle2
HubStandingUB_idle3
HubStandingUB_move1

// Standing, no rifle, looks like a diva
HubStandingUC_idle1
HubStandingUC_idle2
HubStandingUC_idle3
HubStandingUC_move1
HubStandingUC_move2

// Standing, hands behind back, could be prisoner
InBaseMoves_HandsBehindBack1
InBaseMoves_HandsBehindBack2

// Patrolling moves, maybe for guards
InBaseMoves_patrolling1
InBaseMoves_patrolling2

// Standing, no rifle, hands behind back
UnaErcPoslechVelitele1
UnaErcPoslechVelitele2
UnaErcPoslechVelitele3
UnaErcPoslechVelitele4

// Lying (?), rifle
Acts_InjuredLookingRifle01
Acts_InjuredLookingRifle02
Acts_InjuredLookingRifle03
Acts_InjuredLookingRifle04
Acts_InjuredLookingRifle05

// Standing, no rifle
Acts_CivilListening_2

// Prisoner, sitting
Acts_AidlPsitMstpSsurWnonDnon01
Acts_AidlPsitMstpSsurWnonDnon02
Acts_AidlPsitMstpSsurWnonDnon03
Acts_AidlPsitMstpSsurWnonDnon04
Acts_AidlPsitMstpSsurWnonDnon05

// Sitting on the ground, rifle
AmovPsitMstpSrasWrflDnon_WeaponCheck1
AmovPsitMstpSrasWrflDnon_WeaponCheck2
AmovPsitMstpSrasWrflDnon_Smoking

// Sitting on the ground, no rifle
Acts_passenger_flatground_leanright

 

Edited by WURSTKETTE
1 person likes this

Share this post


Link to post
Share on other sites
1 hour ago, marcelunzen said:

im editor wachen setzen und wegpunkte einfügen.... geht bei mir gut... die halten den trader sauber... sterben aber auch...

Kannst du das etwas genauer erklären?

Share this post


Link to post
Share on other sites

@WURSTKETTE Hallo und vielen Dank für diese ausführliche Antwort. Steckt sicher ein wenig Arbeit hinter, das schätze ich sehr, danke. :)
Die Trader habe ich mit diesen Animationen ausgestattet und die wirken auch recht "lebendig", allerdings würde ich die Wachen schon gerne patriouillieren lassen von Punkt A nach punkt B nach Punkt A wieder, nur als Beispiel.
Allerdings weiß ich nicht, wie man die Wegpunkte setzt, geschweige denn weitere Wachen spawnen lässt.
Habe das bis jetzt nur mithilfe der "initPlayerLocal.sqf" Datei gemacht.
Weißt du eventuell auch, wie man Fahrzeuge in die Traderzone stellt?
Beispiel.:
- Eine Wache die in einem HMMW am Geschütz sitzt, zwecks Atmosphäre etc.
- Einen Munitionstransporter um sich dort neu aufzuladen an Munition.
diese aber dann von Spielern nicht besteigbar sind.


 

8 hours ago, marcelunzen said:

im editor wachen setzen und wegpunkte einfügen.... geht bei mir gut... die halten den trader sauber... sterben aber auch...

Wie @taker das schon schrieb, kannst du das ein wenig erläutern?
Dachte die Wachen wären Neutral gegenüber allem, wie kann man einstellen das diese die Traderzone sauber halten?

Share this post


Link to post
Share on other sites
20 hours ago, Papawolf said:

Weißt du eventuell auch, wie man Fahrzeuge in die Traderzone stellt?
Beispiel.:
- Eine Wache die in einem HMMW am Geschütz sitzt, zwecks Atmosphäre etc.
- Einen Munitionstransporter um sich dort neu aufzuladen an Munition.
diese aber dann von Spielern nicht besteigbar sind.

Du kannst Waffen, Fahrzeuge und Objekte als "simple Object" platzieren.  Dazu benötigst du das "Exile Eden Plug-In".

Dadurch werden Objekte dargestellt und dessen Eigenschaften und die Interaktion wird komplett entfernt. Leider ist das nicht mit Units möglich.

Es ist anfangs sehr ungewohnt mit dem Plug-In, da zur Platzierung eine Dose genommen wird (zum Aktualisieren Num0 drücken), aber es funzt sehr gut.

 

Für die Animationen stehen dir in erster Linie die von Wurstkette bereitgestellten Infos zur Verfügung. Man könnte auch die von Arma 3 selbst nehmen, aber die meisten funktionieren nicht und das Herumprobieren ist Zeitaufwändig. 

Für Patrouillen kannst du es einmal damit versuchen

// Patrolling moves, maybe for guards
InBaseMoves_patrolling1
InBaseMoves_patrolling2

Hier bewegen sich die Units zwischen 2 Punkten (10m entfernt) und schauen um die Welt. Zum Beispiel für Units auf der Mauer.

Eine andere Methode wäre, diese im Editor zu erstellen und diesen Block in die mission.sqm einzutagen. 

Sicherlich ist auch das Ganze via Script auszuführen, wenn man weiß wie.^_^

 

Langer Text, ich wollte ins Bett, deswegen hier die Kurz-Fassung...:D

Wenn es ums Editieren der Map geht, dann ist viel Geduld und Probieren an erster/zweiter Stelle. Wenn du deine Map bearbeitest, dann kannst du es auch in der Vorschau begutachten. In der Regel führt der Server die Sachen genau so aus.

Wirst aber früh genug merken, man kommt davon nicht mehr los xD

 

20161103205847_1.jpg

Unbenannt-2.jpg

Unbenannt-3.jpg

1 person likes this

Share this post


Link to post
Share on other sites

Hätte ich beinahe vergessen:P

 

Unbenannt-4.jpg

Unbenannt-5.jpg

Edited by [HG]RaVeN103
1 person likes this

Share this post


Link to post
Share on other sites
3 hours ago, [HG]RaVeN103 said:

Du kannst Waffen, Fahrzeuge und Objekte als "simple Object" platzieren.  Dazu benötigst du das "Exile Eden Plug-In".

Dadurch werden Objekte dargestellt und dessen Eigenschaften und die Interaktion wird komplett entfernt. Leider ist das nicht mit Units möglich.

 

Hallo & danke an deine Anteilnahme an diesem Thema. :)
Das mit den simple Objects habe ich soweit verstanden und klingt auch nach einer ganz guten Alternativlösung, allerdings sind diese ja, wie du schon sagtest, nur dargestellt. Das Ziel für meine Traderzone ist das Wachen sich verteidigen bei eingehenden Beschuss.
Eine Savezone habe ich dort nicht, ist eine selbstgemachte Militärbasis, die vom Aufbau her schon recht sicher ist. Aber wenn doch mal eine feindliche Patrouillie auf uns aufmerksam wird, würde ich gerne mehr Wachen und weniger Kanonenfutter haben. :D:D

 

4 hours ago, [HG]RaVeN103 said:

Eine andere Methode wäre, diese im Editor zu erstellen und diesen Block in die mission.sqm einzutagen.

Wie meinst du das, welchen Block? Das hört sich doch interessant an.

 

4 hours ago, [HG]RaVeN103 said:

Wirst aber früh genug merken, man kommt davon nicht mehr los xD

Ich kann nur bestätigen, es macht wahnsinnig Spaß eine eigene Traderzone zu basteln und kreativ zu werden. 9_9


 

 

4 hours ago, [HG]RaVeN103 said:

 

Unbenannt-5.jpg

Das lasse ich mal einfach so stehen hier... O.o:D:D

Share this post


Link to post
Share on other sites
3 hours ago, Papawolf said:

Wie meinst du das, welchen Block? Das hört sich doch interessant an.

Du kannst eine Einheit platzieren und dieser Wegpunkte zuweisen. Du kannst ihr sogar sagen, was sie machen sollen (in Fahrzeug einsteigen usw.).

Platziere eine Einheit, wähle diese dann aus und gehe ins Menu Wegpunkte. Wähle "Bewegen" und platziere diesen Irgendwo hin. Jetzt nochmal Wegpunkt "Bewegen" und gleich nochmal. Als letztes nimmst du anstatt "Bewegen"`- "Wiederholen" und platzierst den so, dass der erste Wegpunkt wieder angepeilt wird. Somit hast du den Loop drin und die Einheit wiederholt den Ablauf.

Du kannst jeden Wegpunkt selbst verändern und sagen, dass die Einheit zum Beispiel nur gehen soll.

Nun schau dir den Entenmarsch in der Preview an, ob auch alles so klappt wie erhofft.

Jetzt speichere dein Werk und nimm den Haken bei Szenario binarisieren raus.

Öffne nun unter Dokumente die mission.sqm im Order deines Szenarios.

Dort finden sich all deine Units und Wegpunkte wieder.

Bsp.

Spoiler

class Entities
    {
        items=1;
        class Item0
        {
            dataType="Group";
            side="Independent";
            class Entities
            {
                items=6;
                class Item0
                {
                    dataType="Object";
                    class PositionInfo
                    {
                        position[]={19259.371,8.4127598,14614.232};
                    };
                    side="Independent";
                    flags=7;
                    class Attributes
                    {
                    };
                    id=1;
                    type="C_man_w_worker_F";
                    class CustomAttributes
                    {
                        class Attribute0
                        {
                            property="pitch";
                            expression="_this setpitch _value;";
                            class Value
                            {
                                class data
                                {
                                    class type
                                    {
                                        type[]=
                                        {
                                            "SCALAR"
                                        };
                                    };
                                    value=1;
                                };
                            };
                        };
                        nAttributes=1;
                    };
                };
                class Item1
                {
                    dataType="Object";
                    class PositionInfo
                    {
                        position[]={19254.854,8.1719885,14611.593};
                    };
                    side="Independent";
                    flags=5;
                    class Attributes
                    {
                        isPlayer=1;
                    };
                    id=4;
                    type="Exile_Unit_Player";
                    class CustomAttributes
                    {
                        class Attribute0
                        {
                            property="pitch";
                            expression="_this setpitch _value;";
                            class Value
                            {
                                class data
                                {
                                    class type
                                    {
                                        type[]=
                                        {
                                            "SCALAR"
                                        };
                                    };
                                    value=0.97000003;
                                };
                            };
                        };
                        nAttributes=1;
                    };
                };
                class Item2
                {
                    dataType="Waypoint";
                    position[]={19252.41,8.3155947,14616.413};
                    speed="LIMITED";
                    combat="AWARE";
                    class Effects
                    {
                    };
                    showWP="NEVER";
                    id=5;
                    type="Move";
                };
                class Item3
                {
                    dataType="Waypoint";
                    position[]={19256.039,8.7646074,14624.444};
                    speed="LIMITED";
                    combat="AWARE";
                    class Effects
                    {
                    };
                    showWP="NEVER";
                    id=6;
                    type="Move";
                    atlOffset=9.5367432e-007;
                };
                class Item4
                {
                    dataType="Waypoint";
                    position[]={19259.898,8.8055906,14622.91};
                    speed="LIMITED";
                    combat="AWARE";
                    class Effects
                    {
                    };
                    showWP="NEVER";
                    id=7;
                    type="Move";
                    atlOffset=9.5367432e-007;
                };
                class Item5
                {
                    dataType="Waypoint";
                    position[]={19254.693,8.2629824,14613.76};
                    type="Cycle";
                    speed="LIMITED";
                    combat="AWARE";
                    class Effects
                    {
                    };
                    showWP="NEVER";
                    id=8;
                };
            };
            class Attributes
            {
            };
            id=0;
        };
    };

Diese Werte musst du nun in die mission.sqm deiner mpmission einfügen. Hier musst du nun darauf achten, dass einerseits die class_item in der richtigen Reihenfolge sind und zur richtigen Gruppe einfügst.

Leider ist diese Methode nicht die Beste. 

Deswegen empfehle ich das Ganze im Script auszuführen, dadurch hast du eine bessere Übersicht und es ist leichter zu bearbeiten.

Hab fix bei Google gefragt und z.B. sowas gefunden

AI respawn group and move to WP script

Edited by [HG]RaVeN103
1 person likes this

Share this post


Link to post
Share on other sites
Advertisement

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.