Модератор форума: КсюXa, ApeX  
Форум » Fallout: New Vegas » Мастерская » ВОПРОСЫ по моддингу (Спрашиваем и отвечаем на тему как сделать то или это...)

ВОПРОСЫ по моддингу
Defox  Offline  Сообщение №1 написано: 3 ноября 2010, 11:46 | Отредактировано: ApeX - 3 ноября 2018, 10:41


Project Fallout: Wild Wasteland


463
Прежде чем задавать вопрос - посмотрите в
>> КАРТОТЕКЕ <<

Возможно, там уже есть готовый ответ.

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

Caiena  Offline  Сообщение №1591 написано: 1 сентября 2012, 08:20 | Отредактировано: Caiena - 1 сентября 2012, 08:26



35
Цитата Spalny_Vagon

скрипт эффекта вызывается на self, а в объектном скрипте надо, наверное, все-таки указывать, на ком вызывается функция.



Ребят, я извиняюсь, вы сейчас с кем разговаривали?
Можно по-подробней, я ничегошеньки не поняла..

Хорошо, а если как-то с другой стороны посмотреть. Например, StartCombat Player, а потом как-то остановить бой? С тем же GetHealthPercentage, что ли..

Spalny_Vagon  Offline  Сообщение №1592 написано: 1 сентября 2012, 11:00


Мастер


Цитата Caiena

Хорошо, а если как-то с другой стороны посмотреть.


Попробуйте так:

Begin OnHit

Ref BoxingGloveTarget
Set BoxingGloveTarget to GetOwnerLastTarget

If (BoxingGloveTarget != PlayerRef) && (BoxingGloveTarget.GetIsCreatureType 6 != 1)
BoxingGloveTarget.damageav Fatigue 35
Else
BoxingGloveTarget.damageav Health 10
EndIf
if player.GetHealthPercentage < 0.5
player.scaonactor
endif
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
JupiterJour  Offline  Сообщение №1593 написано: 1 сентября 2012, 11:29 | Отредактировано: Joopeeter - 1 сентября 2012, 11:37


_


Там ещё фракции могут подсуропить. Хотя с этим как-то неясно. Если дать кому-нибудь в рыло в Мегатонне и сделать ему StopCombat, то он на секунду успокаивается и зеленеет, а потом опять краснеет и начинает драться. Типа ничего личного, но теперь ты враг моей фракции. А вот если стукнуть Агату (совсем небольно, честное слово!) и сделать ей StopCombat, то всё путём - успокаивается и прощает. Со SCAOnActor то же самое. Также у меня в игре был случай: случайно попал по Доку Хоффу во время боя, он, естественно, взъелся и вся его свита тоже. Так вот, пока с консоли не успокоил StopCombat одновременно его самого, его охранника и его корову, они так и агрились по очереди. По видимому, это важно для фракций с более чем одним членом.
Так что может пригодиться ClearActorsFactionsPlayerEnemyFlag.

Caiena  Offline  Сообщение №1594 написано: 1 сентября 2012, 12:20



35
Цитата Spalny_Vagon

Попробуйте так:



Увы, так я уже вчера пробовала. Не работает..

Тут дошло до меня наконец-то, совсем плохая стала :D , дело в том, что мне нужно, чтобы непись атаковал первым. И в результ скрипте диалога я поставила StartCombat Player и вешала на него WeapNVBoxingGloves. Вот в чем загвоздка! Получается, что команде StartCombat Player совершенно пофиг скрипт повешенный на WeapNVBoxingGloves.
Мой тестовый непись, на котором я экспериментировала, после диалога, начинает боксировать (я ему для проверки, нож в инвентарь сунула - не пользуется. Хорошо). Плохо то, что его я не могу остановить. Хотя Виктор, робот-милашка, защитник, стрельнул в него разок, так мой непись сбежал от него, а потом вернулся уже желтенький и приступил к своему Sandbox. Получается, Виктор отстрелил ему StartCombat Player и он вернулся к своему AI.

Ох, что-то я совсем запуталась.. Чего я хочу?..

Artem13  Offline  Сообщение №1595 написано: 1 сентября 2012, 12:52


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


