Вернуться   CoderX :: Forums > Lineage II > L2PacketHack > Разработка
Войти через OpenID

Разработка Раздел для совместной разработки/доработки программы

Чат (Новых сообщений с момента вашего последнего визита нет)
Загрузка...
Задавайте ваши вопросы на форуме. Чат предназначен для небольших разговоров.
 
Ответ
 
Опции темы Опции просмотра
Старый 13.10.2008, 20:17   #1
Рыцарь
 
Аватар для Grinch
 
Регистрация: 29.02.2008
Сообщений: 928
Сказал Спасибо: 127
Имеет 130 спасибок в 93 сообщенях
Grinch пока неопределено
По умолчанию

вот начал изучать "плагинописание" и встал вопрос о том как организовать такую вещь которая в скриптах стало такой привычной константы типа Name. пришла идея в самом пнх на вкладке плагин там где идёт описание плгина сделать активную зону где можно будет вводить эти константы а так же сохранять/загружать в файл.
///////////////////////////////////////////////////////////////
ответ xkor'a:
в плагине после компиляции имён переменных нету
исполняемый файл только с указателями и регистрами работает...
////////////////////////////////////////////////////////////////
Дык народ кто что придумает оригинальное и функциональное что реально организовать.
Grinch вне форума   Ответить с цитированием
Старый 14.10.2008, 11:06   #2
Местный
 
Аватар для wanick
 
Регистрация: 20.09.2008
Сообщений: 133
Сказал Спасибо: 32
Имеет 54 спасибок в 22 сообщенях
wanick пока неопределено
По умолчанию

Grinch, а зачем вообще нужен Name, вот пример с авто-HP явно показывает что и без него можно обойтись.
wanick вне форума   Ответить с цитированием
Старый 14.10.2008, 17:34   #3
Рыцарь
 
Аватар для Grinch
 
Регистрация: 29.02.2008
Сообщений: 928
Сказал Спасибо: 127
Имеет 130 спасибок в 93 сообщенях
Grinch пока неопределено
По умолчанию

Цитата:
Сообщение от wanick Посмотреть сообщение
Grinch, а зачем вообще нужен Name, вот пример с авто-HP явно показывает что и без него можно обойтись.
ну тут спорно конечно, допустим в пати 2 ше в плагине всё расписано и чё каждое окно зайти написать там чёта потом в другое и т.д. не спорю баферов можно организовать и без ников, а вот пла допустим я обычно играю как бд офф пати вписываю ник пла в скрипт к бд так бд может запустить кто угодно из моего клана главное в скрипте ник перебить. спросишь для чего это надо ну допустим машина не тянет 5-6 окон и ботом не охота играть вот и приходиться извращаться имхо нужно как то организовать ввод констант типа Name либо из файла либо с панели плагина или пакет хака.
Grinch вне форума   Ответить с цитированием
Старый 15.10.2008, 01:58   #4
Admin!
 
Аватар для xkor
 
Регистрация: 04.08.2007
Сообщений: 2,360
Сказал Спасибо: 113
Имеет 1,566 спасибок в 651 сообщенях
xkor на пути к лучшему
По умолчанию

Grinch, а как на счет ввода констант через HTML диалог прямо в игре?), можно даж в самом пакетхаке сделать встроенные функции для формирования таких диалогов, хотя это и так просто
ИМХО это самое рациональной на мой взгляд решение
ещё можно сделать возможность указывать для включаемого плагина "соединение по умолчанию" или даже выполнять его только для этого соединения

Добавлено через 5 часов 11 минут
Ревизия: 48
Автор: xkor
Дата: 00:50:00, 15 октября 2008 г.
[+] В контекстном меню иконки программы появились подменю "Скрипты" и "Плагины" в которых можно включить/выключить их не открывая окно программы;[*] FastMM4 настроен так чтобы плагины и программа были совместимы не зависимо от режима компиляции;
__________________
Я здесь практически не появляюсь!, Skype - ikskor

