Перейти к содержимому
Zone of Games Forum

Рекомендованные сообщения

Legend of GrimrockРусификатор (текст)

Декомпилированные LUA-скрипты для перевода:

Dreams.lua (Перевод от mad_enis)

Intro.lua (Перевод от John2s)

items.lua (Перевод от mad_enis)

skills.lua (Перевод от $u$lik)

talents.lua (Половина перевода от $u$lik)

tutorial.lua (Перевод от mad_enis)

Изменено пользователем SerGEAnt

Поделиться сообщением


Ссылка на сообщение
Доработал ещё пару файлов

 

Spoiler

Config.lua

 

Config = class()Config.FileProperties = { "resolution", "displayMode", "verticalSync", "textureResolution", "textureFilter"                        , "shadowQuality", "ssaoQuality", "muteMusic", "muteSounds", "musicVolume", "soundVolume"                        , "arrowIcons", "disableDamageTexts", "hideItemProperties", "mouseLook", "invertX", "invertY"                        , "autoSave", "cameraBobbing", "tooltipDelay", "maxFrameRate", "debugInfo", "developer"}function Config.create()  local param = { developer = true, fxaa = false, displayMode = 2, hideItemProperties = false, debugInfo = true                , audioEngine = "xaudio2", ssaoQuality = 3, shadowQuality = 3, gameVersion = "1.1.4"                , autoSave = true, cameraBobbing = true, farClip = 25, verifyObstacleBits = false                , usePVS = true, skipMenu = false, soundVolume = 0.80, verticalSync = 2, invertY = false                , verifyEntityIDs = false, useDragging = false, drawCapsules = false, autoReloadDungeon = true                , arrowIcons = false, tooltipDelay = 0, renderEngine = "d3d9", disableDamageTexts = false                , useShadowMapCache = false, textureFilter = 3, maxFrameRate = 120, invertX = false                , unlimitedSpells = false, oldSchoolMode = false, steamAppId = 207170, difficulty = "normal"                , musicVolume = 0.80, muteMusic = false, testSaveGame = false, mouseLook = true                , hardwareTest = false, muteSounds = false, dungeon = "grimrock", staticShadowDistance = 5}  param.staticShadows = platform_Win32  local Self = Config.__init(param)  Self.documentsFolder = sys.getSystemFolder("documents")  Self.configFile = Self.documentsFolder .. iff(Self.hardwareTest, "\\hwtest.cfg", "\\grimrock.cfg")  if not FileSystem.fileExists(Self.documentsFolder .. "\\Portraits") then     pcall(FileSystem.createPath, Self.documentsFolder .. "\\Portraits")  end  local table_key = {}  table_key[01] = {uiName = "Move Forward", key = 87, action = "move_forward"}  table_key[02] = {uiName = "Move Backward", key = 83, action = "move_backward"}  table_key[03] = {uiName = "Strafe Left", key = 65, action = "strafe_left"}  table_key[04] = {uiName = "Strafe Right", key = 68, action = "strafe_right"}  table_key[05] = {uiName = "Turn Left", key = 81, action = "turn_left"}  table_key[06] = {uiName = "Turn Right", key = 69, action = "turn_right"}  table_key[07] = {uiName = "Rest", key = 82, action = "rest"}  table_key[08] = {uiName = "Show Map", key = 9, action = "map"}  table_key[09] = {uiName = "Character Sheet 1", key = 49, action = "character_sheet_1"}  table_key[10] = {uiName = "Character Sheet 2", key = 50, action = "character_sheet_2"}  table_key[11] = {uiName = "Character Sheet 3", key = 51, action = "character_sheet_3"}  table_key[12] = {uiName = "Character Sheet 4", key = 52, action = "character_sheet_4"}  table_key[13] = {uiName = "Quick Save", key = 116, action = "quick_save"}  table_key[14] = {uiName = "Quick Load", key = 120, action = "quick_load"}  ---table_key[15] = {uiName = "Developer", key = 127, action = "developer"}  Self.actions = table_key  for i = 1, #Self.actions, 1 do     Self.actions[i].default = Self.actions[i].key  end  return Selfendfunction Config:load()  local chunk = loadfile(self.configFile)  if chunk == nil then     print(self.configFile)     return  end  local cfgTable = {}  setfenv(chunk, cfgTable)  chunk()  for k, v in pairs(cfgTable) do     if Config.isValidProperty(k) then       self[k] = v    end  end  for i = 1, #self.actions, 1 do     if cfgTable[self.actions[i].action] then        self.actions[i].key = cfgTable[self.actions[i].action]     end  endendfunction Config:save()  local cfgFile = io.open(self.configFile, "w")  for i = 1, #Config.FileProperties, 1 do     cfgFile.write(cfgFile, Config.FileProperties[i], " = ")     if type(config[Config.FileProperties[i]]) == "string" then        cfgFile.write(cfgFile, "\"", config[Config.FileProperties[i]], "\"")     elseif type(config[Config.FileProperties[i]]) == "number" then        cfgFile.write(cfgFile, tostring(config[Config.FileProperties[i]]))     elseif type(config[Config.FileProperties[i]]) == "boolean" then        cfgFile.write(cfgFile, iff(config[Config.FileProperties[i]], "true", "false"))     elseif type(config[Config.FileProperties[i]]) == "nil" then        cfgFile.write(cfgFile, "nil")     else       error("unknown type")     end     cfgFile.write(cfgFile, "\n")  end  for i = 1, #self.actions, 1 do     cfgFile.write(cfgFile, self.actions[i].action, " = ")     if self.actions[i].key then        cfgFile.write(cfgFile, tostring(self.actions[i].key))     else       cfgFile.write(cfgFile, "nil")     end     cfgFile.write(cfgFile, "\n")  end  cfgFile.close(cfgFile)endfunction Config:apply()  renderer.setTextureFilter(renderer, config.textureFilter - 1)  renderer.setAmbientOcclusion(renderer, 1 < config.ssaoQuality)  renderer.setSSAOQuality  (renderer, math.clamp(config.ssaoQuality   - 2, 0, 1))  renderer.setShadowQuality(renderer, math.clamp(config.shadowQuality - 2, 0, 1))  if config.shadowQuality == 1 then     self.staticShadowDistance = 0  elseif config.shadowQuality == 2 then     self.staticShadowDistance = 5  elseif config.shadowQuality == 3 then     self.staticShadowDistance = 10  else    error("invalid shadow quality settings")  end  soundSystem.setMute(soundSystem, config.muteSounds)  soundSystem.setStreamMute (soundSystem, config.muteMusic)  soundSystem.setMusicVolume(soundSystem, config.musicVolume)  soundSystem.setSoundVolume(soundSystem, config.soundVolume)  sys.setMaxFrameRate(config.maxFrameRate)endfunction Config:convertKeyToAction(param_0)  for arg_2 = 1, #self.actions, 1 do     if self.actions[arg_2].key == param_0 then        return self.actions[arg_2].action     end  endendfunction Config:autoDetectResolution()  local ren_x = sys.getSystemMetrics("screen_width")  local ren_y = sys.getSystemMetrics("screen_height")  assert( not engineSys, "engine already created")  local tmpRender = Renderer.create(config.renderEngine)  local enumResolut = tmpRender.enumerateResolutions(tmpRender)  tmpRender.dispose(tmpRender)  for i = 1, #enumResolut, 1 do     if 1024 <= (enumResolut[i].x) then        if 720 <= (enumResolut[i].y) then          if not ResolutItem then             if (math.abs(ren_x - enumResolut[i].x) + math.abs(ren_y - enumResolut[i].y)) < 1000000 then                ren_x = enumResolut[i].x                ren_y = enumResolut[i].y             end          end       end     end  end  self.resolution = Config.formatResolution(ren_x, ren_y)  print("Auto-detected resolution: ", self.resolution)endfunction Config.isValidProperty(param_0)  for i = 1, #Config.FileProperties, 1 do     if Config.FileProperties[i] == param_0 then        return true     end  end  return falseendfunction Config.formatResolution(param_0,param_1)  return string.format("%d x %d", param_0, param_1)endfunction Config.parseResolution(param_0)  local arg_1, arg_2 = string.match(param_0, "(%d+) x (%d+)")  return tonumber(arg_1), tonumber(arg_2)end

 

после запуска попробуйте нажать F11

и также теперь можно изменить каталог для "сейвов"

олег, а как вы его правите? У меня он в бинарном виде!

Поделиться сообщением


Ссылка на сообщение

Беру бинарник декомпилирую (трудоёмкий процесс)

так как не нашёл инструментария нормального то то написал свой в результате получается где то 70-80% исходного текста остальное править и проверять

там где нет процедур ток списки {"названий"} как "items.lua"..... то 99% рабочий скрипт

Поправил "items.lua" ещё раз

 

Spoiler

items.lua

