Перейти к содержимому


Фотография

Вопросы по скриптам

papyrus help скрипты вопросы

  • Авторизуйтесь для ответа в теме

#421 Ссылка на это сообщение Potatoider

Potatoider
  • Знаменитый оратор


  • 4 350 сообщений
  •    

Отправлено

Тема для вопросов по скриптингу.

Функции папируса:

На английском

На русском (не все, но базис)



 




  • Авторизуйтесь для ответа в теме
Сообщений в теме: 832

#422 Ссылка на это сообщение CISCO.:i:..:i:.

CISCO.:i:..:i:.
  • Талант
  • 257 сообщений
  •  

Отправлено

Как ты игре добавлять сказал - так она это и делает. И это не ингридиент - это обычное сообщения о том, что игроку что-то добавлено. Магия, абилка, ингридиент, предмет - неважно

Да это понятно - я про то что надпись идет (ДОБАВЛЕНО) как у ингредиента или предмета и это бесило - хотелось бы что бы надпись была другой - попробую сделать без надписи как ты сказал (кстати СПС) а можно добавить в скрипт напрямую нужный мне вариант (Вы просыпаетесь и чувствуете что хорошо отдохнули)? а MyMessage просто раскроет полностью то что я хочу донести до игрока.

 

 

У меня кстати есть сомнения, как это вот будет работать, если у тебя, скажем, на часах - 23:00, а в Time стоит 2 часа.

Проверю - отпишусь.

 

 

Какой еще кейворд? Зачем?

Ну я тебе не раз говорил что я плохо разбираюсь в СК - просто как я понял на кроватях ГГ отдых получает через кейворд



#423 Ссылка на это сообщение Azazellz

Azazellz
  • Знаменитый оратор
  • 2 055 сообщений
  •    

Отправлено

можно добавить в скрипт напрямую нужный мне вариант (Вы просыпаетесь и чувствуете что хорошо отдохнули)? а MyMessage просто раскроет полностью то что я хочу донести до игрока.

И то, и другое вызывается одним и тем же кодом.
Разница только в том, как это в СК прописано. MessageBox и обычный message там где-то галочкой отличаются.
Можешь вообще ванильное сообщение про отдых найти (должно где-то быть) и его уже тем же самым кодом вызывать.

Ну я тебе не раз говорил что я плохо разбираюсь в СК - просто как я понял на кроватях ГГ отдых получает через кейворд

Это нужно только для определения кровати игрока, как я понимаю.

#424 Ссылка на это сообщение CISCO.:i:..:i:.

CISCO.:i:..:i:.
  • Талант
  • 257 сообщений
  •  

Отправлено

И то, и другое вызывается одним и тем же кодом.
Разница только в том, как это в СК прописано. MessageBox и обычный message там где-то галочкой отличаются.
Можешь вообще ванильное сообщение про отдых найти (должно где-то быть) и его уже тем же самым кодом вызывать.

в общем скрипт допилил в точности до того эффекта что и хотел. спасибо за помощь.

Скрипт

Протестировал - на прокрутку времени - всё работает - было 11:07 PM - прокрутил стало 01:07 AM (прокрутку выставил на два часа игрового времени)


Сообщение отредактировал CISCO.:i:..:i:.: 13 сентября 2018 - 20:03


#425 Ссылка на это сообщение Azazellz

Azazellz
  • Знаменитый оратор
  • 2 055 сообщений
  •    

Отправлено

всё работает - было 11:07 PM - прокрутил стало 01:07 AM (прокрутку выставил на два часа игрового времени)

А дату не проверил? Вдруг там на один год время вперед ушло? =)
(Без шуток - в новом "платном моде" из КрейшнКлаба для Ф4 при включении введеных там камер наблюдения с датой творились совершенно адские вещи).

#426 Ссылка на это сообщение stanislavd

stanislavd
  • Авантюрист
  • 118 сообщений

Отправлено

Привет Азазелз! Я взял скрипт активатора, копья... Вписал 5 строчек... И теперь при проперти указываю на вещь. И она исчезает и проявляется в зависимости от состояния копья... Но мне нужен скрипт, который можно белобрыс подвесить к основному скрипту активатора без внесения изменения в основной скрипт... В скрипте квеста только выдаётся команда на скрипт активатора, но как я ещё не просек, а то можно былого снять информацию со скрипта квеста... В общем сделано через жопу, но первая часть того, что я хотел у меня получилась... Но это надо сделать по нормальному... У тебя идей нет???

