• 0
TroyT

Looking for some Editor clarifications

Question

I'm hoping to consolidate some of the questions I've been having regarding placing objects and NPCs on maps.  

In no particular order:

1. Export -  I keep seeing references in the forums to "Export to SQF from within 3DEN", but have never seen any option to do this.  Under SCENARIO I have the usual Save, Save As, Export, etc.  The Export options are Singleplayer, Multiplayer, and Terrainbuilder. These are the only save/export options I can see.  I also usually use M3Editor, but it only adds the Export Objects/Traders/All and just offers the pop-up with code.  Am I missing something, or is the reference to "save as sqf" outdated?

2. Formats - Holy shit, how many formats are there anyway?  Comparing initPlayer, initServer, and mission.sqm files from my Altis and Tanoa maps, as well as others I've cracked open while trying to figure out how to do certain things... they each have a different format it seems.  When I try to export from 3DEN I end up with code that's completely foreign to any of the other formats I already have.

The mission.sqm files are easy enough as I only ever edit markers and that's pretty straight forward.  It's the initPlayer/Server files that cause me headaches. Which brings me to:

3. initPlayer.sqf.  

My Altis:

Spoiler

_workBench = "Land_Workbench_01_F" createVehicleLocal [0,0,0];
_workBench setDir 279.545;
_workBench setPosATL [23371.6, 24188, 0.89873];

_trader = 
[
    "Exile_Trader_Hardware",
    "Exile_Trader_Hardware",
    "WhiteHead_17",
    ["InBaseMoves_sitHighUp1"],
    [0, 0, -0.5],
    170,
    _workBench
]
call ExileClient_object_trader_create;

 
 

My Tanoa:

Spoiler