Последний раз редактировалось xkor, 15.10.2008 в 01:58. Причина: Добавлено сообщение
xkor вне форума   Ответить с цитированием
Старый 14.10.2008, 14:17   #5
Местный
 
Аватар для PanAm
 
Регистрация: 18.01.2008
Сообщений: 286
Сказал Спасибо: 24
Имеет 133 спасибок в 80 сообщенях
PanAm
По умолчанию

Цитата:
Сообщение от Grinch Посмотреть сообщение
встал вопрос о том как организовать такую вещь которая в скриптах стало такой привычной константы типа Name.
тут у меня две мысли -
1. Требуется дороботка ПакетХака - добавить в планины необязательные функции, которые будут вызыватся из контекстного меню в списке плагинов. как минимум для настройки и расширенной информации о плагине.
2. не требует дороботки ПХ и может быть дополнением к первому - обработка в плагине чат-строк типа "-myplugin -settings"
Далее станет вопрос сохранения и загрузка настроек, и тут опять есть два варианта -
1. возложить это полностью на автора плагина - он сам будет выбирать куда и как сохранять / грузить настройки- в реестр, INI-файл или в скрытый сектор диска с ключем шифрования на сьемном насителе.
2. Сделать анологично FAR - работать с настройками через API пакетхака.

Добавлено через 2 минуты
И есть еще пожелание - для ПХ свернутого в трей, дороботать меню - добавить подменю "Скрипты" и "Плагины" с динамическим списком и возможностью в щелчек влючать и выключать их.

Последний раз редактировалось PanAm, 14.10.2008 в 14:17. Причина: Добавлено сообщение
PanAm вне форума   Ответить с цитированием
Старый 15.10.2008, 07:08   #6
Гость
 
Сообщений: n/a
По умолчанию

Цитата:
Сообщение от PanAm Посмотреть сообщение
тут у меня две мысли -
1. Требуется дороботка ПакетХака - добавить в планины необязательные функции, которые будут вызыватся из контекстного меню в списке плагинов. как минимум для настройки и расширенной информации о плагине.
2. не требует дороботки ПХ и может быть дополнением к первому - обработка в плагине чат-строк типа "-myplugin -settings"
Далее станет вопрос сохранения и загрузка настроек, и тут опять есть два варианта -
1. возложить это полностью на автора плагина - он сам будет выбирать куда и как сохранять / грузить настройки- в реестр, INI-файл или в скрытый сектор диска с ключем шифрования на сьемном насителе.
2. Сделать анологично FAR - работать с настройками через API пакетхака.

Добавлено через 2 минуты
И есть еще пожелание - для ПХ свернутого в трей, дороботать меню - добавить подменю "Скрипты" и "Плагины" с динамическим списком и возможностью в щелчек влючать и выключать их.

Еще надо добавить меню для моего холодильника, чтобы он заказывал мне пиво через l2phx/ O_o
Народ, вы подождите сейчас пройдет осень, и вас отпустит ...
  Ответить с цитированием
Старый 14.10.2008, 17:10   #7
Местный
 
Аватар для Breadfan
 
Регистрация: 29.04.2008
Сообщений: 830
Сказал Спасибо: 80
Имеет 230 спасибок в 169 сообщенях
Breadfan пока неопределено
По умолчанию

Цитата:
или в скрытый сектор диска с ключем шифрования на сьемном насителе
- это как раз то, что я искал )))
__________________
На фразы в аську типа "слух карочь 1)как точить 2)как раскачаться за 5 мин" - игнор. ИМХО идиотизм
Дай голодному рыбу - он будет один день сыт. Покажи ему, как удить рыбу - он пошлёт тебя и скажет, что у него есть более интересные занятия, чем забрасывать снасти в воду
David Kastrup @ de.comp.text.tex.
"Приобретенные навыки общения с маленькими детьми - сильно упрощают взаимопонимание на форумах..."

А вы знаете, что для качественной сварки - место шва нужно протереть спиртом?
Breadfan вне форума   Ответить с цитированием
Старый 17.10.2008, 15:00   #8
Пользователь
 
Регистрация: 10.10.2007
Сообщений: 39
Сказал Спасибо: 0
Имеет 7 спасибок в 5 сообщенях
Argot
По умолчанию

А задуматься что вы тут делаете ? ))
Код:
except
    //добавил для исключения утечки памяти, NLObP
    FreeMem(OldFunction, 255);
    Exit;
  end;
  //добавил для исключения утечки памяти, NLObP
  FreeMem(OldFunction, 255);
Argot вне форума   Ответить с цитированием
Старый 17.10.2008, 21:53   #9
Admin!
 
Аватар для xkor
 
Регистрация: 04.08.2007
Сообщений: 2,360
Сказал Спасибо: 113
Имеет 1,566 спасибок в 651 сообщенях
xkor на пути к лучшему
По умолчанию

Цитата:
Сообщение от Argot Посмотреть сообщение
А задуматься что вы тут делаете ? ))
Код:
except
    //добавил для исключения утечки памяти, NLObP
    FreeMem(OldFunction, 255);
    Exit;
  end;
  //добавил для исключения утечки памяти, NLObP
  FreeMem(OldFunction, 255);
а я то думал почему ShowMessage не работает...

Добавлено через 1 минуту
NLObP, освобождать надо то что больше НЕ будет использоваться...

Добавлено через 1 минуту
небольшая утечка лучше чем освобождение ещё используемой памяти...
__________________
Я здесь практически не появляюсь!, Skype - ikskor

Последний раз редактировалось xkor, 17.10.2008 в 21:53. Причина: Добавлено сообщение
xkor вне форума   Ответить с цитированием
Старый 17.10.2008, 16:46   #10
Рыцарь
 
Аватар для NLObP
 
Регистрация: 25.02.2008
Адрес: г.Волгоград
Сообщений: 2,009
Сказал Спасибо: 1,285
Имеет 1,458 спасибок в 793 сообщенях
NLObP пока неопределено
По умолчанию

Вот вся функция
delphi Код:
function HookCode(TargetProc, NewProc: pointer; var OldProc: pointer): boolean; var   Address: dword;   OldProtect: dword;   OldFunction: pointer;   Proc: pointer; begin   Result := False;   try     Proc := TargetProc;     //вычисляем адрес относительного (jmp near) перехода на новую функцию        Address := dword(NewProc) - dword(Proc) - 5;     VirtualProtect(Proc, 5, PAGE_EXECUTE_READWRITE, OldProtect);     //создаем буффер для true функции     GetMem(OldFunction, 255);     //копируем первые 4 байта функции     dword(OldFunction^) := dword(Proc);     byte(pointer(dword(OldFunction) + 4)^) := SaveOldFunction(Proc, pointer(dword(OldFunction) + 5));     //byte(pointer(dword(OldFunction) + 4)^) - длина сохраненного участка     byte(Proc^) := $e9; //устанавливаем переход     dword(pointer(dword(Proc) + 1)^) := Address;     VirtualProtect(Proc, 5, OldProtect, OldProtect);     OldProc := pointer(dword(OldFunction) + 5);   except     Exit;   end;   Result := True; end;

Покажи, где надо освободить память? В except ... end; лишнее?
__________________
| Для самых ленивый | Телепаты в отпуске |Мы работаем над этим |
Не умеешь - учись, не хочешь учиться - плати © Суровый Закон Жизни


NLObP вне форума   Ответить с цитированием
За это сообщение NLObP нажился спасибкой от:
Ответ

  CoderX :: Forums > Lineage II > L2PacketHack > Разработка



Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 07:46.

vBulletin style designed by MSC Team.
Powered by vBulletin® Version 3.6.11
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Locations of visitors to this page
Rambler's Top100

Вы хотите чувствовать себя в безопасности? чоп Белган обеспечит её!