Formatter
Пользователи-
Публикаций
85 -
Зарегистрирован
-
Посещение
-
Победитель дней
5 -
Отзывы
0%
Formatter стал победителем дня 10 февраля
Formatter имел наиболее популярный контент!
Репутация
14Информация о Formatter
-
Звание
Решил остаться
Посетители профиля
3367 просмотров профиля
-
Вряд ли вопрос решаемый для тебя, а так - всё в исходах. По трейдерам - вешаем им нужный id лавки, данные о списке товаров, садишь и шлёшь CharInfo; обучить врядли выйдет, опять же при выдаче итемов смотреть класс/профу и одевать/давать нужные итемы (из конфига или еще откуда) по лвлу - при создании "фантома" ставишь нужный уровень.
-
Вероятнее всего - тип нового нпц не понимает эти байпасы, либо дописать логику для этих байпасов в новом/нужном типе нпц, либо же изменить тип на тот, что у нпц Bathis
-
Возможно есть слушатель на подобии OnClassChangeListener - тогда скрипт/расширение
-
package blabla; import net.sf.l2j.gameserver.model.L2ItemInstance; import net.sf.l2j.gameserver.model.actor.instance.L2PlayableInstance; import scripts.items.IItemHandler; import scripts.items.ItemHandler; public class BlaBla implements IItemHandler { // ид итема(ов) private static final int[] ITEM = { 1111 }; @Override public int[] getItemIds() { return ITEM; } @Override public void useItem(L2PlayableInstance user, L2ItemInstance item, boolean ctrl) { // действие при юзе итема } public static void main(String[] args) { ItemHandler.getInstance().registerItemHandler(new BlaBla()); } }
-
Реализовывай скрипт через IItemHandler, не понятно - примеров куча
-
Там же в коде нужно смотреть как сделан спаун этих фонтанов, вероятно там явно указано время, а не переменная TRAPS_SPAWN_INTERVAL, что то вроде этого: actor.getReflection().addSpawnWithRespawn(TRAP_NPC_ID, TRAP_LOCS, 0, тут время);
-
Ну да, точно не в БД дело, раз тебе веб пишет: Ошибка MySQL и её номер.
-
Перевести анриал? Увеличить размер колонки, либо поменяй метод шифрования пароля
-
Какой ответ тебе нужен? "Зачем и для чего"? - Захотелось вывести некоторую доп. информацию на окно клиента. Да и в общем интересно стало. Глупый не глупый текст: уж извини, но видя твои посты во всех темах - могу то же самое сказать.
-
Ладно, своими силами разобрался, вывод текста/фигур получился, но при сворачивании/разворачивании окна - крит тот же. Может еще что-то хукать нужно помимо endScene? Как отследить это событие? Возможно кто-то рисовал в клиенте через Engine.Canvas? Нашел пример только для хроник выше - нашел аналогичную функцию (вроде как), но не знаю какие аргументы передать в функцию
-
Кто-нибудь занимался хуком directx с клиентом игры (Interlude)? Пытался и после инициализации окна, и непосредственно при загрузке библиотеки - один и тот же крит. Быть может у кого-то есть готовый вариант. часть кода (C++): cMemory* MemHack; typedef HRESULT(WINAPI* oEndScene)(LPDIRECT3DDEVICE9 pDevice); oEndScene pEndScene = NULL; HRESULT APIENTRY myEndScene(LPDIRECT3DDEVICE9 pDevice) { return pEndScene(pDevice); } int D3d9_Hook(void) { printf("D3D hook"); DWORD* vtbl = 0; DWORD hD3D9 = (DWORD)LoadLibraryA("d3d9.dll"); DWORD table = MemHack->FindPattern(hD3D9, 0x128000, (PBYTE)"\xC7\x06\x00\x00\x00\x00\x89\x86\x00\x00\x00\x00\x89\x86", "xx????xx????xx"); memcpy(&vtbl, (void*)(table + 2), 4); pEndScene = (oEndScene)MemHack->Create_Hook((PBYTE)vtbl[42], (PBYTE)myEndScene, 5); printf(" OK\n"); return 0; } Ошибка клиента