Учусь писать скрипты .)

Anything and all.

Moderators: Murderator+, Murderator

netol
Posts: 138
Joined: 2005-01-22 10:29:34

Post by netol »

вопрос а зачем ему стамина и вчитайся еще раз в топ ;)
Dron D.
Posts: 190
Joined: 2004-12-13 01:27:00

Post by Dron D. »

Я не лочю стамину, я лочю дексу, но не пойму почему скрипт пишет на эту строку ошибку...
If Uo.Dex = 80 then ???
Leo
Expert!
Posts: 791
Joined: 2005-01-15 19:15:05
Location: Dragon World
Contact:

Post by Leo »

Перепутал слово. :oops:
Destruction
Junior Expert
Posts: 3221
Joined: 2004-06-24 22:08:56

Post by Destruction »

Dron D. wrote:Я не лочю стамину, я лочю дексу, но не пойму почему скрипт пишет на эту строку ошибку...
If Uo.Dex = 80 then ???

Оператор "=" приравнивает значений.
uo.dex - константа, которая содержит число, а как известно константу изменить нельзя, разумеется прет ошибка.

Вероятно ты хотел написать if uo.dex == 80 then

Кстате да, разве есть uo.dex ?
Dron D.
Posts: 190
Joined: 2004-12-13 01:27:00

Post by Dron D. »

Читай учебник )) По крайней мере эта константа там есть )) не знаю может она не работает на Фэнтэзи...
Leo
Expert!
Posts: 791
Joined: 2005-01-15 19:15:05
Location: Dragon World
Contact:

Post by Leo »

У меня на UO.Dex выдаётся ошибка.
netol
Posts: 138
Joined: 2005-01-22 10:29:34

Post by netol »

все вопросы к I'm :)
Dron D.
Posts: 190
Joined: 2004-12-13 01:27:00

Post by Dron D. »

Вот решил для пвп сделать скриптик, чтобы чар быстро лутал из трупа цветные арморы, если кто то выходит в них )), так вот я взял за основу скрипт на лут с разрезанием трупов, повырезал оттуда все что не надо, уменьшил паузы, но скрипт отказывается работать ...

Code: Select all


sub lootcolarm()
VAR WaitTime=100
VAR Exit=0, i
uo.exec("set finddistance 3")
DIM lootcolarm[6]
lootcolarm[0]=0x1412
lootcolarm[1]=0x1413
lootcolarm[2]=0x1414
lootcolarm[3]=0x1410
lootcolarm[4]=0x1415
lootcolarm[5]=0x1411
UO.UseObject('lastcorpse')
for i=0 to 6
repeat
uo.findtype(lootcolarm[i],'-1','lastcorpse')
if uo.findcount()>0 then 
UO.MoveItem('finditem',-1,'backpack') 
wait(100)
endif
until uo.findcount()==0
next
uo.print('LOOTING COMPLETED')  №
uo.exec("set finddistance 14") #Runtime Error
end sub


Всегда на одну и туже строку показывает ошибку: Runtime Error
даже если ету строку передвинуть вверх или низ, то он все равно показывает на конец скрипта...
Leo
Expert!
Posts: 791
Joined: 2005-01-15 19:15:05
Location: Dragon World
Contact:

Post by Leo »

Мне кажется, с кавычками будет лучше :wink:

Code: Select all

...
lootcolarm[0]='0x1412'
lootcolarm[1]='0x1413'
lootcolarm[2]='0x1414'
lootcolarm[3]='0x1410'
lootcolarm[4]='0x1415'
lootcolarm[5]='0x1411'
...
Dron D.
Posts: 190
Joined: 2004-12-13 01:27:00

Post by Dron D. »

Подправил, однако скрипт что то глупит... Он октрывает тело, патом пишет ету ошибку опять же, и не чего не лутит....
Leo
Expert!
Posts: 791
Joined: 2005-01-15 19:15:05
Location: Dragon World
Contact:

Post by Leo »

Code: Select all

uo.print('LOOTING COMPLETED')  №


А что это за :?:
Dron D.
Posts: 190
Joined: 2004-12-13 01:27:00

Post by Dron D. »

Ет просто опечатка тут в посте, я пытался показать куда ошибка указыает...

Я нашел ошибку:
for i 0 to 6
у меня было.. а надо было for i 0 to 5
Leo
Expert!
Posts: 791
Joined: 2005-01-15 19:15:05
Location: Dragon World
Contact:

Post by Leo »

Я в массивах вообще предпочитаю 0 не использовать, меня это только сбивает.
Dron D.
Posts: 190
Joined: 2004-12-13 01:27:00

Post by Dron D. »

Хммм вот у меня такая просьба:
у меня где то в клиенте стоит чтобы показывались трупики животных, т.е. когда животное умирает то пишется Body of liaam [0 items], я так понимаю что скрипт видит только ето тело в округе, и скрипт открыает трупаик ламы и чистит его... вот можно как нить игнорить их трупы или проспсать чтоб писались тела игроков....
Leo
Expert!
Posts: 791
Joined: 2005-01-15 19:15:05
Location: Dragon World
Contact:

Post by Leo »

Насколько я знаю нельзя.
Сделай проверку на тип, если тип трупа как у человека - лутим, если нет - не лутим.
Dron D.
Posts: 190
Joined: 2004-12-13 01:27:00

Post by Dron D. »

Вот уже стал более или менее разбиратся в скриптовании, но все равно есть вопросы.

Я вот тут накалякал скрипт на обкидывание:

Code: Select all

sub vetki()
var x
  if uo.getglobal('vetki')=='1' then
    uo.print('Vetki system allready on')
    goto dropp
  end if
  uo.setglobal('vetki','1')
  UO.Set('lasttarget','laststatus')
  x=uo.getserial('lasttarget')
  uo.findtype("0x13FE")
  if uo.findcount() then
    uo.drop("1",str(uo.getx(x)-1),str(uo.gety(x)),0,"finditem")
  end if
  wait(500)
  uo.findtype("0x13FE")
  if uo.findcount() then
    uo.drop("1",str(uo.getx(x)),str(uo.gety(x)+1),0,"finditem")
  end if
   wait(500)
  uo.findtype("0x13FE")
  if uo.findcount() then
    uo.drop("1",str(uo.getx(x)+1),str(uo.gety(x)),0,"finditem")
  end if
  wait(500)
  uo.findtype("0x13FE")
  if uo.findcount() then
    uo.drop("1",str(uo.getx(x)),str(uo.gety(x)-1),0,"finditem")
  end if
  uo.setglobal('vetki','0')
  dropp:
  uo.print('Обкидано')
end sub


Вот скрипт иногда пашет, а иногда нет, причем если я оставляю какую-нибудь 1 сторону для закидывания, то скрипт не работает...
Где проблема то?
Post Reply