Guest User

Untitled

a guest
Aug 25th, 2019
102
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. [7:09 PM] Durandal †: For the loot drops, here's how I would want to do that.
  2. [7:10 PM] Durandal †: This is actually trickier than it sounds because it involves vanilla ini files as well.
  3. [7:10 PM] Durandal †: We'd likely need to add new lines to them.
  4. [7:10 PM] Durandal †: Now - I'm an art guy. I do models, textures, and I also do story and balance stuff.
  5. [7:10 PM] Durandal †: I don't know my way around NPC or system files too well.
  6. [7:10 PM] Durandal †: Could you tell me which ini file NPC loot drops are specified in?
  7. [7:11 PM] Raikkonen: C:\Users\Oliver.Pechey\Documents\Freelancer\Freelancer - Vanilla Multibox\DATA\MISSIONS\lootprops.ini
  8. [7:12 PM] Raikkonen: I can imagine you'd need to pretty much wipe that file and convert the majority of looting to FLHook if you wanted to go below 1%
  9. [7:13 PM] Raikkonen: Have a .cfg file that looks similar to that but with 0.1% instead of 1% for e.g.
  10. [7:13 PM] Durandal †: Hold up.
  11. [7:14 PM] Durandal †: Okay this isn't what I'm looking for.
  12. [7:14 PM] Durandal †: I'm looking for the NPC file which specifies what loot the ship has.
  13. [7:14 PM] Raikkonen: ohhhhhhh 1 sec
  14. [7:15 PM] Raikkonen: C:\Users\Oliver.Pechey\Documents\Freelancer\Freelancer - Vanilla Multibox\DATA\SHIPS\loadouts.ini has the majority
  15. [7:15 PM] Raikkonen: then you have 2 more for special and utility ships
  16. [7:16 PM] Durandal †: Okay.
  17. [7:16 PM] Durandal †: So I'm going to give you an example for how I'd like to see this done.
  18. [7:17 PM] Durandal †: nickname = br_n_lf_easy_l1_d1_d4
  19. archetype = dsy_br_fighter2
  20. equip = ge_bf_engine_01
  21. equip = infinite_power
  22. equip = LargeWhiteSpecial, HpHeadlight
  23. equip = SlowSmallBlue, HpRunningLight01
  24. equip = SlowSmallBlue, HpRunningLight02
  25. equip = SlowSmallBlue, HpRunningLight03
  26. equip = contrail01, HpContrail01
  27. equip = contrail01, HpContrail02
  28. equip = DockingLightRedSmall, HpDockLight01
  29. equip = DockingLightRedSmall, HpDockLight02
  30. equip = ge_s_scanner_02
  31. equip = ge_s_tractor_01
  32. equip = ge_s_thruster_01_npc, HpThruster01
  33. equip = ge_s_cm_01_npc, HpCM01
  34. equip = mine01_mark01_npc, HpMine01
  35. ;equip = armor_scale_0
  36. cargo = commodity_bn, 1
  37. ; Vary per level
  38. equip = npc_shield03_mark05, HpShield01
  39. cargo = ge_s_battery_01, 1
  40. cargo = ge_s_repair_01, 1
  41. equip = br_gun01_mark01_npc, HpWeapon01
  42. equip = br_gun01_mark01_npc, HpWeapon02
  43. lootbox = [LOOTBOX NAME], [PERCENT CHANCE TO DROP]
  44. [7:18 PM] Durandal †: So that's where we specify which lootboxes a ship can drop and their chance to drop them.
  45. [7:18 PM] Durandal †: THen in the lootbox cfg we define the lootboxes and their possible contents.
  46. [7:19 PM] Raikkonen: ah okay, i see what you mean. I suppose it depends on whether you can detect which loadout an NPC has assigned after they have been created
  47. [7:19 PM] Durandal †: Awkward....
  48. [7:20 PM] Durandal †: I hadn't considered that.
  49. [7:20 PM] Durandal †: I figured we'd be intercepting it on kill.
  50. [7:20 PM] Raikkonen: so a hook fires when you kill an NPC, can you then pull the loadout name and therefore the lootbox name?
  51. [7:20 PM] Raikkonen: we'd need to figure out if that is possible
  52. [7:20 PM] Raikkonen: can certainly take a look
  53. [7:20 PM] Durandal †: I'm 95% sure that's possible.
  54. [7:21 PM] Durandal †: If absolutely necessary we can hack it a bit.
  55. [7:21 PM] Durandal †: Use custom shiparch entries.
  56. [7:21 PM] Durandal †: So if we need the hook to detect, say, a specific ship type killed instead of an NPC loadout,
  57. [7:21 PM] Durandal †: We can do that.
  58. [7:21 PM] Raikkonen: so there's a iLoadout ID in the shipinfo struct so should be possible, assuming that it stores an ID in there for FL generated NPCs (as opposed to plugin generated NPCs)
  59. [7:22 PM] Raikkonen: ahhh ok
  60. [7:22 PM] Durandal †: Like this is my preferred way of doing it, but if we need to create custom shiparchs we can and will.
  61. [7:23 PM] Durandal †: There's all kinds of ways we could hack this actually.
  62. [7:23 PM] Durandal †: I'm just going for the cleanest one.
  63. [7:23 PM] Raikkonen: just to get an idea of what you are going for, say we could implement that exactly as you say, what would you plan to do with regular drops?
  64. [7:24 PM] Raikkonen: set all the drop changes to 0% or keep some / all?
  65. [7:24 PM] Durandal †: Leave them in. This would only be for new, special, rare items.
  66. [7:24 PM] Raikkonen: is this intended as a replacement or additional loot
  67. [7:24 PM] Raikkonen: ahhh ok
  68. [7:24 PM] Durandal †: Yeah. We're not reworking everything.
  69. [7:24 PM] Raikkonen: makes sense
  70. [7:25 PM] Raikkonen: i suppose the other question is, say you did specify custom paramters in loadouts.ini that the regular game can't read e.g. lootbox = bla bla bla
  71. [7:25 PM] Raikkonen: will the game crash? or will it ignore it
  72. [7:25 PM] Durandal †: Oh lmao
  73. [7:26 PM] Durandal †: Dude you can put as much bullshit text as you want in there.
  74. [7:26 PM] Durandal †: I could shove a novel in there.
  75. [7:26 PM] Durandal †: The one that really blows my mind is fx files.
  76. [7:26 PM] Raikkonen: haha brilliant
  77. [7:26 PM] Durandal †: You can shove an entire novel into an alchemy file and it'll still work fine.
  78. [7:26 PM] Durandal †: O_o
  79. [7:26 PM] Durandal †: o_O
  80. [7:27 PM] Durandal †: And if it does cause wonky shit to happen, we can always use a commented line.
  81. [7:27 PM] Durandal †: Which is... odd.
  82. [7:27 PM] Durandal †: Commenting things out specifically so that hook detects them and the game does not.
  83. [7:27 PM] Durandal †: But it would work.
  84. [7:28 PM] Durandal †: I've been told I'm a brilliant engineer but the problem is that actual programming is anathema to me.
  85. [7:28 PM] Raikkonen: thats true, if worse comes to worse we can just parse the .ini file and not rely of the shipinfo struct
  86. [7:28 PM] Durandal †: I can tell you exactly how I want a system to work and every way you can manipulate it.
  87. [7:28 PM] Durandal †: But understanding the languages to do it?
  88. [7:28 PM] Durandal †: I have... tried.
  89. [7:29 PM] Raikkonen: c++ is particularly mind blowing, not my favourite language by a long shot...
  90. [7:29 PM] Raikkonen: sounds good tho, once I've put to bed my pull request for the NPC plugin I'll see if I can come up with a proof of concept for lootboxes
  91. [7:29 PM] Raikkonen: I'd like the feature on my server too
  92. [7:30 PM] Durandal †: Excellent.
  93. [7:30 PM] Durandal †: Thank you so much.
RAW Paste Data