#427 Ссылка на это сообщение Azazellz

Azazellz
  • Знаменитый оратор
  • 2 055 сообщений
  •    

Отправлено

Цепляй свой скрипт, который будет включать\отключать твои водопады прямо к копью.

В нем используй ивент OnActivate.

Копье активируется скриптом, в скрипте копья срабатывает ивент, ивент включает\отключает водопады.

Должно работать (если, конечно, этот ивент сработает - активация предмета скриптом может и не дать это сделать).

 

P.s. если честно, ты все еще делаешь какую-то ерунду. Как я тут выше писал - пилишь дерево ради зубочистки.



#428 Ссылка на это сообщение CISCO.:i:..:i:.

CISCO.:i:..:i:.
  • Талант
  • 257 сообщений
  •  

Отправлено

P.s. если честно, ты все еще делаешь какую-то ерунду. Как я тут выше писал - пилишь дерево ради зубочистки.

ахах - это ты мне писал)) а щас серьёзно - можешь подсказать что дописать в двемерском скрипте баллиста - что бы после выстрела - балиста сразу перезарежалась - ну то есть совершала выстрелы каждый раз при активации. 

Скрипт



#429 Ссылка на это сообщение CISCO.:i:..:i:.

CISCO.:i:..:i:.
  • Талант
  • 257 сообщений
  •  

Отправлено

Без шуток - в новом "платном моде" из КрейшнКлаба

Кошмар кто то ещё моды продает - это всё ровно что кукурузой торговать прямо на колхозном поле - где собственно и росла та самая кукуруза.



#430 Ссылка на это сообщение Azazellz

Azazellz
  • Знаменитый оратор
  • 2 055 сообщений
  •    

Отправлено

а щас серьёзно

Используй кнопку "<>" (Код), ну ё-моё.

Сам то в такой портянке разбираться хочешь? Нет? Вот и я не буду.


Сообщение отредактировал Azazellz: 14 сентября 2018 - 18:46


#431 Ссылка на это сообщение CISCO.:i:..:i:.

CISCO.:i:..:i:.
  • Талант
  • 257 сообщений
  •  

Отправлено

Сам то в такой портянке разбираться хочешь? Нет? Вот и я не буду.

Согласен портянка - я просто ни фига не понимаю что там и к чему  - знаешь как я скрипты пишу? беру несколько скриптов - и методом Ctrl+C - Ctrl+V  из них собираю то что в конечном итоге скомпелируется)))) после скажем так 100 попыток.


Сообщение отредактировал CISCO.:i:..:i:.: 14 сентября 2018 - 20:59


#432 Ссылка на это сообщение stanislavd

stanislavd
  • Авантюрист
  • 118 сообщений

Отправлено

если бы это было так просто, я бы не писал здесь... не работает это!

Scriptname aaaNetVeschi extends ObjectReference  

Bool bToggle

ObjectReference Property MyThing1 Auto
ObjectReference Property MyThing2 Auto
ObjectReference Property MyThing3 Auto
ObjectReference Property MyThing4 Auto
Event OnActivate(ObjectReference akActionRef)
bToggle = !bToggle
If bToggle ; True
MyThing1.Enable()
MyThing2.Enable()
MyThing3.Enable()
MyThing4.Enable()
Else ; False
MyThing1.Disable()
MyThing2.Disable()
MyThing3.Disable()
MyThing4.Disable()
EndIf
EndEvent 

Сообщение отредактировал stanislavd: 14 сентября 2018 - 20:17


#433 Ссылка на это сообщение stanislavd

stanislavd
  • Авантюрист
  • 118 сообщений

Отправлено


Согласен портянка - я просто ни фига не понимаю что там и к чему  - знаешь как я скрипты пишу? беру несколько скриптов - и методом Ctrl+C - Ctrl+V  из них собираю то в конечном итоге скомпелируется)))) после скажем так 100 попыток.

 

а я хоть как то эти портянки читаю))



#434 Ссылка на это сообщение Azazellz

Azazellz
  • Знаменитый оратор
  • 2 055 сообщений
  •    

Отправлено

Согласен портянка - я просто ни фига не понимаю что там и к чему

Когда код хоть немного структурирован - его намного легче читать.

Привыкай хоть какой-то порядок в скриптах держать.

Я могу в нем разобраться, но это займет много времени, и мне тупо некогда это делать.

 

