Малолетний Раб Отаку Опубликовано 25 сентября, 2007 Жалоба Поделиться Опубликовано 25 сентября, 2007 (изменено) вообщем нужен скрипт..правда он сложноват чуть чуть (на мой взгляд)суть такова. мне надо чтобы:ПРи активации двери скрипт висящий на двери проверял принадлежность игрока к вампирам. если игрок вампир и хочет войти в дверь то ему ставится значение "гет хилт 1", высвечивается месседжбокс: "войдя в дверь вас ударило мощнейшим зарядом электричества и вы ели ели успели выбежать" также доббавляется журнальная запись о том, что он должен найти кольцо которое скроет его "вампиризм". На кольцо вешается скрипт тоесть если ты одел кольцо то в скрипте двери проходит значение "ид_кольца"==1 летит мэссэдж "С помощью кольца Вы вошли в дверь" а если "ид_кольца"==0 то соотвесно: игрок вампир и хочет войти в дверь то ему ставится значение "гет хилт 1", высвечивается месседжбокс: "войдя в дверь вас ударило мощнейшим зарядом электричества и вы ели ели успели выбежать" также доббавляется журнальная запись о том, что он должен найти кольцо которое скроет его "вампиризм". только сделайте так чтобы скрипт со значением""ид_кольца"==1 - пропуск " работал когда кольцо на игроке а не в инвентаре!а если игрок НЕ вампир то он открывает дверь, и при входе в интерьер летит мэсседж "можете идти".О как))) Изменено 25 сентября, 2007 пользователем Реван Ссылка на комментарий Поделиться на другие сайты Поделиться
Майк Опубликовано 25 сентября, 2007 Жалоба Поделиться Опубликовано 25 сентября, 2007 сделать глобальную перемнееую XXX для передачи инфы о надетости кольца скрипт на кольцо begin имя_скрипта short OnPCEquip if ( OnPCEquip == 0 ) Set XXX to 0else Set XX to 1endifend скрипт на дверь begin имя_скрипта if ( OnActivate == 1 ) if ( XXX == 0 ) Player -> SetHealth, 1 MessageBox "исчи мега-кольцо" "ок" else MessageBox "прошел мерцавец" "ок" Activate endifendif end Ссылка на комментарий Поделиться на другие сайты Поделиться
Малолетний Раб Отаку Опубликовано 25 сентября, 2007 Автор Жалоба Поделиться Опубликовано 25 сентября, 2007 (изменено) а где в скрипте прописана фигулька о принадлежности плайера к вампам?и чё за переменная ХХХ? можешь её написать? я в скриптах полный даун) Изменено 25 сентября, 2007 пользователем Реван Ссылка на комментарий Поделиться на другие сайты Поделиться
Майк Опубликовано 25 сентября, 2007 Жалоба Поделиться Опубликовано 25 сентября, 2007 упс, верно блокif ( XXX == 0 )Player -> SetHealth, 1MessageBox "исчи мега-кольцо" "ок" elseMessageBox "прошел мерцавец" "ок"Activateendif заменить на if ( PCVampire == 1 ); глобальная переменная моры, объявлять не надоif ( XXX == 0 )Player -> SetHealth, 1MessageBox "исчи мега-кольцо" "ок" elseMessageBox "прошел мерцавец" "ок"ActivateendifelseActivateendif Ссылка на комментарий Поделиться на другие сайты Поделиться
Малолетний Раб Отаку Опубликовано 25 сентября, 2007 Автор Жалоба Поделиться Опубликовано 25 сентября, 2007 if ( PCVampire == 1 ); глобальная переменная моры, объявлять не надообъявлять НАДО Ссылка на комментарий Поделиться на другие сайты Поделиться
Малолетний Раб Отаку Опубликовано 25 сентября, 2007 Автор Жалоба Поделиться Опубликовано 25 сентября, 2007 ты можешь написать полностью скрипт а потом напишешь чё заменить?а то у тебя в скрипте на кольце нету принадлежности к вампам, потом там где то ХХХ стоит а где то ХХ...как это понимать? Ссылка на комментарий Поделиться на другие сайты Поделиться
Майк Опубликовано 25 сентября, 2007 Жалоба Поделиться Опубликовано 25 сентября, 2007 (изменено) вампиризм не надо, читай 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 Изменено 25 сентября, 2007 пользователем Майк Ссылка на комментарий Поделиться на другие сайты Поделиться
Малолетний Раб Отаку Опубликовано 25 сентября, 2007 Автор Жалоба Поделиться Опубликовано 25 сентября, 2007 (изменено) млин я не понял. в разделе гимплэй закладка глобальыне переменные.там я создал новый скрипт (или чё это такое) с названием P_vamps_ring_script тип данных шорт. куда лепить скрипт begin megaring short OnPCEquip if ( OnPCEquip == 0 ) Set megaringequip to 0else Set megaringequip to 1endif 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 "Просто так сюда не войти. Нужен ключ, и судя по всему, очень старый"elseMessageBox "После пяти минут открывания замка с помощью ключа и всяких подручных средств, дверь наконец поддалась. Ну что, посмотрим что в этом доме! -радостно вскрикнули Вы."endifendifelseif ( player->GetItemCount "P_key_for_script" == 0 )if ( haskey == 1 )ActivateendifelseActivateset haskey to 1endifendif End "P_key_for_script" Изменено 25 сентября, 2007 пользователем Реван Ссылка на комментарий Поделиться на другие сайты Поделиться
Эндер Виггин Опубликовано 25 сентября, 2007 Жалоба Поделиться Опубликовано 25 сентября, 2007 (изменено) в разделе гимплэй закладка глобальыне переменные. Там создай переменную 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 Изменено 25 сентября, 2007 пользователем Ender Wiggin Ссылка на комментарий Поделиться на другие сайты Поделиться
Майк Опубликовано 25 сентября, 2007 Жалоба Поделиться Опубликовано 25 сентября, 2007 про кеи ты ничерта не говорил, потому я про них и не зналпервый скрипт на кольцо, которое надо одеть чтоб пройти 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 Ссылка на комментарий Поделиться на другие сайты Поделиться
Малолетний Раб Отаку Опубликовано 25 сентября, 2007 Автор Жалоба Поделиться Опубликовано 25 сентября, 2007 а мегадор можно изменить? Ссылка на комментарий Поделиться на другие сайты Поделиться
Эндер Виггин Опубликовано 25 сентября, 2007 Жалоба Поделиться Опубликовано 25 сентября, 2007 майк, а если первый раз игрок дверь открыл и ключ выкинул? что тогда твой скрипт скажет? Ссылка на комментарий Поделиться на другие сайты Поделиться
Малолетний Раб Отаку Опубликовано 25 сентября, 2007 Автор Жалоба Поделиться Опубликовано 25 сентября, 2007 (изменено) про кеи ты ничерта не говорил, потому я про них и не зналпервый скрипт на кольцо, которое надо одеть чтоб пройти 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 а энд "ид скрипта"? Изменено 25 сентября, 2007 пользователем Реван Ссылка на комментарий Поделиться на другие сайты Поделиться
Майк Опубликовано 25 сентября, 2007 Жалоба Поделиться Опубликовано 25 сентября, 2007 (изменено) действительно... тогда на двери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 название скрипта не надо есля правильно помню Изменено 25 сентября, 2007 пользователем Майк Ссылка на комментарий Поделиться на другие сайты Поделиться
Малолетний Раб Отаку Опубликовано 25 сентября, 2007 Автор Жалоба Поделиться Опубликовано 25 сентября, 2007 скипт Begin "must_have_key" short onceif ( OnActivate == 1 )if ( player->GetItemCount "P_key_for_script" == 0 );MessageBox "Просто так сюда не войти. Нужен ключ, и судя по всему, очень старый"returnelse;if ( once == 0 )MessageBox "После пяти минут открывания замка с помощью ключа и всяких подручных средств, дверь наконец поддалась. Ну что, посмотрим что в этом доме! -радостно вскрикнули Вы."Set once to 1endif if ( PCVampire == 1 );if ( P_vamps_ring_script == 0 ); if ( player->GetItemCount "P_key_for_script" == 0 );Player -> SetHealth, 1MessageBox "Хм..нужно найти кольцо написанное в записке..Может посмотреть на крыше?"return;else ;Player -> SetHealth, 1MessageBox "Чёрт! я забыл одеть кольцо!"return;endifelse ;MessageBox "Вы можете идти.."Activateendifelse; Activateendif endifend "must_have_key" ругается. пишет "ид скрипта"мисс матчед иф\эндиф\елсе стартинг он лайн 4 Ссылка на комментарий Поделиться на другие сайты Поделиться
Майк Опубликовано 25 сентября, 2007 Жалоба Поделиться Опубликовано 25 сентября, 2007 потому что не финальная версия, F5 в ксплорере и предыдущий пост Ссылка на комментарий Поделиться на другие сайты Поделиться
GKalian Опубликовано 25 сентября, 2007 Жалоба Поделиться Опубликовано 25 сентября, 2007 Кхм...сорри за офтоп...но Реван,зачем тебе столько скриптов? Ссылка на комментарий Поделиться на другие сайты Поделиться
Майк Опубликовано 25 сентября, 2007 Жалоба Поделиться Опубликовано 25 сентября, 2007 тсссс, не вспугни плагин Ссылка на комментарий Поделиться на другие сайты Поделиться
Малолетний Раб Отаку Опубликовано 25 сентября, 2007 Автор Жалоба Поделиться Опубликовано 25 сентября, 2007 блин скрипт просто не хочет сохраняться...вот скрипт Begin must_have_keyshort onceif ( OnActivate == 1 )if ( once == 0 )if ( player->GetItemCount "P_key_for_script" == 0 );MessageBox "Просто так сюда не войти. Нужен ключ, и судя по всему, очень старый"returnelse;MessageBox "После пяти минут открывания замка с помощью ключа и всяких подручных средств, дверь наконец поддалась. Ну что, посмотрим что в этом доме! -радостно вскрикнули Вы."Set once to 1endifendif if ( once == 1 ) if ( PCVampire == 1 );if ( P_vamps_ring_script == 0 ); if ( player->GetItemCount "P_key_for_script" == 0 );Player -> SetHealth, 1MessageBox "Нужно искать кольцо описанное в записке...Может на крыше?"return;else ;Player -> SetHealth, 1MessageBox "Чёрт! Я забыл одеть кольцо!"return;endifelse; MessageBox "Вы можете идти..."Activateendifelse; Activateendif endifendifend я нажимаю "сохранить" а он просто "обновляет" страничку со скриптом и всё( Ссылка на комментарий Поделиться на другие сайты Поделиться
Малолетний Раб Отаку Опубликовано 25 сентября, 2007 Автор Жалоба Поделиться Опубликовано 25 сентября, 2007 2 Калиа я плаг делаю *гордицццо* Ссылка на комментарий Поделиться на другие сайты Поделиться
Майк Опубликовано 25 сентября, 2007 Жалоба Поделиться Опубликовано 25 сентября, 2007 грохни его в CS, сохранись, выйди, стартани, создай заново Ссылка на комментарий Поделиться на другие сайты Поделиться
Эндер Виггин Опубликовано 25 сентября, 2007 Жалоба Поделиться Опубликовано 25 сентября, 2007 Там можна одним скриптом обойтись, используя 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 Ссылка на комментарий Поделиться на другие сайты Поделиться
Малолетний Раб Отаку Опубликовано 25 сентября, 2007 Автор Жалоба Поделиться Опубликовано 25 сентября, 2007 таак) ждите плаг)) Ссылка на комментарий Поделиться на другие сайты Поделиться
Майк Опубликовано 25 сентября, 2007 Жалоба Поделиться Опубликовано 25 сентября, 2007 Ender Wiggin+2туплю по вечерам Ссылка на комментарий Поделиться на другие сайты Поделиться
Малолетний Раб Отаку Опубликовано 26 сентября, 2007 Автор Жалоба Поделиться Опубликовано 26 сентября, 2007 2 Ендер Виггин (вроде так)а какие различия? ах да вот ещё маленький скриптик нужен. мне нужно что бы когда чел нажимал на баннер там происходило он активат==1 и вылетал мэссэдж бокс. напишите в точности этот скрипт))) плиз) Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать учетную запись
Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!
Регистрация нового пользователяВойти
Уже есть аккаунт? Войти в систему.
Войти