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

Прошу помощи

тут можно задать вопрос по скриптингу
Macks
Apprentice
Apprentice
Posts: 250
Joined: 27.02.2006 22:23
Location: АоП - Age Of Power

Re: Прошу помощи

Post by Macks »

Verana wrote:к тому же бывает так что продавцы стоят рядом и на команду buy будет откликаться один и тот же...
Попробуйте указывать точное имя. Если торговца зовут Romul, то buy Romul.
User avatar
Vizit0r
Developer
Developer
Posts: 3958
Joined: 24.03.2005 17:05
Contact:

Re: Прошу помощи

Post by Vizit0r »

или подбежать вплотную и прошептать.
"Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете". (с) Макконнелл, "Совершенный код".
Roman
Neophyte
Neophyte
Posts: 37
Joined: 03.11.2014 21:48

Re: Прошу помощи

Post by Roman »

если есть меню по клику на вендора, то скорее всего и подходить впритык не надо.
setcontextmenuhook(vendorid,num); // num - номер нужной строки в меню, первая строка "0"
requestcontextmenu(vendorid);
tuxuu1988
Posts: 8
Joined: 21.03.2012 12:00

Re: Прошу помощи

Post by tuxuu1988 »

как можно зделать в моем скрипте так чтоб покупал ! он у меня открывает диалог и нечего не покупает подскажите плизз
User avatar
Vizit0r
Developer
Developer
Posts: 3958
Joined: 24.03.2005 17:05
Contact:

Re: Прошу помощи

Post by Vizit0r »

какой диалог?
"Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете". (с) Макконнелл, "Совершенный код".
tuxuu1988
Posts: 8
Joined: 21.03.2012 12:00

Re: Прошу помощи

Post by tuxuu1988 »

ну не диалог а окно покупки
вот часть скрипта покупки
procedure vendor_buy;
var ven : ven_rail;
vx,vy,i,z,bs : Integer;
vn : string;
begin
AddToSystemJournal('Ищем вендоров и покупаем');
ven[1]:=$0190;
ven[2]:=$0191;
FindDistance:=5;
ignore(Self);
for i:=1 to 2 do
begin
findtype(ven,ground)
if FindCount > 0 then
begin
for z:=1 to FindCount do
begin
FindType(ven,ground);
ClickOnObject(FindItem);
vx:=GetX(FindItem);
vy:=GetY(FindItem);
vn:=GetName(FindItem);
if (GetDistance(FindItem) > 3) then
begin
checksave;
move(vx, vy, 2);
end;
for bs:=1 to rmax do
begin
checksave;
AutoBuy(buy,$0000,0);
UOSay(vn+' buy');
AutoBuy(buy,$0000,0);
wait(2000);
end;
UOSay(vn+' bye');
Ignore(FindItem);
wait(1000);
end;
end;
end;
IgnoreReset;
end;

procedure Intbuy;
begin
AddToSystemJournal('Инициализация покупок');
buy[1] := $0F7A; //BP
buy[2] := $0F88; //NS
buy[3] := $0E34; //BLS
buy[4] := $0F7B; //BM
buy[5] := $0F84; //GA
buy[6] := $0F85; //GI
buy[7] := $0F86; //MR
buy[1] := $0F87; //NW
SetAutoBuyDelay(2);
end;
Post Reply