Скрипты - неотъемлемая часть GECK. При написании возникает очень много казусов. Данная тема должна помочь не наступать на "грабли" новичкам и делиться опытом с другими более продвинутых мододелов.
Теперь буду думать, как можно реализовать динамику (надо же на работе чем то заняться, кроме Косынки)
Нигде ничего про погоду не находил. Где она меняется с помощью функции setWeather - в регионе? во всем мире? во всех мирах? Также неизвестно, как отменить изменения, ведь для того, чтобы узнать, какая погода была в данном регионе по умолчанию, придется хорошенько порыться.
====================== Мод "Нью-Йорк" на русском: https://modgames.net/load/fallout3/addon/new-york-bolshoe-yabloko/34-1-0-1294 Мод "Нью-Йорк" на английском: https://modgames.net/load/fallout3/kvesty/the-big-apple/23-1-0-19771
"Глобальных" скриптов не бывает, бывают объектные, квестовые и эффкетные.
Это если смотреть их номинальные типы. А фактически - легко. Как подвид квестового.
<a class="link" href="http://nick-name.ru/sertificates/278209/" rel="nofollow" target="_blank"> border="0" alt=""/</a> Да, мы бандиты и бродяги, как злословит молва, Мы попадаем в передряги, помня эти слова. Смотри вперед и не сдавайся ты на милость судьбе! Предай их всех, останься верен себе. (Канцлер Ги - Кантри Бреган Д'Эрт)
Это если смотреть их номинальные типы. А фактически - легко. Как подвид квестового.
Я смотрю на то, какие типы скриптов я могу выбрать в Script Tipe в окне Script Edit. Глобальных там нет. Если Вы будете так любезны, расскажите мне, где я могу установить тип скрипта "глобальный", и в какой "подквест" я могу их вставить. Фактически Вы на ходу придумали новый термин, ничего кроме путаницы это не дает. В помощь программистам Беседка и без того разложила достаточное количество граблей, чтобы изобретать еще и свои собственные.
====================== Мод "Нью-Йорк" на русском: https://modgames.net/load/fallout3/addon/new-york-bolshoe-yabloko/34-1-0-1294 Мод "Нью-Йорк" на английском: https://modgames.net/load/fallout3/kvesty/the-big-apple/23-1-0-19771
Изменение репутации для пользователя ITU
ITUOffline
Сообщение №604
написано: 18 января 2012, 11:54
| Отредактировано: ITU - 18 января 2012, 11:55
Ну что же, пишите заявку на петент. Про "бритву Оккама" и про то, что "глобальное" не может быть подвидом чего бы то ни было, говорить бесполезно, на сколько я понял.
====================== Мод "Нью-Йорк" на русском: https://modgames.net/load/fallout3/addon/new-york-bolshoe-yabloko/34-1-0-1294 Мод "Нью-Йорк" на английском: https://modgames.net/load/fallout3/kvesty/the-big-apple/23-1-0-19771
Извините, но я начинал еще на ТЕС3 и там были скрипты глобальные, а не квестовые. Сейчас глобальным будет любой квестовый скрипт с секцией (блоком) GameMode, ибо будет отрабатывать в каждом фрейме независимо от каких-либо условий.
<a class="link" href="http://nick-name.ru/sertificates/278209/" rel="nofollow" target="_blank"> border="0" alt=""/</a> Да, мы бандиты и бродяги, как злословит молва, Мы попадаем в передряги, помня эти слова. Смотри вперед и не сдавайся ты на милость судьбе! Предай их всех, останься верен себе. (Канцлер Ги - Кантри Бреган Д'Эрт)
Spalny_Vagon, Он видимо имел ввиду создать глобальную переменную в Global, чтобы использовать потом в своём скрипте. Хотя зачем было начинать спорить и как по видимости не из-за чего.
...-Вот такой вот парадокс. Мы делаем моды для игр, в которые уже давно не играем...
Не скажи, в спорах рождается ИСТИНА (правы были древние мудрецы)
Они были в корне не правы. Из спора может получиться только драка
А поскольку бюрократия мине надоедает ещё на работе, сей спор о том, какого цвета фломастеры вкуснее я продолжать не буду.
Spalny_Vagon, я сам ненавижу лишние бестолковые сущности. Просто использую привычную мне терминологию. Кому непонятно - уточнят. Пока что, Вы единственный такой.
<a class="link" href="http://nick-name.ru/sertificates/278209/" rel="nofollow" target="_blank"> border="0" alt=""/</a> Да, мы бандиты и бродяги, как злословит молва, Мы попадаем в передряги, помня эти слова. Смотри вперед и не сдавайся ты на милость судьбе! Предай их всех, останься верен себе. (Канцлер Ги - Кантри Бреган Д'Эрт)
Spalny_Vagon, я сам ненавижу лишние бестолковые сущности. Просто использую привычную мне терминологию. Кому непонятно - уточнят. Пока что, Вы единственный такой.
Да ну? Я единственный, кто не "начинал с ТЕС3?" Глобальные скрипты из Вашей юности и квестовые скрипты из ТЕС4 - это не одно и то же, это очень разные вещи, и Вы используете привычную Вам терминологию не по назначению. Вы, сударь, по меньшей мере, ретроград. Ну скажите, на кой ляд мне знать, что если квестовый скрипт выполняется в каждом фрейме, и что если в нем есть блок gamemode, то он "ну точь-в-точь глобальный скрипт"?
====================== Мод "Нью-Йорк" на русском: https://modgames.net/load/fallout3/addon/new-york-bolshoe-yabloko/34-1-0-1294 Мод "Нью-Йорк" на английском: https://modgames.net/load/fallout3/kvesty/the-big-apple/23-1-0-19771
Помогите написать скрипт, что бы при окончании определенной стадии квеста появлялся НПС, на котором этот скрипт висит. (Желательно с объяснением т.к. очень долго не имел дело со скриптами и уже не помню что к чему)
Помогите написать скрипт, что бы при окончании определенной стадии квеста появлялся НПС, на котором этот скрипт висит. (Желательно с объяснением т.к. очень долго не имел дело со скриптами и уже не помню что к чему)
SERGANT-AK47, и это все, что этот скрипт должен делать? Выводить на сцену нового НПС? Тогда это должно висеть не на НПС. Это должно быть в результ-скрипте соответствующей стадии Вашего квеста: [NPC_Ref].enable
====================== Мод "Нью-Йорк" на русском: https://modgames.net/load/fallout3/addon/new-york-bolshoe-yabloko/34-1-0-1294 Мод "Нью-Йорк" на английском: https://modgames.net/load/fallout3/kvesty/the-big-apple/23-1-0-19771
Поздно, Galko, я "галочку" в черную книжечку против Вашей фамилии уже поставил (не выполняется скрипт на объектах, которые не загружены в ячейку, и поэтому сами себя скриптом они загрузить не могут).
====================== Мод "Нью-Йорк" на русском: https://modgames.net/load/fallout3/addon/new-york-bolshoe-yabloko/34-1-0-1294 Мод "Нью-Йорк" на английском: https://modgames.net/load/fallout3/kvesty/the-big-apple/23-1-0-19771
Помогите создать скрипт. Хочу сделать гаубицу и чтобы при ее активации происходил выстрел. Пробовал основываться на скрипте NellisArtilleryScript, но ничего в нем не понял
Vi[RUS], Привет! Для одного или нескольких не прицельных выстрелов в "молоко" можно сделать так scn BadaBumScript Begin OnActivate Player Activate AAAExplosionREF.PlaceAtMe MediumExplosion 1 ; маркер положить в ствол для аффекта выстрела AAAExplosionREF.PlaceAtMe MissileExplosion 1 ; маркер положить в том месте куда "прилетит" снаряд - для эффекта взрыва End Или другие эффекты. Понятно, что простой вариант по сравнению с тем скриптом, который ты смотрел, но на раз пальнуть хватит!
KAIN48, Работает. Спасибо. А можно ли сделать так чтобы гаубицу нельзя было активировать секунды 3 после выстрела, а то если быстро нажимать на клавишу действия получается ад
Vi[RUS], попробуй так. Криво конечно, так как задержка происходит не после выстрела, а после нажатия пуск. Но по другому у меня не получилось
scn BadaBumScript short sFlag float fTimer
Begin OnActivate Player if (sFlag == 0) Set sFlag to 1 Set fTimer to 5 ; меняй цифру 5 на нужное количество секунд endif End
Begin GameMode if (fTimer > 0) && (sFlag == 1) Set fTimer to (fTimer - GetSecondsPassed) elseif (sFlag == 1) Activate AAAExplosionREF.PlaceAtMe MediumExplosion 1 ; маркер положить в ствол для аффекта выстрела AAAExplosionREF.PlaceAtMe MissileExplosion 1 ; маркер положить в том месте куда "прилетит" снаряд - для эффекта взрыва Set sFlag to 0 endif End
Криво конечно, так как задержка происходит не после выстрела, а после нажатия пуск. Но по другому у меня не получилось
Как то так:
Code
scn BadaBumScript short sFlag float fTimer
Begin GameMode if (sFlag == 1) && (GetSecondsPassed -fTimer)>=5 ; меняй цифру 5 на нужное количество секунд set sFlag to 0 endif end
Begin OnActivate if(sFlag != 0) return endif
Activate
Set sFlag to 1 Set fTimer to GetSecondsPassed
AAAExplosionREF.PlaceAtMe MediumExplosion 1 ; маркер положить в ствол для аффекта выстрела AAAExplosionREF.PlaceAtMe MissileExplosion 1 ; маркер положить в том месте куда "прилетит" снаряд - для эффекта взрыва
End
<a class="link" href="http://nick-name.ru/sertificates/278209/" rel="nofollow" target="_blank"> border="0" alt=""/</a> Да, мы бандиты и бродяги, как злословит молва, Мы попадаем в передряги, помня эти слова. Смотри вперед и не сдавайся ты на милость судьбе! Предай их всех, останься верен себе. (Канцлер Ги - Кантри Бреган Д'Эрт)
Begin GameMode if (sFlag == 1) && (GetSecondsPassed -fTimer)>=5 ; меняй цифру 5 на нужное количество секунд set sFlag to 0 endif end
Begin OnActivate if(sFlag != 0) return endif
Activate
Set sFlag to 1 Set fTimer to GetSecondsPassed
AAAExplosionREF.PlaceAtMe MediumExplosion 1 ; маркер положить в ствол для аффекта выстрела AAAExplosionREF.PlaceAtMe MissileExplosion 1 ; маркер положить в том месте куда "прилетит" снаряд - для эффекта взрыва
End
Бред. В лучшем случае "это" выстрелит один раз.
====================== Мод "Нью-Йорк" на русском: https://modgames.net/load/fallout3/addon/new-york-bolshoe-yabloko/34-1-0-1294 Мод "Нью-Йорк" на английском: https://modgames.net/load/fallout3/kvesty/the-big-apple/23-1-0-19771
<a class="link" href="http://nick-name.ru/sertificates/278209/" rel="nofollow" target="_blank"> border="0" alt=""/</a> Да, мы бандиты и бродяги, как злословит молва, Мы попадаем в передряги, помня эти слова. Смотри вперед и не сдавайся ты на милость судьбе! Предай их всех, останься верен себе. (Канцлер Ги - Кантри Бреган Д'Эрт)
Изменение репутации для пользователя Spalny_Vagon
Spalny_VagonOffline
Сообщение №625
написано: 27 января 2012, 09:24
| Отредактировано: Spalny_Vagon - 27 января 2012, 09:28
Уже, Сэр. Прежде, чем оставлять предыдущий комментарии, мной был открыт ГЕЕК, создан активатор, написан собственный скрипт. Оба проверены в игре. Ваша пушка стреляет один раз. Ваш покорный слуга вообще никогда и ничего не пишет, не проверив. Думаю, что причина неудачи в том, что Вы использовали функцию getesecondspassed так, как будто это глобальная переменная. Попробуйте вместо нее использовать gamedayspassed, возможно в этом случае все заработает. С уваженим, Spalny_Vagon, эсквайр.
====================== Мод "Нью-Йорк" на русском: https://modgames.net/load/fallout3/addon/new-york-bolshoe-yabloko/34-1-0-1294 Мод "Нью-Йорк" на английском: https://modgames.net/load/fallout3/kvesty/the-big-apple/23-1-0-19771
Думаю, что причина неудачи в том, что Вы использовали функцию getesecondspassed так, как будто это глобальная переменная.
Ну вот так можно было сразу написать вместо "Бред". Да, я действительно давненько со скриптами не работал и не помню точно все функции. Тогда можно как то так. Меня настораживает множественный иф у Вас
Code
scn BadaBumScript short sFlag float fTimer
Begin GameMode if (sFlag == 1) set fTimer to (fTimer - GetSecondsPassed) if(fTimer<=0 ) set sFlag to 0 endif endif end
Begin OnActivate if(sFlag != 0) return endif
Activate
Set sFlag to 1 Set fTimer to 5 ; меняй цифру 5 на нужное количество секунд GetSecondsPassed
AAAExplosionREF.PlaceAtMe MediumExplosion 1 ; маркер положить в ствол для аффекта выстрела AAAExplosionREF.PlaceAtMe MissileExplosion 1 ; маркер положить в том месте куда "прилетит" снаряд - для эффекта взрыва
End
<a class="link" href="http://nick-name.ru/sertificates/278209/" rel="nofollow" target="_blank"> border="0" alt=""/</a> Да, мы бандиты и бродяги, как злословит молва, Мы попадаем в передряги, помня эти слова. Смотри вперед и не сдавайся ты на милость судьбе! Предай их всех, останься верен себе. (Канцлер Ги - Кантри Бреган Д'Эрт)
Все задержку сделал. я понимаю что уже всех достал со своей гаубицей, но как сделать ей анимацию (анимация к ней уже есть, нужно только в скрипт нужную команду вписать) ?
я понимаю что уже всех достал со своей гаубицей, но как сделать ей анимацию (анимация к ней уже есть, нужно только в скрипт нужную команду вписать
О какой гаубице, собственно говоря, идет речь? Если у модели есть анимации, то в "превью" можно посмотреть весь список того, что эта модель может делать. Выбираешь нужную (нужные) и заряжаешь ее (их) командой playgroup [анимация]. Если у активатора две стандартные позиции "опен" и "клозет", то достаточно дать команду activate в блоке onActivate. Кстати, у орудий из Анкориджа нормальная анимация выстрела, поэтому прикручивать к стволу какие-то взрывы вовсе не нужно.
====================== Мод "Нью-Йорк" на русском: https://modgames.net/load/fallout3/addon/new-york-bolshoe-yabloko/34-1-0-1294 Мод "Нью-Йорк" на английском: https://modgames.net/load/fallout3/kvesty/the-big-apple/23-1-0-19771
Возможно ли сделать с помощью скрипта, что бы после третьего выстрела (и попадания в нпц), нпц умирал, не смотря на то, сколько у него осталось жизней? И возможно ли сделать в этом же оружии (именно одному) урон по конечностям, например голова - урон 200, рука - урон 50? Думаю смысл задуманного я смог описать.
Я вот думаю:
begin OnHitWith IdWeap -попадание с нужного оружия
А при выстреле работает begin OnActivate повешенный на оружие.
А мне нужно именно не в определнного нпц попадание, а в любого. Есть какие нибудь предложения?
...-Вот такой вот парадокс. Мы делаем моды для игр, в которые уже давно не играем...