Переводом с английского GetDead, грубо говоря, - мертвец, умер, это мертвое, т.е - проверка, жив ли проверяемый непись\кричер (не базовый, а конкретная его реф-копия в локации) Например: проверить состояние (не Форбс) Мойры Браун, расположенной в "Магазине на Кратере" и в случае, если она на данный момент мертва - сделать что-то:
If Мойра.GetDead ; если Мойра мертва killall ;порвать всех за это endif
Или же, если Мойра на момент проверки жива, то...
If Мойра.GetDead !=1 ; если Мойра НЕ мертва playsound Rock-n-roll ; проиграть музыку endif
По умолчанию GetDead идентично полной формуле GetDead == 1 (двойной знак равно и единичка в данном случае означает - ДА. Непись гетдед(мёртв)? == Да! )
GetDeadCount - количество смертей, т.е. - сколько было убито копий одного базового непися\кричера. К примеру, сколько мутантов, сделанных на базе одного и раскиданных десятками по Пустоши, было убито игроком.
ЗЫ. А как насчет самому заглянуть на Бетсофт и почитать МОРЕ полезной инфы?
Galko, Спасибо за разъяснение,а за ссылку вдвойне спасибо:)Буду изучать
Добавлено (19 Сентября 2014, 12:29) --------------------------------------------- А подскажите,как убрать много статичных объектов одновременно?Например 30 стульев.Я знаю два способа,это привязать к Хмаркеру и отключить его (Disable) и отключать каждый объект по отдельности,но то и другое слишком долго и муторно!!!Есть ли какой-то другой вариант?
Изменение репутации для пользователя Galko
GalkoOffline
Сообщение №1176
написано: 19 сентября 2014, 08:48
| Отредактировано: Galko - 19 сентября 2014, 09:15
Другой вариант - это первый. Как менее муторный. Ну можно попробовать такое: если все эти 30 предметов находятся в одной локации недалеко друг от друга, то можно их расставить по вкусу и после этого "состряпать" из них один бааальшой статик-коллекшн. И в скрипте отключать уже только его одного. В принципе - это примерно как и с маркером-родителем, единственное, что не придется у каждой копии открывать настройки и выбирать линк на маркер. Просто через контрл выделить все нужные и потом нажать Контрл+G ==== Кстати, забыла добавить - статик-коллекшн подразумевает, что создаваться она будет именно из статики. С другими объектами (фурнитурой, контейнерами и т.д.) это не проканает
Добавлено (19 Сентября 2014, 19:04) --------------------------------------------- Подскажите пожалуйста как разыгрыать сценку: Один НПС (Снайпер) Стреляет с крыши в другого НПС (Жертву) находящегося внизу на достаточном расстоянии,причем жертва умирает определенной анимацией, а не стандартно как мешок с фикалиями:)Вопрос номер 1-Как зделать гарантированное попадание в голову?Вопрос номер 2-Как сделать так, чтобы актер умер именно выбранной анимацией?и вопрос номер 3-Это вообще возможно зделать?:))Заранее спаибо:)
Вопрос номер 2-Как сделать так, чтобы актер умер именно выбранной анимацией?
Ээ... "Штирлиц выхватил парабеллум и высадил Мюллеру в лоб всю обойму. Мюллер нахмурился. Броневой - догадался Штирлиц." С пулей в голове люди в норме мешковато себя и ведут. То есть обычно не произносят речей и не исполняют красивых антраша... Что не мешает тебе заставить моба просто исполнить определённую анимацию (PlayIdle), а по окончании спектакля тихонько его придушить. Мы подтвердим, что он умер именно от того, от чего его лечили!
Ipatow, Если точнее то я себе это представляю так:ГГ проходит тригер с НПС жертвой раздается выстрел с крыши (попадание в неважно куда анимация которую я хочу предоставить НПС показывает,что попали в голову) и НПС жертва начинает играть свою роль (падение) а затем умирает.Так вот,как через тригер заставить одного НПС стрелять,а второго падать,да еще и через анимацию?
Изменение репутации для пользователя Ipatow
IpatowOffline
Сообщение №1182
написано: 19 сентября 2014, 17:07
| Отредактировано: Ipatow - 19 сентября 2014, 18:47
как через тригер заставить одного НПС стрелять,а второго падать,да еще и через анимацию?
Что-то вроде...
SHORT Stage FLOAT Timer BEGIN OnTriggerEnter Player …IF Stage == 0 ; тут можно ещё проверять, все ли условия соблюдены - все ли живы и т.п. ……SET Stage TO 1 ……SniperRef.FireWeapon WeapSniperRifle …ENDIF END BEGIN GameMode …IF (Stage == 0) || (Stage == 4) ……RETURN …ENDIF …SET Timer TO Timer + GetSecondsPassed …IF Stage == 1 ……SET Stage TO 2 ……SET Timer TO 0 ……VictimRef.PlayAnim 3rdPHitHead …ELSEIF (Stage == 2) && (Timer > 1.5) ……SET Stage TO 3 ……SET Timer TO 0 ……VictimRef.PlayAnim KnockDownFaceDown …ELSEIF (Stage == 3) && (Timer > 2.5) ……SET Stage TO 4 ……VictimRef.KillActor SniperRef …ENDIF END Да, имя функции написано неправильно. Правильно - PlayIdle
Ipatow, Оу,спасибо,буду пробовать:)Кстате о таймерах, как сделать, чтобы после выполнения квеста через три дня появлялось какое либо сообщение?Штудирую туториалы,и найти не могу:((Желательно,чтобы это действие работало через добавление чего либо в контейнер,как это реализовать?
как сделать, чтобы после выполнения квеста через три дня появлялось какое либо сообщение?
Ну, например... Где-то должен крутиться скрипт - квестовый или на активаторе каком-нибудь. И всё время проверять тот квест на GetQuestCompleted. Как поймалось завершение квеста - выставляем флажок, по которому больше квест не проверяем, а начинаем считать время. Хоть секунды с этого момента отсчитываем, пока не наберётся секунд на трое суток, хоть GameDaysPassed смотрим - не отбрасывая дробную часть это будет проверка на 72 часа с момента начала отсчёта, а если присваивать это значение целочисленной переменной и сравнивать уже результат, это будет "третий день с момента". Гмм... Совсем же недавно где-то тут обсуждали эти тикалки...
Добавлено (19 Сентября 2014, 21:46) --------------------------------------------- Да, и как время пришло - там хоть сообщение на экран пиши, хоть контейнеры барахлом набивай - это же скрипт, делай всё что захочется
Изменение репутации для пользователя ncrrainjer
ncrrainjerOffline
Сообщение №1185
написано: 19 сентября 2014, 17:56
| Отредактировано: ncrrainjer - 19 сентября 2014, 17:58
Ipatow, Да мне бы конкретный пример именно с getdayspassed и который стартует с OnAdd, я как-то делал,что добавляем например планшет в определенный контейнер на планшет вешаем скрипт с GetDaysPassed который с Begin OnAdd,вроде работало,просто не помню как именно делал:(А может и путаю чего:)
Да мне бы конкретный пример именно с getdayspassed и который стартует с OnAdd, я как-то делал,что добавляем например планшет в определенный контейнер на планшет вешаем скрипт с GetDaysPassed который с Begin OnAdd,вроде работало,просто не помню как именно делал:(А может и путаю чего:)
Ой что-то ты ленишься, по-моему... Случай не то чтобы буквально азбучный, но ведь нет тут ничего сложного. Сделай например в таком духе -
SCRIPTNAME скрипт-предмета BEGIN OnAdd ref-ящика/моба …IF (GetQuestCompleted квест-будильник) …ELSEIF (GetQuestRunning квест-будильник) …ELSE ……StartQuest квест-будильник …ENDIF END
SCRIPTNAME скрипт-квеста-будильника SHORT Deadline BEGIN GameMode …IF Deadline ……IF GameDaysPassed > Deadline ………CompleteQuest квест-будильник ; и делаем что хотим, время настало ……ENDIF …ELSE ……SET Deadline TO GameDaysPassed +3 …ENDIF END
чтобы после выполнения квеста через три дня появлялось какое либо сообщение?
И на этот вопрос в нашей КАРТОТЕКЕ есть подробный ответ. 31. Подскажите образец такого скрипта, когда при входе в игру игрок через 3(4, 5 и т.д.) дней получает сообщение? Внимательнее надо быть. Я понимаю, что там написано - при входе в игру, но сути это не меняет. Там дано общее направление по решению проблемы, а уж дальше модмейкер сам подстраивает под свои нужды. Это точно также, как в известной мудрости: хочешь накормить голодающего - дай ему не рыбу, а удочку. И голодающий научится , как себя прокормить, и дающему не придется всю жизнь нести на шее иждивенца.
Если точнее то я себе это представляю так:ГГ проходит тригер с НПС жертвой раздается выстрел с крыши (попадание в неважно куда анимация которую я хочу предоставить НПС показывает,что попали в голову) и НПС жертва начинает играть свою роль (падение) а затем умирает
ncrrainjer, уважаемый, я возможно немного поздновато, но ответ уже традиционный смотри аналоги. Заглядываем в Вегас. Город NoVac (Новак) персонаж CraigBoone (Бун) в своем самом первом квесте именно выстрелом в голову, именно из снайперской винтовки, почти что с крыши (из головы динозавра) убивает того NPC'а, которого ГГ приведет в условленное место (несколько вариантов жертвы). Причем еще и при условии, что на ГГ в этот момент надета очень специальная беретка. 100%-е попадание реализовано с помощью пакета UseWeapon. Либо как сказал мастер Ipatow, только не ...SniperRef.FireWeapon... потому как в этом случае твой киллер просто выстрелит в никуда, а ...SniperRef.UseWeapon... тогда киллер будет стрелять именно в жертву. Примерно так: КиллерRef.UseWeapon WeapSniperRifle КиллерRef ЖертваRef 1 0 0 1 0 где первая цифра число выстрелов, а четвертая 100%-е попадание. Одно НО: при использовании UseWeapon (функции или пакета) у киллера обязательнодолжно быть в инвентаре указанное оружие, а при использовании FireWeapon киллер выстрелит прожектилем указанного оружия из того огнестрельного оружия, которое в данный момент у него в руках (хоть ракетой из пневматики).
Изменение репутации для пользователя Quazar
QuazarOffline
Сообщение №1191
написано: 20 сентября 2014, 06:05
| Отредактировано: QuazarX - 20 сентября 2014, 06:14
Отсчет дней все равно должен проводится в гейммоде (GameMode), неважно в каком скрипте - квестовом или объектном, а через Begin OnAdd можно создать отправную точку для отсчета (если требуется). Примеры подобных скриптов существуют в самой игре, например MS14PowerArmorScript
хочешь накормить голодающего - дай ему не рыбу, а удочку
Это мудро! Но любой граблепроходец тут же напомнит, что за этим последуют вопросы про поплавки, блёсны, прикорм, часы лова, потом он лодку захочет... К рыбе хотя бы дополнительных инструкций не требуется
вопросы про поплавки, блёсны, прикорм, часы лова, потом он лодку захочет.
Значит, надо кроме удочки подарить "Комплект рыбака". Я видела в магазине такой. Интересно только - зачем в комплекте шло три презерватива? Типа, чтоб не размножались?
Использовать инструмент Reference Batch Action - действия с группой ссылок. Выделяешь с нажатым Ctrl всё что надо, жмёшь кнпку "-" (или через верхнее меню View), выскакивает окно со списком выбранных ссылок и списком действий, что с ними со всеми разом можно сделать. Там где действия среди всяких отражений-преломлений, линкед рефов и прочего есть пункт Set enable parent (или что-то в этом роде) - привязать к ссылке как к родителю. Жмёшь туда и дальше как с привязкой одиночной ссылки - либо выбираешь из списка, либо белым крестиком в окне рендера. Выбрал к чему привязываешь и жмёшь Do - сделать. Готово, выделенные ссылки всей кучей привязываются к одной, можно зайти к ним на вкладку Enable Parent и убедиться своими глазами. Ну а дальше уже сам знаешь как и что включать-отключать. Привязываемые ссылки можно добавлять в список и при открытом окне Reference Batch Action. Не могу не позанудствовать - про этот инструмент написано в самом что ни на есть базовом беседкином туторе.
Там же было дополнительное условие - попасть в голову... А если он попадёт в жертву и оторвёт ей выстрелом ногу? Всё кино насмарку! Пусть лучше в белый свет палит наверное, чтоб только "пиф-паф" прозвучало
Ну во первых (по статистике) стрельба ведется исключительно в грудь/живот, а во вторых если уж нужна стопудовая гарантия то так: КиллерRef.UseWeapon WeapSniperRifle КиллерRef ЖертваRef 1 0 0 1 1 при этом урон не будет наноситься следовательно ничего лишнего оторвано не будет, однако попадание как таковое будет засчитано и может быть использовано в скриптах или эффекте самого используемого оружия.
при этом урон не будет наноситься следовательно ничего лишнего оторвано не будет, однако попадание как таковое будет засчитано и может быть использовано в скриптах или эффекте самого используемого оружия.
Гмм... Ну поскольку мы снимаем кино, то главный смысл UseWeapon я вижу в том, что стрелок будет стрелять как минимум в сторону цели. А то мало ли вдруг ГГ как раз на крышу смотрит, а снайпер бабах FireWeapon в противоположном направлении В остальном неподдельный выстрел может и испортить кадр - пусть урона нет, но decal-то кровавый нарисуется на пузе?
Гмм... Ну поскольку мы снимаем кино, то главный смысл UseWeapon я вижу в том, что стрелок будет стрелять как минимум в сторону цели. А то мало ли вдруг ГГ как раз на крышу смотрит, а снайпер бабах FireWeapon в противоположном направлении В остальном неподдельный выстрел может и испортить кадр - пусть урона нет, но decal-то кровавый нарисуется на пузе?
Если уж колом стоит выбор: кровь на пузе / выстрел в противоположную сторону по моему уж лучше кровь на пузе . Кстати (опять же по статистике) при отстреле Буном своих жертв, "посторонней" крови на жертвах как-то не было замечено...
В порядке извращения. На время разыгрываемой драмы можно прямо в голову неписю поместить икс-маркер и пусть стрелок в палит в маркер - в пузо тогда точно не попадёт. Ну, если он настоящий снайпер, конечно.
А вот тут я бы сильно озадачился. Ну то есть когда вся сцена расчитана до миллиметра это не кажется сложным, но если задача отловить координаты головы гуляющего в непонятной позе непися... Это вообще решаемая задача?