знаешь как я скрипты пишу? беру несколько скриптов - и методом Ctrl+C - Ctrl+V  из них собираю то что в конечном итоге скомпелируется)))) после скажем так 100 попыток.

Тут главное не просто бездумно копировать-вставить, а еще и стараться разобраться, какая строчка и буква за что в итоге отвечает.

Я тоже так начинал.

 

если бы это было так просто, я бы не писал здесь... не работает это!

Ну, видать ивент с такой активации не работает.

Не судьба =)

Но рекомендую сначала упростить скрипт до минимума - убрать оттуда все условия if и bool. Чтоб сразу наглядно было, что к чему.



#435 Ссылка на это сообщение stanislavd

stanislavd
  • Авантюрист
  • 118 сообщений

Отправлено

Ну, видать ивент с такой активации не работает.

Не судьба =)

Но рекомендую сначала упростить скрипт до минимума - убрать оттуда все условия if и bool. Чтоб сразу наглядно было, что к чему.ты читал о материнских и дочерних скриптах??

ты читал об материнских и дочерних скриптах? о том что можно использовать функцию из материнского скрипта дочерним?.. просто это правилильно надо прописать... 

вот например скрипт рычага по отношению к скрипту пики является материнским, и передается её значение в скрипт пики, а там уже запускается програмка относительно этой функции...

и вешая скрипт вкл/выкл вещи на рычаг ты также используешь эту функцию! но когда у тебя в разрыве стоит трамплинкер ета функция теряется! т.к. в моём случае, трамплинкер служит передаточным звеном... поэтому я и пытаюсь, либо сделать подмену пики, либо вынуть функцию из скрипта пики... и если это получится, то то откроются большие возможности для сборки квестов! квестовых локаций!... и будет не просто: меня обидел тот придурок, отнял вещь, пойди вломи ему и отними эту вещь, а я тебя вознагражу... а будет попробуй доберись до него!

у меня сейчас простаивают 5 линеек квестов из-за этого... из-за реализации передачи функции на статический предмет...



#436 Ссылка на это сообщение Azazellz

Azazellz
  • Знаменитый оратор
  • 2 055 сообщений
  •    

Отправлено

Ну так напиши уже свой скрипт, ё-моё.
Тупо - 3 рычага, каждый отключает\включает по 3 водопада из 4-х.
И скрипт такой вот на каждый рычаг - только проперти у каждого привязаны на разные водопады.
Scriptname aaaNetVeschi extends ObjectReference  

ObjectReference Property MyThing1 Auto
ObjectReference Property MyThing2 Auto
ObjectReference Property MyThing3 Auto

Event OnActivate(ObjectReference akActionRef)

	if MyThing1.IsEnabled()
		MyThing1.Disable()
	else
		MyThing1.Enable()
	endif
	
	if MyThing2.IsEnabled()
		MyThing2.Disable()
	else
		MyThing2.Enable()
	endif
	
	if MyThing3.IsEnabled()
		MyThing3.Disable()
	else
		MyThing3.Enable()
	endif
EndEvent 

Сообщение отредактировал Azazellz: 15 сентября 2018 - 09:23


#437 Ссылка на это сообщение stanislavd

stanislavd
  • Авантюрист
  • 118 сообщений

Отправлено

Ну так напиши уже свой скрипт, ё-моё.
Тупо - 3 рычага, каждый отключает\включает по 3 водопада из 4-х.
И скрипт такой вот на каждый рычаг - только проперти у каждого привязаны на разные водопады.

Scriptname aaaNetVeschi extends ObjectReference  

ObjectReference Property MyThing1 Auto
ObjectReference Property MyThing2 Auto
ObjectReference Property MyThing3 Auto

Event OnActivate(ObjectReference akActionRef)

	if MyThing1.IsEnabled()
		MyThing1.Disable()
	else
		MyThing1.Enable()
	endif
	
	if MyThing2.IsEnabled()
		MyThing2.Disable()
	else
		MyThing2.Enable()
	endif
	
	if MyThing3.IsEnabled()
		MyThing3.Disable()
	else
		MyThing3.Enable()
	endifне все так просто! я пробовал это... не работает так как надо!...

вот тебе скрипт квеста:

scriptName dunHarmugstahlLeverScript extends objectReference
import Debug
import Utility

ObjectReference Property doorStart Auto
ObjectReference Property door01 Auto
ObjectReference Property door02 Auto
ObjectReference Property door03 Auto 
ObjectReference Property door04 Auto
ObjectReference Property door05 Auto
;ObjectReference Property doorController Auto

