fatsawhorse
Posts: 1022
|
Quote:1. Можно ли так записать !!BU&y4=156: .... и т. д. ?
2. Правильно ли записано это D160?y3 ?
1. Можно.
2. Нет. Должно быть D160/?y3
"Algor" спасибо Вам...
(This post was last modified: 26.10.2014 21:32 by fatsawhorse.)
|
|
26.10.2014 21:32 |
|
Shiva
Posts: 122
|
Как сделать пустой Erm артефакт со свойством 25%, 50% или 100% сопротивление магии.
|
|
27.10.2014 19:43 |
|
gamecreator
Posts: 7107
|
|
27.10.2014 20:22 |
|
Valery
Posts: 2196
|
Does anyone know how to change battlefield picture during battle, if battleground is regular?
I have the following issues:
1) If during battle I change background with BA:B^file.pcx^, from regular battleground, it does not work
2) If at battle start, battleground was set to custom, we can change battlegrounds as many as we want, any battle round.
I am confused.
(This post was last modified: 28.10.2014 10:50 by Valery.)
|
|
28.10.2014 10:47 |
|
gamecreator
Posts: 7107
|
This is because of how WoG battlefield changing works. It hooks into SoD battle code, and either just calls default function (if you do BA:B-1) or chooses from several standard and one custom positions. Because there is only one custom position, every new custom battlefield is set into the same variable, so changes are applied instantly. BTW this way the battlefiend name can't be longer than 255 characters.
To make this work, you have to emulate battle code: either call WoG hook 0x761B8A (cdecl, no args) to obtain the standard memory address after BA:B or allocate Era string instead and get its memory address, then assign this memory address to [[0x699420]+0x13464].
I believe it would look like this:
When all gods have burnt to ashes in eternity of sorrow,
Demons gonna tear your soul because there is no tomorrow.
|
|
28.10.2014 14:31 |
|
Valery
Posts: 2196
|
Thanks you very much, you solved a big issue.
I created a topic in english forums about the mod I am currently working on, as it raised some unexpected issues.
|
|
28.10.2014 16:34 |
|
Berserker
Posts: 16657
|
|
28.10.2014 19:53 |
|
gamecreator
Posts: 7107
|
|
28.10.2014 20:08 |
|
Valery
Posts: 2196
|
Looks like a special check/update is processed when:
-you open combat options (click on button is sufficient)
-select a spell in magic book (no need to cast)
-move/attack with creature (or maybe is triggered by next creature moving, hard to check, is going fast)
I tried all other buttons/actions, only those three options trigger battlefield redraw.
(This post was last modified: 28.10.2014 20:13 by Valery.)
|
|
28.10.2014 20:12 |
|
igrik
Posts: 2819
|
а если попробовать обновить окно боя через эту функцию
0x00493F10 void __thiscall CombatMan_Redraw(_CombatMan_ *a1, int a2, signed int item)
{ _CombatMan_ *v3; // ebx@1 signed int v4; // esi@3 int list; // [sp+8h] [bp-1Ch]@3 void *v6; // [sp+Ch] [bp-18h]@3 int v7; // [sp+10h] [bp-14h]@3 int v8; // [sp+14h] [bp-10h]@3 int v9; // [sp+20h] [bp-4h]@3
v3 = a1; if ( !gbProcessingCombatAction || item ) { LOBYTE(list) = BYTE3(item); v6 = 0; v7 = 0; v8 = 0; v4 = a2; v9 = 0; if ( a2 >= 0 && a2 < 187 && a2 % 17 && a2 % 17 != 16 ) { item = a2; AddItemToList(&list, 0, 1u, (void **)&item); } else { v4 = -1; } CombatMan_DrawCursorShadow((int)v3, v4, (int)&list, 0); delete(v6); } только вот как узнать необходимые параметры для выполнения функции
upd:
game bug fixes extended.dll || My Plugins || My GitHub
|
|
28.10.2014 21:34 |
|
gamecreator
Posts: 7107
|
|
28.10.2014 22:55 |
|
gamecreator
Posts: 7107
|
|
28.10.2014 23:09 |
|
igrik
Posts: 2819
|
|
28.10.2014 23:15 |
|
gamecreator
Posts: 7107
|
|
28.10.2014 23:24 |
|