Бесплатный VPN

1
1

Недостаточно оценок

Руководство по моддингу серверов

Размеры стека — это то, сколько вы готовы позволить каждому нести.

ECOServer> Моды> AutoGen> Блок>

Пример: Мы возьмем Coal.cs и откроем его. (Вордпад, ВС, Блокнот++)

Вы увидите что-то вроде этого:

пространство имен Eco.Mods.TechTree { // [DoNotLocalize]
с помощью системы; используя System.Collections.Generic; используя System.ComponentModel; использование Eco.Gameplay.Blocks; использование Eco.Gameplay.Components; использование Eco.Gameplay.DynamicValues; использование Eco.Gameplay.Items; использование Eco.Gameplay.Objects; с помощью Eco.Gameplay.Players; использование Eco.Gameplay.Skills; использование Eco.Gameplay.Systems; использование Eco.Gameplay.Systems.TextLinks; использование Eco.Shared.Localization; использование Eco.Shared.Serialization; используя Eco.Shared.Utils; с помощью Eco.World; использование Eco.World.Blocks; использование Eco.Gameplay.Pipes;

[Serialized]
[Minable(1), Solid,Wall]

открытый частичный класс CoalBlock: Block, IRepresentsItem { public Type RepresentedItemType { get { return typeof (CoalItem); } } }

[Serialized]
[MaxStackSize(10)]
[Weight(3000)]
[Fuel(10000)][Tag(«Fuel»)]
[ResourcePile]
[Currency]

общедоступный частичный класс CoalItem: BlockItem
{ public override LocString DisplayName { get { return Localizer.DoStr («Уголь»); } } public override LocString DisplayNamePlural { get { return Localizer.DoStr(«Coal»); } } public override LocString DisplayDescription { get { return Localizer.DoStr(«Горючий минерал, который при использовании в качестве топлива дает много энергии, но сильно загрязняет окружающую среду.»); } } public override bool CanStickToWalls { get { return false; } } закрытый статический тип[] blockTypes = новый тип[] { typeof(CoalStacked1Block), typeof(CoalStacked2Block), typeof(CoalStacked3Block), typeof(CoalStacked4Block) }; общедоступный тип переопределения[] BlockTypes { получить { return blockTypes; } } }

[Serialized, Solid] открытый класс CoalStacked1Block: PickupableBlock {}
[Serialized, Solid] открытый класс CoalStacked2Block: PickupableBlock {}
[Serialized, Solid] открытый класс CoalStacked3Block: PickupableBlock {}
[Serialized, Solid,Wall] public class CoalStacked4Block : PickupableBlock { } // Только стена, если это все 4 угля }

Что мы ищем:

[MaxStackSize(10)]
[Weight(3000)]
[Fuel(10000)][Tag(«Fuel»)]

Максимальный размер стека = Насколько ты готов позволить кому-то подержать. Скажем, мы установили значение 500. Это будет работать со всеми, просто перейдите ко всем тем, которые вы хотите отредактировать, и измените StackSize.

Игра ECO Руководство по моддингу серверов

Вес = Скажем, у нас было изменение веса стека с 500 до 300 000.

Топливо = Как говорится, вы продлите его, если хотите, и / или сделаете его меньше. Вам решать.

Как отредактировать стартовый плеер (это StartPlayer у всех)

Когда вы входите на сервер, вы начинаете с палатки. Затем вы ставите палатку и получаете (каменный топор, молоток, лопату, факел, подставку для факела и помидоры)

Чтобы изменить эту навигацию на:
ECO Server > Mods > Player > PlayerDefaults.cs

// Copyright (c) Strange Loop Games. Все права защищены. // Полную информацию о лицензии см. в файле LICENSE в корне проекта. с помощью системы; используя System.Collections.Generic; использование Eco.Gameplay.DynamicValues; использование Eco.Gameplay.Items; с помощью Eco.Gameplay.Players; используя Eco.Mods.TechTree; использование Eco.Shared.Localization; // начальные предметы/навыки игрока по умолчанию public static class PlayerDefaults { public static Dictionary GetDefaultToolbar() { вернуть новый словарь
{ }; } общедоступный статический словарь GetDefaultInventory() { вернуть новый словарь
{ { typeof (StarterCampItem), 1 }, { typeof (PropertyClaimItem), 4 }, }; } общедоступный статический словарь GetDefaultCampsiteInventory() { вернуть новый словарь
{ { typeof (PropertyClaimItem), 6 }, { typeof (PropertyToolItem), 1 }, { typeof (StoneAxeItem), 1 }, { typeof (StoneAxeItem), 1 }, { typeof (StoneHammerItem), 1 }, { typeof (StonePickaxeItem) ), 1 }, { typeof(TorchItem), 1 }, { typeof(TorchStandItem), 1 }, { typeof(TomatoItem), 10 }, }; } открытый статический IEnumerable GetDefaultSpecialties() { вернуть новый тип[]
{ typeof (навык самосовершенствования) }; } открытый статический IEnumerable GetDefaultSkills() { вернуть новый тип[]
{ typeof(CarpenterSkill), typeof(LoggingSkill), typeof(HewingSkill), typeof(MasonSkill), typeof(MiningSkill), typeof(MortaringSkill), typeof(ChefSkill), typeof(FarmerSkill), typeof(GatheringSkill), typeof(AdvancedCampfireCookingSkill) , typeof(HunterSkill), typeof(HuntingSkill), typeof(SmithSkill), typeof(EngineerSkill), typeof(SurvivalistSkill), typeof(TailorSkill) }; } статический словарь dynamicValuesDictionary = новый словарь() { { UserStatType.MaxCalories, new MultiDynamicValue(MultiDynamicOps.Sum, new MultiDynamicValue(MultiDynamicOps.Multiply, CreateSmv(0f, new BonusUnitsDecoratorStrategy(SelfImprovementSkill.AdditiveStrategy, «cal», (float val) => val/2f), typeof( SelfImprovementSkill), Localizer.DoStr(«вместимость желудка»), typeof(Misc)), new ConstantValue(0.5f)), new ConstantValue(3000)) }, { UserStatType.MaxCarryWeight, new MultiDynamicValue(MultiDynamicOps.Sum, CreateSmv(0f , new BonusUnitsDecoratorStrategy(SelfImprovementSkill.AdditiveStrategy, «kg», (float val) => val/1000f), typeof(SelfImprovementSkill), Localizer.DoStr(«переносимый вес»), typeof(Misc)), new ConstantValue(ToolbarBackpackInventory.DefaultWeightLimit )) }, { UserStatType.CalorieRate, new MultiDynamicValue(MultiDynamicOps.Sum, //CreateSmv(1f, SelfImprovementSkill.MultiplicativeStrategy, typeof(SelfImprovementSkill), Localizer.DoStr(«затраты калорий»), typeof(калории)), new ConstantValue( 1)) }, { UserStatType.DetectionRange, new MultiDynamicValue(MultiDynamicOps.Sum, CreateSmv(0f, HuntingSkill.AdditiveStrategy, typeof(HuntingSkill), Localizer.DoStr(«насколько близко можно подходить к животным»), typeof(Misc)), new ConstantValue(0)) }, { UserStatType.MovementSpeed, new MultiDynamicValue(MultiDynamicOps.Sum, new TalentModifiedValue(typeof(NatureAdventurerTalent), 0), new TalentModifiedValue(typeof(UrbanTravellerTalent), 0)) } }; private static SkillModifiedValue CreateSmv (значение с плавающей запятой, стратегия ModificationStrategy, тип skillType, LocString Преимущества Описание, тип modifierType) { SkillModifiedValue smv = новое SkillModifiedValue (начальное значение, стратегия, тип навыка, описание преимуществ, тип модификатора); SkillModifiedValueManager.AddSkillBenefit(skillType, Localizer.DoStr(«Вы»), smv); вернуть смв; } общедоступный статический словарь GetDefaultDynamicValues() { return dynamicValuesDictionary; } открытый статический IEnumerable GetDefaultBodyparts() { вернуть новый тип[]
{ typeof(RoundedFaceItem), typeof(BlinkyEyelidsItem), typeof(FitTorsoItem), typeof(HumanLimbsItem), typeof(HipHopHipsItem), }; } открытый статический IEnumerable GetDefaultClothing() { вернуть новый тип[]
{ typeof(BasicBackpackItem), typeof(TrousersItem), typeof(HenleyItem), typeof(NormalHairItem), typeof(TallBootsItem), typeof(SquareBeltItem), }; } }

Ищите: (Это предметы, с которыми вы начинаете в палатке.)

{ typeof (PropertyClaimItem), 6 }, { typeof (PropertyToolItem), 1 }, { typeof (StoneAxeItem), 1 }, { typeof (StoneShovelItem), 1 }, { typeof (StoneHammerItem), 1 }, { typeof (StonePickaxeItem) , 1 }, { typeof (TorchItem), 1 }, { typeof (TorchStandItem), 1 }, { typeof (TomatoItem), 10 },

Скажем, мы хотели повысить билеты на Претензии, обновить снаряжение и дать другую еду. Также добавление элемента, потому что есть одно пустое место.

{ (ИмяЭлемента), Сумма}

Вы можете положить туда все, что хотите, я добавил 10-й элемент. По умолчанию 9. НЕ ПРЕВЫШАЙТЕ 10!

{ typeof (PropertyClaimItem), 12 },
{ typeof (PropertyToolItem), 1 },
{ typeof(SteelAxeItem), 1 },
{ typeof(SteelShovelItem), 1 },
{ typeof(SteelHammerItem), 1 },
{ typeof(Стальная КиркаItem), 1 },
{ typeof(TorchItem), 1 },
{ typeof(TorchStandItem), 1 },
{ typeof(FriedHareHaunchesItem), 20},
{ typeof(SweetSaladItem), 20},

Редактировать StockPile (Столько, сколько вы носите, это один слот)

Навигация к:
ECO Server > Моды > Объекты > StockpileObject.cs

Откройте это, и вы увидите:

// Copyright (c) Strange Loop Games. Все права защищены. // Полную информацию о лицензии см. в файле LICENSE в корне проекта. пространство имен Eco.Mods.TechTree { использование Eco.Gameplay.Components; использование Eco.Gameplay.Objects; используя Gameplay.Components.Auth; с помощью Gameplay.Players; использование Shared.Math; использование Gameplay.Items; использование Shared.Serialization; с помощью системы; использование Eco.Shared.Localization; общедоступный частичный класс StockpileItem : WorldObjectItem
{ public override bool TryPlaceObject(игрок игрока, позиция Vector3i, вращение кватерниона) { return TryPlaceObjectOnSolidGround(игрок, позиция, вращение); } }

[Serialized]
[RequireComponent(typeof(PropertyAuthComponent))]
[RequireComponent(typeof(PublicStorageComponent))]
[RequireComponent(typeof(StockpileComponent))]
[RequireComponent(typeof(WorldStockpileComponent))]
[RequireComponent(typeof(LinkComponent))]

общедоступный частичный класс StockpileObject : WorldObject, IRepresentsItem { общедоступный статический только для чтения Vector3i DefaultDim = новый Vector3i (5, 5, 5); public override LocString DisplayName { get { return Localizer.DoStr («Stockpile»); } } общедоступный виртуальный тип RepresentedItemType { get { return typeof (StockpileItem); } } protected override void OnCreate (создатель пользователя) { base.OnCreate (создатель); StockpileComponent.ClearPlacementArea (создатель, this.Position3i, DefaultDim, this.Rotation); } защищенное переопределение void Initialize() { base.Initialize(); var storage = this.GetComponent(); storage.Initialize(DefaultDim.x * DefaultDim.z); storage.Storage.AddInvRestriction (новый StockpileStackRestriction (DefaultDim.y)); // ограничиваем размер стека высотой по оси y склада this.GetComponent().Инициализировать(7); } } }

Все, что вам нужно сделать, это удалить строку и сохранить:

storage.Storage.AddInvRestriction (новый StockpileStackRestriction (DefaultDim.y)); // ограничиваем размер стопки высотой по оси y склада

Оставьте комментарий

Гайды

Игровые новости