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

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

Чат (Новых сообщений с момента вашего последнего визита нет)
Загрузка...
Задавайте ваши вопросы на форуме. Чат предназначен для небольших разговоров.
 
Ответ
 
Опции темы Опции просмотра
Старый 20.02.2011, 15:07   #21
Местный
 
Аватар для J-Fobos
 
Регистрация: 09.06.2008
Сообщений: 867
Сказал Спасибо: 175
Имеет 468 спасибок в 259 сообщенях
J-Fobos пока неопределено
По умолчанию

В пх есть функции работы с временем. В окне редактирования скриптов нажмите на кнопочку <i> (FastScript Classes). В окне что откроется зайдите в раздел Function -> Date/Time.
При приходе пакета запоминаете в переменной время его прихода, при приходе следующего пакета снова смотрите время и считаете разницу, вот будет и интервал.
__________________

В любом из нас спит гений. И с каждым днем все крепче.

Переходим на протокол нового поколения jabber
J-Fobos вне форума   Ответить с цитированием
За это сообщение J-Fobos нажился спасибкой от:
Старый 21.02.2011, 00:21   #22
Новичок
 
Регистрация: 16.02.2011
Сообщений: 15
Сказал Спасибо: 7
Имеет 3 спасибок в 3 сообщенях
TEHb пока неопределено
По умолчанию Конечно

Я так и думал что должны быть средства для работы со временем и снова спс. Собственно попробую наваять скрипт чуть позже. Никто не написал выкладывать в новую тему или тут обсуждать?

и еще я так понял, что предложение фобоса представляет собой запоминать и считать системное время моего компа между приходами пакетов, а что если сделать как я предложил считать таймером? лишняя нагрузка?

Последний раз редактировалось TEHb, 21.02.2011 в 00:47.
TEHb вне форума   Ответить с цитированием
Старый 21.02.2011, 02:51   #23
Местный
 
Аватар для J-Fobos
 
Регистрация: 09.06.2008
Сообщений: 867
Сказал Спасибо: 175
Имеет 468 спасибок в 259 сообщенях
J-Fobos пока неопределено
По умолчанию

Можно и в этой теме продолжать, всеравно уже начали Насчет определения времени таймером - мне кажется это будет сложнее в реализации.
__________________

В любом из нас спит гений. И с каждым днем все крепче.

Переходим на протокол нового поколения jabber
J-Fobos вне форума   Ответить с цитированием
Старый 21.02.2011, 23:52   #24
Новичок
 
Регистрация: 16.02.2011
Сообщений: 15
Сказал Спасибо: 7
Имеет 3 спасибок в 3 сообщенях
TEHb пока неопределено
По умолчанию Вот и первая проблема

Суть проблемы следующая когда таймер активируется счетчик i увеличивается а пакеты не отсылаются
Код:
var Timer01:TTimer;
    i:integer;
procedure Init; //Вызывается при включении скрипта
begin
    Timer01:=TTimer.Create(nil);
    Timer01.OnTimer:=@Ontimer01;
    Timer01.Interval:=5000;
    Timer01.enabled:=false;
    i:=0;
end;

procedure Free; //Вызывается при выключении скрипта
begin
    Timer01.free;
end;

Procedure OnTimer01(Sender: TObject);
begin
    buf:=HStr('17 54 D4 04 01 80 1D 26 00 1C 04 35 04 47 04 3D 04 38 04 3A 04 00 00 ');
    WriteS('Таймер сработал');
    SendToClient;
    inc(i);
    if i=10 then Timer01.Enabled:=false;
end;

begin
    if FromClient and (pck[1]=#$B2) then  
    begin
        Timer01.enabled:=true;
        buf:=HStr('17 54 D4 04 01 80 1D 26 00 1C 04 35 04 47 04 3D 04 38 04 3A 04 00 00 ');
        WriteS('Тест');
        SendToClient;
        i:=0;
    end;
end.
т.е. сообщение "тест" приходит в чат а сообщение "таймер сработал" нет

хотя счетчик i увеличивается вижу через watchlist притом он увеличивается до 10 и останавливается
слкдовательно процедура Ontimer01 срабатывает почему не шлются пакеты?
TEHb вне форума   Ответить с цитированием
Старый 22.02.2011, 00:08   #25
Местный
 
Аватар для J-Fobos
 
Регистрация: 09.06.2008
Сообщений: 867
Сказал Спасибо: 175
Имеет 468 спасибок в 259 сообщенях
J-Fobos пока неопределено
По умолчанию

Я уже много раз писал, что надо использовать SendToClientEx, я понимаю что SendToClient проще, но надо SendToClientEx.
__________________

В любом из нас спит гений. И с каждым днем все крепче.

Переходим на протокол нового поколения jabber
J-Fobos вне форума   Ответить с цитированием
За это сообщение J-Fobos нажился спасибкой от:
Старый 22.02.2011, 08:56   #26
Новичок
 
Регистрация: 16.02.2011
Сообщений: 15
Сказал Спасибо: 7
Имеет 3 спасибок в 3 сообщенях
TEHb пока неопределено
По умолчанию Вот тут проблема

Цитата:
Сообщение от J-Fobos Посмотреть сообщение
Я уже много раз писал, что надо использовать SendToClientEx, я понимаю что SendToClient проще, но надо SendToClientEx.
Допустим, что надо, почему ж первый раз отсылается без проблем?

Да и не разобрался с этим SendToClientEx

Вот к примеру в описании написано:
SendToClientEx(CharName: string) - отправляет клиенту с именем CharName содержимое переменной buf (v. 3.1.3+)

т.е имя моего чара в игре, допустим, "Бульдозер", то писать надо
SendToClientEx('Бульдозер'); Только вот когда я начал писать скрипты эта фишка не сработала вот я и больше ее никогда не писал так как и простая посылка работала. Сейчас исправлю и отпишусь позже получилось или нет. Не забываем что обсуждаем AION.

Добавлено через 13 минут
Вот и нашлось решение просто имя моего чара нифига не работало
так как скорее всего из-за того, что я назвал его по русски
Решение такое :

setName('Buldozer');

ну и собственно

SendToClientEx('Buldozer');

Дело в том что плохо описано, что CharName = ConnectionName

Добавлено через 19 минут
Сразу спрошу еще я думаю разберусь, но вдруг кто поможет раньше

Итак имеем от сервера pck он типа string, но как я понимаю строка
выглядит так:
pck=#$17#$23#$54 и. т. д.

Могу я выполнить такую операцию:
Код:
var s:string;
procedure test;
begin
    s:=pck;
    buf:=s;
    //или
    buf:=pck;
    //и если я ошибаюсь, то надо так
    s:=pck;
    buf:=HStr(s);
    //или
    buf:=HStr(pck);
end;

Последний раз редактировалось TEHb, 22.02.2011 в 08:56. Причина: Добавлено сообщение
TEHb вне форума   Ответить с цитированием
Старый 22.02.2011, 14:41   #27
Местный
 
Аватар для J-Fobos
 
Регистрация: 09.06.2008
Сообщений: 867
Сказал Спасибо: 175
Имеет 468 спасибок в 259 сообщенях
J-Fobos пока неопределено
По умолчанию

Цитата:
procedure SendToClient
Отправляет buf в направлении клиента. действует для текущего обрабатываемого соединения
Это значит в главном блоке скрипта все будет нормально, так как главный блок выполняется когда приходит какой-то пакет, а вот в таймере пакеты отправленные SendToClient пойдут неизвестно куда

Насчет строки:
Код:
    s:=pck;
    buf:=s;
    //или
    buf:=pck;
Так правильно, а buf:=HStr(pck); не правильно
__________________

В любом из нас спит гений. И с каждым днем все крепче.

Переходим на протокол нового поколения jabber
J-Fobos вне форума   Ответить с цитированием
Старый 22.02.2011, 23:51   #28
Новичок
 
Регистрация: 16.02.2011
Сообщений: 15
Сказал Спасибо: 7
Имеет 3 спасибок в 3 сообщенях
TEHb пока неопределено
По умолчанию Ну вот и все

Собственно с обучаемым ботом у меня пока ничего не получается
ибо на АЙОН не могу с помощью пакетов заставить бегать моего чара
точно знаю что за клик куда бежать отвечает пакет 9Е, но при записи
этого пакета а потом если отойти и послать этот пакет чар не бежит
кто разбирал пакет 9Е по АЙОН подскажите его структуру я сам не смог
его разложить. Возможно в этом пакете передаются не только координаты
куда бежать, но и откуда, да еще и азимут
TEHb вне форума   Ответить с цитированием
Старый 14.03.2011, 18:09   #29
Рыцарь
 
Аватар для NLObP
 
Регистрация: 25.02.2008
Адрес: г.Волгоград
Сообщений: 2,009
Сказал Спасибо: 1,285
Имеет 1,458 спасибок в 793 сообщенях
NLObP пока неопределено
По умолчанию

TEHb, выложи плиз лог пакетов от Aion начиная со входа и какие нибудь действия (походить, покрафтить, бросить, поднять, и .т.д). Мне нужно проверить правильность сделаной packetAion.ini Сами пакеты я взял из PacketSamurai.
__________________
| Для самых ленивый | Телепаты в отпуске |Мы работаем над этим |
Не умеешь - учись, не хочешь учиться - плати © Суровый Закон Жизни


NLObP вне форума   Ответить с цитированием
За это сообщение NLObP нажился спасибкой от:
Старый 14.03.2011, 18:31   #30
Местный
 
Аватар для Nickers
 
Регистрация: 23.11.2009
Сообщений: 574
Сказал Спасибо: 134
Имеет 117 спасибок в 82 сообщенях
Nickers пока неопределено
По умолчанию

Оффтоп

По делу:
Мб эт не тот пакет все таки? Прост все пакеты от клиента,что приходят, когда тыкаешь идти, кинь сюда...
Хочу по разбирать)) Думаю аналогия с Ла2 существенна...
(Призываю всех кто в Айоне с ПХ бегает) (Мб уже самому скачать )

Оффтоп
__________________
Пишу что думаю, но ничего не знаю...
[LameGuard|Скрипты l2phx]

Последний раз редактировалось Nickers, 14.03.2011 в 18:34.
Nickers вне форума   Ответить с цитированием
Ответ

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



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

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


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

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

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