The Freelancer Community Site by Team [RIP] » Board index » The FLC Public Forums » Freelancer Tutorials




Post new topic Reply to topic  [ 4 posts ] 
Author Message
 Post subject: Starting THN tutorial
 Post Posted: Tue Sep 15, 2009 5:22 am 
Offline
Moderator
Moderator
User avatar

Joined: Sat Jul 25, 2009 6:41 am
Posts: 93
HAHA THNs are so hardcore n complex, if you think storylining is complex just try THNs on for size, GL.


Starting THN

User Rating: / 2
PoorBest
Written by Ruppetthemuppet
Friday, 15 February 2008
Starting THN

“What is THN?â€


Last edited by rasauul on Thu Feb 11, 2010 8:01 pm, edited 1 time in total.

Top 
 Profile  
 
 Post subject:
 Post Posted: Thu Feb 11, 2010 5:03 pm 
Offline
Moderator
Moderator
User avatar

Joined: Sat Jul 25, 2009 6:41 am
Posts: 93
My own observations on Manipulating/Coding THN's

Today we're decompiling the Freelancer thn called:
s010x_nrml_lonnigan_li_01_cityscape_01.thn
its located in scripts/story/

Were decompiling or opening the program with the program Fled-thorn, this is a freelancer freeware program.

Ahh.now we can see that the THN's are written in LUA which is a coding language still used for some things even though C++ seems to be taking its place.

"Notepad++" is a cool freeware programs that can read most code, HTML and XML too, which are used in the mod script.

We're using it to read the Decompiled Codefile.

Now we can see something......some code....coding is hard :/

Now were getting into the file for real:

First part seems easy:

"duration=182.108"

I'll venture that this is a timer telling the THN to close itself after the above amount of seconds.


Now we begin descriptions:

The setup seems to be in a chapter-like order, this of course must be alpha omega for an accomplished coder, but since im a noob i'll make it up as i go along.

