• Страница 41 из 41
  • «
  • 1
  • 2
  • 39
  • 40
  • 41
Форум » Записи участника [JupiterJour]

Результаты поиска
JupiterJour  Offline  Сообщение №1201 | Тема: Скрипты написано: 24 ноября 2022, 11:03


_


Цитата Stea1ch

полное отсутствие Begin OnFire


Вот из-за этого и приходится громоздить эти Placed Impact Object'ы, когда хочешь в трёшке сымитировать OnFire.

JupiterJour  Offline  Сообщение №1202 | Тема: Скрипты написано: 24 ноября 2022, 12:57


_


Кстати да, опыт. И ещё надо чтобы актёр взаггрился на игрока, а то ведь искусственно размещаемый взрыв считается ничейным.

Так что наносящий повреждения взрыв всё ж таки должен быть  не любой, а специально сделанный. Назначаем ему скриптовый эффект с отмеченным No death dispell. В эффекте пишем SendAssaultAlarm, чтобы разозлить актёра и его друзей. Что с опытом. Можно чисто символически вписать RewardXP 1, просто чтобы что-то звякнуло. Можно долго и нудно скриптово выяснять, кого же мы только что прибили, мы ли его прибили, а то, может, он и раньше так лежал, написать формулу вычисления опыта в зависимости от уровня, типа, роста, веса и общей страшности и в конце выдавать точную дозу опыта.


JupiterJour  Offline  Сообщение №1203 | Тема: Скрипты написано: 24 ноября 2022, 15:02 | Отредактировано: JupiterJour - 24 ноября 2022, 15:14


_


Цитата Stea1ch

По логике эффект должен сработать при выстреле...


Нет, оружейный эффект должен сработать на цели при попадании. И то, только если оружие наносит хотя бы единичку повреждения. То есть сейчас детонатор работает так: находим кого-нибудь, стреляем в него - и мины взрываются, если эффект имеет длительность. Если не имеет, то не взрываются, потому что эффект сам же сразу и обнуляет переменную. Всё, что требуется - это в скрипте Placed impact object'а (объектном скрипте) написать:

set C4DetonationQUEST.Detonation to 1
Disable
MarkForDelete

Далее. Вот тут лишнее:

set Detonate to C4DetonationQUEST.Detonation

Можно ж просто проверять саму квестовую переменную, не переписывая её постоянно в другую переменную:

if C4DetonationQUEST.Detonation == 1

Далее. Обнулять квестовую переменную из скрипта мины-активатора не нужно. Если мин больше одной, сработает первая, обнулит переменную - и всё, другие не сработают. Можно обнулить её в самом квесте, но не как сейчас сделано (а вдруг так совпадёт, что квестовый скрипт сработает раньше объектного?), а по таймеру, скажем, через секунду-две. Тогда, думаю, надо сделать так. Квест сделать изначально отключенным. Script processing delay сделать ему побыстрее - 0.1 или 0.05. Включать квест там же, где взводится переменная, в скрипте PIO - дописать туда StartQuest или лучше

if GetQuestRunning C4DetonationQUEST == 0
StartQuest C4DetonationQUEST
endif

Отключать квест и обнулять переменную по таймеру в самом квесте.

По-моему, с пустым "сигнальным" эффектом на игроке возни меньше, чем со всеми этими переменными и таймерами, но тут дело вкуса.


JupiterJour  Offline  Сообщение №1204 | Тема: Скрипты написано: 24 ноября 2022, 21:44


_


Цитата Stea1ch

А вот это пока мне не понятно.


Скриптовый эффект для оружия, как и любой эффект для оружия накладывается на цель при попадании зачарованным оружием по этой цели. Если так и задумано, что для подрыва мины надо стрельнуть детонатором в случайно пробегающую мимо собаку, то всё нормально, можно ничего не менять. Если же надо, чтобы мина взрывалась при выстреле детонатором хоть в собаку, хоть в небо, хоть куда, то надо сколхозить в трёшке что-то вроде блока OnFire, чтобы скрипт запускался при любом выстреле вне зависимости от попадания в кого-то или во что-то. А единственный способ в трёшке запустить скрипт при выстреле вне зависимости от попадания- это подорвать прожектиль, разместить на его месте PIO и запустить скрипт на этом PIO.

Форум » Записи участника [JupiterJour]
  • Страница 41 из 41
  • «
  • 1
  • 2
  • 39
  • 40
  • 41
Поиск:





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