Перейти к содержанию

Плагины и скрипты usolo


Рекомендуемые сообщения

О, это здорово.

Главной изюминкой я хотел сделать возможность смертельного удара ножом (и только ним).

Ножом - это, в смысле, кинжалом? А танто подойдёт? А у Бритвы Мехруна повышенный шанс будет?

Случаем, может, уже есть готовые рабочие решения?

Могу припомнить только это:

http://mw.modhistory.com/download-90-10511

Ссылка на комментарий
Поделиться на другие сайты

  • Ответов 215
  • Создана
  • Последний ответ

Топ авторов темы

Топ авторов темы

Изображения в теме

Ножом - это, в смысле, кинжалом? А танто подойдёт? А у Бритвы Мехруна повышенный шанс будет?
пока не составил точных критериев. Планировались кинжалы, танто, думаю, тоже подойдет. Надо подумать как фильтровать - скорее всего, по названию буду.

Но Бритве однозначно нужно дать бонус будет.

 

Могу припомнить только это:

http://mw.modhistory...wnload-90-10511

мудреный мод какой-то)
Ссылка на комментарий
Поделиться на другие сайты

Усоло - насчет сника - отличная идея! Только вот не хотелось бы колоть каждого кинжалом насмерть. А то так можно и Дагот Ура раньше времени в могилу загнать)
Ссылка на комментарий
Поделиться на другие сайты

Усоло - насчет сника - отличная идея! Только вот не хотелось бы колоть каждого кинжалом насмерть. А то так можно и Дагот Ура раньше времени в могилу загнать)

Да, само собой, ограничение на кол-во здоровья, которое можно отнять, будет.

 

Пока мучаюсь с отловом события "попадение критическим ударом". Что-то GetSoundPlaying "critical damage" не могу заставить сработать.

 

От черт, не получается сработать. Неожиданно как-то

Изменено пользователем usolo
Ссылка на комментарий
Поделиться на другие сайты

Странно, работать должно. В этом плагине такая проверка есть:

      	 if ( getsoundplaying "critical damage" )                    ; If you actually scored a critical hit
               set bonus to basesneak + ( player->getshortblade ) / 2
               set dummy to ( player->getluck ) - 40
               set bonus to bonus + ( bonus / 100 * dummy )
               if ( bonus > random 100 )                                    ; chance in % = sneak + shortblade/2
                   Set MWE_Vars02 to 0
                   Set MWE_Vars01 to 50000
                   ToggleLoadFade    
                   modcurrenthealth -5000                                    ; Fatal strike.
                   Playsound "critical damage"
                   messagebox "Assassination"
               endif
           endif                                                                    ;-------------------------

Ссылка на комментарий
Поделиться на другие сайты

Сделал 100 красться, коротких клинков и удачи - "Assassination" не увидел ни разу.

Простейший скрипт

begin usl_sneak_crit
if (getsoundplaying "critical damage")
messagebox "111"
endif
end

не работает.

Странно, что getsoundplaying пишется без Player->, ведь скрипт глобальный

Ссылка на комментарий
Поделиться на другие сайты

Отслеживание по звукам не всегда работает по неизвестным причинам, сам с этим сталкивался и не раз. Что тут можно еще придумать - сложный вопрос(
Ссылка на комментарий
Поделиться на другие сайты

Странно, что getsoundplaying пишется без Player->, ведь скрипт глобальный

Так ведь звук проигрывается жертвой, а не игроком. Скрипт не глобальный, а "нацеливаемый", через somebody->StartScript scriptname.

У меня, кстати, assassination получалось вроде бы, но это было давно, так что точно не помню.

Ссылка на комментарий
Поделиться на другие сайты

Тоже уже начитался о том, что по звукам - метод нестабильный.

Значит не буду привязываться к ванильному попаданию. К слову, работает оно криво - часто видим месседж "Критический удар", а удар-то мимо.

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

 

Список кинжалов МФРа (я просто сложу это тут)

 

all: *dagger, *jinkblade, *tanto

unique: al_1a_bm_short4, al_at_sword7a, al_epic_rogue_01, al_epic_rogue_np, al_epic_rogue_np_N, al_wpn_fang, glass stormblade, keening, mehrunes'_razor_unique, ual_1a_bm_short1, ual_1a_bm_short2, ual_1a_bm_short3, ual_elf_huntknife_01, ual_elf_knife_01, ual_eq_lightningrod_01, ual_sb_obsidian_01, cruel flameblade, cruel shardblade, cruel sparkblade, cruel viperblade, dire flameblade, dire shardblade, dire sparkblade, dire viperblade

 

Изменено пользователем usolo
Ссылка на комментарий
Поделиться на другие сайты

все вышеуказанные кинжалы успешно определяются скриптом)

