-
Постов
936 -
Зарегистрирован
-
Посещение
Тип контента
Профили
Форумы
Календарь
Сообщения, опубликованные Dagot_Prolaps
-
-
Да, это специально для покалеченных спутников. Для восстановления своих характеристик есть другие готовые спеллы. Особенно мощный комплексный такой спелл будет даваться по сюжету Трибунала.
-
а раз нет возможности спавнить один вид дреугов в зависимости от сезона
МФСД учил: есть команды добавления и убирания объектов из существующих левеллистов. Было показано на примере изгнания крыс с острова по щелчку активатора.
Считывание сезона сделать легко. Добавить активатор в какую-нибудь частопосещаемую зону - и как только ГГ там появится, левеллисты будут пересобраны.
Или ещё проще - через стартовый скрипт, вообще без активаторов.
-
Отбалансил одежду мфр, заполнил материалы для 2/3 новой брони, дальше кончилось терпение. Новые таблицы в первом посте.
-
Если вручную указывать путь к иконкам, то ваш плагин со свитками совместим с чим-модом, потому что свитки в нём не затронуты (а затронуты сами зачарования, а это другие объекты). Если выделить из этого плагина только изменения свитков, то наверное можно смерджить, но каждый раз когда я пытался смерджить мод хоть с чем-нибудь, всегда откуда-то выскакивало куча мусора в виде непонятных неудаляемых изменений ячеек.
А вообще, есть же плагин на иконки зелий с эффектами - там у всех зелий одни и те же 5 иконок (в зависимости от качества), но сами иконки каким-то образом распознают первый эффект и добавляют соответствующую текстуру. Вот как это сделано? Можно ли аналогично сделать и для свитков?
Но просто MFR обновляется достаточно часто, и каждый раз придется подхватывать изменения для брони и оружия.Так ИДы-то одни и те же. Я смотрел, там не все образцы ещё распределены по миру, многие просто в тестовой камере. Так что следующие полгода Эл будет распределять их, а новых вряд ли предвидится.
-
Могу оказать помощь, во-первых, с интеграцией в мод Magic Markers
Там надо вручную у каждого свитка прописывать свой путь к своей иконке или есть какой-то автоматический способ подхвата нужной текстуры в зависимости от первого маг. эффекта?
Во-вторых, было бы неплохо как минимум подшаманить с ценами ;) На ингредиенты те же. Да и вообще подумать над алхимией.
Да, надо будет выгрузить таблицу и ингридиентов для удобного редактирования. С балансом алхимии очень сложно, так как и алхимия и магия использует одни и те же стоимости спеллов, да ещё и этот мвсешный модуль ядов плодит читерные яды на понижение (а если повысить стоимость этих эффектов в мане, то тогда магия понижений станет бессмысленной, по крайней мере та что с автокалькуляцией).
В-третьих - стоит ли заморачиваться под совместимость с MFR?..Тут такое дело - один раз заморочиться и прописать материал и тип оружия для каждой новой вещи - и дальше можно за несколько кликов менять баланс сколько угодно раз, пока он не станет идеальным. Так что с этим заморочиться точно стоит.
А планы на мод - расширение бестиария, создание индивидуальных скриптов для некоторых существ и добавление новых пушек и брони.
Первостепенная цель - довести боёвку до ума. А для этого главное населить мир способными врагами, сражаясь с которыми, надо думать о тактике вместо закликивания.
-
Чиф, помнишь ты хотел ребаланс цен на всё? Посмотри коэфы в секте экселя, там все источники формул уместились на 1 листе, а сами формулы (для всех параметров) уже загружены на все ячейки шмоток. Я также вывел в таблицы все шмотки из МФР, так что если тебя не затруднит - тебе остаётся только вручную прописать материалы и типы оружия для них, и тогда получшт ребаланс МФР в своём стиле. Я не уверен, что моего терпения хватит)) Но я не прочь скачать ту же таблицу с уже заполненными материалами)
-
Как тебе такое, Илон Маск?
if ( menumode == 1 )returnendifif ( 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Секция висит на ходячих трупах прямо перед рандомизатором, повторное заражение в конце рандомизатора.Трупы восстают с половиной здоровья с вероятностью своего пятикратного уровня. -
Я сделал скрипт на ауру мора - в игре работает хорошо.
Олол, а если прикрутить DontSaveObject в начале комбинированного скрипта рандомизации статов и заражения. Наткнулся на такое существо, статы и размер рассчитались, но из битвы мы не вышли а сохранились прям так. При следующей загрузке сейва эта же копия существа снова пересчитает свои статы и сменит размер? Ведь переменная done == 1 не запишется в сейв.
-
А для больных существ того же блудмуна вообще нет ни скрипта, ни DontSaveObject
Они тоже забагованы?
Если не брать в счёт "бага" разнообразие болезней у существ с одним ИД, то в чём принципиальная разница между стандартным скриптом заражения и тем же скриптом, но без DontSaveObject ?
Если уж повторно заразил скриптом - наоборот надо сохранять эти данные, а не запрещать сохранение.
-
А вот это уже лишний глобальный стартовый скрипт, который будет работать и нагружать игру вечно.
Я правильно понял, что если мы вешаем на кричура рандомизатор статов в том или ином виде, то строчка DontSaveObject противопоказана?
-
А в чём укуренность? В мооре нет аур, хотя это такой элементарный типовой скрипт. Я лишь хочу узнать, не упустил ли чего-то важного, что может сказаться на работоспособности игры.
В частности, как на ней скажется отсутствие
DontSaveObject
?
-
А зачем этот рандом?
Для универсальности, чтобы не плодить скрипты заражённых.
Кстати, как думаете, если специально для поднявшихся спящих сделать особый скрипт, с блоком Ауры Мора сразу перед стандартным блоком рандомизации статов:
if ( GetDisabled != 1 )if ( GetDistance Player <= 1000 )set timer to ( timer + GetSecondsPassed )if timer > 3set var to Random 4if ( var == 0 )player->addspell "ash woe blight"elseif ( var == 1 )player->addspell "black-heart blight"elseif ( var == 2 )player->addspell "chanthrax blight"elseplayer->addspell "ash-chancre"endifset timer to 0endifendifendifЭто устроит ад и израиль неподготовленному игроку, решившему полезть на спящего, который ещё не стал Нереварином.
Пока ГГ вблизи спящего, каждые 3 секунды он будет заражаться рандомной моровой болезнью.
Подводные камни?
-
если один вылечится, то вылечатся все копии и наоборот.
Ок, а что если совместить этот скрипт с рандомизатором статов, прикрутив и к нему рандомизацию и поставив сразу после блока с рандомизатором статов?
Вот пример для моровиков:
short doneshort varfloat statfloat coefif ( done == 1 )returnendifset stat to GetStrengthset coef to Random 41set coef to ( coef + 80 )set coef to ( coef / 100 )set stat to ( stat * coef )SetStrength statset stat to GetEnduranceset coef to Random 41set coef to ( coef + 80 )set coef to ( coef / 100 )set stat to ( stat * coef )SetEndurance statset stat to GetIntelligenceset coef to Random 41set coef to ( coef + 80 )set coef to ( coef / 100 )set stat to ( stat * coef )SetIntelligence statset stat to GetWillpowerset coef to Random 41set coef to ( coef + 80 )set coef to ( coef / 100 )set stat to ( stat * coef )SetWillpower statset stat to GetAgilityset coef to Random 41set coef to ( coef + 80 )set coef to ( coef / 100 )set stat to ( stat * coef )SetAgility statset stat to GetSpeedset coef to Random 41set coef to ( coef + 80 )set coef to ( coef / 100 )set stat to ( stat * coef )SetSpeed statset stat to GetLuckset coef to Random 41set coef to ( coef + 80 )set coef to ( coef / 100 )set stat to ( stat * coef )SetLuck statset stat to GetMagickaset coef to Random 41set coef to ( coef + 80 )set coef to ( coef / 100 )set stat to ( stat * coef )SetMagicka statset stat to GetFatigueset coef to Random 41set coef to ( coef + 80 )set coef to ( coef / 100 )set stat to ( stat * coef )SetFatigue statset stat to GetHealthset coef to Random 41set coef to ( coef + 80 )set coef to ( coef / 100 )set stat to ( stat * coef )SetHealth statset stat to GetScaleset coef to ( coef - 1 )set coef to ( coef * 0.75 )set coef to ( coef + 1 )set stat to ( stat * coef )setScale statif ( GetBlightDisease == 0 )set var to Random 4if ( var == 0 )AddSpell "ash woe blight"elseif ( var == 1 )AddSpell "black-heart blight"elseif ( var == 2 )AddSpell "chanthrax blight"elseAddSpell "ash-chancre"endifendifset done to 1EndТакое нормально сработает?
-
Второй это и есть _Accuracy - 1 стартовый скрипт, добавляющий броню текущему врагу.
-
Да там ещё 3 каких-то стрёмных экзешника добавляются, даже не луа, так что разобраться не выйдет. Помню видос с отрубанием башки, тоже неочень выглядело.
-
Подробно изучить, здесь есть встроенный определитель врагов:
begin _Accuracyfloat weaponSkillfloat weaponSkillOldfloat weaponDrawnfloat tempfloat temp1float timerfloat timer2long Enemylong EnemyOldlong EnemyRefTypelong PCReffloat fBaseABfloat fBaseDBfloat fABfloat fDBfloat fABtotfloat fDBtotshort doOnceshort weaponTypeshort bowshort sUpdatefloat pAgilityfloat pLuckfloat pAgilityOldfloat pLuckOldfloat EnAR;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 1. initialization;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;If ( charGenState != -1 )returnEndifIf ( MenuMode == 1 )returnEndifSet timer to ( timer + GetSecondsPassed )Set timer2 to ( timer2 + GetSecondsPassed )If ( doOnce == 0 ); 15 sec bootup delayIf ( timer <= 5 )returnEndifset fBaseAB to Player->GetAttackBonusset fBaseDB to Player->GetDefendBonusset pAgility to Player->GetAgilityset pLuck to Player->GetLuckset fAB to 100set fDB to -50set fABtot to fAB + fBaseABset fDBtot to fDB + fBaseDBPlayer->SetAttackBonus, fABTotPlayer->SetDefendBonus, fDBtotset doOnce to 1set sUpdate to 0set Enemy to 0set EnemyOld to 0set weaponSkill to 1set weaponSkillOld to 0EndifIf ( timer <= 0.2 )returnEndif;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 2. fast timer block;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;setx pcref to xGetRef, "player"setx Enemy to pcref->xGetCombatifx ( Enemy )elsesetx enemy to xGetPCTargetendififx ( Enemy )elsereturnendifsetx EnemyRefType to enemy->xreftypeif ( EnemyRefType == 1095062083 )elseif ( EnemyRefType == 1598246990 )elsereturnendif; if enemy has changed, run UpdateSpells blockif ( Enemy != EnemyOld )if ( Player->GetWeaponDrawn )set sUpdate to 1;messagebox, "Enemy updated!"endifendifset EnemyOld to Enemy;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 3. slow timer block;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;If ( timer2 > 1 ) ; updates combat stats every secondif ( 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->GetMarksmanendifif ( weaponSkill < 1 )set weaponskill to 1endifset pAgility to player->getAgilityif ( pAgility < 1 )set pAgility to 1endifset pLuck to Player->GetLuckif ( pLuck < 1 )set pLuck to 1endifif ( weaponSkill != weaponSkillOld )set sUpdate to 1elseif( pAgility != pAgilityOld )set sUpdate to 1;messagebox, "Skill updated!"endifset 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 0set 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 + fBaseDBPlayer->SetAttackBonus, fABTotPlayer->SetDefendBonus, fDBTotifx ( 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 0endififx ( 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 0endifset EnAR to ( 500 / weaponskill )set EnAR to EnAR + ( 200 / ( pAgility + 10 ) )set EnAR to EnAR - 5if ( EnAR < 0 )set EnAR to 0endifxSetRef Enemysetarmorbonus EnARendif;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 5. resets timers;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;set timer to 0If ( timer2 > 1 )set timer2 to 0Endifend _Accuracy -
Посмотрел я предложенный выше скрипт _Accuracy, что и говорить, он монструозен, грандиозен, монументален и... костылен)
Момент с определением текущего врага с помощью МВСЕ-команд
setx pcref to xGetRef, "player"setx Enemy to pcref->xGetCombatifx ( Enemy )elsesetx enemy to xGetPCTargetendifнадо определённо взять на вооружение.Именно это позволяет потом не скалировать весь мир от навыков ГГ через ГМСТ, а напрямую менять броню текущего врага, реализуя таким образом зависимость урона от скила ГГ. Но не урона от скила врагов, да.Думаю, скалирование урона от навыков ещё найдёт более изящную реализацию, проблема же промахов разрешилась заменой звука. Как до этого не догадались за 16 лет - ума не приложу (хотя и не припомню чтобы слышал отдельный звук мисс - всегда как удар по воздуху) -
Из-за чего? Забагованный?
Подобные плагины мотивируют, скорее, не включить их в ребаланс, а самому изучить луа, чтобы сделать всё как надо.
А проблему непопаданий (которая исчезает уже к прокачке скила на 50) можно было бы решить, если научить игру распознавать и отличать удар по воздуху от удара по цели+промаха. Если прикрутить к промаху звук не удара по воздуху, а парирования (соответственно 4 разных звука в зависимости от брони), то это сразу бы значительно сгладило fuuu-эффект.
-
А Нормальный - это конечно твой?
А существует ещё какой-то?
(Чифа не в счёт, там только оружие и доспехи, Ларкина тоже - там только спеллы)
Думаю, он захочет сделать свой собственный ребаланс, а потом прозреет и вернётся к убожеству оригинала. И Эл, и я, и многие другие старожили просто уже через это прошли, а у тебя походу всё впереди.Хех, ну попробуй сперва пройди тот же новый дум на самой высокой сложности, старожил) Или другую игру, в которой есть действительно геймплейная боёвка (хотя таких и мало). Вот именно после таких игр и наступает истинное прозрение, после которого примитив одиночных Свитков с тамошним закликиванием до момента когда "ой, вот это пушка на 90 урона, теперь я всех ваншочу!" не вызывает желания играть, не смотря на атмосферу и прочие достоинства.
Ага, al_Mod и старую версию EVA из 1.5 - 2.0 ты наверно не застал.Застал, причём застал уж поболее многих) Шаблон перков из той версии - это действительно был прорыв, а прочие накрутки овердофига хп мобам (наверное, чтоб закликивание не выходило из моды даже на 50 уровне? ) - это назвать балансировкой язык не поворачивается. А сверх этого что там было из геймплея? Несколько новых существ, и больше ничего.
К чему же пришли? Добавили тонну шмоток и дофига существ? Круто. Вот только шмотки с примерно оригинальными статами (читай васянскими, по 70-90 дамага у лучших), а у существ опять тонны хп + 1 спам-заклинание если маг (в лучшем случае 2 разных спелла, вот это проработка, ага).
Ах да, ещё же модуль перков, который уродует игру по умолчанию через гмст, и возвращает всё к ванильным значениям на полной прокачке, да к тому же скалирует весь мир от прогресса ГГ. Неудивительно что после подобных плагинов "ребаланс" стал нарицательным мемом. Ну разумеется, ведь это уничтожение и без того плохого баланса оригинальной игры! Вот поэтому многие теперь просто плюются, завидев не то что таблицу в экселе, а даже намёк на изменение баланса, так как ожидают ухудшения, а не улучшения геймплея. И справедливо ожидают, благодаря таким как Эл, авторы "Возвращения" для готики и прочим горе-плагиностроителям. Именно это и бывает, когда спец по графону или левелдизайну лезет в совершенно не свою отрасль, в которой он ничено не смыслит.
Но я не из таких. Я смыслю в боёвке и геймплее. Мне плевать на изменение в сотый раз цвета текстуры скаттла и выкашивание висящей в воздухе травы - именно то чем занимались МФРщики в течение 6 лет. Поэтому я туда не лезу и не создаю про это темы. Но мне не плевать на баланс и геймплей. Поэтому я создаю темы и улучшаю игру. А всех критиков готов до бесконечности тыкать носом в их дурной вкус, проистекающий из-за банальной кривизны рук (потому что в том же новом думе их смешают со скаттлом даже на первой сложности, равно как и в любой другой игре, где требуется хоть какой-то скилл)
А я давно твержу, что хватит заниматься дырами в игре, к которой прилагается редактор, где всё равно можно начитерить всё что угодно. Не про баланс она. Любые "заплатки" только ограничивют геймплейные возможности, от чего лучше становится.Вот-вот. И сразу мгновенное подтверждение моих слов.
-
Элу пофиг на баланс в своём репаке, так что тут мимо, таблицы выкладывались не для него и не для васек с улицы. В Морр играют до сих пор не ради баланса (поскольку его до недавнего времени не было), а исключительно ради атмосферы и потакания прочим синдромам утёнка. Но если таки довести его геймплей (и баланс, без которого геймплей хренов) до ума, то будет ещё одна веская причина играть в него, и геймплейно эта игра будет даже на равных со скайримом.
-
Это очень важные скрипты которые заражают повторно если было вылечено, и dontsave чтоб кучу места в чейве не занимать.
Но ведь болезни прописаны изначально у всех заражённых, и если вылечить одного, то логично что он исцелится и будет прописан в сейве без болезней, в то время как все новые заспавненные копии этого существа будут по-прежнему с болезнями. Ведь так?
_________________________________
В игре есть куча заклинаний, которые по всем признакам должны были быть покупаемы ГГ, но их никто не продаёт.
Что если вместо сотни разбросанных по миру активаторов сделать 1 стартовый глобальный скрипт, который разом добавит все недостающие спеллы указанным торговцам?
Если применять AddSpell, то придутся хотябы раз загрузиться в локации с торговцем чтобы скрипт отработал своё. Но что если применить аналогичную МВСЕ-команду?
begin newspells
long pcRef
short done
if (done == 1)
Stopscript "newspells"
return
endif
Setx pcRef to xGetRef "Marayn Dren"
pcRef->xAddSpell "frost bolt" 1
set done to 1
Stopscript "newspells"
End
Такое будет работать? Описание команды на вики крайне скудное. Запустится 1 раз при старте новой игры, раздаст спеллы и всё. Останутся ли эти спеллы у учителей в сохраении?
____________
Хотя погодите, с простым AddSpell это ж будет тоже глобальный скрипт, так что и ограничения на присутствие в одной ячейке не будет?
-
Вдруг найдётся ещё один человек кроме меня, который, поиграв с нормальным ребалансом, уже не захочет возвращаться к убожеству оригинала? И как ему быть, если в МФР использован баланс оригинала (то есть его полное отсутствие)? Тут-то и пригодятся таблицы с объектами из МФР.
-
Так проставь реалистичные коэфы)
Цены складываются из трёх коэфов - база для типа шмотки, множитель материала и множитель зачарования. Сейчас установлен экспоненциальный рост цен при приближении к наилучшим образам - как в реальной экономике.
-
Ты вообще понял, что это не ребаланс, а таблица с чистыми значениями из МФР?
Вопросы по TES Construction Set
в TES III: TES Construction Set
Опубликовано