Artemidius, мало данных.
Непонятно: для всех героев должно действовать или для конкретного.
Непонятно: уровень всё же должен повышаться или должен оставаться прежним.
Если для всех героев уровень не должен повышаться, то проще в конце боя выставлять конкретный уровень опыта.
Вот пример с постоянным обнулением опыта в конце боя для всех героев:
Почему... Написал "при повышении уровня". Нужно сделать так, чтобы статы оставались прежними. Тут больше вопрос в интерфейсе, чтобы окно переделать, если это возможно.
Is there a way to check if the current map has embedded scripts?
Since ERA 3.9.15, scripts are enabled globally regardless of UN:P5 status. I feel it necessary to inform players that the current ERA is not compatible with their maps they play.
UN:P5 should still worked. It worked in my simple tests. Probably it's fixed in 3.9.16, which is not released soon. I'll send test dll to you as soon as possible.
Is it possible to pop a register in erm?
You could try modifying ESP register in context manually, but it may be a bad idea, check in debugger.
Is there a way to show a IF:L message with a custom duration on the screen? For example, by default IF:L shows a msg on the screen for 20 seconds, but for some msg, I only want 5 seconds.
Archer30, I don't know ready to use API. Seems something in redraw cycle should be changed.
_ScreenLogStruct_.Items (first field) is pointer to array of _ScreenLogStructItem_, the first one starts from _ScreenLogStruct_.FirstItemShift index. It's a circular buffer.
_ScreenLogStructItem_ has field ShowTime (int32, time in milliseconds, when item was shown the first time.
There is also global ScreenLogStruct variable in IDA Pro. Probably you can use IF:L + locate the last item in circular buffer and adjust it's show time (timeGetTime() - 10000).
Well, it's complicated. I think I am about to give up and use another implementation for my mod, without using IF:L.
The function for showing a chat msg is @0x553C40. I believe it sets time stamps for each msg. I only need to tweak the time stamp for the message I need to make it disappear sooner. But the function structure here is rather confusing.
Archer30, afair, those timings work only in network games, but need rechecking.
Из Хелпа, команда !!BU:R:
Quote:К сожалению, данная команда не обновляет сетку перемещения активного стека. Однако это можно сделать, используя возможности ERA:
; Обновить тень возможного перемещения после изменения скорости стека
!!UN:C6919200/4/?y2; [Менеджер битвы]
!!SN:E4797616/2/y2/0/1; [обновить сетку поля боя]
!!BU:R;
К сожалению, мне так и не удалось использовать этот код для возобновления тени перемещения.
Возможно, я что-то делаю не так, возможно, код не рабочий.
Подскажите, плиз, как можно возобновить пропавшую тень перемещения.
Уточнение: тень пропадает после отмены каста героя
Berserker, увы...
А можно ли ещё как-то отменить действие?
Походу, именно команда !!BG:A0; влияет на исчезновение тени перемещения.
Любые другие - !!BG:A3 (стать в защиту) или !!BG:A8 (ждать) - не имеют таких последствий, но при первом варианте активный стек теряет ход, а второй также не всегда желателен.