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

Срочно требуется скрипт!! тоесть 2...


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

вообщем нужен скрипт..правда он сложноват чуть чуть (на мой взгляд)

суть такова. мне надо чтобы:

ПРи активации двери скрипт висящий на двери проверял принадлежность игрока к вампирам. если игрок вампир и хочет войти в дверь то ему ставится значение "гет хилт 1", высвечивается месседжбокс: "войдя в дверь вас ударило мощнейшим зарядом электричества и вы ели ели успели выбежать" также доббавляется журнальная запись о том, что он должен найти кольцо которое скроет его "вампиризм". На кольцо вешается скрипт тоесть если ты одел кольцо то в скрипте двери проходит значение "ид_кольца"==1 летит мэссэдж "С помощью кольца Вы вошли в дверь" а если "ид_кольца"==0 то соотвесно:

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

а если игрок НЕ вампир то он открывает дверь, и при входе в интерьер летит мэсседж "можете идти".

О как)))

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

  • Ответов 52
  • Создана
  • Последний ответ

Топ авторов темы

сделать глобальную перемнееую XXX для передачи инфы о надетости кольца

 

скрипт на кольцо

 

begin имя_скрипта

 

short OnPCEquip

 

if ( OnPCEquip == 0 )

Set XXX to 0

else

Set XX to 1

endif

end

 

скрипт на дверь

 

begin имя_скрипта

 

if ( OnActivate == 1 )

if ( XXX == 0 )

Player -> SetHealth, 1

MessageBox "исчи мега-кольцо" "ок"

else

MessageBox "прошел мерцавец" "ок"

Activate

endif

endif

 

end

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

а где в скрипте прописана фигулька о принадлежности плайера к вампам?

и чё за переменная ХХХ? можешь её написать? я в скриптах полный даун)

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

упс, верно

 

блок

if ( XXX == 0 )

Player -> SetHealth, 1

MessageBox "исчи мега-кольцо" "ок"

else

MessageBox "прошел мерцавец" "ок"

Activate

endif

 

 

заменить на

 

if ( PCVampire == 1 ); глобальная переменная моры, объявлять не надо

if ( XXX == 0 )

Player -> SetHealth, 1

MessageBox "исчи мега-кольцо" "ок"

else

MessageBox "прошел мерцавец" "ок"

Activate

endif

else

Activate

endif

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

if ( PCVampire == 1 ); глобальная переменная моры, объявлять не надо

объявлять НАДО

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

ты можешь написать полностью скрипт а потом напишешь чё заменить?

а то у тебя в скрипте на кольце нету принадлежности к вампам, потом там где то ХХХ стоит а где то ХХ...как это понимать?

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

вампиризм не надо, читай MFSD8

 

XXX - имя переменной, любое, типа short, создавать в CS в разделе глобальных, хорошо пусть будет megaringequip

 

на кольцо принадлежность проверять и не надо, это делает скрипт двери, когда активация происходит

 

begin megaring

short OnPCEquip

if ( OnPCEquip == 0 )
Set megaringequip to 0
else
Set megaringequip to 1
endif

end

 

begin megadoor

if ( OnActivate == 1 ); если активировал
if ( PCVampire == 1 );если вампир проверка на кольцо
	if ( megaringequip == 0 ); если кольцо не одета
		Player -> SetHealth, 1
		MessageBox "исчи мега-кольцо" "ок" 
		return;
	else;если кольцо одето
		MessageBox "прошел мерцавец" "ок"
		Activate
	endif
else; если не вампир, проходи сразу
	Activate
endif 
endif

end

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

млин я не понял.

 

в разделе гимплэй закладка глобальыне переменные.

там я создал новый скрипт (или чё это такое) с названием P_vamps_ring_script тип данных шорт. куда лепить скрипт

 

begin megaring

 

short OnPCEquip

 

if ( OnPCEquip == 0 )

Set megaringequip to 0

else

Set megaringequip to 1

endif

 

end

 

вот этот скрипт?

 

begin megadoor

 

if ( OnActivate == 1 );

if ( PCVampire == 1 );

if ( megaringequip == 0 );

Player -> SetHealth, 1

MessageBox "исчи мега-кольцо" "ок"

return;

else;

MessageBox "прошел мерцавец" "ок"

Activate

endif

else;

Activate

endif

endif

 

end

 

это на дверь я так понял?

тольбко на дверь перепиши а то у меня уже на ней тоит скрипт

 

Begin "must_have_key"

 

 

short haskey

 

if ( OnActivate == 1 )

if ( player->GetItemCount "P_key_for_script" == 0 )

if ( haskey == 0 )

if ( GetLocked == 0 )

MessageBox "Просто так сюда не войти. Нужен ключ, и судя по всему, очень старый"

else

MessageBox "После пяти минут открывания замка с помощью ключа и всяких подручных средств, дверь наконец поддалась. Ну что, посмотрим что в этом доме! -радостно вскрикнули Вы."

endif

endif

elseif ( player->GetItemCount "P_key_for_script" == 0 )

if ( haskey == 1 )

Activate

endif

else

Activate

set haskey to 1

endif

endif

 

 

End "P_key_for_script"

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

в разделе гимплэй закладка глобальыне переменные. Там создай переменную megaringequip.

Вот скрипт на дверь:

Begin MegaDoor_script


short haskey

if ( OnActivate == 1 )
if ( player->GetItemCount "P_key_for_script" > 0 )
	set haskey to 1
else
	set haskey to 0
endif
if ( haskey == 1 )
	if ( PCVampire == 1 );
		if ( megaringequip == 0 );
			Player -> SetHealth, 1
			MessageBox "исчи мега-кольцо, бо молнийа жжоть!" "ок"
			return;
		else
			MessageBox "прошел мерцавец" "ок"
			Activate
		endif
	else;
		Activate
	endif
else
	MessageBox "Без ключа не пройти..."
endif
endif


End MegaDoor_script

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

про кеи ты ничерта не говорил, потому я про них и не знал

первый скрипт на кольцо, которое надо одеть чтоб пройти

 

P_vamps_ring_script - глобальная переменная иптыть, а не скрипт, тогда на кольцо

begin megaring

short OnPCEquip

if ( OnPCEquip == 0 )
Set P_vamps_ring_script to 0
else
Set P_vamps_ring_script to 1
endif

end

 

 

далее, у тебя критическая ошибка в логике

if ( player->GetItemCount "P_key_for_script" == 0 )

и потом ниже

elseif ( player->GetItemCount "P_key_for_script" == 0 )

бред? да!

 

if ( GetLocked == 0 )

MessageBox "Просто так сюда не войти. Нужен ключ, и судя по всему, очень старый"

станно, потому что если == 0, то дверь не залочена ;)

назначение переменной haskey не понял

 

тогда на дверь

Begin "must_have_key"
short once
if ( OnActivate == 1 )
if ( player->GetItemCount "P_key_for_script" == 0 );если ключа нету - пошел нафих
	MessageBox "Просто так сюда не войти. Нужен ключ, и судя по всему, очень старый"
	return
else;если кольцо есть, то один раз надо двери открыть им
	if ( once == 0 )
		MessageBox "После пяти минут открывания замка с помощью ключа и всяких подручных средств, дверь наконец поддалась. Ну что, посмотрим что в этом доме! -радостно вскрикнули Вы."
		Set once to 1
	endif
	
	if ( PCVampire == 1 );если вампир
		if ( P_vamps_ring_script == 0 ); если кольцо не одето 
			if ( player->GetItemCount "P_key_for_script" == 0 );и его нету в инвентаре
				Player -> SetHealth, 1
				MessageBox "исчи мега-кольцо"
				return;
			else	;но если кольцо не одето, но есть в инвентаре
				Player -> SetHealth, 1
				MessageBox "дубина одень мега-кольцо иначе сдохнешь"
				return;
			endif
		else ;а если кольцо одето
			MessageBox "прошел мерцавец"
			Activate
		endif
	else; если не вампир, проходи сразу
		Activate
	endif 	
endif

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

майк, а если первый раз игрок дверь открыл и ключ выкинул? что тогда твой скрипт скажет?
Ссылка на комментарий
Поделиться на другие сайты

про кеи ты ничерта не говорил, потому я про них и не знал

первый скрипт на кольцо, которое надо одеть чтоб пройти

 

P_vamps_ring_script - глобальная переменная иптыть, а не скрипт, тогда на кольцо

begin megaring

short OnPCEquip

if ( OnPCEquip == 0 )
Set P_vamps_ring_script to 0
else
Set P_vamps_ring_script to 1
endif

end

далее, у тебя критическая ошибка в логике

if ( player->GetItemCount "P_key_for_script" == 0 )

и потом ниже

elseif ( player->GetItemCount "P_key_for_script" == 0 )

бред? да!

 

if ( GetLocked == 0 )

MessageBox "Просто так сюда не войти. Нужен ключ, и судя по всему, очень старый"

станно, потому что если == 0, то дверь не залочена ;)

назначение переменной haskey не понял

 

тогда на дверь

Begin "must_have_key"
short once
if ( OnActivate == 1 )
if ( player->GetItemCount "P_key_for_script" == 0 );если ключа нету - пошел нафих
	MessageBox "Просто так сюда не войти. Нужен ключ, и судя по всему, очень старый"
	return
else;если кольцо есть, то один раз надо двери открыть им
	if ( once == 0 )
		MessageBox "После пяти минут открывания замка с помощью ключа и всяких подручных средств, дверь наконец поддалась. Ну что, посмотрим что в этом доме! -радостно вскрикнули Вы."
		Set once to 1
	endif
	
	if ( PCVampire == 1 );если вампир
		if ( P_vamps_ring_script == 0 ); если кольцо не одето 
			if ( player->GetItemCount "P_key_for_script" == 0 );и его нету в инвентаре
				Player -> SetHealth, 1
				MessageBox "исчи мега-кольцо"
				return;
			else;но если кольцо не одето, но есть в инвентаре
				Player -> SetHealth, 1
				MessageBox "дубина одень мега-кольцо иначе сдохнешь"
				return;
			endif
		else;а если кольцо одето
			MessageBox "прошел мерцавец"
			Activate
		endif
	else; если не вампир, проходи сразу
		Activate
	endif 	
endif

 

а энд "ид скрипта"?

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

действительно...

 

тогда на двери

Begin must_have_key
short once
if ( OnActivate == 1 )
if ( once == 0 )
	if ( player->GetItemCount "P_key_for_script" == 0 );если ключа нету - пошел нафих
		MessageBox "Просто так сюда не войти. Нужен ключ, и судя по всему, очень старый"
		return
	else;если кольцо есть, то один раз надо двери открыть им
		MessageBox "После пяти минут открывания замка с помощью ключа и всяких подручных средств, дверь наконец поддалась. Ну что, посмотрим что в этом доме! -радостно вскрикнули Вы."
		Set once to 1
	endif
endif

if ( once == 1 )	
	if ( PCVampire == 1 );если вампир
		if ( P_vamps_ring_script == 0 ); если кольцо не одето 
			if ( player->GetItemCount "P_key_for_script" == 0 );и его нету в инвентаре
				Player -> SetHealth, 1
				MessageBox "исчи мега-кольцо"
				return;
			else	;но если кольцо не одето, но есть в инвентаре
				Player -> SetHealth, 1
				MessageBox "дубина одень мега-кольцо иначе сдохнешь"
				return;
			endif
		else ;а если кольцо одето
			MessageBox "прошел мерцавец"
			Activate
		endif
	else; если не вампир, проходи сразу
		Activate
	endif 	
endif
endif
end

