PDA

Просмотр полной версии : l2phx 20 -- Arenim's edition


clyr
26.05.2008, 17:21
Выкладываю свою редакцию l2phx 20 (последняя текущая версия).

Особенности:
1. Возможность перенаправления траффика на заданный IP адрес (отдельно для логин- и гейм- сервера)
2. Добавлен новый метод: GetInet(s:string);. Этот метод шлет GET запрос на указанный URL. Это нужно, например, для лога клан-чата на (запароленном) веб ресурсе.
3. Скрипт с названием Startup включается при запуске.
4. По умолчанию используется "скрытый" режим.
5. Выводится много отладочной информации в логе сверху.

http://dump.ru/file_catalog/373942.aspx

Просьба к xkor-у. Если не затруднит -- включи эти особенности (1-3) в новые версии. Я не хочу править каждую редакцию l2phx наново, а опции кажутся полезными.

З.Ы, исходники inside :)
З.Ы.Ы. Модераторы, перезаливайте в архив, если требуется. У меня прав нетту.

Добавлено через 13 минут
упс, тока счас тему увидел), добавлю наверно но вообще я пакетхак собираюсь переписывать с нуля вскоре так что добавлять уже может в эту версию и бессмысленн...
упс, только сейчас увидел этот твой ответ в теме про другой IP адрес :) :)

Я как раз и прошу тебя добавлять эти же фичи в следующие версии.

xkor
27.05.2008, 13:47
Я как раз и прошу тебя добавлять эти же фичи в следующие версии.посмотрим, версия следующая будет совершенно другой так что и фичи эти к ней пока неизвесно как будут подходить...

clyr
27.05.2008, 16:59
xkor, ок! заранее спасибо.

кстати, следующая версия, надеюсь, будет совместимой на уровне скриптов?

xkor
27.05.2008, 17:11
clyr, ну на сколько смогу сделаю совместимость, но в новой версии я буду не фаст скрипт в качестве скриптового движка юзать так что возможны некоторые несовместимости, например в новом движке почемуто отсутствует тип Char, так что его придётся заменять либо Byte либо String в зависимости от ситуации

Grinch
27.05.2008, 21:07
xkor, меньши разговоров, а то слюни уже текут :) от твоих описаний.

clyr
28.05.2008, 02:22
xkor, не фаст скрипт, а что?

З.Ы. отказ от FS поддерживаю. Хуже движка не было и нет :)

xkor
29.05.2008, 10:22
paxScript - http://www.paxscript.com/

clyr
29.05.2008, 14:17
ага. Кстати, включи, пожалуйста, C++ начертание в стандартную поставку?

xkor
30.05.2008, 00:35
clyr, включить то включу, но наверно все примеры будут тока на паскале, хотя с паскаля на С++ перенести легче чем наоборот говорят)

clyr
30.05.2008, 01:28
xkor, не беспокойся. Я как нибудь разберусь, как писать на C++Script. Тошнит уже от вашего паскаля, простите :).

Особенно если учесть заявленную в paxscript языковую совместимость... *облизывается*

alexsl
30.05.2008, 12:02
с таким скриптовым движком это будеть вооще "ВЕЩЬ" :D
особенно радует поддержка классов, как раз то, чего не хватало.
зы: плз не забудь про реализацию передачи данных между скриптами, типа глобальных переменных или ченить в этом роде (имхо типа глобального модуля вызываемого при инициализации скрипта).

dmitry501
30.05.2008, 13:53
не уверен что у него быстродействие на высоте.

clyr
30.05.2008, 17:45
dmitry501, быстродействие у подобных скрипт-языков всегда... известно где. Но на ихнем оффсайте всерьез народ занимается разработкой полноценной гуйни на базе скрипт-языка. Значит все таки получше, чем FS будет...

dmitry501
30.05.2008, 18:41
зачем мне гуи на скрипте?
скрипты нужны для быстрой проверки идеи, быстрого и легкого написания алгоритма и чтобы не тормозил при большом потоке пакетов.
а объекты - классы и прочие извращения оставьте большим взрослым языкам. вот в хлапексе и л2прокси был необходимый минимум команд и всем хватало.

clyr
31.05.2008, 02:05
скрипты нужны для быстрой проверки идеи, быстрого и легкого написания алгоритма и чтобы не тормозил при большом потоке пакетов.
а еще они нужны для быстрого создания автоматических модулей для игры. С графический интерфейс для конечного пользователя (читай: сокланов) тут весьма кстати.

Кроме того, я о другом. Если скрипт-язык точится под ГУИ -- значит у него не так все плохо со скоростью.

alexsl
31.05.2008, 05:16
вообщем простой тест:

- P4 1,7 512 mb
- l2ph 3.2.0 (Test Init)
- paxScript IDE (Run -> F9)


procedure Init; //Вызывается при включении скрипта
var
i, k: Integer;
t,r: double;
begin
t := time();
k := 1;

for i := 0 to 200000 do
k := StrToInt(IntToStr(i));
r:= (time() - t)/1000;
showmessage(floattostr(r));
end;


- код в paxScript IDE


uses SysUtils,dialogs;
var
i, k: Integer;
t,r: double;
begin
t := time();
k := 1;

for i := 0 to 200000 do
k := StrToInt(IntToStr(i));
r:= (time() - t)/1000;
showmessage(floattostr(r));
end.

-------------------------------------------
результаты:
- l2phx: 1,4282 1,4282 1,4282
- Pax: 2,9837 3,0196 2,9293
------------------------------------------
результаты грят сами за себя.:confused:
зы: не совсем ясно с paxScript IDE, возможно при каждом запуске идет компиляция

dmitry501
31.05.2008, 14:04
Если он тормознее, чем фастскрипт ажно в 2 раза, то ну его нафик

Grinch
31.05.2008, 21:37
Если он тормознее, чем фастскрипт ажно в 2 раза, то ну его нафик

+1 но длл вроде работает по умолчанию paxScript

xkor
01.06.2008, 13:56
вообщем простой тест:

- P4 1,7 512 mb
- l2ph 3.2.0 (Test Init)
- paxScript IDE (Run -> F9)


procedure Init; //Вызывается при включении скрипта
var
i, k: Integer;
t,r: double;
begin
t := time();
k := 1;

for i := 0 to 200000 do
k := StrToInt(IntToStr(i));
r:= (time() - t)/1000;
showmessage(floattostr(r));
end;


- код в paxScript IDE


uses SysUtils,dialogs;
var
i, k: Integer;
t,r: double;
begin
t := time();
k := 1;

for i := 0 to 200000 do
k := StrToInt(IntToStr(i));
r:= (time() - t)/1000;
showmessage(floattostr(r));
end.

-------------------------------------------
результаты:
- l2phx: 1,4282 1,4282 1,4282
- Pax: 2,9837 3,0196 2,9293
------------------------------------------
результаты грят сами за себя.:confused:
зы: не совсем ясно с paxScript IDE, возможно при каждом запуске идет компиляциятвоё сравнение немного некорректно, дело в том что IntToStr и StrToInt в FastScript встроенные функции, а в paxScript они добавляются, из за этого и такая разница в скорости, но в paxScript есть встроенные аналоги этих функций, и вот такой скрипт в paxScript работает абсрлютно так же как и твой но чуть бустрее чем FastScript:
uses SysUtils,dialogs;
var
i, k: Integer;
t,r: double;
begin
t := time();
k := 1;

for i := 0 to 200000 do
k := Integer(String(i));
r:= (time() - t)*86400000;
showmessage(String(r));
end.
ну и для FastScript тоже исправил чтоб отображалось количество милисекунд а не непонятное число:
procedure Init; //Вызывается при включении скрипта
var
i, k: Integer;
t,r: double;
begin
t := time();
k := 1;

for i := 0 to 200000 do
k := StrToInt(IntToStr(i));
r:= (time() - t)*86400000;
showmessage(floattostr(r));
end;

begin
end.
в результате этих изменений результаты тестирования такие:
paxScript: 531 мс, 515 мс, 547 мс
FastScript: 577 мс, 625 мс, 594 мс
результат на лицо)
ЗЫ процессор - AMD Athlon 64 3800+

Добавлено через 12 минут
кстати небольшое разяснение навсякий случай:
String(x) - возвращает результат преобразования x в строку, чем бы x не было изначально, тоесть
если x: Integer = 12, то String(x) = '12'
если x: Double = 52.4234, то String(x) = '52.4234'
тоесть она заменяет наверное почти все ...ToStr функции
аналогично и Integer(x) преобразует x из почти чего угодно в целое число, x может быть и строкой типа '342' и дробным числом, от которого обрежиться дробная часть...

alexsl
01.06.2008, 17:12
класс!
ждемс реализ!:D


в результате этих изменений результаты тестирования такие:
paxScript: 531 мс, 515 мс, 547 мс
FastScript: 577 мс, 625 мс, 594 мс
результат на лицо)
ЗЫ процессор - AMD Athlon 64 3800+

и это радует :D

зы:кстати тест был взят из бренча пакса.

xkor
01.06.2008, 17:18
А вот тест в котором paxScript более чем в 2 раза лучше себя показывает чем FastScript
итак код paxScript:
uses SysUtils,dialogs;
var
i, k, j, u, x, y, z: Integer;
t,r: double;
begin
t := time();
z := 20;
for i := 0 to z do
for j := 0 to z do
for u := 0 to z do
for x := 0 to z do
for y := 0 to z do
k := k xor i xor j xor u xor x xor y;
r:= (time() - t)*86400000;
showmessage(String(r));
showmessage(String(k));
end.
код FastScript:
procedure Init; //Вызывается при включении скрипта
var
i, k, j, u, x, y, z: Integer;
t,r: double;
begin
t := time();
z := 20;
for i := 0 to z do
for j := 0 to z do
for u := 0 to z do
for x := 0 to z do
for y := 0 to z do
k := k xor i xor j xor u xor x xor y;
r:= (time() - t)*86400000;
showmessage(floattostr(r));
showmessage(IntToStr(k));
end;

begin
end.

Результаты:
paxScript - 1563 мс, 1625 мс, 1609 мс
FastScript - 3797 мс, 3828 мс, 3781 мс

Добавлено через 5 минут
кстати тот же код скомпиленый дельфиком выполняется за 15 мс так что в сравнении с реальным кодом отставание всёравно дикое...

MHz
02.06.2008, 14:16
А вот тест ...
paxScript - 1563 мс
FastScript - 3797 мс
Delphi - 15 мс

Может все-таки лучше сделать стандартный интерфейс к dll и писать эту dll на Delphi (или мне больше нравится C++)?
От пакетхака-то ведь по большому счету требуется "пакет" а так же инфа откуда он и чей (пакет).
Незнаю как другие а я использую пакетхак как ингейм-бота и для меня оч. важна скорость выполнения.

P.S. А так же мечтаю о многопоточности

Aniks
02.06.2008, 14:58
Пакетхак - не только гениальная программа, но и многопоточная, поэтому не совсем понятно, а какой же многопоточности ты ещё мечтаешь?

А для ингейма, так как сорсы открыты, выкинуть скриптовый движок из пакетхака, а на месте, где пакет передаётся скрипту, вставить свой обработчик...

MHz
02.06.2008, 15:40
Пакетхак - не только гениальная программа, но и многопоточная, поэтому не совсем понятно, а какой же многопоточности ты ещё мечтаешь?
Многопотчность на таймерах не совсем то, чего хотелось бы...


А для ингейма, так как сорсы открыты, выкинуть скриптовый движок из пакетхака, а на месте, где пакет передаётся скрипту, вставить свой обработчик...
Оk, видимо это лучший вариант, придется искать и качать Delphi 2006 ...

Grinch
02.06.2008, 16:07
Оk, видимо это лучший вариант, придется искать и качать Delphi 2006 ...

Delphi 2007 качай сразу :)

Aniks
02.06.2008, 16:58
Необязательно новый Делфи, у меня в старой (7) тож нормально всё компильнулось, кажется только трэй-иконку пришлось выкинуть.

xkor
02.06.2008, 17:01
нормальная поддержка dll в новом пакетхаке будет не только в скриптах, но чисто пакетхаком

robixs
25.06.2008, 04:33
xkor, hi tell me in english what im use phx for add skills and dupe items please help me:( im dont speak russian:( if you have phx in english version please link

alexsl
25.06.2008, 06:56
хотелось бы иметь возможность изменять ключики из скрипта не ковыряя длл. имхо это было бы очень удобно.

Grinch
25.06.2008, 20:58
хотелось бы иметь возможность изменять ключики из скрипта не ковыряя длл. имхо это было бы очень удобно.

угу и очень бы ускорило расшифровку потока данных :o , подумай о производительности.

robixs
26.06.2008, 19:30
if have codes in package of duplication items send pm please help :)

QaK
27.06.2008, 08:34
if have codes in package of duplication items send pm please helpUse translator!Read the rules of forum! Бля как же вы достали!

clyr
02.07.2008, 21:23
Может все-таки лучше сделать стандартный интерфейс к dll и писать эту dll на Delphi (или мне больше нравится C++)?
От пакетхака-то ведь по большому счету требуется "пакет" а так же инфа откуда он и чей (пакет).
Моя сделает конвертер кода PascalScript -> DelphiDLL для новой l2phx, когда она выйдет.

Кстати, бета уже есть?

xkor
03.07.2008, 07:49
даже близко к альфе нету...

clyr
03.07.2008, 12:04
ясно. жаль.

Вообще, если хочешь, готов помочь с разработкой. Создай svn/cvs, выложи архитектуру и...

xkor
04.07.2008, 16:29
боюсь время у меня на этот проект появиться очень не скоро.., может вообще не появится так что пока не до этого...
счас занимаюсь восновном своим ботом, кстати скрипты там уже работают на уровне пакетхака

clyr
05.07.2008, 02:13
xkor, ОЧЕНЬ жаль.

Для сообщества l2phx на порядок ценнее, чем бот.

Тогда тем более -- выложи хотя бы архитектуру и все идеи, которые должны быть в новом перехватчике.

Уж техническую разработку этого проекта я могу себе позволить.

xkor
05.07.2008, 02:32
clyr, я сделал тока отображение списка процессов пока так что выкладывать можно сказать нечего...

Лялёк
05.07.2008, 03:49
xkor, ОЧЕНЬ жаль.

Для сообщества l2phx на порядок ценнее, чем бот.

Тогда тем более -- выложи хотя бы архитектуру и все идеи, которые должны быть в новом перехватчике.

Уж техническую разработку этого проекта я могу себе позволить.

Нифига ! бот важнее и многие готовы заплатить за бота а l2phx нафиг не нужен

clyr
06.07.2008, 20:02
Лялёк, тут такое дело.

1. Для разработки полноценного бота (уровня walker) нужна команда программистов. Замечу, хорошо оплачиваемая и сильная команда. ИЛИ нужно ОЧЕНЬ сильное и мотивированное сообщество разработчиков.

У нас нет ни оплаты (оплата -- это около 15к у.е. в месяц, а не 1$ за бота), ни сообщества (стадо пакето-просителей, 5-10 хакеров и 3-5 разработчиков). А главное -- наше сообщество очень плохо мотивировано. Вот xkor фактически написал о заморозке l2phx (у которого чуть ли не тысячи пользователей) -- а дергаюсь один я.

Так что нормального бота не будет. Будет "бот для шока" -- не вопрос. Но урезанный и не настолько конфигурируемый, как волкер.

2. Кроме того, l2phx -- это как раз тулза для того, чтобы:
а) прикрутить ее в дополнение к "целому" волкеру (как аналог wpf)
б) главное! l2phx -- это способ быстро написать автоматический модуль к линейке. Я про автотаргет, автопродажу, радар, автоатаку по таргету и многое другое. Я например сокланам пишу интерфейсы через встроенный html в клиенте линейки. Здесь аналогов нету совсем: никакой hLaPeX или wpf не дают ПРОСТОГО и УДОБНОГО инструментария для такой разработки.

Так что насчет того, что бот нужнее -- кому он нужнее?

Огромной куче скриптописателей на форуме (которые генерируют ОЧЕНЬ много кода, причем качественного) ваш бот не сдался.

Огромной куче юзеров, конечно, нужен бот. Но они не напишут ни строчки ценного кода. Они не принесут ничего полезного (кроме, возможно, денег).

Я -- из "скриптописателей". И я в гробу вашего бота видел.

З.Ы. Я уж не говорю о том, что если сделать в l2phx следующие фичи:
а) поддержку dll -- полноценную.
б) обмен данными между скриптами
-- то ОГ бот на базе l2phx написан будет.

З.Ы.Ы. Кстати, по поводу коммерциализации. Опять же, если в l2phx будет сделана поддержка .dll библиотек, то xkor сможет очень неплохо на нем зарабатывать -- на продаже dll скиптов. За подробным описанием бизнес-модели -- в ПМ.

KoC
07.07.2008, 09:11
Нифига ! бот важнее и многие готовы заплатить за бота а l2phx нафиг не нужен

+100500 бот нужен как воздух а глючные пакетники не практичны.

NLObP
07.07.2008, 11:31
Если некоторые, кроме как готовым пользоваться не могут, то им конечно бот нужнее.:p

Faery
09.07.2008, 04:56
Если некоторые, кроме как готовым пользоваться не могут, то им конечно бот нужнее.:p

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

raid
09.07.2008, 10:49
+100500 бот нужен как воздух а глючные пакетники не практичны.
Мне дак бот нафиг не сдался волкер есть... а на l2phx я хоть чо могу написать, хоть бафера ВК) или БД)

Mauserr
09.07.2008, 12:04
Мне дак бот нафиг не сдался волкер есть... а на l2phx я хоть чо могу написать, хоть бафера ВК) или БД)

Ты напиши а потом и говори можеш или нет на словах все горазды потрепаться.
Час два он работать могет и будет а потом крит еррор. Нах такое счастие надо

NLObP
09.07.2008, 12:43
Ну есть конечно и дебилы, которые изобретают деревянный велосипед вместо того чтобы купить в магазине и нормально поехать.

Час два он работать могет и будет а потом крит еррор. Нах такое счастие надо

А почему, есть такие, у которых всё не работает?! Даже то, что 100% работает! Чем лично вы помогли проекту, чтобы не было критических ошибок? Исходники есть - вперед. Или только флудить можете?
Вы двое, считаете, что в гипотетическом боте само всё появиться и ошибок не будет? Хоть раз, что нибудь писали?

Добавлено через 2 минуты
Ты напиши а потом и говори можеш или нет на словах все горазды потрепаться.

Кстати, он то, напишет. Уже есть видимые результаты. А ты?
А может ты хочешь, чтобы он и тебе и таким как ты флудерам написал, нахаляву?

raid
09.07.2008, 14:08
Ты напиши а потом и говори можеш или нет на словах все горазды потрепаться.
Час два он работать могет и будет а потом крит еррор. Нах такое счастие надо
http://coderx.ru/showpost.php?p=10922&postcount=541
http://coderx.ru/showpost.php?p=10646&postcount=1
хотя бы это напиши)
ну а баферы у меня написаны и работают как часы) да и много что еще написано, но выкладывать это просто так врятли кому захочется...

xkor
09.07.2008, 15:07
хватит сраться, закрыто.