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

Глючный button


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

if ( GetPCSleep == 0 )

if ( State == 2 )

if ( butst == 0 )

DisablePlayerControls

player->ModCurrentFatigue -9999

MessageBox "Вы проснулись на привязи к ножке кровати. Над вами стоит старик. Он говорит вам:Чего ты не принесешь пакет. Император выпустил тебя из тюрьмы, а ты не выполняешь его приказы. У тебя выбор. В тюрьму или служить клинкам.","Служить клинкам","В тюрьму"

set button to getbuttonpressed

set butst to 1

endif

endif

endif

;if ( butst == 1 )

if ( button == 0 )

set count_mistake_blade to 1

set butst to 2

MessageBox "Теперь отдай мне пакет" "Готово"

player->modcurrentfatigue 9999

set butst to 0

EnablePlayerControls

elseif ( button == 1 )

setpccrimelevel 5000

player->setfatigue 0

startscript player_go_jail_end

set butst to 0

endif

;endif

 

Вот пишу скрипт для плагина, но button он не работает. Можете пожалуйста объяснить.

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

Перед set butst to 1 блок

if ( button == -1 )
return
endif

ставить не пробовали?

 

Сейчас попробую.

Можно пожалуйста, блок целиком. Не пойму где ставить.

Изменено пользователем Муурн Шепард
Ссылка на комментарий
Поделиться на другие сайты

Сейчас попробую.

Можно пожалуйста, блок целиком. Не пойму где ставить.

if ( GetPCSleep == 0 )
if ( State == 2 )
if ( butst == 0 )
DisablePlayerControls
player->ModCurrentFatigue -9999
MessageBox "Вы проснулись на привязи к ножке кровати. Над вами стоит старик. Он говорит вам:Чего ты не принесешь пакет. Император выпустил тебя из тюрьмы, а ты не выполняешь его приказы. У тебя выбор. В тюрьму или служить клинкам.","Служить клинкам","В тюрьму"
set button to getbuttonpressed
if ( button == -1 )
return
endif
set butst to 1
endif
endif
endif
;if ( butst == 1 )
if ( button == 0 )
	set count_mistake_blade to 1
	set butst to 2
	MessageBox "Теперь отдай мне пакет" "Готово"
	player->modcurrentfatigue 9999
	set butst to 0
	EnablePlayerControls
elseif ( button == 1 )
	setpccrimelevel 5000
	player->setfatigue 0
	startscript player_go_jail_end
	set butst to 0
endif
;endif

Персонаж, кстати, еще может на полу или на спальнике спать - может, стоит поменять сообщения на что-нибудь другое типа "Вы проснулись на полу, на спине чувствуется тяжесть кованого сапога. Его хозяин спрашивает, когда вы принесете Косадесу пакет."?

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

Если перед butst, то подвисает. Текст изменил на:"Вы проснулись на привязи к ножке кровати, в незнакомом доме.". Изменено пользователем Муурн Шепард
Ссылка на комментарий
Поделиться на другие сайты

Если перед butst, то подвисает. Текст изменил на:"Вы проснулись на привязи к ножке кровати, в незнакомом доме.".

Попробуйте в таком случае вот так:

if ( GetPCSleep == 0 )
if ( State == 2 )
if ( butst == 0 )
DisablePlayerControls
player->ModCurrentFatigue -9999
MessageBox "Вы проснулись на привязи к ножке кровати. Над вами стоит старик. Он говорит вам:Чего ты не принесешь пакет. Император выпустил тебя из тюрьмы, а ты не выполняешь его приказы. У тебя выбор. В тюрьму или служить клинкам.","Служить клинкам","В тюрьму"
set button to getbuttonpressed
set butst to 1
endif
endif
endif
if ( butst == 1 )
if ( button == -1 )
	return
elseif ( button == 0 )
	set count_mistake_blade to 1
	set butst to 2
	MessageBox "Теперь отдай мне пакет" "Готово"
	player->modcurrentfatigue 9999
	set butst to 0
	EnablePlayerControls
elseif ( button == 1 )
	setpccrimelevel 5000
	player->setfatigue 0
	startscript player_go_jail_end
	set butst to 0
endif
endif

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

if ( GetPCSleep == 0 )
if ( State == 2 )
if ( butst == 0 )
DisablePlayerControls
player->ModCurrentFatigue -9999
MessageBox "Вы проснулись на привязи к ножке кровати, в незнакомом доме. Над вами стоит старик. Он говорит вам:Чего ты не принесешь пакет. Император выпустил тебя из тюрьмы, а ты не выполняешь его приказы. У тебя выбор. В тюрьму или служить клинкам.","Служить клинкам","В тюрьму"
set button to getbuttonpressed
set butst to 1
endif
endif
endif
if ( butst == 1 )
if ( button == -1 )
	return
elseif ( button == 0 )
	set count_mistake_blade to 1
	set butst to 2
	MessageBox "Теперь отдай мне пакет" "Готово"
	player->modcurrentfatigue 9999
	set butst to 0
	EnablePlayerControls
elseif ( button == 1 )
	setpccrimelevel 5000
	player->setfatigue 0
	startscript player_go_jail_end
	set butst to 0
endif
endif

 

Не думает. Проглатывает, выводит из выбора текста, и ничего не делает.

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

Помнится, был в МСФД такой скрипт -

Begin my_first_script

Short controlvar
Short button
Float timer

If ( MenuMode == 1 )
Return
Endif

If ( OnActivate == 1 )
If ( controlvar == 0 )
MessageBox “Нету голоса - все же кричит, нету крыльев, а чем-то полощет, нет зубов - норовит укусить, нету рта, но все время бормочет. Что это?”, “Летучая мышь”, “Старуха”, “Ветер”, “Дух”
Set controlvar to 1
elseif  controlvar > 1
activate
endif
endif

if ( controlvar == 1 )
set button to GetButtonPressed
if ( button == -1 )
	return
elseif ( button == 2 )
	MessageBox "Ответ верный"
	Activate
	set controlvar to 2
else
	MessageBox "Ответ неверный"
	Player -> AddSpell, "Frost_Curse"
	set controlvar to –1
Endif
elseif ( controlvar == 2 )
Activate
Set controlvar to 3
elseif ( controlvar == -1 )
Set timer to ( timer + GetSecondsPassed )
if timer > 10
	Player -> RemoveSpell, "Frost_Curse"
	set controlvar to -2
endif
endif

End

Посему надо поставить set button to GetButtonPressed перед блоком с проверкой кнопки:

if ( GetPCSleep == 0 )
if ( State == 2 )
if ( butst == 0 )
DisablePlayerControls
player->ModCurrentFatigue -9999
MessageBox "Вы проснулись на привязи к ножке кровати, в незнакомом доме. Над вами стоит старик. Он говорит вам:Чего ты не принесешь пакет. Император выпустил тебя из тюрьмы, а ты не выполняешь его приказы. У тебя выбор. В тюрьму или служить клинкам.","Служить клинкам","В тюрьму"
set butst to 1
endif
endif
endif
if ( butst == 1 )
set button to getbuttonpressed
       if ( button == -1 )
               return
       elseif ( button == 0 )
               set count_mistake_blade to 1
               set butst to 2
               MessageBox "Теперь отдай мне пакет" "Готово"
               player->modcurrentfatigue 9999
               set butst to 0
               EnablePlayerControls
       elseif ( button == 1 )
               setpccrimelevel 5000
               player->setfatigue 0
               startscript player_go_jail_end
               set butst to 0
       endif
endif

Если не поможет - хз, в чем дело.

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

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

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

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

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

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

Войти

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

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

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