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

Varang

Граждане
  • Постов

    775
  • Зарегистрирован

  • Посещение

Весь контент Varang

  1. А как это: -поможет? -сделать? if ( GetEffect, sEffectRestoreHealth ); сделать такой же блок для всех пяти переменных и, соответственно, менять айди заклинанияStopScript AI_USING_POTIONset timerHealth5 to ( timerHealth5 + getsecondspassed )if ( timerHealth5 >= 3 ) ; 3 секунд откатreturnset timerHealth5 to 0endifendif Поменял вот так, игра запустилась, но скрипт не помог, выжирают зараз по прежнему.
  2. Т.е. плясать только от эффекта восстановления? Получается, если Непись кастанет на себя восст. здоровья, то выпить зелье сможет уже только через 3 сек, а если у него абилка, которая регенит ему здоровье постоянно, но при каждой попытке выпить зелье он атоматом будет отсчитывать 3 сек?
  3. Хм...но ваш прежний таймер имел привязку к проверке наличия заклинания. К чему мне привязать новый таймер? К срабатыванию функции Equip и остановке скрипта на 3 сек, да?
  4. В общем, я потестил. Тут товарищ один намекнул включить опцию касательно Equip в MCP + я развешал скрипты индивидуально, и все заработало - ИИ начал пить зелья как часы, сразу как отхватил хороший удар, игноря любые удары. Супер. Но вот проблема - та, о которой вы предупреждали. Скрипт использует ИИ ванильного Морра, и каким-то способом обходит изменение MCP на скорость выпивания зелий (паузы) - соответственно, НПС выжирает их залпом. Поможете выставить тайминг на 3-4 сек? Конечная рабочая версия скрипта ныне такая: begin AIUsingPotions if ( GetHealthGetRatio < 0.6) ; здоровье меньше 30%if ( GetItemCount "p_restore_health_b" > 0 )Equip "p_restore_health_b"returnelseif ( GetItemCount "p_restore_health_c" > 0 )Equip "p_restore_health_c"returnelseif ( GetItemCount "p_restore_health_s" > 0 )Equip "p_restore_health_s"returnelseif ( GetItemCount "p_restore_health_q" > 0 )Equip "p_restore_health_q"returnelseif ( GetItemCount "p_restore_health_e" > 0 )Equip "p_restore_health_e"endifendifif ( GetMagicka < 175) ; magicif ( GetItemCount "p_restore_magicka_b" > 0 )Equip "p_restore_magicka_b"returnelseif ( GetItemCount "p_restore_magicka_c" > 0 )Equip "p_restore_magicka_c"returnelseif ( GetItemCount "p_restore_magicka_s" > 0 )Equip "p_restore_magicka_s"returnelseif ( GetItemCount "p_restore_magicka_q" > 0 )Equip "p_restore_magicka_q"returnelseif ( GetItemCount "p_restore_magicka_e" > 0 )Equip "p_restore_magicka_e"endifendif ; -----------------------------------------------------------------------if ( GetFatigue < 150) ; fatigueif ( GetItemCount "p_restore_fatigue_b" > 0 )Equip "p_restore_fatigue_b"returnelseif ( GetItemCount "p_restore_fatigue_c" > 0 )Equip "p_restore_fatigue_c"returnelseif ( GetItemCount "p_restore_fatigue_s" > 0 )Equip "p_restore_fatigue_s"returnelseif ( GetItemCount "p_restore_fatigue_q" > 0 )Equip "p_restore_fatigue_q"returnelseif ( GetItemCount "p_restore_fatigue_e" > 0 )Equip "p_restore_fatigue_e"endifendif; ------------------------------------------------------------------------- end ПС Глобально скрипт по-прежнему не робит...только после развешивания вручную. В принципе, я могу со временем и вручную развешать, а в случаях тех, кто уже имеет скрипты - закрепить в них startscript AIUsingPotions. Так можно?ПС 2 - насчет развешивания, принцип понял, схему - не до конца, ну создам я 8 скриптов-дублеров, в чем польза при переключении от того, что их 8, а не 1?
  5. Разъясните попонятнее, пжлст, что за нокдаун... По поводу очередности - решит ли проблему индивидуальная выдача скриптов?
  6. А с чем еще? Я просто прошел почти весь Морровинд, тестируя данный плаг...вот и делаю выводы Это я понял, но то есть прямой командой скрипта закл не наложить, так выходит? То есть УРОН - ПРОВЕРКА на зелье - УДАЛЕНИЕ зелья - КАСТ закла, эквивалентного силе зелья. Без телепортов невидимых нпс для каста))) Т.е. в игре заклинание даже скриптом не может никак накладываться "само", всегда должен быть инициатор?
  7. Я беру Валенварион, дерусь с несколькими НПС снаружи (вместе), потом зачищаю хижины, на них всех и отслеживаю выполнение скриптов. Если скрипт работает (как в случае последнего варианта с заклинанием с таймингом), значит он у меня работал на ВСЕХ, если не работал на одном - не работает и на остальных. Среди них есть целитель, бойцы, пара агентов. Скрипт изначально делался как глобальный по вашему совету, пришиваясь к топикам в боевых выкриках. Так и тестирую... Если кратко, у меня на данный момент 2 главных вопроса. 1. И основной, почему функция Equip не работает для выпивания, что вообще тогда может в игре заставить НПС выпить зелье, кроме самого движка? 2. Если плясать от наших с вами "костылей" - можно или нет наложить скриптовой разовой командой обычное заклинание на НПС (AddSpell или GetSpell, или нечто др.), которое сработает визуально и физически, на программном уровне отображаясь скриптом, кастующим на НПС заклинание лечения\восстановления ч.-либо, а на атмосферном уровне для игрока будет все тем же "зельем"?
  8. Народ, никто тут не пытался в свое время сделать скрипт на адекватное выпивание зелий НПС-ами? Ну что б не хаотично-рандомно 1-2 раза за бой из 5 бутылок в загашнике, а прям стабильно, и не только здоровья, а и маны, усталости и т.д.?))
  9. Попробовал...работает, но все равно как-то с багами...я не понимаю, почему ИИ так тормозит с активацией регена, с момента удара и до регена проходят секунды, за которые я успеваю выбить из врага почти все здоровье...такое ощущение, что как и в ситуации с зельями, НПС как будто нужна какая-то "оперативная пауза" , чтобы активировать абилку, он тратит на это драгоценные секунды, за которые я вышибаю у него ХП...хотя, этот тайминг уже выше любых скриптов, наверное... В обучающей книге нашел такой раздел, где есть инфа по накладыванию\проверке на игроке\нпс эффекта заклинания...проблема в том, что я попробовал подключить GetSpellEffects, все равно не работает Begin Magictest short var_1 short var_2 short var_3 if ( Player -> GetSpell, "hearth heal" ) set var_1 to 1 else set var_1 to 0 endif if ( Player -> GetSpellEffects, "hearth heal" ) set var_2 to 1 else set var_2 to 0 endif if ( Player -> GetEffect, sEffectRestoreHealth ) Player -> RemoveEffects, 75 ; удалите эту строку, чтобы увидеть, что происходит ; обычно set var_3 to 1 else set var_3 to 0 endif MessageBox "GetSpell: %.0f GetSpellEffects, %.0f GetEffect: %.0f ", var_1, var_2, var_3 End Begin Magictest short var_1 short var_2 short var_3 if ( Player -> GetSpell, "hearth heal" ) set var_1 to 1 else set var_1 to 0 endif if ( Player -> GetSpellEffects, "hearth heal" ) set var_2 to 1 else set var_2 to 0 endif if ( Player -> GetEffect, sEffectRestoreHealth ) Player -> RemoveEffects, 75 ; удалите эту строку, чтобы увидеть, что происходит ; обычно set var_3 to 1 else set var_3 to 0 endif MessageBox "GetSpell: %.0f GetSpellEffects, %.0f GetEffect: %.0f ", var_1, var_2, var_3 End МОЙ НЕРАБОЧИЙ СКРИПТ! begin AI_USING_POTION; -----------------------------------------------------------------------if ( GetHealthGetRatio < 0.7) ; здоровье меньше 50%if ( GetItemCount "p_restore_health_e" > 0 )removeitem "p_restore_health_e" 1GetSpellEffects, "1_Potion_EK" endifendifendif ЕЩЕ один нерабочий скрипт. Не пойму, что мешает игре на ИИ просто наложить заклинание излечивания? В чем отличие команды GetSpell от AddSpell? begin AI_USING_POTION if ( GetHealthGetRatio < 0.7) ; здоровье меньше 50%if ( GetItemCount p_restore_health_b > 0 )if ( GetSpell "1_Potion_EK" == 0 )removeitem "p_restore_health_b" 1AddSpell "1_Potion_EK"endifendifif ( GetItemCount p_restore_health_c > 0 )if ( GetSpell "1_Potion_EK" == 0 )removeitem "p_restore_health_C" 1AddSpell "1_Potion_EK"endifendifif ( GetItemCount p_restore_health_s > 0 )if ( GetSpell "1_Potion_EK" == 0 )removeitem "p_restore_health_s" 1AddSpell "1_Potion_EK"endifendifif ( GetItemCount p_restore_health_q > 0 )if ( GetSpell "1_Potion_EK" == 0 )removeitem "p_restore_health_q" 1AddSpell "1_Potion_EK"endifendifif ( GetItemCount p_restore_health_e > 0 )if ( GetSpell "1_Potion_EK" == 0 )removeitem "p_restore_health_e" 1AddSpell "1_Potion_EK"endifendifendif ; ----------------------------------------------------------------------- ; ------------------------------------------------------------------------- end Скрипт не работает, почему-то, от слова совсем - даже зелья не удаляются из рюкзака. Я бы еще понял, если тупо ээфект не сработал, но почему зелья не удаляются хотя бы??? Но есть еще инфа - я потестил наш с Вами старый вариант ( с Equip), и понял, что он не работал, убедившись в этом, прочитав книгу по скриптам...т.е. зелья магии и усталости как бы "надевались" ИИ, исчезали из инвентаря, но эффекта не было, мбо предмет почему-то считается в таком случае уничтоженным до того, как работает его скрипт лечения...там нужна какая-то особая функция SkipEquip для зелий, и запустить можно только через нее, но как, я пока не догнал.ЦИТАТА:"Зелья и ингредиенты могут устанавливать OnPCEquip, только если вы используете SkipEquip, иначе предмет «уничтожится» прежде, чем функция будет установлена! Предметы починки также страдают от этого, а алхимические реторты работают наоборот. Это единственные предметы, которые работают, если PCSkipEquip не установлена (Информация с форумов / ManaUser).Вообще книги (а может и другие типы предметов, которые ведут себя странно?) устанавливают SkipEquip, а не OnPCEquip! См раздел Советы и Трюки по этому вопросу." СТР 35 - 45, СТР153-154 Morrowind_Scripting_for_Dummies_8.0_Rus.doc
  10. Вот. Кстати, вы же мне вариант некий с set counter предлагали для таки самого блокирования активации всех регенов в 1 момент, или в этой версии он не робит? begin AI_USING_POTIONif ( GetHealth <= 0 )StopScript AI_Using_Potionreturnendiffloat timerHealth1; таймер для уценненных зелийfloat timerHealth2; таймер для дешевых зелийfloat timerHealth3; таймер для стандартных зелийfloat timerHealth4; таймер для качественных зелийfloat timerHealth5; таймер для экслюзивных зелий if ( GetSpell "1_Potion_B" == 1 ); сделать такой же блок для всех пяти переменных и, соответственно, менять айди заклинанияset timerHealth1 to ( timerHealth1 + getsecondspassed )if ( timerHealth1 >= 5 ) ; 5 секунд откатRemoveSpell "1_Potion_B"set timerHealth1 to 0endifendif if ( GetSpell "1_Potion_C" == 1 ); сделать такой же блок для всех пяти переменных и, соответственно, менять айди заклинанияset timerHealth2 to ( timerHealth2 + getsecondspassed )if ( timerHealth2 >= 5 ) ; 5 секунд откатRemoveSpell "1_Potion_C"set timerHealth2 to 0endifendif if ( GetSpell "1_Potion_S" == 1 ); сделать такой же блок для всех пяти переменных и, соответственно, менять айди заклинанияset timerHealth3 to ( timerHealth3 + getsecondspassed )if ( timerHealth3 >= 5 ) ; 5 секунд откатRemoveSpell "1_Potion_S"set timerHealth3 to 0endifendif if ( GetSpell "1_Potion_Q" == 1 ); сделать такой же блок для всех пяти переменных и, соответственно, менять айди заклинанияset timerHealth4 to ( timerHealth4 + getsecondspassed )if ( timerHealth4 >= 5 ) ; 5 секунд откатRemoveSpell "1_Potion_Q"set timerHealth4 to 0endifendif if ( GetSpell "1_Potion_EK" == 1 ); сделать такой же блок для всех пяти переменных и, соответственно, менять айди заклинанияset timerHealth5 to ( timerHealth5 + getsecondspassed )if ( timerHealth5 >= 5 ) ; 5 секунд откатRemoveSpell "1_Potion_EK"set timerHealth5 to 0endifendif; -----------------------------------------------------------------------if ( GetHealthGetRatio < 0.7) ; здоровье меньше 50%if ( GetItemCount p_restore_health_b > 0 )if ( GetSpell "1_Potion_B" == 0 )removeitem "p_restore_health_b" 1AddSpell "1_Potion_B"endifelseif ( GetItemCount p_restore_health_c > 0 )if ( GetSpell "1_Potion_C" == 0 )removeitem "p_restore_health_C" 1AddSpell "1_Potion_C"endifelseif ( GetItemCount p_restore_health_s > 0 )if ( GetSpell "1_Potion_S" == 0 )removeitem "p_restore_health_s" 1AddSpell "1_Potion_S"endifelseif ( GetItemCount p_restore_health_q > 0 )if ( GetSpell "1_Potion_Q" == 0 )removeitem "p_restore_health_q" 1AddSpell "1_Potion_Q"endifelseif ( GetItemCount p_restore_health_e > 0 )if ( GetSpell "1_Potion_EK" == 0 )removeitem "p_restore_health_e" 1AddSpell "1_Potion_EK"endifendifendif
  11. В общем, попробовал я последний вариант, убрал лишние endif...скрипт робит, но как-то со сбоями. Тестирую на орках Валенвариона. Скажем, целитель с 6 бутылками стандартного зелья умирает с трех ударов, при этом в отличие от прошлого теста, его здоровье не регенится вообще, но при этом все 6 пузырьков из снаряжения исчезают!!! Орк (для теста) с 6 бутылками качественного зелья не вопользовался ими вообще, но они из рюкзака ПРОПАЛИ! Внутри здания орки регенили, но лишь 1 раз, при этом все бутылки тоже пропали (разом, хотя были разнообразные их виды)!!! Т.е. ИИ каким-то образом либо проваливает данные переменные, либо прочитывает их все зараз, в результате чего не происходит динамичного выпивания зелий...все бутылки исчезают разом, при этом эффект одинаковых, естественное, не суммируется (закл же тот же самый)...как ввести тайминг между спеллами, т.е., например, потерял 100 хитов из 200 - "выпил эксклюзивное", ждешь 5 сек, здоровье не - прибавилось - выпил еще одно, снова проверка - выпил еще оставшееся качественное... ВОТ конечный вариант begin AI_USING_POTION float timerHealth1; таймер для уценненных зелийfloat timerHealth2; таймер для дешевых зелийfloat timerHealth3; таймер для стандартных зелийfloat timerHealth4; таймер для качественных зелийfloat timerHealth5; таймер для экслюзивных зелий if ( GetSpell "1_Potion_B" == 1 ); сделать такой же блок для всех пяти переменных и, соответственно, менять айди заклинанияset timerHealth1 to ( timerHealth1 + getsecondspassed )if ( timerHealth1 >= 5 ) ; 5 секунд откатRemoveSpell "1_Potion_B"set timerHealth1 to 0endifendif if ( GetSpell "1_Potion_C" == 1 ); сделать такой же блок для всех пяти переменных и, соответственно, менять айди заклинанияset timerHealth2 to ( timerHealth2 + getsecondspassed )if ( timerHealth2 >= 5 ) ; 5 секунд откатRemoveSpell "1_Potion_C"set timerHealth2 to 0endifendif if ( GetSpell "1_Potion_S" == 1 ); сделать такой же блок для всех пяти переменных и, соответственно, менять айди заклинанияset timerHealth3 to ( timerHealth3 + getsecondspassed )if ( timerHealth3 >= 5 ) ; 5 секунд откатRemoveSpell "1_Potion_S"set timerHealth3 to 0endifendif if ( GetSpell "1_Potion_Q" == 1 ); сделать такой же блок для всех пяти переменных и, соответственно, менять айди заклинанияset timerHealth4 to ( timerHealth4 + getsecondspassed )if ( timerHealth4 >= 5 ) ; 5 секунд откатRemoveSpell "1_Potion_Q"set timerHealth4 to 0endifendif if ( GetSpell "1_Potion_EK" == 1 ); сделать такой же блок для всех пяти переменных и, соответственно, менять айди заклинанияset timerHealth5 to ( timerHealth5 + getsecondspassed )if ( timerHealth5 >= 5 ) ; 5 секунд откатRemoveSpell "1_Potion_EK"set timerHealth5 to 0endifendif В прошлом вашем варианте реген срабатывал как часы, но там была ошибка в том, что он не исчезал. Теперь реген не появляется как по щелчку, хотя и пропадает стабильно... ПС Важно или нет, но иногда после быстрого боя, если быстро заглянуть в рюкзак врага, можно увидеть там зелья, но если тут же закрыть, и открыть снова - их там уже не будет.
  12. В общем, прописал, потестил...не знаю, что-то глючит, или это я косанул - на данном этапе скрипт активируется, и не прекращается совсем - т.е. нпс получает эту абилку "навсегда", и она уже не удаляется у него из инвентаря, независимо от того, ск там - зелий - тупо идет постоянная регенерация. Может, я где-то ошибся? begin AI_USING_POTION float timerHealth1; таймер для уценненных зелийfloat timerHealth2; таймер для дешевых зелийfloat timerHealth3; таймер для стандартных зелийfloat timerHealth4; таймер для качественных зелийfloat timerHealth5; таймер для экслюзивных зелий if ( GetSpell "1_Potion_B" == 1 ); уцset timerHealth1 to ( timerHealth1 + getsecondspassed )if ( timerHealth1 >= 5 ) ; 5 секунд откатRemoveSpell "1_Potion_B"set timerHealth1 to 0endifendif if ( GetSpell "1_Potion_C" == 1 ); дешset timerHealth2 to ( timerHealth2 + getsecondspassed )if ( timerHealth2 >= 5 ) ; 5 секунд откатRemoveSpell "1_Potion_C"set timerHealth2 to 0endifendif if ( GetSpell "1_Potion_S" == 1 ); стset timerHealth3 to ( timerHealth3 + getsecondspassed )if ( timerHealth3 >= 5 ) ; 5 секунд откатRemoveSpell "1_Potion_S"set timerHealth3 to 0endifendif if ( GetSpell "1_Potion_Q" == 1 ); качset timerHealth4 to ( timerHealth4 + getsecondspassed )if ( timerHealth4 >= 5 ) ; 5 секунд откатRemoveSpell "1_Potion_Q"set timerHealth4 to 0endifendif if ( GetSpell "1_Potion_EK" == 1 ); эксset timerHealth5 to ( timerHealth5 + getsecondspassed )if ( timerHealth5 >= 5 ) ; 5 секунд откатRemoveSpell "1_Potion_EK"set timerHealth5 to 0endifendif; -----------------------------------------------------------------------if ( GetHealthGetRatio < 0.5) ; здоровье меньше 50%if ( GetItemCount p_restore_health_b > 0 )if ( GetSpell "1_Potion_B" == 0 )removeitem "p_restore_health_b" 1AddSpell "1_Potion_B"endifendifelseif ( GetItemCount p_restore_health_c > 0 )elseif ( GetSpell "1_Potion_C" == 0 )removeitem "p_restore_health_C" 1AddSpell "1_Potion_C"endifendifelseif ( GetItemCount p_restore_health_s > 0 )elseif ( GetSpell "1_Potion_S" == 0 )removeitem "p_restore_health_s" 1AddSpell "1_Potion_S"endifendifelseif ( GetItemCount p_restore_health_q > 0 )elseif ( GetSpell "1_Potion_Q" == 0 )removeitem "p_restore_health_q" 1AddSpell "1_Potion_Q"endifendifelseif ( GetItemCount p_restore_health_e > 0 )elseif ( GetSpell "1_Potion_EK" == 0 )removeitem "p_restore_health_e" 1AddSpell "1_Potion_EK"endifendif ПС Скрипт с нпс на каст для эффекта пока не добавлял, решил поэтапно со всем разобраться
  13. В общем, постестил. С заклинанием - не сработало, вместо пространного эффекта заклинания оно добавляется в арсенал НПС, после чего НПС может его скастовать (а иногда и НЕ скастовать)... С currenthealth все получше, за исключением того, что все же не уверен, правильно ли я вписал setcounter ? Слабые НПС с большим количеством слабых дешевых склонны "выпивать" их почти сразу, в то время как более дорогие выпиваются поэтапно у более сильных НПС...хотя, как по мне, это связано с тем, что выпивание слабого зелья может не восстановить ХП у НПС выше 60%, после чего в ту же секунду наступается следующая проверка, потом идет еще удар по НПС, хп сносится почти до 0, и тут уже все зелья выпиваются залпом...но все же, проверьте, пожалуйста...может, ошибка, но если нет, можно бы как-то жестко привязать проверки на тайминг, для создания имитации питья... begin AI_USING_POTION short counterHealthif ( counterHealth > 0 )set counterHealth to ( counterHealth - 1 )returnendif if ( GetHealthGetRatio < 0.6) ; здоровье меньше 60%if ( GetItemCount p_restore_health_b > 0 )set counterHealth to 15removeitem "p_restore_health_b" 1modcurrenthealth 15returnelseif ( GetItemCount p_restore_health_c > 0 )set counterHealth to 25removeitem "p_restore_health_c" 1modcurrenthealth 25set counterHealth to 25returnelseif ( GetItemCount p_restore_health_s > 0 )set counterHealth to 50removeitem "p_restore_health_s" 1modcurrenthealth 50returnelseif ( GetItemCount p_restore_health_q > 0 )set counterHealth to 100removeitem "p_restore_health_q" 1modcurrenthealth 100set counterHealth to 100returnelseif ( GetItemCount p_restore_health_e > 0 )set counterHealth to 200removeitem "p_restore_health_e" 1modcurrenthealth 200endifendif В общем, если оставить вариант с current health, и подкрутить тайминг, останется только узнать, как создать для антуража анимацию выпивания, а с ускоренным излечением, в отличие от зелья (current регенит почти в момент) можно и смириться, в конце концов, игрок читерит так на каждом углу... Обидно, и непонятно, все же, почему currenthealth ИИ выполняет как часы, а вот просто зелья ИИ нормально пить не хочет... ПС Как вариант, можно попробовать добавлять НПС не заклятиие, а характеристику (пост. эффект), но тоже нужен тайминг...то есть, эквивалентно эксклюзивному зелью добавляем "Восстановить здоровье 40П" - а через 5 сек абилка удаляется у НПС. Так можно?
  14. А нельзя просто наложить эквивалентный зелью закл, как это делают алтари,, или скрипт это не позволит? Про 2й блок уточнить - куда именно добавить, в начало?
  15. а магический эффект как-то можно добавить? Ну чтоб звук и звездочки-аура? И как тайминг сделать, чтоб и не удалил все 3 зелья в инвентаре, например (или др ограничение).
  16. он активируется, но ии не хочет пить зелья в ту же секунду, как потерял хелсы-ману, он делает это только в паузы, в основном, когда в него не летят один за другим удары. Проще говоря, в затяжных поединках с частыми промахами игрока, нпс выпивает почти все, а если Нереварин не промахивается - практически ничего, не помогает даже понижение порога потери питья зелий от потерь. Мне же надо, чтобы НПС оперативно реагировал на снятие хелсов-маны - упало до 50% тут же выпил зелье, прошла пара сек, если здоровье успели сбить еще - выпил снова. Но это не работает так, увы...поэтому и пришло в голову заменить скрипт реального выпивания условным, с проверкой на наличие зелий и наложением магического эффекта, в надежде, что это будет работать мгновенно.
  17. Понял, спасибо. Тогда еще вопрос. Примерно с месяц назад обращался здесь к товарищу Муун Шепард, он помог мне сделать скрипт на питье зелий НПС, за что ему спасибо . К сожалению, месяц тестов показали, что скрипт чем дальше качается игрок, тем хуже работает - частые попадания не дают нпс шансов на выпивание...нельзя ли немного сменить принцип, убрав зависимость от попаданий протагониста и тайминга боя, создав условия, равные с игроком? То есть, скриптом при снижении хп моментально делается проверка на наличие опред зелья здоровья/маны/усталости- оно удаляется, а НПС подвергается аналогичному по силе эффекту заклинания восстановления здоровья/маны/усталости? И если да - можно ли выставить тайминг, чтобы нпс скриптом таким образом не "удалил" все зелья сразу?
  18. Добрый день. Хотел узнать, если я раздаю НПС абилку, поднимающую ему навык - будет ли это учитываться в обучении, когда он учит навыкам, или там в расчет идут только прописанные изначально в описании НПС?
  19. Я тут столкнулся, что не могу найти у себя многие GMST, что упоминают авторы плагинов в своих творениях. Такое может быть?? При запуске CS подключаю GFM + TR+BL + свой плаг
  20. Баг на неисчезание предмета из инвентаря после диалога как-то лечится? Кроме сохранения и загрузки, конечно...чем он вызван вообще? Баг стал почти постоянным, приходится сохраниться и запуститься заново, чтобы предмет/золото "честно" удалились
  21. Я так понимаю, там должна быть команда cast spell, но как обозначить сам факт получения физ урона? Можешь набросить примерно?
  22. Эх. А тогда хотя бы можно сделать скрипт, чтобы маги\кричеры, имеющие в арсенале заклинание щита, немедленно кастовали его на себя сразу при произнесении боевой фразы, либо после получения первого урона?
  23. В принципе, это меня не шибко раздражает, тем более случаи многоразового штурма происходят не каждый раз. Щас пока пропишу всем боевым гритингам скрипты, буду тестить дальше. Насчет зелий - пока залпом все не пьет, если постоянно попадать по врагу и не давать опомниться, может вообще не успеть, хотя у меня редко выходит так...чаще бои очень затяжные... НОВЫЕ ВОПРОСЫ! 1. Сама динамика боя - вшито ли это в движок? Заметил такую вещь - если игрок бьет по НПС\кричеру, и попадает, врага всегда "откидывает", и он на секунды теряет возможность бить в ответ, что на высоких уровнях при почти 100% попадании позволяет "закликивать" врага. Только очень мощные враги способны иногда "прорывать", и моментально реагировать после удара, нанося ответный урон - но я не понимаю, какой параметр отвечает за это? При этом, когда удары получает игрок, на него эта схема не действует - он может спокойно получать в дыню, параллельно бья в ответ. Каким образом можно (и можно ли вообще), это исправить? 2. Как можно создать новое невидимое заклинание щита (эдакий аналог брони для кричеров, снижающий урон в дальнем бою\ближнем бою, но не защищающий от магии), дабы внешне оно никак не отображалось на модели?
  24. Не, это уже как раз не отыгрыш, а маразм. Может, еще и оружие и снаряжение эбонитовое при игре за рыцарей не брать - вдруг оно из несертифицированного ворованного эбонита? Бессмысленная критика, как по мне. Так можно придраться вообще ко всему.
×
×
  • Создать...