Привет, работаю над улучшением мода WMK (сначала для себя, а как дождусь разрешения автора - выложу сюда). Т.к. вообще не разбираюсь в скриптах, возник вопрос - возможно ли сделать скрипт, который ВКЛ/ВЫКЛ лазерный целеуказатель у оружия в руке? (что-то типа главного скрипта, который на верстаке улучшения добавляет) Кнопкой на клаве или при прицеливании. Если есть желающие помочь - пишите в личку
Изменение репутации для пользователя RavingRabbit23
RavingRabbit23Offline
Сообщение №2
| Тема: Помощь по моддингу
написано: 18 марта 2016, 22:56
| Отредактировано: RavingRabbit23 - 18 марта 2016, 23:27
Ребят, помучил мозг, написал что-то такое (только почему-то не работает, хотя, по-моему, должно >_<;)
Код
scn WMKLSToggleScript
short LStoggle short doOnce short weapIndex float WeaponCondition ref equippedWeap ref weapToggleListA ref weapToggleListB ref newWeap
Begin OnEquip set equippedWeap to Player.GetEquippedObject 5 ;// STARTS ON WEAPON EQUIP set WeaponCondition to Player.GetWeaponHealthPerc / 100 set weapToggleListA to ListGetNthForm aaaLSguns2OrderedList weapIndex ;// LS OFF LIST set weapToggleListB to ListGetNthForm aaaLSguns1OrderedList weapIndex ;// LS ON LIST End
Begin GameMode if ( equippedWeap.IsWeaponInList aaaLSguns2OrderedList == 1 ) || ( equippedWeap.IsWeaponInList aaaLSguns1OrderedList == 1 ) ;// CHECKS IF EQUIPPED WEAPON IS LS-MODIFIED if IsKeyPressed LSglobalHotkey ;// PREDEFINED GLOBAL KEY PRESSED if LStoggle == 0 set LStoggle to 1 ;// KEY EVENT STARTS if ( doOnce == 0 ) ;// LS IS OFF set weapIndex to ListGetFormIndex weapToggleListA equippedWeap set newWeap to ListGetNthForm weapToggleListB weapIndex player.removeitem equippedWeap 1 1 player.additemhealthpercent newWeap 1 WeaponCondition 1 player.equipitem newWeap ;// LS TURNS ON set doOnce to 1 elseif ( doOnce == 1 ) set weapIndex to ListGetFormIndex weapToggleListB equippedWeap set newWeap to ListGetNthForm weapToggleListA weapIndex player.removeitem equippedWeap 1 1 player.additemhealthpercent newWeap 1 WeaponCondition 1 player.equipitem newWeap ;// LS TURNS OFF set doOnce to 0 endif endif else ;// KEY LEFT UNPRESSED Set LStoggle to 0 endif else return endif End
Естественно, разные модели и листы прописаны, а то, что оружие будет переэкипировываться - не столь критично
Apex, не думаю, что такой вариант решения вообще целесообразен - прописывать 100500+ скриптов для каждого оружия с WMK + FWE аддона?
Вообщем, чтобы прекратить рассуждения о "горячих клавишах" скажу прямо - Нужно, чтобы скрипт работал по нажатию назначеной кнопки для ВСЕГО оружия с ЦУ (для этого в коде такая чехарда со списками)
Изменение репутации для пользователя RavingRabbit23
RavingRabbit23Offline
Сообщение №3
| Тема: Помощь по моддингу
написано: 19 марта 2016, 11:19
| Отредактировано: RavingRabbit23 - 20 марта 2016, 01:04
Спасибо за советы, но снова возник вопрос: код, написанный что называется "в лоб" работает на ура, а когда пробую переписать под все оружие - ни в какую. В чем проблема?
Код
scn WMKLSToggleScript
short kPressed short wIndex float WeaponCondition ref equippedWeap ref newWeap
Begin GameMode if IsKeyPressed 48 if kPressed == 0 set kPressed to 1 set WeaponCondition to Player.GetWeaponHealthPerc / 100 if ( player.getEquipped aaaLSguns2OrderedList == 1 ) set wIndex to ListGetFormIndex aaaLSguns2OrderedList equippedWeap set newWeap to ListGetNthForm aaaLSguns1OrderedList wIndex player.additemhealthpercent newWeap 1 WeaponCondition 1 player.EquipItem newWeap player.removeitem equippedWeap 1 1 ; player.equipitem WMKWeapUniqueWandaAssaultRifleLSSIon - такой вариант работает - ВКЛ и ВЫКЛ elseif ( Player.getEquipped aaaLSguns1OrderedList == 1 ) set wIndex to ListGetFormIndex aaaLSguns1OrderedList equippedWeap set newWeap to ListGetNthForm aaaLSguns2OrderedList wIndex player.additemhealthpercent newWeap 1 WeaponCondition 1 player.EquipItem newWeap player.removeitem equippedWeap 1 1 ; player.equipitem WMKWeapUniqueWandaAssaultRifleLSSI endif endif else set kPressed to 0 endif End
Другой вариант кода -
Изменение репутации для пользователя RavingRabbit23
RavingRabbit23Offline
Сообщение №4
| Тема: Помощь по моддингу
написано: 26 марта 2016, 11:22
| Отредактировано: RavingRabbit23 - 26 марта 2016, 11:24
MaxwellDemon, уже разобрался (наконец) - могу скрипт в ЛС кинуть. Основная проблема была в том, что когда меняеш оружие одной и той же nif-модели, текстуры корректно не отображаются - пришлось через nifscope удалять луч и создавать новые файлы. В итоге +2 на каждое оружие... Еще интересует вопрос в плане "косметики", типа анимации и звука. Я в этом новичек но потихоньку врубаюсь, что куда. Так вот, возможно ли назначить 2 звуковых эффекта на одно действие? А конкретно - экипировка-снятие оружия (звук щелчка при ВКЛ-ВЫКЛ ЛС и стоковый при одевании с пипбоя). Еще подумывал о том, возможно ли обмануть механизм одевания-снятия через анимацию-пустышку. Но это так - придирки.
Изменение репутации для пользователя RavingRabbit23