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

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

Чат (Новых сообщений с момента вашего последнего визита нет)
Загрузка...
Задавайте ваши вопросы на форуме. Чат предназначен для небольших разговоров.
 
Ответ
 
Опции темы Опции просмотра
Старый 23.03.2009, 03:49   #1
Местный
 
Регистрация: 11.10.2007
Сообщений: 144
Сказал Спасибо: 44
Имеет 7 спасибок в 7 сообщенях
Amorality
По умолчанию Уменьшение числа внутри пакета(с чтением).

Привет. В общем мне нужно при приходе пакета с ID 6C считать из него:
6C [9A 04 00 82] 78 EC 0E 00 00 00 00 00
То, что выделено квадратными скобками и ID останутся без изменения при отправке.

а вот следущие 4 байта :
6C 9A 04 00 82 [78 EC 0E 00] 00 00 00 00
Мне надо уменьшить на единицу. и получившееся:
6C C8 04 00 82 77 EC 0E 00 00 00 00 00 отправить на сервер.

Я еще плохо понимаю работу ф-ция рид и райт. Попыталась написать скрипт
Код:
if (fromclient) and (pck=#$6C) then begin
   buf:=#$6C;
   WriteD(ReadD(1));
   WriteD(ReadD(2)-1);
   WriteD(0);
   SendToServer;
end;
Но он не работает, ничего не происходит. что тут не так объясните плз

Добавлено через 10 минут
Кстати l2pbx 3.4.1 после 3ех - 5ти минут игры что бы я не делала выдает "Не отправлять отчет" уже просто достало перезаходить >_<

Последний раз редактировалось Amorality, 23.03.2009 в 17:32. Причина: Добавлено сообщение
Amorality вне форума   Ответить с цитированием
Старый 23.03.2009, 07:25   #2
Рыцарь
 
Аватар для Grinch
 
Регистрация: 29.02.2008
Сообщений: 928
Сказал Спасибо: 127
Имеет 130 спасибок в 93 сообщенях
Grinch пока неопределено
По умолчанию

это не будет работать
надо объявить переменную (так по моему проще) присвоить ей значение из пакета потом убить этот пакет от клиента 6С, конечно если он от клиента идёт я чет не совсем догнал откуда он, и отправить на сервер тот пакет который нужен. Пример см в теме да будет бот или в любом другом скрипте.
Grinch вне форума   Ответить с цитированием
Старый 23.03.2009, 14:07   #3
Местный
 
Регистрация: 11.10.2007
Сообщений: 144
Сказал Спасибо: 44
Имеет 7 спасибок в 7 сообщенях
Amorality
По умолчанию

Grinch,
Сбрасывать пакет не нужно.. Вот что-то попыталась сделать, но помоему бред, помоги написать плз что-нить подобное, только верно работающее.

Код:
var
id: Integer;
l: Integer;
begin
if (fromclient) and (pck=#$6C) then begin
   id:= StrToInt(HSTr(pck[2]+pck[3]+pck[4]+pck[5]));
   l := StrToInt(Hstr(pck[6]+pck[7]+pck[8]+pck[9])) - 1;
   buf:=#$6C;
   WriteD(id);
   WriteD(l);
   WriteD(0);
   SendToServer;
end;
end.

Последний раз редактировалось Amorality, 23.03.2009 в 14:25.
Amorality вне форума   Ответить с цитированием
Старый 23.03.2009, 14:32   #4
Местный
 
Аватар для PanAm
 
Регистрация: 18.01.2008
Сообщений: 286
Сказал Спасибо: 24
Имеет 133 спасибок в 80 сообщенях
PanAm
По умолчанию

delphi Код:
begin   if fromclient and (pck=#$6C) then begin     buf:=#$6C;     WriteD(ReadD(2));     WriteD(ReadD(6)-1);     WriteD(0);     pck := buf;   end; end.
PanAm вне форума   Ответить с цитированием
Старый 23.03.2009, 14:36   #5
Местный
 
Регистрация: 11.10.2007
Сообщений: 144
Сказал Спасибо: 44
Имеет 7 спасибок в 7 сообщенях
Amorality
По умолчанию

PanAm,
Мне не нужно заменять оригинал, оригинал должен быть отправлен а за ним еще и буфер.

Твой вариант идентичен моему первому варианту.. только ты оригинал меняешь. так вот это не работает почему-то

Добавлено через 2 минуты
А, ты тут с 6ого байта читаешь щас проверим

Последний раз редактировалось Amorality, 23.03.2009 в 14:36. Причина: Добавлено сообщение
Amorality вне форума   Ответить с цитированием
Старый 23.03.2009, 14:44   #6
Новичок
 
Регистрация: 15.03.2009
Сообщений: 26
Сказал Спасибо: 0
Имеет 11 спасибок в 7 сообщенях
Sieg пока неопределено
По умолчанию

Amorality, измененный пакет должен следовать именно ПОСЛЕ оригинала?
Sieg вне форума   Ответить с цитированием
Старый 23.03.2009, 16:20   #7
Местный
 
Аватар для PanAm
 
Регистрация: 18.01.2008
Сообщений: 286
Сказал Спасибо: 24
Имеет 133 спасибок в 80 сообщенях
PanAm
По умолчанию

тогда так
delphi Код:
begin   if fromclient and (pck=#$6C) then begin     buf:=#$6C;     WriteD(ReadD(2));     WriteD(ReadD(6));     WriteD(0);     SendToServer;     WriteD(ReadD(6)-1, 6);     SendToServer;     pck := '';   end; end.

Последний раз редактировалось PanAm, 23.03.2009 в 18:17. Причина: Добавлено сообщение
PanAm вне форума   Ответить с цитированием
Старый 23.03.2009, 17:09   #8
Новичок
 
Регистрация: 15.03.2009
Сообщений: 26
Сказал Спасибо: 0
Имеет 11 спасибок в 7 сообщенях
Sieg пока неопределено
По умолчанию

Кстати, а если от 78 отнять 1 разве получится 7А? А не 77 случайно?
Sieg вне форума   Ответить с цитированием
Старый 23.03.2009, 17:32   #9
Местный
 
Регистрация: 11.10.2007
Сообщений: 144
Сказал Спасибо: 44
Имеет 7 спасибок в 7 сообщенях
Amorality
По умолчанию

PanAm,
Я сама не понимаю.. Учу скилы на серве, ловлю пакеты.. Там гигантски большие лвл и при изучение неважно какого скила лвл уменьшается всегда на 1..

Добавлено через 33 секунды
ПС Не пашет, при ручной генерации подобного пакета кидает с серва

Добавлено через 5 минут
ПСС в 1 посте я вроде не то привела.. все верно в итоге должно быть 77 там.

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

Может так?
delphi Код:
var  tmp: integer; //временная переменная begin   if fromclient and (pck=#$6C) then begin     buf:=pck; //копируем пакет для работы     tmp:=ReadD(6)-1; //сохраним в переменной     pck := ''//удаляем     SendToServer; //отправляем пакет без изменения     WriteD(tmp, 6); //вставляем данные в пакет начиная с 6 байта     SendToServer; //отправляем изменённый пакет   end; end.

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



Последний раз редактировалось NLObP, 23.03.2009 в 18:56. Причина: Добавлено сообщение
NLObP вне форума   Ответить с цитированием
Ответ

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



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

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


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

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

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