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

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

Чат (Новых сообщений с момента вашего последнего визита нет)
Загрузка...
Задавайте ваши вопросы на форуме. Чат предназначен для небольших разговоров.
 
Ответ
 
Опции темы Опции просмотра
Старый 09.04.2009, 16:44   #1
Рыцарь
 
Аватар для TAMBIK
 
Регистрация: 03.03.2009
Сообщений: 773
Сказал Спасибо: 361
Имеет 300 спасибок в 168 сообщенях
TAMBIK на пути к лучшему
По умолчанию помошник в PvP и PK.//by mks как переделать

Здравствуйте.Вот скрипт мне понравился
№ 1
"delphi" Код:
//by mks //помошник в PvP и PK. //пьет CP и HP пробирки в нужное время(можно добавить и MP для пвп серваков), и освобождает вас от небоходимости зажатия клавиши Ctrl, которая так меня раздражает!(думаю это раздражает и не только меня) /////////////////////////////////////////////////////// ///////////////Master PvP by MKS v.1.0///////////////// /////////////////////////////////////////////////////// //после активации скрипта необходимо выпить сначала банку CP, потом HP для получения их ID const    Name='Arispar';  //ник перса var    CurHP,MaxHP,CurCP,MaxCP: integer;    CPuse,HPuse: string;    TimerCP,TimerHP: TTimer; procedure Init; //Вызывается при включении скрипта begin   TimerCP:=TTimer.Create(nil);   TimerCP.OnTimer:=@OnTimerCP;   TimerCP.enabled:=false;   TimerCP.interval:=1000;  //интервал 1сек, т.к. чаще пить CP всеравно не будет, дабы не засорять трафик   TimerHP:=TTimer.Create(nil);   TimerHP.OnTimer:=@OnTimerHP;   TimerHP.enabled:=false;   TimerHP.interval:=15000; //интервал 15сек, т.к. действие одной бутылки = 15сек end; procedure OnTimerCP(Sender: TObject); begin   buf:=CPuse;   SendToServerEx(Name); end; procedure OnTimerHP(Sender: TObject); begin   buf:=HPuse;   SendToServerEx(Name); end; procedure Free; //Вызывается при выключении скрипта begin   TimerCP.free;   TimerHP.free;   HPuse:='';   CPuse:=''; end; //основная часть скрипта //вызывается при приходе каждого пакета если скрипт включен begin //пьем сначала CP, потом HP банку что б запомнить их ID(я решил взять эти пакеты целиком, дабы не усложнять)   if FromClient and (ConnectName=Name) and (pck[1]=#$14) and (CPuse='') then CPuse:=pck;   if FromClient and (ConnectName=Name) and (pck[1]=#$14) and (CPuse<>pck) and (HPuse='') then HPuse:=pck; //считываем текущие и максимальные значения CP и HP if FromServer and (pck[1]+pck[6]=#$0E#$04) then   begin     CurHP:=ReadD(14);     MaxHP:=ReadD(22);     CurCP:=ReadD(30);     MaxCP:=ReadD(38);   end; if CurHP<>0 then begin //если вы используете не грэйтер CP то вместо 200 подставьте кол-во CP сколько восстанавливает 1 банка if (CurCP<MaxCP-200) and (CPuse<>'') then TimerCP.enabled:=true else TimerCP.enabled:=false; if (CurHP<MaxHP) and (HPuse<>'') then TimerHP.enabled:=true else TimerHP.enabled:=false; //если используем скилы или заклинания добавляем флаг Ctrl, что б не надо было удерживать контрол if FromClient and (ConnectName=Name) and (pck[1]=#$2F) then pck[6]:=#$01; //если наводим таргет, повторное нажатие по нему подменивается на атаку, опять же что б не удерживать контрол if FromClient and (ConnectName=Name) and (pck[1]=#$04) then pck[1]:=#$0A; end else begin TimerHP.enabled:=false; TimerCP.enabled:=false; end; end.

Вот скрипт в нем можно вкл\выкл функции прямо в окне клиента
при вкл скрипта появляется рамка где можно вкл\выкл отдельно каждую функцию.В нем ошибка в строке
function StrToHex(packet: string):string;

Скрипт № 2
"delphi" Код:
const    Name='xxxxx'; var    CurHP,CurCP,MaxCP,MyID,TargetID,o,x,y,z,Delta: integer;    CPuse,action,Msg: string;    TimerCP,TimerHP: TTimer;    AutoCtrl,AutoCP,AutoTarget,AutoRadar: boolean; procedure Init; begin   TimerCP:=TTimer.Create(nil);   TimerCP.OnTimer:=@OnTimerCP;   TimerCP.enabled:=false; //configs   TimerCP.interval:=1000; //cpuse delay   AutoCtrl:=true;         //autoctrl default   AutoCP:=true;           //autocp default   AutoTarget:=false;      //autotarget default   AutoRadar:=true;        //autoradar default   Delta:=200;             //if (currentCP)<(maxCP-delta) then cpuse   Say; end; procedure OnTimerCP(Sender: TObject); begin   buf:=CPuse;   SendToServerEx(Name); end; procedure Free; begin   TimerCP.free;   CPuse:=''; end; function booleantostr(b:boolean):string; begin  if b then   result:='True'  else   result:='False'; end; procedure Say; var s:string; begin  if autoctrl then   s:='<tr><td>AutoCtrl=<a action="bypass autoctrl_off">'+booleantostr(autoctrl)+'</a></td></tr>'  else   s:='<tr><td>AutoCtrl=<a action="bypass autoctrl_on">'+booleantostr(autoctrl)+'</a></td></tr>';  if autocp then   s:=s+'<tr><td>AutoCP=<a action="bypass autocp_off">'+booleantostr(autocp)+'</a></td></tr>'  else   s:=s+'<tr><td>AutoCP=<a action="bypass autocp_on">'+booleantostr(autocp)+'</a></td></tr>';  if autotarget then   s:=s+'<tr><td>AutoTarget=<a action="bypass autotarget_off">'+booleantostr(autotarget)+'</a></td></tr>'  else   s:=s+'<tr><td>AutoTarget=<a action="bypass autotarget_on">'+booleantostr(autotarget)+'</a></td></tr>';  if autoradar then   s:=s+'<tr><td>AutoRadar=<a action="bypass autoradar_off">'+booleantostr(autoradar)+'</a></td></tr>'  else   s:=s+'<tr><td>AutoRadar=<a action="bypass autoradar_on">'+booleantostr(autoradar)+'</a></td></tr>';  s:=s+'<tr><td><br><center><img src="L2UI_CH3.herotower_deco" width=256 height=32></center><br><br></td></tr>';  if cpuse='' then   s:=s+'<tr><td>CPuse=<font color="LEVEL">[!] Выпей бутыль ЦП [!]</font></td></tr>'  else   s:=s+'<tr><td>CPuse=<a action="bypass autouse">'+strtohex(cpuse)+'</a></td></tr>';   buf:=hstr('0F 01 00 00 00');   WriteS('<html><title>PVP помошнегг (с) raid</title><body><center><img src="L2UI_CH3.herotower_deco" width=256 height=32></center><br><table width=100%>'+s+'</table><br><br><br><br><br><br>'+    '<br><center><img src="L2UI_CH3.herotower_deco" width=256 height=32><br><br><br><br><br><br>(c) raid aka Mamy</center></body></html>');   WriteD(0);   SendToClientEx(Name); end; function StrToHex(packet: string):string; var   i:integer;   tmp:byte;   function ByteToHex(b: byte): Char;   begin     if b<10 then result:=chr(b+$30)       else result:=chr(b+$37);   end; begin   result:='';   for i:=1 to length(packet) do begin     tmp:=ord(packet[i]) div 16;     result:=result+ByteToHex(tmp);     tmp:=ord(packet[i]) - tmp*16;     result:=result+ByteToHex(tmp)+' ';   end; end; begin if FromClient and (ConnectName=Name) and (pck[1]=#$14) and (CPuse='') then begin  CPuse:=pck;  Say;  pck:='';  exit; end; if FromServer and (pck[1]+pck[6]=#$0E#$04) then   begin     MyID:=ReadD(2);     CurHP:=ReadD(14);     CurCP:=ReadD(30);     MaxCP:=ReadD(38); end; if FromServer and (pck[1]=#$A6) then begin   TargetID:=ReadD(2); end; {if FromServer and (pck[1]=#$29) and autotarget then begin   o:=ReadD(2);   if (ReadD(6)=MyID)and(o<>MyID)and(o<>TargetID) then begin   x:=ReadD(10);   y:=ReadD(14);   z:=ReadD(18);   delay(100);   buf:=hstr('04');   WriteD(o);   WriteD(x);   WriteD(y);   WriteD(z);   WriteC(0);   SendToServerEx(Name);   end; end; } if FromServer and (pck[1]=#$05) and autotarget then begin   o:=ReadD(2);   if (ReadD(6)=MyID)and(o<>MyID)and(o<>TargetID) then begin   x:=ReadD(15);   y:=ReadD(19);   z:=ReadD(23);   delay(100);   buf:=hstr('04');   WriteD(o);   WriteD(x);   WriteD(y);   WriteD(z);   WriteC(0);   SendToServerEx(Name);   end; end;  if (CurCP<MaxCP-Delta)and(CPuse<>'')and(CurHP>0)and AutoCP then   TimerCP.enabled:=true  else   TimerCP.enabled:=false; if FromClient and (ConnectName=Name) and (pck=HStr('1B 06 00 00 00')) then begin  Say;  pck:='';  exit; end;  if FromServer and(pck[1]=#$61)and AutoRadar then begin   x:=ReadD(6);   y:=ReadD(10);   z:=ReadD(14);   buf:=#$EB;   WriteD(0);   WriteD(1);   WriteD(x);   WriteD(y);   WriteD(z);   SendToClientEx(Name);  end; if FromClient and (ConnectName=Name) and (pck[1]=#$2F) and AutoCtrl then  pck[6]:=#$01; if FromClient and (ConnectName=Name) and (pck[1]=#$21) then begin  action:=ReadS(2); if pos('auto',action)>0 then begin  if action='autocp_on' then autocp:=true;  if action='autocp_off' then autocp:=false;  if action='autoctrl_on' then autoctrl:=true;  if action='autoctrl_off' then autoctrl:=false;  if action='autotarget_on' then autotarget:=true;  if action='autotarget_off' then autotarget:=false;  if action='autoradar_on' then autoradar:=true;  if action='autoradar_off' then begin   autoradar:=false;   buf:=#$EB;   WriteD(0);   WriteD(1);   WriteD(0);   WriteD(0);   WriteD(0);   SendToClientEx(Name);  end;  if action='autouse' then CPuse:='';  Say;  pck:=''; end; end;  if FromServer and (pck[1]=#$4A) then begin   o:=ReadD(2);   x:=10;   action:=ReadS(x);   Msg:=ReadS(x);   x:=pos('? E?AE? YOIO NA?AA?!!!', Msg);   while x>0 do begin    delete(Msg, x, length('? E?AE? YOIO NA?AA?!!!'));    insert('[мат]', Msg, x);    x:=pos('? E?AE? YOIO NA?AA?!!!', Msg);   end;   x:=ReadD(6);   buf:=#$4A;   WriteD(o);   WriteD(x);   WriteS(action);   WriteS(Msg);   pck:=buf;   end; end.
Просьба помогите сделать управление скриптом №1
так как в скрипте № 2

Последний раз редактировалось TAMBIK, 09.04.2009 в 16:49.
TAMBIK вне форума   Ответить с цитированием
Старый 09.04.2009, 17:05   #2
Рыцарь
 
Аватар для alexteam
 
Регистрация: 07.03.2009
Сообщений: 9,139
Сказал Спасибо: 70
Имеет 2,820 спасибок в 1,735 сообщенях
alexteam на пути к лучшему
По умолчанию

delphi Код:
MyFuncs.Add('function StrToHex(str1:String):String;');
такая уже есть, встроенная. смысл обьявлять функцию делающую тожесамое да еще и с тем же именем.
убей ее вообще.
__________________
L2Ext - project closed.
alexteam вне форума   Ответить с цитированием
Старый 09.04.2009, 17:42   #3
Пользователь
 
Регистрация: 05.02.2009
Сообщений: 62
Сказал Спасибо: 1
Имеет 18 спасибок в 9 сообщенях
lexayar пока неопределено
По умолчанию

Скрипт был написан раньше, чем появилась встроенная функция.
lexayar вне форума   Ответить с цитированием
Старый 10.04.2009, 11:38   #4
Заблокирован
 
Регистрация: 10.03.2008
Адрес: Тула
Сообщений: 1,098
Сказал Спасибо: 188
Имеет 108 спасибок в 60 сообщенях
DashKAaa
По умолчанию

хз как у вас..но у нас так этот скрипт и не работал...
DashKAaa вне форума   Ответить с цитированием
Старый 29.04.2009, 00:29   #5
Новичок
 
