Перейти к содержанию

Red

Граждане
  • Постов

    52
  • Зарегистрирован

  • Посещение

Весь контент Red

  1. MGE 3.8.0 выдает необрабатываемое исключение при попытке нажать preview active chain в shader editor. Windows 7 макс. Судя по ошибке он пытается искать некий active.sav в папке C:\Program Files (x86)\Bethesda Softworks\Morrowind\Data Files\shaders\default, хотя там только названия с расширением fx. Надо было кликать по edit active. Понятно.
  2. Мощности блока питания не хватало. Поставил более мощный - заработало.
  3. При установке игра определила качество "Ультра". Зависла прямо на езде в телеге. Т.е. сначала графика была без тормозов, а затем монитор перестал обновляться и звук зациклился. NumLock срабатывал. Решилось несколькими десятками нажатиями alt+ctrl+del и сменой пользователя на самого себя. В дальнейшем это повторялось очень часто, особенно во время боев. Игровой процесс во время этих зависаний не останавливается. От качества прорисовки ничего не изменилось. Переустановка как игры, так и отдельных компонентов не помогла. Совместимость с XP SP3 не помогла. bcdedit /set {current} increaseuserva 3072 не помогло (Тем более у меня 64 бита). Периодически пропадают звуки, но остается музыка. Последнее лечится переключением вида персонажа 1/3 лицо Также один раз появилась kernal data impage error и компьютер вырубился. Один раз при выходе из игры получил R6025 pure virtual function call. Система: Проц: Intel Core i5-2500k CPU 3.30GHz ОЗУ 4 гб Windows 7 Максимальная 64 бит Чипсет: PCI-E 2.0 x16 port #2 Используется @ x16 (nVIDIA GeForce GTX 560 Ti Video Adapter, nVIDIA GF114 - High Definition Audio Controller) 2 разъема DRAM со "значением " 2гб Игра: 1.4.21.04 пиратка. RELOADED У друга идет нормально, несмотря на более слабую конфигурацию. Кто-нибудь значет, в чем дело?
  4. Понятно) Осталось понять, почему StopCombat не работает даже в таком виде:
  5. begin fm_guardscript ;Начало скрипта short doonce ; объявление переменной. при первом запуске значение равно 0 if ( doonce == 0 ) ; если скрипт запущен впервые startscript red_guardscript ; запустить основной скрипт set doonce to 1 ; отметить, что скрипт уже был запущен endif ; if ( GetTarget, player ) ; если игрок выбран NPC для атаки StopCombat; остановить бой endif ; if ( OnPCHitMe) ; Если игрок ударил NPC StopCombat; остановить бой endif ; end ; Конец скрипта Допустим, скрипт запустился 1 раз, когда стражника нет в башне. doonce стало равно 1. Т.е., если стражник будет в башне, то скрипт на обновление стрел не выполнится. Это если переменная не инициализируется заново при запуске скрипта. Если она каждый раз становится равна 0, тогда doonce не имеет смысла, т.к. при следующем запуске счетчик использования скриптов обнуляется.
  6. Там есть вызов скрипта, восполняющий им запас стрел при стрельбе с башни.
  7. UPD: Скрипт работает при нападении на другого NPC, но не на самого охранника. По совету Муна сделал: begin fm_guardscript short doonce if ( doonce == 0 ) startscript red_guardscript set doonce to 1 endif if ( GetTarget, player ) StopCombat; endif if ( OnPCHitMe) StopCombat; endif end Где red_guardscipt - начальный скрипт. Вызывает сомнения doonce. С ним начальный скрипт вызовется только 1 раз за игру?
  8. File 'Farmer Mod v4.3.esp' is not a valid TES file. Но перед этим есть еще: Где мне сложно продублировать изменения ) MEE - cейчас пробую. Стражник нападает. [buspoiler] begin fm_guardscript short state short DoOnce short wtower short intower short TowerSlot short foundtower short GuardType short GuardRan short BDay short owned short IsGuarding short Followed short GLCont short GLContID short cIsGuarding short StayOutside float GuardCounter if ( GetTarget,player ) StopCombat,player;) endif if ( DoOnce != 1 ) set StayOutside to 0 set cIsGuarding to 0 set intower to 0 set wtower to 0 set state to 0 set foundtower to 0 set IsGuarding to 0 set GuardCounter to 0 set Followed to 0 set DoOnce to 1 set GLCont to 0 set GLContID to 0 set GuardRan to Random, 100 if ( GuardRan < 25 ) set GuardType to 1 elseif ( GuardRan < 45 ) set GuardType to 2 elseif ( GuardRan < 60 ) set GuardType to 3 elseif ( GuardRan < 75 ) set GuardType to 4 elseif ( GuardRan < 85 ) set GuardType to 5 elseif ( GuardRan < 92 ) set GuardType to 6 elseif ( GuardRan < 98 ) set GuardType to 7 elseif ( GuardRan <= 100 ) set GuardType to 8 endif if ( GuardType == 1 ) SetLevel 5 AddItem, "chitin cuirass" , 1 AddItem, "chitin pauldron - left" , 1 AddItem, "chitin pauldron - right" , 1 AddItem, "chitin greaves" , 1 AddItem, "chitin boots" , 1 AddItem, "chitin guantlet - left" , 1 AddItem, "chitin guantlet - right" , 1 AddItem, "chitin spear" , 1 ; Additem, "chitin short bow", 1 ; Additem, "chitin arrow", 25 elseif ( GuardType == 2 ) SetLevel 10 AddSpell "fm_guardspell_10" AddItem, "iron_cuirass" , 1 AddItem, "iron_pauldron_left" , 1 AddItem, "iron_pauldron_right" , 1 AddItem, "iron_greaves" , 1 AddItem, "iron boots" , 1 AddItem, "iron_gauntlet_left" , 1 AddItem, "iron_gauntlet_right" , 1 AddItem, "iron spear" , 1 ; Additem, "short bow", 1 ; Additem, "iron arrow", 25 elseif ( GuardType == 3 ) SetLevel 15 AddSpell "fm_guardspell_15" AddItem, "steel_cuirass" , 1 AddItem, "steel_pauldron_left" , 1 AddItem, "steel_pauldron_right" , 1 AddItem, "steel_greaves" , 1 AddItem, "steel_boots" , 1 AddItem, "steel_gauntlet_left" , 1 AddItem, "steel_gauntlet_right" , 1 AddItem, "steel spear" , 1 ; Additem, "long bow", 1 ; Additem, "iron arrow", 25 elseif ( GuardType == 4 ) SetLevel 20 AddSpell "fm_guardspell_20" AddItem, "silver_cuirass" , 1 AddItem, "imperial left pauldron" , 1 AddItem, "imperial right pauldron" , 1 AddItem, "imperial_greaves" , 1 AddItem, "imperial boots" , 1 AddItem, "imperial left gauntlet" , 1 AddItem, "imperial right gauntlet" , 1 AddItem, "silver spear" , 1 ; Additem, "long bow", 1 ; Additem, "steel arrow", 25 elseif ( GuardType == 5 ) SetLevel 25 AddSpell "fm_guardspell_25" AddItem, "bonemold_cuirass" , 1 AddItem, "bonemold_armun-an_pauldron_l" , 1 AddItem, "bonemold_armun-an_pauldron_r" , 1 AddItem, "bonemold_greaves" , 1 AddItem, "bonemold_boots" , 1 AddItem, "bonemold_bracer_left" , 1 AddItem, "bonemold_bracer_right" , 1 AddItem, "silver spear" , 1 ; Additem, "bonemold long bow", 1 ; Additem, "silver arrow", 25 elseif ( GuardType == 6 ) SetLevel 30 AddSpell "fm_guardspell_30" AddItem, "indoril cuirass" , 1 AddItem, "indoril pauldron left" , 1 AddItem, "indoril pauldron right" , 1 AddItem, "indoril boots" , 1 AddItem, "indoril left gauntlet" , 1 AddItem, "indoril right gauntlet" , 1 AddItem, "ebony spear" , 1 ; Additem, "bonemold long bow", 1 ; Additem, "glass arrow", 25 elseif ( GuardType == 7 ) SetLevel 40 AddSpell "fm_guardspell_40" AddItem, "Helsethguard_cuirass" , 1 AddItem, "Helsethguard_pauldron_left" , 1 AddItem, "Helsethguard_pauldron_right" , 1 AddItem, "Helsethguard_greaves" , 1 AddItem, "Helsethguard_boots" , 1 AddItem, "Helsethguard_gauntlet_left" , 1 AddItem, "Helsethguard_gauntlet_right" , 1 AddItem, "ebony spear" , 1 ; Additem, "bonemold long bow", 1 ; Additem, "daedric arrow", 25 elseif ( GuardType == 8 ) SetLevel 50 AddSpell "fm_guardspell_50" AddItem, "adamantium_cuirass" , 1 AddItem, "adamantium_pauldron_left" , 1 AddItem, "adamantium_pauldron_right" , 1 AddItem, "adamantium_greaves" , 1 AddItem, "adamantium boots" , 1 AddItem, "adamantium_bracer_left" , 1 AddItem, "adamantium_bracer_right" , 1 AddItem, "daedric spear" , 1 ; Additem, "daedric long bow", 1 ; Additem, "daedric arrow", 25 endif AddSpell "fm_guardspell_base" set BDay to DaysPassed set owned to 0 endif if ( GetDisabled == 1 ) return endif if ( owned == 0 ) if ( bday < DaysPassed ) Disable endif endif if ( cIsGuarding != 0 ) set IsGuarding to 0 set cIsGuarding to 0 set GuardCounter to 0.0 if ( GetItemCount "fm_heavy" > 0 ) RemoveItem, "fm_heavy", 1 StartScript "fm_c_EquipMelee" endif return endif if ( IsGuarding == 1 ) if ( GuardCounter >= 10 ) if ( cIsGuarding != 0 ) set IsGuarding to 0 set cIsGuarding to 0 set GuardCounter to 0.0 if ( GetItemCount "fm_heavy" > 0 ) RemoveItem, "fm_heavy", 1 StartScript "fm_c_EquipMelee" endif return endif if ( GetWeaponDrawn == 0 ) AiWander, 250,0,0,0,0,0,0,0,0 endif if ( GetItemCount "fm_heavy" > 0 ) StartScript "fm_c_EquipMelee" endif while ( GetItemCount "fm_heavy" > 0 ) RemoveItem, "fm_heavy" , 1 endwhile set GuardCounter to 0.0 set Followed to 0 elseif ( GuardCounter >= 5 ) if ( Followed == 0 ) if ( cIsGuarding != 0 ) set IsGuarding to 0 set cIsGuarding to 0 set GuardCounter to 0.0 if ( GetItemCount "fm_heavy" > 0 ) RemoveItem, "fm_heavy", 1 StartScript "fm_c_EquipMelee" endif return endif set Followed to 1 if ( GetWeaponDrawn == 0 ) AiFollow, Player, 0,0,0,0 AddItem, "fm_heavy" , 1 StartScript "fm_c_EquipBow" endif else if ( cIsGuarding == 0 ) if ( GetItemCount "fm_heavy" > 0 ) StartScript "fm_c_Refill" endif else set IsGuarding to 0 set cIsGuarding to 0 set GuardCounter to 0.0 if ( GetItemCount "fm_heavy" > 0 ) RemoveItem, "fm_heavy", 1 StartScript "fm_c_EquipMelee" endif return endif set GuardCounter to ( GuardCounter + GetSecondsPassed ) endif else ; if ( cIsGuarding != 0 ) ; set IsGuarding to 0 ; set cIsGuarding to 0 ; set GuardCounter to 0.0 ; if ( GetItemCount "fm_heavy" > 0 ) ; RemoveItem, "fm_heavy", 1 ; StartScript "fm_c_EquipMelee" ; endif ; return ; endif set GuardCounter to ( GuardCounter + GetSecondsPassed ) endif endif if ( cIsGuarding == 1 ) set cIsGuarding to 0 endif if ( GLCont == 0 ) if ( GetDistance, fm_cont_arano < 2000 ) set Arano_GuardLevel to ( Arano_GuardLevel + ( GuardType ) ) set GLCont to 1 set GLContID to 1 elseif ( GetDistance, fm_cont_ieneth < 2000 ) set Ieneth_GuardLevel to ( Ieneth_GuardLevel + ( GuardType ) ) set GLCont to 1 set GLContID to 2 elseif ( GetDistance, fm_cont_drom < 2000 ) set Drom_GuardLevel to ( Drom_GuardLevel + ( GuardType ) ) set GLCont to 1 set GLContID to 3 elseif ( GetDistance, fm_cont_new < 2000 ) set New_GuardLevel to ( New_GuardLevel + ( GuardType ) ) set GLCont to 1 set GLContID to 4 endif else if ( GLContID == 1 ) if ( GetDistance, fm_cont_arano >= 2000 ) set Arano_GuardLevel to ( Arano_GuardLevel - ( GuardType ) ) set GLCont to 0 endif elseif ( GLContID == 2 ) if ( GetDistance, fm_cont_ieneth >= 2000 ) set Ieneth_GuardLevel to ( Ieneth_GuardLevel - ( GuardType ) ) set GLCont to 0 endif elseif ( GLContID == 3 ) if ( GetDistance, fm_cont_drom >= 2000 ) set Drom_GuardLevel to ( Drom_GuardLevel - ( GuardType ) ) set GLCont to 0 endif elseif ( GLContID == 4 ) if ( GetDistance, fm_cont_new>= 2000 ) set New_GuardLevel to ( New_GuardLevel - ( GuardType ) ) set GLCont to 0 endif endif endif if ( state == 1 ) if ( GetDistance, fm_cont_drom < 3000 ) if ( fm_cont_drom.tower == 1 ) if ( Drom_GTO < 2 ) if ( Drom_GSlot1 == 0 ) set TowerSlot to 0 set Drom_GSlot1 to 1 else set TowerSlot to 1 set Drom_GSlot2 to 1 endif set foundtower to 1 set wtower to 1 set Drom_GTO to ( Drom_GTO + 1 ) AiTravel 47503, -59819, 902 else set foundtower to 1 MessageBox "Ближайшая Сторожевая башня не может вместить в себя больше охранников" endif endif elseif ( GetDistance, fm_cont_ieneth < 3000 ) if ( fm_cont_ieneth.tower == 1 ) if ( Ieneth_GTO < 2 ) if ( Ieneth_GSlot1 == 0 ) set TowerSlot to 0 set Ieneth_GSlot1 to 1 else set TowerSlot to 1 set Ieneth_GSlot2 to 1 endif set foundtower to 1 set wtower to 2 set Ieneth_GTO to ( Ieneth_GTO + 1 ) AiTravel 35267, -62677, 831 else set foundtower to 1 MessageBox "Ближайшая Сторожевая башня не может вместить в себя больше охранников" endif endif elseif ( GetDistance, fm_cont_arano < 3000 ) if ( fm_cont_arano.tower == 1 ) if ( Arano_GTO < 2 ) if ( Arano_GSlot1 == 0 ) set TowerSlot to 0 set Arano_GSlot1 to 1 else set TowerSlot to 1 set Arano_GSlot2 to 1 endif set foundtower to 1 set wtower to 3 set Arano_GTO to ( Arano_GTO + 1 ) AiTravel 36141, -51108, 804 else set foundtower to 1 MessageBox "Ближайшая Сторожевая башня не может вместить в себя больше охранников" endif endif endif if ( foundtower == 0 ) MessageBox "Поблизости нет Сторожевых башен" endif set foundtower to 0 set state to 0 endif if ( wtower != 0 ) if ( intower != 1 ) if ( GetAiPackageDone == 1 ) if ( wtower == 1 ) if ( TowerSlot == 0 ) position 47187, -60049, 1682, 97 else position 47129, -59952, 1682, 349 endif elseif ( wtower == 2 ) if ( TowerSlot == 0 ) position 34988, -62475, 1615, 57 else position 34930, -62580, 1615, 189 endif elseif ( wtower == 3 ) if ( TowerSlot == 0 ) position 36344, -51083, 1463, 200 else position 36338, -50958, 1463, 333 endif endif set intower to 1 AddItem, "fm_heavy", 1 AiFollow, player, 1,1,1,1 ; Levelled Section (Merged Scripts) if ( GetLevel == 5 ) removeitem, "chitin spear",1 additem, "chitin short bow",1 additem, "chitin arrow",25 elseif ( GetLevel == 10 ) removeitem,"iron spear",1 additem, "short bow",1 additem, "iron arrow",25 elseif ( GetLevel == 15 ) removeitem,"steel spear",1 additem, "long bow",1 additem, "iron arrow",25 elseif ( GetLevel == 20 ) removeitem,"silver spear",1 additem, "long bow",1 additem, "steel arrow",25 elseif ( GetLevel == 25 ) removeitem,"silver spear",1 additem, "bonemold long bow",1 additem, "silver arrow",25 elseif ( GetLevel == 30 ) removeitem,"ebony spear",1 additem, "bonemold long bow",1 additem, "glass arrow",25 elseif ( GetLevel == 40 ) removeitem,"ebony spear",1 additem, "bonemold long bow",1 additem, "daedric arrow",25 elseif ( GetLevel == 50 ) removeitem,"daedric spear",1 additem, "daedric long bow",1 additem, "daedric arrow",25 endif endif endif endif ; Give the guard an infinite supply of arrows ; And a constantly renewing bow (so it doesn't brake) if ( intower == 1 ) ; Another Leveled Area if ( GetLevel == 5 ) if ( GetItemCount "chitin arrow" < 1 ) removeitem, "chitin short bow",1 additem, "chitin short bow",1 additem, "chitin arrow",25 endif elseif ( GetLevel == 10 ) if ( GetItemCount "iron arrow" < 1 ) removeitem, "short bow",1 additem, "short bow",1 additem, "iron arrow",25 endif elseif ( GetLevel == 15 ) if ( GetItemCount "iron arrow" < 1 ) removeitem, "long bow",1 additem, "long bow",1 additem, "iron arrow",25 endif elseif ( GetLevel == 20 ) if ( GetItemCount "steel arrow" < 1 ) removeitem, "long bow",1 additem, "long bow",1 additem, "steel arrow",25 endif elseif ( GetLevel == 25 ) if ( GetItemCount "silver arrow" < 1 ) removeitem, "bonemold long bow",1 additem, "bonemold long bow",1 additem, "silver arrow",25 endif elseif ( GetLevel == 30 ) if ( GetItemCount "glass arrow" < 1 ) removeitem, "bonemold long bow",1 additem, "bonemold long bow",1 additem, "glass arrow",25 endif elseif ( GetLevel == 40 ) if ( GetItemCount "daedric arrow" < 1 ) removeitem, "bonemold long bow",1 additem, "bonemold long bow",1 additem, "daedric arrow",25 endif elseif ( GetLevel == 50 ) if ( GetItemCount "daedric arrow" < 1 ) removeitem, "daedric long bow",1 additem, "daedric long bow",1 additem, "daedric arrow",25 endif endif endif if ( state == 2 ) set intower to 0 if ( GetLevel == 5 ) additem, "chitin spear",1 removeitem, "chitin short bow",1 while ( GetItemCount, "chitin arrow" > 0 ) removeitem, "chitin arrow",1 endwhile elseif ( GetLevel == 10 ) additem, "iron spear",1 removeitem, "short bow",1 while ( GetItemCount, "iron arrow" > 0 ) removeitem, "iron arrow",1 endwhile elseif ( GetLevel == 15 ) additem, "steel spear",1 removeitem, "long bow",1 while ( GetItemCount, "steel arrow" > 0 ) removeitem, "steel arrow",1 endwhile elseif ( GetLevel == 20 ) additem, "silver spear",1 removeitem, "long bow",1 while ( GetItemCount, "steel arrow" > 0 ) removeitem, "steel arrow",1 endwhile elseif ( GetLevel == 25 ) additem, "silver spear",1 removeitem, "bonemold long bow",1 while ( GetItemCount, "silver arrow" > 0 ) removeitem, "silver arrow",1 endwhile elseif ( GetLevel == 30 ) additem, "ebony spear",1 removeitem, "bonemold long bow",1 while ( GetItemCount, "glass arrow" > 0 ) removeitem, "glass arrow",1 endwhile elseif ( GetLevel == 40 ) additem, "ebony spear",1 removeitem, "bonemold long bow",1 while ( GetItemCount, "daedric arrow" > 0 ) removeitem, "daedric arrow",1 endwhile elseif ( GetLevel == 50 ) additem, "daedric spear",1 removeitem, "daedric long bow",1 while ( GetItemCount, "daedric arrow" > 0 ) removeitem, "daedric arrow",1 endwhile endif if ( wtower == 1 ) position 47409, -59804, 883, 46 set Drom_GTO to ( Drom_GTO - 1 ) if ( TowerSlot == 0 ) set Drom_GSlot1 to 0 else set Drom_GSlot2 to 0 endif elseif ( wtower == 2 ) position 35265, -62719, 831, 120 set Ieneth_GTO to ( Ieneth_GTO - 1 ) if ( TowerSlot == 0 ) set Ieneth_GSlot1 to 0 else set Ieneth_GSlot2 to 0 endif elseif ( wtower == 3 ) position 35977, -51160, 804, 263 set Arano_GTO to ( Arano_GTO - 1 ) if ( TowerSlot == 0 ) set Arano_GSlot1 to 0 else set Arano_GSlot2 to 0 endif endif set wtower to 0 set state to 0 RemoveItem, "fm_heavy",1 set IsGuarding to 1 endif end[/buspoiler] Скрипт вбит через MEE. if ( GetTarget,player ) StopCombat,player;) endif Может в каком-то случае не срабатывать, если находится сразу после объявления переменных?
  9. Если я изменю скрипт в блокноте, а потом вставлю в TES, надо будет сохранить скрипт. А чтобы оставить изменения в скрипте в силе, надо сохранить плагин.
  10. На стражнике уже висит то, что под катом. Проблема именно во внезапном появлении ошибок при пересохранении скрипта. Знаю. Но врядли это вызвало глюки )
  11. Скачал фермерский мод (http://fullrest.ru/files/morrowind/gameplay/farmer-mod), дающий возможность завести свою собственную ферму. К которой прилагаются стражники. Они могут защищать игрока от крейчеров и NPC, напавших первыми. Но если он напал сам - пытаются его убить. Я попытался исправить это, вставив в скрипт охранников: if ( GetTarget, player ) StopCombat; endif Но при сохранении скрипта в моем моде, использующем esm и Farmer Mod во многих скриптах последнего появляются ошибки, которых до этого не было. При сохранении/рекомпиляции его в исходном моде - тоже. Причем, вне зависимости от добавления моих строчек кода. "Syntax Error Line 341. Could not find variable or function "tower."" - В скрипте fm_guardscript (код ниже) if ( fm_cont_drom.tower == 1 ) - 341 строчка Обращение к какому-то элементу класса, насколько я понял. Как внести изменения в код, не угробив половину скриптов?
  12. http://imgur.com/f6nxU Здесь же Нирн и Мундус - разные планы.
  13. Мундус, если не ошибаюсь, план аэдра, не вернувшихся в Этериус.
  14. Лорхан уговорил даэдра и эт'ада создать Нирн или Мундус?
  15. Разобрался. Я на правую жал ). Можно. А можно и качаясь. Зы: Где продаются лошади?
  16. При нажатии кнопки ответственной за "применить заклинание"меня выкидывает в спеллбук. А далее, если я нажимаю Enter меня забрасывает в режим, где мышка не влияет на поворот лица, мана тратится, вылезает надпись "Щелкните для использования". При щелчке мышью ничего не происходит.
  17. Я про атакующие скиллы) Что делать после выбора скилла в книге заклинаний?
  18. Гильдия Магов в основном отделывается благодарностью и рейтингом. А квест на охрану пройти еще не могу. Спасибо!
  19. Там эльфийский меч лежит). Я уже давно вышел. Вопрос в том, можно ли зарабатывать деньги быстрее, чем по 200 голда с кладбища на низком уровне. В морре таким способом был Фир.
  20. Что надо делать, чтобы быстро прокачать перса для выполнения более-менее сложных заданий в Даггере? Например, в Морре можно украсть у Фира Бич Даэдра, затем вызывать дремор и убивать на оружие . Тут есть что-нибудь аналогичное? Отсутствие где-то половины подземелий при телепорте к ним фасттравелом это баг? Патч существует? Как использовать атакующие заклинания? Открываю книгу, выбираю, нажимаю Enter - вылетает надпись "щелкните для использования". При щелчке мышью ничего не происходит. Cкачано отсюда: http://xtes.ru/index...&cat=36&file=70
  21. Если можно, сделайте пустой nif. Прикрепив его к доспехам можно получить броню, сохраняющую свои св-ва, но не мешающую носить вещи, я правильно понял?
×
×
  • Создать...