Всем здрасте! Есть скрипт, который при активации контейнера выводит Message, в котором 3 кнопки, первая - просто открыть контейнер, вторая - подобрать контейнер, третья - отмена, которая тоже приводит к простому открыванию контейнера. Вооот, ближе к телу, хочу добавить 4 кнопку, "Пометка", которая при активации вешает плавающий маркер над контейнером, а при повторной активации этот маркер убирала. Но ни как не могу понять как это сделать, это конечно из-за того что я жесткий нуб в этих вопросах, но все же, может кто подскажет?
Ну а мне кто-то сможет помочь? Папирус мой самый жуткий кошмар...
Есть предмет, который при выкидывании из инвентаря и последующей активации становится контейнером.
Есть скрипт, который при активации контейнера выводит Message, в котором 3 кнопки, первая - просто открыть контейнер, вторая - подобрать контейнер обратно в инвентарь, третья - отмена, которая тоже приводит к простому открыванию контейнера. Вооот, ближе к телу, хочу добавить 4 кнопку, "Пометка", которая при активации вешает плавающий маркер над контейнером, а при повторной активации этот маркер убирала. Но ни как не могу понять как это сделать, это конечно из-за того что я жесткий нуб в этих вопросах, но все же, может кто подскажет?
Уважаемый Dsion подсказал, что нужен квест, в квесте Objective с маркером, а далее уже при помощи SetObjectiveDisplayed делать вкл/выкл. Но я на столько туп в квесто-папирусной теме, что просто не смог понять как это всё построить и связать друг с другом. Пожалуйста, кто-нибудь, помогите...
Вот, кстати, этот мод. В нем уже есть квест, в котором, как я понял прописан Alias с фракцией игрока для создаваемых контейнеров (наверно). Можно ли к этому квесту прикрутить возможность создания маркера?
Ну конечно же я не мог так просто отстать... Сейчас маркер может отображаться только над одним контейнером. Как сделать так что бы можно было вешать маркер над несколькими контейнерами (Н-р: 100 контейнеров-100 маркеров)?
И еще вопрос, как все-таки реализовать систему "вкл-выкл маркер". Я написал так, но, естественно, ни чего не работает.
И так, намутил систему "вкл/выкл маркер", за что низкий поклон Dsion. Но теперь проблема в другом И их две как обычно.
1. При выборе пункта "стереть маркер" отключаются все активные маркеры, ну это и из кода видно, как бы так замутить, что бы отключался только тот маркер который нужен? Придется доп меседж боксы мутить под каждый маркер или можно что-то лучше сделать?
2. При нажатии кнопки "отмена" в окне "пометка" открывается меседж бокс, но он не активен. Можно ли как-то сделать так, что бы при нажатии "отмены" происходил возврат к меню?
Изменение репутации для пользователя Vicson
VicsonOffline
Сообщение №5
| Тема: Вопросы по моделированию
написано: 28 декабря 2017, 18:16
| Отредактировано: Князь_Далик - 28 декабря 2017, 18:18
Тема мертва или нет пока? Есть ли люди, которые имеют опыт по созданию анимированной статики (открывающиеся шкафы, развевающиеся флаги пр.) Если таковые имеются, готовы ли вы поделиться своим опытом?
Так же прошу поделиться опытом в создании коллизий для статики. Перепробовал много способов, но не один не дал результат....
Изменение репутации для пользователя Vicson
VicsonOffline
Сообщение №6
| Тема: Скрипты
написано: 5 декабря 2018, 17:27
Приветствую! Надеюсь тема еще жива...Прежде чем спросить о том, что мне надо, я поинтересуюсь, можно ли здесь размещать вопросы по скриптам Fallout 3? Просто на форуме третьего фолыча не нашел тему со скриптами.
Изменение репутации для пользователя Vicson
VicsonOffline
Сообщение №7
| Тема: Изменение ников
написано: 5 декабря 2018, 18:15
Оке! Есть мод, который может спавнить активатор (лампу). К активатору привязан скрипт, на вкл/выкл при обычной активации, и настройка цвета "лампочки" при активации из скрытности. Сразу скажу, что со скриптингом (если так можно назвать то, что я ваяю) знаком я чуть больше года, из этого времени "занимаюсь" им я дней 5. Ближе к телу! Сваял я скрипт, вышеупомянутый, и свет горит, и менюшка настройки есть, но сами "лампочки" не меняются...тыкался сам, по форумам лазил, даже по забугорским, но ни чего проясняющего для себя не нашел (может и плохо искал, но это не точно). И вот пришел к тому, что бы умные люди лично ткнули (лицом в какахи) пальцем туда, куда надо... Ну, и сам скрипт!
scn AAAGenericLamp01
float posX ;координаты лампы float posY ;координаты лампы float posZ ;координаты лампы int Button ;кнопка выбора цвета ref Lamp ;лампа ref ActLight ;источник света int LightCol ;цвет short LightON ;вкл/выкл
Begin OnActivate
Set Lamp to GetSelf
If player.isSneaking ;активация при скрытности ShowMessage FSLightColor ;диалог о цвете set Button to GetButtonPressed If Button == 0 ;холодный If LightCol != 1 Set LightCol to 1 EndIf ElseIf Button == 1 ;холодный пульс If LightCol != 2 Set LightCol to 2 EndIf ElseIf Button == 2 ;дефолт пульс If LightCol != 3 Set LightCol to 3 EndIf ElseIf Button == 3 ;теплый If LightCol != 4 Set LightCol to 4 EndIf ElseIf Button == 4 ;теплый пульс If LightCol != 5 Set LightCol to 5 EndIf ElseIf Button == 5 ;сброс (дефолт) If LightCol != 0 Set LightCol to 0 EndIf ElseIf Button == 6 ;выход EndIf EndIf
If LightON == 0 Set posX to Lamp.GetPos x Set posY to Lamp.GetPos y Set posZ to Lamp.GetPos z + 28 If LightCol == 0 Set ActLight to Player.PlaceAtMe FSLampGenericDef01 1 ActLight.SetPos x posX ActLight.SetPos y posY ActLight.SetPos z posZ Set LightON to 1 ElseIf LightCol == 1 Set ActLight to Player.PlaceAtMe FSLampGenericCold01 1 ActLight.SetPos x posX ActLight.SetPos y posY ActLight.SetPos z posZ Set LightON to 1 ElseIf LightCol == 2 Set ActLight to Player.PlaceAtMe FSLampGenericColdPulse01 1 ActLight.SetPos x posX ActLight.SetPos y posY ActLight.SetPos z posZ Set LightON to 1 ElseIf LightCol == 3 Set ActLight to Player.PlaceAtMe FSLampGenericDefPulse01 1 ActLight.SetPos x posX ActLight.SetPos y posY ActLight.SetPos z posZ Set LightON to 1 ElseIf LightCol == 4 Set ActLight to Player.PlaceAtMe FSLampGenericWarm01 1 ActLight.SetPos x posX ActLight.SetPos y posY ActLight.SetPos z posZ Set LightON to 1 ElseIf LightCol == 5 Set ActLight to Player.PlaceAtMe FSLampGenericWarmPulse01 1 ActLight.SetPos x posX ActLight.SetPos y posY ActLight.SetPos z posZ Set LightON to 1 EndIf ElseIf LightON == 1 ActLight.Disable ActLight.MarkForDelete Set LightON to 0 EndIf
End
P.S. Пометки на русском делал для себя...скрипт был раза в три длиннее, я начал путаться. ПРОШУ! Помогите мне, пожалуйста!
Изменение репутации для пользователя Vicson
VicsonOffline
Сообщение №9
| Тема: Скрипты
написано: 6 декабря 2018, 15:49
Joopeeter, Огромное спасибо, все заработало! Просто про GetButtonPressed вскользь читал, вот и выросло непонимание...Я же говорю, надо было, что бы кто-то ткнул пальцем
Ipatow,
Цитата Ipatow
кошерно бы прекратить приседания
Как это можно сделать в моем случае? Надо что бы активация была отдельно, смена цвета отдельно. Я насоображал только такой вариант. Напоминаю, что опыт скриптинга 5 дней.
Изменение репутации для пользователя Vicson
VicsonOffline
Сообщение №10
| Тема: Скрипты
написано: 6 декабря 2018, 20:56