в end название скрипта не надо есля правильно помню

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

скипт

 

Begin "must_have_key"

 

short once

if ( OnActivate == 1 )

if ( player->GetItemCount "P_key_for_script" == 0 );

MessageBox "Просто так сюда не войти. Нужен ключ, и судя по всему, очень старый"

return

else;

if ( once == 0 )

MessageBox "После пяти минут открывания замка с помощью ключа и всяких подручных средств, дверь наконец поддалась. Ну что, посмотрим что в этом доме! -радостно вскрикнули Вы."

Set once to 1

endif

 

if ( PCVampire == 1 );

if ( P_vamps_ring_script == 0 );

if ( player->GetItemCount "P_key_for_script" == 0 );

Player -> SetHealth, 1

MessageBox "Хм..нужно найти кольцо написанное в записке..Может посмотреть на крыше?"

return;

else ;

Player -> SetHealth, 1

MessageBox "Чёрт! я забыл одеть кольцо!"

return;

endif

else ;

MessageBox "Вы можете идти.."

Activate

endif

else;

Activate

endif

endif

end "must_have_key"

 

ругается. пишет

"ид скрипта"

мисс матчед иф\эндиф\елсе стартинг он лайн 4

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

блин скрипт просто не хочет сохраняться...

вот скрипт

 

Begin must_have_key

short once

if ( OnActivate == 1 )

if ( once == 0 )

if ( player->GetItemCount "P_key_for_script" == 0 );

MessageBox "Просто так сюда не войти. Нужен ключ, и судя по всему, очень старый"

return

else;

MessageBox "После пяти минут открывания замка с помощью ключа и всяких подручных средств, дверь наконец поддалась. Ну что, посмотрим что в этом доме! -радостно вскрикнули Вы."

Set once to 1

endif

endif

 

if ( once == 1 )

if ( PCVampire == 1 );

if ( P_vamps_ring_script == 0 );

if ( player->GetItemCount "P_key_for_script" == 0 );

Player -> SetHealth, 1

MessageBox "Нужно искать кольцо описанное в записке...Может на крыше?"

return;

else ;

Player -> SetHealth, 1

MessageBox "Чёрт! Я забыл одеть кольцо!"

return;

endif

else;

MessageBox "Вы можете идти..."

Activate

endif

else;

Activate

endif

endif

endif

end

 

 

я нажимаю "сохранить" а он просто "обновляет" страничку со скриптом и всё(

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

Там можна одним скриптом обойтись, используя HasItemEquipped

Begin must_have_key
short once
if ( OnActivate == 1 )
if ( once == 0 )
	if ( player->GetItemCount "P_key_for_script" == 0 );если ключа нету - пошел нафих
		MessageBox "Просто так сюда не войти. Нужен ключ, и судя по всему, очень старый"
		return
	else;если кольцо есть, то один раз надо двери открыть им
		MessageBox "После пяти минут открывания замка с помощью ключа и всяких подручных средств, дверь наконец поддалась. Ну что, посмотрим что в этом доме! -радостно вскрикнули Вы."
		Set once to 1
	endif
endif

if ( once == 1 )	
	if ( PCVampire == 1 );если вампир
		if ( player->HasItemEquipped "ID_MEGARING"  == 0 ); если кольцо не одето
			if ( player->GetItemCount "P_key_for_script" == 0 );и его нету в инвентаре
				Player -> SetHealth, 1
				MessageBox "исчи мега-кольцо"
				return;
			else   ;но если кольцо не одето, но есть в инвентаре
				Player -> SetHealth, 1
				MessageBox "дубина одень мега-кольцо иначе сдохнешь"
				return;
			endif
		else;а если кольцо одето
			MessageBox "прошел мерцавец"
			Activate
		endif
	else; если не вампир, проходи сразу
		Activate
	endif	 
endif
endif
end

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

2 Ендер Виггин (вроде так)

а какие различия?

 

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

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

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

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

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

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

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

Войти

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

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

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