Freelancer Community Network
Reminder: Internet Explorer 6 or below are NOT supported.
HomeHome
ForumForum
WikiWiki
DownloadsDownloads
ForgeForge
Multiplayer Connection Tutorial
Collapse/Expand Random Image
Collapse/Expand Login
Username:

Password:

Remember me



Lost Password?

Register now!
Collapse/Expand Chat
Collapse/Expand Who's Online
75 user(s) are online (35 user(s) are browsing Forum)

Members: 0
Guests: 75

more...
Collapse/Expand Donations
Monthly costs: -30€
Income (ads): +5€
Donations (last month): +5€

Current balance: 0€
(last updated 06/2020)

Please make a donation if you want to help keeping The-Starport online:

Bitcoin address:
Thanks!
Collapse/Expand Links
Collapse/Expand Advertisement
There are currently 50 users playing Freelancer on 44 servers.
July. 6, 2020

Browsing this Thread:   1 Anonymous Users



 Bottom   Previous Topic   Next Topic  Register To Post



The grand VSCode Freelancer tooling thread
Just popping in
Joined:
2017/9/8 16:07
Group:
Registered Users
Posts: 11
Offline
It's 2020, Freelancer is still alive, and it's about time we started using modern tooling to mod it.

Since Visual Studio Code is as flexible as it is popular, I thought we might just create tooling so that people who like to mash their keyboard rapidly can work with it to make awesome FL mods.

I'll start with the simple things: snippets for Solar Archetype, Ship Archetype, and a generic Loadout.

Code:
{
"Solar Archetype": {
"prefix": "sol",
"body": [
"[Solar]",
"nickname = $1",
"ids_name = ${2:0}",
"ids_info = ${3:0}",
"type = ${4:SATTELITE}",
"DA_Archetype = $5",
"material_library = $6",
"material_library = fx\\envmapbasic.mat",
"envmap_material = envmapbasic",
"LODranges = 0, 100000",
"mass = ${7:10000}",
"solar_radius = ${8:500}",
"shape_name = ${9:NAV_outpost}",
"hit_pts = ${10:9.99999961690316245E35}"
],
"description": "A basic solar archetype"
},

"Ship Archetype": {
"prefix": "ship",
"body": [
"[Ship]",
"ids_name = ${2:0}",
"ids_info = ${3:0}",
"ids_info1 = ${4:0}",
"ids_info2 = ${5:0}",
"ids_info3 = ${6:0}",
"ship_class = ${7:1}",
"nickname = $1",
"LODranges = 0, 10000",
"msg_id_prefix = ${8:gcs_refer_shiparch_lfighter}",
"mission_property = can_use_berths",
"type = ${9:FIGHTER}",
"mass = ${10:100.0}",
"hold_size = ${11:45}",
"linear_drag = ${12:1.0}",
"max_bank_angle = ${13:35}",
"camera_offset = ${14:13}, ${15:42}",
"camera_angular_acceleration = ${16:0.1}",
"camera_horizontal_turn_angle = 20",
"camera_vertical_turn_up_angle = 5",
"camera_vertical_turn_down_angle = 30",
"camera_turn_look_ahead_slerp_amount = 1.0",
"hit_pts = ${17:5000}",
"explosion_arch = ${18:explosion_cv_fighter}",
"surface_hit_effects = 0, small_hull_hit_light01, small_hull_hit_light02, small_hull_hit_light03",
"surface_hit_effects = 150, small_hull_hit_medium01, small_hull_hit_medium02, small_hull_hit_medium03",
"surface_hit_effects = 300, small_hull_hit_heavy01, small_hull_hit_heavy02, small_hull_hit_heavy03",
"steering_torque = ${19:55000.0}, ${20:55000.0}, ${21:48000.0}",
"angular_drag = ${22:41000.0}, ${23:41000.0}, ${24:35000.0}",
"rotation_inertia = ${25:8400.0}, ${26:8400.0}, ${27:1000.0}",
"nudge_force = ${28:30000.0}",
"strafe_force = ${29:20000}",
"strafe_power_usage = ${30:2}",
"bay_door_anim = Sc_open baydoor",
"bay_doors_open_snd = cargo_doors_open",
"bay_doors_close_snd = cargo_doors_close",
"HP_bay_surface = HpBayDoor01",
"HP_bay_external = HpBayDoor02",
"HP_tractor_source = HpTractor_Source",
"num_exhaust_nozzles = ${31:2}",
"shield_link = ${32:cv_fighter5_shield01}, HpMount, HpShield01",
"hp_type = ${33:hp_gun_special_1}, ${34:HpWeapon01}, "
],
"description": "A basic ship archetype"
},

"Loadout": {
"prefix": "load",
"body": [
"[Loadout]",
"nickname = $1",
"archetype = $2",
"equip = ${3:equip_nickname}, ${4:HpSomething}",
"cargo = ${5:cargo_nickname}, ${6:1}"
],
"description": "A basic generic loadout"
}

}


