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

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

Чат (Новых сообщений с момента вашего последнего визита нет)
Загрузка...
Задавайте ваши вопросы на форуме. Чат предназначен для небольших разговоров.
 
Ответ
 
Опции темы Опции просмотра
Старый 03.09.2009, 12:29   #1
Местный
 
Аватар для Sashafaq
 
Регистрация: 03.05.2008
Адрес: Ростов-на-Дону
Сообщений: 214
Сказал Спасибо: 19
Имеет 24 спасибок в 18 сообщенях
Sashafaq пока неопределено
По умолчанию Еще 1 вопросик

Помогите пожалста )
мне нужно из 1 пакета сосчитать с 2 по 24 бит включительно и добавить к нему еще 4 бита
это нужно для того чтобы иг бот мог ходить у меня на серве
там пакет (MoveBackwardToLocation) от клиента немного отличается от пакета который бот отправляет ( последними 4 битами 01 00 00 00 что означает что я типо мышкой нажал)

я сделал вот так
Код:
const
b1= '01 00 00 00';

var
cursq :String; //координаты бота

procedure Init; //Вызывается при включении скрипта
begin

end;

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

end;

procedure OnConnect(WithClient: Boolean); //Вызывается при установке соединения
begin

end;

procedure OnDisonnect(WithClient: Boolean); //Вызывается при потере соединения
begin
end;
begin
if FromClient and (pck[1]=#$01) then
begin
cursq:=pck;
pck:=cursq + hstr(b1);
end;
end.
но он то работает но он добавляет к пакету от клиента туже строку ))
помогите переделать немного

простите что такой примитивный вопрос но я долбался часа 4 чтобы написать такую шнягу и перепробывал много чего пользуясь примерами на этом сайте
Sashafaq вне форума   Ответить с цитированием
Старый 03.09.2009, 13:00   #2
Рыцарь
 
Аватар для mks
 
Регистрация: 21.09.2007
Сообщений: 376
Сказал Спасибо: 11
Имеет 218 спасибок в 106 сообщенях
mks пока неопределено
По умолчанию

Sashafaq, начнем с того что ты говоришь про байты а не биты, если тебе надо заменить последние 4 байта с 25го на 01 00 00 00 в пакете от клиента с ИД 01, то сделай так:
Код:
begin
if FromClient and (pck[1]=#$01) then
begin
buf:=pck;
WriteD(1,25);
pck:=buf;
end;
end.
если я тебя не правильно понял выложи оба пакета, какой идет, и какой надо что б шел, подправим
__________________
FA©Q!

Последний раз редактировалось mks, 03.09.2009 в 13:52.
mks вне форума   Ответить с цитированием
За это сообщение mks нажился 2 спасибками от:
Старый 03.09.2009, 13:33   #3
Местный
 
Аватар для Sashafaq
 
Регистрация: 03.05.2008
Адрес: Ростов-на-Дону
Сообщений: 214
Сказал Спасибо: 19
Имеет 24 спасибок в 18 сообщенях
Sashafaq пока неопределено
По умолчанию

ты меня прально понял огромное пасибо тебе )

Добавлено через 2 минуты
ну чтото не оч получается выходит пакет уже не с ID 01

Последний раз редактировалось Sashafaq, 03.09.2009 в 13:33. Причина: Добавлено сообщение
Sashafaq вне форума   Ответить с цитированием
Старый 03.09.2009, 13:53   #4
Рыцарь
 
Аватар для mks
 
Регистрация: 21.09.2007
Сообщений: 376
Сказал Спасибо: 11
Имеет 218 спасибок в 106 сообщенях
mks пока неопределено
По умолчанию

Sashafaq, поправил во WriteD местами поменял числа, ато он не 1 в 25й писал, а 25 в 1й байт)
__________________
FA©Q!
mks вне форума   Ответить с цитированием
Старый 04.09.2009, 00:09   #5
Рыцарь
 
Аватар для NLObP
 
Регистрация: 25.02.2008
Адрес: г.Волгоград
Сообщений: 2,009
Сказал Спасибо: 1,285
Имеет 1,458 спасибок в 793 сообщенях
NLObP пока неопределено
По умолчанию

Sashafaq, ты говорил, что надо 4 байта добавлять в конец, это так?

Проверь этот скрипт.
delphi Код:
//основная часть скрипта //вызывается при приходе каждого пакета если скрипт включен begin   if pck='' then exit; //пропускаем пустые пакеты   if FromClient and (pck[1]=#$01) then   begin     buf:=pck; //сохранили пакет     pck:='';   //очистили пакет     buf:=buf + hstr('01 00 00 00')//создали новый     SendToServer;          //отправили на сервер   end; end.
__________________
| Для самых ленивый | Телепаты в отпуске |Мы работаем над этим |
Не умеешь - учись, не хочешь учиться - плати © Суровый Закон Жизни



