[Mod] EmpyrionCommandCrate v2.9.2 (EmpyrionSpotGuard addon)

Discussion in 'Empyrion API' started by Exacute, Jul 23, 2018.

  1. Ephoie

    Ephoie Captain

    Joined:
    Jan 27, 2018
    Messages:
    329
    Likes Received:
    515
    Yeah, there is a change in the way mods work, again.
    According to @Xango2000
     
    #81
  2. Taelyn

    Taelyn Guest

    I have his source and made it work with the current patch

    I dont add new stuff to it but i fixed many bugs for both SpotGuard and CommandCrate.
    Only change i really made to it is the removal of the old DialogueBox, and reworked it to the new
    one with the ScrollBar (old one had none of these functions). And insteed of all the commands showing up in chat i reworked those to the DialogueBox aswell (see first screenshot)

    Feel free to PM me i can give you the DLL

    2020-10-12 21_22_09-Greenshot.jpg 2020-10-12 21_24_19-Greenshot.jpg
     
    #82
    Last edited by a moderator: Oct 12, 2020
    Kassonnade, byo13 and Ephoie like this.
  3. Ernicus Maximus

    Ernicus Maximus Lieutenant

    Joined:
    May 7, 2019
    Messages:
    52
    Likes Received:
    28
    Excellent. Thank you very much.
     
    #83
    Kassonnade, Ephoie and Taelyn like this.
  4. Taelyn

    Taelyn Guest

    Hello Galactic Survivalists!

    After haveing a short conversation with @Exacute the mods are available again to the public
    Over time I made many bug fixes and improvements to both SpotGuard and CommandCrate.

    Ive update the the forum posts. If you have any questions feel free to send me a PM

    Few Notes:
    - To run CommandCrate you DO NEED SpotGuard
    - I do this in my spair time
    - This has NOTHING to do with my work for Eleon Game Studios!
     
    #84
    Kassonnade, Ephoie and byo13 like this.
  5. Taelyn

    Taelyn Guest

    EmpyrionCommandCrate v2.4.0

    If you lost your download link, then contact me

    Fixes:
    - Fixed: {EntityInfo} by adding Database Access
    - Fixed: Server not booting in some cases
     
    #85
    Kassonnade and Ephoie like this.
  6. Taelyn

    Taelyn Guest

    EmpyrionCommandCrate v2.6.0

    If you lost your download link, then contact me

    Changes:

    - Reworked ConfigReader to work with Custom ConfigFiles and ItemId Changes (Check Config.yaml for new options)
    - Add SpotGuard SecurityFile to CommandCrate for Reload (Check Config.yaml for new options)
    - Changed API Call ONLINE to make it better readable in a Browser
    - Add new ModApi DLL Files
    - Added ExampleYAML Files back

    Fixes:
    - Fixed: ItemExchange due to ItemId increase to 4096
     
    #86
    Kassonnade likes this.
  7. Taelyn

    Taelyn Guest

    EmpyrionCommandCrate v2.6.1

    If you lost your download link, then contact me

    Fixes:

    - Fixed: CoQ with ItemIds when Config_Example.ecf is used in the ConfigReader
     
    #87
    Kassonnade likes this.
  8. realdark

    realdark Ensign

    Joined:
    Jan 10, 2019
    Messages:
    9
    Likes Received:
    3
    Hey,

    I dint's use the mod from long time, but now i'm in again.

    I noticed some bugs (or i didn't fully understand how this features work).
    Lets begin with the first one:

    The variables {PlayerX}, {PlayerY}, {PlayerZ} returns number (float) with comma separator.
    Example:
    x = 7,931031
    y = 53,60839
    z = 12,41057

    If i type command "tt 7,931031 53,60839 12,41057" the game will crash.
    Instead comma (,) i thing this variables have to use separator dot(.).

    When i type "tt 7.931031 53.60839 12.41057" the command will teleport me ok.

    May be they have to be in format with dot (.) or i'm mistaken?
    x = 7.931031
    y = 53.60839
    z = 12.41057

    If i'm mistaken, is there a way to replace the comma with dot in the yaml?

    Second problem:
    It's look StoreData without File not working. See the example.

    Example:
    - RefKey: "postionZ-{PlayerID}"
    Data: "{PlayerZ}"
    File: "securespot"

    This code will work and all data will be saved in PermData/securespot.yaml

    Example without 'File':
    - RefKey: "postionZ-{PlayerID}"
    Data: "{PlayerZ}"

    I expect this data to be saved in PermaData.yaml in the main directory but for some reason this will not happen.

    My config:
    OutputAllToLog: true #Boolean, output debug lines to log? (True=yes, false=no)
    NameSpace: CC #String, The namespace (if you use an entry with commandentry without a i:0, this is the i:0) (Ie. what you must prefix commands with by default)
    CustomName: EmpyrionCommandCrate #String, The name that is displayed ingame/in debug for this mod
    SpecialsFile: ../SpotGuard/SpecialsList.yaml #String, The specials file created & maintained by the mod 'SpotGuard'
    SecurityFile: ../SpotGuard/SecurityList.yaml #String, The Security file created & maintained by the mod 'SpotGuard'
    SpotGuardConfigFile: ../SpotGuard/Config.yaml #String, the config file of the mod 'SpotGuard'
    LastUsedFile: LastUsed.yaml #String, The lastused file.
    PermaDataFile: PermaData.yaml #String, The permadata file.
    PermaDataDirectory: PermaData #String, The permadata file.
    ValutaFile: ValutaData.yaml #String, the valuta file.
    ValutaHelperFile: ValutaHelperConfig.yaml #string, the valutahelper file.
    AllowShort: true #Boolean, should the shorthand commands for allow/accept/deny/disallow be a thing (true = yes, false = no). You would want to disable it, if they conflict with other mods. !namespace <> still works

    And one more thing. How i can see all predefined variables like {PlayerZ}, {PlayerID}...

    Thx for the help :)
     
    #88
    Last edited: Feb 20, 2021
    Kassonnade likes this.
  9. Taelyn

    Taelyn Guest

    Hi,

    the first one isnt a bug. This is how the API gives the info. You have to replace the , to a .
    Code:
    tt {Replace([{PlayerX}][,][.])} {Replace([{PlayerY}][,][.])} {Replace([{PlayerZ}][,][.])}
    1.png

    Provide a few lines in the PermaData.yaml. If you do this then the file works fine. Copy the info from beneed past it in the PermaData.yaml and try again :). That has been a problem since forever..

    Code:
    AlwaysOverwrite: false
    Entries:
    - KeyRef: originalY-0
      Data: 308.4
    - KeyRef: originalX-0
      Data: 830.812
    - KeyRef: originalX-76561197987322437
      Data: -15923.09
    - KeyRef: originalY-76561197987322437
      Data: 71.08406
     
    #89
    Last edited by a moderator: Feb 20, 2021
    Kassonnade likes this.
  10. realdark

    realdark Ensign

    Joined:
    Jan 10, 2019
    Messages:
    9
    Likes Received:
    3
    Thx for the fast replay mate :D :D.
    Everything works fine now.
     
    #90
    Taelyn likes this.
  11. Taelyn

    Taelyn Guest

    Just noticed this :)

    There is a Documentation.txt file what has all the things at the bottom


    Code:
    For players: (Who executed the command. Note, that if other types than 'a player' was used to 'get here', target / player might behave differently)
    {PlayerID} : Executing player's steamid
    {PlayerName} : Executing player's name
    {PlayerX} : Executing player's position for x-axis
    {PlayerY} : Executing player's position for y-axis
    {PlayerZ} : Executing player's position for z-axis
    {PlayerRotX} : Executing players' rotation for x-axis
    {PlayerRotY} : Executing players' rotation for x-axis
    {PlayerRotZ} : Executing players' rotation for x-axis
    {PlayerBodyTemp} : Executing player's Body temperature
    {PlayerBodyTempMax} : Executing player's Maximum Body Temperature
    {PlayerBP} : Executing player's BP status. Name of what is currently being produced.
    {PlayerBPRemaining} : Executing player's BP status' remaining time.
    {PlayerCredits} : Executing player's ingame cash (what is stored 'in the bank'. Doesn't count what is in inventory)
    {PlayerExp} : Executing player's Experience
    {PlayerFactionGroup} : Executing player's faction group
    {PlayerFaction} : Executing player's faction (id of faction)
    {PlayerFactionResolved} : Executing player's faction (name of faction (if it could be found))
    {PlayerFactionResolvedAbbrev} : Executing player's faction (name of faction (if it could be found))
    {PlayerFactionRole} : Executing player's role in their faction
    {PlayerFood} : Executing player's food
    {PlayerFoodMax} : Executing player's maximum food
    {PlayerHealth} : Executing player's health
    {PlayerHealthMax} : Executing player's maximum health
    {PlayerKills} : Executing player's amount of kills
    {PlayerOrigin} : Executing player's origin
    {PlayerOxygen} : Executing player's oxygen
    {PlayerOxygenMax} : Executing player's maximum oxygen
    {PlayerPing} : Executing player's ping
    {PlayerPlayfield} : Executing player's playfield (currently on)
    {PlayerRadiation} : Executing player's radiation
    {PlayerRadiationMax} : Executing player's maximum radiation
    {PlayerStamina} : Executing player's stamina
    {PlayerStaminaMax} : Executing player's maximum stamina
    {PlayerStartPlayfield} : Executing player's starting playfield
    {PlayerUP} : Executing player's upgrade points
    {PlayerPermission} : Executing player's permissions (admin). Usually '0', if none is given
    {RepSpecial} : Executing player's resolved reputation (long) (from spotguard config)
    {RepSpecial:s} : Executing player's resolved reputation (short) (from spotguard config)
    {PlayerRep} : Executing players' reputation
    {PlayerCon} : Executing players' connection time (stamp)
    {PlayerEntity} : Executing players' entity id
    {PlayerClient} : Executing players' client id
    {PlayerVIP} : Executing players' VIP level (0-x)
    {VipSpecial} : Executing player's resolved VIP (long) (from spotguard config)
    {VipSpecial:s} : Executing player's resolved VIP (short) (from spotguard config)
    {PlayerAdmin} : Executing players' admin status (same as playerpermission, but what was resolved by the mod, rather than what was passed with the entity request. Should be the same tho)
    {AdminRank} : Executing player's resolved AdminRank (long) (from spotguard config)
    {AdminRank:s} : Executing player's resolved AdminRank (short) (from spotguard config)
    {PlayerOnlineTime} : In minutes, how long the Executing player have played on the server
    {PlayerOnline} : In minutes, how long the Executing player have been online this session
    {PlayerSecondsSinceLastDeath}: Will Resolve to how long it have been since the Player have died in seconds, or 'NA' if player havn't died this session
    
    {PlayerToolbar} : Returns a CSV of all item IDs, the Player have in toolbar.
    {PlayerBag} : Returns a CSV of all item IDs, the Player have in bag.
    {PlayerToolbarContains(<>)} : <> being an item id (int); Returns a CSV of all the toolbar inventory slots, that contains any amount of this item. ("1,5,6" for instance)
    {PlayerBagContains(<>)} : <> being an item id (int); Returns a CSV of all the bag inventory slots, that contains any amount of this item. ("1,5,6" for instance)
    
     
    #91
    Kassonnade likes this.
  12. realdark

    realdark Ensign

    Joined:
    Jan 10, 2019
    Messages:
    9
    Likes Received:
    3
    I will definitely see it (Documentation.txt).

    By the way, can you check the command !admins (it's in the config file). It seems not working.

    The command return "Currently the following admins is online: {tempAdmins}" in chat box.

    It seems the problem is in {CapFirst({PlayerName:{this}})} (row 67 and 72). For some reason CapFirst is the problem. When i remove it, the command work.

    {CapFirst(test)} placed in ForLine not working
    {CapFirst(test)} placed in Text is working. Will show in chatbox: Test
    {CapFirst({PlayerName:1111111111111})} placed in Text not working. Will show in chatbox: {CapFirst(some_name)}

    thx.
     
    #92
  13. Taelyn

    Taelyn Guest

    Code:
    Entries:
    - EntryKey: Online Admins
      Version: 1.0
      DisallowHelp: true
      CommandEntry:
      - i: 0
        key: oa
        type: key
      Actions:
      - Conditionals:
        - Conditions:
          - Condition: "{AdminsOnline}==0"
        ExecuteCommand:
        - Text: "There is currently no admins online."
      - For:
        - Seperator: ","
          Input: "{AdminsList}"
          ForEntry:
          - Conditionals:
            - Conditions:
              - Condition: "{i}==0"
            ForLines:
            - ForLine: "{tempAdmins={CapFirst({PlayerName:{this}})} ({PlayerRankResolved:{this}})}"
          - Conditionals:
            - Conditions:
              - Condition: "{i}>0"
            ForLines:
            - ForLine: "{tempAdmins={tempAdmins}, {CapFirst({PlayerName:{this}})} ({PlayerRankResolved:{this}})}"
        Conditionals:
        - Conditions:
          - Condition: "{AdminsOnline}>0"
        ExecuteCommand:
        - ConfirmBox: "Currently the following admins are online: {tempAdmins}"
    Seems to work fine for me

    2021-02-20 19_06_41-Greenshot.png
     
    #93
    Kassonnade likes this.
  14. realdark

    realdark Ensign

    Joined:
    Jan 10, 2019
    Messages:
    9
    Likes Received:
    3
    Thanks for checking.
    Тhat means the problem is in my TV :D
     
    #94
    Taelyn likes this.
  15. Taelyn

    Taelyn Guest

    Use the code I linked. There is a difference between whats in the ConfigFile and what I linked.

    Already fixed the ExampleConfigFile
     
    #95
    Kassonnade and realdark like this.
  16. Taelyn

    Taelyn Guest

    EmpyrionCommandCrate v2.6.2

    If you lost your download link, then contact me

    Changes:

    - Add new ModApi DLL Files
    - Update EmpyrionSpotGuard Config due to v2.4.0
    - Changed BlockIdMap.ecf to BlockIdMap.db

    Fixes:
    - Fixed: ConfigFile !admin command (check Config.yaml for working version)
     
    #96
    realdark and Kassonnade like this.
  17. Taelyn

    Taelyn Guest

    EmpyrionCommandCrate v2.7.0

    If you lost your download link, then contact me

    Changes:

    - Changed ChatEvent to new modAPI > Now you can forbid commands in GlobalChat (Check Config.yaml for new options)
    > Set to true to ONLY allow Commands in FactionChat, AllianceChat and ServerChat
    > Set to false to allow Commands in GlobalChat, FactionChat, AllianceChat and ServerChat
     
    #97
    Germanicus likes this.
  18. Taelyn

    Taelyn Guest

    EmpyrionCommandCrate v2.7.1

    If you lost your download link, then contact me

    Changes:

    - Add new API Call onlinejson to get PlayersOnline in json format (Thanks ☢ Grumbledore ☢ for the suggestion)
    - Changed format ServerAPIKey and MasterAPIKey to allow Capital Letters
     
    #98
    Germanicus likes this.
  19. Taelyn

    Taelyn Guest

    EmpyrionCommandCrate v2.8.0

    If you lost your download link, then contact me

    Changes:

    - Add new ModApi DLL Files
    - Reworked ConfigReader to support IModAPI.IApplication.GetBlockAndItemMapping() (no need anymore to write a own BlockIdMap.db, This is done in EmpyrionCommandCratePlayfield.dll now)
    - Removed from Config.yaml:
    Code:
    ScenarioName: xxxx
    CustomBlocksConfig: false
    CustomItemsConfig: false
    BlockIdMapConfig: false
     
    #99
    Germanicus likes this.
  20. Taelyn

    Taelyn Guest

    EmpyrionCommandCrate v2.9.0

    Only works with v1.6!
    If you lost your download link, then contact me

    Changes:

    - Add new ModApi DLL Files
    - Add Origin IP to API Logs
    - Id Mapping will only be done now once per Server Reboot

    Fixes:
    - Possible fix for SharingViolations
     
    #100

Share This Page