Space Engineers

Space Engineers

Combat Score System (BB)
 Denne tråd er blevet fastgjort, så den er sikkert vigtig
BookBurner  [udvikler] 10. okt. 2022 kl. 3:21
Configuration
Configuration description and examples
< >
Viser 1-6 af 6 kommentarer
BookBurner  [udvikler] 10. okt. 2022 kl. 3:21 
Combat score for block damage and basic settings
Players can obtain score points for damaging specific blocks, say turrets, or gyroscopes etc. You define this by simply adding the subtype and point value in the following format:

Config.xml

generated file contains block combat score values and basic settings (only nexus sync at this point)

# Blocks is an array of pairs, subtypeId ; point value <Blocks> <string>SmallBlockBatteryBlock;1</string> </Blocks> # Master is a boolean true/false setting, useful only for Nexus servers. If used, it has to be set to true on one of the nexus servers. That server will then work as a primary source of "truth". It will provide base score to other non-master servers and will receive incremental changes from them to sync. <Master>false</Master> # when this config option is set to true, you can trigger seasons by the use of /cs nextseason command on the master instance. This will turn combat score into currency, which is then usable by the combat store blocks. Score and currency for blocks is independent. If this is set to false, blocks will continue to use combat score instead of currency. <Seasons>false</Seasons>
Sidst redigeret af BookBurner; 20. dec. 2023 kl. 5:16
BookBurner  [udvikler] 10. okt. 2022 kl. 3:22 
Conquest and rewards
Players are able to set up a conquest station, that "captures" a nearby area and provides combat score, space credits and physical item rewards based on your definition. Conquest "rules" were made similarly to frontier conquest, because when players see the word conquest, that is what they are most familiar with. Conquest therefore requires a static grid, within planet's sphere and a cargo on it that holds the produced rewards.

Conquests.xml

generated file contains basic information about the availability of conquest system + blocks. Keep in mind that rewards are assigned every 3 minutes.

# true/false enables and disables the system <ConquestEnabled>true</ConquestEnabled> # total area the conquest beacon claims, all limits and gains are calculated based on what percentage of this area is actually claimable (if set) <ConquestRadius>50000</ConquestRadius> # area in which the other entities are scanned for their worth (stones, large grids etc...) <GatherResourcesRadius>50000</GatherResourcesRadius> # area worth is calculated based on it's actuall claimed size compared to the ConquestRadius and on what is in it (structures, stones, characters etc.) # how much worth is gained per small grid block in the area <smallGridTax>1</smallGridTax> # how much worth is gained per large grid block in the area <largeGridTax>2</largeGridTax> # multiplier of worth per block if the grid is static <staticGridTax>2</staticGridTax> # how much worth is gained per stone in the area (voxelmaterialmaps) <stoneTaxWorth>100</stoneTaxWorth> # how much worth is gained per character in the area <characterTaxWorth>100</characterTaxWorth> # how much worth is gained per tick, this value scales based on what percentage of total size is claimed # average worth value with default settings for a full 50km area is usually somewhere around 1 -> 2 thousand. But can be higher if the area is densely populated with grids. <baseTaxWorth>1000</baseTaxWorth> # how much SC player or his faction gains per worth point generated <spaceCredsPerWorthPoint>10</spaceCredsPerWorthPoint> # should conquests check for safezones in the area? <safezoneCheck>true</safezoneCheck> # should conquests check for offline protection blocks in the area? <offlineProtectionCheck>true</offlineProtectionCheck> # if set to false, the conquests stops working if it finds conquest or offline protection within it's radius, if set to true, it will truncate # the active conquest area and reduces all the reward outputs accordingly <reduceTaxAreaInsteadOfDisable>true</reduceTaxAreaInsteadOfDisable> #how often is the reward assigned (in minutes) <conquestTick>5</conquestTick> # example reward item definition list, these items are stored in the containers on the same grid as the conquest beacon <RewardItems> <RewardItem> <Type>ore</Type> # ore / ingot / component <Subtype>Nickel</Subtype> # item subtypeId <Cost>25</Cost> # worth cost for 1 item (with 1000 average worth, this could generate 40 items) </RewardItem> <RewardItem> <Type>component</Type> <Subtype>Superconductor</Subtype> <Cost>1000</Cost> <Condition> # reward items can have following conditions <Type>factionRelation</Type> # planet / factionRelation / combatScore / factionCombatScore <TextValue>SPRT</TextValue> # text descriptor, usable for planet and factionRelation conditions, either planet generator subtypeId or faction tag <Operand>greater</Operand> # greater, lower, equals, does not apply for planet condition and can be w-e <IntValue>500</IntValue> # intvalue is a numeric yalue you compare against with your operand, does not apply for planet condition and can be w-e </Condition> </RewardItem> </RewardItems>
Sidst redigeret af BookBurner; 13. okt. 2022 kl. 3:34
BookBurner  [udvikler] 10. okt. 2022 kl. 3:22 
Combat Assembler Block
This block allows players to craft special predefined blueprints and they are not allowed to build it by their own. It is design as an incentive for players to go to say combat arenas or dangerous locations, where they have to connect their ships to this combat assembler, power it and stay connected to it while it produces the stuff they want. You can set almost everything regarding the production in your config:

AssemblyDefinition.xml

generated file contains some default settings and one dummy blueprint

# list of possible blueprint definitions that are generated in the combat assembler <Definitions> <AssemblyDefinition> # this definition creates single gold ingot out of two other ingots <InputItems> # list of inputs (can be multiple) <ItemType> # input item <Type>ingot</Type> # ore / ingot / component <Subtype>Iron</Subtype> # item subtypeId <Amount>1</Amount> # number of items required </ItemType> <ItemType> <Type>ingot</Type> <Subtype>Nickel</Subtype> <Amount>1</Amount> </ItemType> </InputItems> <OutputItem> # output item from the blueprint, can be only one <Type>ingot</Type> # ore / ingot / component / ammo <Subtype>Gold</Subtype> # output item subtype id <Amount>1</Amount> # how many are produced </OutputItem> <ProductionTime>30</ProductionTime> # production time <Name>Dummy BP</Name> # blueprint name </AssemblyDefinition> </Definitions> # part which contains assembly block configuration <BlockConfig> <RequiredPower>1.12</RequiredPower> # how much power must be provided by player for the assembler to work in MW <StartAtMinute>0</StartAtMinute> # at which minute the combat assembler starts <DurationInMinutes>1440</DurationInMinutes> # how many minutes does it run <BlockName>Combat Assembler</BlockName> # name of the assembly block </BlockConfig> # StartAtMinute and DurationInMinutes can be defined so the block only runs at certain time of a day: <StartAtMinute>1200</StartAtMinute> <DurationInMinutes>90</DurationInMinutes> # would imply start at 20:00 and duration of 90 minutes

PS: combat assembler can hold only 40 blueprints, and it needs an unique definition per instance, meaning if you are running nexus server and wan't to have multiple of those with different settings, you have to place one per instance. It is also not public by default, so you need to create your combat assembler installation, export it as a prefab or local blueprint and alter the vanilla assembler and connection point (connector) to these subtypes: LargeAssembler -> CombatAssembler and Connector -> CombatConnector. These blocks have no computers in them and therefore players can always connect and use the combat assembler no matter the grid ownership. Demo Combat Assembler grid blueprint is linked on the bottom.
Sidst redigeret af BookBurner; 18. nov. 2023 kl. 3:38
BookBurner  [udvikler] 10. okt. 2022 kl. 3:22 
Combat Reward Block
Players can claim rewards for their combat score directly in this Combat Reward block. They can build it anywhere and it is a cheap block with minimal integrity and 1 PCU. Block is always accessible by everyone and can be therefore placed on certain admin chosen locations as well. Rewards and their point cost is defined in the config:

Store.xml

# enables or disables combat rewards, if disabled (false) the combat store block is not accessible. Can be used to place admin store block and disable it's construction for players. <Enabled>true</Enabled> # list of reward items <StoreItemList> <StoreItem> <Type>ingot</Type> # ore / ingot / component <Subtype>Gold</Subtype> # item subtype id <Amount>1</Amount> # how many items should be generated <Cost>5</Cost> # how much combat score does the pack cost <Name>Test Gold</Name> # what is the name of the pack </StoreItem> </StoreItemList>

PS: players are always using their own combat score points, they can't use combat score of other faction members. If run on nexus server and combat score is used, they can use combat score from server A on server B, since it is synchronised.
Sidst redigeret af BookBurner; 11. okt. 2022 kl. 14:02
BookBurner  [udvikler] 5. feb. 2023 kl. 4:33 
Combat Zone
Combat Zones can be defined to randomly generate within your star system. Players then have to go to the location and claim the area for a certain amount of time. When players of a single faction claim the area, each player within said zone receives rewards in the form of combat score and physical items.

Zone.xml

# enables or disables spawning and function of Combar Zones <ZoneEnabled>true</ZoneEnabled> # enables space combat zones # space combat zone position is generated based on the MaxRadiusSeed <SpaceZonesEnabled>true</SpaceZonesEnabled> # ratio between planetary and space combat zones (100 - all planetary, 0 all space) # if the SpaceZonesEnabled is false, this has no effect <PlanetToSpaceRatio>70</PlanetToSpaceRatio> # radius of the zone in which the players will be detected <ZoneRadius>3000</ZoneRadius> # for how long does the faction have to remain in the zone for it to be finished and claimed <TimeInZone>600</TimeInZone> # how long should the zone remain <ZoneMaxLifetime>1800</ZoneMaxLifetime> # how often the system tries to create a new combat zone <TimeoutBetweenZones>1800</TimeoutBetweenZones> # this is used for random position generation radius should be larger then the furthest planet # distance from the world center (0 0 0) <MaxRadiusSeed>15000000</MaxRadiusSeed> # minimum number of players that needs to be present for Combat Zone to generate <MinPlayers>5</MinPlayers> # how much combat score is assigned to each player when zone is claimed <ScorePerPlayer>200</ScorePerPlayer> # player bases are checked in this radius (in meters), if player base (static grid) is found, another location for combat zone is chosen <SafeRadius>30000</SafeRadius> # whitelisted planets PlanetGeneratorDefinition->Id->SubtypeId <PlanetWhitelist> <string>EarthLike</string> </PlanetWhitelist> # list of reward items that are assigned to each player within when the zone is claimed # works in the same manner as our other item lists, amount is randomized from min and max # values <ZoneItems> <ZoneItem> <Type>consumable</Type> # component, ingot, ore, consumable, tool <Subtype>LootCrateSpecialComponents</Subtype> <AmountMin>1</AmountMin> <AmountMax>3</AmountMax> </ZoneItem> <ZoneItem> <Type>consumable</Type> <Subtype>LootCrateFreePack</Subtype> <AmountMin>1</AmountMin> <AmountMax>3</AmountMax> </ZoneItem> <ZoneItem> <Type>consumable</Type> <Subtype>LootCrateVoteReward</Subtype> <AmountMin>1</AmountMin> <AmountMax>3</AmountMax> </ZoneItem> </ZoneItems> # here the server persists the zone that might exist during restart save->load cycle # do not touch :) <ZoneInstance />
Sidst redigeret af BookBurner; 3. juni 2024 kl. 12:36
BookBurner  [udvikler] 13. okt. 2023 kl. 10:24 
Resource Zone
This configuration file contains your setup for Resource Zones. Resource zones spawn in a simmilar manner to Combat Zones but there is no logic for capturing attached to them. When Resource Zone spawns, it generates defined voxel map, and sends GPS position to all players connected to the instance at that moment. When instance restarts/or starts again, it removes all old material voxel maps spawned in the previous cycle and purges all old material zone GPS positions.

ResourceZone.xml

# enables or disables spawning and function of Resource Zones <ResourceZoneEnabled>true</ResourceZoneEnabled> # timeout between Zone Spawn attempts <TimeoutBetweenZones>3600</TimeoutBetweenZones> # Random seed for position generation, should be greater than the top distance of your planets from world center (in meters) <MaxRadiusSeed>15000000</MaxRadiusSeed> # minimum number of players that needs to be present for Resource Zone to generate <MinPlayers>5</MinPlayers> # player bases are checked in this radius (in meters), if player base (static grid) is found, another location for resource zone is chosen <SafeRadius>50000</SafeRadius> # list of possible resources to spawn at the generated position <ResourceList> <ResourceItem> # visible material name that is seen in the GPS <MaterialLabel>Lavastone</MaterialLabel> # voxel map subtype name <VoxelMap>LavastoneDeposit</VoxelMap> # custom suffix which will be added to the generated voxel map <CustomSuffix /> # vertical offset from the surface, to create burried/floating stones for example <UpDirOffset>0</UpDirOffset> </ResourceItem> <ResourceItem> <MaterialLabel>Crystal Fluid</MaterialLabel> <VoxelMap>CrystalfluidDeposit</VoxelMap> <CustomSuffix /> <UpDirOffset>0</UpDirOffset> </ResourceItem> <ResourceItem> <MaterialLabel>Gold</MaterialLabel> <VoxelMap>GoldDeposit</VoxelMap> <CustomSuffix /> <UpDirOffset>0</UpDirOffset> </ResourceItem> <ResourceItem> <MaterialLabel>Magnesium</MaterialLabel> <VoxelMap>MagnesiumDeposit</VoxelMap> <CustomSuffix /> <UpDirOffset>0</UpDirOffset> </ResourceItem> <ResourceItem> <MaterialLabel>Platinum</MaterialLabel> <VoxelMap>PlatinumDeposit</VoxelMap> <CustomSuffix /> <UpDirOffset>0</UpDirOffset> </ResourceItem> <ResourceItem> <MaterialLabel>Uranium</MaterialLabel> <VoxelMap>UraniteDeposit</VoxelMap> <CustomSuffix /> <UpDirOffset>0</UpDirOffset> </ResourceItem> </ResourceList> # whitelisted planets PlanetGeneratorDefinition->Id->SubtypeId <PlanetWhitelist> <string>Pertam</string> </PlanetWhitelist>
Sidst redigeret af BookBurner; 13. okt. 2023 kl. 10:25
< >
Viser 1-6 af 6 kommentarer
Per side: 1530 50