Модератор форума: КсюXa, ApeX  
Форум » Fallout: New Vegas » Мастерская » Скрипты (Вопросы и ответы)

Скрипты
a3apbi4  Offline  Сообщение №1 написано: 7 декабря 2010, 18:01



11
Скрипты - неотъемлемая часть GECK. При написании возникает очень много казусов. Данная тема должна помочь не наступать на "грабли" новичкам и делиться опытом с другими более продвинутых мододелов.




Spalny_Vagon  Offline  Сообщение №601 написано: 18 января 2012, 08:41


Мастер


Цитата Galko

Теперь буду думать, как можно реализовать динамику (надо же на работе чем то заняться, кроме Косынки)


Нигде ничего про погоду не находил. Где она меняется с помощью функции 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
Artem13  Offline  Сообщение №602 написано: 18 января 2012, 09:06


Mercenaries. Со смертью на ты.


Цитата Spalny_Vagon

"Глобальных" скриптов не бывает, бывают объектные, квестовые и эффкетные.


Это если смотреть их номинальные типы. А фактически - легко. Как подвид квестового.

<a class="link" href="http://nick-name.ru/sertificates/278209/" rel="nofollow" target="_blank"> border="0" alt=""/</a>
Да, мы бандиты и бродяги, как злословит молва,
Мы попадаем в передряги, помня эти слова.
Смотри вперед и не сдавайся ты на милость судьбе!
Предай их всех, останься верен себе. (Канцлер Ги - Кантри Бреган Д'Эрт)
Spalny_Vagon  Offline  Сообщение №603 написано: 18 января 2012, 11:00


Мастер


Цитата Artem13

Это если смотреть их номинальные типы. А фактически - легко. Как подвид квестового.


Я смотрю на то, какие типы скриптов я могу выбрать в 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  Offline  Сообщение №604 написано: 18 января 2012, 11:54 | Отредактировано: ITU - 18 января 2012, 11:55



995
Цитата Spalny_Vagon

в какой "подквест" я могу их вставить.


в новый квест и с приоритетом 100

Spalny_Vagon  Offline  Сообщение №605 написано: 18 января 2012, 12:06


Мастер


Цитата ITU

в новый квест и с приоритетом 100


Ну что же, пишите заявку на петент. Про "бритву Оккама" и про то, что "глобальное" не может быть подвидом чего бы то ни было, говорить бесполезно, на сколько я понял.

======================
Мод "Нью-Йорк" на русском: 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
Artem13  Offline  Сообщение №606 написано: 18 января 2012, 14:15


Mercenaries. Со смертью на ты.


При чём тут Оккама я не понял nea

Извините, но я начинал еще на ТЕС3 и там были скрипты глобальные, а не квестовые. Сейчас глобальным будет любой квестовый скрипт с секцией (блоком) GameMode, ибо будет отрабатывать в каждом фрейме независимо от каких-либо условий.

<a class="link" href="http://nick-name.ru/sertificates/278209/" rel="nofollow" target="_blank"> border="0" alt=""/</a>
Да, мы бандиты и бродяги, как злословит молва,
Мы попадаем в передряги, помня эти слова.
Смотри вперед и не сдавайся ты на милость судьбе!
Предай их всех, останься верен себе. (Канцлер Ги - Кантри Бреган Д'Эрт)
Spalny_Vagon  Offline  Сообщение №607 написано: 18 января 2012, 15:20


Мастер


Цитата Artem13

При чём тут Оккама я не понял


======================
Мод "Нью-Йорк" на русском: 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  Offline  Сообщение №608 написано: 18 января 2012, 15:26 | Отредактировано: Galko - 18 января 2012, 15:27


GALAктическая мартышка


Про Беседковские грабли хорошо сказано :)
Поменять, что ли, подпись в профиле? Напишу-ка: Бегущая по граблям (да простит меня Грин)

Ваше счастье, что я не ваше счастье
Graf  Offline  Сообщение №609 написано: 18 января 2012, 15:32



179
Spalny_Vagon, Он видимо имел ввиду создать глобальную переменную в Global, чтобы использовать потом в своём скрипте. Хотя зачем было начинать спорить и как по видимости не из-за чего.

...-Вот такой вот парадокс. Мы делаем моды для игр, в которые уже давно не играем...
Galko  Offline  Сообщение №610 написано: 18 января 2012, 15:37


GALAктическая мартышка


Graf,
Не скажи, в спорах рождается ИСТИНА (правы были древние мудрецы)
Мне было интересно и я узнала что-то новое из этого спора

Ваше счастье, что я не ваше счастье
Artem13  Offline  Сообщение №611 написано: 18 января 2012, 16:35 | Отредактировано: Artem13 - 18 января 2012, 16:37


Mercenaries. Со смертью на ты.


Цитата Galko

Не скажи, в спорах рождается ИСТИНА (правы были древние мудрецы)


Они были в корне не правы. Из спора может получиться только драка :D

А поскольку бюрократия мине надоедает ещё на работе, сей спор о том, какого цвета фломастеры вкуснее я продолжать не буду.

Spalny_Vagon, я сам ненавижу лишние бестолковые сущности. Просто использую привычную мне терминологию. Кому непонятно - уточнят. Пока что, Вы единственный такой.

<a class="link" href="http://nick-name.ru/sertificates/278209/" rel="nofollow" target="_blank"> border="0" alt=""/</a>
Да, мы бандиты и бродяги, как злословит молва,
Мы попадаем в передряги, помня эти слова.
Смотри вперед и не сдавайся ты на милость судьбе!
Предай их всех, останься верен себе. (Канцлер Ги - Кантри Бреган Д'Эрт)
Galko  Offline  Сообщение №612 написано: 18 января 2012, 16:39


GALAктическая мартышка


Зеленый - самый вкусный. Точно говорю...

Ваше счастье, что я не ваше счастье
Spalny_Vagon  Offline  Сообщение №613 написано: 18 января 2012, 17:29


Мастер


Цитата Galko

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  Offline  Сообщение №614 написано: 24 января 2012, 10:07


boo


594
Помогите написать скрипт, что бы при окончании определенной стадии квеста появлялся НПС, на котором этот скрипт висит. (Желательно с объяснением т.к. очень долго не имел дело со скриптами и уже не помню что к чему)

Spalny_Vagon  Offline  Сообщение №615 написано: 24 января 2012, 10:24


Мастер


Цитата SERGANT-AK47

Помогите написать скрипт, что бы при окончании определенной стадии квеста появлялся НПС, на котором этот скрипт висит. (Желательно с объяснением т.к. очень долго не имел дело со скриптами и уже не помню что к чему)


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
Spalny_Vagon  Offline  Сообщение №616 написано: 24 января 2012, 17:43


Мастер


Цитата 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
Spalny_Vagon  Offline  Сообщение №617 написано: 24 января 2012, 18:23


Мастер


Цитата Galko

Потому-то и исправила пост


Поздно, 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
Vi[RUS]  Offline  Сообщение №618 написано: 26 января 2012, 13:53



275
Помогите создать скрипт. Хочу сделать гаубицу и чтобы при ее активации происходил выстрел. Пробовал основываться на скрипте
NellisArtilleryScript, но ничего в нем не понял :(

KAIN48  Offline  Сообщение №619 написано: 26 января 2012, 18:27


Шаманистый шаман


Vi[RUS], Привет!
Для одного или нескольких не прицельных выстрелов в "молоко" можно сделать так
scn BadaBumScript
Begin OnActivate Player
Activate
AAAExplosionREF.PlaceAtMe MediumExplosion 1 ; маркер положить в ствол для аффекта выстрела
AAAExplosionREF.PlaceAtMe MissileExplosion 1 ; маркер положить в том месте куда "прилетит" снаряд - для эффекта взрыва
End
Или другие эффекты.
Понятно, что простой вариант по сравнению с тем скриптом, который ты смотрел, но на раз пальнуть хватит!

Мы вышли из дома, когда во всех... Поздно вышли!
Vi[RUS]  Offline  Сообщение №620 написано: 26 января 2012, 20:23



275
KAIN48,
Работает. Спасибо. ok
А можно ли сделать так чтобы гаубицу нельзя было активировать секунды 3 после выстрела, а то если быстро нажимать на клавишу действия получается ад :D

KAIN48  Offline  Сообщение №621 написано: 26 января 2012, 23:03


Шаманистый шаман


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

Пока.

Мы вышли из дома, когда во всех... Поздно вышли!
Artem13  Offline  Сообщение №622 написано: 27 января 2012, 04:56


Mercenaries. Со смертью на ты.


Цитата KAIN48

Криво конечно, так как задержка происходит не после выстрела, а после нажатия пуск. Но по другому у меня не получилось


Как то так:

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>
Да, мы бандиты и бродяги, как злословит молва,
Мы попадаем в передряги, помня эти слова.
Смотри вперед и не сдавайся ты на милость судьбе!
Предай их всех, останься верен себе. (Канцлер Ги - Кантри Бреган Д'Эрт)
Spalny_Vagon  Offline  Сообщение №623 написано: 27 января 2012, 07:30


Мастер


Цитата Artem13

Как то так:

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


Бред. В лучшем случае "это" выстрелит один раз.

======================
Мод "Нью-Йорк" на русском: 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
Artem13  Offline  Сообщение №624 написано: 27 января 2012, 08:52


Mercenaries. Со смертью на ты.


Цитата Spalny_Vagon

Бред. В лучшем случае "это" выстрелит один раз.


Докажите, Сэр.

<a class="link" href="http://nick-name.ru/sertificates/278209/" rel="nofollow" target="_blank"> border="0" alt=""/</a>
Да, мы бандиты и бродяги, как злословит молва,
Мы попадаем в передряги, помня эти слова.
Смотри вперед и не сдавайся ты на милость судьбе!
Предай их всех, останься верен себе. (Канцлер Ги - Кантри Бреган Д'Эрт)
Spalny_Vagon  Offline  Сообщение №625 написано: 27 января 2012, 09:24 | Отредактировано: Spalny_Vagon - 27 января 2012, 09:28


Мастер


Цитата Artem13

Докажите, Сэр.


Уже, Сэр. Прежде, чем оставлять предыдущий комментарии, мной был открыт ГЕЕК, создан активатор, написан собственный скрипт. Оба проверены в игре. Ваша пушка стреляет один раз. Ваш покорный слуга вообще никогда и ничего не пишет, не проверив. Думаю, что причина неудачи в том, что Вы использовали функцию 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
Artem13  Offline  Сообщение №626 написано: 27 января 2012, 09:54


Mercenaries. Со смертью на ты.


Цитата Spalny_Vagon

Думаю, что причина неудачи в том, что Вы использовали функцию 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>
Да, мы бандиты и бродяги, как злословит молва,
Мы попадаем в передряги, помня эти слова.
Смотри вперед и не сдавайся ты на милость судьбе!
Предай их всех, останься верен себе. (Канцлер Ги - Кантри Бреган Д'Эрт)
Spalny_Vagon  Offline  Сообщение №627 написано: 27 января 2012, 12:01


Мастер


Цитата Artem13

Меня настораживает множественный иф у Вас


Клевета, нет у меня никакого ифа. nea
И в моем скрипте их тоже ровно столько, сколько надо.

======================
Мод "Нью-Йорк" на русском: 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
Vi[RUS]  Offline  Сообщение №628 написано: 27 января 2012, 17:40 | Отредактировано: Vi[RUS] - 27 января 2012, 17:41



275
Все задержку сделал.
:D я понимаю что уже всех достал со своей гаубицей, но как сделать ей анимацию (анимация к ней уже есть, нужно только в скрипт нужную команду вписать) ?

Spalny_Vagon  Offline  Сообщение №629 написано: 28 января 2012, 06:40


Мастер


Цитата Vi|RUS|

я понимаю что уже всех достал со своей гаубицей, но как сделать ей анимацию (анимация к ней уже есть, нужно только в скрипт нужную команду вписать


О какой гаубице, собственно говоря, идет речь? Если у модели есть анимации, то в "превью" можно посмотреть весь список того, что эта модель может делать. Выбираешь нужную (нужные) и заряжаешь ее (их) командой 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
Graf  Offline  Сообщение №630 написано: 28 января 2012, 21:29



179
Возможно ли сделать с помощью скрипта, что бы после третьего выстрела (и попадания в нпц), нпц умирал, не смотря на то, сколько у него осталось жизней? И возможно ли сделать в этом же оружии (именно одному) урон по конечностям, например голова - урон 200, рука - урон 50? Думаю смысл задуманного я смог описать.

Я вот думаю:

begin OnHitWith IdWeap -попадание с нужного оружия

А при выстреле работает begin OnActivate повешенный на оружие.

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

...-Вот такой вот парадокс. Мы делаем моды для игр, в которые уже давно не играем...
Форум » Fallout: New Vegas » Мастерская » Скрипты (Вопросы и ответы)
Поиск:





Ответ на жалобу смотрите в разделе жалоб