Current time: 25.10.2020, 10:01 Hello There, Guest! (LoginRegister)
Language: english | russian  

Post Reply 
Threaded Mode | Linear Mode
Вопросы по моддингу
» (обсуждаем моддинг здесь)
Author Message
orzie Offline

Posts: 361
Post: #256

Дак дисайплы, чо.
17.07.2014 20:32
Visit this user's website Find all posts by this user Quote this message in a reply
Bes Offline

Posts: 4406
Post: #257

(17.07.2014 20:32)orzie Wrote:  Дак дисайплы, чо.
я не играл в их мрачный мир



Image: 237506073ac7.gif
18.07.2014 06:18
Visit this user's website Find all posts by this user Quote this message in a reply
9in Offline

Posts: 9
Post: #258

Вопрос: как принудительно сделать, чтобы стартовый герой всегда был с 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) - может поможет, хотя и вряд ли, ведь в тюрьмах герои разных уровней.
(This post was last modified: 03.09.2014 21:55 by 9in.)
03.09.2014 18:49
Find all posts by this user Quote this message in a reply
gamecreator Offline
Administrators

Posts: 7146
Post: #259

Повторять один и тот же вопрос в нескольких темах - признак дурного тона. Ну и по поводу ценности тюрем (которая никакая не AI).


When all gods have burnt to ashes in eternity of sorrow,
Demons gonna tear your soul because there is no tomorrow.
04.09.2014 13:12
Find all posts by this user Quote this message in a reply
Hawaiing Offline

Posts: 8
Post: #260

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?


broken english
12.09.2014 06:31
Find all posts by this user Quote this message in a reply
Berserker Offline
Administrators

Posts: 13368
Post: #261

(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.


Скачать Герои 3 Эра и всё, что с ней связано / ERA 2.46f для старых модов
Поддержать проект
13.09.2014 00:13
Find all posts by this user Quote this message in a reply
Hawaiing Offline

Posts: 8
Post: #262

(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


broken english
13.09.2014 09:45
Find all posts by this user Quote this message in a reply
Russia Punk

 
Post: #263

   Я вот скачал мод и хочу сделать для него русик . Какие нужны программы и как примерно делать . Я англ яз знаю неплоха , так что скажите пожалуйста
13.09.2014 10:54
Quote this message in a reply
Bes Offline

Posts: 4406
Post: #264

Russia Punk, почитайте вот такой мануал по моддингу...



Image: 237506073ac7.gif
13.09.2014 11:07
Visit this user's website Find all posts by this user Quote this message in a reply
Berserker Offline
Administrators

Posts: 13368
Post: #265

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.


Скачать Герои 3 Эра и всё, что с ней связано / ERA 2.46f для старых модов
Поддержать проект
13.09.2014 23:17
Find all posts by this user Quote this message in a reply
Russia Punk

 
Post: #266

Bes, Как бы я прочитал мануал . А текстовиков нету . Там тока файл . Формата pac .
14.09.2014 11:50
Quote this message in a reply
Bes Offline

Posts: 4406
Post: #267

Russia Punk, плохо прочли...
pac - это и есть архив с ресурсами, который можно открыть прогой MMArchive, например... ссылка на неё в мануале есть



Image: 237506073ac7.gif
14.09.2014 12:12
Visit this user's website Find all posts by this user Quote this message in a reply
Hawaiing Offline

Posts: 8
Post: #268

Berserker,
necro commander can't resurrect creatures which have more than 50 hit Points.(Black Knight ect.)
Not because of the commander's power.
Putting mouse on undead creature (HP>50),the animated spellbook doesn't appear,and commander can't cast the spell too.
If cast spell works (HP<=50),the game change the commander's spell power soon.
Sorry for my broken english.


broken english
15.09.2014 07:26
Find all posts by this user Quote this message in a reply
Russia Punk

 
Post: #269

   Это я открыл а текстовики найти не могу
15.09.2014 22:23
Quote this message in a reply
Berserker Offline
Administrators

Posts: 13368
Post: #270

(15.09.2014 07:26)Hawaiing Wrote:  Berserker, necro commander can't resurrect creatures which have more than 50 hit Points.(Black Knight ect.)
Not because of the commander's power.
Putting mouse on undead creature (HP>50),the animated spellbook doesn't appear,and commander can't cast the spell too.
If cast spell works (HP<=50),the game change the commander's spell power soon.

Hawaiing, why don't you create a simple bin patch like:

/*5A87BC*/ MOV ESI,[DWORD EAX*4+887668]
/*5A87C3*/ NOP
/*5A87C4*/ NOP

where 0x887668 is v1 address. You can reserve some v-vars range, say, v5000-v5144 and with simple patch set ESI to EAX (monster ID) * 4 + @v5000.
I can do it if you wish. Otherwise someone has to write a simple plugin ) If you insist on plugin creation, I will try to do it before this weekend.


Скачать Герои 3 Эра и всё, что с ней связано / ERA 2.46f для старых модов
Поддержать проект
15.09.2014 23:08
Find all posts by this user Quote this message in a reply
« Next Oldest | Next Newest »
Post Reply 


Forum Jump:

Powered by MyBB Copyright © 2002-2020 MyBB Group