Последний раз редактировалось NLObP, 04.09.2009 в 00:11.
NLObP вне форума   Ответить с цитированием
За это сообщение NLObP нажился 2 спасибками от:
Старый 04.09.2009, 02:32   #6
Местный
 
Аватар для Sashafaq
 
Регистрация: 03.05.2008
Адрес: Ростов-на-Дону
Сообщений: 214
Сказал Спасибо: 19
Имеет 24 спасибок в 18 сообщенях
Sashafaq пока неопределено
По умолчанию

пасиб конешн но у мя подобие такого скрипт
но я хотел бы выборочно добавлять в конец ,если так оставить то от иг бота пральные пакеты идут а от клиента длиннее ,я хочу чтобы конкретно кажется с 25 бита были вот эти 01 00 00 00
Sashafaq вне форума   Ответить с цитированием
Старый 04.09.2009, 09:55   #7
Рыцарь
 
Аватар для TAMBIK
 
Регистрация: 03.03.2009
Сообщений: 773
Сказал Спасибо: 361
Имеет 300 спасибок в 168 сообщенях
TAMBIK на пути к лучшему
По умолчанию

Sashafaq,

от mks,
Код:
если я тебя не правильно понял выложи оба пакета, какой идет, и какой надо что б шел, подправим
покажи пакеты
mks, как посоветовал что у те не получается

Добавлено через 9 минут
delphi Код:
//основная часть скрипта //вызывается при приходе каждого пакета если скрипт включен begin   if pck='' then exit; //пропускаем пустые пакеты   if FromClient and (pck[1]=#$01) then   begin     buf:=pck; //сохранили пакет     pck:='';   //очистили пакет     WriteD(1,25); //добавили с 25--01 00 00 00     SendToServer;          //отправили на сервер   end; end.
__________________
Тут не форум гадалок, если ты делаешь все правильно и по пунктам - то все должно работать

Последний раз редактировалось TAMBIK, 04.09.2009 в 09:55. Причина: Добавлено сообщение
TAMBIK вне форума   Ответить с цитированием
Старый 05.09.2009, 22:25   #8
Рыцарь
 
Аватар для mks
 
Регистрация: 21.09.2007
Сообщений: 376
Сказал Спасибо: 11
Имеет 218 спасибок в 106 сообщенях
mks пока неопределено
По умолчанию

TAMBIK,
Код:
    buf:=pck; //сохранили пакет
    pck:='';   //очистили пакет
    WriteD(1,25); //добавили с 25--01 00 00 00
    SendToServer;          //отправили на сервер
конечно работать будет и так, но зачем сначала убивать пакет, а потом отправлять новый, если можно тупо заменить старый(как в моем варианте), еще плюс уже и коннект выбирать не придется, он пойдет туда куда и шел
__________________
FA©Q!
mks вне форума   Ответить с цитированием
Старый 05.09.2009, 23:35   #9
Рыцарь
 
Аватар для NLObP
 
Регистрация: 25.02.2008
Адрес: г.Волгоград
Сообщений: 2,009
Сказал Спасибо: 1,285
Имеет 1,458 спасибок в 793 сообщенях
NLObP пока неопределено
По умолчанию

mks, изменение длины строки в переменной pck пакетхак нормально отработает?
__________________
| Для самых ленивый | Телепаты в отпуске |Мы работаем над этим |
Не умеешь - учись, не хочешь учиться - плати © Суровый Закон Жизни



Последний раз редактировалось NLObP, 06.09.2009 в 02:46.
NLObP вне форума   Ответить с цитированием
Старый 06.09.2009, 00:33   #10
Рыцарь
 
Аватар для mks
 
Регистрация: 21.09.2007
Сообщений: 376
Сказал Спасибо: 11
Имеет 218 спасибок в 106 сообщенях
mks пока неопределено
По умолчанию

Цитата:
Сообщение от NLObP Посмотреть сообщение
mks, изменении длины строки в переменной pck пакетхак нормально отработает?
а длина строки и так и так останется такой какой и была, например WriteD(255,2) тупо заменит в buf buf[2..5] на FF 00 00 00
или ты о чем?

Добавлено через 2 минуты
а, врубился че ты имел в виду, если размер пакета поменяется, хз не проверял вроде
__________________
FA©Q!

Последний раз редактировалось mks, 06.09.2009 в 00:33. Причина: Добавлено сообщение
mks вне форума   Ответить с цитированием
Ответ

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



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

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


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

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

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