--------------------- Items Table A ---------------------local function Items_Table_A()defineItem({  weight=1.2, attackSound="swipe", coolDownTime=3, uiName="Факел", attackMethod="meleeAttack", model="assets/models/items/torch.fbx", impactSound="impact_blunt", attackSwipe="vertical", torch=true, gfxIndex=130, accuracy=0, fuel=1100, name="torch", attackPower=4,  })  defineItem({  weight=1.2, attackSound="swipe", model="assets/models/items/torch.fbx", uiName="Вечногорящий факел", coolDownTime=3, impactSound="impact_blunt", attackSwipe="vertical", attackMethod="meleeAttack", torch=true, accuracy=0, gfxIndex=130, name="torch_everburning", attackPower=4,  fuel = math.huge})defineItem({  weight=2.2, attackSound="swipe", skill="swords", uiName="Мачете", coolDownTime=3.2, impactSound="impact_blade", attackSwipe="horizontal", attackMethod="meleeAttack", model="assets/models/items/machete.fbx", accuracy=0, gfxIndex=23, name="machete", attackPower=9,})defineItem({  weight=3.2, attackSound="swipe", skill="swords", uiName="Длинный меч", coolDownTime=3.2, impactSound="impact_blade", attackSwipe="horizontal", attackMethod="meleeAttack", model="assets/models/items/long_sword.fbx", accuracy=0, gfxIndex=84, name="long_sword", attackPower=14,})defineItem({  weight=3.5, attackSound="swipe", skill="swords", uiName="Сабля", coolDownTime=3.3, impactSound="impact_blade", attackSwipe="horizontal", attackMethod="meleeAttack", model="assets/models/items/cutlass.fbx", accuracy=0, gfxIndex=221, name="cutlass", attackPower=19,})defineItem({  weight=3.2, impactSound="impact_blade", attackSound="swipe", uiName="Меч Некса", model="assets/models/items/scimitar.fbx", skill="swords", attackSwipe="horizontal", requiredLevel=10, attackMethod="meleeAttack", coolDownTime=3.8, accuracy=10, gfxIndex=0, description="Жрицы Некса имеют лезвия, со странными встроенными минералами, придающими оружию несравненную точность.", name="nex_sword", attackPower=24,})defineItem({achievement="find_dismantler",   weight=4.8, impactSound="impact_blade", attackSound="swipe_special", uiName="Раскройщик", model="assets/models/items/dismantler.fbx", skill="swords", attackSwipe="horizontal", requiredLevel=15, attackMethod="meleeAttack", coolDownTime=4, accuracy=0, gfxIndex=85, description="Легендарный клеймор, выкованый глубоко в подземной печи с лавой.", name="dismantler", attackPower=27,})defineItem({  weight=3.8, attackSound="swipe", skill="maces", uiName="Палица", coolDownTime=5, impactSound="impact_blunt", attackSwipe="vertical", attackMethod="meleeAttack", model="assets/models/items/cudgel.fbx", accuracy=-5, gfxIndex=24, name="cudgel", attackPower=12,})defineItem({  weight=5, attackSound="swipe", skill="maces", uiName="Шипастая булава", coolDownTime=4.5, impactSound="impact_blunt", attackSwipe="vertical", attackMethod="meleeAttack", model="assets/models/items/morning_star.fbx", accuracy=0, gfxIndex=3, name="knoffer", attackPower=14,})defineItem({  weight=5.7, attackSound="swipe", uiName="Боевой молот", skill="maces", impactSound="impact_blunt", model="assets/models/items/warhammer.fbx", requiredLevel=3, attackSwipe="vertical", attackMethod="meleeAttack", coolDownTime=4.5, accuracy=0, gfxIndex=220, name="warhammer", attackPower=18,})defineItem({  weight=6.5, attackSound="swipe_heavy", uiName="Цеп", skill="maces", impactSound="impact_blunt", model="assets/models/items/flail.fbx", requiredLevel=6, attackSwipe="vertical", attackMethod="meleeAttack", coolDownTime=5, accuracy=-5, gfxIndex=87, name="flail", attackPower=25,})defineItem({  weight=13, attackSound="swipe_heavy", uiName="Молот огра", skill="maces", impactSound="impact_blunt", model="assets/models/items/ogre_hammer.fbx", requiredLevel=9, attackSwipe="vertical", attackMethod="meleeAttack", coolDownTime=6, accuracy=-20, gfxIndex=168, name="ogre_hammer", attackPower=36,})defineItem({damageType="cold",   weight=6.5, impactSound="impact_blunt", attackSound="swipe_heavy", uiName="Ледобойный молоток", model="assets/models/items/icefall_hammer.fbx", skill="maces", attackSwipe="vertical", requiredLevel=14, attackMethod="meleeAttack", coolDownTime=6, accuracy=-5, gfxIndex=156, description="Холодный пар поднимается от огромного, покрытого инеем молота. Влага, содержащаяся в воздухе, превращается в снег, когда этот молот проходит через него.", name="icefall_hammer", attackPower=35,})defineItem({  weight=2.4, attackSound="swipe", skill="axes", uiName="Ручной топор", coolDownTime=4.5, impactSound="impact_blade", attackSwipe="horizontal", attackMethod="meleeAttack", model="assets/models/items/hand_axe.fbx", accuracy=0, gfxIndex=25, name="hand_axe", attackPower=10,})defineItem({  weight=4, attackSound="swipe", uiName="Боевой топор", skill="axes", impactSound="impact_blade", model="assets/models/items/battle_axe.fbx", requiredLevel=5, attackSwipe="horizontal", attackMethod="meleeAttack", coolDownTime=5.2, accuracy=0, gfxIndex=86, name="battle_axe", attackPower=20,})defineItem({  weight=8, impactSound="impact_blade", attackSound="swipe_heavy", uiName="Норья", model="assets/models/items/great_axe.fbx", skill="axes", attackSwipe="horizontal", requiredLevel=10, attackMethod="meleeAttack", coolDownTime=5.6, accuracy=0, gfxIndex=11, description="Жители фьордов предпочитают орудовать тяжелыми секирами с двумя большими лезвиями, изготовленными из почерневшей стали.", name="great_axe", attackPower=24,})defineItem({  weight=7.3, impactSound="impact_blade", attackSound="swipe_heavy", uiName="Древний топор", model="assets/models/items/ancient_axe.fbx", skill="axes", attackSwipe="horizontal", requiredLevel=15, attackMethod="meleeAttack", coolDownTime=6.3, accuracy=0, gfxIndex=158, description="Топор, который, вероятно, видел больше раскроенных черепов, чем любой другой за всю историю человечества.", name="ancient_axe", attackPower=36,})defineItem({  weight=0.8, attackSound="swipe_light", skill="daggers", uiname="Нож", coolDownTime=3, impactSound="impact_blade", attackSwipe="vertical", attackMethod="meleeAttack", model="assets/models/items/knife.fbx", accuracy=0, gfxIndex=47, name="knife", attackPower=5,})defineItem({  weight=0.8, attackSound="swipe_light", skill="daggers", uiname="Кинжал", coolDownTime=2.5, impactSound="impact_blade", attackSwipe="vertical", attackMethod="meleeAttack", model="assets/models/items/dagger.fbx", accuracy=5, gfxIndex=10, name="dagger", attackPower=7,})defineItem({  weight=1.5, attackSound="swipe_light", skill="daggers", uiName="Ручной кинжал", coolDownTime=2.5, impactSound="impact_blade", attackSwipe="vertical", attackMethod="meleeAttack", model="assets/models/items/fist_dagger.fbx", accuracy=0, gfxIndex=159, name="fist_dagger", attackPower=12,})defineItem({gameEffect="Высасывание жизни: успешный удар высасывает из цели жизнь и исцеляет тебя", weight=1, impactSound="impact_blade", attackSound="swipe_light", uiName="Кинжал ассасина", model="assets/models/items/assassin_dagger.fbx", skill="daggers", attackSwipe="vertical", requiredLevel=10, attackMethod="meleeAttack", coolDownTime=2.8, accuracy=10, gfxIndex=142, description="Изогнутый холодный стройный кинжал, только самый гнусный ящер-убийца решится использовать такой.", name="assassin_dagger", attackPower=15,})defineItem({  weight=3, attackSound="swipe", model="assets/models/items/skeleton_spear.fbx", uiName="Копье легионера", attackMethod="meleeAttack", impactSound="impact_blade", reachWeapon=true, attackSwipe="thrust", coolDownTime=5, accuracy=0, gfxIndex=208, name="legionary_spear", attackPower=10,})defineItem({  weight=0.8, uiName="Ядовитое острие", impactSound="impact_blade", gfxIndex=213, description="Noxious fumes rise from the blade of this dagger.", attackSound="swipe", wandPower=25, spell="poison_bolt", attackSwipe="vertical", emptyItem="venom_edge_empty", skill="daggers", model="assets/models/items/dagger.fbx", accuracy=0, coolDownTime=5, charges=9, attackMethod="castWandSpell", name="venom_edge", attackPower=7,})defineItem({  weight=0.8, attackSound="swipe", uiName="Ядовитое острие (пустой)", model="assets/models/items/dagger.fbx", attackMethod="meleeAttack", skill="daggers", impactSound="impact_blade", attackSwipe="vertical", coolDownTime=2.5, description="Ядовитые испарения поднимаются от лезвия этого кинжала.", accuracy=0, gfxIndex=214, name="venom_edge_empty", attackPower=7,})defineItem({  weight=4, uiName="Клинок молний", impactSound="impact_blade", gfxIndex=210, description="Раскаты грома слышатся каждый раз, как лезвие этого меча рассекает воздух.", attackSound="swipe", wandPower=25, spell="lightning_bolt", attackSwipe="vertical", emptyItem="lightning_blade_empty", skill="swords", model="assets/models/items/long_sword.fbx", accuracy=0, coolDownTime=5, charges=9, attackMethod="castWandSpell", name="lightning_blade", attackPower=14,})defineItem({  weight=4, attackSound="swipe", uiName="Клинок молний (Пустой)", model="assets/models/items/long_sword.fbx", attackMethod="meleeAttack", skill="swords", impactSound="impact_blade", attackSwipe="vertical", coolDownTime=3, description="Раскаты грома слышатся каждый раз, как лезвие этого меча рассекает воздух.", accuracy=0, gfxIndex=211, name="lightning_blade_empty", attackPower=14,})defineItem({  weight=1.7, uiName="Жезл молний", impactSound="impact_blunt", gfxIndex=222, description="Раскаты грома слышатся каждый раз, как этот жезл рассекает воздух.", emptyItem="lightning_rod_empty", attackMethod="castWandSpell", attackSound="swipe", attackSwipe="vertical", wandPower=25, spell="lightning_bolt", coolDownTime=5, model="assets/models/items/lightning_rod.fbx", charges=9, accuracy=0, name="lightning_rod", attackPower=14,})defineItem({  weight=1.7, attackSound="swipe", model="assets/models/items/lightning_rod.fbx", uiName="Жезл молний (Пустой)", coolDownTime=4, impactSound="impact_blunt", attackSwipe="vertical", attackMethod="meleeAttack", description="Раскаты грома слышатся каждый раз, как этот жезл рассекает воздух.", accuracy=0, gfxIndex=223, name="lightning_rod_empty", attackPower=14,})defineItem({  weight=4, uiName="Клинок огня", impactSound="impact_blade", gfxIndex=215, description="Волшебный огонь мерцает на светящемся раскаленном стальном лезвии.", attackSound="swipe", wandPower=25, spell="fireball", attackSwipe="vertical", emptyItem="fire_blade_empty", skill="swords", model="assets/models/items/long_sword.fbx", accuracy=0, coolDownTime=5, charges=9, attackMethod="castWandSpell", name="fire_blade", attackPower=14,})defineItem({damageType="fire",   weight=4, attackSound="swipe", uiName="Клинок огня (Пустой)", model="assets/models/items/long_sword.fbx", attackMethod="meleeAttack", skill="swords", impactSound="impact_blade", attackSwipe="vertical", coolDownTime=3, accuracy=0, gfxIndex=216, description="Волшебный огонь мерцает на светящемся раскаленном стальном лезвии.", name="fire_blade_empty", attackPower=14,})defineItem({  weight=4, attackSound="swipe", wandPower=30, model="assets/models/items/power_weapon.fbx", impactSound="impact_blade", uiName="Оружие Силы", spell="powerbolt", attackMethod="castWandSpell", gfxIndex=160, coolDownTime=8, name="power_weapon", description="Давным-давно, это оружие использовали, чтобы останавливать и сажать в тюрьму кубики.",})return end--------------------- Items Table B ---------------------local function Items_Table_B()defineItem({weight=0.5, protection=2, uiName="Крестьянские штаны", gfxIndex=6, model="assets/models/items/peasant_clothes.fbx", name="peasant_breeches", slot="Legs",})defineItem({weight=0.5, protection=2, uiName="Крестьянская рубашка", gfxIndex=7, model="assets/models/items/peasant_clothes.fbx", name="peasant_tunic", slot="Torso",})defineItem({weight=0.2, protection=1, uiName="Крестьянская шапка", gfxIndex=8, model="assets/models/items/peasant_clothes_small.fbx", name="peasant_cap", slot="Head",})defineItem({weight=0.4, uiName="пояс", gameEffect="Мощность атаки +1", slot="Legs", willpower=-1, gfxIndex=32, model="assets/models/items/blue_clothes.fbx", name="loincloth", description="Только самых уверенных в себе воинов можно увидеть на поле боя, одетыми в один только пояс.",})defineItem({weight=2, protection=3, uiName="Кожаные штаны", gfxIndex=54, model="assets/models/items/leather_clothes.fbx", name="leather_pants", slot="Legs",})defineItem({weight=1, protection=2, uiName="Дублет", gfxIndex=36, model="assets/models/items/purple_clothes.fbx", name="doublet", slot="Torso",})defineItem({weight=0.2, protection=2, uiName="Шелковые рейтузы", gfxIndex=37, model="assets/models/items/blue_clothes.fbx", name="silk_hose", slot="Legs",})defineItem({weight=0.3, protection=1, uiName="Шляпа с пером", model="assets/models/items/flarefeather_cap.fbx", slot="Head", dexterity=2, gfxIndex=38, name="flarefeather_cap", description="Фетровая шапка, украшенная пером яркой птицы.",})defineItem({weight=0.5, protection=1, uiName="Шляпа фокусника", model="assets/models/items/conjurers_hat.fbx", slot="Head", willpower=2, gfxIndex=70, name="conjurers_hat", description="Эта старинная шляпа использовалась многочисленными волшебниками. В ней еще чувствуются остатки энергии и знаний ее предыдущих владельцев.",})defineItem({strength=3, weight=1.5, protection=1, uiName="Обруч войны", model="assets/models/items/circlet_war.fbx", slot="Head", gfxIndex=71, name="circlet_war", description="Сталь от оружия сдавшихся врагов переплавили и выковали корону для своего нового короля.",})defineItem({weight=0.5, protection=0, uiName="Штаны соглядатая", armorSet="lurker", model="assets/models/items/lurker_clothes.fbx", slot="Legs", evasion=5, gfxIndex=39, name="lurker_pants", description="Пара штанов, сотканных из тонких легких нитей.", })defineItem({weight=0.75, protection=0, uiName="Жилет соглядатая", armorSet="lurker", model="assets/models/items/lurker_clothes.fbx", slot="Torso", evasion=5, gfxIndex=40, name="lurker_vest", description="Жилет сделан из материала, который, кажется, сливается с окружающими тенями.",})defineItem({weight=0.25, protection=0, uiName="Капюшон соглядатая", armorSet="lurker", model="assets/models/items/lurker_clothes_small.fbx", slot="Head", evasion=5, gfxIndex=41, name="lurker_hood", description="Темный капюшон, закрывающий голову.",})defineItem({weight=0.25, protection=0, uiName="Ботинки соглядатая", armorSet="lurker", model="assets/models/items/lurker_boots.fbx", slot="Feet", evasion=5, gfxIndex=141, name="lurker_boots", description="Опытный вор может двигаться совершенно бесшумно, если носит эти ботинки.",})defineItem({weight=1, protection=1, uiName="Сандалии", gfxIndex=33, model="assets/models/items/sandals.fbx", name="sandals", slot="Feet",})defineItem({weight=1, protection=1, uiName="Остроносые Туфли", gfxIndex=166, model="assets/models/items/pointy_shoes.fbx", name="pointy_shoes", slot="Feet", dexterity=1,})defineItem({weight=3.5, protection=2, uiName="Сапоги кочевника", model="assets/models/items/nomad_boots.fbx", slot="Feet", gfxIndex=9, resistCold=5, name="nomad_boots", description="Толстые сапоги, которые могут сдержать тундровую метель.",})return end--------------------- Items Table C ---------------------local function Items_Table_C()defineItem({weight=3, protection=3, uiName="Кожаный жилет", model="assets/models/items/leather_clothes.fbx", slot="Torso", armorSkill="light_armor", gfxIndex=34, name="hide_vest", description="В периоды засухи, фермеры часто прибегают к охоте на кротов, ради их мяса и толстой шкуры.",})defineItem({weight=8, protection=4, uiName="Кожаная бригантина", armorSet="leather", model="assets/models/items/leather_brigandine.fbx", slot="Torso", armorSkill="light_armor", gfxIndex=19, name="leather_brigandine",})defineItem({weight=5, protection=4, uiName="Кожаные поножи", armorSet="leather", model="assets/models/items/leather_greaves.fbx", slot="Legs", armorSkill="light_armor", gfxIndex=20, name="leather_greaves", })defineItem({weight=0.8, protection=4, uiName="Кожаная шапка", armorSet="leather", model="assets/models/items/leather_cap.fbx", slot="Head", armorSkill="light_armor", gfxIndex=21, name="leather_cap",})defineItem({gfxIndex=35, weight=2.6, protection=4, uiName="Кожаные ботинки", armorSet="leather", model="assets/models/items/leather_boots.fbx", name="leather_boots", slot="Feet",})defineItem({weight=10, protection=6, uiName="Кольчуга", armorSet="ring", model="assets/models/items/ring_mail.fbx", slot="Torso", armorSkill="heavy_armor", gfxIndex=88, name="ring_mail",})defineItem({weight=7, protection=6, uiName="Кольчужные поножи", armorSet="ring", model="assets/models/items/ring_greaves.fbx", slot="Legs", armorSkill="heavy_armor", gfxIndex=89, name="ring_greaves",})defineItem({weight=2.5, protection=6, uiName="Кольчужные перчатки", armorSet="ring", model="assets/models/items/ring_gauntlets.fbx", slot="Gauntlets", armorSkill="heavy_armor", gfxIndex=90, name="ring_gauntlets",})defineItem({weight=3.8, protection=6, uiName="Кольчужные ботинки", armorSet="ring", model="assets/models/items/ring_boots.fbx", slot="Feet", armorSkill="heavy_armor", gfxIndex=140, name="ring_boots",})defineItem({armorSkill="heavy_armor", weight=2.4, protection=6, uiName="Шлем фаланги", gfxIndex=209, model="assets/models/items/skeleton_helmet.fbx", name="legionary_helmet", slot="Head",})    defineItem({armorSkill="heavy_armor", weight=2.1, protection=8, uiName="Стальной шлем", gfxIndex=4, model="assets/models/items/iron_basinet.fbx", name="iron_basinet", slot="Head",})defineItem({weight=7, protection=9, uiName="Хитиновая кольчуга", armorSet="chitin", model="assets/models/items/chitin_mail.fbx", slot="Torso", armorSkill="light_armor", gfxIndex=49, name="chitin_mail", description="Нагрудник, созданный из частей панциря гигантского жука.",})defineItem({weight=4, protection=9, uiName="Хитиновые поножи", armorSet="chitin", model="assets/models/items/chitin_greaves.fbx", slot="Legs", armorSkill="light_armor", gfxIndex=50, name="chitin_greaves", description="Многочисленные куски хитиновых пластин скреплены вместе в примитивной форме, но являясь при этом эффективной защитой для ног.",})defineItem({weight=3, protection=9, uiName="Хитиновые ботинки", armorSet="chitin", model="assets/models/items/chitin_boots.fbx", slot="Feet", armorSkill="light_armor", gfxIndex=73, name="chitin_boots", description="Многослойные пластины насекомых обеспечивают хорошую защиту для ног.",})defineItem({weight=2, protection=9, uiName="Хитиновая маска", armorSet="chitin", model="assets/models/items/chitin_mask.fbx", slot="Head", armorSkill="light_armor", gfxIndex=51, name="chitin_mask", description="Из кокона гигантской личинки жука вырезана примитивная маска для лица.",})defineItem({weight=16, protection=12, uiName="Пластинчатая кираса", armorSet="plate", model="assets/models/items/plate_cuirass.fbx", slot="Torso", armorSkill="heavy_armor", gfxIndex=91, name="plate_cuirass",})defineItem({weight=10, protection=12, uiName="Пластинчатые наголенники", armorSet="plate", model="assets/models/items/plate_greaves.fbx", slot="Legs", armorSkill="heavy_armor", gfxIndex=92, name="plate_greaves",})defineItem({weight=4, protection=12, uiName="Полный шлем", armorSet="plate", model="assets/models/items/full_helmet.fbx", slot="Head", armorSkill="heavy_armor", gfxIndex=93, name="full_helmet",})defineItem({weight=3, protection=12, uiName="Пластинчатые перчатки", armorSet="plate", model="assets/models/items/plate_gauntlets.fbx", slot="Gauntlets", armorSkill="heavy_armor", gfxIndex=95, name="plate_gauntlets",})defineItem({weight=5, protection=12, uiName="Пластинчатые ботинки", armorSet="plate", model="assets/models/items/plate_boots.fbx", slot="Feet", armorSkill="heavy_armor", gfxIndex=94, name="plate_boots",})defineItem({weight=12, protection=15, uiName="Кираса доблести", armorSet="valor", model="assets/models/items/cuirass_valor.fbx", slot="Torso", armorSkill="heavy_armor", gfxIndex=125, name="cuirass_valor", description="Кираса выкована из полос блестящего золотистого металла, который считался навсегда потерянным на полях сражений Малан Тэль",})defineItem({weight=8.5, protection=15, uiName="Поножи доблести", armorSet="valor", model="assets/models/items/greaves_valor.fbx", slot="Legs", armorSkill="heavy_armor", gfxIndex=126, name="greaves_valor", description="Поножи сделаны из странного металла. Блики света пляшут на его поверхности.",})defineItem({weight=3.5, protection=15, uiName="Шлем доблести", armorSet="valor", model="assets/models/items/helmet_valor.fbx", slot="Head", armorSkill="heavy_armor", gfxIndex=127, name="helmet_valor", description="Хотя этот шлем выглядит парадным, выкованный в древности - он выдержит даже самые могучие удары.",})defineItem({weight=2.5, protection=15, uiName="Перчатки доблести", armorSet="valor", model="assets/models/items/gauntlets_valor.fbx", slot="Gauntlets", armorSkill="heavy_armor", gfxIndex=129, name="gauntlets_valor", description="Эти перчатки носил сам император Малан Тэль.",})defineItem({weight=4.5, protection=15, uiName="Сапоги доблести", armorSet="valor", model="assets/models/items/boots_valor.fbx", slot="Feet", armorSkill="heavy_armor", gfxIndex=128, name="boots_valor", description="Эти сапоги из почти негнущегося металла, носить легче, чем тонкие стальные сабатоны Королевского полка.",})return end--------------------- Items Table D ---------------------local function Items_Table_D()defineItem({weight=6.5, shield=true, uiName="Щит легионера", gfxIndex=207, model="assets/models/items/skeleton_shield.fbx", name="legionary_shield", evasion=5,})defineItem({weight=3.5, shield=true, uiName="Круглый щит", gfxIndex=55, model="assets/models/items/small_shield.fbx", name="round_shield", evasion=7,})defineItem({weight=6, shield=true, uiName="Тяжелый щит", gfxIndex=15, model="assets/models/items/heavy_shield.fbx", name="heavy_shield", evasion=10,})defineItem({weight=7.5, uiName="Элементальный щит", resistShock=15, evasion=10, resistCold=15, model="assets/models/items/shield_elements.fbx", shield=true, resistPoison=15, gfxIndex=2, resistFire=15, name="shield_elements", description="Блестящий щит, с гравировкой из магических символов четырех стихий.",})defineItem({strength=2, weight=6.5, uiName="Щит доблести", armorSet="valor", model="assets/models/items/shield_valor.fbx", evasion=10, shield=true, gfxIndex=106, resistFire=20, name="shield_valor", description="Поговаривали, что даже дракон не мог причинить вреда императору Малан Тэль, пока он носил этот щит.",})return end--------------------- Items Table E ---------------------local function Items_Table_E()defineItem({weight=0.2, resistCold=50, slot="Neck", uiName="Обмороженное ожерелье", gfxIndex=26, model="assets/models/items/frostbite_necklace.fbx", name="frostbite_necklace", description="Это ожерелье, сделанное из зубов ледяной ящерицы, замораживает все к чему прикасается, но на ощупь - теплое.",})defineItem({weight=0.2, slot="Neck", uiName="Костяной амулет", gfxIndex=65, model="assets/models/items/bone_amulet.fbx", name="bone_amulet", description="Примитивный амулет сделан из костей, которые связаны бечевкой.",})defineItem({resistFire=50, weight=0.2, slot="Neck", uiName="Огненный светоч", gfxIndex=67, model="assets/models/items/fire_torc.fbx", name="fire_torc", description="Две металлические полосы, плотно обернуты вокруг шеи. От них исходит едва слышное потрескивание углей.",})defineItem({gameEffect="Владелец приобретает опыт на 25% быстрее", weight=0.2, slot="Neck", uiName="Зеркальная подвеска духа", gfxIndex=74, model="assets/models/items/spirit_mirror_pendant.fbx", name="spirit_mirror_pendant", description="Воспоминания бесчисленных, давно умерших героев, томятся в этом блестящем кулоне.",})defineItem({weight=0.4, uiName="Хомут", gfxIndex=219, model="assets/models/items/gear_necklace.fbx", name="gear_necklace", slot="Neck",})defineItem({weight=0.3, protection=1, uiName="Твердокаменный браслет", gameEffect="На 20% мощнее атака, на 20% медленнее восстановление удара", slot="Bracers", gfxIndex=27, model="assets/models/items/hardstone_bracelet.fbx", name="hardstone_bracelet", description="Браслет, который воины горных племен передают из поколения в поколение.",})defineItem({weight=0.5, protection=1, uiName="Браслет Тирина", gameEffect="На 15% меньше время восстановления для всех действий", slot="Bracers", gfxIndex=68, model="assets/models/items/bracelet_tirin.fbx", name="bracelet_tirin", description="Браслет, которым удостаивают лишь тех немногих, кто может пройти обряд посвящения в культ Тирина.",})defineItem({strength=1, weight=0.15, uiName="Скоба стойкости", gameEffect="Восстановление здоровья +20% Голод +20%", slot="Bracers", gfxIndex=75, model="assets/models/items/brace_fortitude.fbx", name="brace_fortitude", description="Этот браслет сделан из сплошного куска металла, но он исключительно легок.", })defineItem({weight=0.8, uiName="Плащ егеря", model="assets/models/items/huntsman_cloak.fbx", slot="Cloak", evasion=4, dexterity=1, gfxIndex=28, name="huntsman_cloak", vitality=1,})defineItem({weight=0.4, name="tattered_cloak", uiName="Рваный плащ", gfxIndex=66, model="assets/models/items/peasant_clothes.fbx", slot="Cloak", evasion=2,})defineItem({weight=1.5, name="scaled_cloak", uiName="Чешуйчатый плащ", gfxIndex=72, model="assets/models/items/scaled_cloak.fbx", slot="Cloak", evasion=8,})defineItem({weight=0.6, uiName="Плащ прорицательницы", gameEffect="Восстановление энергии +20% Голод -10%", slot="Cloak", evasion=5, gfxIndex=167, model="assets/models/items/diviner_clothes.fbx", name="diviner_cloak", description="Прекрасный плащ, сотканный из волокон, которые резонируют с неясной тайной энергией окружающей природы.",})defineItem({weight=0.5, protection=2, uiName="Змеиный браслет", model="assets/models/items/serpent_bracer.fbx", slot="Bracers", gfxIndex=29, resistPoison=50, name="serpent_bracer", description="Браслет создан из ядовитых тропических змей. Их зубы вонзаются в предплечье владельца.",})defineItem({strength=2, weight=0.9, protection=3, uiName="Перчатки кулачного бойца", gameEffect="Сила атаки +6, когда невооружен", slot="Gauntlets", gfxIndex=18, name="pit_gauntlets", model="assets/models/items/pit_gauntlets.fbx",})defineItem({resistCold=5, protection=1, uiName="Варежки кочевника", model="assets/models/items/nomad_clothes_small.fbx", slot="Gauntlets", gfxIndex=52, weight=0.4, name="nomad_mittens", description="Толстые рукавицы носили те, кто жил и путешествовал с рогатым скотом по далекой тундре.", })defineItem({weight=0.5, protection=2, uiName="Кожаные перчатки", gfxIndex=53, model="assets/models/items/leather_clothes_small.fbx", name="leather_gloves", slot="Gauntlets",})return end--------------------- Items Table F ---------------------local function Items_Table_F()defineItem({energy=5, weight=3.5, uiName="Жезл из белого дерева", willPower=1, model="assets/models/items/whitewood_wand.fbx", impactSound="impact_blunt", skill="spellcraft", requiredLevel=1, gfxIndex=56, attackMethod="castRuneSpell", name="whitewood_wand", description="Красивая деревянная палочка, которая может быть использована мастером для передачи энергии.",})defineItem({energy=15, weight=2, uiName="Шар сияния", model="assets/models/items/apprentice_orb.fbx", willpower=2, attackMethod="castRuneSpell", requiredLevel=5, impactSound="impact_blunt", gfxIndex=69, skill="spellcraft", name="magic_orb", description="Гладкий шар, излучающий мерцающий синий свет. Покалывание проходит через ваше тело, когда вы прикасаетесь к нему.",})defineItem({energy=20, weight=4.3, uiName="Посох шамана", model="assets/models/items/shaman_staff.fbx", attackMethod="castRuneSpell", impactSound="impact_blunt", gameEffect="Земного типа (Ядовитый болт и ядовитое облако наносят большой урон)", requiredLevel=7, willpower=2, gfxIndex=1, skill="spellcraft", name="shaman_staff", description="Рунный пульсирующий ядом зеленый камень прикреплен к кончику этого посоха. Вы ощущаете в нем великую силу.",})defineItem({energy=35, weight=2.5, uiName="Шар Жандула", model="assets/models/items/zhandul_orb.fbx", attackMethod="castRuneSpell", gameEffect="Интенсивный огонь (огненный шар и горение наносят дополнительный урон)", willpower=5, achievement="find_zhanduls_orb", requiredLevel=10, impactSound="impact_blunt", gfxIndex=157, skill="spellcraft", name="zhandul_orb", description="Легендарный, давно утерянный волшебный шар мага Жандула Сумасшедшего. Вихри огня бушуют внутри артефакта.",})return end--------------------- Items Table G ---------------------local function Items_Table_G()defineItem({attackSound="swipe", weight=1, stackable=true, uiName="Камень", projectileRotationSpeed=10, skill="throwing_weapons", model="assets/models/items/rock.fbx", projectileRotationZ=-30, impactSound="impact_blunt", attackMethod="throwAttack", coolDownTime=4, name="rock", gfxIndex=45, throwingWeapon=true, ammoType="rock", attackPower=5,})defineItem({weight=0.2, stackable=true, attackSound="swipe", impactSound="impact_blade", gfxIndex=42, throwingWeapon=true, coolDownTime=4, projectileRotationX=90, projectileRotationY=90, projectileRotationSpeed=0, uiName="Метательный нож", name="throwing_knife", skill="throwing_weapons", model="assets/models/items/throwing_knife.fbx", attackMethod="throwAttack", sharpProjectile=true, attackPower=8,})defineItem({weight=0.1, stackable=true, attackSound="swipe", impactSound="impact_blade", gfxIndex=12, throwingWeapon=true, coolDownTime=3.5, projectileRotationX=90, projectileRotationY=-90, projectileRotationSpeed=12, uiName="Сюрикен", name="shuriken", skill="throwing_weapons", model="assets/models/items/shuriken.fbx", attackMethod="throwAttack", sharpProjectile=true, attackPower=11,})defineItem({attackSound="swipe", weight=0.5, stackable=true, uiName="Метательный топорик", projectileRotationSpeed=-10, skill="throwing_weapons", coolDownTime=5.5, projectileRotationZ=90, impactSound="impact_blade", sharpProjectile=true, attackMethod="throwAttack", model="assets/models/items/throwing_axe.fbx", gfxIndex=43, throwingWeapon=true, name="throwing_axe", attackPower=15,})return end--------------------- Items Table H ---------------------local function Items_Table_H()defineItem({weight=0.8, stackable=true, attackSound="swipe", uiName="Зажигательная бомба", model="assets/models/items/fire_bomb.fbx", coolDownTime=4, projectileRotationZ=-30, impactSound="impact_blunt", projectileRotationSpeed=10, attackMethod="throwAttack", bombType="fire", gfxIndex=136, throwingWeapon=true, name="fire_bomb", bombPower=55,})defineItem({weight=0.8, stackable=true, attackSound="swipe", uiName="Электрическая бомба", model="assets/models/items/shock_bomb.fbx", coolDownTime=4, projectileRotationZ=-30, impactSound="impact_blunt", projectileRotationSpeed=10, attackMethod="throwAttack", bombType="shock", gfxIndex=139, throwingWeapon=true, name="shock_bomb", bombPower=85,})defineItem({weight=0.8, stackable=true, attackSound="swipe", uiName="Ледяная бомба", model="assets/models/items/cold_bomb.fbx", coolDownTime=4, projectileRotationZ=-30, impactSound="impact_blunt", projectileRotationSpeed=10, attackMethod="throwAttack", bombType="frost", gfxIndex=137, throwingWeapon=true, name="frost_bomb", bombPower=15,})defineItem({weight=0.8, stackable=true, attackSound="swipe", uiName="Ядовитая бомба", model="assets/models/items/poison_bomb.fbx", coolDownTime=4, projectileRotationZ=-30, impactSound="impact_blunt", projectileRotationSpeed=10, attackMethod="throwAttack", bombType="poison", gfxIndex=138, throwingWeapon=true, name="poison_bomb", bombPower=5,})return end--------------------- Items Table I ---------------------local function Items_Table_I()defineItem({weight=0.5, attackSound="swipe", skill="missile_weapons", uiName="Праща", attackMethod="rangedAttack", impactSound="impact_blunt", coolDownTime=6, ammo="rock", rangedWeapon=true, gfxIndex=44, model="assets/models/items/sling.fbx", name="sling", attackPower=5,})defineItem({weight=1, attackSound="swipe_bow", skill="missile_weapons", uiName="Короткий лук", attackMethod="rangedAttack", impactSound="impact_blunt", coolDownTime=4, ammo="arrow", rangedWeapon=true, gfxIndex=13, model="assets/models/items/short_bow.fbx", name="short_bow", attackPower=12,})defineItem({weight=1.5, attackSound="swipe_bow", skill="missile_weapons", uiName="Арбалет", attackMethod="rangedAttack", impactSound="impact_blunt", coolDownTime=5.5, ammo="quarrel", rangedWeapon=true, gfxIndex=14, model="assets/models/items/crossbow.fbx", name="crossbow", attackPower=20,})defineItem({weight=1, coolDownTime=4.5, attackSound="swipe_bow", uiName="Длинный хитророгий лук", model="assets/models/items/longbow.fbx", rangedWeapon=true, skill="missile_weapons", requiredLevel=17, impactSound="impact_blunt", ammo="arrow", attackMethod="rangedAttack", gfxIndex=165, description="Мощный лук из рогов хитророгого барана.", name="longbow", attackPower=19,})defineItem({weight=0.1, stackable=true, uiName="Простая стрела", model="assets/models/items/arrow.fbx", impactSound="impact_arrow", ammoType="arrow", sharpProjectile=true, gfxIndex=107, projectileRotationY=90, name="arrow", attackPower=1,})defineItem({weight=0.1, stackable=true, uiName="Огненная стрела", model="assets/models/items/arrow.fbx", impactSound="impact_arrow", ammoType="arrow", sharpProjectile=true, gfxIndex=108, projectileRotationY=90, name="fire_arrow", attackPower=1,})defineItem({weight=0.1, stackable=true, uiName="Ледяная стрела", model="assets/models/items/arrow.fbx", impactSound="impact_arrow", particleEffect="assets/particles/frost_arrow.psys", ammoType="arrow", sharpProjectile=true, gfxIndex=109, projectileRotationY=90, name="cold_arrow", attackPower=1,})defineItem({weight=0.1, stackable=true, uiName="Ядовитая стрела", model="assets/models/items/arrow.fbx", impactSound="impact_arrow", ammoType="arrow", sharpProjectile=true, gfxIndex=110, projectileRotationY=90, name="poison_arrow", attackPower=1,})defineItem({weight=0.1, stackable=true, uiName="Электрическая стрела", model="assets/models/items/arrow.fbx", impactSound="impact_arrow", ammoType="arrow", sharpProjectile=true, gfxIndex=111, projectileRotationY=90, name="shock_arrow", attackPower=1,})defineItem({weight=0.2, stackable=true, uiName="Арбалетный болт", model="assets/models/items/quarrel.fbx", impactSound="impact_arrow", ammoType="quarrel", sharpProjectile=true, gfxIndex=120, projectileRotationY=90, name="quarrel", attackPower=2,})defineItem({weight=0.2, stackable=true, uiName="Огненный болт", model="assets/models/items/quarrel.fbx", impactSound="impact_arrow", ammoType="quarrel", sharpProjectile=true, gfxIndex=121, projectileRotationY=90, name="fire_quarrel", attackPower=2,})defineItem({weight=0.2, stackable=true, uiName="Ледяной болт", model="assets/models/items/quarrel.fbx", impactSound="impact_arrow", ammoType="quarrel", sharpProjectile=true, gfxIndex=122, projectileRotationY=90, name="cold_quarrel", attackPower=2,})defineItem({weight=0.2, stackable=true, uiName="Ядовитый болт", model="assets/models/items/quarrel.fbx", impactSound="impact_arrow", ammoType="quarrel", sharpProjectile=true, gfxIndex=123, projectileRotationY=90, name="poison_quarrel", attackPower=2,})defineItem({weight=0.2, stackable=true, uiName="Электрический болт", model="assets/models/items/quarrel.fbx", impactSound="impact_arrow", ammoType="quarrel", sharpProjectile=true, gfxIndex=124, projectileRotationY=90, name="shock_quarrel", attackPower=2,})return end--------------------- Items Table J ---------------------local function Items_Table_J()defineItem({weight=0.2, key=true, uiName="Железный ключ", gfxIndex=22, model="assets/models/items/key_iron.fbx", name="iron_key", glitterEffect="assets/particles/glitter_silver.psys",})defineItem({weight=0.2, key=true, uiName="Медный ключ", gfxIndex=5, model="assets/models/items/key_brass.fbx", name="brass_key", glitterEffect="assets/particles/glitter_gold.psys",})defineItem({weight=0.2, key=true, uiName="Золотой ключик", gfxIndex=116, model="assets/models/items/key_gold.fbx", name="gold_key", glitterEffect="assets/particles/glitter_gold.psys",})defineItem({weight=0.2, key=true, uiName="Круглый ключ", gfxIndex=62, model="assets/models/items/key_round.fbx", name="round_key", glitterEffect="assets/particles/glitter_silver.psys",})defineItem({weight=0.2, key=true, uiName="Украшенный ключ", gfxIndex=63, model="assets/models/items/key_ornate.fbx", name="ornate_key", glitterEffect="assets/particles/glitter_gold.psys",})defineItem({weight=0.2, key=true, uiName="Механический ключ", gfxIndex=64, model="assets/models/items/key_gear.fbx", name="gear_key", glitterEffect="assets/particles/glitter_silver.psys",})defineItem({weight=0.2, key=true, uiName="Тюремный ключ", gfxIndex=115, model="assets/models/items/key_prison.fbx", name="prison_key", glitterEffect="assets/particles/glitter_silver.psys",})return end--------------------- Items Table K ---------------------local function Items_Table_K()defineItem({gameEffect="+25 очков здоровья", weight=1, tome=true, uiName="Том здоровья", gfxIndex=30, model="assets/models/items/tome.fbx", name="tome_health", description="В толстом томе тщательно описаны диета и упражнения отшельника Басабуа.",})defineItem({gameEffect="+5 очков умений", weight=1, tome=true, uiName="Книга мудрости", gfxIndex=30, model="assets/models/items/tome.fbx", name="tome_wisdom", description="Хранители затонувшей библиотеки записывали знания всех своих посетителей в эти журналы.", })defineItem({weight=1, uiName="Том огня", model="assets/models/items/tome.fbx", tome=true, requiredLevel=5, skill="spellcraft", gfxIndex=30, gameEffect="Магия огня +3, Сопротивление огню +10", name="tome_fire", description="Обложка этой книги горячая, как угли. Чантры и огненные ритуалы описаны на ее страницах.",})return end--------------------- Items Table L ---------------------local function Items_Table_L()defineItem({weight=0.3, uiName="Свиток", gfxIndex=112, model="assets/models/items/scroll.fbx", name="scroll", scroll=true,})defineItem({weight=0.1, uiName="Записка", gfxIndex=114, model="assets/models/items/note.fbx", name="note", scroll=true,})defineItem({weight=0.3, spell="light", uiName="Свиток света", gfxIndex=113, model="assets/models/items/scroll_spell.fbx", name="scroll_light", scroll=true,})defineItem({weight=0.3, spell="darkness", uiName="Свиток тьмы", gfxIndex=113, model="assets/models/items/scroll_spell.fbx", name="scroll_darkness", scroll=true,})defineItem({weight=0.3, spell="fireburst", uiName="Свиток горения", gfxIndex=113, model="assets/models/items/scroll_spell.fbx", name="scroll_fireburst", scroll=true,})defineItem({weight=0.3, spell="shock", uiName="Свиток шока", gfxIndex=113, model="assets/models/items/scroll_spell.fbx", name="scroll_shock", scroll=true,})defineItem({weight=0.3, spell="fireball", uiName="Свиток огненного шара", gfxIndex=113, model="assets/models/items/scroll_spell.fbx", name="scroll_fireball", scroll=true,})defineItem({weight=0.3, spell="frostbolt", uiName="Свиток ледяной стрелы", gfxIndex=113, model="assets/models/items/scroll_spell.fbx", name="scroll_frostbolt", scroll=true,})defineItem({weight=0.3, spell="ice_shards", uiName="Свиток осколков льда", gfxIndex=113, model="assets/models/items/scroll_spell.fbx", name="scroll_ice_shards", scroll=true,})defineItem({weight=0.3, spell="poison_bolt", uiName="Свиток ядовитой стрелы", gfxIndex=113, model="assets/models/items/scroll_spell.fbx", name="scroll_poison_bolt", scroll=true,})defineItem({weight=0.3, spell="poison_cloud", uiName="Свиток ядовитого облака", gfxIndex=113, model="assets/models/items/scroll_spell.fbx", name="scroll_poison_cloud", scroll=true,})defineItem({weight=0.3, spell="lightning_bolt", uiName="Свиток молнии", gfxIndex=113, model="assets/models/items/scroll_spell.fbx", name="scroll_lightning_bolt", scroll=true,})defineItem({weight=0.3, spell="enchant_fire_arrow", uiName="Свиток зачарования стрелы огнём", gfxIndex=113, model="assets/models/items/scroll_spell.fbx", name="scroll_enchant_fire_arrow", scroll=true,})defineItem({weight=0.3, spell="fire_shield", uiName="Свиток защиты от огня", gfxIndex=113, model="assets/models/items/scroll_spell.fbx", name="scroll_fire_shield", scroll=true,})defineItem({weight=0.3, spell="frost_shield", uiName="Свиток защиты от льда", gfxIndex=113, model="assets/models/items/scroll_spell.fbx", name="scroll_frost_shield", scroll=true,})defineItem({weight=0.3, spell="poison_shield", uiName="Свиток защиты от яда", gfxIndex=113, model="assets/models/items/scroll_spell.fbx", name="scroll_poison_shield", scroll=true, })defineItem({weight=0.3, spell="shock_shield", uiName="Свиток защиты от воздуха", gfxIndex=113, model="assets/models/items/scroll_spell.fbx", name="scroll_shock_shield", scroll=true,})defineItem({weight=0.3, spell="invisibility", uiName="Свиток невидимости", gfxIndex=113, model="assets/models/items/scroll_spell.fbx", name="scroll_invisibility", scroll=true,})return end--------------------- Items Table M ---------------------local function Items_Table_M()defineItem({weight=1, uiName="Череп", gfxIndex=31, model="assets/models/items/skull.fbx", name="skull",})defineItem({weight=0.2, uiName="Голубой самоцвет", gfxIndex=118, model="assets/models/items/blue_gem.fbx", name="blue_gem",})defineItem({weight=0.2, uiName="Зеленый самоцвет", gfxIndex=119, model="assets/models/items/green_gem.fbx", name="green_gem",})defineItem({weight=0.2, uiName="Красный самоцвет", gfxIndex=218, model="assets/models/items/red_gem.fbx", name="red_gem",})defineItem({weight=0.2, uiName="Компас", gfxIndex=161, model="assets/models/items/compass.fbx", name="compass", description="Для многих старомодных авантюристов и первопроходцев, даже острый меч не так важен, как компас.", })defineItem({weight=5, glitterEffect="assets/particles/glitter_toorum.psys", uiName="Останки Турума", gfxIndex=212, model="assets/models/items/remains_of_toorum.fbx", name="remains_of_toorum", description="Давно истлевшие останки человека. Кости имеют странную ауру.",})return end--------------------- Items Table N ---------------------local function Items_Table_N()defineItem({herb=true, weight=2.4, nutritionValue=550, consumable=true, gfxIndex=48, model="assets/models/items/snail_slice.fbx", name="snail_slice", uiName="Кусок слизня", })defineItem({herb=true, weight=1.8, nutritionValue=525, consumable=true, gfxIndex=61, model="assets/models/items/herder_cap.fbx", name="herder_cap", uiName="Шапка гриба",})defineItem({herb=true, weight=1, nutritionValue=450, consumable=true, gfxIndex=58, model="assets/models/items/pitroot_bread.fbx", name="pitroot_bread", uiName="Хлеб из пещерного корня",})defineItem({herb=true, weight=1, nutritionValue=250, consumable=true, gfxIndex=58, model="assets/models/items/pitroot_bread.fbx", name="rotten_pitroot_bread", uiName="Черствый хлеб из пещерного корня", causes = {condition="diseased", power=20, chance=50,}})defineItem({herb=true, weight=3, nutritionValue=500, consumable=true, gfxIndex=16, model="assets/models/items/rat_shank.fbx", name="rat_shank", uiName="Крысиная лапка",})defineItem({herb=true, weight=0.5, nutritionValue=300, consumable=true, gfxIndex=59, model="assets/models/items/boiled_beetle.fbx", name="boiled_beetle", uiName="Скальный жук, отварной",})defineItem({herb=true, weight=1.1, nutritionValue=400, consumable=true, gfxIndex=60, model="assets/models/items/baked_maggot.fbx", name="baked_maggot", uiName="Личинка печеная",})defineItem({herb=true, weight=2.2, nutritionValue=750, consumable=true, gfxIndex=46, model="assets/models/items/ice_lizard_steak.fbx", name="ice_lizard_steak", uiName="Стейк из ледяной ящерицы",})defineItem({herb=true, weight=1.4, nutritionValue=450, consumable=true, gfxIndex=17, model="assets/models/items/mole_jerky.fbx", name="mole_jerky", uiName="Вяленый крот",})defineItem({weight=1, consumable=true, model="assets/models/items/blueberry_pie.fbx", achievement="find_pie", herb=true, gfxIndex=217, uiName="Черничный пирог", name="blueberry_pie", nutritionValue=450,})return end--------------------- Items Table O ---------------------local function Items_Table_O()defineItem({weight=0.3, uiName="Шляпка мрачника", model="assets/models/items/grimcap.fbx", herb=true, consumable=true, gfxIndex=57, name="grim_cap", nutritionValue=300, description="Вкусный гриб, как правило, растет в сырых подземных пещерах. Легендарный Мастер-повар Нотемптонского дворца высоко ценит их, как важный ингредиент в лучших супах.", })defineItem({herb=true, weight=0.1, stackable=true, uiName="Дегтярные бусы", gfxIndex=76, model="assets/models/items/tar_bead.fbx", name="tar_bead", description="Редкое растение, которое растет в болотах и других влажных местах. Известно своими мощными целебными свойствами.",})defineItem({herb=true, weight=0.2, stackable=true, uiName="Пещерная крапива", gfxIndex=77, model="assets/models/items/cave_nettle.fbx", name="cave_nettle", description="Достаточно распространенное растение, которое произрастает в темных местах. Его используют для лечения укусов змей.",})defineItem({herb=true, weight=0.3, stackable=true, uiName="Слизистый колокольчик", gfxIndex=78, model="assets/models/items/slime_bell.fbx", name="slime_bell", description="Жемчужина в мире растений, ценится за очень твердый панцирь. Мспользуется для лечения ревматизма, судорог и проблем со спиной.",})defineItem({herb=true, weight=0.1, stackable=true, uiName="Кровянка", gfxIndex=79, model="assets/models/items/blooddrop_blossom.fbx", name="blooddrop_blossom", description="Кровянки цветут в местах, где раньше были великие сражения. Ведьмы Севера используют их в темных ритуалах.",})defineItem({herb=true, weight=0.1, stackable=true, uiName="Молочный тростник", gfxIndex=80, model="assets/models/items/milkreed.fbx", name="milkreed", description="Молочный тростник - очень нежное и редкое растение. Он используется для лечения диареи и других расстройств пищеварения.", })return end--------------------- Items Table P ---------------------local function Items_Table_P()defineItem({herb=true, uiName="Бутыль (пустая)", gfxIndex=143, model="assets/models/items/flask.fbx", name="flask", weight=0.2,})defineItem({weight=0.6, herb=true, potion=true, consumable=true, gfxIndex=144, model="assets/models/items/flask_full.fbx", name="water_flask", uiName="Бутыль для воды",})defineItem({weight=0.6, potion=true, uiName="Зелье восстановления здоровья", model="assets/models/items/flask_full.fbx", herb=true, gfxIndex=146, consumable=true, name="potion_healing", potionType="healing",})defineItem({weight=0.6, potion=true, uiName="Зелье восстановления энергии", model="assets/models/items/flask_full.fbx", herb=true, gfxIndex=145, consumable=true, name="potion_energy", potionType="energy",})defineItem({weight=0.6, herb=true, potion=true, consumable=true, gfxIndex=147, model="assets/models/items/flask_full.fbx", name="potion_poison", uiName="Яд",causes = {condition="poison", power=50, chance=100,}})defineItem({weight=0.6, potion=true, uiName="Противоядие", model="assets/models/items/flask_full.fbx", cures="poison", herb=true, gfxIndex=149, name="potion_cure_poison", consumable=true, })defineItem({weight=0.6, herb=true, potion=true, consumable=true, gfxIndex=148, model="assets/models/items/flask_full.fbx", name="potion_cure_disease", uiName="Антидот",cures = {[1]="diseased", [2]="paralyzed",}})defineItem({weight=0.6, herb=true, potion=true, consumable=true, gfxIndex=152, model="assets/models/items/flask_full.fbx", name="potion_rage", uiName="Зелья ярости",causes = {condition="rage", power=60, chance=100,}})defineItem({weight=0.6, herb=true, potion=true, consumable=true, gfxIndex=153, model="assets/models/items/flask_full.fbx", name="potion_speed", uiName="Зелье скорости",causes ={condition="haste", power=50, chance=100,}})return end--------------------- Items Table Q ---------------------local function Items_Table_Q()defineItem({capacity=6, weight=0.4, containerType="sack", uiName="Мешок", gfxIndex=82, model="assets/models/items/sack_empty.fbx", container=true, name="sack",})defineItem({capacity=10, weight=3, containerType="chest", uiName="Деревянный ящик", gfxIndex=83, model="assets/models/items/wooden_box.fbx", container=true, name="wooden_box",})defineItem({capacity=7, weight=1, containerType="mortar", uiName="Ступка и пестик", gfxIndex=117, model="assets/models/items/mortar_pestle.fbx", container=true, name="mortar",})return end--------------------- Items Table R ---------------------local function Items_Table_R()defineItem({weight=10, uiName="Руда", scrambleText="Этот минерал богат энергией.", model="assets/models/items/machine_part/machine_part_north.fbx", name="machine_part_north", gfxIndex=96,})defineItem({weight=2, uiName="Механическое лезвие", scrambleText="Отлично сработанный агрегат. Пригодится.", model="assets/models/items/machine_part/machine_part_east.fbx", name="machine_part_east", gfxIndex=97,})defineItem({weight=1, uiName="Инфьюзор", scrambleText="Набор небольших насосов и клапанов. Вроде работает.", model="assets/models/items/machine_part/machine_part_south.fbx", name="machine_part_south", gfxIndex=99,})defineItem({weight=5, uiName="Стальная шестерня", scrambleText="Небольшое устройство.", model="assets/models/items/machine_part/machine_part_west.fbx", name="machine_part_west", gfxIndex=98,})defineItem({weight=2, uiName="Металлический каркас", scrambleText="Просто старый мусор.", model="assets/models/items/machine_part/machine_part_junk1.fbx", name="machine_junk1", gfxIndex=100,})defineItem({weight=7.5, uiName="Паровой бак", scrambleText="Контейнер для агрессивных газов. Не подлежит ремонту.", model="assets/models/items/machine_part/machine_part_junk2.fbx", name="machine_junk2", gfxIndex=101,})defineItem({weight=4, uiName="Труба", scrambleText="Трубы для циркуляции опасных паров.", model="assets/models/items/machine_part/machine_part_junk3.fbx", name="machine_junk3", gfxIndex=102,})defineItem({weight=21, uiName="Большая шестерня", scrambleText="На этой шестерне слишком много зубов. Нам нужна поменьше.", model="assets/models/items/machine_part/machine_part_junk4.fbx", name="machine_junk4", gfxIndex=103,})defineItem({weight=15, uiName="Вал", scrambleText="Вал в хорошем состоянии, но у нас нет необходимости тащить его.", model="assets/models/items/machine_part/machine_part_junk5.fbx", name="machine_junk5", gfxIndex=104,})defineItem({weight=15, uiName="Форсунка", scrambleText="Форсунки используются, чтобы извергать дым и пламя. Эта вся покрыта сажей.", model="assets/models/items/machine_part/machine_part_junk6.fbx", name="machine_junk6", gfxIndex=105,})return end--------------------- Items Table S ---------------------local function Items_Table_S()defineItem({treasure=true, weight=0.3, glitterEffect="assets/particles/glitter_gold.psys", uiName="Золотая чаша", gfxIndex=200, model="assets/models/items/goblet.fbx", name="golden_chalice", description="Красиво отделанная чаша с драгоценными украшениями. Эта, должно быть, стоит целое состояние.",})defineItem({treasure=true, weight=0.3, glitterEffect="assets/particles/glitter_gold.psys", uiName="Золотой божок", gfxIndex=201, model="assets/models/items/deity_figure.fbx", name="golden_figure", description="Золотая статуя древнего забытого Божества. Надписи на ней выполнены на неизвестном языке.",})defineItem({treasure=true, weight=0.3, glitterEffect="assets/particles/glitter_gold.psys", uiName="Миниатюра Горомога", gfxIndex=202, model="assets/models/items/goromorg_miniature.fbx", name="golden_goromorg", description="Золотая миниатюра изображает пару инопланетных существ, которые живут на нижних уровнях Горы Гримрок.",})defineItem({treasure=true, weight=0.3, glitterEffect="assets/particles/glitter_gold.psys", uiName="Золотой дракон", gfxIndex=203, model="assets/models/items/dragon_figure.fbx", name="golden_dragon", description="Золотая фигурка дракона. От нее исходит тепло, может она заколдована?",})defineItem({treasure=true, weight=0.3, glitterEffect="assets/particles/glitter_gold.psys", uiName="Королевская корона", gfxIndex=204, model="assets/models/items/golden_crown.fbx", name="golden_crown", description="Золотая корона Дома Аббрарх, древних правителей, подавивших Тереонанскую империю.",})defineItem({treasure=true, weight=0.3, glitterEffect="assets/particles/glitter_gold.psys", uiName="Глобус Тетариона", gfxIndex=205, model="assets/models/items/spherical_map.fbx", name="golden_orb", description="Ни один из земель, выгравированных на шаре, не кажется знакомой. Это карта из другого мира?",})defineItem({treasure=true, weight=0.3, glitterEffect="assets/particles/glitter_gold.psys", uiName="Древний аппарат", gfxIndex=206, model="assets/models/items/ancient_apparatus.fbx", name="ancient_apparatus", description="Прекрасное механическое устройство, с неизвестными функциями. Может быть, это какой-то календарь.",})return endItems_Table_A()Items_Table_B()Items_Table_C()Items_Table_D()Items_Table_E()Items_Table_F()Items_Table_G()Items_Table_H()Items_Table_I()Items_Table_J()Items_Table_K()Items_Table_L()Items_Table_M()Items_Table_N()Items_Table_O()Items_Table_P()Items_Table_Q()Items_Table_R()Items_Table_S()

 

