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

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

Чат (Новых сообщений с момента вашего последнего визита нет)
Загрузка...
Задавайте ваши вопросы на форуме. Чат предназначен для небольших разговоров.
 
Ответ
 
Опции темы Опции просмотра
Старый 03.01.2008, 16:42   #1
Новичок
 
Регистрация: 03.01.2008
Сообщений: 8
Сказал Спасибо: 0
Имеет 0 спасибок в 0 сообщенях
Shnaider
По умолчанию Можно так сделать?

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

Может ещё кто то вот этот пример xkor'а
Код:
begin
  if FromClient and (ConnectName='SokolA') 
  and (pck=HStr('1b 04 00 00 00')) then begin
    buf:=HStr('45 00 00 00 00 00 00 00 00 00');
    SendToServerEx('SokolB');
    pck:='';
  end;
end.
Переделать так чтобы,когда SokolA нажимает Victory(или любое другое)SokolB брал цель SokolA через ассист и атаковал бы его вручную,тоесть просто одетым оружием без скилов.
Просто я непонял как выполняется ассист,как пакет его невидно,он наверное в клиенте делается,а сервак даёт разрешение на взятие в таргет.Вообще непонимаю в этих скриптах ничего толком.Если кому нетрудно сделать сразу совмещённый скрипт,чтобы SokolB бегал за SokolA по таким же координатам которые отправляет SokolA и по его же комманде атаковал мобов,буду очень признателен :) :oops:
Если трудно сделать или нереально чтобы SokolB повторял пакеты SokolA на бег по координатам,то буду рад скрипту с бегом хотя бы через двойной таргет.Зарание блогодарен любой помощи :)
Shnaider вне форума   Ответить с цитированием
Старый 03.01.2008, 20:45   #2
Пользователь
 
Аватар для skymanrus
 
Регистрация: 28.12.2007
Сообщений: 54
Сказал Спасибо: 0
Имеет 40 спасибок в 10 сообщенях
skymanrus пока неопределено
По умолчанию

Цитата:
Если трудно сделать или нереально
Никогда не говори никогда :)
Код:
begin // main!!!!!!!!!!!!!!!!!!!

if FromClient and (ConnectName='SokolA') and (pck[1]=#$48) then  //мы сошли с места
begin
buf:=#$01;
WriteD(ReadD(2));
WriteD(ReadD(6));
WriteD(ReadD(10));
WriteD(0);
WriteD(0);
WriteD(0);
buf:=buf+#$01+#$00+#$00+#$00;
SendToServerEx('SokolB');
end;

end.
я не испытывал этот скрипт но по идее должен работать
я надеюсь его смысл понятен :)
__________________
На людей сердишся, когда чувсивуешь, что их поступки важны. Ничего подобного я больше не чувствую...
skymanrus вне форума   Ответить с цитированием
Старый 04.01.2008, 12:10   #3
Новичок
 
Регистрация: 03.01.2008
Сообщений: 8
Сказал Спасибо: 0
Имеет 0 спасибок в 0 сообщенях
Shnaider
По умолчанию

Спасибо за помощь,щас попробую его на деле
Ураааа,спасибо тебе,всё работает на ура :)

Добавлено спустя 12 минут 21 секунду:
Скрипт классный,всё устраивает,только почему то SokolB когда атакует цель,бьёт её только 1 раз,потом нужно опять нажимать,можно это как то обойти?и добавить туда функцию атаки по комманде от SokolA? :roll:

Добавлено спустя 13 часов 45 минут 9 секунд:
Я вот как подумал сделать,чтобы SokolB атаковал как и положено цель,до тех пор пока она неумрёт,надо делать приостановку скрипта хотьбы за SokolA.Можете сделать чтобы скрипт хотьбы за SokolA включался по действию Pick Up А когда SokolA выполняет действие Victory,SokolB атаковал цель SokolA,потом если SokolA нажимает Pick UP то SokolB нажимает Pick UP столько раз сколько нажал SokolA и скрипт хотьбы включается???.Хочется чтобы действия Pick Up и Victory от SokolA недоходили до сервера и обрабатывались только в L2phx
Shnaider вне форума   Ответить с цитированием
Старый 08.01.2008, 16:48   #4
Новичок
 
Регистрация: 03.01.2008
Сообщений: 8
Сказал Спасибо: 0
Имеет 0 спасибок в 0 сообщенях
Shnaider
По умолчанию

Блин так никто и нехочет писать скрипт=(
Shnaider вне форума   Ответить с цитированием
Старый 09.01.2008, 10:57   #5
Рыцарь
 
Аватар для QaK
 
Регистрация: 28.09.2007
Сообщений: 1,558
Сказал Спасибо: 71
Имеет 351 спасибок в 244 сообщенях
QaK пока неопределено
По умолчанию

Цитата:
Сообщение от Shnaider
Блин так никто и нехочет писать скрипт=(
Попробуй сам, тут просто так мало кто будет писать готовые скрипты, если только для себя напишут и выложат, а на заказ - или за бабосы или лень :D
QaK вне форума   Ответить с цитированием
Старый 10.01.2008, 18:47   #6
Новичок
 
Регистрация: 03.01.2008
Сообщений: 8
Сказал Спасибо: 0
Имеет 0 спасибок в 0 сообщенях
Shnaider
По умолчанию

Ну skymanrus, написал же просто так,пытаюсь брать кусочки из готовых скриптов,но ничерта неполучается моя задумка :( Только бегает за мною бот,а атаковать по ассисту нехочет
Shnaider вне форума   Ответить с цитированием
Старый 11.01.2008, 08:27   #7
Рыцарь
 
Аватар для QaK
 
Регистрация: 28.09.2007
Сообщений: 1,558
Сказал Спасибо: 71
Имеет 351 спасибок в 244 сообщенях
QaK пока неопределено
По умолчанию

Цитата:
Сообщение от Shnaider
атаковать по ассисту нехочет
Вроде было где-то ... ща гляну.

Добавлено спустя 21 минуту 9 секунд:
Код:
//by VORON
//привожу для примера скрипт который управляет сразу двумя ботами приэтом не палится управляющими командами на сервере.. объяснять как переделать именно под вас- нестану.. дабы не плодить ламеров-ботоводов.. скрипт приводится для того чтобы люди могли понять как управлять сразу несколькими ботами и при етом скрыть от сервера управляющие комманды.. скрипт протестирован и 100% рабочий.
//поясню лиш: что в скрипте принимают участие 3 перехваченных ака:2 бота GNOM-спойлер и VARK а также 1 KOMANDOS который является лидером пати. КОМАНДИР управляет ботами посылкой сообщений в патичат (цифры 1 и 2 и +).. гном свипает труп- автоматически.. приетом СЕРВЕР неполучает никаких сообщений.. СКРИПТ убивает ети сообщения.. а раз сервер ничего не получает- значит и палева перед админами почти 0.. ну 5% палева на то что подозрительно что 2 бота синхронно бегают и вополняют схожие команды.. думаю что в последующих версиях скрипта нужно вводить рандомную задержку выполнения команд ботами.. но об етом потом..

var
IDPartyMember, IDAssistTarget, IDMy: String; //ИД командира и ИД его таргета и Собственный ИД
CoordGnomX, CoordGnomY, CoordGnomZ :String; //координаты бота
CoordVarkX, CoordVarkY, CoordVarkZ :String; //координаты бота
IDTargetForSpoil : String; //ИД проспойленного моба


procedure GnomBeg;
begin
if (CoordGnomX <> '') and (IDPartyMember <> '') then
begin
//выделяем командира, эмулируя щелчек мыши
buf:=hstr('04') + IDPartyMember + CoordGnomX + CoordGnomY + CoordGnomZ + hstr('00');
SendToServerEX('GNOM');
//бежим за командиром эмулируя повторный щелчек мыши по таргету
buf:=hstr('04') + IDPartyMember + CoordGnomX + CoordGnomY + CoordGnomZ + hstr('00');
SendToServerEX('GNOM');
end;
end;

procedure GnomSpoil;
begin
if (CoordGnomX <> '') and (IDAssistTarget <> '') then
begin
//берем в таргет вражину по ассисту
buf:=hstr('04') + IDAssistTarget + CoordGnomX + CoordGnomY + CoordGnomZ + hstr('00');
SendToServerEX('GNOM');
//юзаем спойл
buf:=hstr('2F FE 00 00 00 00 00 00 00 00');
SendToServerEX('GNOM');
//запоминаем цель которую спойлили
IDTargetForSpoil:= IDAssistTarget;
end;
end;

procedure GnomSweep;
begin
//юзаем cвип (предполагая что в таргет брать ненужно, т.к. мы его спойлили и
//труп остался в таргете у бота)
buf:=hstr('2F 2A 00 00 00 00 00 00 00 00');
SendToServerEX('GNOM');
end;

procedure VarkBeg;
begin
if (CoordVarkX <> '') and (IDPartyMember <> '') then
begin
//выделяем командира, эмулируя щелчек мыши
buf:=hstr('04') + IDPartyMember + CoordVarkX + CoordVarkY + CoordVarkZ + hstr('00');
SendToServerEX('VARK');
//бежим за командиром эмулируя повторный щелчек мыши по таргету
buf:=hstr('04') + IDPartyMember + CoordVarkX + CoordVarkY + CoordVarkZ + hstr('00');
SendToServerEX('VARK');
end;
end;

procedure VarkAttack;
begin
if (CoordVarkX <> '') and (IDAssistTarget <> '') then
begin
//берем в таргет вражину по ассисту
buf:=hstr('04') + IDAssistTarget + CoordVarkX + CoordVarkY + CoordVarkZ + hstr('00');
SendToServerEX('VARK');
//пиздим его
buf:=hstr('04') + IDAssistTarget + CoordVarkX + CoordVarkY + CoordVarkZ + hstr('00');
SendToServerEX('VARK');
end;
end;

procedure VarkHeal;
begin

buf:=hstr('2F CD 04 00 00 00 00 00 00 00');
//отправляем пакет серваку
SendToServerEx('VARK');

end;


//основная часть скрипта
//вызывается при приходе каждого пакета если скрипт включен
begin
//честно незнаю зачем эта строка. но логика мыслей такая: если принят пустой пакет то выйти из рабочей части скрипта и необрабатывать этот пакет. вопрос стоит так: если запущено сразу несколько скриптов и в первом скрипте убит кокайто пакет и проверка пошла дальше по другим скриптам и попала в етот скрипт то етот пустой (убитый) пакет обрабатывать- нестоит. так как это приведет к ошибке при синтаксисе (if fromclient and pck[1]=XX then) так как пакет нулевой длинны то возможно проверка первого байта в нем приведет к ошибке.
if pck='' then exit;

//если от сервака принят пакет с ИД и Координатами членов пати то
if FromServer and (pck[1]=#$a7) then
begin
//запоминаем ИД командира
IDPartyMember:=pck[6] + pck[7] + pck[8] + pck[9];
end;

//если принят пакет со сменой таргета у командира то
if FromServer and (pck[1]=#$29) then
if (pck[2]+pck[3]+pck[4]+pck[5]=IDPartyMember) then
begin
//запоминаем ИД таргета командира для ассиста
IDAssistTarget:= pck[6]+pck[7]+pck[8]+pck[9];
end;

//если принят пакет от клиента с кординатами гнома то
if FromClient and (ConnectName='GNOM') and (pck[1]=#$48) then
begin
//запоминаем координаты
CoordGnomX:= pck[6] + pck[7] + pck[8] + pck[9];
CoordGnomY:= pck[10] + pck[11] + pck[12] + pck[13];
CoordGnomZ:= pck[14] + pck[15] + pck[16] + pck[17];
end;

//если принят пакет от клиента с кординатами варка то
if FromClient and (ConnectName='VARK') and (pck[1]=#$48) then
begin
//запоминаем координаты
CoordVarkX:= pck[6] + pck[7] + pck[8] + pck[9];
CoordVarkY:= pck[10] + pck[11] + pck[12] + pck[13];
CoordVarkZ:= pck[14] + pck[15] + pck[16] + pck[17];
end;

//далее идут управляющие команды

//если КОМАНДИР пишет в любой чат цифру "1" (код "#$31 #$00" в юникоде (в юникоде под 1 символ используются 2 байта) я так понял) то
if FromClient and (ConnectName='KOMANDOS')and (pck[1]=#$38) then
if (pck[2]=#$31) and (pck[3]=#$00) then
begin
//убиваем этот пакет, чтоб сервер его не получил
pck:='';
//гном бежит за КОМАНДИРОМ
GnomBeg;
//ВАРК БЕЖИТ за КОМАНДИРОМ
VarkBeg;
//выйти из рабочей части скрипта чтобы другие услови не проверяли убитый пакет нулевой длинны
exit;
end;

if FromClient and (ConnectName='KOMANDOS')and (pck[1]=#$38) then
if (pck[2]=#$32) and (pck[3]=#$00) then
begin
pck:='';
GnomSpoil;
VarkAttack;
exit;
end;

if FromServer and (ConnectName='GNOM') and (pck[1]=#$06) then
if (pck[2]+pck[3]+pck[4]+pck[5] = IDTargetForSpoil) then
begin
GnomSweep;
end;

if FromClient and (ConnectName='KOMANDOS')and (pck[1]=#$38) then
if (pck[2]=#$2b) and (pck[3]=#$00) then
begin
pck:='';
VarkHeal;
exit;
end;

end.
возьми отсюда атака по ассисту варка.
QaK вне форума   Ответить с цитированием
Ответ

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



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

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


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

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

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