Just add it to your ini snippets and start button-mashing your custom content!

Also, feel free to add your own snippets, improve mine, and suggest ideas for plugins.

"Happy hacking!"

Posted on: 5/1 19:33
Top
Re: The grand VSCode Freelancer tooling thread
Just popping in
Joined:
2017/9/8 16:07
Group:
Registered Users
Posts: 11
Offline
I started making snippets for mission scripts, following Rasauul's guidelines.

Here's what I got so far:

Code:
"Misison Trigger": {
"prefix": "trig",
"body": [
"[Trigger]",
"nickname = $1",
"system = $2",
"Cnd_$3 = $4",
"Act_$5 = $6"
],
"description": "A typical mission trigger"
},

"Misison Objective Message": {
"prefix": "nnobj",
"body": [
"[NNObjective]",
"nickname = $1",
"state = ${2:HIDDEN}",
"type = ${3:ids}, ${4:0}"
],
"description": "A mission objective message without waypoints"
},

"Misison Objective Clear": {
"prefix": "nnnull",
"body": [
"[NNObjective]",
"nickname = null",
"state = HIDDEN",
"type = ids, 21660"
],
"description": "A mission objective that clears away the current objective"
},

"Misison Objective Mark Solar Object": {
"prefix": "nnsol",
"body": [
"[NNObjective]",
"nickname = $1",
"state = HIDDEN",
"type = rep_inst, ${2:system}, ${3:ids_text}, 1, ${4:x}, ${5:y}, ${6:z}, ${7:solar_nickname}"
],
"description": "A mission objective that puts a waypoint on a specific solar object"
},

"Misison Objective Waypoint": {
"prefix": "nnwp",
"body": [
"[NNObjective]",
"nickname = $1",
"state = HIDDEN",
"type = navmarker, ${2:system}, ${3:ids_text}, ${4:ids_info}, ${5:x}, ${6:y}, ${7:z}"
],
"description": "A mission objective that puts a waypoint in open space"
},

"Objective List": {
"prefix": "objl",
"body": [
"[ObjList]",
"nickname = $1",
"system = ${2:ALL}"
],
"description": "A list of objectives for mission NPCs"
},

"Objective List Follow": {
"prefix": "objfol",
"body": [
"[ObjList]",
"nickname = $1",
"system = ${2:ALL}",
"SetPriority = ALWAYS_EXECUTE",
"Follow = ${3:ship_name}, ${4:distance_behind}, ${5:x}, ${6:y}, ${7:z}"
],
"description": "Gives an NPC orders to follow a certain ship"
},

"Objective List Break Formation": {
"prefix": "objbreak",
"body": [
"[ObjList]",
"nickname = $1",
"system = ${2:ALL}",
"BreakFormation = no_params"
],
"description": "Gives an NPC orders to break formation"
},

"Objective List Stay in Range": {
"prefix": "objrange",
"body": [
"[ObjList]",
"nickname = $1",
"system = ${2:ALL}",
"StayInRange = ${3:x}, ${4:y}, ${5:z}, ${6:radius}"
],
"description": "Gives an NPC orders to stay in range of a certain radius"
},

"Objective List Go To Ship": {
"prefix": "objgo",
"body": [
"[ObjList]",
"nickname = $1",
"system = ${2:ALL}",
"GotoShip = goto, ${3:ship_name}, ${4:distance}, true, -1"
],
"description": "Gives an NPC orders to go to a certain ship"
}


Will update with more snips when I get more time

Posted on: 5/3 16:05
Top