Поделиться сообщением


Ссылка на сообщение

Я наверное понимаю, вам интересно всё это? Только целесообразно ли?

Разработчики заявили, что в грядущем патче, скорее всего вместе с полноценным редактором компаний, они приведут игру в удобоваримый вид для локализаторов, и такой геморрой с переводом, как сейчас, будет отсутствовать в принципе. Тем более, что после выхода вышеозначенного патча, все ваши труды будут сведены на нет. Разве что только вы заморачиваетесь с декомпиляцией, чтобы просто поддерживать свой профессиональный уровень в форме? ;)

Поделиться сообщением


Ссылка на сообщение
Я наверное понимаю, вам интересно всё это? Только целесообразно ли?

Разработчики заявили, что в грядущем патче, скорее всего вместе с полноценным редактором компаний, они приведут игру в удобоваримый вид для локализаторов, и такой геморрой с переводом, как сейчас, будет отсутствовать в принципе. Тем более, что после выхода вышеозначенного патча, все ваши труды будут сведены на нет. Разве что только вы заморачиваетесь с декомпиляцией, чтобы просто поддерживать свой профессиональный уровень в форме? ;)

Я хоть и не OlegDX, но хочется ответить.

Поддерживать навыки, и получать новый опыт и знания в интересующей сфере никогда никому не мешало. То, что разработчики сделают обновление и устранят гемор - это как "бабка надвое сказала", во-первых неизвестно, когда это ждать, во-вторых, не факт что это получится сделать качественно. И в любом случае, вы неправы что его труд сойдет на нет. Ведь даже если выйдет вышеуказанное обновление - нужно будет время на обработку и тестирование перевода и не факт, что выйдет это без заморочек. Да и потом, если получится сделать нормальный перевод, зачем ждать, кому-то будет достаточно будет и этого. Быть может лучше перевода и не получится сделать.

