В стену лбом (скрипт не пойму)

Anything and all.

Moderators: Murderator+, Murderator

Post Reply
dubd
Posts: 249
Joined: 2012-07-27 23:43:14

В стену лбом (скрипт не пойму)

Post by dubd »

хело, тут у меня кое что есть ну вопросик. Скажите пожалуйста, как сделать чтобы чар не упирался в стену?

а то так оч не нравитца, хочетца ему голову срубить.



или это весьма не отвечает за уперение в стену?

вот эта - Getdistance<=2 это больще или меньше двух?
Mirage
Posts: 2802
Joined: 2009-05-28 09:58:28
Location: Иваново
Contact:

Re: В стену лбом (скрипт не пойму)

Post by Mirage »

Скрипты подобного вида не очень хорошо выкладывать на общее обозрение. Цензурируй иначе будет поздно. Потом посмотрим.
dubd
Posts: 249
Joined: 2012-07-27 23:43:14

Re: В стену лбом (скрипт не пойму)

Post by dubd »

Вас понял капитан! Прост я тупо скопировал сюда и не предал внимания. Это скрипт скупалка, он оч длинный и наверное это тупо будет сюда его выставлять. В общем ситуация такая, что чар ходит на точке скупки слишком долго. Так же за стеной может быть другой торговец и чар пытаетца к нему тоже идти, хотя там стена и дверь. В скрипте есть дистанция, по которой чар определяет дистанцию подхождения к торговцу.

Code: Select all

sub Start()########################################## Стартер
uo.set('buydelay','5000')
UO.Set('finddistance',9)
var n = 2
var maxN = 10
var numer = 1
var maxnumer = 4

UO.Print("Поехали по магазинам.")
wait(2000)


repeat


if uo.weight > 450 then   
RunebookRecalla(1)
Loot()
endif

if CheckStam==1 then
While UO.Stamina < 60
uo.Print("Low Stamina")
wait(2000)
wend
end if


if numer == 1 then
uo.Print('Реколимся Рунбука № 1, рунка № '+str(n))
RunebookRecalla(n)
end if

if numer == 2 then
uo.Print('Реколимся Рунбука № 2, рунка № '+str(n))
RunebookRecallb(n)
end if

if numer == 3 then
uo.Print('Реколимся Рунбука № 3, рунка № '+str(n))
RunebookRecallc(n)
end if

n = n + 1
if n == maxN then
n = 2
numer = numer + 1
if numer == maxnumer then
numer = 1
end if
end if
BuyPRG()
until uo.dead()
end sub


Code: Select all

UO.Exec(walkn(0,0,'finditem'))
LastTimer=UO.Timer()


If UO.GetDistance('finditem')<=2 then
UO.Print("Закупаю....")
wait(1000)
uo.Buy(BuyListName,UO.GetName('finditem'))
wait(1000)
CheckLag()
uo.say(uo.GetName('finditem')+ " bye")
else
UO.Print(uo.GetName('finditem')+ " заныкался!, В &@$#% его.")
end if
   
uo.ignore('finditem')
end if

until uo.FindCount()==0
next
GMStep()
######################
end sub


Code: Select all

If UO.GetDistance(Target)<2 OR LastTimer+200<UO.Timer() Then
                  wait(2000)


Code: Select all

If dx==0 AND dy==0 OR LastTimer+200<UO.Timer() Then 


Вот, это куски кода. Остальные отвечают за полёты, выгрузку и тдтп. Скажите пожалуйста, как уменьшить дистанцию заметки вендора?

Вот не это ли?

Code: Select all

UO.Set('finddistance',9


Так же подскажите пожалуйста, как сделать, чтобы чар не шарился долго в магазине, а улетал по истечению заданного времени!
Mirage
Posts: 2802
Joined: 2009-05-28 09:58:28
Location: Иваново
Contact:

Re: В стену лбом (скрипт не пойму)

Post by Mirage »

смотря какую ходилку используешь. Некоторые не могут проходить сквозь дверные проемы.
Я прыгаю сразу в дом к торговку. Если такой вариант не подходит на сервере то надо видить полный скрипт. Можно в личку.
UO.Set('finddistance',9) - дистанция поиска торговца. Если уменьшить будет искать более близких. Можно сделать чтобы поиск расходился как локатор от чара кругами с увеличением радиуса.
If dx==0 AND dy==0 OR LastTimer+200<UO.Timer() Then это всего скорее что если чар стоит не двигаясь на месте более 20 секунд то... происходит какое то событие которое ниже.

If UO.GetDistance('finditem')<=2 then
UO.Print("Закупаю....")

Если нужный вендор ближе чем 2 тайла то закупаем.

Насчет чтобы не стоять - у нас на сервере вендор после сделки пишет что то типо - "С вас 100 золотых" или "Вы ничего не купили". Ловишь эти фразы и летишь дальше без пауз.
Post Reply