|
|
|
Oskom Forums Добро пожаловать на Oskom Forums.
|
-
Помогите со скриптом!
Вообщем нужен скрипт для пилота или УОскрипта, чтобы чар юзал скилл пойзонинг и таргетом кликал на ножичек и вторым таргетом на бутылку с ядом. А то что-то все мои простенькие скрипты не работают. Бутылки кстати все лежат в паке в одной куче.
-
Попробуй вот этот:
за работоспособность ответственность не несу.
Надо прописать тип оружия.
Код:
Program Poisoning;
{$Include Dll\msgconsts.uops}
const
CBinty = $0E21; //bandages
CTimeOut = 15000;
CPoison = $0F0A; // poison bottle
CWeapon = $0000; // poisoning weapon type
var
BackPackID, WeaponID, BintyID, PoisonID: LongInt;
aMsgRes, aWait: LongInt;
aList, aItem, aID, Count: LongInt;
max_hit, i: LongInt;
aName: String;
function MessageBox(HWND: LongInt; aText: PChar; Caption: PChar; uType: Word): Longint; external 'MessageBoxA@user32.dll stdcall';
function ProcessMessages: LongInt;
var st: String;
begin
Result:=0;
st:=_lastmsg;
If Pos('to what do', st)<>0 Then Result:=1;
If Pos('what poison', st)<>0 Then Result:=1;
If Pos('your skill', st)<>0 Then Result:=2;
If Pos('disconnect', st)<>0 Then Result:=100;
end;
begin
ClrScr;
max_hit := _hits;
GetGumpsList(aList);
GetListCount(aList, Count);
If Count=0 Then FreeObjectsList(aList);
For i:=0 to Count-1 do
begin
GetListItem(aList, i, aItem, aName);
If FindObject(aItem, CWeapon, aID) Then
begin
BackPackID := aItem;
Break;
end;
end;
If not FindObject(BackPackID, CWeapon, WeaponID) Then Exit;
repeat
SetLastSkill(sk_Poisoning);
SendKey(k_F4); // use lastskill
WaitForTarget(2000);
aWait:=0;
Delay(500);
Repeat
Delay(200);
aWait:=aWait+200;
aMsgRes:=ProcessMessages;
Until (aMsgRes<>0) or (aWait>CTimeOut);
SetLastTarget(WeaponID);
SendKey(k_F9); // last target
aWait:=0;
Delay(500);
Repeat
Delay(200);
aWait:=aWait+200;
aMsgRes:=ProcessMessages;
Until (aMsgRes<>0) or (aWait>CTimeOut);
Delay(1000);
If not FindObject(BackPackID, CPoison, PoisonID) Then Exit;
SetLastTarget(PoisonID);
SendKey(k_F9); // last target
WriteLn('Use: '+IntToStr(WeaponID)+' '+IntToStr(PoisonID));
Delay(5000);
If (_hits < max_hit-50) Then While (_hits < max_hit) Do
If FindObject(BackPackID, CBinty, BintyID) Then
begin
SetLastObject(CBinty, BintyID);
SendKey(k_F11); // lastobj-wait-targetself
Delay(3500);
end;
until not FindObject(BackPackID, CPoison, PoisonID);
end.
Бинды:
Код:
F4 use lastskill
F9 last target
F11 lastobject-waitfortarget-targetself
-
Напомни плиз какой командой тип узнать? А то нифига не помню, мне казалось, что .info, но что-то не получается)
-
А вот ещё можно этот скрипт без хила сделать? Тупо чтобы он только юзал скилл и травил оружие.
-
Сообщение от Clash
А вот ещё можно этот скрипт без хила сделать? Тупо чтобы он только юзал скилл и травил оружие.
а яд с себя ты как снимать будешь?
-
-
Код:
dagger, оба положения
$0f52
$0f51
Код:
Program Poisoning;
{$Include Dll\msgconsts.uops}
const
CTimeOut = 15000;
CPoison = $0F0A; // poison bottle
CWeapon = $0f52; // poisoning weapon type
var
BackPackID, WeaponID, PoisonID: LongInt;
aMsgRes, aWait: LongInt;
aList, aItem, aID, Count: LongInt;
i: LongInt;
aName: String;
function MessageBox(HWND: LongInt; aText: PChar; Caption: PChar; uType: Word): Longint; external 'MessageBoxA@user32.dll stdcall';
function ProcessMessages: LongInt;
var st: String;
begin
Result:=0;
st:=_lastmsg;
If Pos('to what do', st)<>0 Then Result:=1;
If Pos('what poison', st)<>0 Then Result:=1;
If Pos('your skill', st)<>0 Then Result:=2;
If Pos('disconnect', st)<>0 Then Result:=100;
end;
begin
ClrScr;
GetGumpsList(aList);
GetListCount(aList, Count);
If Count=0 Then FreeObjectsList(aList);
For i:=0 to Count-1 do
begin
GetListItem(aList, i, aItem, aName);
If FindObject(aItem, CWeapon, aID) Then
begin
BackPackID := aItem;
Break;
end;
end;
If not FindObject(BackPackID, CWeapon, WeaponID) Then Exit;
repeat
SetLastSkill(sk_Poisoning);
SendKey(k_F4); // use lastskill
WaitForTarget(2000);
aWait:=0;
Delay(500);
Repeat
Delay(200);
aWait:=aWait+200;
aMsgRes:=ProcessMessages;
Until (aMsgRes<>0) or (aWait>CTimeOut);
SetLastTarget(WeaponID);
SendKey(k_F9); // last target
aWait:=0;
Delay(500);
Repeat
Delay(200);
aWait:=aWait+200;
aMsgRes:=ProcessMessages;
Until (aMsgRes<>0) or (aWait>CTimeOut);
Delay(1000);
If not FindObject(BackPackID, CPoison, PoisonID) Then Exit;
SetLastTarget(PoisonID);
SendKey(k_F9); // last target
WriteLn('Use: '+IntToStr(WeaponID)+' '+IntToStr(PoisonID));
Delay(4000);
until not FindObject(BackPackID, CPoison, PoisonID);
end.
-
Спасибо большое! Всё работает!) Топик можно клоуз. Блин, Маньяк, чтобы я без тебя делал) ещё раз благодарю!
-
а это для какой проги макрос?
-
Valaraukar
УOCкрипт.
Я в своё время качал на пилоте в титан плите=плевал я на необходимость снимать с себя яд, само отхиливалось. Система была другая - персонаж брал в себя демоном бутылки и НС , догоняя себя до состояния "ходить не могу" при помощи хлопка, варил эти самые пойзоны, выпадающие ему под ноги и тыкал таргетом на указанные координаты выпадения бутылок и прилоченного меча. Заодно алхимия качалась. Никаких замудрёных проверок цвета не требовалось, но он и не был полностью автономен - раз в сколько-то там надо было повторять операцию с полиморфом и запихиванием в себя найтшейда и бутылок.
double_left 41, 651 \\ НС в паке.
wait 1400
double_left 146, 66 \\ иконка в меню бутылки яда, чтоб сварить.
wait 13000
send Delete \\ Поидее, юз скилл пойзонинг.
wait 2000
left 427, 317 \\координаты бутылки под ногами
wait 2000
left 397, 304 \\прилоченная железка
wait 5000
send Backspace \\ поидее, это бинд спирит спика. Я вообще любил, чтоб всё разом качалось
wait 1500
double_left 919, 606 \\жратва в паке
wait 500
О чего нашёл в загашниках. Потратил некоторое время на вспоминание, что тут где означает, думаю, не совру
Соврать могу только в 1 - я уже забыл, на что надо сначала кликать, на яд или железку.
-
Очень, кстати, полезная мысля про пойзонинг и алху на перевесе... *ушел писать скрипт*
-
double_left 299, 793 /едим
wait 1000
double_left 246, 749 //бинты
wait 500
left 382, 252 //кукла
waitfortarget 2500
if stam < 30 //
double_left 241, 773 //стамина
end_if
что тут не так
почему рефрешки пьёт каждый круг?
-
Valaraukar
Первое - почему чар ждёт таргета 2,5 секунды ПОСЛЕ того, как хилит куклу? Откуда там таргет вообще может взяться? Вейт 500 удалять к чёртовой матери, вместо него ставить вфт - хотя я его ненавидел органически, и предпочитал выставлять именно само ожидание в зависимости от коннекта\лагов.
Второе - уже не помню. Возможно, пилот не привязан к нужному окну и читает вовсе не те параметры
Третье - зачем вообще рефрешки? %)
Ваши права
- Вы не можете создавать новые темы
- Вы не можете отвечать в темах
- Вы не можете прикреплять вложения
- Вы не можете редактировать свои сообщения
Правила форума
|