А вообще поговорка будет очень к месту - "Лучше синица в руках, чем журавль в небе".

P.S. Извините, если что не так сказал )

Поделиться сообщением


Ссылка на сообщение

Патч реально может не выйти, мало ли что наобещали) я как бы раньше тоже ждал, но уже прошло слишком много времени, его все нет и нет, поэтому лучше как-бы сделать такой)

Поделиться сообщением


Ссылка на сообщение
P.S. Извините, если что не так сказал )

Всё верно вы написали. я это и имел ввиду в своём сообщении. То, что патч будет = 1000%. Почему так долго? Потому что, как написали разработчики на оффоруме, они поехали в отпуск после того, как отлично поработали и их произведение искусства продалась ОЧЕНЬ хорошо. Поэтому вам не следует волноваться, патч будет. :drinks:

Поделиться сообщением


Ссылка на сообщение

ааа, отдыхать и обмывать удачный проект поехали

Поделиться сообщением


Ссылка на сообщение

Я программист по сути и в игры играюсь по разному

Если есть возможность посмотреть внутренний структуру или то как реализована задумка то почему бы и нет

И к тому же написан так просто что грех не поковыряться.

По ходу последние файлы которые я обработал были направлены на ту часть которая скрыта в обычном режиме "Console, MapEditor" для режима "developer"

