• Добро пожаловать, Гость. Войдите или зарегистрируйтесь.

Автор Тема: script: взаимосвязь активатора и цели  (Прочитано 777 раз)

Описание:

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн vinternete

  • *
  • Сообщений: 5
  • Репутация: 0
  • Пол: Мужской
    • Просмотр профиля
Вобщем решил сделать мод, но он нуждается в скриптах, а именно управление рычагами,но есть одно Но:
не могу понять взаимосвязь активатора и цели, например секретная дверь и рычаг:
id: BarrelHugeDoor ; scn CastleSecretBarrelScript
scn CastleSecretBarrelScript

; activated by linked child
; activates optionally linked parent after 1 sec delay

short init
short open
short next
short busy
short waiting
float timer


ref mySelf
ref myParent

begin onActivate

if isActionRef mySelf == 0 && busy == 0 && isActionRef player == 0

if open == 0
playgroup forward 0
set open to 1
enableLinkedPathPoints
set waiting to 1
else
playgroup backward 0
set open to 0
disableLinkedPathPoints
set waiting to 0
endif

set next to 1
set timer to 1
set busy to 1

endif

end

begin gameMode


if init == 0 && open == 0
; set up ref vars
set mySelf to getSelf
set myParent to getParentRef
; prepare linked pathsgrid points
disableLinkedPathPoints
set init to 1
endif

; daisy-chain activation
if next == 1 && timer <=0
set next to 0
myParent.activate mySelf 1
endif

if timer > 0
set timer to timer - getSecondsPassed
endif

if isAnimPlaying == 0 && busy == 1
set busy to 0
endif

end

begin onReset

reset3DState
set open to 0
set next to 0
set busy to 0
disableLinkedPathPoints

end


id: RFSwitchLever01; scn RFSwitch03SCRIPT
scn RFSwitch03SCRIPT

; activates parent after a 2 sec delay

short open
short next
short busy
float timer
ref mySelf
ref myParent

begin onActivate

if busy == 0
if open == 0
playgroup forward 1
set open to 1
set next to 1
set timer to 2
else
playgroup backward 1
set open to 0
set next to 1
set timer to 0.5
endif
set busy to 1
endif

end

begin gameMode

if next == 1 && timer <= 0
set mySelf to getSelf
set myParent to getParentRef
myParent.activate mySelf 1
set next to 0
endif

if isAnimPlaying == 0 && busy == 1
set busy to 0
endif

if timer > 0
set timer to timer - getSecondsPassed
endif

end

begin onReset

reset3DState
set next to 0
set open to 0
set busy to 0

end

как они взаимодействуют между собой? как дверь при 1 активации рычага открывается, и закрывается при повторной активации рычага?
что значат и делают
ref mySelf
ref myParent  ?

как можно например изменить такой код, чтобы он открывал ту же дверь (BarrelHugeDoor)
scn AAAtestscriptdoor
Short controlvar
Short button

Begin OnActivate
If ( controlvar == 0 )
MessageBox "Чего хочешь старче?", "открыть дверь", "закрыть дверь", "выйти"
Set controlvar to 1
ElseIf ( controlvar > 1 )
Activate
EndIf
End

Begin GameMode
If ( controlvar == 1 )
Set button to GetButtonPressed
If ( button == -1 )
Return
ElseIf ( button == 0)
Message "дверь открыта"
;открывает дверь
Set controlvar to 0
Elseif ( button == 1)
Message "Закрыта"
;закрывает
Set controlvar to 0
Elseif ( button == 2)
Message "вышел"
return
Set controlvar to 0
EndIf
EndIf
EndIf
EndIf
EndIf
End

или вот еще пример, как реализовать чтобы MG10FloorSmasher01 активировался рычагом а не приближением героя?
или например как сделать чтобы 1 рычаг активировал 4 RFTrapDarts01 ?
или 1 рычаг респаунил умершего NPC?

ато перерыл интернет, а учебников об взаимосвязи активаторов и целей нет
и кажется мне это неизведанная область очень нуждается в хорошем учебнике.
если вдруг кто-то возьмется помочь с скриптами я был бы очень благодарен за коментарии к каждой строке  :rolleyes:

Оффлайн Visman

  • *
  • Сообщений: 185
  • Репутация: 0
  • Пол: Мужской
    • Просмотр профиля
    • AllTES: Плагины и моды
Re: script: взаимосвязь активатора и цели
« Ответ #1 : 14 Март, 2011, 15:09:54 »
0
Ты же у меня вчера практически то же самое спрашивал!?
Вам не кажется, что plаygrоund.ru есть синоним слову ворье?

Оффлайн vinternete

  • *
  • Сообщений: 5
  • Репутация: 0
  • Пол: Мужской
    • Просмотр профиля
Re: script: взаимосвязь активатора и цели
« Ответ #2 : 14 Март, 2011, 17:03:17 »
0
не совсем, то было необходимо к конкретной задаче (соеденить 4 ловушки 1 рычагом, или сделать смэшер для непеси), а в этой теме я хотел бы узнать "как это работает" и "из чего оно сделано", каким образом обьект узнает что рычаг был активирован, каким образом узнает что рычаг был еще раз активирован (-> _/_ || _\_  <-), как сделать чтобы тотже смэшер от рычага работал, как сделать чтобы секретная дверь открывалась не от рычага а от выбора в messagebox`e. в общем хочется понять суть работы скриптов на примерах, а не описании функций в учебнике.

Теги:
 

Morrowind Script Extender(mwse)

Автор AizecРаздел Скриптинг под TES III

Ответов: 12
Просмотров: 12196
Последний ответ 13 Январь, 2011, 10:21:24
от xNeKiToSx
Oblivion Script Studio

Автор MymIgorРаздел Скриптинг под TES IV

Ответов: 5
Просмотров: 4455
Последний ответ 24 Январь, 2007, 16:42:03
от MymIgor
Wiki: Oblivion:Кастование заклинаний с помощью активатора

Автор WikiBotРаздел Мастерская TES IV

Ответов: 0
Просмотров: 493
Последний ответ 22 Октябрь, 2011, 08:01:03
от WikiBot
Skyrim Script Extender (SKSE)

Автор MellanoxРаздел Программы и утилиты для Skyrim

Ответов: 9
Просмотров: 4450
Последний ответ 19 Декабрь, 2011, 22:26:46
от NAVYgator
Skyrim Advanced Script Editor

Автор TiaraРаздел Программы и утилиты для Skyrim

Ответов: 0
Просмотров: 1470
Последний ответ 02 Январь, 2012, 18:07:59
от Tiara
Mannequin Script New (от AlexTirex)

Автор BileraONРаздел Скриптинг под TES V

Ответов: 80
Просмотров: 5151
Последний ответ 26 Ноябрь, 2013, 20:47:56
от gloomdaemon

Поиск

 
Top
SimplePortal 2.3.5 © 2008-2012, SimplePortal