IPB

Здравствуйте, гость ( Вход | Регистрация )

> Небольшие моды и плагины.
feanor
сообщение 25 Jul 2012, 11:30 (Сообщение отредактировал Iv - 10 Nov 2015, 21:49)
Сообщение #1

laughed as one fey
Сообщений: 12 167
Спасибо сказали: 20596 раз




Эта тема предназначена для небольших модов, не требующих оформления отдельной темы.
Все обсуждения - в соседней теме.

При выкладке указывайте:
  • краткое описание. Скриншот - факультативно
  • авторство (если не свое - особенно)
  • формат (инсталлятор, архив или одиночный плагин),
  • язык (или его отсутствие в случае безтекстового мода).
  • разумеется, ссылку на скачивание. Не рекомендуются как zalil, rghost и подобные обменники с кратким сроком жизни файла, так и depositfiles, letitbit и прочие многоэтапные файлопохранилища.


Замена воговского таймера для Эры

Всегда убивали воговские таймеры (которые TM, не TL).

Их мало (сто, из них изрядная часть зарезервирована), они перегружены и вообще мастдай.
В дллках оно еще более усугубляется - совершенно не хочется делать лишний хэндл для инициализации таймера, долбаться с его резервированием etc etc..


Поэтому для удобства написания дллок я набросал простенькую библиотеку, которая хукает RunTimer и посылает сообщение плагинам и ERM'у.
Требует Бараторчевский патчер, ибо он трушный.

Плагин: timerevent.era
Проект: eratimer_code.rar

Интерфейс:
Простой как топор.

Для ерм: функция !?FU4074700, в x1 - номер игрока (0..7), в x2 - день (1,2,3,4,5,6,7,8..)
Для эры: событие OnGlobalTimer с двумя аналогичными параметрами. См. пример ниже.

Повторю еще раз, требует patcher_x86.dll в корне папки с героями!!

Пример (Си)
Код
void __stdcall TimerTest (PEvent e)
{
    char buf[128];
    int i = *(int*)(e->Data);
    sprintf(buf,"IF:L^%i %i^;",*(int*)(e->Data), *(1+(int*)(e->Data)));
    ExecErmCmd(buf);
}
..
RegisterHandler(TimerTest,"OnGlobalTimer");



Код:
<div class="sp-wrap"><div class="sp-body" title="Код">
Код
#include <windows.h>
#include <stdio.h>
#include "....includeera.h"
#include "....includeheroes.h"
#include "....includepatcher_x86_commented.hpp"

Patcher * globalPatcher;
PatcherInstance *patcher;


int __cdecl OnAnyTimer(HiHook* h, int owner)
{
    ErmX[1]=owner;
    ErmX[2]=CALL_0(int, __cdecl ,0x7103D2);
    FireErmEvent(4074700);

    int param[2] = {owner,CALL_0(int, __cdecl ,0x7103D2)};
    FireEvent("OnGlobalTimer",(void*)param,8);

    

    return EXEC_DEFAULT;
}


BOOL APIENTRY DllMain( HMODULE hModule,
                       DWORD  ul_reason_for_call,
                       LPVOID lpReserved
                     )
{
    if (ul_reason_for_call == DLL_PROCESS_ATTACH)
    {
        globalPatcher = GetPatcher();
        patcher =  globalPatcher->CreateInstance("timerwrapper");
        ConnectEra();

        patcher->WriteHiHook(0x74DC74, SPLICE_, EXTENDED_, CDECL_, (void*)OnAnyTimer);
    }
    return TRUE;
}
</div></div>

Просьба здесь особо не обсуждать. Мне куда более доставляет складывать добро в чистую тему.
Go to the top of the pageAdd Nick
 
+Quote Post
 
Start new topic
Ответов
Iv
сообщение 15 Jun 2014, 20:37
Сообщение #2

Immortal
Сообщений: 6 278
Спасибо сказали: 12698 раз




Родная грязь (dirt) для Подземелья

Маленький патчик для рандомок без подземного уровня. На них Подземелье генерится на грязи, но бонуса родной земли не получает. Патчик исправляет эту несправедливость.

Автор: Iv
Формат: bin-файл для Era II. Класть в \EraPlugins\AfterWoG\


--------------------
Go to the top of the pageAdd Nick
 
+Quote Post

