Перейти к содержанию

Нужен скрипт под "Необходимости Морровинда".


Рекомендуемые сообщения

Собственно плагин "Necessities of Morrowind", который вносит необходимость в еде, питье, сне и прочее. Для сна на природе нужно воспользоваться спальным мешком, если спать на голой земле начислятся штрафы, как если бы и не спал. Вот на спальнике висят такие скрипты:

Собственно на misc-е, который не позволяет разложить его в воде или в интеръере

 

begin NOM_bedroll

;--Bedroll.

short delCounter

short state

short OnPCDrop

short OnPCEquip

 

float Xpos

float Ypos

float Zpos

float Zpos1 ;--Unused

 

if ( state == 0 )

if ( OnPCEquip )

set OnPCEquip to 0

StartScript NOM_config

elseif ( onPCDrop )

set state to 10

endif

return

 

elseif ( state == 10 )

set Xpos to GetPos X

set Ypos to GetPos Y

set Zpos to GetPos Z

Disable

if ( wr_utilsPCInWater )

messagebox "Вы не можете положить спальный мешок в воду!"

player->AddItem "NOM_bedroll_misc" 1

else

set NOM_fire_bed to 2

StartScript "NOM_illegal_check"

endif

set state to 20

 

elseif ( state == 20 )

set delCounter to ( delCounter + 1 )

if ( delCounter > 25 )

SetDelete 1

endif

 

endif

 

end

 

И на появляющемся активаторе

 

begin NOM_bedroll_sleep

;--Bedroll on ground.

; This bedroll replaces the regular (inventory) bedroll when the regular

; bedroll is dropped.

short state0 ;--Unused

short state

short button

short apphour

short currentHour

short delCounter

 

;--Activate (Usage menu)

if ( state == 0 )

if ( OnActivate )

set button to -1

set state to 10

messagebox "Выберите действие:" "Отдохнуть" "Взять"

endif

return

 

;--Handle usage menu

elseif ( state == 10 )

set button to GetButtonPressed

if ( button == -1 )

return

elseif ( button == 0 )

ShowRestMenu

set state to 30

elseif ( button == 1 )

player->AddItem "NOM_bedroll_misc" 1

Disable

set state to 40

return

endif

 

;--PC Resting

elseif ( state == 30 )

set apphour to GameHour

if ( MenuMode == 0)

set state to 0

set state to 0

set NOM_sleeping to 0

StartScript NOM_sleep_penalties

endif

 

if ( NOM_sleepactive == 0 )

set NOM_sleep to 0

return

endif

 

if ( GetPCSleep )

if ( NOM_sleeping == 0 )

set NOM_sleeping to 1

endif

if ( currentHour != apphour )

set currentHour to apphour

set NOM_sleep to ( NOM_sleep - 1 )

player->ModCurrentHealth, 2

endif

endif

 

;--Will delete

elseif ( state == 40 )

set delCounter to ( delCounter + 1 )

if ( delCounter > 25 )

StopScript "NOM_bedroll_sleep"

SetDelete 1

endif

set state to -1

 

endif

end

 

А мне позарез нужен скрипт как раз для misc-а, наподобе вот этого, стандартного:

 

Begin _furn_BedScript

 

short messageOn

short button

 

if ( MenuMode == 1 )

Return

endif

 

if ( OnActivate == 1 )

MessageBox "Кровать:" "Отдохнуть" "Разобрать"

set messageOn to 1

endif

 

if ( messageOn == 1)

 

set button to GetButtonPressed

 

if ( button >= 0 )

set messageOn to 0

endif

 

if ( button == 0 )

ShowRestMenu

elseif ( button == 1 )

Activate

return

endif

endif

 

end _furn_BedScript

 

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

Помогите, плиз.

Ссылка на комментарий
Поделиться на другие сайты

Как-то непонятно написано... Что тебе нужно сделать с переносными кроватями? Чтобы их в воду нельзя было положить? Изменено пользователем LofZ
Ссылка на комментарий
Поделиться на другие сайты

Как я понял, чтобы кровати из плагина с мебелью работали с Necessities of Morrowind, в общем чтоб на них выспаться можно было.

 

Не уверен, но попробуй вот такой скрипт на кровати повесить:

 

Begin _furn_BedScript

short messageOn
short button

if ( MenuMode == 1 )
Return
endif

if ( OnActivate == 1 )
MessageBox "Кровать:" "Отдохнуть" "Разобрать"
set messageOn to 1
endif

if ( messageOn == 1)

set button to GetButtonPressed

if ( button >= 0 )
set messageOn to 0
endif

if ( button == 0 )
ShowRestMenu


set apphour to GameHour
if ( MenuMode == 0)
set state to 0
set state to 0
set NOM_sleeping to 0
StartScript NOM_sleep_penalties
endif

if ( NOM_sleepactive == 0 )
set NOM_sleep to 0
return
endif

if ( GetPCSleep )
if ( NOM_sleeping == 0 )
set NOM_sleeping to 1
endif
if ( currentHour != apphour )
set currentHour to apphour
set NOM_sleep to ( NOM_sleep - 1 )
player->ModCurrentHealth, 2
endif
endif

elseif ( button == 1 )
Activate
return
endif
endif

end _furn_BedScript

Ссылка на комментарий
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...