Header= Entities={
Entities is a very openended word describing objects which can receive lots of added abilities.
I Read it as "From here on we are describing and enabling Entities"


This is followed by yet another umbrella sign.
i read this as saying "This is a Hierachy" "we have many groups and subgroups here and maybe subgroups with subgroups"
This seems logical since the entities probably share alot of the same settings and no one wants to type more than neccesary.
This is a hierachy ad the subgroups are taking orders from the groups aka the more "Umbrellas"({) surrounding an entry the more settinfgs it recieves from higher hierachy group settings.





Next it reads:
type=SCENE
I bet there is several different types that are possible here...scene seems logical eventhough i have no idea what rules this preset for the below entries.

Next we have:
template_name=""
There is no name between the apostrofees which probably means that the program at this point is not adding a template.
im starting to notice that each line of code is ending with a komma(,) this seems logical as well and i bet you could set it all up as one line divided by kommas.

Now we have:
lt_grp=0,
srt_grp=0,
usr_flg=0,

This is complete gibberish and im goin online to get wiser....... Ahh Lua is a actually a Early C language.
Now what does the above settings mean?
I bet theyre settings though, well theyre all set to zero so lets move on for now.

Next is:
spatialprops={
Spatial aka relating to space
Props aka we give props
AKA giving spaceprops to something

pos={
0,
0,
0
Position is centre? or nothing


orient={
{
1,
0,
0
},
{
0,
1,
0
},
{
0,
0,
1
Were oriented this way? this must describe the 3 dimensions in some way.

}
}
},
Now we seem to be shutting of this part, i reckon this was a description relating to placing the "base" or "Ground lvl" of the scene.

up=Y_AXIS,
front=Z_AXIS,
Nice info here, so from here on if something move y=10 it moves up 10 and minus 10 is down ten, Z=10 is ten towards front minus 10 is ten towards back.
Of what ur thinking? well...we dont know yet.

ambient={
0,
0,
0
}
},
This is lighting i reckon, and i bet theres no ambient lighting in this setting which means we probably only have directional lighting.

{
entity_name="Char_Juni",
type=DEFORMABLE,
template_name="juni",

WOW HERE COMES jUNI!, SHE IS AN ENTITY CALLED CHAR_JUNI, AND SHE IS DEFORMARMABLE AKA SHE CAN CHANGE SHAPE WHICH IS NEEDED TO WALK N TALK.
She also has a premade template deciding her look and form and its called juni this code tells the core program.

lt_grp=0,
srt_grp=0,
usr_flg=0,

Again this is still complete gibberish to us. still values zero set.

flags=LIT_DYNAMIC,

Hmm, Flags........ could these be waypoint for Junis movements or starting position? its "lit" must mean that its active.

spatialprops={
pos={
-13223.771484,
0,
1894.397705
},

OK! now were getting space props for Juni aka Spawnlocation? for her i bet the middle value is up n down since its Zero.

orient={
{
-0.227538,
0,
0.973769
},
{
0,
1,
0
},
{
-0.973769,
0,
-0.227538
}
}
},

Juni is oriented this way, why there is 3x3 values for this im not sure, could it be Head X,Y,Z, and upperbody X,Y,Z, and legs X,Y,Z,?

compoundprops={
floor_height=0
},
Ok now we must be getting props for the environment, Floor lvl is zero, this relates well with Junis spatial props earlier.

userprops={
actor="juni",
category="Character"
}
},

Now its seems she being spawned, the move orders will be given as user props. much like Objectives realting to NPC Descriptions in Mission files.


{
entity_name="Char_King",
type=DEFORMABLE,
template_name="king",
lt_grp=0,
srt_grp=0,
usr_flg=0,
flags=LIT_DYNAMIC,

Awright King spawns! he has similar charactaristics to juni above.

spatialprops={
pos={
-13223.771484,
0,
1894.397705
},
orient={
{
-0.227538,
0,
0.973769
},
{
0,
1,
0
},
{
-0.973769,
0,
-0.227538
}
}
},
compoundprops={
floor_height=0
},
userprops={
actor="king",
category="Character"
}
},

Hes at this position, Hes oriented like this, he is also using the same height to stand upon namely Zero, he will be referred to later as "KING"
and hes a character, sure character aka actor, sure.

{
entity_name="Char_Lonnigan",
type=DEFORMABLE,
template_name="lonnigan",
lt_grp=1,
srt_grp=0,
usr_flg=0,
flags=LIT_DYNAMIC,
spatialprops={
pos={
65.931099,
0,
-44.680519
},
orient={
{
0.429088,
0,
-0.903263
},
{
0,
1,
0
},
{
0.903263,
0,
0.429088
}
}
},
compoundprops={
floor_height=0
},
userprops={
actor="lonnigan",
category="Character"
}
},

Lonnigan is here too.

{
entity_name="Char_Syd",
type=DEFORMABLE,
template_name="syd",
lt_grp=0,
srt_grp=0,
usr_flg=0,
flags=LIT_DYNAMIC,
spatialprops={
pos={
14.135717,
20.075001,
-61.135265
},
orient={
{
-0.156577,
0,
0.987666
},
{
0,
1,
0
},
{
-0.987666,
0,
-0.156577
}
}
},
compoundprops={
floor_height=20.075001
},
userprops={
actor="syd",
category="Character"
}
},

Oh yeah n Syd.

{
entity_name="Char_Syd_Mrk_shot1_start",
type=MARKER,
template_name="",
lt_grp=0,
srt_grp=0,
usr_flg=0,
spatialprops={
pos={
12.391559,
21.04616,
-62.809349
},
orient={
{
-0.156577,
0,
0.987666
},
{
0,
1,
0
},
{
-0.987666,
0,
-0.156577
}
}
}
},
Ok now were getting a new type here, "type=Marker", it seems logical that they need markers for moving. This is a START marker.


{
entity_name="Char_King_Mrk_Start",
type=MARKER,
template_name="",
lt_grp=0,
srt_grp=0,
usr_flg=0,
spatialprops={
pos={
60.652206,
0,
-45.285854
},
orient={
{
0.272268,
0,
-0.962221
},
{
0,
1,
0
},
{
0.962221,
0,
0.272268
}
}
}
},

Another start marker for king.

{
entity_name="Cam_2O1_OTS_Syd_End",
type=CAMERA,
template_name="",
lt_grp=0,
srt_grp=0,
usr_flg=0,
flags=HIDDEN,
spatialprops={
pos={
13.711452,
22.38781,
-61.055962
},
orient={
{
-0.174031,
0,
0.98474
},
{
0.38849,
0.918892,
0.068657
},
{
-0.904869,
0.39451,
-0.159916
}
}
},

And an END marker for SYD?

cameraprops={
fovh=10,
hvaspect=1.85,
nearplane=1,
farplane=7000
}
},

Camera Props, ok we set up the actors and some markers for movement, now were setting up the cameras.

{
entity_name="cam_Monitor",
type=MONITOR,
template_name="",
lt_grp=0,
srt_grp=0,
usr_flg=0,
userprops={
Priority="Monitor_Moving_1"
}
},

Now were setting up a moving camera monitor.


{
entity_name="Char_Syd_Mrk_shot1_end",
type=MARKER,
template_name="",
lt_grp=0,
srt_grp=0,
usr_flg=0,
spatialprops={
pos={
15.28751,
21.04616,
-61.126984
},
orient={
{
-0.156577,
0,
0.987666
},
{
0,
1,
0
},
{
-0.987666,
0,
-0.156577
}
}
}
},

Marker for where syd ends his movement?

{
entity_name="Char_ore_runner_male_1",
type=DEFORMABLE,
template_name="ore_runner_male_1",
lt_grp=0,
srt_grp=0,
usr_flg=0,
flags=LIT_DYNAMIC,
spatialprops={
pos={
-13223.771484,
0,
1894.397705
},
orient={
{
-0.227538,
0,
0.973769
},
{
0,
1,
0
},
{
-0.973769,
0,
-0.227538
}
}
},
compoundprops={
floor_height=0
},
userprops={
actor="ore_runner_1",
category="Character"
}
},
{
entity_name="Char_ore_runner_male_2",
type=DEFORMABLE,
template_name="ore_runner_male_2",
lt_grp=0,
srt_grp=0,
usr_flg=0,
flags=LIT_DYNAMIC,
spatialprops={
pos={
-13223.771484,
0,
1894.397705
},
orient={
{
-0.227538,
0,
0.973769
},
{
0,
1,
0
},
{
-0.973769,
0,
-0.227538
}
}
},
compoundprops={
floor_height=0
},
userprops={
actor="ore_runner_2",
category="Character"
}
},
We got another char hes called orerunner could it be a ship or machine?


{
entity_name="Z_Mrk_OffScreen",
type=MARKER,
template_name="",
lt_grp=0,
srt_grp=0,
usr_flg=0,
spatialprops={
pos={
-13223.771484,
0,
1894.397705
},
orient={
{
-0.227538,
0,
0.973769
},
{
0,
1,
0
},
{
-0.973769,
0,
-0.227538
}
}
}
},

Here another marker probably for moving chars offscreen.

{
entity_name="Ship_Playership_gf_rtc_shipcushion",
type=PSYS,
template_name="gf_rtc_shipcushion",
lt_grp=0,
srt_grp=0,
usr_flg=0,
flags=LIT_DYNAMIC + LIT_AMBIENT,
spatialprops={
pos={
84.74756600000001,
0,
-42.256767
},
orient={
{
1,
0,
0
},
{
0,
1,
0
},
{
0,
0,
1
}
}
},
psysprops={
sparam=0
}
},

Cool! heres a ship introduction, we can see it varies from the human form introduction, it has no deformable type designation instead it reads type=Psys...coul mean physical form
definitelyt means this is a set form. it also has a different flag designation, i reckon this means that flags have more to do with lighting of the entity than anything else.
Ahh it has a shipcushion AKA its landed looking like ships in shipdealer.

{
entity_name="Ship_li_fighter_King_gf_rtc_shipcushion",
type=PSYS,
template_name="gf_rtc_shipcushion",
lt_grp=0,
srt_grp=0,
usr_flg=0,
flags=LIT_DYNAMIC + LIT_AMBIENT,
spatialprops={
pos={
72.074883,
-0.009128000000000001,
-32.335266
},
orient={
{
1,
0,
0
},
{
0,
1,
0
},
{
0,
0,
1
}
}
},
psysprops={
sparam=0
}
},

Kings ship is there too resting on its shipcushion as well.

{
entity_name="Cam_1X_OTS_Trent_withAgents",
type=CAMERA,
template_name="",
lt_grp=0,
srt_grp=0,
usr_flg=0,
flags=HIDDEN,
spatialprops={
pos={
68.228645,
1.245098,
-38.048847
},
orient={
{
0.7207170000000001,
-0.08259,
-0.688292
},
{
0.021434,
0.995058,
-0.096956
},
{
0.692898,
0.055124,
0.718925
}
}
},
cameraprops={
fovh=19.999998,
hvaspect=1.85,
nearplane=3,
farplane=7000
}
},

More camera settings, i reckon this camera follows trent.

{
entity_name="Char_li_male_elite_2_A",
type=DEFORMABLE,
template_name="li_male_elite_2",
lt_grp=0,
srt_grp=0,
usr_flg=0,
flags=LIT_DYNAMIC,
spatialprops={
pos={
-13223.583984,
0,
1893.595093
},
orient={
{
-0.227538,
0,
0.973769
},
{
0,
1,
0
},
{
-0.973769,
0,
-0.227538
}
}
},
compoundprops={
floor_height=0
},
userprops={
actor="li_male_elite_2",
category="Character"
}
},
Here we have one of the agents, who will later Zap Trent?

{
entity_name="Cam_2O1_OTS_Syd",
type=CAMERA,
template_name="",
lt_grp=0,
srt_grp=0,
usr_flg=0,
flags=HIDDEN,
spatialprops={
pos={
13.818864,
22.942837,
-60.697769
},
orient={
{
-0.197375,
0,
0.980328
},
{
0.371249,
0.92552,
0.07474600000000001
},
{
-0.907313,
0.378698,
-0.182674
}
}
},
cameraprops={
fovh=10,
hvaspect=1.85,
nearplane=1,
farplane=7000
}
},

Syd also gets a camera filming him.

{
entity_name="Char_Trent",
type=DEFORMABLE,
template_name="trent",
lt_grp=0,
srt_grp=0,
usr_flg=0,
flags=LIT_DYNAMIC,
spatialprops={
pos={
22.37948,
0,
-68.32102999999999
},
orient={
{
-0.227538,
0,
0.973769
},
{
0,
1,
0
},
{
-0.973769,
0,
-0.227538
}
}
},
compoundprops={
floor_height=0
},
userprops={
actor="player",
category="Character"
}
},

At last here comes Trent!

{
entity_name="Cam_2P_TCI_Syd_Hand",
type=CAMERA,
template_name="",
lt_grp=0,
srt_grp=0,
usr_flg=0,
flags=HIDDEN,
spatialprops={
pos={
15.279687,
22.37044,
-60.77272
},
orient={
{
0.223528,
0,
0.974697
},
{
0.953803,
0.205946,
-0.218736
},
{
-0.200736,
0.978563,
0.046035
}
}
},
cameraprops={
fovh=10,
hvaspect=1.85,
nearplane=0.4,
farplane=7000
}
},

Heres the camera that shoots Syds hand! ahh this is the scene where he throws the ciggie.


{
entity_name="Ship_PlayerShip_1",
type=COMPOUND,
template_name="PlayerShip",
lt_grp=3,
srt_grp=0,
usr_flg=0,
flags=LIT_DYNAMIC,
spatialprops={
pos={
84.74756600000001,
0,
-42.256767
},
orient={
{
1,
0,
0
},
{
0,
1,
0
},
{
0,
0,
1
}
}
},
userprops={
category="Spaceship"
}
},

This ship has another type designation and also another category designation, maybe it has to do with it taking odd later?

{
entity_name="Cam_1G_OTS_Trent",
type=CAMERA,
template_name="",
lt_grp=0,
srt_grp=0,
usr_flg=0,
flags=HIDDEN,
spatialprops={
pos={
64.72951500000001,
1.726307,
-43.394478
},
orient={
{
0.575001,
0.124046,
-0.808693
},
{
-0.167503,
0.98535,
0.032046
},
{
0.800822,
0.117032,
0.587356
}
}
},
cameraprops={
fovh=20,
hvaspect=1.85,
nearplane=0.4,
farplane=7000
}
},

A Camera shooting trent.


{
entity_name="Cam_1F1_2Shot_TrentLonn",
type=CAMERA,
template_name="",
lt_grp=0,
srt_grp=0,
usr_flg=0,
flags=HIDDEN,
spatialprops={
pos={
60.336601,
1.473949,
-43.776695
},
orient={
{
0.407742,
-0.06726600000000001,
0.910616
},
{
0.062325,
0.997006,
0.045741
},
{
-0.910967,
0.038104,
0.410714
}
}
},
cameraprops={
fovh=25,
hvaspect=1.85,
nearplane=0.4,
farplane=7000
}
},

A camera shooting trent and lonnigan?

{
entity_name="Cam_1E1_CU_Trent",
type=CAMERA,
template_name="",
lt_grp=0,
srt_grp=0,
usr_flg=0,
flags=HIDDEN,
spatialprops={
pos={
62.62632,
1.602021,
-44.074081
},
orient={
{
0.716486,
-0.07402,
-0.693663
},
{
0.040065,
0.9970790000000001,
-0.065014
},
{
0.69645,
0.018791,
0.717359
}
}
},
cameraprops={
fovh=20,
hvaspect=1.85,
nearplane=0.4,
farplane=7000
}
},

Another cam on trent.

{
entity_name="Cam_1G1_2Shot_LonnTrent",
type=CAMERA,
template_name="",
lt_grp=0,
srt_grp=0,
usr_flg=0,
flags=HIDDEN,
spatialprops={
pos={
64.091797,
1.454363,
-42.791882
},
orient={
{
0.82084,
0.065608,
-0.5673780000000001
},
{
-0.068798,
0.997505,
0.015814
},
{
0.567,
0.026053,
0.823306
}
}
},
cameraprops={
fovh=25,
hvaspect=1.85,
nearplane=0.4,
farplane=7000
}
},

Another cam on lonnigan and trent?

{
entity_name="Char_Lonnigan_Mrk_1",
type=MARKER,
template_name="",
lt_grp=0,
srt_grp=0,
usr_flg=0,
spatialprops={
pos={
63.627522,
0.956432,
-41.674122
},
orient={
{
-0.8261540000000001,
0,
0.5634439999999999
},
{
0,
1,
0
},
{
-0.5634439999999999,
0,
-0.8261540000000001
}
}
}
},

A mArker for lonnigan.

{
entity_name="Char_Lonnigan_Mrk_2",
type=MARKER,
template_name="",
lt_grp=0,
srt_grp=0,
usr_flg=0,
spatialprops={
pos={
64.410713,
0.973797,
-43.83149
},
orient={
{
-0.241219,
0,
-0.970471
},
{
0,
1,
0
},
{
0.970471,
0,
-0.241219
}
}
}
},

Char introduction for lonnigan.

{
entity_name="Char_li_male_elite_3_Prop_rifle",
type=COMPOUND,
template_name="rifle",
lt_grp=0,
srt_grp=0,
usr_flg=0,
flags=LIT_DYNAMIC,
spatialprops={
pos={
-13224.394531,
1.460987,
1896.1427
},
orient={
{
0.061012,
-0.748935,
-0.659829
},
{
-0.965276,
0.123956,
-0.229951
},
{
0.254008,
0.6509470000000001,
-0.715366
}
}
},
userprops={
category="Prop"
}
},

Prop (Rifle) introduction.


{
entity_name="Char_li_male_elite_3_Mrk_Start",
type=MARKER,
template_name="",
lt_grp=0,
srt_grp=0,
usr_flg=0,
spatialprops={
pos={
45.277504,
0,
-53.108505
},
orient={
{
-0.861098,
0,
-0.508439
},
{
0,
1,
0
},
{
0.508439,
0,
-0.861098
}
}
}
},


Marker for agent elite_3.

{
entity_name="Char_Lonnigan_Mrk_3",
type=MARKER,
template_name="",
lt_grp=0,
srt_grp=0,
usr_flg=0,
spatialprops={
pos={
64.410713,
0.973797,
-43.83149
},
orient={
{
-0.977918,
0,
0.208989
},
{
0,
1,
0
},
{
-0.208989,
0,
-0.977918
}
}
}
},

Marker for Lonnigan (mrk 3)

{
entity_name="Char_li_male_elite_2_A_Prop_baton_stun_1",
type=COMPOUND,
template_name="baton_stun",
lt_grp=0,
srt_grp=0,
usr_flg=0,
flags=LIT_DYNAMIC,
spatialprops={
pos={
-13221.428711,
0,
1894.397705
},
orient={
{
-0.227538,
0,
0.973769
},
{
0,
1,
0
},
{
-0.973769,
0,
-0.227538
}
}
},
userprops={
category="Prop"
}
},

Stun baton prop introduction, ahh this is the one where trent gets zapped.

{
entity_name="Cam_1I_OTS_Pacing_Lonnigan",
type=CAMERA,
template_name="",
lt_grp=0,
srt_grp=0,
usr_flg=0,
flags=HIDDEN,
spatialprops={
pos={
62.518681,
1.458193,
-41.124138
},
orient={
{
0.972943,
0.097914,
0.209272
},
{
-0.06337,
0.984115,
-0.165831
},
{
-0.222185,
0.148083,
0.963693
}
}
},
cameraprops={
fovh=30,
hvaspect=1.85,
nearplane=0.4,
farplane=7000
}
},

Cam that will follow lonnigan as he moves.

{
entity_name="Cam_1J_CU_Trent",
type=CAMERA,
template_name="",
lt_grp=0,
srt_grp=0,
usr_flg=0,
flags=HIDDEN,
spatialprops={
pos={
62.649632,
1.621966,
-43.302261
},
orient={
{
0.990379,
-0.078836,
0.113722
},
{
0.080479,
0.996706,
-0.009922
},
{
-0.112565,
0.018979,
0.993463
}
}
},
cameraprops={
fovh=25,
hvaspect=1.85,
nearplane=0.4,
farplane=7000
}
},

Another camera for trent.


{
entity_name="Cam_1K_CU_Pacing_Lonnigan_End",
type=CAMERA,
template_name="",
lt_grp=0,
srt_grp=0,
usr_flg=0,
flags=HIDDEN,
spatialprops={
pos={
63.152004,
1.23377,
-44.493664
},
orient={
{
-0.582464,
-0.195335,
0.789036
},
{
-0.153951,
0.979637,
0.128874
},
{
-0.7981430000000001,
-0.046409,
-0.600676
}
}
},
cameraprops={
fovh=20,
hvaspect=1.85,
nearplane=0.4,
farplane=7000
}
},


And another camera for lonnigan



{
entity_name="Cam_1K_CU_Pacing_Lonnigan_Start",
type=CAMERA,
template_name="",
lt_grp=0,
srt_grp=0,
usr_flg=0,
flags=HIDDEN,
spatialprops={
pos={
62.718361,
1.325923,
-44.882225
},
orient={
{
-0.616219,
0.198801,
0.762069
},
{
0.144556,
0.979727,
-0.138691
},
{
-0.774193,
0.024697,
-0.632466
}
}
},
cameraprops={
fovh=20,
hvaspect=1.85,
nearplane=0.4,
farplane=7000
}
},
{
entity_name="Cam_1L_Wipe_Pacing_Lonnigan_Mid",
type=CAMERA,
template_name="",
lt_grp=0,
srt_grp=0,
usr_flg=0,
flags=HIDDEN,
spatialprops={
pos={
65.49453,
1.480037,
-40.871101
},
orient={
{
0.66055,
-0.165698,
-0.732269
},
{
0.09575,
0.985969,
-0.136734
},
{
0.744651,
0.020204,
0.667148
}
}
},
cameraprops={
fovh=20,
hvaspect=1.85,
nearplane=0.4,
farplane=7000
}
},
{
entity_name="Cam_1L_Wipe_Pacing_Lonnigan_Start",
type=CAMERA,
template_name="",
lt_grp=0,
srt_grp=0,
usr_flg=0,
flags=HIDDEN,
spatialprops={
pos={
65.847771,
1.406973,
-41.522182
},
orient={
{
0.816537,
0.160838,
-0.554434
},
{
-0.142973,
0.986826,
0.075711
},
{
0.559308,
0.017448,
0.828776
}
}
},
cameraprops={
fovh=20,
hvaspect=1.85,
nearplane=0.4,
farplane=7000
}
},

Two more cameras for lonnigan.

{
entity_name="Cam_1H_OTS_Lonnigan",
type=CAMERA,
template_name="",
lt_grp=0,
srt_grp=0,
usr_flg=0,
flags=HIDDEN,
spatialprops={
pos={
61.629169,
1.62468,
-43.897057
},
orient={
{
0.300644,
-0.147595,
0.942246
},
{
0.081832,
0.988301,
0.128699
},
{
-0.950219,
0.038414,
0.309205
}
}
},
cameraprops={
fovh=20,
hvaspect=1.85,
nearplane=0.4,
farplane=7000
}
},

Another camera for lonnigan or is it really another camera position, its the same thing really.
Seems that CameraProps is like the setting of the "Camera lense".



{
entity_name="Cam_1M_CU_Lonnigan_Dolly_End",
type=CAMERA,
template_name="",
lt_grp=0,
srt_grp=0,
usr_flg=0,
flags=HIDDEN,
spatialprops={
pos={
63.840706,
1.419602,
-44.099304
},
orient={
{
-0.252128,
0.151238,
0.955802
},
{
-0.015933,
0.986928,
-0.160366
},
{
-0.967562,
-0.055662,
-0.246423
}
}
},
cameraprops={
fovh=25,
hvaspect=1.85,
nearplane=0.4,
farplane=7000
}
},
{
entity_name="Cam_1M_CU_Lonnigan_Dolly",
type=CAMERA,
template_name="",
lt_grp=0,
srt_grp=0,
usr_flg=0,
flags=HIDDEN,
spatialprops={
pos={
62.885319,
0.95926,
-43.65448
},
orient={
{
-0.256401,
0.151835,
0.95457
},
{
-0.125014,
0.97408,
-0.188518
},
{
-0.958452,
-0.16767,
-0.230773
}
}
},
cameraprops={
fovh=25,
hvaspect=1.85,
nearplane=0.4,
farplane=7000
}
},

2 more shots of lonnigan.


{
entity_name="Cam_1N_CU_Trent",
type=CAMERA,
template_name="",
lt_grp=0,
srt_grp=0,
usr_flg=0,
flags=HIDDEN,
spatialprops={
pos={
63.326118,
1.592679,
-43.620838
},
orient={
{
0.812281,
-0.069785,
-0.579075
},
{
0.053968,
0.997549,
-0.044514
},
{
0.580763,
0.004907,
0.814058
}
}
},
cameraprops={
fovh=25,
hvaspect=1.85,
nearplane=0.4,
farplane=7000
}
},
{
entity_name="Cam_1Q_CU_Lonnigan_ToMe",
type=CAMERA,
template_name="",
lt_grp=0,
srt_grp=0,
usr_flg=0,
flags=HIDDEN,
spatialprops={
pos={
63.540791,
1.227126,
-44.659737
},
orient={
{
-0.522809,
0.261204,
0.811445
},
{
0.042193,
0.958661,
-0.281407
},
{
-0.851405,
-0.112884,
-0.512218
}
}
},
cameraprops={
fovh=19.999998,
hvaspect=1.85,
nearplane=1,
farplane=7000
}
},

2 more cams one on trent one on lonnigan.

{
entity_name="Cam_1P_2Shot_Lonnigan_ISaw",
type=CAMERA,
template_name="",
lt_grp=0,
srt_grp=0,
usr_flg=0,
flags=HIDDEN,
spatialprops={
pos={
65.909706,
1.672377,
-42.635788
},
orient={
{
0.597009,
0.163847,
-0.785324
},
{
-0.137734,
0.9853189999999999,
0.100867
},
{
0.790322,
0.047948,
0.610812
}
}
},
cameraprops={
fovh=20,
hvaspect=1.85,
nearplane=0.4,
farplane=7000
}
},

Lonnicam during his dialog.

{
entity_name="Cam_1O_CU_Lonnigan_IHadTo",
type=CAMERA,
template_name="",
lt_grp=0,
srt_grp=0,
usr_flg=0,
spatialprops={
pos={
64.303658,
1.463662,
-43.918282
},
orient={
{
-0.378772,
0.235341,
0.895067
},
{
-0.092831,
0.952589,
-0.289749
},
{
-0.920822,
-0.192839,
-0.338967
}
}
},
cameraprops={
fovh=20,
hvaspect=1.85,
nearplane=0.4,
farplane=7000
}
},

Second dialog cam.

{
entity_name="Cam_1R_CU_Lonnigan_Crazy_Chase",
type=CAMERA,
template_name="",
lt_grp=0,
srt_grp=0,
usr_flg=0,
flags=HIDDEN,
spatialprops={
pos={
64.470726,
1.51663,
-41.602287
},
orient={
{
0.958728,
0,
0.284326
},
{
0.007863,
0.999618,
-0.026513
},
{
-0.284217,
0.027654,
0.958361
}
}
},
cameraprops={
fovh=19.999998,
hvaspect=1.85,
nearplane=0.4,
farplane=7000
}
},

Crazy Chase Cam.

{
entity_name="Cam_1V_2Shot_Lonnigan_SeeingAngents",
type=CAMERA,
template_name="",
lt_grp=0,
srt_grp=0,
usr_flg=0,
flags=HIDDEN,
spatialprops={
pos={
60.812408,
1.505612,
-44.222759
},
orient={
{
-0.388878,
-0.292207,
0.873721
},
{
-0.096613,
0.956073,
0.276748
},
{
-0.9162090000000001,
0.023208,
-0.400027
}
}
},
cameraprops={
fovh=10,
hvaspect=1.85,
nearplane=0.4,
farplane=7000
}
},

Lonnigan spots agents cam.

{
entity_name="Cam_1U_2Shot_Lonnigan_Wide",
type=CAMERA,
template_name="",
lt_grp=0,
srt_grp=0,
usr_flg=0,
flags=HIDDEN,
spatialprops={
pos={
67.717117,
1.552491,
-39.114105
},
orient={
{
0.858762,
0.197385,
-0.472827
},
{
-0.211978,
0.977007,
0.022857
},
{
0.466468,
0.08060000000000001,
0.880858
}
}
},
cameraprops={
fovh=20,
hvaspect=1.85,
nearplane=0.4,
farplane=7000
}
},
{
entity_name="Cam_1R_CU_Lonnigan_Crazy",
type=CAMERA,
template_name="",
lt_grp=0,
srt_grp=0,
usr_flg=0,
flags=HIDDEN,
spatialprops={
pos={
65.14014400000001,
1.51663,
-41.403767
},
orient={
{
0.958728,
0,
0.284326
},
{
0.007863,
0.999618,
-0.026513
},
{
-0.284217,
0.027654,
0.958361
}
}
},
cameraprops={
fovh=19.999998,
hvaspect=1.85,
nearplane=0.4,
farplane=7000
}
},

Last two lonnigan cams?

{
entity_name="Char_Lonnigan_Mrk_SnapTo_1",
type=MARKER,
template_name="",
lt_grp=0,
srt_grp=0,
usr_flg=0,
spatialprops={
pos={
64.833069,
0.958268,
-42.854118
},
orient={
{
-0.540697,
0,
0.841218
},
{
0,
1,
0
},
{
-0.841218,
0,
-0.540697
}
}
}
},

And we have a marker for Lonnieboy

{
entity_name="Char_Trent_SnapTo",
type=MARKER,
template_name="",
lt_grp=0,
srt_grp=0,
usr_flg=0,
spatialprops={
pos={
60.584835,
0.973156,
-45.62056
},
orient={
{
-0.5484520000000001,
0,
0.836182
},
{
0,
1,
0
},
{
-0.836182,
0,
-0.5484520000000001
}
}
}
},

and a marker for trent.

{
entity_name="Cam_1S_2Shot_Trent_Dolly_End",
type=CAMERA,
template_name="",
lt_grp=0,
srt_grp=0,
usr_flg=0,
spatialprops={
pos={
65.47927900000001,
1.399522,
-40.972321
},
orient={
{
0.929768,
0.173831,
-0.324519
},
{
-0.152085,
0.98413,
0.09142400000000001
},
{
0.335262,
-0.035649,
0.94145
}
}
},
cameraprops={
fovh=20,
hvaspect=1.85,
nearplane=0.4,
farplane=7000
}
},
{
entity_name="Cam_1S_2Shot_Trent_Dolly_Start",
type=CAMERA,
template_name="",
lt_grp=0,
srt_grp=0,
usr_flg=0,
spatialprops={
pos={
63.357861,
1.58002,
-42.649975
},
orient={
{
0.900215,
-0.137325,
-0.413223
},
{
0.080354,
0.9850600000000001,
-0.152308
},
{
0.427965,
0.103906,
0.897801
}
}
},
cameraprops={
fovh=20,
hvaspect=1.85,
nearplane=0.4,
farplane=7000
}
},

And to camera settings for trent,

{
entity_name="Char_Lonnigan_Mrk_SnapTo_2",
type=MARKER,
template_name="",
lt_grp=0,
srt_grp=0,
usr_flg=0,
spatialprops={
pos={
65.87924200000001,
0.958268,
-42.501904
},
orient={
{
-0.845321,
0,
-0.534258
},
{
0,
1,
0
},
{
0.534258,
0,
-0.845321
}
}
}
},

And a lonniemarker.

{
entity_name="Char_li_male_elite_2_A_Mrk_Start",
type=MARKER,
template_name="",
lt_grp=0,
srt_grp=0,
usr_flg=0,
spatialprops={
pos={
47.042248,
0,
-53.547001
},
orient={
{
-0.839871,
0,
0.542786
},
{
0,
1,
0
},
{
-0.542786,
0,
-0.839871
}
}
}
},

And an agent marker

{
entity_name="Char_ore_runner_male_1_Mrk",
type=MARKER,
template_name="",
lt_grp=0,
srt_grp=0,
usr_flg=0,
spatialprops={
pos={
37.683842,
0.969072,
-46.914803
},
orient={
{
0.9921680000000001,
0,
-0.124913
},
{
0,
1,
0
},
{
0.124913,
0,
0.9921680000000001
}
}
}
},
{
entity_name="Char_ore_runner_male_2_Mrk",
type=MARKER,
template_name="",
lt_grp=0,
srt_grp=0,
usr_flg=0,
spatialprops={
pos={
38.39579,
0.969072,
-47.055168
},
orient={
{
0.9921680000000001,
0,
-0.124913
},
{
0,
1,
0
},
{
0.124913,
0,
0.9921680000000001
}
}
}
},


Markers for 2 orerunners

{
entity_name="Char_Lonnigan_Mrk_Ajust",
type=MARKER,
template_name="",
lt_grp=0,
srt_grp=0,
usr_flg=0,
spatialprops={
pos={
65.24115000000001,
0,
-40.719471
},
orient={
{
0.877325,
0,
0.479897
},
{
0,
1,
0
},
{
-0.479897,
0,
0.877325
}
}
}
},

another lonnimarker

{
entity_name="Cam_1Y_2Shot_Agents",
type=CAMERA,
template_name="",
lt_grp=0,
srt_grp=0,
usr_flg=0,
spatialprops={
pos={
49.764103,
1.453048,
-49.393646
},
orient={
{
0.76338,
0,
-0.645949
},
{
-0.01467,
0.999742,
-0.017338
},
{
0.645782,
0.022712,
0.763184
}
}
},
cameraprops={
fovh=20,
hvaspect=1.85,
nearplane=0.4,
farplane=7000
}
},

And a shot of the agents for when they fire at lonniboy

{
entity_name="Char_li_male_elite_3",
type=DEFORMABLE,
template_name="li_male_elite_3",
lt_grp=0,
srt_grp=0,
usr_flg=0,
flags=LIT_DYNAMIC + LIT_AMBIENT,
spatialprops={
pos={
-13223.771484,
0,
1894.397705
},
orient={
{
-0.227538,
0,
0.973769
},
{
0,
1,
0
},
{
-0.973769,
0,
-0.227538
}
}
},
compoundprops={
floor_height=0
},
userprops={
actor="li_male_elite_3",
category="Character"
}
},

Male elite 3 is here.

{
entity_name="Char_Trent_Mrk_TurnToAngents",
type=MARKER,
template_name="",
lt_grp=0,
srt_grp=0,
usr_flg=0,
spatialprops={
pos={
64.263863,
0,
-43.173508
},
orient={
{
-0.999953,
0,
-0.009650000000000001
},
{
0,
1,
0
},
{
0.009650000000000001,
0,
-0.999953
}
}
}
},
{
entity_name="Char_Trent_Mrk_TurnBackToLonnigan",
type=MARKER,
template_name="",
lt_grp=0,
srt_grp=0,
usr_flg=0,
spatialprops={
pos={
62.496845,
0,
-40.592888
},
orient={
{
-0.932122,
0,
0.362146
},
{
0,
1,
0
},
{
-0.362146,
0,
-0.932122
}
}
}
},
{
entity_name="Char_Lonnigan_Mrk_Running",
type=MARKER,
template_name="",
lt_grp=0,
srt_grp=0,
usr_flg=0,
spatialprops={
pos={
61.963943,
0,
-39.356106
},
orient={
{
-0.53671,
0,
0.843767
},
{
0,
1,
0
},
{
-0.843767,
0,
-0.53671
}
}
}
},
{
entity_name="Char_li_male_elite_3_Mrk_Ajust",
type=MARKER,
template_name="",
lt_grp=0,
srt_grp=0,
usr_flg=0,
spatialprops={
pos={
48.059296,
0,
-50.954987
},
orient={
{
-0.9943840000000001,
0,
0.10583
},
{
0,
1,
0
},
{
-0.10583,
0,
-0.9943840000000001
}
}
}
},

SOME MORE MARKERS

{
entity_name="Cam_2A_Dart",
type=CAMERA,
template_name="",
lt_grp=0,
srt_grp=0,
usr_flg=0,
flags=HIDDEN,
spatialprops={
pos={
54.786568,
1.471409,
-45.453537
},
orient={
{
0.621224,
0,
-0.783633
},
{
0.00988,
0.999921,
0.007832
},
{
0.78357,
-0.012608,
0.621175
}
}
},
cameraprops={
fovh=20,
hvaspect=1.85,
nearplane=0.1,
farplane=7000
}
}
,

A cam for the flying dart.


{
entity_name="Char_li_male_elite_3_Mrk_Freeze",
type=MARKER,
template_name="",
lt_grp=0,
srt_grp=0,
usr_flg=0,
spatialprops={
pos={
48.173527,
0,
-50.789883
},
orient={
{
-0.989544,
0,
-0.144232
},
{
0,
1,
0
},
{
0.144232,
0,
-0.989544
}
}
}
},

A MArker for when elite says freeze ?

{
entity_name="Dart_02_Final_Path_ToLonnigan",
type=MOTION_PATH,
template_name="",
lt_grp=0,
srt_grp=0,
usr_flg=0,
spatialprops={
pos={
35.166489,
1.787077,
-61.00729
},
orient={
{
0.621225,
0,
-0.783633
},
{
0.78357,
-0.012607,
0.621175
},
{
-0.009879000000000001,
-0.99992,
-0.007832
}
}
},
pathprops={
path_type="CV_CROrientationSplinePath",
path_data="OPEN, {0.000003,0.000000,0.000000}, {1.000000,0.000000,0.000000,0.000000}, {0.000400,34.570038,-0.000025}, {1.000000,0.000000,0.000000,0.000000}, "
}
},

AT LAAAAST! SOME ACTION YES! YES! type=MOTION_PATH, this is the darts movements flying towards lonnigan.


{
entity_name="Char_Trent_JumpOutofTheWay",
type=MARKER,
template_name="",
lt_grp=0,
srt_grp=0,
usr_flg=0,
spatialprops={
pos={
49.641521,
0.5,
-49.531326
},
orient={
{
0.948673,
0,
-0.316258
},
{
0,
1,
0
},
{
0.316258,
0,
0.948673
}
}
}
},
{
entity_name="Char_Trent_Mrk_WalkUp",
type=MARKER,
template_name="",
lt_grp=0,
srt_grp=0,
usr_flg=0,
spatialprops={
pos={
59.489326,
0,
-45.975609
},
orient={
{
-0.468662,
0,
0.883378
},
{
0,
1,
0
},
{
-0.883378,
0,
-0.468662
}
}
}
},
{
entity_name="Char_Lonnigan_Mrk_WalkUp",
type=MARKER,
template_name="",
lt_grp=0,
srt_grp=0,
usr_flg=0,
spatialprops={
pos={
65.304085,
0,
-44.047352
},
orient={
{
0.266374,
0,
-0.96387
},
{
0,
1,
0
},
{
0.96387,
0,
0.266374
}
}
}
},


Some more markers

{
entity_name="Cam_2A_Zoom_Agent_Gun_Path",
type=MOTION_PATH,
template_name="",
lt_grp=0,
srt_grp=0,
usr_flg=0,
spatialprops={
pos={
70.420059,
1.219861,
-33.060089
},
orient={
{
0.621224,
0,
-0.783633
},
{
-0.011428,
0.999894,
-0.00906
},
{
0.78355,
0.014584,
0.621158
}
}
},
pathprops={
path_type="CV_CROrientationSplinePath",
path_data="OPEN, {-0.000401,0.542079,-19.944767}, {0.982689,0.013362,0.002512,-0.184765}, {-0.126912,0.652486,-26.797615}, {0.988312,0.027404,-0.149951,0.001970}, "
}
},

This path is the Zoom on the weap before firing

{
entity_name="Char_Lonnigan_Mrk_HitByDart",
type=MARKER,
template_name="",
lt_grp=0,
srt_grp=0,
usr_flg=0,
spatialprops={
pos={
49.786472,
100,
-49.507893
},
orient={
{
-0.507893,
0,
0.86142
},
{
0,
1,
0
},
{
-0.86142,
0,
-0.507893
}
}
}
},
{
entity_name="Char_Trent_Mrk_StunnedOnGround",
type=MARKER,
template_name="",
lt_grp=0,
srt_grp=0,
usr_flg=0,
spatialprops={
pos={
59.668282,
0,
-45.217007
},
orient={
{
-0.599413,
0,
-0.80044
},
{
0,
1,
0
},
{
0.80044,
0,
-0.599413
}
}
}
},
{
entity_name="Char_Juni_Mrk_Start",
type=MARKER,
template_name="",
lt_grp=0,
srt_grp=0,
usr_flg=0,
spatialprops={
pos={
56.412853,
0.502394,
-46.688847
},
orient={
{
0.244799,
0,
0.9695740000000001
},
{
0,
1,
0
},
{
-0.9695740000000001,
0,
0.244799
}
}
}
},

More Markers

{
entity_name="Cam_2F_POV_Juni_Slaping",
type=CAMERA,
template_name="",
lt_grp=0,
srt_grp=0,
usr_flg=0,
spatialprops={
pos={
57.448715,
-0.542435,
-46.608887
},
orient={
{
-0.233374,
-0.146184,
-0.961336
},
{
0.865941,
0.418508,
-0.273855
},
{
0.44236,
-0.896371,
0.028918
}
}
},
cameraprops={
fovh=10,
hvaspect=1.85,
nearplane=0.4,
farplane=7000
}
},

Camera looking up at juni slapping you

{
entity_name="Cam_2E_POV_Trent_Down_rtc_fadewhite_variable",
type=PSYS,
template_name="rtc_fadewhite_variable",
lt_grp=0,
srt_grp=0,
usr_flg=0,
flags=LIT_DYNAMIC + LIT_AMBIENT,
spatialprops={
pos={
59.958469,
1.026975,
-45.906521
},
orient={
{
-0.347626,
-0.275385,
-0.896281
},
{
0.701365,
0.558038,
-0.443487
},
{
0.622288,
-0.782788,
-0.000843
}
}
},
psysprops={
sparam=0
}
},

This is for the fadeup when trent awakes which leads me to thinkin that Type=psys really means visual elements not having to do with objects.
The shipcushions are also Psys typed.





{
entity_name="Cam_2E_POV_Trent_Down_rtc_fadeblack_variable_1",
type=PSYS,
template_name="rtc_fadeblack_variable",
lt_grp=0,
srt_grp=0,
usr_flg=0,
flags=LIT_DYNAMIC + LIT_AMBIENT,
spatialprops={
pos={
59.958469,
1.026975,
-45.906521
},
orient={
{
-0.347626,
-0.275385,
-0.896281
},
{
0.701365,
0.558038,
-0.443487
},
{
0.622288,
-0.782788,
-0.000843
}
}
},
psysprops={
sparam=0
}
},

Trent fade back to black Psys

{
entity_name="Cam_2F_POV_Juni_Slaping_rtc_fadeblack_2",
type=PSYS,
template_name="rtc_fadeblack_variable",
lt_grp=0,
srt_grp=0,
usr_flg=0,
flags=LIT_DYNAMIC + LIT_AMBIENT,
spatialprops={
pos={
0,
0,
0
},
orient={
{
1,
0,
0
},
{
0,
1,
0
},
{
0,
0,
1
}
}
},
psysprops={
sparam=0
}
},

Trent last black fade, this seems preprogrammed and only needing activation.ofcourse like everything else in these files.

{
entity_name="Cam_2C_Wide_LonniganGoingDown_start",
type=CAMERA,
template_name="",
lt_grp=0,
srt_grp=0,
usr_flg=0,
flags=HIDDEN,
spatialprops={
pos={
52.695122,
0.370976,
-45.664669
},
orient={
{
-0.4039,
0,
0.914803
},
{
-0.018818,
0.999788,
-0.008307999999999999
},
{
-0.91461,
-0.02057,
-0.403815
}
}
},
cameraprops={
fovh=15,
hvaspect=1.85,
nearplane=0.4,
farplane=7000
}
},
{
entity_name="Cam_2C_Wide_LonniganGoingDown_end",
type=CAMERA,
template_name="",
lt_grp=0,
srt_grp=0,
usr_flg=0,
spatialprops={
pos={
51.435249,
1.186234,
-42.813385
},
orient={
{
-0.403901,
0,
0.914803
},
{
-0.018818,
0.999788,
-0.008307999999999999
},
{
-0.914609,
-0.02057,
-0.403815
}
}
},
cameraprops={
fovh=15,
hvaspect=1.85,
nearplane=0.4,
farplane=7000
}
},
{
entity_name="Cam_2C_Wide_LonniganGoingDown_Dolly",
type=CAMERA,
template_name="",
lt_grp=0,
srt_grp=0,
usr_flg=0,
spatialprops={
pos={
52.882687,
0.370976,
-46.089508
},
orient={
{
-0.403901,
1e-006,
0.914803
},
{
-0.018817,
0.999788,
-0.008309
},
{
-0.914609,
-0.02057,
-0.403816
}
}
},
cameraprops={
fovh=15,
hvaspect=1.85,
nearplane=0.4,
farplane=7000
}
},

Some lonnicams.

{
entity_name="Char_li_male_elite_2_A_Mrk_ToTrent",
type=MARKER,
template_name="",
lt_grp=0,
srt_grp=0,
usr_flg=0,
spatialprops={
pos={
53.560787,
0,
-44.566845
},
orient={
{
-0.544732,
0,
0.83861
},
{
0,
1,
0
},
{
-0.83861,
0,
-0.544732
}
}
}
},

An agent marker.

{
entity_name="Char_Trent_rtc_shockedvance_1",
type=PSYS,
template_name="rtc_shockedvance",
lt_grp=0,
srt_grp=0,
usr_flg=0,
flags=LIT_DYNAMIC + LIT_AMBIENT,
spatialprops={
pos={
0,
0,
0
},
orient={
{
1,
0,
0
},
{
0,
1,
0
},
{
0,
0,
1
}
}
},
psysprops={
sparam=0
}
},
{
entity_name="Cam_2D_OTS_TrentShocked",
type=CAMERA,
template_name="",
lt_grp=0,
srt_grp=0,
usr_flg=0,
flags=HIDDEN,
spatialprops={
pos={
54.574429,
1.895421,
-43.816559
},
orient={
{
-0.392274,
0,
0.919848
},
{
0.325924,
0.935123,
0.138992
},
{
-0.860171,
0.354324,
-0.366825
}
}
},
cameraprops={
fovh=19.999998,
hvaspect=1.85,
nearplane=0.5,
farplane=7000
}
},

Trent shocked psys + camera showing it.


Jumping ahead to EVENTS:

{
0,
START_MOTION,
{
"char_extra_01_robot_a"
},
{
animation="Sc_SPCBODY_s019b_syd_XA_STND_270LV_06",
duration=6.466,
time_scale=1,
weight=1,
heading=-1
}
},


Were starting motion of "char_extra_01_robot_a" using the animation of "Sc_SPCBODY_s019b_syd_XA_STND_270LV_06"
It has a duration and a heading.



{
0,
START_FLR_HEIGHT_ANIM,
{
"char_extra_01_robot_a"
},
{
duration=0,
target_type=ROOT,
floor_height=0
}
},
Hmm what is this, only data we get is that target type=root and floorheight is zero.AHH HES MOVING ALONG THE FLOOR!!

{
0,
ATTACH_ENTITY,
{
"prop_food_cart_mrk_for_crate_attach",
"prop_li_cart_2"
},
{
duration=200,
offset={
-0.037829,
0.757927,
0.322943
},
up=Y_AXIS,
front=NEG_Z_AXIS,
target_part="",
target_type=ROOT,
flags=POSITION + ENTITY_RELATIVE
}
},

Were attaching a foodcart to a Cart?


Top 
 Profile  
 
 Post subject:
 Post Posted: Thu Feb 11, 2010 7:59 pm 
Offline
Moderator
Moderator
User avatar

Joined: Sat Jul 25, 2009 6:41 am
Posts: 93
THN Descriptions by Rasauul

Main Header Entities:
Here were describing All entities.
Entities encompass all THN "TYPE"s

Entity Types:
Type=Scene
Info on scene and base of thn

Type=PSYS
Mostly effects

TYPE=Compound
Non Deformable items, such as ships n props(rifle, baton n such)

TYPE=Deformable
Moving things aka Humanoids mostly

Type=Marker
Starting or stopping point for movement of mostly chars

Type=Camera
Camera position.

type=MOTION_PATH
Path of an object or camera

type=MONITOR
Stationary camera setting without orient settings

type=SOUND
Here is a sound described by a template.

------------------------------------------------------------
Main Header events:
When entities are done and all are posted the Chapters are closed
and events begin¨.
Now we have a timeline where we implement all the entities.

Start_Motion
start a char moving

START_FLR_HEIGHT_ANIM
Char is moving along this height (floor normally)

Attach_ENTITY
Everything needs to be attached;
head to chars
hands
Chars to effects
Effects to effects successively
paths to body_core
Eyes to head
Chars to marks
Marks to marks succesively

SET_CAMERA
start off a camera or change cameras?

START_AUDIO_PROP_ANIM
Fire some sound

START_SPATIAL_PROP_ANIM
Move a camera for a set amount of time

START_CAMERA_PROP_ANIM
Run a camera for a set amount of time

START_PATH_ANIMATION
animate a path

CONNECT_HARDPOINTS
Used when connecting a compound to a deformable

START_PSYS
fire an effect

START_IK
hmm unsure of this one

START_PSYS_PROP_ANIM
Start a prop effect

----------------------------------------------
EVENT TARGET TYPES:

Target_TYpe=ROOT


Top 
 Profile  
 
 Post subject: Stumbled on this tute "THNS by BobTheDog"
 Post Posted: Tue Feb 16, 2010 7:48 am 
Offline
Moderator
Moderator
User avatar

Joined: Sat Jul 25, 2009 6:41 am
Posts: 93
How to edit the .thn script files by BobTheDog

Part 1
Ok, so ya want to edit a script, right? well, today we're gonna focus on the
main menu background, the one with the station in front of a planet with the
ships and transports flying across.

First off, you need the .thn uncompiler, BiniQDU, and the UTF Editor

Both of which can be found in the Tools and Programs Section

Now, once you have those, go into DATA\SCRIPTS\INTRO and copy gasminer3.thn to
wherever you unzipped the .thn decompiler to. decompile it and open it up with
notepad.

Now, you are probably going "What's this? this isn't Freelancer coding!" and
you'd be right. It's scripted in LUA code. But it's fairly straightforward,
especially if ya know C++ or something like it.

I'm not entirely sure what time unit is used in these, so just leave them
alone for now.

Part 2
Ok, now every FL script (to my knowledge) begins with a duration declaration,
and then a scene entity, and ya can just copy those if ya make a new script.

here's how things work in FL scripts:

Everything has to be declared. You can only use things from solararch.ini,
shiparch.ini, effects.ini, and the starspheres and nebulaspheres.

so, here's how to declare a ship:

{
entity_name="Ships_li_dreadnought", <-- this is the name used to reference it
in this script
type=COMPOUND, <-- must be this for ships
template_name="li_dreadnought", <-- what to use from shiparch.ini
lt_grp=4,
srt_grp=0,
usr_flg=0,
flags=LIT_DYNAMIC,
spatialprops={
pos={ <-- position to start at... only used is stationary
7760.895996,
612.4628300000001,
-4181.624023
},
orient={ <-- rotational vectors
{
-0.955097,
0,
-0.296293
},
{
0,
1,
0
},
{
0.296293,
0,
-0.955097
}
}
},
userprops={ <-- I assume this tells it where to get the template from...
category="Spaceship"
}
},


now, you can mae the template anything from shiparch.ini

we have a ship, now let's make it follow a path:

This is a path from gasminer3.thn:

{
entity_name="Path_1_copy_1",
type=MOTION_PATH,
template_name="",
lt_grp=0,
srt_grp=0,
usr_flg=0,
spatialprops={
pos={
5,
6.576355,
55
},
orient={
{

1,

0,
0
},
{
0,
1,
0
},
{
0,
0,
1
}
}
},
pathprops={
path_type="CV_CROrientationSplinePath",
path_data="OPEN, {7760.895996,612.463013,-4181.623535},
{1.000000,0.000000,0.000000,0.000000}, {7465.413574,612.463013,-3846.421143},
{1.000000,0.000000,0.000000,0.000000}, {7569.932129,612.463013,-3511.218262},
{1.000000,0.000000,0.000000,0.000000}, {7474.450684,612.463013,-3176.015137},
{1.000000,0.000000,0.000000,0.000000}, {7358.968750,612.463013,-2840.812256},
{1.000000,0.000000,0.000000,0.000000}, {7283.486816,612.463013,-2505.608887},
{1.000000,0.000000,0.000000,0.000000}, {7188.005371,612.463013,-2170.406006},
{1.000000,0.000000,0.000000,0.000000}, {7092.523438,612.463013,-1835.202759},
{1.000000,0.000000,0.000000,0.000000}, {6997.041504,612.463013,-1500.000000},
{1.000000,0.000000,0.000000,0.000000}, "
}
},


all the numbers at the bottom are points for the path to follow, i'm not sure
how to calculate them, tho. What you CAN do is edi the pos={ section:
pos={
5, <-- positive is right, negative is left
6.576355, <-- positive is up, negative is down
55 <-- positive is forward, negative is back
},


I'm assuming that these paths are calculated from the center of the scene.

Now, you need to have the ship go down the path... under the events={ section,
at the end of the declarations, you would put:

{
0, <--this tells it how many time units to delay the action (I think)
START_PATH_ANIMATION,
{
"Ships_li_dreadnought", <-- which entity to put on the path
"Path_1" <-- which path to use
},
{
duration=60, <-- I'm not sure what the next three do...
start_percent=0,
stop_percent=1,
offset={
90,
45,
45
},
up=Y_AXIS,
front=NEG_Z_AXIS,
flags=POSITION + ORIENTATION + LOOK_AT <--this seems to tell the ship to face
in the direction of the waypoint
}
},

As you can see, there is a field called offset={

this is exactly like the pos={ field discussed earlier. This time, it tells
the offset by which the ship is placed on the path.

ok, now you have a ship, on a path. assuming you simply edited the
gasminer3.thn, you are almos good to go.

to get it to allways show up when you start freelancer (there are three
possible menu backgrounds, randomly chose when you start FL) you need to edit
two files:

intro2_vlocanoplanet.ini
intro3_planetchunks.ini

both in DATA\UNIVERS\SYSTEMS\INTRO\BASES\ROOMS

you'll need to decompile them with bini and change this line in both:

[Room_Info
scene = ambient, Scripts\Intro\xxxxxx.thn

to:

[Room_Info
scene = ambient, Scripts\Intro\gasminer3.thn

save both files, and make sure you put the decompiled ini's back into the
right folders, and made sure they still had the .ini extension, not .ini.txt as
bini makes them. now, load freelancer, and you should see the intro with the
ship going by eventually.

Part 3
Now, you say "Wait a second... there's no engine!"

that's correct.

Here's the complex part: This is a script, not a Freelancer system, and those
aren't ships, just models stuck on a conveyor belt. they don't even have
solidity. Yep, you can fly them right through each other, and anyhting else in
the scene, planets, stations, etc.

how to add an engine then?

back at the declaration part of the gasminer3.thn file, add this:

{
entity_name="FX_ge_lbd_engine_01",
type=PSYS,
template_name="gf_li_largeengine03",
lt_grp=0,
srt_grp=0,
usr_flg=0,
flags=LIT_DYNAMIC + LIT_AMBIENT,
spatialprops={
pos={
7784.271973,
609.758606,
-4256.971191
},
orient={
{
-0.993505,
0,
-0.113791
},
{
0,
1,
0
},
{
0.113791,
0,
-0.993505
}
}
},
psysprops={
sparam=0
}
},

this time, the template comes from effects.ini

this is the engine effect used by the engine used by the liberty dreadnought
in the game.

Now that we've declared it, we mive on to attaching it to the ship:

put this in the events={ section:

{
0,
ATTACH_ENTITY,
{
"FX_ge_lbd_engine_01", <-- thing that's being attached
"Ships_li_dreadnought" <-- thing it's being attached to
},
{
duration=2400,
offset={

0,

0,
0
},
up=Y_AXIS,
front=NEG_Z_AXIS,
target_part="hpengine01",
target_type=HARDPOINT,
flags=POSITION + ORIENTATION
}
},

note at the end it has sections for what to attach it to. If you are not
familiar with the model you are attaching the effect to, you need the UTF
editor to look at the hardoint names for specific models. The Liberty
Dreadnought has only one engine flame, fortunately for us. and the hardpoint is
labeled HpEngine01.

I suppose you caould add offsets here, but that'd look odd...

now it's attached to the ship, but we still need to turn it on:

under the attachment event, add this:

{
0,
START_PSYS,
{
"FX_ge_lbd_engine_01"
},
{
duration=2400
}
},

this turns on the named effect.

now, save the file and go back into the game. You should see the Liberty
Dreadnough has it's engine now.

One last thing:

THe engine is too small, you say. Yes, but it cannot be helped. I don't know
of a way of changing it's size... you see the size it dynamically controlled in
the game, relative to your speed, bu the ship in the scene has no speed, it's
just sitting on the track. so the effect is at it's lowest "on" point.

And another thing:

You can't add weapons, or runninglights to anything. Believe me I've tried.

Part 4
Here's another thing to try:

Add this to these declaration area:

{
entity_name="smoke1",
type=PSYS,
template_name="gf_prisonattack_bigsmoke",
lt_grp=0,
srt_grp=0,
usr_flg=0,
flags=LIT_DYNAMIC + LIT_AMBIENT,
spatialprops={
pos={
7322.942383,
363.170685,
-3207.746094
},
orient={
{
0.433044,
-0.458753,
0.775899
},
{
0.223574,
0.888564,
0.400586
},
{
-0.873205,
0,
0.487352
}
}
},
psysprops={
sparam=0
}
},
{
entity_name="smoke2",
type=PSYS,
template_name="gf_prisonattack_bigsmoke",
lt_grp=0,
srt_grp=0,
usr_flg=0,
flags=LIT_DYNAMIC + LIT_AMBIENT,
spatialprops={
pos={
7322.942383,
363.170685,
-3207.746094
},
orient={
{
0.433044,
-0.458753,
0.775899
},
{
0.223574,
0.888564,
0.400586
},
{
-0.873205,
0,
0.487352
}
}
},
psysprops={
sparam=0
}
},
{
entity_name="smoke3",
type=PSYS,
template_name="gf_prisonattack_bigsmoke",
lt_grp=0,
srt_grp=0,
usr_flg=0,
flags=LIT_DYNAMIC + LIT_AMBIENT,
spatialprops={
pos={
7322.942383,
363.170685,
-3207.746094
},
orient={
{
0.433044,
-0.458753,
0.775899
},
{
0.223574,
0.888564,
0.400586
},
{
-0.873205,
0,
0.487352
}
}
},
psysprops={
sparam=0
}
},
{
entity_name="smoke4",
type=PSYS,
template_name="gf_prisonattack_bigsmoke",
lt_grp=0,
srt_grp=0,
usr_flg=0,
flags=LIT_DYNAMIC + LIT_AMBIENT,
spatialprops={
pos={
7322.942383,
363.170685,
-3207.746094
},
orient={
{
0.433044,
-0.458753,
0.775899
},
{
0.223574,
0.888564,
0.400586
},
{
-0.873205,
0,
0.487352
}
}
},
psysprops={
sparam=0
}
},
{
entity_name="smoke5",
type=PSYS,
template_name="gf_prisonattack_bigsmoke",
lt_grp=0,
srt_grp=0,
usr_flg=0,
flags=LIT_DYNAMIC + LIT_AMBIENT,
spatialprops={
pos={
7322.942383,
363.170685,
-3207.746094
},
orient={
{
0.433044,
-0.458753,
0.775899
},
{
0.223574,
0.888564,
0.400586
},
{
-0.873205,
0,
0.487352
}
}
},
psysprops={
sparam=0
}
},
{
entity_name="smoke6",
type=PSYS,
template_name="gf_prisonattack_bigsmoke",
lt_grp=0,
srt_grp=0,
usr_flg=0,
flags=LIT_DYNAMIC + LIT_AMBIENT,
spatialprops={
pos={
7322.942383,
363.170685,
-3207.746094
},
orient={
{
0.433044,
-0.458753,
0.775899
},
{
0.223574,
0.888564,
0.400586
},
{
-0.873205,
0,
0.487352
}
}
},
psysprops={
sparam=0
}
},
{
entity_name="smoke7",
type=PSYS,
template_name="gf_prisonattack_bigsmoke",
lt_grp=0,
srt_grp=0,
usr_flg=0,
flags=LIT_DYNAMIC + LIT_AMBIENT,
spatialprops={
pos={
7322.942383,
363.170685,
-3207.746094
},
orient={
{
0.433044,
-0.458753,
0.775899
},
{
0.223574,
0.888564,
0.400586
},
{
-0.873205,
0,
0.487352
}
}
},
psysprops={
sparam=0
}
},
{
entity_name="smoke8",
type=PSYS,
template_name="gf_prisonattack_bigsmoke",
lt_grp=0,
srt_grp=0,
usr_flg=0,
flags=LIT_DYNAMIC + LIT_AMBIENT,
spatialprops={
pos={
7322.942383,
363.170685,
-3207.746094
},
orient={
{
0.433044,
-0.458753,
0.775899
},
{
0.223574,
0.888564,
0.400586
},
{
-0.873205,
0,
0.487352
}
}
},
psysprops={
sparam=0
}
},
{
entity_name="smoke9",
type=PSYS,
template_name="gf_prisonattack_bigsmoke",
lt_grp=0,
srt_grp=0,
usr_flg=0,
flags=LIT_DYNAMIC + LIT_AMBIENT,
spatialprops={
pos={
7322.942383,
363.170685,
-3207.746094
},
orient={
{
0.433044,
-0.458753,
0.775899
},
{
0.223574,
0.888564,
0.400586
},
{
-0.873205,
0,
0.487352
}
}
},
psysprops={
sparam=0
}
},

amd these to the event area:

{
0,
ATTACH_ENTITY,
{
"smoke1",
"smallstation1_1"
},
{
duration=2400,
offset={
0,
0,
0
},
up=Y_AXIS,
front=NEG_Z_AXIS,
target_part="hpturret_s2_01",
target_type=HARDPOINT,
flags=POSITION + ORIENTATION + ENTITY_RELATIVE + ORIENTATION_RELATIVE
}
},
{
0,
ATTACH_ENTITY,
{
"smoke2",
"smallstation1_1"
},
{
duration=2400,
offset={
0,
0,
0
},
up=Y_AXIS,
front=NEG_Z_AXIS,
target_part="hpturret_s1_01",
target_type=HARDPOINT,
flags=POSITION + ORIENTATION + ENTITY_RELATIVE + ORIENTATION_RELATIVE
}
},
{
0,
ATTACH_ENTITY,
{
"smoke3",
"smallstation1_1"
},
{
duration=2400,
offset={
0,
0,
0
},
up=Y_AXIS,
front=NEG_Z_AXIS,
target_part="hpturret_s1_02",
target_type=HARDPOINT,
flags=POSITION + ORIENTATION + ENTITY_RELATIVE + ORIENTATION_RELATIVE
}
},
{
0,
ATTACH_ENTITY,
{
"smoke4",
"smallstation1_1"
},
{
duration=2400,
offset={
0,
0,
0
},
up=Y_AXIS,
front=NEG_Z_AXIS,
target_part="hpturret_s1_03",
target_type=HARDPOINT,
flags=POSITION + ORIENTATION + ENTITY_RELATIVE + ORIENTATION_RELATIVE
}
},
{
0,
ATTACH_ENTITY,
{
"smoke5",
"smallstation1_1"
},
{
duration=2400,
offset={
0,
0,
0
},
up=Y_AXIS,
front=NEG_Z_AXIS,
target_part="hpturret_s1_04",
target_type=HARDPOINT,
flags=POSITION + ORIENTATION + ENTITY_RELATIVE + ORIENTATION_RELATIVE
}
},
{
0,
ATTACH_ENTITY,
{
"smoke6",
"smallstation1_1"
},
{
duration=2400,
offset={
0,
0,
0
},
up=Y_AXIS,
front=NEG_Z_AXIS,
target_part="hpturret_s1_05",
target_type=HARDPOINT,
flags=POSITION + ORIENTATION + ENTITY_RELATIVE + ORIENTATION_RELATIVE
}
},
{
0,
ATTACH_ENTITY,
{
"smoke7",
"smallstation1_1"
},
{
duration=2400,
offset={
0,
0,
0
},
up=Y_AXIS,
front=NEG_Z_AXIS,
target_part="hpturret_s1_06",
target_type=HARDPOINT,
flags=POSITION + ORIENTATION + ENTITY_RELATIVE + ORIENTATION_RELATIVE
}
},
{
0,
ATTACH_ENTITY,
{
"smoke8",
"smallstation1_1"
},
{
duration=2400,
offset={
0,
0,
0
},
up=Y_AXIS,
front=NEG_Z_AXIS,
target_part="hpturret_s1_07",
target_type=HARDPOINT,
flags=POSITION + ORIENTATION + ENTITY_RELATIVE + ORIENTATION_RELATIVE
}
},
{
0,
ATTACH_ENTITY,
{
"smoke9",
"smallstation1_1"
},
{
duration=2400,
offset={
0,
0,
0
},
up=Y_AXIS,
front=NEG_Z_AXIS,
target_part="hpturret_s1_08",
target_type=HARDPOINT,
flags=POSITION + ORIENTATION + ENTITY_RELATIVE + ORIENTATION_RELATIVE
}
},
{
0,
START_PSYS,
{
"smoke1"
},
{
duration=2400
}
},
{
0,
START_PSYS,
{
"smoke2"
},
{
duration=2400
}
},
{
0,
START_PSYS,
{
"smoke3"
},
{
duration=2400
}
},
{
0,
START_PSYS,
{
"smoke4"
},
{
duration=2400
}
},
{
0,
START_PSYS,
{
"smoke5"
},
{
duration=2400
}
},
{
0,
START_PSYS,
{
"smoke6"
},
{
duration=2400
}
},
{
0,
START_PSYS,
{
"smoke7"
},
{
duration=2400
}
},
{
0,
START_PSYS,
{
"smoke8"
},
{
duration=2400
}
},
{
0,
START_PSYS,
{
"smoke9"
},
{
duration=2400
}
},


now the station is burning! Oh no!

Part 5, The Final Part
And one last thing to try:

Open the following:

intro1_cityscape.ini
intro2_vlocanoplanet.ini
intro3_planetchunks.ini

and change the

[Room_Info
scene = ambient, Scripts\Intro\xxxxxxxx.thn


to:

[Room_Info
scene = ambient, Scripts\Intro\intro_waterplanet.thn


now you can see the unused intro!


Top 
 Profile  
 
Display posts from previous:  Sort by  
 
Post new topic Reply to topic  [ 4 posts ] 

The Freelancer Community Site by Team [RIP] » Board index » The FLC Public Forums » Freelancer Tutorials


Who is online

Users browsing this forum: No registered users and 2 guests

 
 

 
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron