...
You need to call this function (0x41DAB0) to teleport
hero to
packedXYZ:
- Код: Выделить всё
advManager::TeleportTo(this, hero, packedXYZ, akSpellTraits[SPL_DIMENSION_DOOR].wav_name, 0, 1, 0);
So, basically you hook the function which intercepts keystrokes, write simple interface for XYZ input, and, finally, call the above function. To make things even simpler, hook cheat-codes function and parse new cheat, e.g. nwcteleportmeto
0320451. You can shorten "teleportmeto" part though
Я работаю над этим уже месяц и не могу добиться никакого прогресса ...
- Код: Выделить всё
advManager::TeleportTo(this, hero, packedXYZ, akSpellTraits[SPL_DIMENSION_DOOR].wav_name, 0, 1, 0);
Где вы нашли эту функцию? Я просмотрел весь "HotA/homm3.h" и "H3API.hpp", но нигде не смог найти эту функцию.
So, basically you hook the function which intercepts keystrokes, write simple interface for XYZ input, and, finally, call the above function
Как мне это сделать? Я начал с того, что было дано в этом руководстве
viewtopic.php?f=56&t=518, но я не знаю, как проверить нажатие клавиш. Я хотел бы получить координаты от текущей позиции курсора. Можете ли вы дать мне начальный код, который я могу использовать для плагина? Извините, я стараюсь изо всех сил, но я не программист.
Другие функции, которые я хотел бы иметь, и мои вопросы о том, что мне нужно для них (очень долго терять, я извиняюсь)
1a) Удалить объект, на который указывает курсор - как получить позицию курсора, как удалить объект?
1b) Освободить героя из тюрьмы, в которой находится курсор
2a) Добавить / снять 1 очко заклинаний с текущего героя - где хранится количество очков заклинаний?
2b) Добавить 100 очков движения текущему герою - где хранятся очки движения?
3a) мгновенно выиграть битву, открыть всю карту - где найти оригинальные функции чит-кода?
4) позволить текущему городу построить второе здание за день - где хранится информация о том, что здание уже построено?
5) Покрыть всю карту туманом войны - это вообще возможно? Я хочу использовать это для сброса зрения после того, как город с дирижаблем уже был завоеван.
6) Наложить эффект Fly / Waterwalk на текущего героя, или создать городской портал - как вызываются эти функции?
7a) Изменить тип местности / дороги на плитке, на которой находится курсор - здесь лучше всего подойдет то, что вы предложили для "teleportmeto" - например, "changeterrain 20 20 0 dirt cobble".
7b) Наложить магическую местность на данную плитку, например, "terrain 20 20 0 cursedground".
7c) Можно ли изменить владение героем? Например, "changeheroownership 20 20 0 1(red)".
7d) Установить ресурсы игроков на заданную сумму - например, "resources gold 1(red) 10000".
С наилучшими пожеланиями
Переведено с помощью
www.DeepL.com/Translator (бесплатная версия)
-----------------------
...
You need to call this function (0x41DAB0) to teleport
hero to
packedXYZ:
- Код: Выделить всё
advManager::TeleportTo(this, hero, packedXYZ, akSpellTraits[SPL_DIMENSION_DOOR].wav_name, 0, 1, 0);
So, basically you hook the function which intercepts keystrokes, write simple interface for XYZ input, and, finally, call the above function. To make things even simpler, hook cheat-codes function and parse new cheat, e.g. nwcteleportmeto
0320451. You can shorten "teleportmeto" part though
I have worked on this on and off for a month and I cannot make any progress ...
- Код: Выделить всё
advManager::TeleportTo(this, hero, packedXYZ, akSpellTraits[SPL_DIMENSION_DOOR].wav_name, 0, 1, 0);
Where did you find this function? I looked through all of "HotA/homm3.h" and "H3API.hpp" but I could not find this function anywhere.
So, basically you hook the function which intercepts keystrokes, write simple interface for XYZ input, and, finally, call the above function
How do I do this? I started with what was given in this guide
viewtopic.php?f=56&t=518 but I do not know how to check for keyboard presses. I would like to get coordinates from current cursor position. Can you maybe give me a starting code framework that I can use for the plugin? Sorry, I am trying my best, but I am not a programmer.
Other functions I would like to have and my questions on what I need for them (extremely long lost, I apologize)
1a) Delete Object cursor is pointed to - how do I get cursor position, how do I delete an object?
1b) Free hero from prison where cursor is located
2a) Add / remove 1 spell point from current hero - where is the spell point amount stored?
2b) Add 100 movement points to current hero - where is movement points stored?
3a) instantly win battle, uncover whole map - where do I find the original cheat code functions?
4) allow current city to build a second building in a day - where is the information stored if a building has already been built?
5) Cover entire map in fog of war - is this even possible? I want to use this to reset vision after a city with Airship has already been conquered
6) Put Fly / Waterwalk effect on current hero, or cast town portal - how are these functions called?
7a) Change terrain / road type of tile where cursor is on - this one would be best as you suggested for "teleportmeto" -e.g. "changeterrain 20 20 0 dirt cobble"
7b) Put magical terrain on a given tile, e.g. "terrain 20 20 0 cursedground"
7c) Is it possible to change hero ownership? e.g. "changeheroownership 20 20 0 1(red)"
7d) Set players resources to given amount - e.g. "resources gold 1(red) 10000"
Best wishes