10.01.2022, 15:21
18.04.2022, 14:02
Дать/Забрать любое заклинание герою от любого артефакта
30.05.2022, 07:05
Чтение текста из txt таблиц
Reading text from txt tables
;как оказалось, я лишь сделал аналог вот этого
Reading text from txt tables
;как оказалось, я лишь сделал аналог вот этого

29.07.2022, 01:56
(07.12.2017 21:52)igrik Wrote: [ -> ]Командиры / Commanders:
Изменяем/получаем значения бонусов от навыков Командира:
Базовая таблица (Click to View)
Базовая таблица (Click to View)
Code:
int NPC::Bonus[7][5]={
{2,5,9,15,25}, // +AT
{4,10,18,30,50}, // +DF
{10,25,45,70,100}, // +HP%
{10,25,45,70,100}, // +DM%
{1,3,6,14,29}, // +MP
{1,2,3,4,6}, // +SP
{5,15,35,60,90} // +MR%
};
Изменяем/получаем базовые параметры Командиров
Это не массив, но внимательные уже заметили, что со смещением в 10 байт мы можем работать со значениями с помощью цикла
23.08.2022, 22:11
(15.05.2020 23:25)igrik Wrote: [ -> ]Города: постройки и их цены:
Возможность получить и Установить стоимость зданий
04.11.2022, 18:33
Текст: Работаем с геройскими txt:
Имеем геройскую строку в стандарте языка "C", которую можно извлечь из игры:
Но нам надо подставить свои значения, не используя посимвольный парсинг строки))
вместо буфера можно использовать адрес любой статической текстовой переменной или же геройский буфер по адресу 6911016
например: Выдаст:
"Berserker currently has 0 spell points out of a maximum of 0"
Необязательно подставлять все значения, но их тип обязательно должен совпадать -- %s - текст, %d - число (если поставить текст, то выдаст его адрес)
также необязательно использовать геройский буфер -- способ с переменной со статическим адресом: Выдаст:
"daemon_n currently has 666 spell points out of a maximum of 666"
Имеем геройскую строку в стандарте языка "C", которую можно извлечь из игры:
Code:
"%s currently has %d spell points out of a maximum of %d"
вместо буфера можно использовать адрес любой статической текстовой переменной или же геройский буфер по адресу 6911016
например: Выдаст:
"Berserker currently has 0 spell points out of a maximum of 0"
Необязательно подставлять все значения, но их тип обязательно должен совпадать -- %s - текст, %d - число (если поставить текст, то выдаст его адрес)
также необязательно использовать геройский буфер -- способ с переменной со статическим адресом: Выдаст:
"daemon_n currently has 666 spell points out of a maximum of 666"
02.01.2023, 23:25
(18.08.2021 14:25)Berserker Wrote: [ -> ]Изменение колдовской силы героев в бою:
02.05.2023, 11:46
ОТКРЫТИЕ ОКНА ГЕРОЯ:
25.06.2023, 08:59
Текст: Считаем количество строк нашего текста в определённой ширине:
Text: Count the number of lines of our text in a certain width:
Вызываем внутриигровую ф-цию, которая определяет, сколько строк займёт указанный текст в указанной ширине и с указанным шрифтом.
Последним аргументом передаётся указатель на вектор, в который ф-ция и сохраняет массив строк.
Очень важно отправить чистые 16 байтов (определяется как чистый вектор строк), поэтому чистим первые 16 байтов z-2 переменной, адрес которой и передаём в главную ф-цию. Хотя ранее я чистил все 512, по привычке.
После выполнения ф-ции получаем вектор из строк - не думаю, что много кому нужен, но для получения кол-ва строк вычитаем адрес первого элемента из адреса конца и делим на 16 (размер объекта класса строки).
We call an in-game function that determines how many lines the specified text will take up in the specified width and font.
The last argument is a pointer to a vector, where this function saves an array of strings.
It's very important to send clean 16 bytes (defined as a clean vector of strings), so we clean the first 16 bytes of the z-2 variable, the address of which is passed to the main f-function. Although I used to clear all 512, out of habit.
After f-function execution we get a vector of strings - I don't think anyone needs it much, but to get the number of strings we subtract the first address from the end address and divide by 16 (the size of the string class object).
Text: Count the number of lines of our text in a certain width:
Вызываем внутриигровую ф-цию, которая определяет, сколько строк займёт указанный текст в указанной ширине и с указанным шрифтом.
Последним аргументом передаётся указатель на вектор, в который ф-ция и сохраняет массив строк.
Очень важно отправить чистые 16 байтов (определяется как чистый вектор строк), поэтому чистим первые 16 байтов z-2 переменной, адрес которой и передаём в главную ф-цию. Хотя ранее я чистил все 512, по привычке.
После выполнения ф-ции получаем вектор из строк - не думаю, что много кому нужен, но для получения кол-ва строк вычитаем адрес первого элемента из адреса конца и делим на 16 (размер объекта класса строки).
We call an in-game function that determines how many lines the specified text will take up in the specified width and font.
The last argument is a pointer to a vector, where this function saves an array of strings.
It's very important to send clean 16 bytes (defined as a clean vector of strings), so we clean the first 16 bytes of the z-2 variable, the address of which is passed to the main f-function. Although I used to clear all 512, out of habit.
After f-function execution we get a vector of strings - I don't think anyone needs it much, but to get the number of strings we subtract the first address from the end address and divide by 16 (the size of the string class object).
23.08.2023, 08:51
Карта Приключений: Меняем внешний вид монстров:
Adventure Map: Changing Monster Map View
Adventure Map: Changing Monster Map View
06.03.2024, 11:07
Установить конкретному герою персональный обзор:
@by daemon_n
Нужно учесть, что при нулевом обзоре герой не сможет исследовать новые территории, но игрок клавишами со стрелками всё же может двигать этого героя "во тьму" )))
@by daemon_n
Нужно учесть, что при нулевом обзоре герой не сможет исследовать новые территории, но игрок клавишами со стрелками всё же может двигать этого героя "во тьму" )))
26.03.2024, 22:59
Изменение кол-ва информации в окне гильдии воров
Из недр df2 (не в темах из шапки), feanor постил давным-давно.
Из недр df2 (не в темах из шапки), feanor постил давным-давно.
Пример скрипта (Click to View)
Братство меча вместо старого бонуса теперь дает информацию как внешние гильдии воров.
31.03.2024, 07:57
Карта Приключений: Актуализируем данные для подсказок для квестов/заданий:
Adventure Map: Update tips/hints/pictures for quests/seer huts/guards
Adventure Map: Update tips/hints/pictures for quests/seer huts/guards
23.06.2024, 14:39
ОБНОВЛЕНИЕ КУРСОРА В БИТВЕ:
Пример скрипта - альтернативное действие в бою (переключение на атаку у стрелков):
Учтите, в сетевой игре можно переключать режим атаки у отряда оппонента!
Пример скрипта - альтернативное действие в бою (переключение на атаку у стрелков):
Spoiler (Click to View)
Учтите, в сетевой игре можно переключать режим атаки у отряда оппонента!