|
|
Bersy
Honorable
Supreme Hero
|
posted April 30, 2020 08:18 PM |
|
|
struct _Hero_{
Word x; // +00 dw = x position
Word y; // +02 dw = y position
Word l; // +04 dw = ? level senior y (y< < 2> > C)
Byte Visible; // +06 db = 1-present on the map (inside the city or inactive)
// Byte _u1[17];
// +07 db-x
// +08 db - (?) garbage (to x)
// +09 db-y
// +0A db-l (?) garbage (to y)
Dword PlMapItem; // MixedPos
// +0B db - (?) l
Byte _u1;
// +0C dd - type of object where the hero stood
long PlOType; // dd +1E from the map
// +10 db-bit busy in surface flags 00001000
// this is the bit indicating that there is/was an entry point (yellow cell)
Dword Pl0Cflag;
// +14 dd-SetUp from the card
Dword PlSetUp; / / dd +0 from the map
Word SpPoints; // +18 dw = spell points
int Number; // +1A dd = subtype number (specific hero)
Dword Id; / / +1E dd = Id
char Owner; // +22 db = owner (color)
char Name[13]; //* +23 db*D = name, 0
long Spec; // +30 dd = str[8] str=(*[67CD08])[subtype number *5C]
Byte Pic; //* +34 db = image number
// dw +35 ???
// dw +41 ???
/ / db +43 0
Byte _u2[15];
// +3E db -??? 4E3BB5 - used in luck calculation
Byte x0; / / +44 db = base x for traversing (FF - unlimited)
Byte y0; / / +45 db = base y for traversing (FF - unlimited)
Byte Run; // +46 db = circumference radius (FF-unlimited)
Byte _u3; // +47 db = ???
Byte Flags; // +48 8* bb (463253)
/ / 01-type of unit grouping
/ / 02-allowed tactics for the hero
int Movement0;// +49 dd = full initial movement
int Movement; //* +4D dd = remaining moves
Dword Exp; //* +51 dd = experience
Word ExpLevel; //* +55 dw = level
// Dword VStones; // +57 32 stone (1-visited, 2-not)
// Dword VMTower; / / +5B mardetto Tower
// Dword VGarden; / / +5F garden of revelation
/ / Dword VMCamp; / / + 63 mercenary camp
// Dword VSAxis; / / +67 star wheel
// Dword VKTree; // +6B knowledge tree
// Dword VUniver; // +6F University
// Dword VArena; // +73 arena
// Dword VSMagic; // +77 school of magicians
// Dword VSWar; / / +7B school of war
Dword Visited[10];
Byte _u4[18]; // +7F
int Ct[7]; / / +91 dd*7 = creature type (-1-none)
int Cn[7]; / / +AD dd*7 = quantity
Byte SSkill[28];// +C9 db*1C = level of 2 skills (one byte is the level of this skill number 1,2,3) 0-no
// C9=Pathfinding CA=Archery CB=Logistics CC=Scouting CD=Diplomacy CE=Navigation CF=Leadership
// D0=Wisdom D1=Mysticism D2=Luck D3=Ballistics D4=Eagle Eye D5=Necromancy D6=Estates D7=Fire Magic
// D8=Air Magic D9=Water Magic DA=Earth Magic DB=Scholar DC=Tactics DD=Artillery DE=Learning DF=Offense
// E0=Armorer E1=Intelligence E2=Sorcery E3=Resistance E4=First Aid
Byte SShow[28]; / / +E5 db*1C = order of displaying 2 skills in the hero window (1,2,3,4,5,6)
Dword SSNum; / / +101 dd = number of 2 skills
/ / Word RefData1; // +105 4814D3+...
/ / Word RefData2; // +107 4DA466
Dword TempMod; // +105 temporary modifiers
/ / beginning of inits. when hiring 0xFFF9FFFF
// 00000002 = stable 3.59 ERM
// 00000008 = Swan lake swan pond 3.59 ERM
// 00000020 = (???) fountain of fortune 3.59 ERM
// 00000080 = oasis
// 00002000 = fairy house
// 00040000 = in a boat on the water
/ / 00200000 = - 3morale in varior tomb
// 00400000 = Give Maximum Luck
// 00800000 = Give Maximum Moral
// 38000000 = specific type of luck fountain
Byte _u6[9]; // +109
Dword _u7; // +112
char DMorale; // +116 morale modifiers (accumulate)
Byte _u60[3];
DMorale1 char; // +11A modification of morality (oasis)
char DLuck; / / +11B modif luck to the trail of battle
Byte _u6a[17];
int IArt[19][2]; //+12D dd*2*13h = articles dd-number, dd-(FF) (book 3, FF)
Byte FreeAddSlots; //+1C5 number of empty extra slots on the left
char LockedSlot[14]; //+1C6
int OArt[64][2]; //+1D4 dd*2*40 = art in the backpack dd-number, dd-(FF)
Byte OANum; / / +3D4 db = number of artifacts in the backpack
Dword Sex; // +3D5 dd = gender
Byte fl_B; // +3D9 db = there is a biography
// char *Bibl; // +3DA dd - > biography
/ / Byte _u7[12]; / / +3DE
Dword _5b; / / +3DA
_AMes_ Bibl; // +3DE
Byte Spell[70]; / / +3EA db*46 = spell (Yes/no)
Byte LSpell[70];// +430 db*46 = spell level (>=1)
char Pskov[4]; / / +476 db*4 = primary skills
Byte _u8[24];
};
____________
Heroes 3 Era and everything for it. Releases folder for releases.
|
|
xericsin
Famous Hero
|
posted May 01, 2020 07:07 PM |
|
|
|
Hero_of_Light
Responsible
Supreme Hero
|
posted May 05, 2020 12:57 AM |
|
|
Can someone remind me the function of the Bank map object? Which WOG option triggers it and what does it do exactly?
____________
Not idly do the leaves of Lorien fall.
|
|
Salamandre
Admirable
Omnipresent Hero
Wog refugee
|
posted May 05, 2020 06:38 AM |
|
|
in Erm help, check "Other objects" top right, then scroll until CB
|
|
Hero_of_Light
Responsible
Supreme Hero
|
posted May 05, 2020 10:09 AM |
|
|
I didnt mean creature banks, I meant the actual bank, zobject41 which supposedly is scripted with erm script 05 but I cant find a WoG option that corresponds to that.
____________
Not idly do the leaves of Lorien fall.
|
|
bloodsucker
Legendary Hero
|
posted May 05, 2020 10:19 AM |
|
|
Salamandre said: in Erm help, check "Other objects" top right, then scroll until CB
I've not been paying attention to ERM for a couple of years now but... Can anyone show me a script where the CB is used correctly?
From what I recall that command is bugged. Or at least, neither I or you (Sal) ever managed to make it work when I tried to create some custom creature banks.
____________
|
|
Salamandre
Admirable
Omnipresent Hero
Wog refugee
|
posted May 05, 2020 11:40 AM |
|
|
Is not bugged, you can change creatures numbers, ID, script which artifacts or rewards will be given and so on. Everything works, used it extensively in tew4.
|
|
bloodsucker
Legendary Hero
|
posted May 05, 2020 12:04 PM |
|
|
But for objects that were already creature banks, right? What I mean is you can't turn another object into a creature bank by using the !!CB receiver.
____________
|
|
Salamandre
Admirable
Omnipresent Hero
Wog refugee
|
posted May 05, 2020 12:10 PM |
|
|
No, first you change its type/subtype so it fits a creature bank requirements then you use the CB receiver.
|
|
bloodsucker
Legendary Hero
|
posted May 05, 2020 12:16 PM |
|
|
Thx, sorry to stick my nose into your discussion.
____________
|
|
xericsin
Famous Hero
|
posted May 08, 2020 06:39 AM |
|
Edited by xericsin at 06:41, 08 May 2020.
|
crash
Crash message: "TServiceMemAllocator.AllocPage failed. No space in buffer"
Unknown exception.
EIP: Kernelbase.1135D2. Code: EEDFADE
> Registers
EAX: 02B363C0 (int: 45310912, pint: 0x0EEDFADE = 250477278)
ECX: 00000007 (int: 7)
EDC: 00000000 (int: 0)
EBX: Era.3236E (AdvErm.TServiceMemAllocator.AllocPage + 38 in AdvErm.pas on line 206) (int: 88875886, pint: 0x448D038B = 1150092171)
ESP: 02B363C0 (int: 45310912, pint: 0x0EEDFADE = 250477278)
EBP: 02B36418 (int: 45311000, pint: 0x02B3649C = 45311132)
ESI: Era.323C4 (AdvErm.TServiceMemAllocator.AllocPage + 124 in AdvErm.pas on line 206 offset 76) (int: 88875972, pint: 0x72655354 = 1919243092, str: "TServiceMemAllocator.AllocPage f")
EDI: Era.32384 (AdvErm.TServiceMemAllocator.AllocPage + 60 in AdvErm.pas on line 206 offset 12) (int: 88875908, pint: 0x535C3A44 = 1398553156, str: "D:SoftProgrammingDelphisourc")
Code Fragment:
!!SN:W^X_HellHorse_Path_0^/?y6;
!!IF:M^y6=%Y6, y5=%Y5/y17=v%Y5=%Y17^; <<<< values are correct
!!re y16/0/y17:;
!!VRy1:Sy16+y5;
!!SN:W^X_HellHorse_Path_%Y16^/vy1;
!!SN:W^X_HellHorse_Path_%Y16^/?y6;
!!IF:M^%Y6^; <<<<<<<<<<<<<<<<<<<<<<<<<<<<< message not shown
!!en:;
Is SN:W not allowed in re?
Edit:
Looks like !!SN:W^X_HellHorse_Path_%Y16^/vy1; not allowed
|
|
Bersy
Honorable
Supreme Hero
|
posted May 08, 2020 02:27 PM |
|
|
|
planetavril
Famous Hero
|
posted May 09, 2020 09:07 AM |
|
|
how to add creature banks?
i tried but there are 5 rows of pikeman from 0 units
|
|
majaczek
Supreme Hero
Work at Magic Dimmension
|
posted May 09, 2020 10:46 AM |
|
|
planetavril said: how to add creature banks?
i tried but there are 5 rows of pikeman from 0 units
try !!CB reciever
|
|
xericsin
Famous Hero
|
posted May 10, 2020 04:36 PM |
|
|
Hi, I need a way to read and write to txt/ini, and save it for future games.
The era writetoini function is not working.
Can someone help please?
|
|
AdamK80
Tavern Dweller
|
posted May 10, 2020 07:25 PM |
|
|
HI all,
i've downloaded the the gaming package 1.3 and install on Heroes 3 Complete GoG and have a lot of error messgae and game chras when i try to play Chaser ere verion...:/
Where can i download the ERA 2.46? that was the last stable version when i try to play some great era maps
Thanks
Adam
____________
|
|
Salamandre
Admirable
Omnipresent Hero
Wog refugee
|
posted May 10, 2020 08:02 PM |
|
|
Hi Adam, try 2.8.8?
https://yadi.sk/d/Bhg4CGTf3PXi3k/Releases
Also I have 2.7.4 here
https://drive.google.com/open?id=1AE9PtS-5SMAZODUMhejDnKMfadZOTW40
|
|
ARAD
Tavern Dweller
|
posted May 11, 2020 10:35 AM |
|
|
HI i have a problem shows up to me this
https://imgur.com/a/46oy6TS and next this Game crashed. All debug information is inside Debug/Era subfolder.
How to fix this?
____________
|
|
RerryR
Promising
Supreme Hero
Researching Magic
|
posted May 11, 2020 10:47 AM |
|
|
In short:
How to properly report a bug.
When a crash happens ERA will create several log files with all necessary information, including your loaded mods and game version. You can also generate that log during your game by pressing F11. You can locate that folder in your Heroes 3 main folder under "Debug". Please send zipped "Debug" folder. Also, put your save game and maybe even the map you played in that folder. This will provide all the necessary information to catch the bug.
Sending the HD-Crash log is not very helpful.
|
|
Bersy
Honorable
Supreme Hero
|
posted May 12, 2020 12:20 AM |
|
|
Quote: Hi, I need a way to read and write to txt/ini, and save it for future games.
The era writetoini function is not working.
Can someone help please?
RM UN:N5 should work fine. Just be sure to place ini file under real path outside of Mods directory, like real "Data" directory.
____________
Heroes 3 Era and everything for it. Releases folder for releases.
|
|
|