ERM-консоль, chalk.dll |
Здравствуйте, гость ( Вход | Регистрация )
ERM-консоль, chalk.dll |
20 Jul 2012, 22:52
(Сообщение отредактировал feanor - 09 May 2013, 15:16)
Сообщение
#1
|
|
laughed as one fey Сообщений: 12 166 Спасибо сказали: 20585 раз |
Плагин, добавляющий в чат несколько дополнительных команд и возможность исполнения 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; } Сорцы и нормальная заливка будут позже. Спасибо сказали: |
|
|
21 Jul 2012, 01:56
Сообщение
#2
|
|
Immortal Сообщений: 1 468 Спасибо сказали: 1151 раз |
Вспомнилось:
Код 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:; -------------------- |
|
|
21 Jul 2012, 02:27
Сообщение
#3
|
|
laughed as one fey Сообщений: 12 166 Спасибо сказали: 20585 раз |
Упс. Ну ладно, у меня понтовее
|
|
|
21 Jul 2012, 13:29
Сообщение
#4
|
|
Immortal Сообщений: 1 468 Спасибо сказали: 1151 раз |
Кстати, а почему бы точку с запятой автоматом не добавлять?
-------------------- |
|
|
26 Jul 2012, 15:56
Сообщение
#5
|
|
laughed as one fey Сообщений: 12 166 Спасибо сказали: 20585 раз |
Цитата Кстати, а почему бы точку с запятой автоматом не добавлять? Мысль была, но она пришла ровно через шестьдесят одну секунду после нажатия кнопки "Загрузить". Кстате, еще какие команды нужны? |
|
|
26 Jul 2012, 18:40
(Сообщение отредактировал feanor - 26 Jul 2012, 18:41)
Сообщение
#6
|
|
laughed as one fey Сообщений: 12 166 Спасибо сказали: 20585 раз |
Версия..ну пусть 001 (от 18 часов 26 июля 2012 года)
[*] Исправлена ошибка (точнее, не оправдавшая себя фича), из-за которой нельзя было вводить чит-коды [+] Добавлены команды /chalk (выводит список команд и дату/время компиляции плагина), /console on|off (включение/отключение консоли) [+] Вывод в чат теперь идет без посредства ERM. [+] Точка с запятой теперь добавляется автоматически http://zalil.ru/33613281 - плагин https://dl.dropbox.com/u/61759222/HoMM/chalk.rar - код+плагин+меньшая вероятность потери ссылки |
|
|
27 Jul 2012, 16:13
Сообщение
#7
|
|
замолкаю. Сообщений: 2 340 Спасибо сказали: 1010 раз |
если написать группу команд для одного ресивера через пробел, они будут адекватно обработаны?
Например: Код !!BM0:S2 P12; и второй вопрос: можно ли так же через пробел использовать разные ресиверы? Например: Код !!BM0:S2; !!BM1:P12 -------------------- |
|
|
27 Jul 2012, 16:35
Сообщение
#8
|
|
laughed as one fey Сообщений: 12 166 Спасибо сказали: 20585 раз |
Цитата если написать группу команд для одного ресивера через пробел, они будут адекватно обработаны? Да. Цитата можно ли так же через пробел использовать разные ресиверы? Нет, выполнится только первый |
|
|
27 Jul 2012, 17:30
Сообщение
#9
|
|
Immortal Сообщений: 1 468 Спасибо сказали: 1151 раз |
Можно, конечно, по ";" разбивать строку и вызывать ExecErmCmd на каждой.
-------------------- |
|
|
08 Jan 2013, 03:32
(Сообщение отредактировал Bes - 08 Jan 2013, 03:36)
Сообщение
#10
|
|
замолкаю. Сообщений: 2 340 Спасибо сказали: 1010 раз |
feanor
активирую чат (жму TAB), нажимаю ВВОД (Enter) = безмолвный вылет игры ( Версия: chalk 001 (18:03:18 от 26 июля 2012 года) -------------------- |
|
|
08 Jan 2013, 15:27
Сообщение
#11
|
|
laughed as one fey Сообщений: 12 166 Спасибо сказали: 20585 раз |
Хм. У меня все норм.
Кто-нибудь еще, подтвердите или опровергните? |
|
|
08 Jan 2013, 15:45
Сообщение
#12
|
|
пират с чёрной меткой Сообщений: 23 646 Спасибо сказали: 12920 раз |
У меня почему-то не активируется плагин. Но и не вылетает. Пишет: "Красный:"
Плагин помещён в Mods\Wog\EraPlugins\ Версия Эры 2.41 Моды: Wog, Wog Rus, Wog Revised -------------------- Давший быка на убой не выпросил и печень на жаркое.
|
|
|
08 Jan 2013, 15:49
Сообщение
#13
|
|
laughed as one fey Сообщений: 12 166 Спасибо сказали: 20585 раз |
Цитата У меня почему-то не активируется плагин. Но и не вылетает. Пишет: "Красный:" Это при tab+enter? Дак палгин и не должен в этом случае ничего делать, так что все нормально |
|
|
08 Jan 2013, 16:20
Сообщение
#14
|
|
пират с чёрной меткой Сообщений: 23 646 Спасибо сказали: 12920 раз |
Команда !!IF:M^2^; не работает.
-------------------- Давший быка на убой не выпросил и печень на жаркое.
|
|
|
08 Jan 2013, 17:00
Сообщение
#15
|
|
замолкаю. Сообщений: 2 340 Спасибо сказали: 1010 раз |
Хм. У меня все норм. Кто-нибудь еще, подтвердите или опровергните? вылет был на era+HD3.28fв оконном режиме. Повторно пробовал в полноэкранном.... вылетело так: tab+enter+enter. ошибка приложения, будет закрыто (диалог win7, никаких крашлогов не создавалось). Пробовал тут же ещё раз повторить - ничего ( Странно, ERA2.4. на h3era.exe не получилось пока такого повторить. hippocamus, а нефиг 2,41 какую-то ставить... нет релиза, нет и гарантий -------------------- |
|
|
08 Jan 2013, 17:18
Сообщение
#16
|
|
laughed as one fey Сообщений: 12 166 Спасибо сказали: 20585 раз |
Ага, с HD вылетело.
Цитата Команда !!IF:M^2^; не работает. Вбил !!IF:M^2^; - вывело мессаджбокс с двойкой. Вбил /exec IF:M^2^; - тоже вывело. |
|
|
14 Jan 2013, 21:19
Сообщение
#17
|
|
замолкаю. Сообщений: 2 340 Спасибо сказали: 1010 раз |
после многочисленных манипуляций с чатом стало очевидно...
- нужна команда быстрого вызова в строку чата последней использованной chalk-плагином команды... типа, нажал что-то, и появилась в строке пред.исполненная команда... а там уже я либо по быстрому подправлю значение на новое, либо просто нажму испольнить feanor спасибо за очень удобный тестовый инструмент!!! я доволен как чёрт!!! -------------------- |
|
|
14 Jan 2013, 22:12
Сообщение
#18
|
|
пират с чёрной меткой Сообщений: 23 646 Спасибо сказали: 12920 раз |
Shift-Ins и Ctrl-V не рабоатют? Жаль, не могу полноценно потестить. Часть клавиш заменяется у мну виртуальной клавиатурой...
-------------------- Давший быка на убой не выпросил и печень на жаркое.
|
|
|
14 Jan 2013, 22:22
Сообщение
#19
|
|
замолкаю. Сообщений: 2 340 Спасибо сказали: 1010 раз |
Shift-Ins и Ctrl-V не рабоатют? Жаль, не могу полноценно потестить. Часть клавиш заменяется у мну виртуальной клавиатурой... так там же нет выделения, просто набирается текст в чате и всё... -------------------- |
|
|
14 Jan 2013, 22:39
(Сообщение отредактировал feanor - 14 Jan 2013, 22:42)
Сообщение
#20
|
|
laughed as one fey Сообщений: 12 166 Спасибо сказали: 20585 раз |
Вот Ctrl+С/V и нумпада не хватает адназначна.
А вообще - еще много чего не хватает |
|
|
Текстовая версия | Сейчас: 24 April 2024 - 16:45 |
Copyright by Алексей Крючков
Programming by Degtyarev Dmitry |