Пользователь | Дата: Вторник, 01 Января 2013, 22:40 | Сообщение # 1 |
Некто
Группа: Обычный пользователь
Сообщений: 141
Репутация: 19
Статус: Нет на форме
| Ваш дракон стар бьет магией моба который вас атакует. Если мана заканчивается бьет физически. Если НР ниже определенного предела, юзает банки НР Если НР ниже определенного предела и никто не атакует, юзает скилл лек Bright Heal Юзает банки акума если каст ниже нужного числа. Так же если на дракончика нападет моб, хозяин пета будет защищать дракончика, только при работающем боте. Тоесть, если на дракончика нападает моб, скрипт имитирует пакет от сервера, якобы этот моб нападает на персонажа а не на пета, т.о. L2Walker думает что избивают перса и защищает пета убивая моба. Работает и со страйдером старом Код //Автор ATMS_DIFKS var Tim01: TTimer; atk,STG:boolean; BufB,BufC,name:string; attaker,target,x,y,z,id,delid,maxhp,hp,maxmp,mp,IDPet,useB,useHP,ihp,NoMP,Cast,CastPet, acm:integer; procedure Init; //Вызывается при включении скрипта begin Tim01:=TTimer.Create(nil); //Не менять! Tim01.OnTimer:=@OnTim011; //Не менять! Tim01.enabled:=false; //Не менять! Tim01.interval:=400; //Не менять! Tim01.enabled:=true; //Не менять! id:=0; //Не менять! UseB:=500; //юзать банки НР когда НР будет меньше этого числа useHp:=500; //юзать скилл НР когда НР будет меньше этого числа, и никто не атакует. NoMP:=30; //Если МР будет ниже этого числа, бить моба физом attack Cast:=409; //Если скорость маг атаки пета ниже этого числа, юзать банку акума. name:='*****';//ник ihp:=0; //Не менять! bufB:=hstr('1B 06 00 00 00'); bufC:=hstr('1B 06 00 00 00'); end;
procedure SendMsc(msc:string); begin buf:=#$4A; WriteD(0); WriteD(2); //тип сообщения 1 шаут 2 приват 10 аноним обьявление и тд WriteS('Dracon'); //ник от кого WriteS(msc); SendToClientEX(name); end;
procedure OnTim011; begin if atk = true then begin buf:=hstr('45 ED 03 00 00 00 00 00 00 00'); SendToServerEX(name); end; end;
function action(ojid, xj, yj, zj:integer;):integer; begin buf:=#$04; WriteD(ojid); WriteD(xj); WriteD(yj); WriteD(zj); WriteC(0); SendToServer; end;
procedure Free; //Вызывается при выключении скрипта begin Tim01.free; end;
//основная часть скрипта //вызывается при приходе каждого пакета если скрипт включен begin if id = 0 then begin SendMsc('Выдели себя в таргет'); id:=1; end; if fromclient and (pck[1]=#$04) then begin if id = 1 then begin id:=ReadD(2); SendMsc('Тагрет запомнен: '+inttostr(id)); SendMsc('Перетащи банку НР в инвентарь пету, и используй.'); end; end; if fromClient and (pck[1]=#$8A) then BEGIN IF ACM = 1 THEN begin ACM:=0; bufC:=pck; SendMsc('Пакет банок акума запомнен.'); end; IF IHP = 0 THEN begin IHP:=1; bufB:=pck; SendMsc('Пакет банок HP запомнен.'); SendMsc('Используйте банку акума в инвентаре пета.'); acm:=1; end; end; if fromserver and (pck[1]=#$A6) then STG:=true; if fromserver and (pck[1]=#$2A) then STG:=false; if fromserver and (pck[1]=#$B1) then begin CastPet:=ReadD(38); if CastPet < Cast then begin buf:=bufC; SendToServerEX(name); end; end; if fromserver and (pck[1]=#$B5) then begin MaxHP:=ReadD(36); HP:=ReadD(32); MaxMP:=ReadD(44); MP:=ReadD(40); IDPet:=ReadD(6); if HP < useHP then begin if atk = false then begin buf:=hstr('45 EE 03 00 00 00 00 00 00 00'); SendToServerEX(name); end; end; if HP < useB then begin buf:=bufB; SendToServerEX(name); end; // if MP < NoMP then begin atk := false; buf:=hstr('45 10 00 00 00 00 00 00 00 00'); SendToServerEX(name); end; end; if fromserver and (pck[1]=#$05) then BEGIN target:=ReadD(6); if (target = id) OR (target = IDPet) then begin attaker:=ReadD(2); x:=ReadD(15); y:=ReadD(19); z:=ReadD(23); if target = id then begin // if STG = false then action(attaker,x,y,z); atk:=true; end; end; if target = IDPet then begin attaker:=ReadD(2); x:=ReadD(15); y:=ReadD(19); z:=ReadD(23); if attaker <> id then begin buf:=#$05; WriteD(attaker); WriteD(id); WriteD(1); WriteC(0); WriteD(x); WriteD(y); WriteD(z); WriteH(0); SendToClient; end; end; END; if fromserver and (pck[1]=#$06) then begin delid:=ReadD(2); if delid = attaker then atk:=false; end; end.
Да хранит вас Ctrl+S. Да убережет вас Alt+F4 от порнобанера. Админь...
|
|
|
|