сердечно прошу плагиностроителей в будущем делать ID вещи по общим правилам, т.е. с названием типа оружия

 

в дальнейшем планирую использовать скрипт из учебника "она смотрит на меня?" и по комбинации условий

  • если в руках нужный клинок
  • если персонаж крадется
  • если бой не начался
  • если он видит перед собой цель (непись либо кричера, еще не успевших перейти в боевой режим)
  • если у них больше нуля здоровья
  • если дистанция очень близкая (меньше 100)

будем рассчитывать шанс попадания в зависимости от навыка "короткие клинки", хар-к "Ловкость" и "Удача". Полагаю сделать 2-3 варианта повреждений:

  • смертельный удар
  • почти смертельный удар (оставить пару пунктов здоровья)
  • половина здоровья

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

 

Также в плагин будет добавлен скрипт раддимуса и р-зеро про преследование стражниками и направлением взгляда неписей в интерьерах - стражник, если скрипт рабочий, будет даже сопровождать, а непись должна вертеться за ГГ поворотом корпуса..

Возможно, добавляю еще пару плюшек из сник реализма, вроде влияния обуви на навык "Красться"

Изменено пользователем usolo
Ссылка на комментарий
Поделиться на другие сайты

Ура, хорошие новости!

Также в плагин будет добавлен скрипт раддимуса

Это не мой скрипт, а Rizzen. Я не умею писать скрипты, только адаптировать.

Ссылка на комментарий
Поделиться на другие сайты

Хочу поблагодарить за "Реализм стрельбы", а вот в "Усталость в бою" первое, что не понравилось, это то, что отмычки и щупы тоже считаются. Изменено пользователем Nocturnus
Ссылка на комментарий
Поделиться на другие сайты

Хочу поблагодарить за "Реализм стрельбы", а вот в "Усталость в бою" первое, что не понравилось, это то, что отмычки и щупы тоже считаются.

Спасибо.

 

Усталость в бою пока в глубокой бете. Спасибо за отзыв, обязательно учту в дальнейшей разработке!

Она запланирована довольно глобальной, поэтому пока отложена :)

Ссылка на комментарий
Поделиться на другие сайты

Возможно, кто-то уже знает лучше меня... Как определить, что ГГ находится за спиной у НПЦ? :)

Можно попробовать вызвать на НПЦ GetLOS, только не каждый фрейм - функция медленная.

Ссылка на комментарий
Поделиться на другие сайты

разве GetLOS отвечает завидимость в плане впереди / со спины?

я думал, она показывает есть ли между актерами какие-то объекты мешающие видеть, вроде шкафов)

"a clear line-of-sight between them"

Ссылка на комментарий
Поделиться на другие сайты

разве GetLOS отвечает завидимость в плане впереди / со спины?

я думал, она показывает есть ли между актерами какие-то объекты мешающие видеть, вроде шкафов)

"a clear line-of-sight between them"

Пардон, ошибся.

Можно тогда воспользоваться скриптом из MSFD:

 

 

