PvP Скрипт позволяет быстро выделять бишей (ctrl) магов (пробел), а так же биндить таргеты на клавиши: "Z", "X", "C". Включает в себя функцию автотаргеты реснутых персонажей.
uses SysUtils,Classes; procedure Mages (p: pointer); var keycode,j,i,m,k:integer; char2,char3:tl2char; begin while engine.status=lsonline do begin Engine.WaitAction([laKey],keycode,i); if KeyCode = $11 (* CTRL *) then begin // ctrl - Маги (Сорк\мм) for j := 0 to CharList.count -1 do begin Char2 := CharList.Items(j); if (((char2.ClassID=94) or (char2.classid=103)or (char2.classid=27)or (char2.classid=12)) and not (char2.ismember) and not (char2.clanid=user.clanid) and (char2.pvp))and not (char2.dead) (*Поиск проф с айди 94 и 103 сорки\ммы = которые не в парти*) then begin Engine.Settarget(char2.name);break end; end; end; end; end; procedure Cardinals (p: pointer); var keycode,j,i,m,k:integer; char2,char3:tl2char; begin while engine.status=lsonline do begin Engine.WaitAction([laKey],keycode,i); if KeyCode = $20 (* SPACE *) then begin // Кнопка SPACE - бишы for i := 0 to CharList.count -1 do begin Char2 := CharList.Items(i); if ((char2.ClassID=97) and not (char2.ismember) and not (char2.clanid=user.clanid) and (char2.pvp) and not (char2.dead)) then (*Поиск проф с айди 97 и 12 - Бишы *) begin Engine.Settarget(char2.name);break end; end; end; end; end; procedure target2 (p:pointer); var keycode,j,i,m,k:integer; char2,char3:tl2char; begin while engine.status=lsonline do begin Engine.WaitAction([laKey],keycode,i); if KeyCode = $43 (* C *) then begin Engine.Settarget('SOBR'); end; end; end; procedure target3 (p:pointer); var keycode,j,i,m,k:integer; char2,char3:tl2char; begin while engine.status=lsonline do begin Engine.WaitAction([laKey],keycode,i); if KeyCode = $58 (* X *) then begin Engine.Settarget('xImpulse'); end; end; end; procedure target4 (p:pointer); var keycode,j,i,m,k:integer; char2,char3:tl2char; begin while engine.status=lsonline do begin Engine.WaitAction([laKey],keycode,i); if KeyCode = $5A (* Z *) then begin Engine.Settarget('SOBR'); end; end; end; procedure hold ; var charT:tl2live; obj:tl2effect; begin while engine.status = lsonline do begin if (user.target.valid) then if not (User.Buffs.byID(18,obj)) and not (User.Buffs.ByID(28,obj)) then chart:=user.target; if not user.target.valid then while not (User.Target.name = chart.name) do Engine.SetTarget(chart.name); delay(100); end; end; procedure KrestNaRes; Var DeadLst:TStringList; lah:TL2Char; i:integer; Nick:string; begin DeadLst:=TStringList.Create; While true do begin for i:=0 to CharList.count-1 do begin if CharList.Items(i).Dead and (DeadLst.IndexOf(CharList.Items(i).Name)=-1) then DeadLst.Add(CharList.Items(i).Name); if not CharList.Items(i).Dead and (User.DistTo(CharList.Items(i))<1000) and ( (charlist.items(i).classid=97) or (charlist.items(i).classid=90) or (charlist.items(i).classid=97) or (charlist.items(i).classid=105) or (charlist.items(i).classid=112) or (charlist.items(i).classid=94) or (charlist.items(i).classid=105) or (charlist.items(i).classid=103) or (charlist.items(i).classid=110) or (charlist.items(i).classid=134) or (charlist.items(i).classid=92) or (charlist.items(i).classid=109) or (charlist.items(i).classid=102) or (charlist.items(i).classid=88)) and (charlist.items(i).pvp) and (user.distto(charlist.items(i))<1200) and (DeadLst.IndexOf(CharList.Items(i).Name)>-1) and not (charlist.items(i).ismember) and not (charlist.items(i).ismember) and not ( charlist.items(i).clanid=user.clanid) then begin Nick:=CharList.Items(i).Name; Engine.SetTarget(Nick); end; end; i:=0; repeat if DeadLst.Count>0 then begin if not CharList.ByName(DeadLst[i],lah) or not lah.Dead then begin DeadLst.Delete(i); dec(i); end; end; inc(i); until i>DeadLst.Count-1; Delay(200); end; end; begin script.newthread(@Cardinals); script.newthread(@Mages); script.newthread(@target2); script.newthread(@target3); script.newthread(@target4); script.newthread(@hold); script.newthread(@KrestNaRes); delay(100) end.
Подробное видео с описанием чего и куда выйдет позже.