А если СтопКомбат запихнуть в ГэймМоде?

Code
Begin OnHit  

  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  Offline  Сообщение №1596 написано: 1 сентября 2012, 13:01 | Отредактировано: Caiena - 1 сентября 2012, 13:17



35
Цитата Artem13

А если СтопКомбат запихнуть в ГэймМоде?



Тоже пробовала, не останавливается..

Это последний вариант который я попробовала. Причем, если в Результ Скрипте стоит StartCombat, непись начинает драться и не останавливается. Если я убираю StartCombat, он, разумеется стоит. Я его стукну, начинает боксировать и до упора. Все таки что-то со скриптом не так..

Быть может, в скрипт какую-нибудь такую конструкцию запихать:

StartCombat Player

if Player.GetHealthPercentage < 0.50
scaonactor
endif

Только я не понимаю как это сделать. Тогда можно было бы отвязаться от Результ скрипта и обрабатывать все в самом скрипте...

JupiterJour  Offline  Сообщение №1597 написано: 1 сентября 2012, 13:40


_


А вот в сцене драки с Туннельными Змеями используется не Player.GetHealthPercentage, а сравнение текущего здоровья с половиной запомненного в начале. Впрочем, Player.GetHealthPercentage в Ф3 тоже используется раз пять.
Как насчёт локализовать проблему? Просто, до всяких диалогов, затеять драку и с консоли успокоить непися StopCombat или player.SCAOnActor. Потом во время заскриптованной драки. Хоть ясно будет, на каком этапе поломка.

Caiena  Offline  Сообщение №1598 написано: 1 сентября 2012, 14:02 | Отредактировано: Caiena - 1 сентября 2012, 14:10



35
Цитата Joopeeter

Хоть ясно будет, на каком этапе поломка.



Я не очень поняла Вашу мысль. С консоли все работает. И что? Или Вы что-то другое имели в виду?

Да, ладно. Старый испытанный способ - чтобы решить проблему нужно подумать о чем-то другом. Поеду, машину на ТО сдам! lol

JupiterJour  Offline  Сообщение №1599 написано: 1 сентября 2012, 14:19


_


Мысль в том, чтобы определить, что же
Цитата Caiena

со скриптом не так


Возможно, не срабатывает if Player.GetHealthPercentage < 0.50. Некоторые функции, которые в Ф3 использовали доли единицы, в Вегасе используют проценты. Конкретно по этой ГЭКК-вики не пишет ничего такого, но там иногда не всё задокументировано. Опять можно посмотреть, что возвращает рlayer.GetHealthPercentage, введённая с консоли. Или вместо неё можно попробовать так:
Code

if player.GetAV health < player.GetBaseAV health/2
StopCombat; или SCAOnActor
endif

Caiena  Offline  Сообщение №1600 написано: 2 сентября 2012, 15:28



35
Цитата Joopeeter

Возможно, не срабатывает 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

Не работает. У меня идеи кончились...

Spalny_Vagon  Offline  Сообщение №1601 написано: 2 сентября 2012, 15:49


Мастер


Цитата Caiena

Не работает.


Не думаю, что 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
Caiena  Offline  Сообщение №1602 написано: 2 сентября 2012, 16:07 | Отредактировано: Caiena - 2 сентября 2012, 16:32



35
Цитата Spalny_Vagon

Не думаю, что gamemode будет работать на оружии, находящемся в инвентаре или слоте. И точно не будет работать, если перчатки не у ГГ.



Хм, возможно.. И что тогда делать?
Ээх, вся надежда на волшебника Кузьмича. ;) Его заинтересовала эта проблема..

Слушайте, подскажите, как в кондициях диалога поставить проверку на степень обезвоживания? Что-то найти ни как не могу. Должно ведь быть..

А нашла! Magic Effect -> DamageDehydrationLevel
А как значение выставлять? ==1,00 это обезвоживания нет, а когда есть? ==0,50 так что ли?

Spalny_Vagon  Offline  Сообщение №1603 написано: 2 сентября 2012, 16:44


Мастер


Цитата Caiena

Слушайте, подскажите, как в кондициях диалога поставить проверку на степень обезвоживания? Что-то найти ни как не могу. Должно ведь быть..


