Wake of Gods Forum | Форум Во Имя Богов

Full Version: Вопросы по моддингу
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Как-то так - изменить деф двуклеточного объекта в координатах 13/13/0 (правая клетка) на болотную нору.
С активными одноклеточными и двуклеточными работает нормально, с трехклеточным гарнизоном приемлемо (у неактивных клеток отваливается табличка с населенностью гарнизона), а у неактивных и многоклеточных потом на дополнительных клетках повисает ПКМ-подсказка "Артефакт".
То есть, можно для тех же консерв запилить разрушенные версии, например?
(17.07.2014 15:47)orzie Wrote: [ -> ]То есть, можно для тех же консерв запилить разрушенные версии, например?
идея с консервами пустыми мне нравится.. беру 20 поддерживаю двумя руками
Дак дисайплы, чо.
(17.07.2014 20:32)orzie Wrote: [ -> ]Дак дисайплы, чо.
я не играл в их мрачный мир
Вопрос: как принудительно сделать, чтобы стартовый герой всегда был с 1 уровня?

Причина: Сочетание мода XXL и усиленного шаблона 8XM8 для генератора карт с AI Value до 79000 при генерации карты самого большого размера 252*252 приводит:
1) либо к вылету при созданию карты;
2) либо созданию карты с включённой опцией "Легендарные герои" и выбором самому себе случайного героя - он будет 1го уровня, как и у всех компов, тоже легендарный!
3) либо созданию карты с включённой опцией "Легендарные герои" и выбору самому себе нужного героя - он будет 20-30го уровня, у компов легендарные 1го уровня.

Подскажите как же это победить - зависимость начинки/сложности карты и стартового уровня героя?
Баг происходит только при XXL моде. Без него можно играть с усиленным шаблоном 8XM8 для генератора карт с AI Value до 79000 и выбирать любого героя - он будет 1 уровня.
Использование встроенного в XXL мод шаблона в зависимости от его максимального AI Value монстров может выдавать героев 1го уровня, но не всегда, да и толку от огромной карты, когда на ней максимум 10-19 существ 6 уровня на сложности 200% с "сильными" монстрами.

Версия: SoD + Era 2.4.6.1 + Era 2.46 Rus + ERA scripts Rus 1.11 + HD 4.7.16. (с двумя их фиксами) + XXL

Начинаю догадываться, что проблема в огромном количестве тюрем на карте, и при просмотре в редакторе в них уже заданы герои. Наверняка есть все. Также известно, что в HotA этот баг с возможным размещением героя в тюрьме исправили ("Исправлен баг генератора случайных карт с выбором в качестве героя для тюрьмы одного из выбранных стартовых героев игроков.")
Как это исправление включить в ERA?

Или хотя бы узнать AI Value у тюрьмы, чтобы исключить её с карты (из диапазона в rmg.txt) - может поможет, хотя и вряд ли, ведь в тюрьмах герои разных уровней.
Повторять один и тот же вопрос в нескольких темах - признак дурного тона. Ну и по поводу ценности тюрем (которая никакая не AI).
Berserker

Soul eater's "Animate Dead" spell just for 1-5Lvl undead.
How to get rid of the restriction so it could animate 6-7Lvl undead?
(12.09.2014 06:31)Hawaiing Wrote: [ -> ]Soul eater's "Animate Dead" spell just for 1-5Lvl undead.
How to get rid of the restriction so it could animate 6-7Lvl undead?

Code:
int NPC::CalcSkill(int ind)
{
  #include "templ.h"
  int i,fl,val,spec=0;
  val=Primary[ind];
  if(Skills[ind]>0){
//    if((ind==0)&&(Type==4)) spec=1; // AT & Necro
//    if((ind==1)&&(Type==8)) spec=1; // DF & Conflux
//    if((ind==3)&&(Type==5)) spec=1; // DM & Dungeon
//    if((ind==5)&&(Type==6)) spec=1; // SP & Stronhold
    if((ind==2)||(ind==3)){
      if(spec){
        [b]val+=val*SpecBonus[ind][Skills[ind]-1]/100;[/b]
      }else{
        val+=val*Bonus[ind][Skills[ind]-1]/100;
      }
    }else{
      if(spec){
        val+=SpecBonus[ind][Skills[ind]-1];
      }else{
        val+=Bonus[ind][Skills[ind]-1];
      }
    }
  }
  for(i=fl=0;i<10;i++){
    if(Arts[i][ARTNUMINDEX]==(NPCARTBASE+9)){ // суперкольцо
      if(fl==1) continue;
      if(Skills[ind]<=2){
        if((ind==2)||(ind==3)) val+=val*Bonus[ind][1]/100;
        else  val+=Bonus[ind][1];
      }
      fl=1;
      continue;
    }
    if((ind==2)||(ind==3)){
      val+=val*ArtCalcSkill(i,ind)/100;
    }else{
      val+=ArtCalcSkill(i,ind);
    }
  }
  RETURN(val)
}
Perhaps this one or someone below in npc.cpp. Sorry, I have little time for disassemling currently.
(13.09.2014 00:13)Berserker Wrote: [ -> ]...
Perhaps this one or someone below in npc.cpp. Sorry, I have little time for disassemling currently.

Thank you Berserker.
I think i was misled by the command's skill description.
I found that the culture' level had no relation to it.but the HP did (MAX=50hp)
But it seems hard to modify.
----------------------------------------------------------------------------
005A87AD - e8 ab eb 1b 00 - call 0076735d #IsAngel? 150
005A87B2 - 90 - nop
005A87B3 - 83 f8 0d - cmp eax,0d #13=Angel
005A87B6 - 8d 34 b6 - lea esi,[esi+esi*4] #
005A87B9 - 8d 34 b6 - lea esi,[esi+esi*4] # 5*5=25
005A87BC - 75 05 - jne 005a87c3
005A87BE - c1 e6 02 - shl esi,02 #angel 25*4=100HP
005A87C1 - eb 4f - jmp 005a8812
005A87C3 - d1 e6 - shl esi,1 #not angel 25*2=50HP --->comes here
005A87C5 - eb 4b - jmp 005a8812

Russia Punk

   Я вот скачал мод и хочу сделать для него русик . Какие нужны программы и как примерно делать . Я англ яз знаю неплоха , так что скажите пожалуйста
Russia Punk, почитайте вот такой мануал по моддингу...
Hawaiing, sorry, what exactly do you want to change? You mean that necro commander resurrects only 50 hp as regular angel? The code is the same for both? Here we have to write a plugin. Currently Era has no support for hooks with ERM handlers, but the idea was already thought and planned.

Russia Punk

Bes, Как бы я прочитал мануал . А текстовиков нету . Там тока файл . Формата pac .
Russia Punk, плохо прочли...
pac - это и есть архив с ресурсами, который можно открыть прогой MMArchive, например... ссылка на неё в мануале есть
Reference URL's