// 76 NPCs
private _npcs = [
["Exile_Trader_WasteDump", ["Acts_CivilListening_2"], "Exile_Trader_WasteDump", "Default", [[],[],[],["U_I_C_Soldier_Bandit_4_F",[]],[],[],"H_Hat_grey","",[],["","","","","",""]], [2253.92, 8581.53, 1.44809], [-0.031831, 0.999493, 0], [0, 0, 1]],
["Exile_Trader_Aircraft", ["LHD_krajPaluby"], "Exile_Trader_Aircraft", "AfricanHead_03", [[],[],[],["U_I_pilotCoveralls",[]],[],[],"H_PilotHelmetHeli_O","",[],["","","","","",""]], [2104.65, 3447.84, 12.9514], [-0.480545, 0.87697, 0], [0, 0, 1]],
etc...

 
 

Each has its benefits as I can see. Can they be mixed? Is there a resource for explaining what each of the 30 or so options in the Tanoa version refer to? I like the way NPCs have been attached to objects in the Altis version.

4. intServer.sqf

My Altis:

Spoiler

private _objects = 
[
    ["Land_CarService_F", [14618.7,16877.4,18.7724], [[0.750538,-0.660827,0],[0,0,1]], [true, false]],
    ["Land_cargo_addon02_V2_F", [14563.7,16776.6,19.4699], [[0.723738,-0.690074,0],[0,0,1]], [true, false]],

etc...

];

{
    private _object = (_x select 0) createVehicle [0,0,0];
    _object setPosASL (_x select 1);
    _object setVectorDirAndUp (_x select 2);
    _object enableSimulationGlobal ((_x select 3) select 0);
    _object allowDamage ((_x select 3) select 1);
} forEach _objects;

 
 

My Tanoa:

Spoiler


// 134 Vehicles
private _vehicles = [
["Land_WaterCooler_01_new_F", [2249.94, 8597.73, 1.87218], [0.00569499, -0.999984, 0], [0, 0, 1], false],
["Exile_Sign_WasteDump_Small", [2252.97, 8580.01, 2.59623], [-0.108061, -0.994144, 0], [0, 0, 1], false],
etc...

];

{
    private _vehicle = (_x select 0) createVehicle (_x select 1);
    _vehicle allowDamage false;
    _vehicle setPosWorld (_x select 1);
    _vehicle setVectorDirAndUp [_x select 2, _x select 3];
    _vehicle enableSimulationGlobal (_x select 4);
    _vehicle setVariable ["ExileIsLocked", -1, true];
    
    if (_vehicle isKindOf "Exile_RussianRouletteChair") then
    {
        ExileRouletteChairs pushBack _vehicle;
        ExileRouletteChairPositions pushBack [_x select 1, getDir _vehicle];
    };
}
forEach _vehicles;

// 701 Simple Objects
private _invisibleSelections = ["zasleh", "zasleh2", "box_nato_grenades_sign_f", "box_nato_ammoord_sign_f", "box_nato_support_sign_f"];
private _simpleObjects = [
["a3\structures_f_heli\items\electronics\fridge_01_f.p3d", [2249.46, 8602.25, 1.77125], [-0.020213, 0.999796, 0], [0, 0, 1]],
["a3\props_f_exp\civilian\garbage\garbageheap_01_f.p3d", [2250.68, 8579.51, 1.85946], [-0.983622, -0.178838, -0.0224545], [-0.031983, 0.0505757, 0.998208]],
["a3\props_f_exp\civilian\garbage\garbageheap_02_f.p3d", [2252.05, 8583.03, 1.47241], [0.997775, -0.0625964, 0.0229614], [-0.0213272, 0.026651, 0.999417]],
etc...

];

{
    private _simpleObject = createSimpleObject [_x select 0, _x select 1];
    _simpleObject setVectorDirAndUp [_x select 2, _x select 3];
    
    {
        if ((toLower _x) in _invisibleSelections) then 
        {
            _simpleObject hideSelection [_x, true];
        };
    }
    forEach (selectionNames _simpleObject);
}
forEach _simpleObjects;

 
 

This post was triggered by me trying to place simple objects in my Altis map and not having any luck (players could interact with vehicles, packs, weapons, etc.).  I opened up the Tanoa file and saw what was going on inside for simple objects.  That's simple enough to emulate, but is there a way to generate this code, or do I have to manually code each item? 

Also, the private _vehicles formats are different in each version.

 

I have some assumptions as to why there are differences, such as the evolution of the game/mod and the legacy format of Altis vs. Tanoa.  It would be great to get some clarity, though.  I spend a ridiculous amount of time tweaking something, throwing it against the wall to see if it sticks and inevitably going over to that wall and scraping the crumpled mess off of the floor.

Edited by TroyT
spelling

Share this post


Link to post
Share on other sites

12 answers to this question

  • 0
28 minutes ago, TroyT said:

I'm hoping to consolidate some of the questions I've been having regarding placing objects and NPCs on maps.  

In no particular order:

1. Export -  I keep seeing references in the forums to "Export to SQF from within 3DEN", but have never seen any option to do this.  Under SCENARIO I have the usual Save, Save As, Export, etc.  The Export options are Singleplayer, Multiplayer, and Terrainbuilder. These are the only save/export options I can see.  I also usually use M3Editor, but it only adds the Export Objects/Traders/All and just offers the pop-up with code.  Am I missing something, or is the reference to "save as sqf" outdated?

2. Formats - Holy shit, how many formats are there anyway?  Comparing initPlayer, initServer, and mission.sqm files from my Altis and Tanoa maps, as well as others I've cracked open while trying to figure out how to do certain things... they each have a different format it seems.  When I try to export from 3DEN I end up with code that's completely foreign to any of the other formats I already have.

The mission.sqm files are easy enough as I only ever edit markers and that's pretty straight forward.  It's the initPlayer/Server files that cause me headaches. Which brings me to:

3. initPlayer.sqf.  

My Altis:

  Reveal hidden contents

_workBench = "Land_Workbench_01_F" createVehicleLocal [0,0,0];
_workBench setDir 279.545;
_workBench setPosATL [23371.6, 24188, 0.89873];

_trader = 
[
    "Exile_Trader_Hardware",
    "Exile_Trader_Hardware",
    "WhiteHead_17",
    ["InBaseMoves_sitHighUp1"],
    [0, 0, -0.5],
    170,
    _workBench
]
call ExileClient_object_trader_create;

 
 

My Tanoa:

  Reveal hidden contents

// 76 NPCs
private _npcs = [
["Exile_Trader_WasteDump", ["Acts_CivilListening_2"], "Exile_Trader_WasteDump", "Default", [[],[],[],["U_I_C_Soldier_Bandit_4_F",[]],[],[],"H_Hat_grey","",[],["","","","","",""]], [2253.92, 8581.53, 1.44809], [-0.031831, 0.999493, 0], [0, 0, 1]],
["Exile_Trader_Aircraft", ["LHD_krajPaluby"], "Exile_Trader_Aircraft", "AfricanHead_03", [[],[],[],["U_I_pilotCoveralls",[]],[],[],"H_PilotHelmetHeli_O","",[],["","","","","",""]], [2104.65, 3447.84, 12.9514], [-0.480545, 0.87697, 0], [0, 0, 1]],
etc...

 
 

Each has its benefits as I can see. Can they be mixed? Is there a resource for explaining what each of the 30 or so options in the Tanoa version refer to? I like the way NPCs have been attached to objects in the Altis version.

4. intServer.sqf

My Altis:

  Reveal hidden contents

private _objects = 
[
    ["Land_CarService_F", [14618.7,16877.4,18.7724], [[0.750538,-0.660827,0],[0,0,1]], [true, false]],
    ["Land_cargo_addon02_V2_F", [14563.7,16776.6,19.4699], [[0.723738,-0.690074,0],[0,0,1]], [true, false]],

etc...

];

{
    private _object = (_x select 0) createVehicle [0,0,0];
    _object setPosASL (_x select 1);
    _object setVectorDirAndUp (_x select 2);
    _object enableSimulationGlobal ((_x select 3) select 0);
    _object allowDamage ((_x select 3) select 1);
} forEach _objects;

 
 

My Tanoa:

  Reveal hidden contents


// 134 Vehicles
private _vehicles = [
["Land_WaterCooler_01_new_F", [2249.94, 8597.73, 1.87218], [0.00569499, -0.999984, 0], [0, 0, 1], false],
["Exile_Sign_WasteDump_Small", [2252.97, 8580.01, 2.59623], [-0.108061, -0.994144, 0], [0, 0, 1], false],
etc...

];

{
    private _vehicle = (_x select 0) createVehicle (_x select 1);
    _vehicle allowDamage false;
    _vehicle setPosWorld (_x select 1);
    _vehicle setVectorDirAndUp [_x select 2, _x select 3];
    _vehicle enableSimulationGlobal (_x select 4);
    _vehicle setVariable ["ExileIsLocked", -1, true];
    
    if (_vehicle isKindOf "Exile_RussianRouletteChair") then
    {
        ExileRouletteChairs pushBack _vehicle;
        ExileRouletteChairPositions pushBack [_x select 1, getDir _vehicle];
    };
}
forEach _vehicles;

// 701 Simple Objects
private _invisibleSelections = ["zasleh", "zasleh2", "box_nato_grenades_sign_f", "box_nato_ammoord_sign_f", "box_nato_support_sign_f"];
private _simpleObjects = [
["a3\structures_f_heli\items\electronics\fridge_01_f.p3d", [2249.46, 8602.25, 1.77125], [-0.020213, 0.999796, 0], [0, 0, 1]],
["a3\props_f_exp\civilian\garbage\garbageheap_01_f.p3d", [2250.68, 8579.51, 1.85946], [-0.983622, -0.178838, -0.0224545], [-0.031983, 0.0505757, 0.998208]],
["a3\props_f_exp\civilian\garbage\garbageheap_02_f.p3d", [2252.05, 8583.03, 1.47241], [0.997775, -0.0625964, 0.0229614], [-0.0213272, 0.026651, 0.999417]],
etc...

];

{
    private _simpleObject = createSimpleObject [_x select 0, _x select 1];
    _simpleObject setVectorDirAndUp [_x select 2, _x select 3];
    
    {
        if ((toLower _x) in _invisibleSelections) then 
        {
            _simpleObject hideSelection [_x, true];
        };
    }
    forEach (selectionNames _simpleObject);
}
forEach _simpleObjects;

 
 

This post was triggered by me trying to place simple objects in my Altis map and not having any luck (players could interact with vehicles, packs, weapons, etc.).  I opened up the Tanoa file and saw what was going on inside for simple objects.  That's simple enough to emulate, but is there a way to generate this code, or do I have to manually code each item? 

Also, the private _vehicles formats are different in each version.

 

I have some assumptions as to why there are differences, such as the evolution of the game/mod and the legacy format of Altis vs. Tanoa.  It would be great to get some clarity, though.  I spend a ridiculous amount of time tweaking something, throwing it against the wall to see if it sticks and inevitably going over to that wall and scraping the crumpled mess off of the floor.

Download these.... http://www.exilemod.com/download-all-the-files/Exile3DEN-1.0.0.zip

Extract to @exile folder

Start game with STEAM loading all the mods that you are always going to run

Choose editor

Choose Map

look at the top of the screen in editor, youll see "Exile" now.

The options are in there.

REMOVE THE TWO FILES BEFORE TRYING TO JOIN SERVERS AGAIN

Good luck.

Josh

 

Edited by GamersRoost
3 people like this

Share this post


Link to post
Share on other sites
  • 0

You know, I had done that several times with the same exile_3den.pbo and never had the Exile options.  I just re-downloaded it and there it is.  The file I had must have been corrupted.

Thanks.

 

1 person likes this

Share this post


Link to post
Share on other sites
Advertisement
  • 0

I'm having no luck getting weapons to export in any way... simple object, sim on/off, both, neither.  How do I go about this?  It seems to be the same with clothes, backpacks, etc. How do you go about this?

 

Share this post


Link to post
Share on other sites
  • 0

Is there a relatively easy way (for the sake of whoever actually takes the time to explain it), to explain how to attach traders to chairs, vehicles, etc.  I know how to do it on one of my other maps but the format is completely different than what Eden puts out.  It seems like depending on the animation to select the trader will interact with the closest version (chair) that it is by.  I don't see anything pointing to a chair other than the animation title. 

This if an excerpt from my Tanoa map:

Spoiler

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


private _npcs = [

["Exile_Trader_VehicleCustoms", ["HubSittingChairUB_idle1","HubSittingChairUB_idle2","HubSittingChairUB_idle3","HubSittingChairUB_move1"], "Exile_Trader_VehicleCustoms", "AfricanHead_01", [[],[],[],["U_B_T_Soldier_F",[]],[],[],"H_Booniehat_tna_F","",[],["","","","","",""]], [12177.5, 8183.23, 51.1069], [-0.258837, -0.965921, 0], [0, 0, 1]],
["Exile_Trader_Hardware", ["HubSittingChairUC_idle1","HubSittingChairUC_idle2","HubSittingChairUC_idle3","HubSittingChairUC_move1"], "Exile_Trader_Hardware", "AfricanHead_02", [[],[],[],["U_C_WorkerCoveralls",[]],["V_BandollierB_rgr",[]],[],"","G_Aviator",[],["","","","","",""]], [7988.36, 12440.8, 123.877], [0.48661, -0.873619, 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;

 

 

 

Share this post


Link to post
Share on other sites
  • 0

Also, is there a guide to the loadout array on NPSs?  What each entry represents? 

Can Eden export traders with a specific loadout?  I can use the Object init field in Attributes to modify the loadout in the editor but it doesn't get exported.

***EDIT

I found the loadout - right click on NPS and select "Edit Loadout".  I was looking in menu options... silly me to expect a menu item.

I can just load something into every arsenal slot and extrapolate the loadout positions.

Edited by TroyT
Found answers

Share this post


Link to post
Share on other sites
  • 0

Trader chairs .. etc .. only way I have found was to place the chair behind the trader.. save the file, pack it and test to see where the traders are in relationship to the trader.. what I have found is the chair basically needs to be into the knees .. sticking through slightly.. and chairs with no arms look better as the traders are wiggley .. must have adhd :) .. I just place the chair making sure to line up with angle of the trader and  slide the chair into knees in editor .. after doing a few it gets easy to see where it will be on live server.. 

As far as the format .. altis vs tanoa.. I could not get custom traders to work at all on Altis .. until I rebuilt all the traders.. opened the altis mission.sqm with 2d editor.. and moved or made new trader zones .. saved that make as 2d.. then copied that folder ( keep a backup copy ) opened it in multiplayer .. converted it to 3d editor it will ask you to convert say yes.. went to my new trader locations.. laid down the objects and traders .. used the exile eden plugin .. export initserver.sqf and the initPlayerLocal.sqf save those to notepad ++ and then adjust the trader actions and clothing to suit you.. make a back up of your original files.. either rename to .old or .bak or cut and copy to a thumb drive etc .. copy over your new ones to the mission folder ..and repack .. and test .. 

Use the 2d version of the mission.sqf file .. not the 3d version when you're all done .. the 3d is just to create the traders and objects at trader locations .. just export  export initserver.sqf and the initPlayerLocal.sqf . but copy over the edited 2d version with your new makers into the mission folder

But Remember ! BACK UP , BACK UP .. before you make any changes!

Edited by Chainsaw Squirrel
1 person likes this

Share this post


Link to post
Share on other sites
  • 0

Thanks for the reply.  A couple of pieces fell into place since I wrote that last post and suddenly everything is very clear.

What I've found is that some animations get reflected immediately in the editor and some don't.  I found this list of animations:

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

// 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
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_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

// Treating wounded
Acts_TreatingWounded01
Acts_TreatingWounded02
Acts_TreatingWounded03
Acts_TreatingWounded04
Acts_TreatingWounded05
Acts_TreatingWounded06

Acts_LyingWounded_loop1
Acts_LyingWounded_loop2
Acts_LyingWounded_loop3

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

// Standing, no rifle
Acts_CivilListening_1,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

 

and when I use these, I can actually place the traders accurately since they are in the animated position while editing.  I've  abandoned what seems like the old, and limited NPC format that was on my original maps and converted the traders to the newer, more flexible format. 

I've also given up trying to import editable objects into the editor when I discovered that if you double-click on a non-editable map object it clones it and you can position the clone. I've done this with the original initServer items and now have individual Eden missions for each trader that I can edit.  

Regarding markers, I have found it's easier for me to just edit the mission.sqm manually.  I can place a marker on the map to get its attributes, then just key it into the file.

2 people like this

Share this post


Link to post
Share on other sites
  • 0

I tried manually editing markers.. it used to work .. just copy another marker in the sqm adjust the marker count accordingly and the cords .. it used to work that way was easy .. but for some reason in the newer version of arma and exile I could no longer get that method to work for me ..what Im using now does work .. weird how some methods work for some and not so much others

Share this post


Link to post
Share on other sites
  • 0
On 4/15/2017 at 5:13 PM, TroyT said:

Is there a relatively easy way (for the sake of whoever actually takes the time to explain it), to explain how to attach traders to chairs, vehicles, etc.  I know how to do it on one of my other maps but the format is completely different than what Eden puts out.  It seems like depending on the animation to select the trader will interact with the closest version (chair) that it is by.  I don't see anything pointing to a chair other than the animation title. 

This if an excerpt from my Tanoa map:

  Reveal hidden contents

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


private _npcs = [

["Exile_Trader_VehicleCustoms", ["HubSittingChairUB_idle1","HubSittingChairUB_idle2","HubSittingChairUB_idle3","HubSittingChairUB_move1"], "Exile_Trader_VehicleCustoms", "AfricanHead_01", [[],[],[],["U_B_T_Soldier_F",[]],[],[],"H_Booniehat_tna_F","",[],["","","","","",""]], [12177.5, 8183.23, 51.1069], [-0.258837, -0.965921, 0], [0, 0, 1]],
["Exile_Trader_Hardware", ["HubSittingChairUC_idle1","HubSittingChairUC_idle2","HubSittingChairUC_idle3","HubSittingChairUC_move1"], "Exile_Trader_Hardware", "AfricanHead_02", [[],[],[],["U_C_WorkerCoveralls",[]],["V_BandollierB_rgr",[]],[],"","G_Aviator",[],["","","","","",""]], [7988.36, 12440.8, 123.877], [0.48661, -0.873619, 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;

 

 

 

I think there is an "attachTo" part of the code, however, using @Eichi's post on the Ed3n editor, I used the animations he suggested were possible.

That makes the NPC's transform into the postion, then i place them like an object. I ALWAYS place a non trader character and then Right click on the NPC and choose play as character. This allows me to see the animations without exporting the traders and wash rinse repeat again and again. Been there done that lol...

 

I will post a video sometime tonight or tomorrow that will show what im talking about. I have fully and i mean fully custom traders on my Australia server in 4 locations, and the others are just plain standing there.

The animations are a huge help.

Here they are from @Eichi's list.

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

 

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.