getAV Dehydration (голод, сон, жажда - все от 0 до 1000, точно так же, как и радиация)

======================
Мод "Нью-Йорк" на русском: 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
JupiterJour  Offline  Сообщение №1604 написано: 2 сентября 2012, 16:48


_


Цитата Caiena

BoxBonkTarget.StopCombat player


Если перчатки не у игрока, то BoxBonkTarget'ом является как раз игрок. Может, использовать ещё GetContainer? Типа:
ref Owner
....
set Owner to GetContainer
....
Owner.StopCombat

Caiena  Offline  Сообщение №1605 написано: 2 сентября 2012, 16:50 | Отредактировано: Caiena - 2 сентября 2012, 16:55



35
Цитата Joopeeter


Если перчатки не у игрока, то BoxBonkTarget'ом является как раз игрок. Может, использовать ещё GetContainer?



Ну да, торможу.. :D
А на мог бы ты как-то на конкретном примере скрипта это показать?
А то я еще месяц буду там буковки печатать.
Знание - сила, не знание - жизнь.. :D

kusmitch  Offline  Сообщение №1606 написано: 2 сентября 2012, 16:54 | Отредактировано: kusmitch - 2 сентября 2012, 17:03


Мастер


216
Caiena, пробовал на Докторе Митчеле, всё нормально работает. Причём независимо - у игрока ли перчатки или у NPC.

scn aaaBoxingGlovesFatigueOnHitScript;

Begin OnHit

Ref BoxingGloveTarget
Set BoxingGloveTarget to GetOwnerLastTarget

If (BoxingGloveTarget != PlayerRef) && (BoxingGloveTarget.GetIsCreatureType 6 != 1)
BoxingGloveTarget.damageav Fatigue 35
Else
BoxingGloveTarget.damageav Health 10

endif

if ( Player.GetHealthPercentage < 0.80 )
player.SCAOnActor

endif

End

Пользователь заблокирован за плагиат в коммерческих целях, саботаж, клевету и вред сайту за его пределами
Caiena  Offline  Сообщение №1607 написано: 2 сентября 2012, 16:57 | Отредактировано: Caiena - 2 сентября 2012, 17:17



35
Цитата kusmitch

Caiena, пробовал на Докторе Митчеле, всё нормально работает.



Ха, я же говорила - Волшебник!

Побегу смотреть..

=======

Да, все работает!
Ну все, Кузьмич - мой герой!
Пойду на стену его фото повешу.. :D


JupiterJour  Offline  Сообщение №1608 написано: 2 сентября 2012, 17:08 | Отредактировано: Joopeeter - 2 сентября 2012, 17:10


_


Цитата Caiena

Ха, я же говорила - Волшебник!


:D :D
Ну, на всякий случай:

(ref Owner) под (ref BoxBonkTarget)'ом
(set Owner to GetContainer) под (Set BoxBonkTarget to GetOwnerLastTarget)'ом
(Owner.StopCombat) под (BoxBonkTarget.StopCombat)'ом
И переменные обычно всё же объявляют сразу после Scriptname, хоть тут и без разницы.

Caiena  Offline  Сообщение №1609 написано: 2 сентября 2012, 17:32



35
Так по-поводу значений на проверку состояния обезвоживания в Condition Function мне кто-нибудь может что-то сказать?

Я так понимаю, что в игре на экран выводиться числовое значение, а движок игры работает с процентами?

Spalny_Vagon  Offline  Сообщение №1610 написано: 2 сентября 2012, 17:43


Мастер


Цитата Spalny_Vagon

getAV Dehydration (голод, сон, жажда - все от 0 до 1000, точно так же, как и радиация)


Мне кажется, я по-русски написал - от 0 до 1000.

======================
Мод "Нью-Йорк" на русском: 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
Caiena  Offline  Сообщение №1611 написано: 2 сентября 2012, 18:03



35
Цитата Spalny_Vagon

Мне кажется, я по-русски написал - от 0 до 1000.



Это я поняла. Тогда, быть может, объяснишь мне, бестолковой, как в Condition Function выбрать твоё getAV Dehydration?



