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

vulkantsk

Супермодератор
Команда форума
21 Июн 2017
1,149
196
www.dotabuff.com
Проект
Roshan defense
Вот например у меня есть графа у юнита "ArmorUpgrade" "1"
И есть функция , которая улучшает броню у юнита при появлении , как мне взять это параметр ???
 

ZLOY

Администратор
Команда форума
27 Июн 2016
953
182
Код:
GameRules.UnitKV = LoadKeyValues("scripts/npc/npc_units_custom.txt")
local armorUpgrade = GameRules.UnitKV[unitName].ArmorUpgrage
 

GooDDarK

Активный
27 Окт 2017
102
2
steamcommunity.com
Проект
Naruto Wars Reborn
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
 

I_GRIN_I

Друзья CG
15 Мар 2016
1,335
105
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 в кавычках, это же строка
 
20 Дек 2016
892
170
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, причем тупо перезапись по ключу-значению не подойдет, нужно проверять является ли значение таблицей и тогда для этой таблицы также вызывать рекурсивную перезапись.
 
Реклама: