Forum in READ ONLY mode! All questions and discussions on Discord official server, invite link: https://discord.gg/VxsGzJ7

Poisoning ZHR

тут можно задать вопрос по скриптингу
Post Reply
BaTka
Posts: 7
Joined: 06.12.2014 21:29

Poisoning ZHR

Post by BaTka »

Code: Select all

Код:

Program Poisoning;
var 
syndyk1,syndyk2,orywie :cardinal;
me,time : TDateTime;
e,o,b,t,n,m,q,w,h : Integer;

{$Include 'all.inc'}

Begin
SetARStatus(true);
Hungry(1,ground); 

{=Требуется настройка ! ! !=}
syndyk1 := $4A71B44B; {Указать ID сундука с полными кегами}
syndyk2 := $4AB71C92; {Указать ID сундука с пустыми кегами}
orywie := $4B935449; {Указать ID какого либо оружия, которое находится у себя в сумке, например дайгер}
{=Требуется настройка ! ! !=} 

while not Dead do 
begin
waitconnection(3000);
Hungry(1,ground);
for t:=1 to 100 do begin
if (not dead) and (connected) then begin
CheckSave;
FindType($1940,backpack);
if FindCount <= 0 then begin
if (GetDistance(syndyk1)> 2) or (GetDistance(syndyk1)< 0) then begin
AddToSystemJournal('Your chest #1 far lays or does not exist! Disconnecting...');
disconnect;
end;
useobject(syndyk1); 
wait(3000);
FindType($1940,syndyk1);
if (FindCount <= 0) and (connected) then begin
AddToSystemJournal('Your chest is empty! Disconnecting...');
disconnect;
end;
if FindCount > 0 then begin
Grab(finditem,0);
q := 1;
repeat {ждать пока в паке найдеться кег или пройдет 3000 сек}
wait(500);
q := q + 1;
until (findtype($1940,backpack) > 0) or (q > 20)
end;
end;
UseObject(finditem);
me := Now;
h := 1;
repeat 
e := InJournalBetweenTimes('That keg is empty.', me, Now); 
if (e >= 0) then
begin
wait(3000);
me := Now;
CheckSave;
if (GetDistance(syndyk2)> 2) or (GetDistance(syndyk2)< 0) then begin
AddToSystemJournal('Your chest #2 far lays or does not exist! Disconnecting...');
disconnect;
end;
FindType($1940,backpack);
if FindCount > 0 then begin
MoveItem(finditem,0,syndyk2,0,0,0);
n := 1;
repeat {ждать пока в паке не найдеться кег или пройдет 3000 сек}
wait(500);
n := n + 1;
until (findtype($1940,backpack) <= 0) or (n > 20)
end;
CheckSave;
if (GetDistance(syndyk1)> 2) or (GetDistance(syndyk1)< 0) then begin
AddToSystemJournal('Your chest #1 far lays or does not exist! Disconnecting...');
disconnect;
end;
useobject(syndyk1); 
wait(3000);
FindType($1940,syndyk1);
if (FindCount <= 0) and (connected) then begin
AddToSystemJournal('Your chest is empty! Disconnecting...');
disconnect;
end;
if FindCount > 0 then begin
Grab(finditem,0);
m := 1;
repeat {ждать пока в паке найдеться кег или пройдет 3000 сек}
wait(500);
m := m + 1;
until (findtype($1940,backpack) > 0) or (m > 20)
UOSay('The new keg is taken!');
end;
end;
w := InJournalBetweenTimes('The new keg', me, Now);
b := InJournalBetweenTimes('You fill a bottle', me, Now); 
o := InJournalBetweenTimes('You are out', me, Now); 
wait(200); 
h := h +1;
until (h > 250) or (b >= 0) or (o >= 0) or (w >= 0);
{Часть с пойзоном}
FindType($0F0A,backpack);
if FindCount > 0 then begin
checksave;
if targetpresent then canceltarget;
time := now;
useskill('Poisoning');
waitfortarget(5000);
if targetpresent then
begin
WaitTargetType($0F0A);
waitfortarget(5000);
if targetpresent then targettoobject(Orywie);
waitjournalline(time,'You fail to apply|You have successfully|You fail and poison',10000);
wait(5000);
end;
end;
end;
end;
end;
End.






Помогите разобраться,зависает на минуту при такой фразе в журнале :System: Select a potion or bottle.
Потом травит,потом снова зависает на минуту и так по кругу,как это можно поправить?
BaTka
Posts: 7
Joined: 06.12.2014 21:29

Re: Poisoning ZHR

Post by BaTka »

поправить,так,чтобы не висело целую минуту.
User avatar
Vizit0r
Developer
Developer
Posts: 3958
Joined: 24.03.2005 17:05
Contact:

Re: Poisoning ZHR

Post by Vizit0r »

подробнее в деталях - что надо сделать чтобы получить эту надпись?
"Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете". (с) Макконнелл, "Совершенный код".
BaTka
Posts: 7
Joined: 06.12.2014 21:29

Re: Poisoning ZHR

Post by BaTka »

Vizit0r wrote:подробнее в деталях - что надо сделать чтобы получить эту надпись?
берет полную кегу из сундука , наливает из неё в бутылку яд,и тут начинает спрашивать это:Select a potion or bottle.
если ему указать на пустую бутылку нальет яду,еслина полную сольет в кегу,а должен дагер отравить по идеи.Если ничего не трогать, он ждет,ждет,минуту ждёт ! потом хлобысь и травит ! и так раз за разом...
User avatar
Vizit0r
Developer
Developer
Posts: 3958
Joined: 24.03.2005 17:05
Contact:

Re: Poisoning ZHR

Post by Vizit0r »

Code: Select all

repeat {ждать пока в паке найдеться кег или пройдет 3000 сек}
wait(500);
m := m + 1;
until (findtype($1940,backpack) > 0) or (m > 20)
собственно автором там все написано, только ждетпока пройдет 10сек, а не 3.
"Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете". (с) Макконнелл, "Совершенный код".
BaTka
Posts: 7
Joined: 06.12.2014 21:29

Re: Poisoning ZHR

Post by BaTka »

Vizit0r wrote:

Code: Select all

repeat {ждать пока в паке найдеться кег или пройдет 3000 сек}
wait(500);
m := m + 1;
until (findtype($1940,backpack) > 0) or (m > 20)
собственно автором там все написано, только ждетпока пройдет 10сек, а не 3.
исправил,не помогло,впринципе я из-за того,что он ждет так долго и исправил на 3 секунды,думал поможет.теперь ещё и стал долго думать когда из кеги в бутылку яд наливаает,точнее вобще не наливает а тупо ждет... беда вобщем.
BaTka
Posts: 7
Joined: 06.12.2014 21:29

Re: Poisoning ZHR

Post by BaTka »

гдето он всё равно тормозит,при выборе пустой бутылки
Post Reply