Старый добрый ламбер.

Ask for help

Moderators: Murderator+, Murderator

Post Reply
Stiv
Posts: 2
Joined: 2009-06-21 02:26:06

Старый добрый ламбер.

Post by Stiv »

Ветровский ламбер, все его уже на изусть наверно знают. Проблема такая
[code]
Sub WaitForChange()
var Text1=uo.GetName()+': You hack at the tree for a while, but fail to produce any useable wood.'
var Text2='There are no logs here to chop.'
var Text3="You can't reach this."
var Text4="That is too far away."
var Text5="You can't do much in your current state."
var Text6='There is no wood left to harvest.'
var mess
for var i=0 to 200
mess=uo.Journal(0)
if uo.Journal(0)==Text2 or uo.Journal(0)==Text3 or uo.Journal(0)==Text4 OR uo.Journal(0)==Text6 then
return 1
end if
if uo.Journal(0)==Text1 then
return 0
end if
if mess[0]=='Y' and mess[1]=='o' and mess[2]=='u' and mess[4]=='p' and mess[5]=='u' and mess[6]=='t' then
return 0
end if
wait(50)
next
return 0
end sub
[/code]

Когда с дерева срубается лог без задержки он начинает рубить заново, когда в дереве нет больше логов он идет к другому....
Когда же возникла неудачная попытка срубки лога, возникает дикая задержка... Перечитал текст сообщения раз 20, писал от руки, смотрел в другие скрипты, результата нету, кто нить мне подскажет чего я не досмотрел? Может надо поставить скобки?[/code]
Mirage
Posts: 2802
Joined: 2009-05-28 09:58:28
Location: Иваново
Contact:

Post by Mirage »

зачем писать сообщения полностью?

var Text1='any useable wood'
var Text2='no logs'
var Text3='reach this'
var Text4='far away'
var Text5='current state'
var Text6='left to harvest'

Вот так пробуй.

Потому что даже отсутствие или присутствие точки вызывает невидимость заданного сообщения.
$!@m
Posts: 106
Joined: 2006-08-10 08:25:32

Post by $!@m »

Mirage wrote:зачем писать сообщения полностью?

var Text1='any useable wood'
var Text2='no logs'
var Text3='reach this'
var Text4='far away'
var Text5='current state'
var Text6='left to harvest'

Вот так пробуй.

+1

Потому что даже отсутствие или присутствие точки вызывает невидимость заданного сообщения.

не говоря уже о опечатках/неправильном регистре.
Stiv
Posts: 2
Joined: 2009-06-21 02:26:06

Post by Stiv »

Незнаю мне это не помогло... Помог только такой способ:
[code]sub WaitForChange()
var mess
for var i=0 to 200
mess=uo.Journal(0)
if uo.injournal('There are no logs left here to chop.') then
return 1
endif
if uo.injournal('away to chop.') then
return 1
endif
if uo.injournal('reach this') then
return 1
endif
if uo.InJournal('but fail') then
return 0
end if
if mess[0]=='Y' and mess[1]=='o' and mess[2]=='u' and mess[4]=='p' and mess[5]=='u' and mess[6]=='t' then
return 0
end if
wait(50)
next
return 0
end sub[/code]
Так и не понял почему инжа не принимала стаый код, впринципе тут тоже самое но прописано по отдельности... Странности какие то :)
zimglads
Posts: 30
Joined: 2009-06-11 14:06:40

Post by zimglads »

эм кинь полный скрипт правельный .. у меня также проблема .. =(
Mirage
Posts: 2802
Joined: 2009-05-28 09:58:28
Location: Иваново
Contact:

Post by Mirage »

все чудесатее и чудесатее :D

Если ты используешь простые сообщения то можно делать так

Code: Select all

f uo.injournal('There are no logs left here to chop|away to chop|reach this') then
return 1
endif

Если задаешь константы на каждое сообщение то надо разделять либо как у Ветра либо как у Дестракшена:

Code: Select all

var Text1='no logs'
var Text2="reach this"
if uo.Journal(Text1 +'|' +Text2) then
return 1
end if
Post Reply