Help needed [ADDON] Empyrion Mission Board

Discussion in 'The Hangar Bay' started by byo13, May 17, 2021.

  1. Myrmidon

    Myrmidon Rear Admiral

    Joined:
    Mar 26, 2016
    Messages:
    2,101
    Likes Received:
    2,327
    Your contribution is priceless.
     
    #41
    byo13 likes this.
  2. byo13

    byo13 Captain

    Joined:
    Jul 13, 2020
    Messages:
    434
    Likes Received:
    645
    Your contributions to my little projects are priceless. :)
    Thank you.
     
    #42
    Kassonnade and Myrmidon like this.
  3. byo13

    byo13 Captain

    Joined:
    Jul 13, 2020
    Messages:
    434
    Likes Received:
    645
    Programmer's log, stardate -272827.9
    >> Starting to work on the Mission Board Editor. All user board missions will be stored in an SQLite database so the player can make changes and replace his own stuff in the Mission Board. Once missions are edited this way, we will have the option to export them into a pack and share them here or anywhere. Then the pack can be imported into another user's game. If the user already has your pack installed then it will get updated. This way we, as content creators, can release new mission packs versions without breaking anything.

    >> Right now, combat missions will be disabled and there will be a dialogue explaining that. There are ways to make them work but it will envolve using the PDA for this type of missions. Nothing fancy but it should be doable without breaking the rest of the missions.
     
    #43
    Last edited: May 20, 2021
    Kassonnade and ravien_ff like this.
  4. Myrmidon

    Myrmidon Rear Admiral

    Joined:
    Mar 26, 2016
    Messages:
    2,101
    Likes Received:
    2,327
    There can be missions:

    1.Kill x of Y faction or animal etc.
    2. Haul x SU from A to B.
    3. Buy or craft x and bring back to mission giver.
    4. Loot x pieces of Y .
    5. Mine x pieces of Y mineral, maybe refine etc and bring back to mission giver.
    6. Explore x moons, or planets or mining asteroid fields etc.
    7.Warp x LY or AU, or walk x kilometres on surface of planets, moons etc.
    8. Search and find specific faction representative on a type of M or K solar systems, in orbit or on planets
    9. Collect x pieces of evidence of something across a solar system or set of solar systems, bring back to mission giver.
    10. A little complex find a spy or traitor between two factions that are in dispute over something.
     
    #44
    Sofianinho, Kassonnade and byo13 like this.
  5. byo13

    byo13 Captain

    Joined:
    Jul 13, 2020
    Messages:
    434
    Likes Received:
    645
    @Myrmidon Some of those can be in the Trading or Farming category. Other ones could be used with tokens.
    #1 is a combat mission and I'm studying if there is way to get how many kills per faction, per enemy type, etc. If there is no way to get those out of the scope of a PDA mission, we'll have to use PDA for this type of missions.

    The possibility of exploration missions will need to be well studied as well. :)
     
    #45
    Kassonnade likes this.
  6. Myrmidon

    Myrmidon Rear Admiral

    Joined:
    Mar 26, 2016
    Messages:
    2,101
    Likes Received:
    2,327
    Excellent.
     
    #46
  7. byo13

    byo13 Captain

    Joined:
    Jul 13, 2020
    Messages:
    434
    Likes Received:
    645
    Here's some progress on the editor. Expect nothing too fancy and you won't be disappointed. :D

    upload_2021-5-25_21-47-17.png
     
    #47
    Sofianinho, Myrmidon and ravien_ff like this.
  8. Myrmidon

    Myrmidon Rear Admiral

    Joined:
    Mar 26, 2016
    Messages:
    2,101
    Likes Received:
    2,327
    I do not mind if it is not fancy. I care if it is easy to understand how to use.
     
    #48
    byo13 likes this.
  9. byo13

    byo13 Captain

    Joined:
    Jul 13, 2020
    Messages:
    434
    Likes Received:
    645
    Autocomplete will show the supported dialogue commands while clicking with right mouse button will display an item list will their market prices. Choosing an item will add them item name to the code editor (checks/rewards):

    upload_2021-5-26_16-17-46.png
     
    #49
    Sofianinho and ravien_ff like this.
  10. byo13

    byo13 Captain

    Joined:
    Jul 13, 2020
    Messages:
    434
    Likes Received:
    645
    Programmer's log, stardate -272782
    >> I now have the official editor UI and hopefully I won't mess with it no more.

    upload_2021-6-7_19-33-31.png

    It's capable of exporting missions and the only thing needed to add a new mission to the board is a single dialogue in the ECF like this:

    Code:
    { +Dialogue Name: EMB_Missions_Mission2done
      Output: emb_dialogue_MissionGenericY
      Option_1: emb_dialogue_MissionOfferMat
      OptionIf_1: "HasItem('GeneratorMST2', 5) && HasItem('FusionCell', 100) && HasItem('SolarPanelBlocks', 15) && HasItem('SolarGenerator', 5)"
      OptionExecute_1: "RemoveItem('GeneratorMST2', 5); RemoveItem('FusionCell', 100); RemoveItem('SolarPanelBlocks', 15); RemoveItem('SolarGenerator', 5); AddItem('CPUExtenderBAT4', 2); AddItem('MoneyCard', 10000); AddReputation(Faction.Pirates, -3000); AddReputation(Faction.Trader, 3000); AddReputation(Faction.Colonists, 3000); setSlotMission(chosenSlot, 0); activateSlot(chosenSlot, false); activeMissions = activeMissions - 1; completedMissions = completedMissions + 1; lastGameTime = GetGameTimeInSec();"
      OptionNext_1: EMB_Missions_Complete
      Option_2: emb_dialogue_GotNothing
      OptionIf_2: "!(HasItem('GeneratorMST2', 5) && HasItem('FusionCell', 100) && HasItem('SolarPanelBlocks', 15) && HasItem('SolarGenerator', 5))"
      OptionNext_2: EMB_Missions_Mission2done
      Option_3: emb_dialogue_Back
      OptionNext_3: EMB_Missions_Detail
    }
    That's enough for the mission to be part of the pool so the board can pull from it in a randomized way.
    After missions are exported, they will be available in a folder along with the Updater.
    The Updater is not ready yet but I have copied the missions manually to my game and they are working.

    This Updater tool will be responsible for merging the exported missions with a player's savegame.

    upload_2021-6-7_19-32-22.png

    Only trading missions are possible as of now with no modifications to other files other than dialogues.

    Combat missions or more complex ones can be done but right now I'll leave them up to the content creators.
    Since there's no way (yet) to count how many enemies you kill or enemy types inside a dialogue, it's still possible to create combat missions using tokens that can be added to Containers.ecf so every kill drops a token based on an enemy or animal type that you can validate in your missions. I may get into that later. Thanks for reading. :)
     
    #50
  11. Myrmidon

    Myrmidon Rear Admiral

    Joined:
    Mar 26, 2016
    Messages:
    2,101
    Likes Received:
    2,327
    Man, this is more advanced than I thought it would be. You are a code magician, or something. :p
     
    #51
    byo13 likes this.
  12. Raven_Ta2

    Raven_Ta2 Ensign

    Joined:
    Jan 22, 2020
    Messages:
    24
    Likes Received:
    11
    Hi. Just wondering if this is still WIP, or is there a playable/testable demo available?
     
    #52
    byo13 likes this.
  13. byo13

    byo13 Captain

    Joined:
    Jul 13, 2020
    Messages:
    434
    Likes Received:
    645
    Thanks for the interest. Yes, indeed. It's still been worked on but in a slower pace.
    I have it working by manually editing files. The complex part is making the editor merging missions into and from the config files.
    I just got a second job after 6 PM and it's highly demanding but I'm trying to find a common ground. Or else I'll get crazy. Haha
     
    #53
  14. Myrmidon

    Myrmidon Rear Admiral

    Joined:
    Mar 26, 2016
    Messages:
    2,101
    Likes Received:
    2,327

    Could this tool named Meld that compares and merges files and folders (2 way & 3 way), be useful? I use it to compare merge config ecf files of Empyrion and it is great. Just compare and merge to the right or the left file and save. Just one button click to go to next difference. In the example bellow see the difference marked automatically by Meld with the blue line, comparing two Blocksconfig.ecf files one on workshop scenario folder and one on my scenario folder.

    upload_2021-9-29_10-27-15.png
     
    #54
    byo13 likes this.
  15. Raven_Ta2

    Raven_Ta2 Ensign

    Joined:
    Jan 22, 2020
    Messages:
    24
    Likes Received:
    11
    Thanks. Not trying to rush you, just curious. We all have to deal with real life first, unfortunately.
     
    #55
    byo13 likes this.
  16. Aaron(Wakfu)

    Aaron(Wakfu) Commander

    Joined:
    Jun 1, 2021
    Messages:
    114
    Likes Received:
    47
    yo yo whats the latest byo? this is awesome. still taking mission contributions?
     
    #56
    byo13 likes this.
  17. Hummel-o-War

    Hummel-o-War Administrator
    Staff Member Community Manager

    • Developer
    Joined:
    Jun 15, 2015
    Messages:
    7,624
    Likes Received:
    11,915
    Is the tool / concept still in development?
     
    #57
    byo13 likes this.
  18. Aaron(Wakfu)

    Aaron(Wakfu) Commander

    Joined:
    Jun 1, 2021
    Messages:
    114
    Likes Received:
    47
    seems not. was da-bomb. this is on the list of feature requests.
     
    #58
    byo13 likes this.
  19. byo13

    byo13 Captain

    Joined:
    Jul 13, 2020
    Messages:
    434
    Likes Received:
    645
    @Hummel-o-War @Aaron(Wakfu) Hi there. Thank you for the interest. There are two reasons I had to put this on hold for a while:

    1. There's nothing in the game's database/API command that will let us know how many enemies the player killed grouped by factions or types of enemies. Just a generic "kills" count that sums up everything. So most exciting missions like assassination was not possible or dialogues where the faction could label the player as a "Zirax murderer", praise the player for or deny missions because of it, for instance. When I started this, I was looking at the PDA and there are missions there like "Destroy X pirate vessels" or "Destroy X Zirax bases", for instance. But I cannot control this from a dialogue because I wouldn't know how many Zirax bases a player destroyed since the PlayerInfo "kills" property stores everything. So I can only offer trading missions right now unless I make a mod to track this down and it'd be too time consuming.

    2. Besides my jobs, I recently became a graduate student just recently so my head is exploding. :eek:

    I'm resuming work on it (since it's an exciting feature for me) but only for trading missions unfortunately. They're already playable but since the editor needs to edit the player's dialogue files, I want to be sure this doesn't break anything. Need yet to implement a backup feature and versioning for the existing files.

    @Aaron(Wakfu) I'd love if you could share some trading missions. I'm running out of ideas. Haha
     
    #59
  20. Aaron(Wakfu)

    Aaron(Wakfu) Commander

    Joined:
    Jun 1, 2021
    Messages:
    114
    Likes Received:
    47
    maybe the devs realising this could open the api a bit for you, or add those variables you can change.
     
    #60
    byo13 likes this.

Share This Page