Вернуться   CoderX :: Forums > Lineage II > L2PacketHack > Скриптинг
Войти через OpenID

Скриптинг Форум посвещенный созданию скриптов для L2PacketHack

Чат (Новых сообщений с момента вашего последнего визита нет)
Загрузка...
Задавайте ваши вопросы на форуме. Чат предназначен для небольших разговоров.
 
Ответ
 
Опции темы Опции просмотра
Старый 26.12.2016, 10:00   #1
Новичок
 
Регистрация: 07.11.2016
Сообщений: 4
Сказал Спасибо: 1
Имеет 0 спасибок в 0 сообщенях
dashenok пока неопределено
По умолчанию Прошу помощи

Добрый день.

Можно ли как-то в рамках скрипта объявить свой тип?
Пытаюсь написать что-то вроде:
Код:
type
    coords = array[0..2] of integer;
Но скрипт не компилируется...

И еще вопрос по многомерным массивам... Можно ли как-то получить ссылку на отдельную строку, т.е. на вложенный массив?
Пример:
Код:
var
    a: array[0..2, 0..5] of integer;

begin
    a[0] := [1, 2, 3, 4, 5, 6];
end.
При таком варианте компилятор пишет о недостатке параметров при обращении к массиву, т.е. просит указывать оба индекса для обращения к конкретному элементу.
dashenok вне форума   Ответить с цитированием
Старый 26.12.2016, 14:55   #2
Местный
 
Аватар для SeregaZ
 
Регистрация: 16.08.2009
Сообщений: 1,189
Сказал Спасибо: 4
Имеет 224 спасибок в 177 сообщенях
SeregaZ пока неопределено
По умолчанию

два или даже три массива не судьба? типа массив Х 10 элементов, Y - 10 и Z - 10. и после просто по одному и тому-же индексу читай.
__________________
хочу картинку в подпись!
SeregaZ вне форума   Ответить с цитированием
Старый 26.12.2016, 20:59   #3
Новичок
 
Регистрация: 07.11.2016
Сообщений: 4
Сказал Спасибо: 1
Имеет 0 спасибок в 0 сообщенях
dashenok пока неопределено
По умолчанию

Нет, не судьба, мне удобно работать именно с тем кодом, который я описал выше.
Вариант с несколькими массивами буду рассматривать в случае невозможности моей реализации.
dashenok вне форума   Ответить с цитированием
Старый 27.12.2016, 23:33   #4
Местный
 
Регистрация: 22.10.2014
Сообщений: 105
Сказал Спасибо: 1
Имеет 5 спасибок в 5 сообщенях
alexov пока неопределено
По умолчанию

Я проходил этот путь 2 года назад, намучился и истратил кучу времени.
Выводы сделал такие - скриптовые языки, они для простых вещей, не надо на них программировать. это чистая боль.

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

Если не нравится delphi, то можно свою софтину накатать. на самом деле нет ничего сложного в том чтобы перехватить траффик и расшифровать его (если стандартная шифрация), чем быть завязанным на l2ph.

кроме того у l2ph проблемы с производительностью, если наростишь функционал в скрипте, упрешься в 100% загрузку ядра процессора, начнет копиться очередь пакетов и все накроется п****й
alexov вне форума   Ответить с цитированием
За это сообщение alexov нажился спасибкой от:
Старый 28.12.2016, 13:15   #5
Новичок
 
Регистрация: 07.11.2016
Сообщений: 4
Сказал Спасибо: 1
Имеет 0 спасибок в 0 сообщенях
dashenok пока неопределено
По умолчанию

Спасибо за ответ.

Сам буквально неделю копаюсь во всем этом, но уже на 2ой день стало понятно, что возможностей FS крайне мало... Приходится использовать кучу костылей, а написанный код становится просто ужасным в сопровождении.

С плагинами пока не совсем понятно...

Пробовал скомпилировать простейшую dll'ку, содержащую пару функций, подключал в скрипте через LoadLibrary, вызывал функции, используя CallFunction, все работает, все здорово, за исключением передачи строк и других более сложных объектов, но это тоже, как я понял, нормально, из-за разных пространств в выделяемой памяти.

Вопрос в том, как использовать функции, которые по умолчанию доступны в скрипте: Read, Write, SendToServer, SendToClient и т.д.?

Вот здесь описана структура плагина -> http://coderx.ru/showthread.php?t=890

Как я понял, описанная структура реализована в самом l2phx и процедуры onConnect, OnPacket, ... будут вызываться в ответ на события, которые возникают в l2phx?
dashenok вне форума   Ответить с цитированием
Старый 28.12.2016, 15:50   #6
Местный
 
Аватар для ScythLab
 
Регистрация: 24.10.2014
Сообщений: 151
Сказал Спасибо: 4
Имеет 33 спасибок в 31 сообщенях
ScythLab пока неопределено
По умолчанию

Цитата:
Сообщение от dashenok Посмотреть сообщение
Вопрос в том, как использовать функции, которые по умолчанию доступны в скрипте: Read, Write, SendToServer, SendToClient и т.д.?
Наверно ответ на твой вопрос в структуре TPluginStruct.

Только решение, в системе плагинов в коммуникационные функции добавлять аргументы и результат типа string, очень спорное и с этим можно получить немало багов.
__________________
Хобби: разработка бота для Lineage.
ScythLab вне форума   Ответить с цитированием
Старый 28.12.2016, 16:17   #7
Новичок
 
Регистрация: 07.11.2016
Сообщений: 4
Сказал Спасибо: 1
Имеет 0 спасибок в 0 сообщенях
dashenok пока неопределено
По умолчанию

Цитата:
Сообщение от ScythLab Посмотреть сообщение
Наверно ответ на твой вопрос в структуре TPluginStruct.

Только решение, в системе плагинов в коммуникационные функции добавлять аргументы и результат типа string, очень спорное и с этим можно получить немало багов.
Пример с той ветки так и не получилось откомпилировать, взял оттуда > http://l2ph.coderx.ru/arhive/l2ph_he...=plugdemo1.htm
Вроде бы получилось, вечером попробую что-нибудь простое написать.

Пример со строкой был лишь проверкой возможности использования собственных библиотек.


Еще такой вопрос...
Сложно ли написать свой перехватчик пакетов, скажем, на C#?
dashenok вне форума   Ответить с цитированием
Старый 28.12.2016, 18:36   #8
Местный
 
Регистрация: 22.10.2014
Сообщений: 105
Сказал Спасибо: 1
Имеет 5 спасибок в 5 сообщенях
alexov пока неопределено
По умолчанию

var listener = new TcpListener(IPAddress.Any, port);
listener.Start();

while (true)
{
var client = await listener.AcceptSocketAsync();
ThreadPool.QueueUserWorkItem(q => {
//client.Receive()
//client.Send()
// profit!!1
});
}
alexov вне форума   Ответить с цитированием
Ответ

  CoderX :: Forums > Lineage II > L2PacketHack > Скриптинг


Опции темы
Опции просмотра

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

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


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

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

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