![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
![]() ![]()
Сообщение
#1
|
|
![]() laughed as one fey Сообщений: 12 167 Спасибо сказали: 20596 раз ![]() |
Плагин, добавляющий в чат несколько дополнительных команд и возможность исполнения ERM.
https://dl.dropboxusercontent.com/u/61759222/HoMM/chalk.era (v001) https://dl.dropbox.com/u/61759222/HoMM/chalk.rar (исходники) ![]() Команды:
Код #include <windows.h> #include <stdio.h> #include "..\..\include\era.h" #include "..\..\include\heroes.h" #include "..\..\include\patcher_x86_commented.hpp" void InitWoGSpecials() { if (*(int *)(*(int*)0x69CCFC + 4)!=-1) { HERO* currhero = (HERO*)GetHeroRecord(*(int *)(*(int*)0x69CCFC + 4)); *(int*)0x27F9970 = (int)currhero; ErmV[998] = currhero->x; ErmV[999] = currhero->y; ErmV[1000] = currhero->l; ErmF[1000]= !CALL_1(int, __thiscall, 0x4BAA60, *(int*)0x69CCFC); } } void PrintString(char* str) { char buf[1024]; sprintf(buf,"IF:L^{~green}%s{~}^;",str); ExecErmCmd(buf); /*sprintf(buf,"IF:L^%s^;",str); EventParams[1] = str*/ } void __stdcall OnChat(PEvent e) { if(EventParams[0] == 1) { EventParams[2] = 1; char *buf=(char*)malloc(32+strlen((const char*)EventParams[1])); sprintf(buf,"IF:L^{~%s}%s{~}^;\0","lime",EventParams[1]); ExecErmCmd(buf); free(buf); char str[256]; if(!stricmp((const char*)EventParams[1],"/showfps")) { *(int*)((*(int*)0x6992B8)+0x3C) = !*(int*)((*(int*)0x6992B8)+0x3C); PrintString("FPS switched off"); } if(!stricmp((const char*)EventParams[1],"/leveldebugger")) { *(int*)0x698A18 = !*(int*)0x698A18; PrintString(*(int*)0x698A18?"Level debugger switched on":"Level debugger switched off"); } if(!stricmp((const char*)EventParams[1],"/heroid")) { int id = *(int *)(*(int*)0x69CCFC + 4); if (id!=-1) { sprintf(str,"%s: id %i, struct at 0x%08X", ((HERO*)GetHeroRecord(id))->Name, id, GetHeroRecord(id) ); } else { strcpy(str,"Hero not selected"); } PrintString(str); } if(!strnicmp((const char*)EventParams[1],"/execerm",strlen("/execerm"))) { InitWoGSpecials(); ExecErmCmd((char*)(strlen("/execerm")+1+EventParams[1])); PrintString("Executed"); } if(!strnicmp((const char*)EventParams[1],"!!",strlen("!!"))) { InitWoGSpecials(); ExecErmCmd((char*)(strlen("!!")+EventParams[1])); PrintString("Executed"); } //ExecErmCmd(str); //MessageBoxA(0,(LPCSTR)(EventParams[1]),(LPCSTR)str,0); } } BOOL APIENTRY DllMain( HMODULE hModule, DWORD ul_reason_for_call, LPVOID lpReserved ) { if (ul_reason_for_call == DLL_PROCESS_ATTACH) { ConnectEra(); RegisterHandler(OnChat, "OnChat"); } return TRUE; } Сорцы и нормальная заливка будут позже. Спасибо сказали: |
|
|
![]()
Сообщение
#2
|
|
![]() Immortal Сообщений: 1 468 Спасибо сказали: 1153 раза ![]() |
Вспомнилось:
Код ZVSE
!?FU77003; !!SN:W^InChat^/?y1; !!SN&y1=1:Q; !?FU77014; !!SN:X?y1; !!if&y1=0:; !!SN:W^InChat^/1; !!en:; !!if&y1=1:; !!SN:X?y1/?z1/0; !!SN:L^Era.dll^/?y10 Ay10/^ExecErmCmd^/?y11 Ey11/0/z1; !!en:; !!if&y1=2:; !!SN:W^InChat^/0; !!en:; -------------------- |
|
|
![]()
Сообщение
#3
|
|
![]() laughed as one fey Сообщений: 12 167 Спасибо сказали: 20596 раз ![]() |
Упс. Ну ладно, у меня понтовее
![]() |
|
|
![]()
Сообщение
#4
|
|
![]() Immortal Сообщений: 1 468 Спасибо сказали: 1153 раза ![]() |
Кстати, а почему бы точку с запятой автоматом не добавлять?
-------------------- |
|
|
![]()
Сообщение
#5
|
|
![]() laughed as one fey Сообщений: 12 167 Спасибо сказали: 20596 раз ![]() |
Цитата Кстати, а почему бы точку с запятой автоматом не добавлять? Мысль была, но она пришла ровно через шестьдесят одну секунду после нажатия кнопки "Загрузить". Кстате, еще какие команды нужны? |
|
|
![]()
Сообщение
#6
|
|
![]() laughed as one fey Сообщений: 12 167 Спасибо сказали: 20596 раз ![]() |
Версия..ну пусть 001 (от 18 часов 26 июля 2012 года)
[*] Исправлена ошибка (точнее, не оправдавшая себя фича), из-за которой нельзя было вводить чит-коды [+] Добавлены команды /chalk (выводит список команд и дату/время компиляции плагина), /console on|off (включение/отключение консоли) [+] Вывод в чат теперь идет без посредства ERM. [+] Точка с запятой теперь добавляется автоматически http://zalil.ru/33613281 - плагин https://dl.dropbox.com/u/61759222/HoMM/chalk.rar - код+плагин+меньшая вероятность потери ссылки |
|
|
![]()
Сообщение
#7
|
|
![]() замолкаю. Сообщений: 2 340 Спасибо сказали: 1010 раз ![]() |
если написать группу команд для одного ресивера через пробел, они будут адекватно обработаны?
Например: Код !!BM0:S2 P12; и второй вопрос: можно ли так же через пробел использовать разные ресиверы? Например: Код !!BM0:S2; !!BM1:P12 -------------------- |
|
|
![]()
Сообщение
#8
|
|
![]() laughed as one fey Сообщений: 12 167 Спасибо сказали: 20596 раз ![]() |
Цитата если написать группу команд для одного ресивера через пробел, они будут адекватно обработаны? Да. Цитата можно ли так же через пробел использовать разные ресиверы? Нет, выполнится только первый |
|
|
![]()
Сообщение
#9
|
|
![]() Immortal Сообщений: 1 468 Спасибо сказали: 1153 раза ![]() |
Можно, конечно, по ";" разбивать строку и вызывать ExecErmCmd на каждой.
-------------------- |
|
|
![]()
Сообщение
#10
|
|
![]() замолкаю. Сообщений: 2 340 Спасибо сказали: 1010 раз ![]() |
feanor
активирую чат (жму TAB), нажимаю ВВОД (Enter) = безмолвный вылет игры ( Версия: chalk 001 (18:03:18 от 26 июля 2012 года) -------------------- |
|
|
![]()
Сообщение
#11
|
|
![]() laughed as one fey Сообщений: 12 167 Спасибо сказали: 20596 раз ![]() |
Хм. У меня все норм.
Кто-нибудь еще, подтвердите или опровергните? |
|
|
![]()
Сообщение
#12
|
|
![]() допустим, мяў Сообщений: 24 049 Спасибо сказали: 13350 раз ![]() |
У меня почему-то не активируется плагин. Но и не вылетает. Пишет: "Красный:"
Плагин помещён в Mods\Wog\EraPlugins\ Версия Эры 2.41 Моды: Wog, Wog Rus, Wog Revised -------------------- Вокруг столько фильмов, книг, музыки - а природа какая невероятная!
Если тебе скучно жить - ты совсем дурак. (Татьяна Черниговская) |
|
|
![]()
Сообщение
#13
|
|
![]() laughed as one fey Сообщений: 12 167 Спасибо сказали: 20596 раз ![]() |
Цитата У меня почему-то не активируется плагин. Но и не вылетает. Пишет: "Красный:" Это при tab+enter? Дак палгин и не должен в этом случае ничего делать, так что все нормально |
|
|
![]()
Сообщение
#14
|
|
![]() допустим, мяў Сообщений: 24 049 Спасибо сказали: 13350 раз ![]() |
Команда !!IF:M^2^; не работает.
-------------------- Вокруг столько фильмов, книг, музыки - а природа какая невероятная!
Если тебе скучно жить - ты совсем дурак. (Татьяна Черниговская) |
|
|
![]()
Сообщение
#15
|
|
![]() замолкаю. Сообщений: 2 340 Спасибо сказали: 1010 раз ![]() |
Хм. У меня все норм. Кто-нибудь еще, подтвердите или опровергните? вылет был на era+HD3.28fв оконном режиме. Повторно пробовал в полноэкранном.... вылетело так: tab+enter+enter. ошибка приложения, будет закрыто (диалог win7, никаких крашлогов не создавалось). Пробовал тут же ещё раз повторить - ничего ( Странно, ERA2.4. на h3era.exe не получилось пока такого повторить. hippocamus, а нефиг 2,41 какую-то ставить... нет релиза, нет и гарантий ![]() -------------------- |
|
|
![]()
Сообщение
#16
|
|
![]() laughed as one fey Сообщений: 12 167 Спасибо сказали: 20596 раз ![]() |
Ага, с HD вылетело.
Цитата Команда !!IF:M^2^; не работает. Вбил !!IF:M^2^; - вывело мессаджбокс с двойкой. Вбил /exec IF:M^2^; - тоже вывело. |
|
|
![]()
Сообщение
#17
|
|
![]() замолкаю. Сообщений: 2 340 Спасибо сказали: 1010 раз ![]() |
после многочисленных манипуляций с чатом стало очевидно...
- нужна команда быстрого вызова в строку чата последней использованной chalk-плагином команды... типа, нажал что-то, и появилась в строке пред.исполненная команда... а там уже я либо по быстрому подправлю значение на новое, либо просто нажму испольнить feanor спасибо за очень удобный тестовый инструмент!!! я доволен как чёрт!!! ![]() -------------------- |
|
|
![]()
Сообщение
#18
|
|
![]() допустим, мяў Сообщений: 24 049 Спасибо сказали: 13350 раз ![]() |
Shift-Ins и Ctrl-V не рабоатют? Жаль, не могу полноценно потестить. Часть клавиш заменяется у мну виртуальной клавиатурой...
-------------------- Вокруг столько фильмов, книг, музыки - а природа какая невероятная!
Если тебе скучно жить - ты совсем дурак. (Татьяна Черниговская) |
|
|
![]()
Сообщение
#19
|
|
![]() замолкаю. Сообщений: 2 340 Спасибо сказали: 1010 раз ![]() |
Shift-Ins и Ctrl-V не рабоатют? Жаль, не могу полноценно потестить. Часть клавиш заменяется у мну виртуальной клавиатурой... так там же нет выделения, просто набирается текст в чате и всё... -------------------- |
|
|
![]()
Сообщение
#20
|
|
![]() laughed as one fey Сообщений: 12 167 Спасибо сказали: 20596 раз ![]() |
Вот Ctrl+С/V и нумпада не хватает адназначна.
А вообще - еще много чего не хватает |
|
|
![]() ![]() |
Текстовая версия | Сейчас: 13 June 2025 - 00:41 |
Copyright by Алексей Крючков
![]() Programming by Degtyarev Dmitry |
|