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

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



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




Spalny_Vagon  Offline  Сообщение №511 написано: 24 октября 2011, 19:46


Мастер


Цитата Volkogava

set Timer to GameDaysPassed


У Вас время обновляется в каждом фрейме. А еще три endif и только два if.

======================
Мод "Нью-Йорк" на русском: 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  Сообщение №512 написано: 25 октября 2011, 05:12 | Отредактировано: Artem13 - 25 октября 2011, 05:17


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


Да с обновлением то нормально, а вот endif перед else действительно лишний.

Ну и еще:

при учёте, что
set Timer to GameDaysPassed

Условие if GameDaysPassed - Timer >= 0.5 не сработает никогда. Кроме того, выражения с более чем одним операндом при сравнении желательно заключать в скобки, иначе сравнение может пройти не по результату выражения, а по последнему операнду.

if (GameDaysPassed - Timer) >= 0.5

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



73
Spalny_Vagon, Artem13, уже разобрался и теперь все работает как надо, проблема была именно в обновлении. Спасибо вам за советы и помощь.

Вот сдам бутылки - тогда и куплю гранатомет (©)
Spalny_Vagon  Offline  Сообщение №514 написано: 25 октября 2011, 06:03


Мастер


Цитата Artem13

Да с обновлением то нормально,


Да где же оно нормально, если Вы сами говорите, что "Условие if GameDaysPassed - Timer >= 0.5 не сработает никогда"? Потому и не сработает, что timer обновляется в каждом фрейме.

======================
Мод "Нью-Йорк" на русском: 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  Сообщение №515 написано: 25 октября 2011, 06:06


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


Spalny_Vagon, имелось в виду, что обновление как таковое каждый фрейм вполне нормальное явление. Просто из этого скрипта понять его функцию я не смог unsure

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



179
Artem13, Если прошло определенное время, то у гг забирается spell эффект и квест останавливается.

...-Вот такой вот парадокс. Мы делаем моды для игр, в которые уже давно не играем...
ViM  Offline  Сообщение №517 написано: 25 октября 2011, 19:39 | Отредактировано: ViM - 25 октября 2011, 19:44



5
Для тех кому это интересно, сделал подсветку фоллаутовских скриптов для программерского редактора UltraEdit.



СКАЧАТЬ

farnak  Offline  Сообщение №518 написано: 26 октября 2011, 15:11 | Отредактировано: farnak - 26 октября 2011, 15:12



22
Насколько реально давать оружию с оптическим прицелом бонус точности при расстоянии до цели >n и штраф при <n? Функции и блоки вроде все просмотрел, но как-то все не слишком оптимистично.

Artem13  Offline  Сообщение №519 написано: 26 октября 2011, 15:20


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


farnak, на мой взгляд нереально.

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


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


Цитата ViM

сделал подсветку фоллаутовских скриптов для программерского редактора UltraEdit


Интересно-интересно. Посмотрим. Вещь вроде полезная, в плане удобочитаемости скриптов

Ваше счастье, что я не ваше счастье
Steady  Offline  Сообщение №521 написано: 1 ноября 2011, 12:22



Как должен выглядеть скрипт, который при старте игры автоматически добавляет определенный предмет в инвентарь ГГ и автоматически его активирует (Предмет из раздела "помощь")?
Думаю надо создать квест с пометкой "Начинать при старте игры" и приписать скрипт?

kiruhaSUPER  Offline  Сообщение №522 написано: 1 ноября 2011, 12:30



Straight, Как в Classic Pack посмотри.Ты же вроде меня с галко этому учил

Steady  Offline  Сообщение №523 написано: 1 ноября 2011, 12:33



kiruhaSUPER, classic pack у меня нет времени искать и качать. Мне нужен готовый скрипт.
Добавить автоматически предмет я знаю как: прописываешь реф.additem и id предмета. А мне нужно узнать как его еще и активировать (Скрипт это должен сделать автоматически при добавлении предмета за тебя).

kiruhaSUPER  Offline  Сообщение №524 написано: 1 ноября 2011, 12:35



Straight, Кинуть?

Steady  Offline  Сообщение №525 написано: 1 ноября 2011, 12:36



kiruhaSUPER, если ты про скрипт то кидай. Если про пак то зачем он мне нужен.

kiruhaSUPER  Offline  Сообщение №526 написано: 1 ноября 2011, 12:39



Code
ScriptName VPreorderClassicSCRIPT

BEGIN GameMode
  if (VDLCPackQuest.bClassicItemsGiven == 0)
   ShowMessage PreorderMessageInventoryClassic;
   Player.AddItem PreordArmorVault13Armored 1;
   Player.AddItem PreordVaultCanteen 1;
   Player.AddItem WeapPreord10mmPistol 1;
   Player.AddItem Ammo10mm 50;
   Player.AddItem Stimpak 5;
   set VDLCPackQuest.bClassicItemsGiven to 1
  endif
END

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

Steady  Offline  Сообщение №527 написано: 1 ноября 2011, 12:41



kiruhaSUPER, это я и сам знаю, в 3-ий раз говорю: мне нужно чтоб он Активировался!! Как добавить я знаю.

kiruhaSUPER  Offline  Сообщение №528 написано: 1 ноября 2011, 12:44



Цитата Straight

Активировался


Я щас посмотрю в скрипте мед. силовой броне

Galko  Offline  Сообщение №529 написано: 1 ноября 2011, 12:47 | Отредактировано: Galko - 1 ноября 2011, 12:49


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


Цитата Straight

Скрипт это должен сделать автоматически при добавлении предмета за тебя


Тип скрипта - объектный. Вешаешь на предмет, который будет добавляться в инвентарь.

Ваше счастье, что я не ваше счастье
Graf  Offline  Сообщение №530 написано: 1 ноября 2011, 12:48



179
Цитата Straight

и автоматически его активирует


Всмысле что бы его съел гг?

...-Вот такой вот парадокс. Мы делаем моды для игр, в которые уже давно не играем...
Steady  Offline  Сообщение №531 написано: 1 ноября 2011, 12:49



Galko, а сама команда? Блок сам по себе ничего не сделает.

Добавлено (01.11.2011, 16:49)
---------------------------------------------
Graf, короче. Как только запускается игра - предмет добавляется в инвентарь ГГ (Это готово). Как только добавился (Блок Begin OnAdd) он автоматически активируется (то есть да, его съедает ГГ - как ты сказал) - вот что мне нужно.


Galko  Offline  Сообщение №532 написано: 1 ноября 2011, 12:55


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


Цитата Straight

при старте игры автоматически добавляет определенный предмет в инвентарь ГГ и автоматически его активирует (Предмет из раздела "помощь")?


Тогда, как сказано выше: квестовый скрипт, который при старте игры добавляет предмет, а в нем дальше проверка - если предмет добавлен, то его активировать. Думаю, Граф легко распишет тебе скрипт.

Ваше счастье, что я не ваше счастье
Graf  Offline  Сообщение №533 написано: 1 ноября 2011, 12:55



179
Straight, Один раз использыватся будит за всю игру?

...-Вот такой вот парадокс. Мы делаем моды для игр, в которые уже давно не играем...
Steady  Offline  Сообщение №534 написано: 1 ноября 2011, 12:58



Graf, нет. Если "съесть его" повторно, то будет использоваться команда RemovePerk. А при первом автоматическом использовании - AddPerk. Ну и т.д. То есть вкл - выкл, вкл - выкл... Но я в подробности вдаюсь, мне сейчас скрипт просто нужен. Ну так что - есть идеи?

Graf  Offline  Сообщение №535 написано: 1 ноября 2011, 13:10



179
Straight, Я уже и не пойму что нужно. Как его съесть повторно если его уже не будет?

...-Вот такой вот парадокс. Мы делаем моды для игр, в которые уже давно не играем...
Steady  Offline  Сообщение №536 написано: 1 ноября 2011, 13:10



Хм, если нет ответа - то придется выбросить из головы произвольное использование.

Graf  Offline  Сообщение №537 написано: 1 ноября 2011, 13:11



179
Straight, Можеш сделать через GameMode добавить и сразу удалить из инвентаря вещь, и задать звук приёма пищи.

...-Вот такой вот парадокс. Мы делаем моды для игр, в которые уже давно не играем...
Steady  Offline  Сообщение №538 написано: 1 ноября 2011, 13:11



Graf, а он разве не может Не исчезать из инвентаря после того как его "съели?"

kiruhaSUPER  Offline  Сообщение №539 написано: 1 ноября 2011, 13:15



Цитата Graf

Можеш сделать через GameMode добавить и сразу удалить из инвентаря вещь, и задать звук приёма пищи.


Тогда ещё ActorEffect как у пропавшего предмета

Graf  Offline  Сообщение №540 написано: 1 ноября 2011, 13:16



179
Straight, Может сразу появлятся, а на счет не ищезать, никогда не занимался этим.

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





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