olol Опубликовано 22 марта, 2019 Жалоба Поделиться Опубликовано 22 марта, 2019 (изменено) @Varangя убрал из скрипта ретурны, так что в конце можно добавить следующий блок на проверку выпивания еще чего нитьесли для выпивания нужны еще дополнительные проверки условий то их нужно туда добавить: begin AI_USING_POTION float timerHealth5 if ( timerHealth5 > 0 ) set timerHealth5 to ( timerHealth5 - getsecondspassed )elseif ( GetHealthGetRatio > 0.5)elseif ( GetEffect, sEffectRestoreHealth )elseif ( GetItemCount "p_restore_health_e" > 0 ) Equip "p_restore_health_e" 1 set timerHealth5 to 3endif end@Dagot_ProlapsЛокация грузится до запуска скриптов и орать о изменении будет раньше чем он что-то сделает.DontSaveObject просто помечает объект для не сохранения и отрабатывается при выходе локальные переменные скриптов сохраняются в сейве Изменено 22 марта, 2019 пользователем olol Ссылка на комментарий Поделиться на другие сайты Поделиться
Varang Опубликовано 22 марта, 2019 Жалоба Поделиться Опубликовано 22 марта, 2019 (изменено) @Varangя убрал из скрипта ретурны, так что в конце можно добавить следующий блок на проверку выпивания еще чего нитьесли для выпивания нужны еще дополнительные проверки условий то их нужно туда добавить: begin AI_USING_POTION float timerHealth5 if ( timerHealth5 > 0 ) set timerHealth5 to ( timerHealth5 - getsecondspassed )elseif ( GetHealthGetRatio > 0.5)elseif ( GetEffect, sEffectRestoreHealth )elseif ( GetItemCount "p_restore_health_e" > 0 ) Equip "p_restore_health_e" 1 set timerHealth5 to 3endif end@Dagot_ProlapsЛокация грузится до запуска скриптов и орать о изменении будет раньше чем он что-то сделает.DontSaveObject просто помечает объект для не сохранения и отрабатывается при выходе локальные переменные скриптов сохраняются в сейвеOlol, заработало Изменено 22 марта, 2019 пользователем Varang Ссылка на комментарий Поделиться на другие сайты Поделиться
olol Опубликовано 22 марта, 2019 Жалоба Поделиться Опубликовано 22 марта, 2019 GetHealthGetRatio (returns float) Эта функция возвращает текущее Здоровье актера в процентах, как значение типа float в пределах от 0 до 1, например 1 означает 100% Здоровья, 0.9 означает 90% Здоровья и 0 означает, ну, мертв, я думаю. Это замена ошибочно указанной в Справке функции GetHealthRatio. все правильно... ты случаем там запятую не поставил ? Ссылка на комментарий Поделиться на другие сайты Поделиться
Varang Опубликовано 22 марта, 2019 Жалоба Поделиться Опубликовано 22 марта, 2019 (изменено) GetHealthGetRatio (returns float) Эта функция возвращает текущее Здоровье актера в процентах, как значение типа float в пределах от 0 до 1, например 1 означает 100% Здоровья, 0.9 означает 90% Здоровья и 0 означает, ну, мертв, я думаю. Это замена ошибочно указанной в Справке функции GetHealthRatio. все правильно... ты случаем там запятую не поставил ?Понял. А почему у тебя: elseif ( GetHealthGetRatio > 0.5), а не < , как мне делали в предыдущих вариантах скрипта? Т.е. больше, а не меньше, а работает как надо? Вопрос 2: на остальные зелья мне просто копировать через endif, меняя ID зелий? Изменено 22 марта, 2019 пользователем Varang Ссылка на комментарий Поделиться на другие сайты Поделиться
olol Опубликовано 22 марта, 2019 Жалоба Поделиться Опубликовано 22 марта, 2019 (изменено) elseif ( GetHealthGetRatio > 0.5)а после него пусто, это значит ничего не делать делай кпию от if до endif и добавляй перед endну еще объяви другую переменную если задержка для каждого зелья свояа если общая, то в первом if поставь ретурн, а в последующих убери таймер Изменено 22 марта, 2019 пользователем olol Ссылка на комментарий Поделиться на другие сайты Поделиться
Varang Опубликовано 22 марта, 2019 Жалоба Поделиться Опубликовано 22 марта, 2019 elseif ( GetHealthGetRatio > 0.5)а после него пусто, это значит ничего не делать делай кпию от if до endif и добавляй перед endну еще объяви другую переменную если задержка для каждого зелья свояСпасибо!На магию и усталость аналогично? То бишь: if ( GetMagicka < 175) ; magicif ( GetFatigue < 150) ; fatigue МЕНЯЕМ НА: if ( GetMagicka > 175) ; magicif ( GetFatigue >150) ; fatigue Ссылка на комментарий Поделиться на другие сайты Поделиться
olol Опубликовано 22 марта, 2019 Жалоба Поделиться Опубликовано 22 марта, 2019 (изменено) октолько не if а elseif Изменено 22 марта, 2019 пользователем olol Ссылка на комментарий Поделиться на другие сайты Поделиться
Varang Опубликовано 22 марта, 2019 Жалоба Поделиться Опубликовано 22 марта, 2019 Задержку планирую общую для всех. Куда в итоге вставить ретурн, а то я его вместо endif воткнул, а КС поругался. Надо просто до него? А таймеры стереть вчистую, да? begin AI_USING_POTION float timerHealth5 if ( timerHealth5 > 0 ) set timerHealth5 to ( timerHealth5 - getsecondspassed )elseif ( GetHealthGetRatio > 0.5)elseif ( GetEffect, sEffectRestoreHealth )elseif ( GetItemCount "p_restore_health_e" > 0 ) Equip "p_restore_health_e" 1 set timerHealth5 to 3returnelseif ( GetHealthGetRatio > 0.5)elseif ( GetEffect, sEffectRestoreHealth )elseif ( GetItemCount "p_restore_health_q" > 0 ) Equip "p_restore_health_q" 1 set timerHealth5 to 3returnelseif ( GetHealthGetRatio > 0.5)elseif ( GetEffect, sEffectRestoreHealth )elseif ( GetItemCount "p_restore_health_c" > 0 ) Equip "p_restore_health_c" 1 set timerHealth5 to 3returnelseif ( GetHealthGetRatio > 0.5)elseif ( GetEffect, sEffectRestoreHealth )elseif ( GetItemCount "p_restore_health_s" > 0 ) Equip "p_restore_health_s" 1 set timerHealth5 to 3returnelseif ( GetHealthGetRatio > 0.5)elseif ( GetEffect, sEffectRestoreHealth )elseif ( GetItemCount "p_restore_health_b" > 0 ) Equip "p_restore_health_b" 1 set timerHealth5 to 3returnendif end Ссылка на комментарий Поделиться на другие сайты Поделиться
Ao3 Опубликовано 22 марта, 2019 Жалоба Поделиться Опубликовано 22 марта, 2019 А вот это уже лишний глобальный стартовый скрипт, который будет работать и нагружать игру вечно. вовсе не обязательно глобальный, он может висеть и на спящем. И вовсе не обязательно вечно, можно стартовать его например, так же при приближении: if ( GetDistance Player <= 1000 ); StartScript Ссылка на комментарий Поделиться на другие сайты Поделиться
olol Опубликовано 22 марта, 2019 Жалоба Поделиться Опубликовано 22 марта, 2019 begin AI_USING_POTION float timerHealth5 if ( timerHealth5 > 0 ) set timerHealth5 to ( timerHealth5 - getsecondspassed ) elseif ( GetEffect, sEffectRestoreHealth ) elseif ( GetHealthGetRatio > 0.5) if ( GetItemCount "p_restore_health_e" > 0 ) Equip "p_restore_health_e" 1 set timerHealth5 to 3 return endif if ( GetItemCount "p_restore_health_q" > 0 ) Equip "p_restore_health_q" 1 set timerHealth5 to 3 return endif if ( GetItemCount "p_restore_health_c" > 0 ) Equip "p_restore_health_c" 1 set timerHealth5 to 3 return endif if ( GetItemCount "p_restore_health_s" > 0 ) Equip "p_restore_health_s" 1 set timerHealth5 to 3 return endif if ( GetItemCount "p_restore_health_b" > 0 ) Equip "p_restore_health_b" 1 set timerHealth5 to 3 endif endif end Ссылка на комментарий Поделиться на другие сайты Поделиться
Varang Опубликовано 22 марта, 2019 Жалоба Поделиться Опубликовано 22 марта, 2019 (изменено) Olol, ваша версия с кучей ifов и endifов не робит. Сразу при вхождении в локации НПС выжирают зелья. Elseif-ы стабильно работали. В чем принципиальное разделение по if и elseif? У меня и с elsif уже теперь работало все... Изменено 22 марта, 2019 пользователем Varang Ссылка на комментарий Поделиться на другие сайты Поделиться
olol Опубликовано 22 марта, 2019 Жалоба Поделиться Опубликовано 22 марта, 2019 (изменено) забыл поменять знак > на begin AI_USING_POTION float timerHealth5 if ( timerHealth5 > 0 ); если задан таймер задержки set timerHealth5 to ( timerHealth5 - getsecondspassed ); уменьшаем таймер elseif ( GetEffect, sEffectRestoreHealth ); еще не кончился эффект elseif ( GetHealthGetRatio if ( GetItemCount "p_restore_health_e" > 0 ); есть в наличии бутылек Equip "p_restore_health_e" 1; выпить бутылек set timerHealth5 to 3; задаем три секунды таймеру return; закончить проверку endif if ( GetItemCount "p_restore_health_q" > 0 ) Equip "p_restore_health_q" 1 set timerHealth5 to 3 return endif if ( GetItemCount "p_restore_health_c" > 0 ) Equip "p_restore_health_c" 1 set timerHealth5 to 3 return endif if ( GetItemCount "p_restore_health_s" > 0 ) Equip "p_restore_health_s" 1 set timerHealth5 to 3 return endif if ( GetItemCount "p_restore_health_b" > 0 ) Equip "p_restore_health_b" 1 set timerHealth5 to 3 endif endif end Изменено 22 марта, 2019 пользователем olol Ссылка на комментарий Поделиться на другие сайты Поделиться
Varang Опубликовано 22 марта, 2019 Жалоба Поделиться Опубликовано 22 марта, 2019 (изменено) В чем плюсы-минусы, по сравнению с прежней, тоже рабочей? А то я на основе старой уже начал делать вовсю магию и усталость)) Вот тут вроде все робит: begin AI_USING_POTION float timerHealth5 if ( timerHealth5 > 0 ) set timerHealth5 to ( timerHealth5 - getsecondspassed )elseif ( GetHealthGetRatio > 0.5)elseif ( GetEffect, sEffectRestoreHealth )elseif ( GetItemCount "p_restore_health_e" > 0 ) Equip "p_restore_health_e" 1 set timerHealth5 to 2returnelseif ( GetHealthGetRatio > 0.5)elseif ( GetEffect, sEffectRestoreHealth )elseif ( GetItemCount "p_restore_health_q" > 0 ) Equip "p_restore_health_q" 1 set timerHealth5 to 2returnelseif ( GetHealthGetRatio > 0.5)elseif ( GetEffect, sEffectRestoreHealth )elseif ( GetItemCount "p_restore_health_c" > 0 ) Equip "p_restore_health_c" 1 set timerHealth5 to 2returnelseif ( GetHealthGetRatio > 0.5)elseif ( GetEffect, sEffectRestoreHealth )elseif ( GetItemCount "p_restore_health_s" > 0 ) Equip "p_restore_health_s" 1 set timerHealth5 to 2returnelseif ( GetHealthGetRatio > 0.5)elseif ( GetEffect, sEffectRestoreHealth )elseif ( GetItemCount "p_restore_health_b" > 0 ) Equip "p_restore_health_b" 1 set timerHealth5 to 2return;endif;----------------------------------------------------------------------------------------elseif ( GetMagicka > 175) ; magicelseif ( GetEffect, sEffectRestoreSpellPoints )elseif ( GetItemCount "p_restore_magicka_b" > 0 ) Equip "p_restore_magicka_b" 1 set timerHealth5 to 2returnelseif ( GetMagicka > 175) ; magicelseif ( GetEffect, sEffectRestoreSpellPoints )elseif ( GetItemCount "p_restore_magicka_c" > 0 ) Equip "p_restore_magicka_c" 1 set timerHealth5 to 2returnelseif ( GetMagicka > 175) ; magicelseif ( GetEffect, sEffectRestoreSpellPoints )elseif ( GetItemCount "p_restore_magicka_s" > 0 ) Equip "p_restore_magicka_s" 1 set timerHealth5 to 2returnelseif ( GetMagicka > 175) ; magicelseif ( GetEffect, sEffectRestoreSpellPoints )elseif ( GetItemCount "p_restore_magicka_q" > 0 ) Equip "p_restore_magicka_q" 1 set timerHealth5 to 2returnelseif ( GetMagicka > 175) ; magicelseif ( GetEffect, sEffectRestoreSpellPoints )elseif ( GetItemCount "p_restore_magicka_e" > 0 ) Equip "p_restore_magicka_e" 1 set timerHealth5 to 2return;endif ; -----------------------------------------------------------------------elseif ( GetFatigue > 150) ; fatigueelseif ( GetEffect, sEffectRestoreFatigue )elseif ( GetItemCount "p_restore_fatigue_b" > 0 ) Equip "p_restore_fatigue_b" set timerHealth5 to 2returnelseif ( GetFatigue > 150) ; fatigueelseif ( GetEffect, sEffectRestoreFatigue )elseif ( GetItemCount "p_restore_fatigue_c" > 0 ) Equip "p_restore_fatigue_c" set timerHealth5 to 2returnelseif ( GetFatigue > 150) ; fatigueelseif ( GetEffect, sEffectRestoreFatigue )elseif ( GetItemCount "p_restore_fatigue_s" > 0 ) Equip "p_restore_fatigue_s" set timerHealth5 to 2returnelseif ( GetFatigue > 150) ; fatigueelseif ( GetEffect, sEffectRestoreFatigue )elseif ( GetItemCount "p_restore_fatigue_q" > 0 ) Equip "p_restore_fatigue_q" set timerHealth5 to 2returnelseif ( GetFatigue > 150) ; fatigueelseif ( GetEffect, sEffectRestoreFatigue )elseif ( GetItemCount "p_restore_fatigue_e" > 0 ) Equip "p_restore_fatigue_e" set timerHealth5 to 2returnendif; ------------------------------------------------------------------------- end Только вот зелья усталости подозрительно часто не пьют, хотя секирами махают здорово...может, скобки наооборот надо? Изменено 22 марта, 2019 пользователем Varang Ссылка на комментарий Поделиться на другие сайты Поделиться
olol Опубликовано 22 марта, 2019 Жалоба Поделиться Опубликовано 22 марта, 2019 (изменено) begin AI_USING_POTION float timerHealthfloat timerMagickafloat timerFatigue ; проверяем здоровьеif ( timerHealth > 0 ); если задан таймер задержки set timerHealth to ( timerHealth - getsecondspassed ); уменьшаем таймерelseif ( GetEffect, sEffectRestoreHealth ); еще не кончился эффектelseif ( GetHealthGetRatio if ( GetItemCount "p_restore_health_e" > 0 ); есть в наличии бутылек Equip "p_restore_health_e" 1; выпить бутылек set timerHealth to 3; задаем три секунды таймеру elseif ( GetItemCount "p_restore_health_q" > 0 ); проверка на следующий бутылек если нет предыдущего Equip "p_restore_health_q" 1 set timerHealth to 3 elseif ( GetItemCount "p_restore_health_c" > 0 ) Equip "p_restore_health_c" 1 set timerHealth to 3 elseif ( GetItemCount "p_restore_health_s" > 0 ) Equip "p_restore_health_s" 1 set timerHealth to 3 elseif ( GetItemCount "p_restore_health_b" > 0 ) Equip "p_restore_health_b" 1 set timerHealth to 3 endifendif ; проверяем магиюif ( timerMagicka > 0 ) set timerMagicka to ( timerMagicka - getsecondspassed ); далее для магииendif ; проверяем усталостьif ( timerFatigue > 0 ) set timerFatigue to ( timerFatigue - getsecondspassed ); далее для усталостиendif end if - задает условие соответствияelseif - задает условие для не соответствия if ( *** ); условие соответствуетelse; условие не соответствуетendif я использую таймеры на вычитание, это позволяет задать разные задержки для разных бутыльков, а не только всем по 3 сек Изменено 22 марта, 2019 пользователем olol Ссылка на комментарий Поделиться на другие сайты Поделиться
Varang Опубликовано 22 марта, 2019 Жалоба Поделиться Опубликовано 22 марта, 2019 (изменено) Примерно сообразил взаимосвязь. Как я полагаю, я могу в будущем делать аналогичную привязку на зелья лечения отравлений, паралича, развеивания, привязывая их к наличию конкретных эффектов заклинаний на НПС? Либо заставлять НПС кастовать на себя щиты и излечивания, если у них начинают выбивать здоровье? Изменено 22 марта, 2019 пользователем Varang Ссылка на комментарий Поделиться на другие сайты Поделиться
Dagot_Prolaps Опубликовано 22 марта, 2019 Жалоба Поделиться Опубликовано 22 марта, 2019 Как тебе такое, Илон Маск? if ( menumode == 1 )returnendif if ( rise == 0 )if ( GetHealth <= 0 )set timer to ( timer + GetSecondsPassed )if ( timer > 10 )set risechance to ( GetLevel * 5 )if ( risechance >= Random 101 )Resurrectset stat to ( GetHealth * 0.5 )SetHealth statPlaysound3D "bonewalkerSCRM"endifset timer to 0set rise to 1endifendifendif Секция висит на ходячих трупах прямо перед рандомизатором, повторное заражение в конце рандомизатора. Трупы восстают с половиной здоровья с вероятностью своего пятикратного уровня. Ссылка на комментарий Поделиться на другие сайты Поделиться
olol Опубликовано 22 марта, 2019 Жалоба Поделиться Опубликовано 22 марта, 2019 (изменено) Я в скрипте менял if на elseif для исключения returnиначе он не даст восстановить усталость или магию.NPC будет лежать в отключке и восстанавливать здоровье вместо восстановления усталостиа в конце скрипта можно добавить и другие проверки в твоем скрипте очень много вложено elseifне нужно делать вложенность для if и elseif больше 10помоему больше 12 они не работают Изменено 22 марта, 2019 пользователем olol Ссылка на комментарий Поделиться на другие сайты Поделиться
Varang Опубликовано 22 марта, 2019 Жалоба Поделиться Опубликовано 22 марта, 2019 Я в скрипте менял if на elseif для исключения returnиначе он не даст восстановить усталость или магию.NPC будет лежать в отключке и восстанавливать здоровье вместо восстановления усталостиа в конце скрипта можно добавить и другие проверки в твоем скрипте очень много вложено elseifне нужно делать вложенность для if и elseif больше 10помоему больше 12 они не работаютbegin AI_USING_POTION float timerHealth5float timerMagicka5float timerFatigue5 if ( timerHealth5 > 0 ) set timerHealth5 to ( timerHealth5 - getsecondspassed )elseif ( GetHealthGetRatio > 0.5)elseif ( GetEffect, sEffectRestoreHealth )elseif ( GetItemCount "p_restore_health_e" > 0 ) Equip "p_restore_health_e" 1 set timerHealth5 to 2returnelseif ( GetHealthGetRatio > 0.5)elseif ( GetEffect, sEffectRestoreHealth )elseif ( GetItemCount "p_restore_health_q" > 0 ) Equip "p_restore_health_q" 1 set timerHealth5 to 2returnelseif ( GetHealthGetRatio > 0.5)elseif ( GetEffect, sEffectRestoreHealth )elseif ( GetItemCount "p_restore_health_c" > 0 ) Equip "p_restore_health_c" 1 set timerHealth5 to 2returnelseif ( GetHealthGetRatio > 0.5)elseif ( GetEffect, sEffectRestoreHealth )elseif ( GetItemCount "p_restore_health_s" > 0 ) Equip "p_restore_health_s" 1 set timerHealth5 to 2returnelseif ( GetHealthGetRatio > 0.5)elseif ( GetEffect, sEffectRestoreHealth )elseif ( GetItemCount "p_restore_health_b" > 0 ) Equip "p_restore_health_b" 1 set timerHealth5 to 2returnendif;----------------------------------------------------------------------------------------if ( timerMagicka5 > 0 ) set timerMagicka5 to ( timerMagicka5 - getsecondspassed )elseif ( GetMagicka > 175) ; magicelseif ( GetEffect, sEffectRestoreSpellPoints )elseif ( GetItemCount "p_restore_magicka_b" > 0 ) Equip "p_restore_magicka_b" 1 set timerMagicka5 to 2returnelseif ( GetMagicka > 175) ; magicelseif ( GetEffect, sEffectRestoreSpellPoints )elseif ( GetItemCount "p_restore_magicka_c" > 0 ) Equip "p_restore_magicka_c" 1 set timerMagicka5 to 2returnelseif ( GetMagicka > 175) ; magicelseif ( GetEffect, sEffectRestoreSpellPoints )elseif ( GetItemCount "p_restore_magicka_s" > 0 ) Equip "p_restore_magicka_s" 1 set timerMagicka5 to 2returnelseif ( GetMagicka > 175) ; magicelseif ( GetEffect, sEffectRestoreSpellPoints )elseif ( GetItemCount "p_restore_magicka_q" > 0 ) Equip "p_restore_magicka_q" 1 set timerMagicka5 to 2returnelseif ( GetMagicka > 175) ; magicelseif ( GetEffect, sEffectRestoreSpellPoints )elseif ( GetItemCount "p_restore_magicka_e" > 0 ) Equip "p_restore_magicka_e" 1 set timerMagicka5 to 2returnendif ; -----------------------------------------------------------------------if ( timerFatigue5 > 0 ) set timerFatigue5 to ( timerFatigue5 - getsecondspassed )elseif ( GetFatigue > 150) ; fatigueelseif ( GetEffect, sEffectRestoreFatigue )elseif ( GetItemCount "p_restore_fatigue_b" > 0 ) Equip "p_restore_fatigue_b" set timerFatigue5 to 2returnelseif ( GetFatigue > 150) ; fatigueelseif ( GetEffect, sEffectRestoreFatigue )elseif ( GetItemCount "p_restore_fatigue_c" > 0 ) Equip "p_restore_fatigue_c" set timerFatigue5 to 2returnelseif ( GetFatigue > 150) ; fatigueelseif ( GetEffect, sEffectRestoreFatigue )elseif ( GetItemCount "p_restore_fatigue_s" > 0 ) Equip "p_restore_fatigue_s" set timerFatigue5 to 2returnelseif ( GetFatigue > 150) ; fatigueelseif ( GetEffect, sEffectRestoreFatigue )elseif ( GetItemCount "p_restore_fatigue_q" > 0 ) Equip "p_restore_fatigue_q" set timerFatigue5 to 2returnelseif ( GetFatigue > 150) ; fatigueelseif ( GetEffect, sEffectRestoreFatigue )elseif ( GetItemCount "p_restore_fatigue_e" > 0 ) Equip "p_restore_fatigue_e" set timerFatigue5 to 2returnendif; ------------------------------------------------------------------------- end То есть так тоже не годится, надо разделить? Ссылка на комментарий Поделиться на другие сайты Поделиться
olol Опубликовано 22 марта, 2019 Жалоба Поделиться Опубликовано 22 марта, 2019 у тебя 15 влжений, по 3 последних не будут работатьи я поменял порядок проверок, чтоб исключить многократную проверкумой в полтора раза короче Ссылка на комментарий Поделиться на другие сайты Поделиться
Varang Опубликовано 22 марта, 2019 Жалоба Поделиться Опубликовано 22 марта, 2019 (изменено) у тебя 15 влжений, по 3 последних не будут работатьи я поменял порядок проверок, чтоб исключить многократную проверкумой в полтора раза корочеда, но теперь я столкнулся в вашем варианте с багом, что ИИ с малым кол-м хитов, либо с зельями слабой мощности ухитряется выжирать таки по 3 зелья зараз...с эксклюзивными зельями, либо с качественными на крепких противниках такого нет.Пример, в Валенварионе есть целитель, орк - убиваю его с 2-3 ударов, 1й удар - снес больше 50%, пьет зелье, 2й удар - эффект не спасает его, т.к. броня слабая, и входящий урон слишком высок, он умирает. Открываю рюкзак - нет 3 экскл. зелий.Захожу в хижину - 2 орка-бойца, в среднем убиваю с 6-7 ударов. 2-3 удара - здоровье меньше 50 - пьет, сношу еще хиты - пьет, и так по кругу, пока не выпьет все 4 бутылки, а внести столько урона, чтобы перебить эффективность регена и качество брони\кол-ва жизней я не могу, поэтому орк живет стабильно, пока его зелья не кончатся, и тут все четко...в чем причина??? Изменено 22 марта, 2019 пользователем Varang Ссылка на комментарий Поделиться на другие сайты Поделиться
olol Опубликовано 22 марта, 2019 Жалоба Поделиться Опубликовано 22 марта, 2019 зелья пьются и после смертинужно добавить еще и проверку на смерть Ссылка на комментарий Поделиться на другие сайты Поделиться
Varang Опубликовано 22 марта, 2019 Жалоба Поделиться Опубликовано 22 марта, 2019 зелья пьются и после смертинужно добавить еще и проверку на смертьТипа если здоровье 0, остановить скрипт? if ( GetHealth <= 0 )StopScript AI_Using_Potionreturnendif Ссылка на комментарий Поделиться на другие сайты Поделиться
olol Опубликовано 22 марта, 2019 Жалоба Поделиться Опубликовано 22 марта, 2019 (изменено) локальные скрипты не останавливаютсяобъявляется локальная переменная и проверка short doOnce if ( doOnce ) returnIf ( OnDeath ) set doOnce to 1 if ( GetHealth 0 ) - может не сработать (трупы тоже лечатся ) Изменено 22 марта, 2019 пользователем olol Ссылка на комментарий Поделиться на другие сайты Поделиться
Varang Опубликовано 22 марта, 2019 Жалоба Поделиться Опубликовано 22 марта, 2019 (изменено) локальные скрипты не останавливаютсяобъявляется локальная переменная и проверкаshort doOnceif ( doOnce ) returnМне так и написать в скрипте своем? локальные скрипты не останавливаютсяобъявляется локальная переменная и проверка short doOnce if ( doOnce ) returnIf ( OnDeath ) set doOnce to 1 if ( GetHealth <= 0 ) - может не сработать (трупы тоже лечатся ) Скрипт просит endif. На return ошибка. И на set Изменено 22 марта, 2019 пользователем Scarab-Phoenix Ссылка на комментарий Поделиться на другие сайты Поделиться
olol Опубликовано 22 марта, 2019 Жалоба Поделиться Опубликовано 22 марта, 2019 (изменено) begin AI_USING_POTION float timerHealth5 float timerMagicka5 float timerFatigue5 short doOnce if ( doOnce ); NPC мертв return elseIf ( OnDeath ); NPC умер set doOnce to 1; фиксируем смерть return endif Изменено 22 марта, 2019 пользователем olol Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать учетную запись
Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!
Регистрация нового пользователяВойти
Уже есть аккаунт? Войти в систему.
Войти