Скрипты
|
a3apbi4
Offline
|
Сообщение №1
написано: 7 декабря 2010, 18:01
|
|
Скрипты - неотъемлемая часть GECK. При написании возникает очень много казусов. Данная тема должна помочь не наступать на "грабли" новичкам и делиться опытом с другими более продвинутых мододелов.
|
|
|
|
|
|
Spalny_Vagon
Offline
|
Сообщение №511
написано: 24 октября 2011, 19:46
|
Мастер
|
Цитата Volkogavaset 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
|
|
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, имелось в виду, что обновление как таковое каждый фрейм вполне нормальное явление. Просто из этого скрипта понять его функцию я не смог
|
<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
|
|
Artem13, Если прошло определенное время, то у гг забирается spell эффект и квест останавливается.
|
...-Вот такой вот парадокс. Мы делаем моды для игр, в которые уже давно не играем...
|
|
|
|
|
ViM
Offline
|
Сообщение №517
написано: 25 октября 2011, 19:39
| Отредактировано: ViM - 25 октября 2011, 19:44
|
|
Для тех кому это интересно, сделал подсветку фоллаутовских скриптов для программерского редактора UltraEdit.
СКАЧАТЬ
|
|
|
|
|
|
farnak
Offline
|
Сообщение №518
написано: 26 октября 2011, 15:11
| Отредактировано: farnak - 26 октября 2011, 15:12
|
|
Насколько реально давать оружию с оптическим прицелом бонус точности при расстоянии до цели >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
|
|
Цитата 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
|
|
Straight, Один раз использыватся будит за всю игру?
|
...-Вот такой вот парадокс. Мы делаем моды для игр, в которые уже давно не играем...
|
|
|
|
|
Steady
Offline
|
Сообщение №534
написано: 1 ноября 2011, 12:58
|
|
Graf, нет. Если "съесть его" повторно, то будет использоваться команда RemovePerk. А при первом автоматическом использовании - AddPerk. Ну и т.д. То есть вкл - выкл, вкл - выкл... Но я в подробности вдаюсь, мне сейчас скрипт просто нужен. Ну так что - есть идеи?
|
|
|
|
|
|
Graf
Offline
|
Сообщение №535
написано: 1 ноября 2011, 13:10
|
|
Straight, Я уже и не пойму что нужно. Как его съесть повторно если его уже не будет?
|
...-Вот такой вот парадокс. Мы делаем моды для игр, в которые уже давно не играем...
|
|
|
|
|
Steady
Offline
|
Сообщение №536
написано: 1 ноября 2011, 13:10
|
|
Хм, если нет ответа - то придется выбросить из головы произвольное использование.
|
|
|
|
|
|
Graf
Offline
|
Сообщение №537
написано: 1 ноября 2011, 13:11
|
|
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
|
|
Straight, Может сразу появлятся, а на счет не ищезать, никогда не занимался этим.
|
...-Вот такой вот парадокс. Мы делаем моды для игр, в которые уже давно не играем...
|
|
|
|
|
|