Как из кв файла достать 2ю переменную

Danis

Продвинутый
12 Июн 2016
285
0
Проект
Custom Hero Arena
У меня есть скрипт который должен вытягивать из кв файла вторую переменную
пример
Код:
"TABLE"{"dota_ability_random1" "Dota Ability Random 1", "dota_ability_random2" "Dota Ability Random 2"}
Lua:
function CDOTA_BaseNPC:GetAbilityNameInSlot( slot )
  local hero = self
  local ability = hero:GetAbilityByIndex(slot)
  local abilityname = ""
  if not ability then 
    abilityname = "-1"
  else
    for _, name in pairs(ItemsAndAbilityLocalisation) do 
      local ab_name = ability:GetName()
      if ab_name == name then 
        abilityname = ItemsAndAbilityLocalisation[ab_name]
        break
      end
    end
  end

  if not abilityname then abilityname = string.gsub(ability:GetName(),"_"," ") end
  return abilityname
end
И мне надо чтобы оно брало если название абилки (системное) == "dota_ability_random1" то нейм = "Dota Ability Random 1".
 
Последнее редактирование модератором:

Danis

Продвинутый
12 Июн 2016
285
0
Проект
Custom Hero Arena
Лично я нихера не понял.

Приведи пример.

Допустим у меня есть абилка с названием dota_ab_1 и dota_ab_4, мы их пробиваем по таблице в кв файле
в кв файле есть следующие значения
ValueTable
{
"dota_ab_1" "DOTA ABILITY 1",
"dota_ab_4" "DOTA ABILITY 4",
}
и мне нужно чтобы в ответе функции выдавало не dota_ab_1 или dota_ab_4 а DOTA ABILITY 1 или DOTA ABILITY 4
 
Последнее редактирование модератором:

Илья

Друзья CG
25 Сен 2015
2,348
41
Так, и в чем ошибка? Вроде все верно у тебя написано, если не обращать внимание на сомнительную "-1" : ))

Лично я пользуюсь не kv, а отдельным lua файлом, в котором так же храню таблицы.
 
Последнее редактирование модератором:

Danis

Продвинутый
12 Июн 2016
285
0
Проект
Custom Hero Arena
Так, и в чем ошибка? Вроде все верно у тебя написано, если не обращать внимание на сомнительную "-1" : ))

Лично я пользуюсь не kv, а отдельным lua файлом, в котором так же храню таблицы.

Пишет оно мне что то что я использую в pairs это не таблица а "nil", и что делать хз
Пы Сы я ее обозначал в файле сеттингс ItemsAndAbilityLocalisation = LoadKeyValues("scripts/npc/KV/ItemsAndAbilityLocalisation.kv")

В прочем потом попробую через луа файл, а пока оставлю так
Код:
function CDOTA_BaseNPC:GetAbilityNameInSlot( slot )
  local hero = self
  local ability = hero:GetAbilityByIndex(slot)
  local abilityname = ""
  if not ability then 
    abilityname = "-1"
  else
    abilityname = string.gsub(ability:GetName(),"_"," ")
  end
  return abilityname
end
Это вообще все затеяно для отправки статистики на getdotastats.
 
Последнее редактирование модератором:

Илья

Друзья CG
25 Сен 2015
2,348
41
Значит неверно задаешь таблицу в кв.

Можешь запустить статистику и без этой штуки, а когда разберешься - добавить. Можешь так же и ребят спросить с dotastat, они могут помочь.

А вообще заведи просто хэш таблицу в луа и не парься. Кв не просто так используют.
 

Danis

Продвинутый
12 Июн 2016
285
0
Проект
Custom Hero Arena
Значит неверно задаешь таблицу в кв.

Можешь запустить статистику и без этой штуки, а когда разберешься - добавить. Можешь так же и ребят спросить с dotastat, они могут помочь.

А вообще заведи просто хэш таблицу в луа и не парься. Кв не просто так используют.

Статистику я уже сделал нормальную, а что за хеш табл.? а просить ребят с dotastat не получится нормально, с англ беда)
 
Последнее редактирование модератором:

CryDeS

Друзья CG
14 Июл 2015
1,210
11
В одном ошибка во втором нет. Сам пойми где она.
Код:
ValueTable
{
"dota_ab_1" "DOTA ABILITY 1",
"dota_ab_4" "DOTA ABILITY 4",
}

Код:
"ValueTable"
{
	"dota_ab_1" "DOTA ABILITY 1"
	"dota_ab_4" "DOTA ABILITY 4"
}
 
Последнее редактирование модератором:

Danis