ObjectReference Property lever01 Auto
ObjectReference Property lever02 Auto
ObjectReference Property lever03 Auto
ObjectReference Property lever04 Auto

ObjectReference Property startTrigger Auto

default2StateActivator door01Script
default2StateActivator door02Script
default2StateActivator door03Script
default2StateActivator door04Script

ObjectReference Property Collision  Auto  

bool isComplete = false

event OnCellLoad()
	door01Script = door01 as default2StateActivator
	door02Script = door02 as default2StateActivator
	door03Script = door03 as default2StateActivator
	door04Script = door04 as default2StateActivator
	door01script.SetOpen(False)
	door02script.SetOpen(False)
	door03script.SetOpen(False)
	door04script.SetOpen(False)
endEvent

event OnActivate (objectReference TriggerRef)
	;checkAllOpen()
	if (isComplete == false)
		if (TriggerRef == lever01)
			openDoorPatternA()
			checkAllOpen()
		elseif (TriggerRef == lever02)
			openDoorPatternB()
			checkAllOpen()
		elseif (TriggerRef == lever03)
			openDoorPatternC()
			checkAllOpen()
		elseif (TriggerRef == lever04)
			openDoorPatternD()
			checkAllOpen()
		elseif (TriggerRef == startTrigger)
			;Notification("Start Trigger")
			puzStart()
		endif
	endif
endevent

function puzStart()
	startTrigger.Disable()
	openDoorStart()
endFunction

function openDoorPatternA()
	lever01.BlockActivation()
	lever02.BlockActivation()
	lever03.BlockActivation()
	lever04.BlockActivation()
	openDoor01()
	openDoor02()
	lever01.BlockActivation(false)
	lever02.BlockActivation(false)
	lever03.BlockActivation(false)
	lever04.BlockActivation(false)
endfunction

function openDoorPatternB()
	lever01.BlockActivation()
	lever02.BlockActivation()
	lever03.BlockActivation()
	lever04.BlockActivation()
	openDoor01() 
	openDoor02()
	openDoor03()
	lever01.BlockActivation(false)
	lever02.BlockActivation(false)
	lever03.BlockActivation(false)
	lever04.BlockActivation(false)
endfunction

function openDoorPatternC()
	lever01.BlockActivation()
	lever02.BlockActivation()
	lever03.BlockActivation()
	lever04.BlockActivation()
	openDoor02()
	openDoor03()
	openDoor04()
	lever01.BlockActivation(false)
	lever02.BlockActivation(false)
	lever03.BlockActivation(false)
	lever04.BlockActivation(false)
endfunction

function openDoorPatternD()
	lever01.BlockActivation()
	lever02.BlockActivation()
	lever03.BlockActivation()
	lever04.BlockActivation()
	openDoor03()
	openDoor04()
	lever01.BlockActivation(false)
	lever02.BlockActivation(false)
	lever03.BlockActivation(false)
	lever04.BlockActivation(false)
endfunction


function openDoor01()
	wait(0.1)
	door01script.SetOpen(!door01script.isOpen)
endFunction

function openDoor02() 
	;lever01.goToState( "Inactive" )
	;lever02.goToState( "Inactive" )
	;lever03.goToState( "Inactive" )
	;lever04.goToState( "Inactive" )
	door02script.SetOpen(!door02script.isOpen)
endFunction

function openDoor03()
	;lever01.goToState( "Inactive" )
	;lever02.goToState( "Inactive" )
	;lever03.goToState( "Inactive" )
	;lever04.goToState( "Inactive" )
	door03script.SetOpen(!door03script.isOpen)
endFunction

function openDoor04()
	;lever01.goToState( "Inactive" )
	;lever02.goToState( "Inactive" )
	;lever03.goToState( "Inactive" )
	;lever04.goToState( "Inactive" )
	door04script.SetOpen(!door04script.isOpen)
endFunction

function openDoorStart()
	;lever01.goToState( "Inactive" )
	;lever02.goToState( "Inactive" )
	;lever03.goToState( "Inactive" )
	;lever04.goToState( "Inactive" )
	door05.Activate(self)
	;openDoor01()
	;openDoor02()
	;openDoor03()
	;openDoor04()
endFunction

