I managed to change the price of buildings and the number of health. But the client's UI not display correctly. How to clients notify of changes?
Code:using System.Collections.Generic; using Oxide.Core.Plugins;namespace Oxide.Plugins { [Info("Building", "*", "1.0.0")] public class Building : RustPlugin { ItemDefinition wood; ItemDefinition stones; ItemDefinition metal_fragment; [HookMethod("OnTerrainInitialized")] void EventTerrainInitialized() { Construction construction = PrefabAttribute.server.Find<Construction>(StringPool.Get("build/foundation")); List<ItemDefinition> itemList = ItemManager.GetItemDefinitions(); foreach (ItemDefinition itemDefinition in itemList) { string name = itemDefinition.shortname; if (name.Equals("metal_fragments")) { metal_fragment = itemDefinition; } else if (name.Equals("stones")) { stones = itemDefinition; } else if (name.Equals("wood")) { wood = itemDefinition; } } if (wood == null || stones == null || metal_fragment == null) { return; } for(int g = 0; g < construction.grades.Length; g++) { BuildingGrade grade = construction.grades[g].gradeBase; List<ItemAmount> baseCost = new List<ItemAmount>(); if (grade.type == BuildingGrade.Enum.Twigs) { baseCost.Add(new ItemAmount(wood, 10)); } else if (grade.type == BuildingGrade.Enum.Wood) { baseCost.Add(new ItemAmount(wood, 100)); grade.baseHealth = 200f; } else if (grade.type == BuildingGrade.Enum.Stone) { baseCost.Add(new ItemAmount(wood, 100)); baseCost.Add(new ItemAmount(stones, 150)); } else if (grade.type == BuildingGrade.Enum.Metal) { baseCost.Add(new ItemAmount(wood, 100)); baseCost.Add(new ItemAmount(stones, 150)); baseCost.Add(new ItemAmount(metal_fragment, 150)); grade.baseHealth = 700f; } else if (grade.type == BuildingGrade.Enum.TopTier) { baseCost.Add(new ItemAmount(wood, 100)); baseCost.Add(new ItemAmount(stones, 150)); baseCost.Add(new ItemAmount(metal_fragment, 300)); } if (baseCost.Count > 0) { grade.baseCost = baseCost; } } } } }
Solved Update the information in the client UI?
Discussion in 'Rust Discussion' started by Kovalev PWnz, May 25, 2015.