Продвинутый
12 Июн 2016
285
0
Проект
Custom Hero Arena
[quote author=CryDeS link=topic=1320.msg8248#msg8248 date=1486969860]
В одном ошибка во втором нет. Сам пойми где она.
Код:
ValueTable
{
"dota_ab_1" "DOTA ABILITY 1",
"dota_ab_4" "DOTA ABILITY 4",
}

Код:
"ItemsAndAbilityLocalisation" 
{   

      "phantom_roulette"           "Roulette"

      "legion_guardian"           "Dragon skin"

      "tinker_rearm_cha"           "Rearm"

      "silencer_glaives_of_wisdom_datadriven"        "Glaives of Wisdom"

      "naix_feast_c"         "Feast"

  		"mana_break_datadriven"    "Manabreak"

  		"obsidian_destroyer_essence_aura_datadriven"    "Essence Aura"
		
  		"earthshaker_aftershock_datadriven"    "Aftershock"
		
  		"lina_fiery_soul_datadriven"    		"Fiery Soul"
		
  		"legion_commander_moment_of_courage_datadriven"    		"Moment of Courage"

      "elder_titan_natural_order_custom"         "Natural Order"

      "medusa_mana_shield_custom"          "Mana Shield"

		"omni_anaphema_datadriven"					"ANAPHEMA"

		"omni_holylight_datadriven"				"HOLY LIGHT"

		"omni_bless_datadriven" 				"BLESSING"

		"omni_incagi_datadriven"				"INCREASE AGILITY"

    "nevermore_necromastery_custom"            "Necromastery"

      "abyssal_underlord_atrophy_aura_custom"          "Atrophy Aura"

      "spectre_dispersion_custom"          "Dispersion"

      "storm_spirit_overload_c"         "Overload"

      "death_prophet_witchcraft_c"        "WitchCraft"

	  "alastar_punch_str"           "Strength punch"

		"alastar_punch_agi"           "Agility punch"

    "alastar_punch_int"           "Intellect punch"

		"alastar_change"             "Chameleon"

    "alastar_punch_stats"            "Perfection strike"

		"alastar_bonus_stats"            "Bonus attributes"
    
      "item_ring_of_vasilius"        "Vasilius Ring"

      "item_mana_stone"           "Magic Stone"

      "item_hyper_glove"                 "Hyper-Speed glove"

      "item_heart2"                   "Monster Heart"

      "item_ringed_glove"                  "Ringed Glove"

      "item_stone_of_decay"                 "Stone of Decay"

      "item_deso2"                      "Desolator 2"

      "item_katana"                     "Katana"

      "item_fly"                       "ButterFly"

      "item_handed_sword"                  "Two-handed Sword"

      "item_cursed_eye"                 "Cursed Eye"

      "item_cheat_test"         "Cheat Item"

      "item_katana_and_handed"                        "Katana and Two-handed Sword"

        "item_mana_heart"               "Magic Heart"

        "item_mana_heart2"               "Magic Heart 2"

        "ITEM_PURGED_HEART"        "Pure Heart"

        "item_heart_shard"         "Heart Shard"

        "item_armor_plate"         "Armor Plate"

        "item_enchanted_plate"         "Enchanted Plate"

      "item_insane_shield"        "Sturdy Armor (Insane Shield)"

        "item_vanguard_2"       "Vanguard 2"

        "item_vanguard_3"       "Vanguard 3"

        "item_sacred_shield"        "Vanguard 4 (Strong Shield)"

        "item_vanguard_c"       "Vanguard"

      "item_war_axe_piece"        "Blade piece"

      "item_war_axe_piece_dummy"        "Blade piece (Dummy)"

      "item_war_axe_dummy"        "Blade"

      "item_war_axe"                 "War Axe"

      "item_big_crit"          "Death (Big Crit)"

      "item_doebalus"          "Doebalus"

      "item_power_core"         "Power Core"

        "item_power_treads_strength_2"         "Power Treads 2 Str"

        "item_power_treads_agility_2"         "Power Treads 2 Agi"

        "item_power_treads_intellegence_2"         "Power Treads 2 Int"
        
        "item_power_treads_strength_3"         "Power Treads 3 Str"

        "item_power_treads_agility_3"         "Power Treads 3 Agi"

        "item_power_treads_intellegence_3"         "Power Treads 3 Int"

        "item_phase_boots_2"              "Phase Boots 2"

        "item_phase_boots_3"              "Phase Boots 3"

          "item_tranquil_boots_two"         "Tranquil Boots 2 (Inact)"

          "item_tranquil_boots_two_active"         "Tranquil Boots 2"

          "item_tranquil_boots_three"         "Tranquil Boots 3 (Inact)"

          "item_tranquil_boots_three_active"         "Tranquil Boots 3"

        "item_treatment_greaves"          "Treatment Greaves"

        "item_lens_c"            "Aether Lens"

        "item_aether_lens_2"            "Aether Lens 2"

        "item_lens_three"            "Aether Lens 3"

        "item_lens_foty"            "Aether Lens 4"

      "item_black_king_hood"           "Black King Hood"
    
      "item_mana_potion"               "Mana Potion"
      
      "item_heal_potion"               "Heal Potion"
      
      "item_strength_potion"             "Strength Potion"
      
      "item_agility_potion"             "Agility Potion"
      
      "item_intellegence_potion"           "Intellect Potion"
      
      "item_combined_potion"           "Combined Potion"

      "item_demonic_axe"               "Demonic Axe"

      "item_demonic_rod"         "Demonic Rod"

      "item_alebard"             "Halberd"

      "item_magic_shield"        "Magic Shield (Inact)"

      "item_magic_shield_active"       "Magic Shield"

      "item_echotic_sabre"        "Echotic Sabre"

      "item_cuirass_offering"            "Vampiric Cuirass"

      "item_venom_liquid"         "Venome Claws"

      "item_titan_bone"       "Titan Bone"

        "item_iron_branch_2"            "Iron Branch 2"

        "item_iron_branch_3"            "Iron Branch 3"

        "item_blade_guard"           "Blade Guard"

        "item_blade_mail_c"           "Blade Mail"

        "item_reflect_shield"         "Reflect Shield"

      "item_great_bracer"        "Great Bracer"

      "item_ultra_bracer"        "Ultra Bracer"

      "item_great_null_talisman"        "Great Null Talisman"

      "item_ultra_null_talisman"        "Ultra Null Talisman"

      "item_great_wraith_band"        "Great Wraith Band"

      "item_ultra_wraith_band"        "Ultra Wraith Band"

      "item_desocay"         "DesoCay"

      "item_stalker_coat"  "Ganker Coat"

      "item_spell_rune"           "Spell Rune"

      "item_lens_five"              "Aether Lens 5"

      "item_power_band"         "Power Band"


        "item_hand_of_midas_custom"          "Hand of Midas"

        "item_hand_of_midas_custom_two"          "Hand of Midas 2"

      "item_demon_lifesteal"           "Demon Lifesteal"

      "item_desolator_custom"          "Desolator"

      "item_skadi_custom"          "Eye of Skadi"

      "item_blight_stone_custom"         "Blight Stone"

      "item_lifesteal_custom"        "Morbid Mask"

      "item_dominator"          "Helm of the Dominator"

      "item_satanic_custom"           "Satanic"

      "item_mask_of_madness_custom"         "Mask of Madness"

        "item_mana_burn_1"         "Diffusal Blade"

        "item_mana_burn_2"         "Diffusal Blade"

        "item_suzzwke"         "Suzzwke"

        "item_lesser_lightning"          "Maelstrom"

        "item_greater_lightning"          "Mjollnir"

      "item_blink_dagger_two"          "Blink Dagger 2"

      "item_fireblend"          "FireBlend"

      "item_doom_upgrade_scroll"         "Magic Craft Scroll"

      "item_leaf_buckler"        "Leaf Buckler"

      "item_midas_sword"           "Midas Sword"

        "item_gauntlet_of_madness"         "Madness Bashium (Inact)"

        "item_gauntlet_of_madness_active"         "Madness Bashium"

      "item_aghanim_core"            "Aghanim's Core"

      "item_lightning_rod"          "Lightning Bar"

      "item_weapon_breaker"         "Weapon Breaker"

        "item_ring_of_asura"        "Ring of Asura"

        "item_ring_of_asura_inactive"        "Ring of Asura (Inact)"

      "item_blood_blade"         "Blood Blade"

      "item_scarlet_edge"         "Scarlet Edge"

      "item_durandal"        "Durandal"

      "item_omnipresent_eye"             "Omnipresent Eye" 

    "item_ascention_scroll"        "Ascension Scroll"

    "item_soul_shard"       "Soul Shard"

    "item_empowered_treads"        "Empowered Treads"

        "boss_ability_loh"         "Demonic Blood"

        "boss_ability_purge"          "777 (Boss Purge)"

        "boss_ability_hardcore"          "Hardcore"

        "creeps_slark_ability_shield"         "Dark Shield (Slark Boss Reflection)"

        "creeps_doom_ability_shift"        "Shift (Doom Boss Skill)"

        "creeps_doom_ability_illusioness"           "Illusioness (Doom Boss Illusions)"

        "creeps_doom_ability_mana_steal"           "Mana Steal (Doom Boss Mana Drain)"
}

Код:
function GetItemSlot(hero, slot)
  local item = hero:GetItemInSlot(slot)
  local itemName = nil

  if item then
    local i_name = item:GetName()
    for _,name in pairs(ItemsAndAbilityLocalisation) do 
      if i_name == name then
        itemName = ItemsAndAbilityLocalisation[name]
        print("123")
        break
      end
    end
  elseif not item or itemName == nil then
    itemName = "-1"
  end

  return itemName
end
 
Последнее редактирование модератором:

MahouShoujo

Продвинутый
3 Ноя 2016
251
23
Ты наркоман?

Код:
local itemName = ItemsAndAbilityLocalisation[item:GetName()]
Это всё
 
Реклама: