Форум HeroesWorld-а - Показать сообщение отдельно - Скрипты
Тема: Скрипты
Показать сообщение отдельно
#3852
Старый 06.05.2023, 23:50
  #3852
^
Jack_of_shadows
 
Аватар для Jack_of_shadows
📖
Регистрация: 08.09.2013
Сообщения: 511
Выставка наград
Регистрация: 08.09.2013
Сообщения: 511
Выставка наград
По умолчанию
Re: Скрипты

Азгалор, ловите таблицу. Взято из моей карты Путь героя, поэтому не полностью универсально, но название и описание артефакта доступны по id с помощью функций GetArtefactName(id) / GetArtefactDesc(id). Если нужно будет, можете в карте найти файлик const.lua, там есть аналогичные таблицы и для заклинаний, существ, скиллов и прочего.

-- типы артефактов. распределял по логике, а не по слотам, в которые они ставятся
ART_TYPE_WEAPON = 1;    -- оружие
ART_TYPE_SHIELD = 2;    -- щиты
ART_TYPE_BOOTS = 3;     -- сапоги и поножи
ART_TYPE_HELMET = 4;    -- шлемы и шапки
ART_TYPE_ARMOR = 5;     -- кирасы
ART_TYPE_CLOAK = 6;     -- плащи
ART_TYPE_RING = 7;      -- кольца
ART_TYPE_NECKLACE = 8;  -- ожерелья
ART_TYPE_MISC = 9;      -- прочее

-- список артефактов
ARTEFACT_TABLE_NAME = 1;  -- файл с названием артефакта
ARTEFACT_TABLE_TYPE = 2;  -- тип артефакта
ARTEFACT_TABLE_COST = 3;  -- номинальная цена артефакта (не равна внутрегеройской)
artefact_table =
{
	[ARTIFACT_SWORD_OF_RUINS]                = {'SwordOfRuin', ART_TYPE_WEAPON, 2000}, -- Меч Мощи
	[ARTIFACT_GREAT_AXE_OF_GIANT_SLAYING]    = {'Great_Axe_of_giant_slaying', ART_TYPE_WEAPON, 8000}, -- Секира горного короля
	[ARTIFACT_WAND_OF_X]                     = {'Wand_of_x', ART_TYPE_WEAPON, 4000}, -- Палочка с заклинанием
	[ARTIFACT_UNICORN_HORN_BOW]              = {'UnicornHornBow', ART_TYPE_WEAPON, 10000}, -- Лук из рога Единорога
	[ARTIFACT_TITANS_TRIDENT]                = {'Titan`s_trident', ART_TYPE_WEAPON, 4000}, -- Трезубец Титанов
	[ARTIFACT_STAFF_OF_VEXINGS]              = {'Staff_of_vexing', ART_TYPE_WEAPON, 16000}, -- Посох Преисподней
	[ARTIFACT_SHACKLES_OF_WAR]               = {'ShacklesOfWar', ART_TYPE_MISC, 20000}, -- Кандалы неизбежности
	[ARTIFACT_FOUR_LEAF_CLOVER]              = {'Four_leaf_clover', ART_TYPE_MISC, 2000}, -- Четырехлистный клевер
	[ARTIFACT_ICEBERG_SHIELD]                = {'Iceberg_shield', ART_TYPE_SHIELD, 5000}, -- Ледяной щит
	[ARTIFACT_GOLDEN_SEXTANT]                = {'Golden_sextant', ART_TYPE_MISC, 3000}, -- Секстант морских эльфов
	[ARTIFACT_CROWN_OF_COURAGE]              = {'Crown_of_courage', ART_TYPE_HELMET, 15000}, -- Корона льва
	[ARTIFACT_CROWN_OF_MANY_EYES]            = {'Crown_of_many_eyes', ART_TYPE_HELMET, 1000}, -- Корона всевидящего
	[ARTIFACT_PLATE_MAIL_OF_STABILITY]       = {'PlateMailOfStability', ART_TYPE_ARMOR, 20000}, -- Доспехи Забытого Героя
	[ARTIFACT_BREASTPLATE_OF_PETRIFIED_WOOD] = {'Breastplate_of_petrified_wood', ART_TYPE_ARMOR, 2000}, -- Нагрудник огромной мощи
	[ARTIFACT_PEDANT_OF_MASTERY]             = {'Pedant_of_mastery', ART_TYPE_NECKLACE, 15000}, -- Кулон Мастерства
	[ARTIFACT_NECKLACE_OF_BRAVERY]           = {'Necklace_of_bravery', ART_TYPE_NECKLACE, 2000}, -- Ошейник льва
	[ARTIFACT_WEREWOLF_CLAW_NECKLACE]        = {'Werewolf_claw_necklace', ART_TYPE_NECKLACE, 6000}, -- Ожерелье Кровавого Когтя
	[ARTIFACT_EVERCOLD_ICICLE]               = {'Evercold_icicle', ART_TYPE_NECKLACE, 4000}, -- Кулон ледяных объятий
	[ARTIFACT_NECKLACE_OF_POWER]             = {'Necklace_of_power', ART_TYPE_NECKLACE, 8000}, -- Ожерелье победы
	[ARTIFACT_RING_OF_LIGHTING_PROTECTION]   = {'Ring_of_lightning_protection', ART_TYPE_RING, 3000}, -- Кольцо защиты от молний
	[ARTIFACT_RING_OF_LIFE]                  = {'RingOfLife', ART_TYPE_RING, 7000}, -- Кольцо жизненной силы
	[ARTIFACT_RING_OF_HASTE]                 = {'Ring_of_haste', ART_TYPE_RING, 18000}, -- Кольцо скорости
	[ARTIFACT_NIGHTMARISH_RING]              = {'Nightmarish_ring', ART_TYPE_RING, 7000}, -- Кольцо сломленного духа
	[ARTIFACT_BOOTS_OF_SPEED]                = {'BootsOfSpeed', ART_TYPE_BOOTS, 8000}, -- Сапоги путешественника
	[ARTIFACT_GOLDEN_HORSESHOE]              = {'Golden_horseshoe', ART_TYPE_MISC, 6000}, -- Золотая подкова
	[ARTIFACT_WAYFARER_BOOTS]                = {'Wayfarer_boots', ART_TYPE_BOOTS, 5000}, -- Сапоги открытого пути
	[ARTIFACT_BOOTS_OF_INTERFERENCE]         = {'Boots_of_interference', ART_TYPE_BOOTS, 1000}, -- Сапоги магической защиты
	[ARTIFACT_ENDLESS_SACK_OF_GOLD]          = {'EndlessSackOfGold', ART_TYPE_MISC, 40000}, -- Сума бесконечного золота
	[ARTIFACT_ENDLESS_BAG_OF_GOLD]           = {'Endless_bag_of_gold', ART_TYPE_MISC, 10000}, -- Мешочек бесконечного золота
	[ARTIFACT_ANGEL_WINGS]                   = {'Angel_wings', ART_TYPE_CLOAK, 40000}, -- Крылья ангела
	[ARTIFACT_LION_HIDE_CAPE]                = {'Lion_hide_cape', ART_TYPE_CLOAK, 6000}, -- Накидка с гривой льва
	[ARTIFACT_PHOENIX_FEATHER_CAPE]          = {'Phoenix_feather_cape', ART_TYPE_CLOAK, 4000}, -- Накидка из перьев феникса
	[ARTIFACT_CLOAK_OF_MOURNING]             = {'Cloak_of_mourning', ART_TYPE_CLOAK, 12000}, -- Плащ Смертоносной Тени
	[ARTIFACT_HELM_OF_ENLIGHTMENT]           = {'Helm_of_enlightenment', ART_TYPE_HELMET, 4000}, -- Тюрбан просвещенности
	[ARTIFACT_CHAIN_MAIL_OF_ENLIGHTMENT]     = {'Chain_mail_of_enlightenment', ART_TYPE_ARMOR, 6000}, -- Кольчуга просвещенности
	[ARTIFACT_DRAGON_SCALE_ARMOR]            = {'Dragon_scale_armor', ART_TYPE_ARMOR, 10000}, -- Доспехи из чешуи дракона
	[ARTIFACT_DRAGON_SCALE_SHIELD]           = {'DragonscaleShield', ART_TYPE_SHIELD, 10000}, -- Щит из чешуи дракона
	[ARTIFACT_DRAGON_BONE_GRAVES]            = {'Dragon_bone_greaves', ART_TYPE_BOOTS, 10000}, -- Поножи из кости дракона
	[ARTIFACT_DRAGON_WING_MANTLE]            = {'Dragon_wing_mantle', ART_TYPE_CLOAK, 10000}, -- Мантия из крыльев дракона
	[ARTIFACT_DRAGON_TEETH_NECKLACE]         = {'Dragon_teeth_necklace', ART_TYPE_NECKLACE, 10000}, -- Ожерелье из зубов дракона
	[ARTIFACT_DRAGON_TALON_CROWN]            = {'Dragon_talon_crown', ART_TYPE_HELMET, 10000}, -- Корона из когтей дракона
	[ARTIFACT_DRAGON_EYE_RING]               = {'Dragon_eye_ring', ART_TYPE_RING, 10000}, -- Кольцо Глаз дракона
	[ARTIFACT_DRAGON_FLAME_TONGUE]           = {'Dragon_flame_tongue', ART_TYPE_WEAPON, 10000}, -- Пламенный язык дракона
	[ARTIFACT_ROBE_OF_MAGI]                  = {'Robe_of_magi', ART_TYPE_ARMOR, 20000}, -- Халат Сар-Иссы
	[ARTIFACT_STAFF_OF_MAGI]                 = {'Staff_of_magi', ART_TYPE_WEAPON, 20000}, -- Посох Сар-Иссы
	[ARTIFACT_CROWN_OF_MAGI]                 = {'Crown_of_magi', ART_TYPE_HELMET, 20000}, -- Корона Сар-Иссы
	[ARTIFACT_RING_OF_MAGI]                  = {'Ring_of_magi', ART_TYPE_RING, 20000}, -- Кольцо Сар-Иссы
	[ARTIFACT_DWARVEN_MITHRAL_CUIRASS]       = {'Dwarven_mithral_cuirass', ART_TYPE_ARMOR, 15000}, -- Кираса короля гномов
	[ARTIFACT_DWARVEN_MITHRAL_GREAVES]       = {'Dwarven_mithral_greaves', ART_TYPE_BOOTS, 15000}, -- Поножи короля гномов
	[ARTIFACT_DWARVEN_MITHRAL_HELMET]        = {'Dwarven_mithral_helmet', ART_TYPE_HELMET, 15000}, -- Шлем короля гномов
	[ARTIFACT_DWARVEN_MITHRAL_SHIELD]        = {'Dwarven_mithral_shield', ART_TYPE_SHIELD, 15000}, -- Щит короля гномов
	[ARTIFACT_SCROLL_OF_SPELL_X]             = {'ScrollOfSpell', ART_TYPE_MISC, 7000}, -- Магический свиток с заклинанием
	[ARTIFACT_GRAAL]                         = {'Graal', ART_TYPE_MISC, 100000}, -- Слеза Асхи
	[ARTIFACT_BOOTS_OF_LEVITATION]           = {'Boots_of_levitation', ART_TYPE_BOOTS, 12000}, -- Сапоги левитации
	[ARTIFACT_SKULL_HELMET]                  = {'Skull_Helmet', ART_TYPE_HELMET, 2000}, -- Шлем некроманта
	[ARTIFACT_VALORIOUS_ARMOR]               = {'Valorious_Armor', ART_TYPE_ARMOR, 3000}, -- Доспехи бесстрашия
	[ARTIFACT_BOOTS_OF_SWIFTNESS]            = {'Boots_of_Swiftness', ART_TYPE_BOOTS, 5000}, -- Сапоги странника
	[ARTIFACT_MOONBLADE]                     = {'Moonblade', ART_TYPE_WEAPON, 4000}, -- Лунный клинок
	[ARTIFACT_RING_OF_CELERITY]              = {'Ring_of_Celerity', ART_TYPE_RING, 8000}, -- Кольцо стремительности
	[ARTIFACT_BAND_OF_CONJURER]              = {'Band_of_Conjurer', ART_TYPE_RING, 7000}, -- Пояс элементалей
	[ARTIFACT_EARTHSLIDERS]                  = {'Earthsliders', ART_TYPE_BOOTS, 4000}, -- Изумрудные туфли
	[ARTIFACT_RIGID_MANTLE]                  = {'Rigid_Mantle', ART_TYPE_CLOAK, 3000}, -- Плащ Силанны
	[ARTIFACT_JINXING_BAND]                  = {'Jinxing_Band', ART_TYPE_RING, 6000}, -- Проклятое кольцо
	[ARTIFACT_BONESTUDDED_LEATHER]           = {'Bonestudded_Leather', ART_TYPE_ARMOR, 3000}, -- Туника из плоти
	[ARTIFACT_WISPERING_RING]                = {'Wispering_Ring', ART_TYPE_RING, 4000}, -- Кольцо предостережения
	[ARTIFACT_HELM_OF_CHAOS]                 = {'Helm_of_Chaos', ART_TYPE_HELMET, 4000}, -- Шлем Хаоса
	[ARTIFACT_TWISTING_NEITHER]              = {'Twisting_neither', ART_TYPE_NECKLACE, 8000}, -- Кулон Поглощения
	[ARTIFACT_SANDALS_OF_THE_SAINT]          = {'Sandals_of_the_Saint', ART_TYPE_BOOTS, 12000}, -- Сандалии Святого
	[ARTIFACT_SHAWL_OF_GREAT_LICH]           = {'Shawl_of_the_great_lich', ART_TYPE_CLOAK, 14000}, -- Плащ Сандро
	[ARTIFACT_RING_OF_DEATH]                 = {'Ring_of_Death', ART_TYPE_RING, 4000}, -- Кольцо Грешников
	[ARTIFACT_NECROMANCER_PENDANT]           = {'Necromancer_Pendant', ART_TYPE_NECKLACE, 7000}, -- Амулет некроманта
	[ARTIFACT_FREIDA]                        = {'Freida', ART_TYPE_MISC, 1000}, -- Фрида (fake)
	[ARTIFACT_RING_OF_THE_SHADOWBRAND]       = {'Ring_of_the_Shadowbrand', ART_TYPE_RING, 1000}, -- Кольцо Заклейменных Тенью (fake)
	[ARTIFACT_OGRE_CLUB]                     = {'Ogre_Club', ART_TYPE_WEAPON, 15000}, -- Дубина людоеда
	[ARTIFACT_OGRE_SHIELD]                   = {'Ogre_Shield', ART_TYPE_SHIELD, 15000}, -- Щит людоеда
	[ARTIFACT_TOME_OF_DESTRUCTION]           = {'Tome_of_Destruction', ART_TYPE_MISC, 20000}, -- Том магии Хаоса
	[ARTIFACT_TOME_OF_LIGHT_MAGIC]           = {'Tome_of_Light_Magic', ART_TYPE_MISC, 20000}, -- Том магии Света
	[ARTIFACT_TOME_OF_DARK_MAGIC]            = {'Tome_of_Dark_Magic', ART_TYPE_MISC, 20000}, -- Том магии Тьмы
	[ARTIFACT_TOME_OF_SUMMONING_MAGIC]       = {'Tome_of_Summoning_Magic', ART_TYPE_MISC, 20000}, -- Том магии Призыва
	[ARTIFACT_BEGINNER_MAGIC_STICK]          = {'Beginer_Magic_Stick', ART_TYPE_WEAPON, 2000}, -- Волшебная палочка новичка
	[ARTIFACT_RUNIC_WAR_AXE]                 = {'Runic_War_Axe', ART_TYPE_WEAPON, 10000}, -- Рунный боевой топор
	[ARTIFACT_RUNIC_WAR_HARNESS]             = {'Runic_War_Harness', ART_TYPE_ARMOR, 10000}, -- Рунная боевая упряжь
	[ARTIFACT_SKULL_OF_MARKAL]               = {'Skull_of_Markal', ART_TYPE_MISC, 18000}, -- Череп Маркела
	[ARTIFACT_BEARHIDE_WRAPS]                = {'Bearhide_Wraps', ART_TYPE_CLOAK, 3000}, -- Тайные защитные покровы
	[ARTIFACT_DWARVEN_SMITHY_HUMMER]         = {'Dwarven_Smithy_Hammer', ART_TYPE_WEAPON, 5000}, -- Гномий кузнечный молот
	[ARTIFACT_RUNE_OF_FLAME]                 = {'Rune_of_Flame', ART_TYPE_MISC, 4000}, -- Руна пламени
	[ARTIFACT_TAROT_DECK]                    = {'Tarot_Deck', ART_TYPE_MISC, 3000}, -- Колода Таро
	[ARTIFACT_CROWN_OF_LEADER]               = {'Crown_Of_Leader', ART_TYPE_HELMET, 5000}, -- Корона лидерства
	[ARTIFACT_MASK_OF_DOPPELGANGER]          = {'Mask_Of_Doppelganger', ART_TYPE_HELMET, 16000}, -- Маска справедливости
	[ARTIFACT_EDGE_OF_BALANCE]               = {'Edge_Of_Balance', ART_TYPE_WEAPON, 2000}, -- На грани равновесия
	[ARTIFACT_RING_OF_MACHINE_AFFINITY]      = {'Ring_Of_Machine_Affinity', ART_TYPE_RING, 18000}, -- Кольцо родства с машинами
	[ARTIFACT_HORN_OF_PLENTY]                = {'Horn_Of_Plenty', ART_TYPE_MISC, 20000}, -- Рог изобилия
	[ARTIFACT_RING_OF_UNSUMMONING]           = {'Ring_Of_Unsummoning', ART_TYPE_RING, 3000}, -- Кольцо изгнания
	[ARTIFACT_BOOK_OF_POWER]                 = {'Book_Of_Power', ART_TYPE_MISC, 9000}, -- Том Силы
	[ARTIFACT_TREEBORN_QUIVER]               = {'Treeborn_Quiver', ART_TYPE_MISC, 10000}, -- Изумительный колчан
	[ARTIFACT_PRINCESS]                      = {'Princess_Aelina', ART_TYPE_MISC, 1000}, -- Принцесса Аэлина (fake)
};

function GetArtefactName(id)
  if(id == ARTIFACT_BEARHIDE_WRAPS) then
    return '/Text/Game/Artifacts/'..artefact_table[id][ARTEFACT_TABLE_NAME]..'/name.txt'
  else
    return '/Text/Game/Artifacts/'..artefact_table[id][ARTEFACT_TABLE_NAME]..'/Name.txt'
  end
end

function GetArtefactDesc(id)
  return '/Text/Game/Artifacts/'..artefact_table[id][ARTEFACT_TABLE_NAME]..'/Description.txt'
end

function GetArtefactType(id)
  return artefact_table[id][ARTEFACT_TABLE_TYPE]
end

function GetArtefactCost(id)
  return artefact_table[id][ARTEFACT_TABLE_COST]
end
__________________
РПГ-сценарий для HoMM5: Путь героя

ЧаВо по созданию карт для HoMM5: ЧаВо
РПГ-сценарий для HoMM5: Путь героя

ЧаВо по созданию карт для HoMM5: ЧаВо
Jack_of_shadows вне форума
Ответить с цитированием