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

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

Чат (Новых сообщений с момента вашего последнего визита нет)
Загрузка...
Задавайте ваши вопросы на форуме. Чат предназначен для небольших разговоров.
 
Ответ
 
Опции темы Опции просмотра
Старый 19.09.2008, 21:41   #1
Рыцарь
 
Аватар для NLObP
 
Регистрация: 25.02.2008
Адрес: г.Волгоград
Сообщений: 2,009
Сказал Спасибо: 1,285
Имеет 1,458 спасибок в 793 сообщенях
NLObP пока неопределено
По умолчанию

Цитата:
Сообщение от nezabudkin Посмотреть сообщение
Не сразу разобрался с галочкой kamael, если ее выключить, то получаем дешифрацию пакетов камаель, а если включить то interlude. Так и задумано?
Без галочки Kamael: C4 - Interlude
С галочкой Kamael: Kamael - Hellbound - Gracia

3.3.8 от 16.09.2008
[+] устранил утечки памяти (не все), спс. Argot;
[!] inject.dll by ratvier;
__________________
| Для самых ленивый | Телепаты в отпуске |Мы работаем над этим |
Не умеешь - учись, не хочешь учиться - плати © Суровый Закон Жизни



Последний раз редактировалось NLObP, 20.09.2008 в 02:42.
NLObP вне форума   Ответить с цитированием
За это сообщение NLObP нажился 2 спасибками от:
Старый 21.09.2008, 23:42   #2
Местный
 
Аватар для wanick
 
Регистрация: 20.09.2008
Сообщений: 133
Сказал Спасибо: 32
Имеет 54 спасибок в 22 сообщенях
wanick пока неопределено
По умолчанию

Немогу удержатся анонсирую
Сегодня после, после нескольких часов ломания головы реализована новая функция дает возможность взаимодействия между скриптами
что как я считаю переведет програмирование в l2phx на совершенно новый уровень
вот и новинка
delphi Код:
function CallSF(ScriptName:String;FunctionName:String;Params:array of variant):variant;


принцип такой
1. есть скрипт "inventory" - стандартный обработчик инвенторя с ним уже все знакомы
расширяем скрипт inventory - чтобы он следил за инвентарем всех подключенных клиентов

далее есть функция
delphi Код:
// cID - надо передать  ConectID function GetInv(obj,up,down, cID:integer): integer; // up и down не проверяются var   i: integer; begin   for i:=0 to ItemMaxCount do     if (Inventory[cID, i,up]=obj) then begin       Result:=Inventory[cID, i,down];       exit;     end;   Result:=-1; end;

скрипт Inventory - включен постоянно (вами, галочкой около названия)

2. мы создаем новый скрипт в котором хотели бы узнать сколько у нашего чара в количестве к примеру аден ItemID =57
и получаем из второго скрипта обращаемся к скрипту Inventory

delphi Код:
AdenaItemID :=57;     AdenaCount := CallSF ('Inventory', 'GetInv', [AdenaItemID, 2, 3, ConnectIDByName('testChar')]);

результатом будет количество аден у вашего чара, если произойдет ошибка , результат будет '-1': variant

часто придется использовать щункцию
delphi Код:
function VarToStr(v: Variant): String Перевод variant в строку

Для не расхождения версий, и для повторных тестов исходники отправил NLObP, ка только все проверим выложим.

ждите новинку

Последний раз редактировалось wanick, 22.09.2008 в 01:13. Причина: Добавлено сообщение
wanick вне форума   Ответить с цитированием
За это сообщение wanick нажился спасибкой от:
Старый 22.09.2008, 02:38   #3
Admin!
 
Аватар для xkor
 
Регистрация: 04.08.2007
Сообщений: 2,360
Сказал Спасибо: 113
Имеет 1,566 спасибок в 651 сообщенях
xkor на пути к лучшему
По умолчанию

wanick, на будущее - используй [ HIGHLIGHT="delphi" ] а не [ PHP ]
__________________
Я здесь практически не появляюсь!, Skype - ikskor
xkor вне форума   Ответить с цитированием
За это сообщение xkor нажился спасибкой от:
Старый 23.09.2008, 02:00   #4
Рыцарь
 
Аватар для NLObP
 
Регистрация: 25.02.2008
Адрес: г.Волгоград
Сообщений: 2,009
Сказал Спасибо: 1,285
Имеет 1,458 спасибок в 793 сообщенях
NLObP пока неопределено
По умолчанию

Новая версия. Пробуйте.

3.3.9 от 23.09.2008
by wanick
[+] теперь включенный скрипт нельзя удалить;
[+] при удалении скрипта не вызывается процедура RefreshScripts (она полностью обновляет список скриптов при этом скидывает "галочки" остальных);
[+] процедура sendMSG(msg), для вывода сообщений в окно лога;
[+] новая функция CallSF, которая дает возможность взаимодействия между скриптами;

by NLObP
[+] заменил сообщения для вывода в окно лога на константы, спс. Argot;
[+] освобождаются хэндлы завершившихся потоков, спс. Argot;
[+] устранил несоответствие во всплывающих подсказках (Completion.Identifiers.Strings)
для вкладки "дополнительно" и "скрипты", спс wanick;
[+] устранил мелкие ошибки в коде;
__________________
| Для самых ленивый | Телепаты в отпуске |Мы работаем над этим |
Не умеешь - учись, не хочешь учиться - плати © Суровый Закон Жизни


NLObP вне форума   Ответить с цитированием
За это сообщение NLObP нажился спасибкой от:
Старый 23.09.2008, 03:04   #5
Admin!
 
Аватар для xkor
 
Регистрация: 04.08.2007
Сообщений: 2,360
Сказал Спасибо: 113
Имеет 1,566 спасибок в 651 сообщенях
xkor на пути к лучшему
По умолчанию

хех, совместная разработка похоже рулит), надо будет замутить для новой версии пакетхака SVN или типа того)
__________________
Я здесь практически не появляюсь!, Skype - ikskor
xkor вне форума   Ответить с цитированием
Старый 23.09.2008, 03:29   #6
Рыцарь
 
Аватар для NLObP
 
Регистрация: 25.02.2008
Адрес: г.Волгоград
Сообщений: 2,009
Сказал Спасибо: 1,285
Имеет 1,458 спасибок в 793 сообщенях
NLObP пока неопределено
По умолчанию

Цитата:
Сообщение от xkor Посмотреть сообщение
хех, совместная разработка похоже рулит), надо будет замутить для новой версии пакетхака SVN или типа того)
Может и для текущей замутишь? Мало ли, еще люди подключатся.
__________________
| Для самых ленивый | Телепаты в отпуске |Мы работаем над этим |
Не умеешь - учись, не хочешь учиться - плати © Суровый Закон Жизни


NLObP вне форума   Ответить с цитированием
За это сообщение NLObP нажился спасибкой от:
Старый 23.09.2008, 03:38   #7
Admin!
 
Аватар для xkor
 
Регистрация: 04.08.2007
Сообщений: 2,360
Сказал Спасибо: 113
Имеет 1,566 спасибок в 651 сообщенях
xkor на пути к лучшему
По умолчанию

ну можно и с этой начать эксперименты)
__________________
Я здесь практически не появляюсь!, Skype - ikskor
xkor вне форума   Ответить с цитированием
За это сообщение xkor нажился спасибкой от:
Старый 23.09.2008, 03:38   #8
Местный
 
Аватар для wanick
 
Регистрация: 20.09.2008
Сообщений: 133
Сказал Спасибо: 32
Имеет 54 спасибок в 22 сообщенях
wanick пока неопределено
По умолчанию

да не мешало бы SVN

NLObP, куча замечаний нашел
во вкладке скрипто удаленный скрипт не надо давать редактировать , и сохранять по новой просто пусть весить до обновления. - это я сам сделаю

во вкладке пакетов, при очистке списка сбрасывается состояние фильтров как я долго мучался пока настраивал потом очистил список пакетов и ппц , кстати надо потыкать может еще когда скидывает он.
wanick вне форума   Ответить с цитированием
За это сообщение wanick нажился спасибкой от:
Старый 23.09.2008, 03:47   #9
Рыцарь
 
Аватар для NLObP
 
Регистрация: 25.02.2008
Адрес: г.Волгоград
Сообщений: 2,009
Сказал Спасибо: 1,285
Имеет 1,458 спасибок в 793 сообщенях
NLObP пока неопределено
По умолчанию

Подскажите, как устранить здесь утечку памяти?

delphi Код:
const   {The name of the debug info support L2phx}   StartLocalServer = 'На %d зарегистрирован локальный сервер';   FailedLocalServer = 'Неудалось зарегистрировать локальный сервер на порте %d'+ #13#10+ 'Возможно этот порт занят другим приложением';   CreateNewConnect = 'Создано новое соединение - %d';   ConnectBreak = 'Соединение %d разорвано'; procedure TL2PacketHackMain.Log(var msg: TMessage); var   p : Pchar; begin   move(Pointer(MSG.lParam)^,P,SizeOf(PChar));   ListBox3.Lines.Add(p); end; procedure sendMSG (msg: string); var   LogMsg: pchar; begin   LogMsg:=PChar(msg);   SendMessage(L2PacketHackMain.Handle, WM_ListBox3_Log, 0, integer(@LogMsg)); end;

сам вызов происходит здесь
delphi Код:
msg:=format(StartLocalServer,[ntohs(LPortConst)]); sendMSG (msg);
если в сообщении нет чисел, то все нормально, как только есть, то fastmm4 сообщает о небольшой утеке памяти
типа такого:
Код:
This application has leaked memory. The small block leaks are (excluding expected leaks registered by pointer):

13 - 20 bytes: AnsiString x 2
21 - 36 bytes: AnsiString x 2
37 - 52 bytes: AnsiString x 1
53 - 68 bytes: AnsiString x 2
85 - 100 bytes: AnsiString x 1
И ещё. Правильно ли закрываю хэндл потока?
delphi Код:
CloseHandle(SLH);

Добавлено через 3 минуты
Цитата:
Сообщение от wanick Посмотреть сообщение
во вкладке пакетов, при очистке списка сбрасывается состояние фильтров как я долго мучался пока настраивал потом очистил список пакетов и ппц , кстати надо потыкать может еще когда скидывает он.
Я не все перенес из твоих исходников?
__________________
| Для самых ленивый | Телепаты в отпуске |Мы работаем над этим |
Не умеешь - учись, не хочешь учиться - плати © Суровый Закон Жизни



Последний раз редактировалось NLObP, 23.09.2008 в 03:47. Причина: Добавлено сообщение
NLObP вне форума   Ответить с цитированием
За это сообщение NLObP нажился спасибкой от:
Старый 23.09.2008, 08:35   #10
Пользователь
 
Регистрация: 10.10.2007
Сообщений: 39
Сказал Спасибо: 0
Имеет 7 спасибок в 5 сообщенях
Argot
По умолчанию

Цитата:
Сообщение от NLObP Посмотреть сообщение
Подскажите, как устранить здесь утечку памяти?

delphi Код:
const   {The name of the debug info support L2phx}   StartLocalServer = 'На %d зарегистрирован локальный сервер';   FailedLocalServer = 'Неудалось зарегистрировать локальный сервер на порте %d'+ #13#10+ 'Возможно этот порт занят другим приложением';   CreateNewConnect = 'Создано новое соединение - %d';   ConnectBreak = 'Соединение %d разорвано'; procedure TL2PacketHackMain.Log(var msg: TMessage); var   p : Pchar; begin   move(Pointer(MSG.lParam)^,P,SizeOf(PChar));   ListBox3.Lines.Add(p); end; procedure sendMSG (msg: string); var   LogMsg: pchar; begin   LogMsg:=PChar(msg);   SendMessage(L2PacketHackMain.Handle, WM_ListBox3_Log, 0, integer(@LogMsg)); end;

сам вызов происходит здесь
delphi Код:
msg:=format(StartLocalServer,[ntohs(LPortConst)]); sendMSG (msg);
если в сообщении нет чисел, то все нормально, как только есть, то fastmm4 сообщает о небольшой утеке памяти
типа такого:
Код:
This application has leaked memory. The small block leaks are (excluding expected leaks registered by pointer):

13 - 20 bytes: AnsiString x 2
21 - 36 bytes: AnsiString x 2
37 - 52 bytes: AnsiString x 1
53 - 68 bytes: AnsiString x 2
85 - 100 bytes: AnsiString x 1
И ещё. Правильно ли закрываю хэндл потока?
delphi Код:
CloseHandle(SLH);

Добавлено через 3 минуты


Я не все перенес из твоих исходников?

я так делаю

Код:
procedure TL2PacketHackMain.WmFinished(var msg: TMessage);
var h1:integer;
begin
   h1:=msg.WParam; // хендел отработаного потока
   CloseHandle(h1);
end;
Argot вне форума   Ответить с цитированием
Ответ

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



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

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


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

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

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