Как брать параметры из npc/npc_unit_custom ?

vulkantsk

Администратор
Команда форума
21 Июн 2017
1,247
205
www.dotabuff.com
Проект
Roshan defense
Вот например у меня есть графа у юнита "ArmorUpgrade" "1"
И есть функция , которая улучшает броню у юнита при появлении , как мне взять это параметр ???
 
Код:
GameRules.UnitKV = LoadKeyValues("scripts/npc/npc_units_custom.txt")
local armorUpgrade = GameRules.UnitKV[unitName].ArmorUpgrage
 
Lua:
function GameMode:OnGameRulesStateChange(keys)
  GameRules.ItemKV = LoadKeyValues("scripts/npc/npc_items_custom.txt")
  local courierCost = GameRules.ItemKV[item_courier].ItemCost
  local courierStockMax = GameRules.ItemKV[item_courier].ItemStockMax.
 
  if GetMapName() == "MapName" then
        courierCost = 0
        courierStockMax = 4
  end
end
 
Lua:
function GameMode:OnGameRulesStateChange(keys)
  GameRules.ItemKV = LoadKeyValues("scripts/npc/npc_items_custom.txt")
  local courierCost = GameRules.ItemKV[item_courier].ItemCost
  local courierStockMax = GameRules.ItemKV[item_courier].ItemStockMax.

  if GetMapName() == "MapName" then
        courierCost = 0
        courierStockMax = 4
  end
end
item_courier в кавычках, это же строка
 
Lua:
  GameRules.ItemKV = LoadKeyValues("scripts/npc/npc_items_custom.txt")
  local courierCost = GameRules.ItemKV[item_courier].ItemCost
  local courierStockMax = GameRules.ItemKV[item_courier].ItemStockMax.
Чтобы это корректно работало, нужно чтобы предмет был полностью описан в npc_items_custom. В противном случае придется загружать "scripts/npc/npc_items.txt", а потом уже перезаписывать туда инфу из npc_items_custom, причем тупо перезапись по ключу-значению не подойдет, нужно проверять является ли значение таблицей и тогда для этой таблицы также вызывать рекурсивную перезапись.
 
Реклама: