Прежде чем задавать вопрос - посмотрите в >> КАРТОТЕКЕ << Возможно, там уже есть готовый ответ.
Тема предназначена для общих вопросов. Прежде, чем тут что-то написать, посмотрите другие темы этого раздела. Вполне возможно, что они больше соответствуют тематике вашего вопроса.
Изменение репутации для пользователя Caiena
CaienaOffline
Сообщение №1591
написано: 1 сентября 2012, 08:20
| Отредактировано: Caiena - 1 сентября 2012, 08:26
Там ещё фракции могут подсуропить. Хотя с этим как-то неясно. Если дать кому-нибудь в рыло в Мегатонне и сделать ему StopCombat, то он на секунду успокаивается и зеленеет, а потом опять краснеет и начинает драться. Типа ничего личного, но теперь ты враг моей фракции. А вот если стукнуть Агату (совсем небольно, честное слово!) и сделать ей StopCombat, то всё путём - успокаивается и прощает. Со SCAOnActor то же самое. Также у меня в игре был случай: случайно попал по Доку Хоффу во время боя, он, естественно, взъелся и вся его свита тоже. Так вот, пока с консоли не успокоил StopCombat одновременно его самого, его охранника и его корову, они так и агрились по очереди. По видимому, это важно для фракций с более чем одним членом. Так что может пригодиться ClearActorsFactionsPlayerEnemyFlag.
Тут дошло до меня наконец-то, совсем плохая стала , дело в том, что мне нужно, чтобы непись атаковал первым. И в результ скрипте диалога я поставила StartCombat Player и вешала на него WeapNVBoxingGloves. Вот в чем загвоздка! Получается, что команде StartCombat Player совершенно пофиг скрипт повешенный на WeapNVBoxingGloves. Мой тестовый непись, на котором я экспериментировала, после диалога, начинает боксировать (я ему для проверки, нож в инвентарь сунула - не пользуется. Хорошо). Плохо то, что его я не могу остановить. Хотя Виктор, робот-милашка, защитник, стрельнул в него разок, так мой непись сбежал от него, а потом вернулся уже желтенький и приступил к своему Sandbox. Получается, Виктор отстрелил ему StartCombat Player и он вернулся к своему AI.
Ref BoxingGloveTarget Set BoxingGloveTarget to GetOwnerLastTarget
If (BoxingGloveTarget != PlayerRef) && (BoxingGloveTarget.GetIsCreatureType 6 != 1) BoxingGloveTarget.damageav Fatigue 35 Else BoxingGloveTarget.damageav Health 10 EndIf End
begin GameMode if player.GetHealthPercentage < 0.5 player.scaonactor endif End
<a class="link" href="http://nick-name.ru/sertificates/278209/" rel="nofollow" target="_blank"> border="0" alt=""/</a> Да, мы бандиты и бродяги, как злословит молва, Мы попадаем в передряги, помня эти слова. Смотри вперед и не сдавайся ты на милость судьбе! Предай их всех, останься верен себе. (Канцлер Ги - Кантри Бреган Д'Эрт)
Изменение репутации для пользователя Caiena
CaienaOffline
Сообщение №1596
написано: 1 сентября 2012, 13:01
| Отредактировано: Caiena - 1 сентября 2012, 13:17
Это последний вариант который я попробовала. Причем, если в Результ Скрипте стоит StartCombat, непись начинает драться и не останавливается. Если я убираю StartCombat, он, разумеется стоит. Я его стукну, начинает боксировать и до упора. Все таки что-то со скриптом не так..
Быть может, в скрипт какую-нибудь такую конструкцию запихать:
StartCombat Player
if Player.GetHealthPercentage < 0.50 scaonactor endif
Только я не понимаю как это сделать. Тогда можно было бы отвязаться от Результ скрипта и обрабатывать все в самом скрипте...
А вот в сцене драки с Туннельными Змеями используется не Player.GetHealthPercentage, а сравнение текущего здоровья с половиной запомненного в начале. Впрочем, Player.GetHealthPercentage в Ф3 тоже используется раз пять. Как насчёт локализовать проблему? Просто, до всяких диалогов, затеять драку и с консоли успокоить непися StopCombat или player.SCAOnActor. Потом во время заскриптованной драки. Хоть ясно будет, на каком этапе поломка.
Изменение репутации для пользователя Caiena
CaienaOffline
Сообщение №1598
написано: 1 сентября 2012, 14:02
| Отредактировано: Caiena - 1 сентября 2012, 14:10
Возможно, не срабатывает if Player.GetHealthPercentage < 0.50. Некоторые функции, которые в Ф3 использовали доли единицы, в Вегасе используют проценты. Конкретно по этой ГЭКК-вики не пишет ничего такого, но там иногда не всё задокументировано. Опять можно посмотреть, что возвращает рlayer.GetHealthPercentage, введённая с консоли. Или вместо неё можно попробовать так:
Code
if player.GetAV health < player.GetBaseAV health/2 StopCombat; или SCAOnActor endif
Возможно, не срабатывает if Player.GetHealthPercentage < 0.50.
Нет, работает. Если во время боя в консоли вводить Player.GetHealthPercentage, то выводит GetHealthPercentage >>1,00 далее GetHealthPercentage >>0,75 и так далее. Думаю, тут дело в правильном построении скрипта, но тут я полный ноль..
Пробовала я так:
scn BoxBonkOnHitScript
Begin OnHit
Ref BoxBonkTarget Set BoxBonkTarget to GetOwnerLastTarget
If (BoxBonkTarget != PlayerRef) && (BoxBonkTarget.GetIsCreatureType 6 != 1) BoxBonkTarget.damageav Fatigue 20 Else BoxBonkTarget.damageav Health 10 EndIf End
Begin GameMode
if Player.GetHealthPercentage < 0.80 BoxBonkTarget.StopCombat player endif End
Если перчатки не у игрока, то BoxBonkTarget'ом является как раз игрок. Может, использовать ещё GetContainer? Типа: ref Owner .... set Owner to GetContainer .... Owner.StopCombat
Изменение репутации для пользователя Caiena
CaienaOffline
Сообщение №1605
написано: 2 сентября 2012, 16:50
| Отредактировано: Caiena - 2 сентября 2012, 16:55
Если перчатки не у игрока, то BoxBonkTarget'ом является как раз игрок. Может, использовать ещё GetContainer?
Ну да, торможу.. А на мог бы ты как-то на конкретном примере скрипта это показать? А то я еще месяц буду там буковки печатать. Знание - сила, не знание - жизнь..
Изменение репутации для пользователя kusmitch
kusmitchOffline
Сообщение №1606
написано: 2 сентября 2012, 16:54
| Отредактировано: kusmitch - 2 сентября 2012, 17:03
(ref Owner) под (ref BoxBonkTarget)'ом (set Owner to GetContainer) под (Set BoxBonkTarget to GetOwnerLastTarget)'ом (Owner.StopCombat) под (BoxBonkTarget.StopCombat)'ом И переменные обычно всё же объявляют сразу после Scriptname, хоть тут и без разницы.
Речь о степени обезвоживания. Поясню. Нет обезвоживания - один диалог. Есть обезвоживание - другой диалог. Смерть от обезвоживания - идите... чай пить!
Либо есть, либо нет. Так? Степени обезвоживания в Кондициях не установить?
Изменение репутации для пользователя kusmitch
kusmitchOffline
Сообщение №1616
написано: 2 сентября 2012, 19:29
| Отредактировано: kusmitch - 2 сентября 2012, 19:33
Ты совершенно прав. Я обычно так и делаю. Просто решила, что так быстрее будет. С моим багажом знаний GECK, у меня на это пара дней бы ушла, а так я творчеством займусь!
По сему, всем Большое спасибо за терпение и помощь!
ЗЫ. Но я еще вернусь!
Изменение репутации для пользователя Spalny_Vagon
Spalny_VagonOffline
Сообщение №1620
написано: 2 сентября 2012, 19:51
| Отредактировано: Spalny_Vagon - 2 сентября 2012, 19:56
Либо есть, либо нет. Так? Степени обезвоживания в Кондициях не установить?
Еще раз. Обезвоживание может принимать значения от 0 до 1000. (От нуля до тысячи) Тысяча - это такая цифра. У нее слева 1, а справа три ноля. Если обезвоживание равно 0, значит его (обезвоживания) нет. Если обезвоживание больше 0, значит, обезвоживание есть, если обезвоживание равно 1000, значит ГГ полностью обезвожен.
В ГЕККе в меню "Геймплей" имеется раздел Dehydration, в нем можно увидеть, какие значения должны быть у Dehydration для вывода на монитор и для срабатывания соответствующего этому значению актор-эффекта. Градация идет через 200 единиц. Точно так же через 200 единиц идет градация голода, сна и лучевой болезни. По мере роста значения обезвоживания (голода, сна, радиации) через каждые 200 единиц подключаются соответствующие актор-эффекты повреждения здоровья, выносливости, скрытности и т.д. Например, при обезвоживании 400 ед мы имеем уменьшение выносливости на 2 и восприятия на 1, а при обезвоживании 600 выносливость уменьшается на 3, восприятие на 2, наука на 1. Таким образом, всего имеется пять степеней обезвоживания (голода, сонливости и лучевой болезни).
====================== Мод "Нью-Йорк" на русском: 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