И снова здравствуйте! Нужна помощь, уже второй день ломаю голову, что делаю не так. В общем, Квест с названием 1HelpHimQuest , к квесту подключаю скрипт типа "Quest":
scn 1HelpHimQuestSCRIPT
short FindNoteCount (объявляю переменную)
Иду в топики, в поле результирующих скриптов пишу
set 1HelpHimQuest.FindNoteCount to 1
И компилятор ругается, дескать "Unknown variable 1HelpHimQuest.FindNoteCount" При этом в поле Condition конструктор прекрасно видит эту переменную в этом скрипте. Что я делаю не так????
[quote=YikxX;1335905]Mad_Doc, а квест 1HelpHimQuest привязан к топику, в котором пытаетесь set 1HelpHimQuest.FindNoteCount to 1 ?[/quote]
Я правильно понимаю, топик внутри вкладки квест? https://b.radikal.ru/b31/2006/45/7bd776cc2ca2.png ПС: как нормально скриншот вставить? вставить?
Добавлено (01 Июня 2020, 13:54) --------------------------------------------- Самое что интересное, залез в другой квест, там в скрипте прописал свою переменную, обращение сделал из этого квеста и все прекрасно заработало. Но это костыльное решение мне совсем не нравится.
Скриншот нормально никак, у вас прав недостаточно.
Добавлено (01 Июня 2020, 14:32) --------------------------------------------- Mad_Doc, короче, вычислил причину. 1HelpHimQuest - так нельзя квест называть. А вот с HelpHimQuest01 - отлично работает и компилируется.
Все люди - курьеры. Просто некоторые не понимают, какие сообщения они несут...
[quote=YikxX;1335909]короче, вычислил причину. 1HelpHimQuest - так нельзя квест называть. А вот с HelpHimQuest01 - отлично работает и компилируется.[/quote] Действительно. Переназвал квест и все заработало. Вероятно, нельзя начинать название квеста с цифры. Спасибо за помощь
Категорически не рекомендуется начинать с цифры любые названия или переменные. Некоторые вещи (не все) просто не будут работать. Об этом уже писали не раз и не два.
====================== Мод "Нью-Йорк" на русском: https://modgames.net/load/fallout3/addon/new-york-bolshoe-yabloko/34-1-0-1294 Мод "Нью-Йорк" на английском: https://modgames.net/load/fallout3/kvesty/the-big-apple/23-1-0-19771
Изменение репутации для пользователя divine2991
divine2991Offline
Сообщение №2317
написано: 5 июня 2020, 08:41
| Отредактировано: divine2991 - 5 июня 2020, 11:20
Здравствуйте, помогите пожалуйста, столкнулся с проблемой которую не могу решить. Сделал мульти меню в станке (Workbench) и возникла проблема на второй странице. При выборе пунктов меню на второй странице, открывается Messga Box (ShowMessage SchematicsWorkbenchFailureGenericArmorMsg ) который невозможно закрыть, нажимаєш на копку ок и он повторно открывается и так до бесконечности.Как это исправить? Я не силен в скриптах
scn SchematicsWorkbenchScript
;workbench to create customized weapons ; 1. Which schematics does the player have? Display as buttons. ; 2. If has items needed to create, do it; otherwise display "error" message
short menu
short HasItems short Button
short item1 short item2 short item3 short item4 short item5 short item6 short item7
float weaponCondition ; calculate what condition the weapon is at when created
; how many of these weapons has the player made? ;short Menu 1 ;short countBottlecap ;short countDartGun ;short countDeathclaw ;short countNuka ;short countRailway ;short countRockit ;short countShishkebab ;short Menu 2 ;short countArmorVault101SecurityapI ;short countArmorVault101SecurityapII ;short countArmorVault101SecurityapIII
Begin OnActivate if IsActionRef player == 1 ; display message box of possible weapons set HasItems to 0
if GetHasNote SchematicsBottlecapMineNote == 1 || GetHasNote SchematicsDartGunNote == 1 || GetHasNote SchematicsDeathclawGauntletNote == 1 || GetHasNote SchematicsArmorVault101SecurityapNote == 1 set HasItems to 1 endif if GetHasNote SchematicsNukaCocktailNote == 1 || GetHasNote SchematicsRailwayRifleNote == 1 || GetHasNote SchematicsRockitLauncherNote == 1 || GetHasNote SchematicsShishkebabNote == 1 set HasItems to 1 endif if GetHasNote SchematicsBottlecapMineNote10 == 1 || GetHasNote SchematicsDartGunNote10 == 1 || GetHasNote SchematicsDeathclawGauntletNote10 == 1 || GetHasNote SchematicsArmorVault101SecurityapNote10 == 1 set HasItems to 1 endif if GetHasNote SchematicsNukaCocktailNote10 == 1 || GetHasNote SchematicsRailwayRifleNote10 == 1 || GetHasNote SchematicsRockitLauncherNote10 == 1 || GetHasNote SchematicsShishkebabNote10 == 1 set HasItems to 1 endif if GetHasNote SchematicsBottlecapMineNote20 == 1 || GetHasNote SchematicsDartGunNote20 == 1 || GetHasNote SchematicsDeathclawGauntletNote20 == 1 || GetHasNote SchematicsRockitLauncherNote30 == 1 set HasItems to 1 endif if GetHasNote SchematicsNukaCocktailNote20 == 1 || GetHasNote SchematicsRailwayRifleNote20 == 1 || GetHasNote SchematicsRockitLauncherNote20 == 1 || GetHasNote SchematicsShishkebabNote20 == 1 || GetHasNote SchematicsArmorVault101SecurityapNote20 == 1 set HasItems to 1 endif
if HasItems == 1 ShowMessage SchematicsWorkbenchMsg set menu to 1 else ShowMessage SchematicsWorkbenchNoneMsg endif endif
End
Begin GameMode
short button
set Button to GetButtonPressed if button == -1 && menu != 100 return endif
; if menu == 0 ; return ; endif
if menu == 1
if ( Button >0 ) ; base condition is just repair skill set weaponCondition to (player.getav Repair)/100
;If the player has made one of each item, add Achievement 40 if countWeapAchievement == 0 if countBottlecap >= 1 && countDartgun >= 1 && countDeathclaw >= 1 && countNuka >= 1 && countRailway >= 1 && countRockit >= 1 && countShishkebab >= 1 addachievement 40 set countWeapAchievement to 1 endif endif
else ; 4. failure message set item1 to player.GetItemCount LunchBox set item2 to player.GetItemCount CherryBomb set item3 to player.GetItemCount SensorModule set item4 to player.GetItemCount Caps001
;If the player has made one of each item, add Achievement 40 if countWeapAchievement == 0 if countBottlecap >= 1 && countDartgun >= 1 && countDeathclaw >= 1 && countNuka >= 1 && countRailway >= 1 && countRockit >= 1 && countShishkebab >= 1 addachievement 40 set countWeapAchievement to 1 endif endif
else ;failure message set item1 to player.GetItemCount PaintGun set item2 to player.GetItemCount RadscorpionPoisonGland set item3 to player.GetItemCount ToyCar set item4 to player.GetItemCount SurgicalTubing ShowMessage SchematicsWorkbenchFailureDartGunMsg, item1, item2, item3, item4 ShowMessage SchematicsWorkbenchMsg endif endif elseif button == 3 ; deathclaw gauntlet ; 1. check for schematics if GetHasNote SchematicsDeathclawGauntletNote == 0 && GetHasNote SchematicsDeathclawGauntletNote10 == 0 && GetHasNote SchematicsDeathclawGauntletNote20 == 0 ShowMessage SchematicsWorkbenchFailureGenericMsg else ; 2. check for components if ( player.GetItemCount WonderGlue > 0 ) && ( player.GetItemCount DeathclawHand > 0 ) && ( player.GetItemCount LeatherBelt > 0 ) && ( player.GetItemCount MedicalBrace > 0 ) ; 3. make it ;message "Deathclaw Gauntlet created." ShowMessage SchematicsWorkbenchSuccessDeathclawMsg player.RemoveItem WonderGlue 1 1 player.RemoveItem DeathclawHand 1 1 player.RemoveItem LeatherBelt 1 1 player.RemoveItem MedicalBrace 1 1 ; calculate condition set weaponCondition to (weaponCondition * countDeathclawBonus) if weaponCondition > 100 set weaponCondition to 100 endif player.AddItemHealthPercent WeapDeathclawGauntlet 1 weaponCondition PlaySound UIRepairWeapon ; increment count ModPCMiscStat "Weapons Created" 1 set countDeathclaw to countDeathclaw + 1
;If the player has made one of each item, add Achievement 40 if countWeapAchievement == 0 if countBottlecap >= 1 && countDartgun >= 1 && countDeathclaw >= 1 && countNuka >= 1 && countRailway >= 1 && countRockit >= 1 && countShishkebab >= 1 addachievement 40 set countWeapAchievement to 1 endif endif
else ; 4. failure message set item1 to player.GetItemCount WonderGlue set item2 to player.GetItemCount DeathclawHand set item3 to player.GetItemCount LeatherBelt set item4 to player.GetItemCount MedicalBrace
;If the player has made one of each item, add Achievement 40 if countWeapAchievement == 0 if countBottlecap >= 1 && countDartgun >= 1 && countDeathclaw >= 1 && countNuka >= 1 && countRailway >= 1 && countRockit >= 1 && countShishkebab >= 1 addachievement 40 set countWeapAchievement to 1 endif endif
else ; 4. failure message set item1 to player.GetItemCount MS05NukaColaQtm set item2 to player.GetItemCount TinCan01 set item3 to player.GetItemCount Turpentine set item4 to player.GetItemCount AbraxoCleaner
;If the player has made one of each item, add Achievement 40 if countWeapAchievement == 0 if countBottlecap >= 1 && countDartgun >= 1 && countDeathclaw >= 1 && countNuka >= 1 && countRailway >= 1 && countRockit >= 1 && countShishkebab >= 1 addachievement 40 set countWeapAchievement to 1 endif endif
else ; 4. failure message set item1 to player.GetItemCount Crutch set item2 to player.GetItemCount SteamGaugeAssembly set item3 to player.GetItemCount FissionBattery set item4 to player.GetItemCount PressureCooker
;If the player has made one of each item, add Achievement 40 if countWeapAchievement == 0 if countBottlecap >= 1 && countDartgun >= 1 && countDeathclaw >= 1 && countNuka >= 1 && countRailway >= 1 && countRockit >= 1 && countShishkebab >= 1 addachievement 40 set countWeapAchievement to 1 endif endif
else ; 4. failure message set item1 to player.GetItemCount VacuumCleaner set item2 to player.GetItemCount LeafBlower set item3 to player.GetItemCount FirehoseNozzle set item4 to player.GetItemCount Conductor
;If the player has made one of each item, add Achievement 40 if countWeapAchievement == 0 if countBottlecap >= 1 && countDartgun >= 1 && countDeathclaw >= 1 && countNuka >= 1 && countRailway >= 1 && countRockit >= 1 && countShishkebab >= 1 addachievement 40 set countWeapAchievement to 1 endif endif
else ; 4. failure message set item1 to player.GetItemCount MotorcycleGasTank set item2 to player.GetItemCount PilotLight set item3 to player.GetItemCount LawnmowerBlade set item4 to player.GetItemCount MotorcycleHandbrake
ShowMessage SchematicsWorkbenchFailureShishkebabMsg, item1, item2, item3, item4 ShowMessage SchematicsWorkbenchMsg endif endif elseif button == 8 set menu to 2 ShowMessage SchematicsWorkbenchArmorMsg return endif endif
elseif menu == 2 ; если открыта вторая страница
if button == 0 ; ArmorVault101SecurityapI
; 1. check for schematics if GetHasNote SchematicsArmorVault101SecurityapNote == 0 && GetHasNote SchematicsArmorVault101SecurityapNote10 == 0 && GetHasNote SchematicsArmorVault101SecurityapNote20 == 0 ShowMessage SchematicsWorkbenchFailureGenericArmorMsg ; 2. check for Skills elseif player.GetActorValue Repair <= 24 ShowMessage SchematicsWorkbenchSkillsNoneMsg else ; 3. check for components if ( player.GetItemCount ArmorVault101Security >= 1 ) && ( player.GetItemCount LeatherBelt >= 3 ) && ( player.GetItemCount SurgicalTubing >= 1 ) && ( player.GetItemCount Iron >= 1 ) && ( player.GetItemCount NukaCola >= 1 ) ; 4. make it ;message "ArmorVault101Security modified." ShowMessage SchematicsWorkbenchSuccessArmorVault101SecurityapIMsg player.RemoveItem ArmorVault101Security 1 player.RemoveItem LeatherBelt 3 player.RemoveItem SurgicalTubing 1 player.RemoveItem Iron 1 player.RemoveItem NukaCola 1 player.additem ArmorVault101SecurityapI 1 ; 5. failure message else( player.GetItemCount ArmorVault101Security < 1 ) || ( player.GetItemCount LeatherBelt < 3 ) || ( player.GetItemCount SurgicalTubing < 1 ) || ( player.GetItemCount Iron < 1 ) || ( player.GetItemCount NukaCola < 1 ) set item1 to player.GetItemCount ArmorVault101Security set item2 to player.GetItemCount LeatherBelt set item3 to player.GetItemCount SurgicalTubing set item4 to player.GetItemCount Iron set item5 to player.GetItemCount NukaCola
elseif button == 3 ; если нажата последняя, нижняя кнопка (Назад) set menu to 1 ; установить переменную в 1, чтобы отслеживались кнопки 1-й страницы ShowMessage SchematicsWorkbenchMsg ; показать первую страницу меню return endif endif endif
divine2991, а разве это меню не hardcoded в движке? Насколько я помню - еще никому не удалось туда ничего работающего нормально добавить. Только свои верстаки и свое меню для них.
Все люди - курьеры. Просто некоторые не понимают, какие сообщения они несут...
открывается Messga Box (ShowMessage SchematicsWorkbenchFailureGenericArmorMsg ) который невозможно закрыть, нажимаєш на копку ок и он повторно открывается и так до бесконечности
Потому что кнопка OK - это тоже нулевая кнопка. И меню не в движке, можно с ним что угодно делать. И все с ним что угодно и делали, пока не появился CRAFT. Впрочем, для личного пользования и сейчас не возбраняется безо всяких крафтов влезть в скрипт и перекроить.
Изменение репутации для пользователя Andron1544
Andron1544Offline
Сообщение №2321
написано: 10 июля 2020, 08:26
| Отредактировано: ApeX - 10 июля 2020, 14:13
лет 8-10 не играл в FOL 3!раньше редактировал дом в мегатонне...всё норм было!а сейчас попробовал редактировать!....и при в ходе в свою берлогу вылет!может из-за FORL 12.11.16.....?там много модов но удалять не хочется!подскажите..что ...как!!!да и может не в тему!но как цвет выстрела поменять у плазмы и лазаря?было написано удалить блоки!но скринов не а у меня этих блоков с цветами!и с розами море! Перенесено в соответствующую тему
В блоках NiParticleSystem, NiBillboardNode (2 блока) в NiMaterialProperty. Как - написано в Картотеке. Можно ничего не удалять. И самому поэкспериментировать с цветами. Результат будет виден сразу.
Изменение репутации для пользователя Reflexion
ReflexionOffline
Сообщение №2323
написано: 10 июля 2020, 14:44
| Отредактировано: Reflexion - 10 июля 2020, 14:45
Открыть редактор, загрузить ячейку MegatonPlayerHouse. Найти в окне справа от окна со списком интерьеров в типе Furniture 2 кровати. ПКМ - правка - править базу - в поле модели выбрать желаемую кровать. Сохранить плагин. Тройки нет, поэтому скринов не будет.
ApeX, Вы меня наверное не поняли, я хочу сделать чтобы при покупке интерьера Убежище старая кровать исчезала а новая появилось. Вот знаю как сделать чтобы новая появилось но не знаю как сделать чтобы старая исчезла.
HD01QuestScript, кажется - он регулирует вкл./откл. предметов в стандартных темах для дома. Можно посмотреть то, как там сделано. По HD01 через общий фильтр в редакторе можно найти и другие записи, как-либо относящиеся к декору и темам.
НОВУЮ анимацию для оружия тройка не поддерживает. Она ее не видит.
Так, второй вопрос отпал... Хотя стоп, как-то же добавляли, например, пушки из вегаса, анимаций от которых в тройке нет!
Стоп! Начнём с начала.
Вопрос нумбер "иии, раз!": Не отображается маркер карты. Ставим галку "Visible", в игре на карте его нет. Начинает отображаться только если отметить ещё и "Can Travel To", но мне-то он нужен чисто ориентиром! Чего это такое и как исправить?
И закончим с кончала. Вопрос "дыыва!": Где лежат анимации оружия?) (надо выдрать пару образцов из ДЛЦ-шек к Вегасу и засунуть в третий, стандартные движения не устраивают)
Изменение репутации для пользователя Ipatow
IpatowOffline
Сообщение №2337
написано: 24 августа 2020, 10:49
| Отредактировано: Ipatow - 24 августа 2020, 10:50
Анимации к каждому скелету лежат в той же папке, что сам скелет. Для человеков это папка Data\Meshes\Characters\_male, для супермутантов папка Data\Meshes\Creatures\smSpineBreaker, и так далее.