Сообщений в этой теме
- feanor   Небольшие моды и плагины.   25 Jul 2012, 11:30
- - feanor   Обработка копания (granite.dll) Плагин: granite.e...   18 Aug 2012, 22:10
- - feanor   Работа с датой (malachite.dll) Плагин: malachite....   18 Aug 2012, 22:41
- - feanor   Контроль восьмого слота (obsidian.dll) Плагин: ob...   19 Oct 2012, 20:35
- - feanor   Отрицательная удача (badluck.dll) (с) Sav, feanor ...   03 Jan 2013, 00:10
- - feanor   Настраиваемые имена классов (turquoise.dll) Плаги...   08 Feb 2013, 15:55
- - feanor   Вызовы элементалей (summoniots.dll) Плагин: summo...   28 Mar 2013, 14:27
- - feanor   Гильдия воров вместо "Братства меча" в З...   17 Jul 2013, 18:31
- - Iv   Другие флаги игроков Автор: Iv (с участием Algor...   18 Jul 2013, 13:31
- - feanor   Несколько небольших патчей. Автор: feanor Язык: н...   25 Jul 2013, 08:00
|- - Iv   Зомбивод (39 б) Автор: Master of puppets Язык: нет...   25 Jul 2013, 16:02
- - feanor   Часы реального времени. ПКМ по дате на экране к...   01 Aug 2013, 14:30
- - feanor   Еженедельная газета "Голос из-под стойки...   16 Sep 2013, 00:59
- - Iv   -Why do you call your software "beta"? -...   19 Sep 2013, 23:55
- - igrik   Рюкзак героя Версия 1.04. Автор: igrik Язык: русск...   21 Sep 2013, 23:13
- - Iv   Случайные нейтральные герои Нейтралы с вероятност...   13 Mar 2014, 13:14
- - feanor   Статуя Ленина в Инферно вместо Бога Огня Автор: f...   22 Apr 2014, 20:39
- - Iv   Родная грязь (dirt) для Подземелья Маленький пат...   15 Jun 2014, 20:37
- - Orzie   Культ Вождя Мирового Пролетариата Авторы: feanor,...   15 Jul 2014, 13:12
- - feanor   Магические сундуки Сундуки с артефактами теперь о...   31 Jul 2014, 22:57
- - feanor   Вуду-гарпии. Иногда гарпии-ведьмы будут атаковать...   03 Feb 2015, 19:06
- - feanor   Иной формат даты. Дни недели и месяцы именуются, ...   10 Feb 2015, 03:13
- - feanor   Иные виды снарядов-лучей. Архимаги стреляют молни...   10 Feb 2015, 20:56
- - hippocamus   Приручённые нейтралы Большинство нейтралов теперь...   12 Feb 2015, 16:27
- - Iv   Больше колодцев для бога колодцев Маленький патчи...   19 Feb 2015, 23:46
- - feanor   В честь минувших праздников полового диморфизма.. ...   13 Mar 2015, 23:57
- - feanor   Анимированные существа на поле боя (порт из WoG 3....   14 Aug 2016, 00:56
- - igrik   Цифровое отображение морали и удачи в окне стека. ...   21 Oct 2016, 19:17
- - Ben   Новая версия заклинания Городской портал Авторы: ...   08 Aug 2017, 21:11
- - igrik   А где сама DLL? Кстати забыл. Тестировал. Багов ...   09 Aug 2017, 17:47
- - Iv   Напоминаю: Цитата(feanor @ 25 Jul 2012, 11...   22 Aug 2017, 16:33
- - Ben   Модификация Зыбучих песков и Мин Dll плагин к HD ...   02 Sep 2017, 17:46
- - Ben   Улучшение вторичного навыка Обучение Dll плагин к...   27 Sep 2017, 18:41
- - Ben   Улучшение навыка Орлиный глаз Авторы: AlexSpl, Be...   30 Sep 2017, 09:02
- - igrik   WoG Native Dialogs (Вог диалоги в родном исполнен...   20 Sep 2018, 22:02
- - igrik   Защита артефактов, пандор и свитков Скачать (41.5...   16 Nov 2018, 08:42
- - Richter   Небольшая модификация добавляющая статистику пройд...   11 Feb 2019, 15:15
- - suftfree   Модификация добавляющая огромное количество новых ...   26 Apr 2020, 15:21


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 18 June 2025 - 04:29
Copyright by Алексей Крючков
Strategy Gamez by GrayMage
Programming by Degtyarev Dmitry
  Яндекс.Метрика