Я просто спросила в каких единицах выставляется значение в поле Value.

rizys-mod  Offline  Сообщение №1612 написано: 2 сентября 2012, 18:56


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


250
Caiena, getav - getactorvalue.

Команда "Rizys-mod" - разработка плагинов на Fallout.
Caiena  Offline  Сообщение №1613 написано: 2 сентября 2012, 19:09



35
Цитата rizys-mod

Caiena, getav - getactorvalue.



Тфу! Опять все просто оказалось! Может мне лучше укладчицой на конфетную фабрику устроиться? lol

А Value-то в каких единицах выставлять? Объясните дурочке.

kusmitch  Offline  Сообщение №1614 написано: 2 сентября 2012, 19:14


Мастер


216
Цитата Caiena

А Value-то в каких единицах выставлять? Объясните дурочке.



В целых :D

Добавлено (02.09.2012, 23:14)
---------------------------------------------
Caiena, Если 1 - есть attacked, если 0 - нету


Пользователь заблокирован за плагиат в коммерческих целях, саботаж, клевету и вред сайту за его пределами
Caiena  Offline  Сообщение №1615 написано: 2 сентября 2012, 19:21 | Отредактировано: Caiena - 2 сентября 2012, 19:22



35
Цитата kusmitch

В целых



Смешно!
Я просто на скриншоте AV искала. :D

Речь о степени обезвоживания.
Поясню.
Нет обезвоживания - один диалог.
Есть обезвоживание - другой диалог.
Смерть от обезвоживания - идите... чай пить! :D

Либо есть, либо нет. Так? Степени обезвоживания в Кондициях не установить?

kusmitch  Offline  Сообщение №1616 написано: 2 сентября 2012, 19:29 | Отредактировано: kusmitch - 2 сентября 2012, 19:33


Мастер


216
Это, наверное, скриптом надо :D прописать переменные: к примеру 100 - 1, 200 - 2 и т.д.

getAV Dehydration == 100 1
getAV Dehydration == 200 2
.....

как-то так

Пользователь заблокирован за плагиат в коммерческих целях, саботаж, клевету и вред сайту за его пределами
rizys-mod  Offline  Сообщение №1617 написано: 2 сентября 2012, 19:33


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


250
Caiena, а поэксперементировать не пробовала? Поставить 1, потом 2, потом 20 ну и 500 и 800. Что-то должно работать.

Команда "Rizys-mod" - разработка плагинов на Fallout.
kusmitch  Offline  Сообщение №1618 написано: 2 сентября 2012, 19:35


Мастер


216
Joopeeter, да ты прав, но и так работает, по запарке написал

Пользователь заблокирован за плагиат в коммерческих целях, саботаж, клевету и вред сайту за его пределами
Caiena  Offline  Сообщение №1619 написано: 2 сентября 2012, 19:44



35
Цитата rizys-mod

Caiena, а поэкспериментировать не пробовала?



Ты совершенно прав. Я обычно так и делаю. Просто решила, что так быстрее будет.
С моим багажом знаний GECK, у меня на это пара дней бы ушла, а так я творчеством займусь! :D

По сему, всем Большое спасибо за терпение и помощь!

ЗЫ. Но я еще вернусь! lol

Spalny_Vagon  Offline  Сообщение №1620 написано: 2 сентября 2012, 19:51 | Отредактировано: Spalny_Vagon - 2 сентября 2012, 19:56


Мастер


Цитата Caiena

Либо есть, либо нет. Так? Степени обезвоживания в Кондициях не установить?


Еще раз. Обезвоживание может принимать значения от 0 до 1000. (От нуля до тысячи) Тысяча - это такая цифра. У нее слева 1, а справа три ноля. Если обезвоживание равно 0, значит его (обезвоживания) нет. Если обезвоживание больше 0, значит, обезвоживание есть, если обезвоживание равно 1000, значит ГГ полностью обезвожен.

======================
Мод "Нью-Йорк" на русском: 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
Форум » Fallout: New Vegas » Мастерская » ВОПРОСЫ по моддингу (Спрашиваем и отвечаем на тему как сделать то или это...)
Поиск:





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