function checkAllOpen()
	if (door01script.isOpen && door02script.isOpen && door03script.isOpen && door04script.isOpen)
		;Notification("COMPLETED")
		isComplete = true
		lever01.goToState( "Inactive" )
		lever02.goToState( "Inactive" )
		lever03.goToState( "Inactive" )
		lever04.goToState( "Inactive" )
		lever01.BlockActivation()
		lever02.BlockActivation()
		lever03.BlockActivation()
		lever04.BlockActivation()
		Collision.Disable()
		door05.Activate(self)
		door01script.SetOpen(TRUE)
		door02script.SetOpen(TRUE)
		door03script.SetOpen(TRUE)
		door04script.SetOpen(TRUE)
	else
		;Notification("NOT COMPLETED")
	endif
endfunction





#438 Ссылка на это сообщение stanislavd

stanislavd
  • Авантюрист
  • 118 сообщений

Отправлено

мне же надо, что бы не просто отключались водопады, а чтобы выполнялось после этого действие! водопады - лампочки подбора кода!))) 

ты же весь мой квест не знаешь!... это первая часть квеста.. открыть проход, а вторая часть там свои заморочки.. вот мне и надо сделать скрипт связи... чтобы я туда кучу вещей мог подключить...  новые условия прописать!... а не просто вкл/выкл водопадов!..



#439 Ссылка на это сообщение Azazellz

Azazellz
  • Знаменитый оратор
  • 2 055 сообщений
  •    

Отправлено

ты же весь мой квест не знаешь!..

Естестевенно, ведь ты так нифига про него и не рассказал.
Пики, траплинкеры, водопады, куча вещей... А суть, что надо сделать и что в итоге получить - так и не сказал.
Сильно секретно, видать.

Ну, раз секретно - разбирайся сам.
Скрипт вон есть, сделай копию, правь ее как тебе угодно - хоть водопады туда впихивай, хоть лампочки, и привязывай ее куда там тебе захочется.
Ибо скрипт лишь чуть-чуть сложнее того, что я тебе сбрасывал до этого. Добавлена защита от дурака, все сведено в один скрипт, а заодно и в конце добавлена функция на проверку открытых пик, которая вызывается каждый раз, как ты дергаешь рычаги.
Другими словами - скрипта, который отдельно сидел бы и мониторил состояние пик - нет. Все тут.

Сообщение отредактировал Azazellz: 15 сентября 2018 - 12:25


#440 Ссылка на это сообщение stanislavd

stanislavd
  • Авантюрист
  • 118 сообщений

Отправлено

Вообще то я сразу сформулировал задание! что мне надо привязать к пике водопад! и то что вместо него началась демагогия, это твоя проблема, которая мешает решению моей задачи! я давно проанализировал, решил что нужно и сформулировал что именно нужно сделать!  и я не тупо копирую тексты в скрипты, а нахожу нужные строчки и нужные места!!! ну не совсем я разобрался, как нужно прописывать в разные функции и связи с другими скриптами... вот и ищу как это сделать на подобных примерах!


Сообщение отредактировал stanislavd: 15 сентября 2018 - 13:46


#441 Ссылка на это сообщение stanislavd

stanislavd
  • Авантюрист
  • 118 сообщений

Отправлено

Азазель, в следующий раз читай внимательно людей! 

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

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

Scriptname aaaaKvestDrevnegoProhoda extends ObjectReference  

import Debug
import Utility

ObjectReference Property doorStart Auto
ObjectReference Property door01 Auto
ObjectReference Property door02 Auto
ObjectReference Property door03 Auto 
ObjectReference Property door04 Auto
ObjectReference Property door05 Auto
;ObjectReference Property doorController Auto

ObjectReference Property lever01 Auto
ObjectReference Property lever02 Auto
ObjectReference Property lever03 Auto
ObjectReference Property lever04 Auto

ObjectReference Property startTrigger Auto

;default2StateActivator door01Script
;default2StateActivator door02Script
;default2StateActivator door03Script
;default2StateActivator door04Script

ObjectReference Property Collision  Auto  

bool isComplete = false

;event OnCellLoad()
;	door01Script = door01 as default2StateActivator
;	door02Script = door02 as default2StateActivator
;	door03Script = door03 as default2StateActivator
;	door04Script = door04 as default2StateActivator
;	door01script.SetOpen(False)
;	door02script.SetOpen(False)
;	door03script.SetOpen(False)
;	door04script.SetOpen(False)
;endEvent

