Модератор форума: КсюXa, ApeX  
Форум » Fallout 3 » Мастерская » Помощь по моддингу (Помощь в нелегком модмейкерском деле)

Помощь по моддингу
КсюXa  Offline  Сообщение №1 написано: 9 июля 2010, 18:51


Гид по Мастерской




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

Ой, всё...
Вис  Offline  Сообщение №481 написано: 21 августа 2012, 08:06



298
Sazans_Theme, Спасибо, а я делал второй кнопкой с конца. facepalm

Добавлено (19.08.2012, 21:50)
---------------------------------------------
Снова вопрос (я уже, наверное, всех достал): как сделать, чтобы при получении нового уровня можно было распределить по навыкам только 15 очков?

Добавлено (21.08.2012, 12:06)
---------------------------------------------
Так, с этим вопросом вроде разобрался, теперь другой - как сделать так, чтобы перк давался сразу при запуске игры?


rizys-mod  Offline  Сообщение №482 написано: 21 августа 2012, 09:45


Команда "Rizys-Mod"


250
Вис, добавь в стартовый квест player.addperk idperk

Команда "Rizys-mod" - разработка плагинов на Fallout.
Вис  Offline  Сообщение №483 написано: 21 августа 2012, 13:35



298
Цитата rizys-mod

добавь в стартовый квест player.addperk idperk


В смысле стартовый?

rizys-mod  Offline  Сообщение №484 написано: 21 августа 2012, 14:33


Команда "Rizys-Mod"


250
Цитата Вис

В смысле стартовый?


Немного перепутал, создай квест со скриптом добовления перка.

Команда "Rizys-mod" - разработка плагинов на Fallout.
Римайер  Offline  Сообщение №485 написано: 21 августа 2012, 18:24


хоМяк


957
rizys-mod, в смысле того что надо сделать свой, новый квест, стартующий с начала игры, и в скрипте слинкованным с этим квестом прописать "старт" перка. Так?

rizys-mod  Offline  Сообщение №486 написано: 21 августа 2012, 18:33


Команда "Rizys-Mod"


250
Цитата Римайер

Так?


Есть разные способы, но имелось ввиду как ты написал :)

Команда "Rizys-mod" - разработка плагинов на Fallout.
Вис  Offline  Сообщение №487 написано: 22 августа 2012, 09:48



298
Вновь пара вопросов:
1) Как сделать так, чтобы после обезвреживания мины (не своей) повышалась переменная? Часть про повышение понятна, а вот с миной...
2) Возможно сделать объект движущийся по траектории (влево-вправо)? Читал, что статика не двигается, но может другой объект может?

rizys-mod  Offline  Сообщение №488 написано: 22 августа 2012, 11:35


Команда "Rizys-Mod"


250
Цитата Вис

) Возможно сделать объект движущийся по траектории (влево-вправо)? Читал, что статика не двигается, но может другой объект может?


Отвечу в л.с.

Команда "Rizys-mod" - разработка плагинов на Fallout.
Вис  Offline  Сообщение №489 написано: 22 августа 2012, 12:11



298
Цитата rizys-mod

Стандартной штоле?


Ну да, например, на лежит мина - обезвредил её + 1 к переменной, положил мину сам, обезвредил - ничего не прибавлять.

rizys-mod  Offline  Сообщение №490 написано: 22 августа 2012, 12:45


Команда "Rizys-Mod"


250
Вис, подумал и решил, при обезврежении можно увеличивать переменную на 1, если её подобрал гг (подобралась твоя мина, и поэтому переменная не защитается, если твою мину обезвредить) а добавить переменную просто, добавь строчку в стандартный скрипт.

Команда "Rizys-mod" - разработка плагинов на Fallout.
Вис  Offline  Сообщение №491 написано: 22 августа 2012, 12:49



298
Цитата rizys-mod

подумал и решил, при обезврежении можно увеличивать переменную на 1, если её подобрал гг (подобралась твоя мина, и поэтому переменная не защитается, если твою мину обезвредить)


Можно поподробнее?

rizys-mod  Offline  Сообщение №492 написано: 22 августа 2012, 12:56 | Отредактировано: rizys-mod - 22 августа 2012, 12:56


Команда "Rizys-Mod"


250
Цитата Вис

Можно поподробнее?


Что именно? Вот место в мине (из фолаНВ) где дается после обезврежения мины, саму мину:
Code
;======================================================;

begin gameMode

   if detonated == 0
    if getDistance player <= 16
     do 1
     set detonated to 1
    endif
   endif

   if skillPassed == 1    ;don't run stuff in game mode unless recently activated   
    set button to getButtonPressed  ;grab the button state, you don't know when this will be set
    if button > -1   ;if a valid response is received start doing stuff
     if button == 0
      ShowMessage TrapMineHarvest  ;player chose to deactivate and harvest the mine
      disable
     player.addItem weapMineFrag 1 ; <============ заменишь на свою мину
     endif
     set skillPassed to 0    ;stop running stuff   
    endif
   endif

end
      
;======================================================;


А ты просто создешь другую мину, со стандартным скриптом, а на стандартной мине сделаешь свой скрипт, с добавлением своей мины и увеличением переменной.

Команда "Rizys-mod" - разработка плагинов на Fallout.
Вис  Offline  Сообщение №493 написано: 23 августа 2012, 09:52



298
Итак, с первым вопросом вроде разобрался, но не до конца. Нужно, чтобы объект перемещался с коллизией. Дело в том, что этот объект движущаяся мишень, при попадании в которую повышается переменная. Посмотрел тему по перемещению объекта с коллизией, но как я понял на Movable Static повесить скрипт нельзя. Или же можно?
Цитата rizys-mod

другую мину, со стандартным скриптом

). Вновь положив эту мину и подняв её мы получаем нашу мину и переменная вновь повышается.

rizys-mod  Offline  Сообщение №494 написано: 23 августа 2012, 10:22


Команда "Rizys-Mod"


250
Цитата Вис

). Вновь положив эту мину и подняв её мы получаем нашу мину и переменная вновь повышается.


Переменная повысится только обезвредив стандартную мину, 2 скрипта а не один.

Команда "Rizys-mod" - разработка плагинов на Fallout.
Вис  Offline  Сообщение №495 написано: 23 августа 2012, 10:31



298
Цитата rizys-mod

Нет.


Хм, и что тогда делать?
И про мину: а как быть если ты нашёл мину в ящике или купил, ведь тогда переменная повысится (извиняюсь, если я не прав).

rizys-mod  Offline  Сообщение №496 написано: 23 августа 2012, 10:35


Команда "Rizys-Mod"


250
Цитата Вис

И про мину: а как быть если ты нашёл мину в ящике или купил, ведь тогда переменная повысится (извиняюсь, если я не прав).


НУ тогда нужно думать другой вариант. Подумаю...

Команда "Rizys-mod" - разработка плагинов на Fallout.
Вис  Offline  Сообщение №497 написано: 23 августа 2012, 13:14



298
Цитата rizys-mod

Сделай Активатор, на него можно ставить скрипт,


Там было написано про цвет коллизии. Какой лучше и как его сделать?

rizys-mod  Offline  Сообщение №498 написано: 23 августа 2012, 13:49


Команда "Rizys-Mod"


250
Вис, OL_Anim_Static

Команда "Rizys-mod" - разработка плагинов на Fallout.
Вис  Offline  Сообщение №499 написано: 23 августа 2012, 13:52



298
rizys-mod, и как её сделать?

rizys-mod  Offline  Сообщение №500 написано: 23 августа 2012, 14:07


Команда "Rizys-Mod"


250
Цитата Вис

и как её сделать?


Её не нужно делать, просто меняешь в коллизии блоки на такие:

Команда "Rizys-mod" - разработка плагинов на Fallout.
Вис  Offline  Сообщение №501 написано: 24 августа 2012, 09:55



298
А чем отличается Begin OnLoad от Begin GameMode?

Spalny_Vagon  Offline  Сообщение №502 написано: 24 августа 2012, 11:54


Мастер


Цитата Вис

А чем отличается Begin OnLoad от Begin GameMode?


Вам нужен учебник по написанию скриптов в TES 4 - OSFM

======================
Мод "Нью-Йорк" на русском: 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
Ipatow  Offline  Сообщение №503 написано: 24 августа 2012, 12:06



Цитата Вис

чем отличается Begin OnLoad от Begin GameMode?

Блок "гейммод" непрерывно повторяется - настолько часто, насколько хватает процессора. Блок "онлоад" исполняется только в момент материализации объекта. Это главное отличие; есть и другие, но потому типов блоков и не один десяток...

Вис  Offline  Сообщение №504 написано: 24 августа 2012, 12:14



298
Цитата Ipatow

Блок "гейммод" непрерывно повторяется - настолько часто, насколько хватает процессора. Блок "онлоад" исполняется только в момент материализации объекта. Это главное отличие; есть и другие, но потому типов блоков и не один десяток...


Спасибо

Galko  Offline  Сообщение №505 написано: 24 августа 2012, 17:10 | Отредактировано: Galko - 24 августа 2012, 17:21


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


Цитата Ipatow

чем отличается Begin OnLoad от Begin GameMode?


Вис, учись размышлять и анализировать ;) OnLoad по-аглицки - это переводится как "При загрузке".
GameMode - соответственно с английского будет "Игровой режим".
Begin - это "Начало"
Названия блоков просто так не даются, а определяют собой какие-то моменты и уже по названию можно ориентироваться что и когда срабатывает
К примеру:
Begin GameMode - блок выполняется непрерывно, пока игрок находится в игровом режиме (а не в режиме меню,когда например открыт инвентарь или игра стоит на паузе)
Begin OnLoad - блок выполняется, когда заскриптованный объект появляется (загружается) в игру
Begin OnActivate - блок выполняется при активации заскриптованного объекта
Begin OnTrigger - блок выполняется, когда происходит столкновение с заскриптованным объектом
Ну и так далее...

Ваше счастье, что я не ваше счастье
Вис  Offline  Сообщение №506 написано: 26 августа 2012, 15:43



298
Galko, это всё понятно, что OnLoad при загрузке, а GameMode игровой режим. Но то что
Цитата Galko

выполняется непрерывно, пока игрок находится в игровом режиме


я бы не догадался.
А теперь вопрос: что я делаю неправильно? Задача такова: чтобы при использовании 20 стимуляторов медицина повышалась на 1. Я создал переменную AAAzazaza691StimPak. Сделал новый эффект стимулятору и повесил на него скрипт
Code
Begin ScriptEffectStart

Set AAAzazaza691Naviki.AAAzazaza691StimPak to AAAzazaza691Naviki.AAAzazaza691StimPak + 1

END

Затем в скрипте квеста создал другую переменную AAAzazaza691Medicine и прописал такой скрипт:
Code
Begin GameMode
IF AAAzazaza691Stimpak>=2
Set AAAzazaza691Medicine to AAAzazaza691Medicine + 1
Set AAAzazaza691Stimpak to 0
endif
IF AAAzazaza691Medicine>=10
player.ModAV medicine 1
endif
End

И где моя ошибка?

JupiterJour  Offline  Сообщение №507 написано: 26 августа 2012, 16:25 | Отредактировано: Joopeeter - 26 августа 2012, 16:32


_


Вис, ты не уточнил, что и как не работает. В скрипте я вижу, что при достижении переменной AAAzazaza691Medicine значения 10 навык медицины буде повышаться на 1 при каждом прогоне скрипта (для квестового гейммода это по умолчанию каждые 5 сек.). Если навык должен быть повышен один раз за игру, то надо так:

Если после повышения надо начать счёт сначала, то short DoOnce надо убрать, а вместо set DoOnce to 1 надо вставить Set AAAzazaza691Medicine to 0.
Кстати, неясно, зачем там две переменных.

Если же до повышения вообще не доходит, то проверь флаги в эффекте. В базовом вроде бы должен стоять Self, в стимуляторе - "на себя".

Вис  Offline  Сообщение №508 написано: 26 августа 2012, 16:37



298
Цитата Joopeeter

Если же до повышения вообще не доходит, то проверь флаги в эффекте. В базовом вроде бы должен стоять Self, в стимуляторе - "на себя".


Стоят.

JupiterJour  Offline  Сообщение №509 написано: 26 августа 2012, 16:51 | Отредактировано: Joopeeter - 26 августа 2012, 16:53


_


Проверь, срабатывает ли эффект вообще. Кольнись стимпаком и введи с консоли ShowQuestVars [ID квеста в виде цифр]. Покажутся квестовые переменные. Повысились?
Цитата Вис

Ну там переменную Medicine повышать должны не только стимуляторы.


Всё равно не ясно, что мешает "не только стимулятору" и стимулятору повысить непосредственно медицинскую переменную. Ну, тебе видней.

Рыба  Offline  Сообщение №510 написано: 26 августа 2012, 16:57


faceless


693
Как начать диалог между 2-мя НПС?
Диалоговый анимационный пакет я сделал, сделал сами диалоги, в разделе Conversation. Но когда на триггере я захожу, один подходит к другому, говорит "Привет", и диалог не начинается. В чем ошибка?

Форум » Fallout 3 » Мастерская » Помощь по моддингу (Помощь в нелегком модмейкерском деле)
Поиск:





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