Begin PCLookAtMe
float fPCX
float fPCY
float fPCAngle
float fdx
float fdy
float fRatio
short sPCLookAtMe
set sPCLookAtMe to 1
;you could probably also add a GetLOS check in here
; however i could never get GetLOS to work properly...although i didn't try very hard
;is PC really far away
if ( GetDistance, Player > 8000 )
set sPCLookAtMe to 0
else
;yay trigonometry
;this basically does a rough calculation of the PCs direction relative
;to the Actor, it only uses 45 degree chunks, though
set fPCX to ( player->GetPos, X )
set fPCY to ( player->GetPos, Y )
set fPCAngle to ( player->GetAngle, Z )
set fdx to GetPos, X
set fdy to GetPos, Y
set fdx to ( fdx - fPCX )
set fdy to ( fdy - fPCY )
set fRatio to ( fdx / fdy )
if ( fdx > 0 )
if ( fdy > 0 )
if ( fRatio > 1 )
if ( fPCAngle < -45 )
set sPCLookAtMe to 0
endif
else
if ( fPCAngle < -90 )
set sPCLookAtMe to 0
endif
if ( fPCAngle > 135 )
set sPCLookAtMe to 0
endif
endif
else
if ( fRatio < -1 )
if ( fPCAngle < 0 )
if ( fPCAngle > -135 )
set sPCLookAtMe to 0
endif
endif
else
if ( fPCAngle < 45 )
if ( fPCAngle > -90 )
set sPCLookAtMe to 0
endif
endif
endif
endif
else
if ( fdy > 0 )
if ( fRatio < -1 )
if ( fPCAngle > 45 )
set sPCLookAtMe to 0
endif
else
if ( fPCAngle > 90 )
set sPCLookAtMe to 0
endif
if ( fPCAngle < -135 )
set sPCLookAtMe to 0
endif
endif
else
if ( fRatio > 1 )
if ( fPCAngle > 0 )
if ( fPCAngle < 135 )
set sPCLookAtMe to 0
endif
endif
else
if ( fPCAngle > -35 )
if ( fPCAngle < 90 )
set sPCLookAtMe to 0
endif
endif
endif
endif
endif
endif
if ( sPCLookAtMe == 0 )
;do something while the PC is not looking
endif
End

 

 

Изменено пользователем R-Zero
Ссылка на комментарий
Поделиться на другие сайты

я его видел.

во-первых, его нужно переделывать, во-вторых, он чертовски грубо считает..

но спасибо за отзывчивость

 

но если я не распутаюсь с геометрии сейчас, я тоже буду считать грубо :)

Изменено пользователем usolo
Ссылка на комментарий
Поделиться на другие сайты

А можно заставить торговцев передвигаться к игроку всегда, когда они теряют его из виду? А то PC, бодро направляющийся в спальню хозяина, его совсем не будет беспокоить. Впрочем, с чудным морровским ИИ они, скорее всего, будут бестолково перебирать ногами, уткнувшись в прилавок...
Ссылка на комментарий
Поделиться на другие сайты

с одной стороны - да, преграды будут мешать.

с другой... так можно увести его в спальню, вынудив оставить прилавок, и быстренько сбежать к прилавку и все украсть.

 

логично будет, что в домах со стражником - стражник будет преследовать, а где стражников нет.. ну либо их можно расставить, либо торговец просто будет крутиться)

пока не приступил к реализации, все еще мучаюсь геометрией) как приступлю - будут видны варианты как можно сделать)

Ссылка на комментарий
Поделиться на другие сайты

работа продолжается.

очень непросто дался код скрипта, определяющего, что ГГ за спиной у НПЦ - но вроде бы удалось, скоро будет ясно

Ссылка на комментарий
Поделиться на другие сайты

и какого бы это [ругательное слово]

GetAngle, Z

для игрока показывает (-180;180), а для неписи (0: 360)?

да еще и лажает как-то

 

 

morrow: не ругайся!

usolo: это литературное слово)

===

 

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

Изменено пользователем usolo
: ругается, аки начинающий сапожник
Ссылка на комментарий
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...