event OnActivate (objectReference TriggerRef)
	;checkAllOpen()
	if (isComplete == false)
		if (TriggerRef == lever01)
			openDoorPatternA()
			checkAllOpen()
		elseif (TriggerRef == lever02)
			openDoorPatternB()
			checkAllOpen()
		elseif (TriggerRef == lever03)
			openDoorPatternC()
			checkAllOpen()
		elseif (TriggerRef == lever04)
			openDoorPatternD()
			checkAllOpen()
		elseif (TriggerRef == startTrigger)
			;Notification("Start Trigger")
			puzStart()
		endif
	endif
endevent

function puzStart()
	startTrigger.Disable()
	openDoorStart()
endFunction

function openDoorPatternA()
	lever01.BlockActivation()
	lever02.BlockActivation()
	lever03.BlockActivation()
	lever04.BlockActivation()
	openDoor01()
	openDoor02()
	lever01.BlockActivation(false)
	lever02.BlockActivation(false)
	lever03.BlockActivation(false)
	lever04.BlockActivation(false)
endfunction

function openDoorPatternB()
	lever01.BlockActivation()
	lever02.BlockActivation()
	lever03.BlockActivation()
	lever04.BlockActivation()
	openDoor01() 
	openDoor02()
	openDoor03()
	lever01.BlockActivation(false)
	lever02.BlockActivation(false)
	lever03.BlockActivation(false)
	lever04.BlockActivation(false)
endfunction

function openDoorPatternC()
	lever01.BlockActivation()
	lever02.BlockActivation()
	lever03.BlockActivation()
	lever04.BlockActivation()
	openDoor02()
	openDoor03()
	openDoor04()
	lever01.BlockActivation(false)
	lever02.BlockActivation(false)
	lever03.BlockActivation(false)
	lever04.BlockActivation(false)
endfunction

function openDoorPatternD()
	lever01.BlockActivation()
	lever02.BlockActivation()
	lever03.BlockActivation()
	lever04.BlockActivation()
	openDoor03()
	openDoor04()
	lever01.BlockActivation(false)
	lever02.BlockActivation(false)
	lever03.BlockActivation(false)
	lever04.BlockActivation(false)
endfunction


function openDoor01()
	wait(0.1)
;	door01script.SetOpen(!door01script.isOpen)
	if door01.IsEnabled()
		door01.Disable()
	else
		door01.Enable()
	endif
endFunction

function openDoor02() 
	;lever01.goToState( "Inactive" )
	;lever02.goToState( "Inactive" )
	;lever03.goToState( "Inactive" )
	;lever04.goToState( "Inactive" )
;	door02script.SetOpen(!door02script.isOpen)
	if door02.IsEnabled()
		door02.Disable()
	else
		door02.Enable()
	endif
endFunction

function openDoor03()
	;lever01.goToState( "Inactive" )
	;lever02.goToState( "Inactive" )
	;lever03.goToState( "Inactive" )
	;lever04.goToState( "Inactive" )
;	door03script.SetOpen(!door03script.isOpen)
	if door03.IsEnabled()
		door03.Disable()
	else
		door03.Enable()
	endif
endFunction

function openDoor04()
	;lever01.goToState( "Inactive" )
	;lever02.goToState( "Inactive" )
	;lever03.goToState( "Inactive" )
	;lever04.goToState( "Inactive" )
;	door04script.SetOpen(!door04script.isOpen)
	if door04.IsEnabled()
		door04.Disable()
	else
		door04.Enable()
	endif
endFunction

function openDoorStart()
	;lever01.goToState( "Inactive" )
	;lever02.goToState( "Inactive" )
	;lever03.goToState( "Inactive" )
	;lever04.goToState( "Inactive" )
	door05.Activate(self)
	;openDoor01()
	;openDoor02()
	;openDoor03()
	;openDoor04()
endFunction

function checkAllOpen()
	if (door01.IsEnabled() && door02.IsEnabled() && door03.IsEnabled() && door04.IsEnabled())
		;Notification("COMPLETED")
		isComplete = true
		lever01.goToState( "Inactive" )
		lever02.goToState( "Inactive" )
		lever03.goToState( "Inactive" )
		lever04.goToState( "Inactive" )
		lever01.BlockActivation()
		lever02.BlockActivation()
		lever03.BlockActivation()
		lever04.BlockActivation()
		Collision.Disable()
		door05.Activate(self)
;		door01script.SetOpen(TRUE)
;		door02script.SetOpen(TRUE)
;		door03script.SetOpen(TRUE)
;		door04script.SetOpen(TRUE)
	else
		;Notification("NOT COMPLETED")
	endif
endfunction








Темы с аналогичным тегами papyrus, help, скрипты, вопросы

Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 скрытых