теперь можно посмотреть где лежат предметы и .......... или поправить карту или увеличить скорость и тд.

Поделиться сообщением


Ссылка на сообщение
Spoiler

CharClass.lua

CharClass = class()function CharClass.create(param_0)  local param = {exp = 0, nextLevel = 1000, level = 1}  param.name = param_0  local self = CharClass.__init(param)  self.nextLevel = self.expForLevel(self, self.level + 1)  if param_0 == "Fighter" then     self.description = "Бойцы являются мастерами рукопашного боя, и они прошли подготовку по использованию различных видов оружия и брони."     --self.description = "Fighters are the masters of close combat and they are trained to use a wide variety of weapons and armor."     self.health = 60     self.energy = 50     self.skills = {"athletics", "armors", "axes", "maces", "swords", "unarmed_combat"}  elseif param_0 == "Rogue" then     self.description = "Жулики скрытые воины, которые могут бороться с оружием дальнего боя или подкрадываться сзади врагов смертельная атака удар в спину"     --self.description = "Rogues are stealthy warriors who can fight with ranged weapons or sneak behind enemies for a deadly backstab attack."     self.health = 45     self.energy = 50     self.skills = {"assassination", "daggers", "dodge", "missile_weapons", "throwing_weapons", "unarmed_combat"}  elseif param_0 == "Mage" then     self.description = "Маги используют заколдованный шесты и шары, чтобы командовать большими мистическими силами, которые могут быть использованы для нанесения вреда или для защиты."     --self.description = "Mages use their enchanted staves and orbs to command great mystical powers that can be used to cause harm or to protect."     self.health = 35     self.energy = 50     self.skills = {"air_magic", "earth_magic", "fire_magic", "ice_magic", "spellcraft", "staves"}  elseif param_0 == "Ranger" then     self.description = ""     self.health = 55     self.energy = 50     self.skills = {"armors", "axes", "swords", "earth_magic", "fire_magic", "spellcraft"}  else     error("unknown class")  end  return selfendfunction CharClass:getName()  return self.nameendfunction CharClass:gainExp(newExp)  self.exp = self.exp + newExpendfunction CharClass:levelGained()  return self.nextLevel <= self.expendfunction CharClass:levelUp()  self.level     = self.level + 1  self.nextLevel = self.expForLevel(self, self.level + 1)endfunction CharClass:expForLevel(param_0)  local n = 0  for i = 2, param_0, 1 do     n = n + math.floor(850 * math.pow(1, i - 2))  end  return nendfunction CharClass:drawToolTip(...)  return ToolTip.drawClass(self,...)endfunction CharClass:loadState(state)  self.level     = state.readValue(state)  self.exp       = state.readValue(state)  self.nextLevel = state.readValue(state)endfunction CharClass:saveState(state)  state.writeValue(state, self.level)  state.writeValue(state, self.exp)  state.writeValue(state, self.nextLevel)end

 

