А вот тут, батенька - чисто от квеста зависит. Сказал курьеру Хаус: - А сбегай. ты, братец, в Вашингтон! И пошел курьер с запада на восток.
Ну, если так... А если сказал Курьеру Хаус:"А нажми-ка в летающей тарелке вон ту кнопку, а то я не достаю." А про себя подумал:"Да ещё и не знаю, зачем она, ну её на фиг, пусть этот дурачок испытывает." Нажимаем, и тут нас как вдавит в переборку ускорением! Фью-у-у-у-у-у-у 5000 км за полминуты и тормозим об монумент Вашингтона в DC. Или об папу, который сразу отправляет нас сдавать Козу. Или об атомную бомбу, или...
Какой бред, самый правильный способ путешествия - выйти из одной игры и включить другую, ИМХО.
Пусть сидит на кроватке и разговаривает, как все порядочные люди.
Кстати, для этого даже не надо менять никакие маркеры у кровати. Просто прячем под матрац ма-а-аленький стульчик и сажаем на него. Смотри, например, рыбака напротив Анкориджского мемориала или пациентов, лежащих у докторов на статичных кушетках.
Нет, но если соединить в одно целое руководство по созданию непися и учебник по скриптам, то получится как раз такой мануал.
Если вкратце, то все места случайных встреч огорожены триггерами (иногда целиком накрыты одним) и внутри этой "ограды" стоят не то пять не то шесть XHeadingMarker'ов. Когда игрок забегает в триггер, там весьма сложным образом выбирается произойдёт ли случайная встреча и если да, то какая именно. После этого на маркеры помещаются актёры и начинают выполнение своих пакетов, разыгрывают заскриптованную сцену или вступают в бой. Самое запутанное во всём этом - выбор встречи, но никто не запрещает придумать свой собственный алгоритм выбора, попроще.
Обычно у уже готовых уровневых неписей имеются в списке пакеты Sandbox и Patrol, которых хватает для обычных случаев. Если же нужно что-то особенное, например, чтобы непись не покидал эту "заданную область" даже во время боя, то придётся либо делать своего уровнего NPC и настраивать его пакеты AI сооветствующим образом, либо добавлять пакеты готовым NPC при помощи скрипта.
Если я сделаю нового НПС , на основе уже готового НПС - к примеру сделаю Паладина БС , на основе уже готового Паладина БС , и поставлю его не у Цитадели , а возле Мегатонны , то мой НПС не убежит обратно ?
Если ты про тех паладинов, что ошиваются там снаружи на набережной, то если они сделаны как обычные слоняющиеся там и сям уровневые неписи (а это скорее всего так) - нет, не убежит. У таких неписей, если их просто поставить, ни к чему не прилинковывая, как правило автоматически запускается пакет Sandbox (имитация жизни - бродить, есть, спать) с небольшим радиусом.
Galko, эта фотка под первым спойлером - она чтобы сразу обезоружить любого, кто захочет поспорить со вторым, да? Эх, с тяжёлым, тяжёлым, тяжёлым сердцем пишу и прячу тоже под спойлер.
... но мешает тёплое с мягким. Сочинение и перевод - это смежные, но всё же разные виды деятельности. Например, любой любитель научной фантастики знает, скажем, кто такая Ирина Гурова (она перевела чуть ли не всех классиков НФ), знает, что абсолютное подавляющее большинство начинающих авторов никогда в жизни не догонит её в смысле владения словом и заслуг перед литературой, но всё равно оценивает этих авторов в сравнении с лучшими опять же авторами, а не переводчиками. Это как сравнивать певца и танцора. Вот, допустим, певец и он поёт хреново. А танцор поёт лучше него? Да кто ж его знает, его ж не за это ценят.
я тоже делаю супермегамод. Это будет домик. С библиотекой и кинотеатром (какой ужас, правда?). А ещё давешний спор с Ипатовым побудил стряхнуть пыль с другого полунедоделанного мода. Это будет (если будет) квест. Короткий и почти линейный. Зачем написал? А для дисциплины. Для себя самого делать уже лениво и неинтересно, а тут вроде похвалился, придётся теперь доделывать, не отлынивать! Вот ведь чёрт. Ведь придётся теперь не отлынивать.
Изменение репутации для пользователя JupiterJour
JupiterJourOffline
Сообщение №457
| Тема: Бункер модмейкеров
написано: 5 октября 2013, 16:05
| Отредактировано: Joopeeter - 5 октября 2013, 16:06
Не знаю как там у вас в TTW, а в обычном третьем Фоллауте кричеры, в том числе роботы, в том числе Уодсворт, по умолчанию не являются постоянными ссылками. Так что раз сбежал (это что ж надо было с ним делать?) из загруженной области, то всё, перестал существовать.
Знаю, почему он не цепляется prid'ом, а куда делся и почему - не знаю. Догадываюсь ещё, что сбежал давно, потому что консольно перемещённые из загруженной области Ref'ы какое-то время ещё доступны для prid'а. У меня пару-тройку раз наблюдался глюк, когда размещённые на местности неписи оказывались где-то чёрте-где за границами карты в чистом поле. Может, что-то в этом роде? А вообще, можно либо просто-напросто поставить на нём галку Persistent Reference, либо сделать себе в игре новую копию. Первое, как мне кажется, предпочтительнее, потому что первоначальная копия дворецкого зачем-то имеет Enable Parent, мало ли что...
Что-то не кажет мне радикал картинку, но полагаю, там ровно то же самое, что бетсофтком показывает и мне - "Error 403, ваш IP замечен в рассылке спама". Хм, может тогда это не у меня, а у них что-то не так? В любом случае через анонимайзер туда нормально пускают. А ещё я как-то в предчувствии скорого конца интернета скопировал себе описания функций и блоков. Вот, а то через анонимайзер может быть не особо удобно каждый раз заходить.
Ну так надо их назначить. В окне редактирования World Spaces щёлкаем по кнопке Water Noise Texture и выбираем текстуру какая нравится. Эта текстура должна быть, естественно, предварительно извлечена из архива.
Изменение репутации для пользователя JupiterJour
JupiterJourOffline
Сообщение №466
| Тема: Скрипты
написано: 17 октября 2013, 15:25
В Фоллаутах NPC очень обидчивые - даже если хочешь их облагодетельствовать, если эффект исходит от оружия - хоть от безвредной пушки, хоть от безвредного взрыва - принимают это за нападение и сразу злятся. Помнится, было обсуждение (отсюда и досюда), может быть пригодится. И про зарядку хламом в Нью-Вегасе (неутешительно).
Изменение репутации для пользователя JupiterJour
JupiterJourOffline
Сообщение №468
| Тема: Бункер модмейкеров
написано: 28 октября 2013, 20:46
| Отредактировано: Joopeeter - 28 октября 2013, 20:51
Совершенно верно. Точечно меняет один-единственный аспект игры, не требует FOSE, весит 2кб, ни с чем не конфликтует, копируется в любой другой плагин за пару щелчков.
Изменение репутации для пользователя JupiterJour
JupiterJourOffline
Сообщение №470
| Тема: Скрипты
написано: 30 октября 2013, 12:24
| Отредактировано: Joopeeter - 30 октября 2013, 12:31
или перетащить все вещи в форм-лист (если в Обливионе есть форм-листы) и тогда
Код
if AAASkyrimBladesBarrelSkellRef.GetItemCount [форм-лист]==0 AAASkyrimBladesBarrelSkellRef.disable AAASkyrimSkellStaticRef.enable endif
Добавлено (30 Октября 2013, 16:24) --------------------------------------------- А, ещё. Надо бы вынести это из блока if ( button == 0 ). То есть в итоге:
Код
Begin GameMode if ( doonce == 1 ) set Button to GetButtonPressed if ( button == 0 ) Activate elseif ( button == 1 ) Set doonce to 0 endif if AAASkyrimBladesBarrelSkellRef.GetItemCount [Вещь 1]==0 ... AAASkyrimBladesBarrelSkellRef.disable AAASkyrimSkellStaticRef.enable set DoOnce to -1 endif endif End
Изменение репутации для пользователя JupiterJour
JupiterJourOffline
Сообщение №471
| Тема: Скрипты
написано: 30 октября 2013, 14:24
Дык вроде там для Обливиона. Какое радио? И снова в магическом эфире с вами я - Три-и-Орк-На-а-айт! Из самого сердца Имперского города, из башни белого золота, на которой установлен наш магический ретранслятор радио "Новости Нирна". Так, посмотрим, что тут у нас. Всё плохо, дети мои. Драконьи огни не горят, дреморы лезут из врат Обливиона, грязекрабы пугают жителей, а городу Бруме грозит огромный фаллический символ с рогами. И только наш Выходец из имперской тюрьмы снова отличился, разузнав, с кем спал покойный граф Королла. Слушайте об этом в наших светских новостях. А теперь хор альтмеров c песней "Радужный Демон".
Изменение репутации для пользователя JupiterJour
JupiterJourOffline
Сообщение №472
| Тема: Бункер модмейкеров
написано: 1 ноября 2013, 10:45
| Отредактировано: Joopeeter - 1 ноября 2013, 10:50
Скриптовая функция AddItem работает и из консоли: player.AddItem [ID чего добавляем] [количество] Для отладочных целей, когда то и дело бегаешь в игру проверить, что натворил в ГЭКК, чтобы не добавлять себе каждый раз оружие и патроны консолью, можно просто кинуть их игроку в инвентарь. Найти в разделе Actors -> NPC непися Player, открыть в окне редактирования этого непися вкладку Inventory и положить что требуется (перейти в нужный раздел Object Window и перетащить мышкой). Из готового мода потом лучше это вычистить.
Изменение репутации для пользователя JupiterJour
JupiterJourOffline
Сообщение №477
| Тема: ВОПРОСЫ по моддингу
написано: 3 ноября 2013, 14:30
| Отредактировано: Joopeeter - 3 ноября 2013, 14:31
В скрипте в полтора раза больше переменных, чем требуется, но проблема не в этом. Вероятнее всего, проблема в if timer == 10. Переменные типа float содержат чёрте сколько знаков после запятой, поэтому вероятность того, что в какой-то момент таймер будет равен точно 10, стремится к нулю. А может быть, движок офигевает от того, что все заскриптованные деревья и фонари, сколько их есть, должны разом бабахнуть артиллерией, и отказывается выполнять такое.
Изменение репутации для пользователя JupiterJour
JupiterJourOffline
Сообщение №480
| Тема: Скрипты
написано: 4 ноября 2013, 08:42
| Отредактировано: Joopeeter - 4 ноября 2013, 08:52
Можно и не отдельным скриптом. Просто замени проверку timer==10 на timer>=10 и добавь "одноразовую" переменную, чтобы каждый фрейм не бабахало. Да и stuk каждый фрейм за Disable дёргать тоже плохо.
Код
scn AAATest float timer Float YPos Float YAchse short DoOnce Begin GameMode if DoOnce==0 Set YPos to GetPos X set timer to timer + getsecondspassed if timer > 10 Set YAchse to YPos stuk.disable else set yachse to ypos +22 endif if timer >= 10 PlaySound FXExplosionArtilleryExplosion set DoOnce to 1 endif SetPos X Yachse if getpos x >= 3424 setpos x 1376 endif endif End
Как видим, поездка будет одноразовая. Чтобы перезапустить, надо обнулить переменную DoOnce на всех движущихся объектах. Хм, некрасиво. Лучше использовать какое-то внешнее условие, одно для всех. Не знаю, как у тебя реализован запуск поездки, это условие там надо устанавливать.
Можно и отдельным скриптом. Запустить таймер на каком-нибудь активаторе рядышком (пусть будет ActivatorRef), а деревья со столбами пусть все с ним сверяются. И всё управление сценкой можно туда перенести, все дизейблы и плейсаунды, а деревья пусть только едут. Для случая, когда управляющий скрипт крутится на том же активаторе, который запускает паровоз, будет как-то так (в игре не проверял, возможны опечатки, а то и ошибки ):
Код
scn ActivatorScript
short Speed float timer
Begin OnActivate set Speed to 22 set timer to 0 End
Begin GameMode if Speed > 0 set timer to timer+GetSecondsPassed if timer>=10 if Speed == 22 stuk.disable PlaySound FXExplosionArtilleryExplosion endif set Speed to Speed - 0.1 endif endif End
и на подвижных деревьях тогда остаётся только
Код
scn AAATest
float Position
Begin GameMode if ActivatorRef.Speed > 0 Set Position to GetPos x Set Position to Position+ActivatorRef.Speed if Position < 3424 SetPos x Position else SetPos x 1376 endif endif End