Dagot_Prolaps Опубликовано 4 марта, 2019 Жалоба Поделиться Опубликовано 4 марта, 2019 Сначала было Сердце Хаоса с его классовой системой и абилками, зависящими от класса ГГ. Затем появились полноценные перки в МФР 1.5. Потом вышел ЧИМ-мод, использующий продвинутую систему перков. И наконец в МФР 3.1 появилась МВСЕ версия перков, использующая новый язык скриптинга.Именно подобные МВСЕ-скрипты видятся как следующая ступень развития геймплея Морра. В этой теме будет вестись разработка МВСЕ-плагинов, добавляющих как пассивные способности (перковые, классовые, звёздные и другие), так и активные абилки, что гораздо сложнее, но и интереснее. 1) Изменение ГМСТ http://wiki.theassimilationlab.com/mmw/XSetGSfloathttp://wiki.theassimilationlab.com/mmw/XSetGSlonghttp://wiki.theassimilationlab.com/mmw/XGetGS Язык МВСЕ присваивает каждой ГМСТ свой номер. Дальше применяется функция:XSetGSfloat Y ZГде Y – это номер ГМСТ, а Z – переменная, которой присвоено требуемое числовое значение в настоящий момент. Именно к этому значение и приведётся изменяемая ГМСТ. Также вместо Z можно сразу использовать нужное число.А вот другая важная функция:setx Z to xgetGS YОна позволяет устанавливать числовое значение введённой переменной на текущее значение требуемой ГМСТ. Используя эти функции, можно раз и навсегда менять нужные вам ГМСТ при наступлении определённого условия – например, при взятии героем перка.Есть ряд ГМСТ, влияющих только на героя, например iAlchemyMod с номером 1146 влияет на силу создаваемых зелий. И поскольку зелья делает только Нереварин, можно смело использовать эту ГМСТ для изменения его пассивок. Хотя это и весьма сомнительное решение, ведь куда проще было бы вообще не трогать ГМСТ, а менять сам навык алхимии Нереварина, также влияющий на силу его зелий.Однако есть и более обширный ряд ГМСТ, меняющих правила самой боёвки и других общих игровых механик. Изменение таких ГМСТ повлияет не только на Нереварина, но и на всех неписей и существ в игре. Например, если повысить fDamageStrengthBase чтобы Нереварин наносил больше физического урона, или iBlockMaxChance чтобы он имел больший шанс заблокировать удар щитом, то так оно и будет. Однако тогда и все остальные неписи в мире также начнут сильнее дамажить и лучше блокировать удары. Потому что ГМСТ – не только для Нереварина, они одни на всех. Подобные изменения как раз и являются критическим недостатком существующего плагина перков из последнего МФР.Есть также небольшой ряд ГМСТ, которые затрагивают механики специально для Нереварина, но с исключениями в виде некоторых неписей. Например, высок соблазн понерфить ГМСТ fEnchantmentMult под номером 1055, а затем задрать её вверх со взятием Нереварином какой-нибудь способности. Это существенно усилит все самодельные зачарования, однако при этом напрочь уничтожит механику сервиса зачарования, ибо все мастера в мире научатся хорошо зачаровывать вещи только со взятием Нереварином этой способности, а до этого будут неумёхами.Так как же разграничить влияние ГМСТ на Нереварина и всех остальных, и можно ли каким-то хитрым образом использовать эти новые МВСЕ-функции чтобы не сломать игру? Пока не ясно. 2) Изменение заклинаний и зачарований https://mwse.readthedocs.io/en/stable/mwscript/functions/xSetEffectInfo.htmlhttps://mwse.readthedocs.io/en/stable/mwscript/functions/xSetEnchantInfo.html Уже существующие заклинания и зачарования можно менять, используя эти две функции:xSetEffectInfo 1279610963xSetEffectInfo 1212370501Да, цифры должны быть всегда именно такие: 1279610963 для заклинаний и 1212370501 для зачарований. Рассмотрим пример такой функции:xSetEffectInfo 1279610963 "fireball" 1 14 0 2 5 1 4 30Элементы функции идут через пробел. Сперва ИД спелла в кавычках, то есть мы меняем существующий спелл огненного шара.Первая цифра (чёрным) – это место эффекта в заклинании (всего мест 8, у нас файрболл состоит всего из одного эффекта, так что ставим 1)Вторая и третья цифра (сиреневым) – это номер магического эффекта и субэффекта. Вот их список:https://mwse.readthedocs.io/en/stable/mwscript/references.html#magic-effectsУ нас стоит 14 – это удар огня, у него нет субэффекта, так что следующая цифра 0.А вот если бы нам надо было увеличить навык например лёгкой брони, то надо ставить 83 21Следующая цифра (оранжевым) – дальность. 0 – на себя; 1 – касание; 2 – удалённая цель.Следующая цифра (зелёным) – радиус. У нас 5 метров.Следующая цифра (синим) – длительность. У нас 1 секунда.Последние 2 цифры (красным) – минимальная и максимальная сила. У нас 4-30 урона.А вот это добавит файрболлу вторичный эффект удара холода 1 п. на 10 сек. на 15 метров:xSetEffectInfo 1279610963 "fireball" 2 16 0 2 15 10 1 1Применяем эти две функции, и все файрболлы с этим ИДом приобретут именно такие свойства. А вот пример с изменением зачарования на призванной кирасе:xSetEffectInfo 1212370501 "bound cuirass_effects_en" 1 83 21 0 0 1 20 20Это придаст ей увеличение лёгких доспехов на себя на 20 п. Но почему время выставлено на 1 секунду? Потому что это постоянный эффект, и для более продвинутого контроля зачарований есть функция xSetEnchantInfoДопустим, мы взяли зачарование призванного меча и с помощью предыдущей функции изменили его на урон огнём при ударе вместо увеличения навыка длинных клинков на себя на постоянный эффект. Для этого надо обязательно применить ещё и вот эту функцию:xSetEnchantInfo "bound longsword_effect_en" 1 5 100 0Сначала через пробел в кавычках идёт ИД зачарования, а затем через пробелы 4 цифры.Первая цифра. 0 – одноразовый; 1 – при ударе; 2 – при использовании; 4 – постоянный эффект. Нам надо при ударе, так что ставим 1.Вторая цифра – расход зарядов при использовании. Третья – максимум зарядов. У нас 5 и 100. Хватит на 20 ударов.Четвёртая цифра – автокалькуляция зарядов. 0 – отключена, 1 – включена. Нам её не надо, ставим 0. В вышеприведённых примерах менялись огненные шары и призванные вещи во всём мире для всех без исключения. Если же мы хотим улучшить спеллы только одного Нереварина, не затрагивая неписей и существ, то необходимо использовать эти функции только на эксклюзивных для Нереварина спеллах и зачарованиях. Предварительно их создав в КС и добавив Нереварину простыми скриптами. Однако возникает вопрос: не проще ли удалять ненужные спеллы и заменять их на усовершенствованные стандартными скриптовыми командами? Если речь идёт о пассивных способностях типа перков, то да. Однако эти продвинутые МВСЕ-функции имеют куда больший потенциал!Что если применять их не для наделения героя пассивными способностями, а как активный элемент непосредственной боёвки? Задаём некое условие, при наступлении которого активируются функции изменения заклинаний героя. Пока условие выполняется, герой обладает усиленными версиями своих заклинаний с теми же самыми ИДами! Когда же условие перестаёт выполняться, можно теми же самыми командами откатить заклинания героя к своему изначальному состоянию.Например, пока на Нереварине скастован бафф с определённым ИДом, или пока в его инвентаре лежит определённый артефакт, или пока на нём надета определённая шмотка, ряд боевых заклинаний типа тех же огненных шаров усиливается и обрастает новыми эффектами. Обкастовался баффами – на 30 секунд усилил свою магию. Не просто получил + к какой-нибудь характеристике, а обрёл более могущественные спеллы и раздал с их помощью люлей. 30 секунд истекли – спеллы опять ослабели, надо перекастовывать бафф.Применение подобных трюков способно шикарно разнообразить геймплей и вывести боёвку на невиданный доселе уровень. Однако стабильность столь сложных в исполнении скриптов под большим вопросом. Ссылка на комментарий Поделиться на другие сайты Поделиться
aL☢ Опубликовано 4 марта, 2019 Жалоба Поделиться Опубликовано 4 марта, 2019 А ты не думал - с чего бы НПЦ тоже не могут владеть перками? Или им нельзя? Здорово конечно что ты подождал, чтобы взять скрипты, мне не жалко, без проблем пользуйся, но имей совесть, своим жирным имхо говорить что плагин плох тем то... не играв в него - не уместно что ли? Ты ж в нем тупо ковырялся, а не играл с ним. Не надо так. Со стабильностью кстати все нормально, можешь спокойно апгрейдить свой чим-мод. Ссылка на комментарий Поделиться на другие сайты Поделиться
Dagot_Prolaps Опубликовано 4 марта, 2019 Автор Жалоба Поделиться Опубликовано 4 марта, 2019 Неписям можно владеть перками только в одном случае - если им раздать их вручную. Но когда Нереварин качнул разрушение на сотку, предвкушая как будет всех жарить файрболлами, внезапно обнаруживает что каждый вшивый огненный атронах в игре вдруг стал нехило так выжигать пукан своими хиленькми спеллами, то это та ещё подстава автолевелинг С остальными боевыми скиллами всё аналогично. Кстати, ты тестил вот этот интересный момент с мвсе-вики?XSetGSfloat sets the value of a float game setting. New values are not stored in savegames and will be lost when you exit the game. Ещё у тебя навык красноречия запускает перки от торговли. Ссылка на комментарий Поделиться на другие сайты Поделиться
aL☢ Опубликовано 4 марта, 2019 Жалоба Поделиться Опубликовано 4 марта, 2019 Неписям можно владеть перками только в одном случае - если им раздать их вручную. Но когда Нереварин качнул разрушение на сотку, предвкушая как будет всех жарить файрболлами, внезапно обнаруживает что каждый вшивый огненный атронах в игре вдруг стал нехило так выжигать пукан своими хиленькми спеллами, то это та ещё подстава автолевелинг С остальными боевыми скиллами всё аналогично. Кстати, ты тестил вот этот интересный момент с мвсе-вики? Ещё у тебя навык красноречия запускает перки от торговли. 1. Нет, не обязательно. 2. С чего тя взял что "вшивый" атронах вынесет ГГ своими "хиленькими" спеллами? Ты тестировал?2.1 Что аналогично? 3. Я тестил много интересных моментов, но с человеком, который в открытую обсирает чужие поделки, тогда как свои полностью основаны на чужом "васянском" труде, я не хочу ничего обсуждать. 4. И? Ссылка на комментарий Поделиться на другие сайты Поделиться
Dagot_Prolaps Опубликовано 4 марта, 2019 Автор Жалоба Поделиться Опубликовано 4 марта, 2019 (изменено) 3. Я тестил много интересных моментов, но с человеком, который в открытую обсирает чужие поделки, тогда как свои полностью основаны на чужом "васянском" труде, я не хочу ничего обсуждать. Только им в своей теме не говори, если вдруг действительно окажется, что новые гмст не сохраняются в сейвах - не порть людям праздник Изменено 4 марта, 2019 пользователем Dagot_Prolaps Ссылка на комментарий Поделиться на другие сайты Поделиться
Larkin Опубликовано 4 марта, 2019 Жалоба Поделиться Опубликовано 4 марта, 2019 Ну если там и правда прокачка навыков игрока усиливает неписей или мобов то это более чем странно, это даже не автолевелинг а какое то превозношение игрока как центральную опорную силу мира. Морошнд не та игра в которой это надо, даже если там интересным геймплеем руководствовались... Мне хочется верить что это Даготов поклеп и там нет такого. Но он так убедительно тралякает шо я не могу. не играв в него - не уместно что ли? Ты ж в нем тупо ковырялся, а не играл с ним. Не надо так.Скорей неуместно говорить не играл в плаг не критикуй, потому что в редакторе гораздо более понятно че там и как, и люди шарящие в скриптах сразу баги найдут. Тем более вроде ридми нет. Могу показаться телепатом, но по моему это от страха что игроки открыв плагин могут увидеть там бурду. С этим МВСЕ, мне одному кажется что это что это обреченная на смерть сущность в связи с развитием опенмв? Ссылка на комментарий Поделиться на другие сайты Поделиться
Dagot_Prolaps Опубликовано 5 марта, 2019 Автор Жалоба Поделиться Опубликовано 5 марта, 2019 Типовые скрипты на улучшенную МВСЕ-магию через баффы. Есть заклинание огненного шара с ИДом spell_1, которое знает только Нереварин. Оно наносит 5-20 п. огнём на 1 с. на 5 м. + вторичный эффект поджога 0-1 п. на 5 с. на 10 м. Также Нереварин знает спелл с ИДом buff_1, которое несёт любой эффект на себя на некоторое число секунд, не важно какой, пусть даже самый незначительный. Герой кастует на себя этот бафф не ради самого эффекта заклинания, а ради МВСЕ-эффекта, который этот бафф даст. Предположим, мы хотим получить усиление огненного шара spell_1 на 30 секунд. Так чтобы оно наносило 10-30 п. огнём на 1 с. на 15 м. + вторичный эффект поджога 2-3 п. на 10 с. на 25 м. Что нужно для этого сделать? Создаём скрипт. Глобальный и стартовый. Begin Buff_fireball short buff float timer If ( MenuMode == 1 ) Return Endif if ( buff == 0 ) if ( Player->GetSpellEffects, "buff_1" == 1 ) xSetEffectInfo 1279610963 "spell_1" 1 14 0 2 15 1 10 30 xSetEffectInfo 1279610963 "spell_1" 2 14 0 2 25 10 2 3 set buff to 1 endif endif if ( buff == 1 ) set timer to ( timer + GetSecondsPassed ) if timer > 30 xSetEffectInfo 1279610963 "spell_1" 1 14 0 2 5 1 5 20 xSetEffectInfo 1279610963 "spell_1" 2 14 0 2 10 5 0 1 set buff to 0 set timer to 0 endif endif End Есть одно условие: длительность заклинания-баффа должна быть меньше желаемой длительности самого баффа. То есть если хотим получить усиленную магию на 30 секунд, длительность спелла buff_1 должна быть меньшне 30 секунд. Хотим усиления других заклинаний этим же баффом - добавляем аналогичные функции xSetEffectInfo 1279610963 в этот же скрипт. Хотим усиления других заклинаний другими баффами - копируем и помещаем дальше обе секции по аналогии с новым таймером и новым баффом, прописав их в начале скрипта, например: short buff2 float timer2 Теперь создаём артефактное Кольцо Огненного Шторма. По задумке, пока оно надето на Нереварине, известное ему заклинание огненного шара spell_1 будет усилено уроном молнией на 5-10 п. на 3 с. на 5 м. Когда же кольцо снимается, заклинание приходит в норму. Из-за ограничений движка третий эффект не полностью исчезает, а должен быть заменён - заменим его на ничтожные 0-1 огня на 1 с. Чтобы достичь такого эффекта, на кольцо надо поместить этот скрипт: Begin Ring_firestorm short OnPCEquip short buff if ( OnPCEquip == 1 ) if ( buff == 0 ) xSetEffectInfo 1279610963 "spell_1" 3 15 0 2 5 3 5 10 set buff to 1 endif else xSetEffectInfo 1279610963 "spell_1" 3 14 0 2 0 1 0 1 set buff to 0 endif End В данном примере меняется именно третий эффект в заклинании специально для совместимости с вышеописанным баффом от кастуемого заклинания. Таким образом огненный шар может быть либо ничего не усилен, либо усилен только первым баффом, либо усилен только баффом от кольца, либо усилен сразу двумя баффами. Если вы хотите чтобы при одетом кольце усиление получали и другие спеллы - тогда добавляем аналогичные функции xSetEffectInfo 1279610963 в этот же скрипт. Обратите внимание на то, что зачарование на созданном кольце может быть каким угодно. Ссылка на комментарий Поделиться на другие сайты Поделиться
Ao3 Опубликовано 5 марта, 2019 Жалоба Поделиться Опубликовано 5 марта, 2019 (изменено) Если spell_1 - готовое, не созданное игроком заклинание которое знает только игрок, а бафф усиливает только заданные в скрипте заклинания и не сработает для созданных, то почему бы вместо xSetEffectInfo 1279610963 "spell_1" 3 14 0 2 0 1 0 1 не использовать player->removespell "spell_1"player->addspell "spell_2" где spell_2 - усиленная копия spell_1. Извращение конечно, но за то МВСЕ не нужен. Да и скриптовые баффы на усиление заклинаний - уже сами по себе извращение, когда и так есть возможность создавать произвольные спеллы, есть дебаффы уязвимостей, и есть баффы интеллекта и силы воли? Изменено 5 марта, 2019 пользователем Ao3 Ссылка на комментарий Поделиться на другие сайты Поделиться
Dagot_Prolaps Опубликовано 5 марта, 2019 Автор Жалоба Поделиться Опубликовано 5 марта, 2019 На то есть 2 причины: во-первых, адд и ремув спелы не поддерживают совместимость различных модификаторов заклинаний как показано на примере баффа вместе с кольцом, во-вторых задолбаешься лезть в меню и выискивать каждый раз новые спеллы, в то время как с модификаторами у тебя всегда один и тот же спелл на горячей клавише. Произвольные спеллы и маны будут жрать немеренно, модификаторы же не меняют затрат. Баффы же инты и воли никак не влияют на силу и качество спеллов. Ссылка на комментарий Поделиться на другие сайты Поделиться
Ao3 Опубликовано 5 марта, 2019 Жалоба Поделиться Опубликовано 5 марта, 2019 На то есть 2 причины: во-первых, адд и ремув спелы не поддерживают совместимость различных модификаторов заклинаний как показано на примере баффа вместе с кольцом, во-вторых задолбаешься лезть в меню и выискивать каждый раз новые спеллы, в то время как с модификаторами у тебя всегда один и тот же спелл на горячей клавише. Ну тут да, не поспоришь, с горячей клавиши слетит. Произвольные спеллы и маны будут жрать немеренно, модификаторы же не меняют затрат. Баффы же инты и воли никак не влияют на силу и качество спеллов. Бафф инты - это же по сути бафф на ману, которую жрут произвольные спеллы. Ссылка на комментарий Поделиться на другие сайты Поделиться
aL☢ Опубликовано 9 марта, 2019 Жалоба Поделиться Опубликовано 9 марта, 2019 if ( Player->GetSpellEffects, "buff_1" == 1 )xSetEffectInfo 1279610963 "spell_1" 1 14 0 2 15 1 10 30xSetEffectInfo 1279610963 "spell_1" 2 14 0 2 25 10 2 3set buff to 1 Внутри обычного if команды МВСЕ будут выбивать ошибку. Об этом сказано в мануале по МВСЕ 2.0+ Вот пример как обойти это - http://www.fullrest.ru/forum/topic/25384-manual-po-skriptam-pod-mwse/?p=985766 Ссылка на комментарий Поделиться на другие сайты Поделиться
Dagot_Prolaps Опубликовано 21 марта, 2019 Автор Жалоба Поделиться Опубликовано 21 марта, 2019 Подробно изучить, здесь есть встроенный определитель врагов: begin _Accuracy float weaponSkillfloat weaponSkillOldfloat weaponDrawnfloat tempfloat temp1float timerfloat timer2 long Enemylong EnemyOldlong EnemyRefTypelong PCRef float fBaseABfloat fBaseDBfloat fABfloat fDBfloat fABtotfloat fDBtot short doOnceshort weaponTypeshort bowshort sUpdatefloat pAgilityfloat pLuckfloat pAgilityOldfloat pLuckOldfloat EnAR ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 1. initialization;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; If ( charGenState != -1 )returnEndif If ( MenuMode == 1 )returnEndif Set timer to ( timer + GetSecondsPassed )Set timer2 to ( timer2 + GetSecondsPassed ) If ( doOnce == 0 ) ; 15 sec bootup delayIf ( timer <= 5 )returnEndif set fBaseAB to Player->GetAttackBonusset fBaseDB to Player->GetDefendBonusset pAgility to Player->GetAgilityset pLuck to Player->GetLuck set fAB to 100set fDB to -50set fABtot to fAB + fBaseABset fDBtot to fDB + fBaseDB Player->SetAttackBonus, fABTotPlayer->SetDefendBonus, fDBtot set doOnce to 1set sUpdate to 0set Enemy to 0set EnemyOld to 0set weaponSkill to 1set weaponSkillOld to 0Endif If ( timer <= 0.2 )returnEndif ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 2. fast timer block;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; setx pcref to xGetRef, "player"setx Enemy to pcref->xGetCombat ifx ( Enemy )elsesetx enemy to xGetPCTargetendif ifx ( Enemy )elsereturnendif setx EnemyRefType to enemy->xreftypeif ( EnemyRefType == 1095062083 )elseif ( EnemyRefType == 1598246990 )elsereturnendif ; if enemy has changed, run UpdateSpells block if ( Enemy != EnemyOld )if ( Player->GetWeaponDrawn )set sUpdate to 1;messagebox, "Enemy updated!"endifendif set EnemyOld to Enemy ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 3. slow timer block;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; If ( timer2 > 1 ) ; updates combat stats every second if ( Player->GetWeaponDrawn ) set weaponDrawn to 1set weaponType to Player->GetWeaponTypeif ( weaponType == -1 )set bow to 0set temp1 to 1set weaponSkill to Player->GetHandToHandelseif ( weaponType == 0 )set bow to 0set temp1 to 1set weaponSkill to Player->GetShortBladeelseif ( weaponType < 3 )set bow to 0set temp1 to 1set weaponSkill to Player->GetLongBladeelseif ( weaponType < 6 )set bow to 0set temp1 to 1set weaponSkill to Player->GetBluntWeaponelseif ( weaponType == 6 )set bow to 0set temp1 to 1set weaponSkill to Player->GetSpearelseif ( weaponType < 9 )set bow to 0set temp1 to 1set weaponSkill to Player->GetAxeelseset bow to 1set temp1 to 1set weaponSkill to Player->GetMarksmanendif if ( weaponSkill < 1 )set weaponskill to 1endif set pAgility to player->getAgilityif ( pAgility < 1 )set pAgility to 1endif set pLuck to Player->GetLuckif ( pLuck < 1 )set pLuck to 1endif if ( weaponSkill != weaponSkillOld )set sUpdate to 1elseif( pAgility != pAgilityOld )set sUpdate to 1;messagebox, "Skill updated!"endif set weaponSkillOld to weaponSkillset pAgilityOld to pAgilityset pLuckOld to pLuckendifendif ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 4. Update Spells block;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ifx ( sUpdate ) ; this block is run if enemy or weapon skill has changedset sUpdate to 0 set fBaseAB to Player->GetAttackBonusset fBaseAB to ( fBaseAB - fAB ) set fBaseDB to Player->GetDefendBonusset fBaseDB to ( fBaseDB - fDB ) set fDB to ( -50 - ( 0.2*pAgility + 0.1*pLuck )*( 0.75 ) ) set fAB to ( 100 - ( weaponskill + 0.2*pAgility + 0.1*pLuck )*( 0.75 ) )set fABTot to fAB + fBaseABset fDBTot to fDB + fBaseDB Player->SetAttackBonus, fABTotPlayer->SetDefendBonus, fDBTot ifx ( temp1 )set temp to ( 2 + weaponSkill * 0.02 )XSetGSfloat 1032 temp ; ,fCombatCriticalStrikeMult 4set temp to ( 0.5 - weaponSkill * 0.004 )XSetGSfloat 1109 temp ; ,,fWeaponDamageMult 0.1set temp1 to 0endif ifx ( bow )set temp to ( pLuck * 0.4 )set temp1 to ( player->getmarksman * 0.5 )set temp to ( temp + temp1 )XSetGSfloat 1124 temp ; fProjectileThrownStoreChanceset temp1 to 0set bow to 0endif set EnAR to ( 500 / weaponskill )set EnAR to EnAR + ( 200 / ( pAgility + 10 ) )set EnAR to EnAR - 5if ( EnAR < 0 )set EnAR to 0endif xSetRef Enemysetarmorbonus EnARendif ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 5. resets timers;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; set timer to 0 If ( timer2 > 1 )set timer2 to 0Endif end _Accuracy Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать учетную запись
Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!
Регистрация нового пользователяВойти
Уже есть аккаунт? Войти в систему.
Войти