Изменено пользователем OlegDX

Поделиться сообщением


Ссылка на сообщение

Здраствуйте. После установки русификатора, пропала возможность одевать вещи на персонажей, подскажите можно ли это как нибуть исправить?

Поделиться сообщением


Ссылка на сообщение

смотри тут

//forum.zoneofgames.ru/index.php?...st&p=374719

или поменяй все символы [»] и [«] на ["] в файле "items.lua"

как пример slot=«Legs» на slot="Legs"

Изменено пользователем OlegDX

Поделиться сообщением


Ссылка на сообщение

День добрый, поделитесь "items.lua" пофиксеным, если не сложно, или подскажите луа редактор под win64

Поделиться сообщением


Ссылка на сообщение

Пацаны, а чё по переводу записок и свитков будет работа идти, или так и будете всякую мелочевку переводить? и кстати не знаю у кого как, но Dreams.lua чёт походу глючит!

Изменено пользователем Курд

Поделиться сообщением


Ссылка на сообщение

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

  • Похожие публикации

    • Автор: DInvin
      https://store.steampowered.com/app/1924430/Cookie_Cutter/
      Может кто диплом перевести на выходе?
    • Автор: Zoiberg1984
       

      Платформы: PC
      Разработчик: Jutsu Games
      Издатель: Games Operators
      Дата выхода: 11.04.2024


Zone of Games © 2003–2024 | Реклама на сайте.

×