Регистрация: 19.04.2009
Сообщений: 11
Сказал Спасибо: 2
Имеет 0 спасибок в 0 сообщенях
Auromy пока неопределено
По умолчанию

А может кто извлечь функцию зажатия ctrl?
И если ли возможность сделать авто таргет, по сути работы "я" выделяю игрока с миражем(автосброс таргета) и чтобы он брался автоматически в таргет, до тех пор пока я не поменяю цель или не нажму эскейп?
Auromy вне форума   Ответить с цитированием
Старый 29.04.2009, 18:05   #6
Рыцарь
 
Аватар для TAMBIK
 
Регистрация: 03.03.2009
Сообщений: 773
Сказал Спасибо: 361
Имеет 300 спасибок в 168 сообщенях
TAMBIK на пути к лучшему
По умолчанию

delphi Код:
//помошник в PvP  освобождает вас от небоходимости зажатия клавиши Ctrl, const Name='хххххххх'; //ник перса begin //если используем скилы или заклинания добавляем флаг Ctrl, что б не надо было удерживать контрол if FromClient and (ConnectName=Name) and (pck[1]=#$2F) then pck[6]:=#$01; //если наводим таргет, повторное нажатие по нему подменивается на атаку, опять же что б не удерживать контрол if FromClient and (ConnectName=Name) and (pck[1]=#$04) then pck[1]:=#$0A; end.

работало на Интерлюде
для ХБ заменить 2F на 39 и 04 на 1F и 0A на 01 01 на 0F
помоему так

ЗНАТОКИ мож допишут чтоб работало без этого Name='хххххххх'; //ник перса

Добавлено через 8 минут
Цитата:
Сообщение от Auromy Посмотреть сообщение
А может кто извлечь функцию зажатия ctrl?
И если ли возможность сделать авто таргет, по сути работы "я" выделяю игрока с миражем(автосброс таргета) и чтобы он брался автоматически в таргет, до тех пор пока я не поменяю цель или не нажму эскейп?
а это как

Последний раз редактировалось TAMBIK, 29.04.2009 в 18:36. Причина: Добавлено сообщение
TAMBIK вне форума   Ответить с цитированием
За это сообщение TAMBIK нажился спасибкой от:
Старый 29.04.2009, 20:30   #7
Новичок
 
Регистрация: 19.04.2009
Сообщений: 11
Сказал Спасибо: 2
Имеет 0 спасибок в 0 сообщенях
Auromy пока неопределено
По умолчанию

Мираж автоматом сбрасывает таргет, чтобы не приходилось его заного брать в таргет и он выделялся автоматом пока не переключить на другую или не сбросить таргет кнопкой Esc (слева вверху ^_^')
Auromy вне форума   Ответить с цитированием
Старый 29.04.2009, 20:44   #8
Рыцарь
 
Аватар для TAMBIK
 
Регистрация: 03.03.2009
Сообщений: 773
Сказал Спасибо: 361
Имеет 300 спасибок в 168 сообщенях
TAMBIK на пути к лучшему
По умолчанию

Мираж -это прога так
TAMBIK вне форума   Ответить с цитированием
Старый 29.04.2009, 21:21   #9
Местный
 
Аватар для dfackk
 
Регистрация: 31.01.2008
Сообщений: 151
Сказал Спасибо: 25
Имеет 40 спасибок в 35 сообщенях
dfackk пока неопределено
По умолчанию

Мираж, эт чит у тх на 79 лвл с 3 джобом.
__________________
L2 killer, Walker scripts, Holy "RTFM"
Я НЕ БАЗА БОТОВОДСТВА, ВСЕ АСКИ ПО ТОМУ ЧТО И ГДЕ СЮДА: http://coderx.ru/private.php?do=newpm&u=4685
Оффтоп
dfackk вне форума   Ответить с цитированием
Старый 29.04.2009, 21:28   #10
Новичок
 
Регистрация: 19.04.2009
Сообщений: 11
Сказал Спасибо: 2
Имеет 0 спасибок в 0 сообщенях
Auromy пока неопределено
По умолчанию

Мираж - это скил активно-пасивный, которые сбрасывает таргет автоматом, есть ещё свич - аналог миража, но его нужно каставать. Мираж весит в бафах и срабатывает в определенной очередности.
Auromy вне форума   Ответить с цитированием
Ответ

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



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

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


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

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

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