запись названия элементаля

Anything and all.

Moderators: Murderator+, Murderator

Post Reply
kexwer
Posts: 159
Joined: 2005-06-19 19:21:28

запись названия элементаля

Post by kexwer »

вот часть скрипта, отвечающая за запись в текст принт, но почему то он записывает не имя Элементаля, а моё... TWI включён...
Подскажите, как исправить?

Code: Select all

if uo.InJournal('Elemental') then 
uo.PlayWav(DisturbingSound)
uo.GetStatus('uo.JournalSerial(0)')
uo.SetGlobal('name',uo.GetName(uo.JournalSerial(0)))
uo.TextOpen()
uo.TextPrint('Был выкопан Элементаль - '+uo.GetName(uo.JournalSerial(0)) +Space +Time)
uo.Exec('terminate Mining')
wait(500)
uo.Exec('terminate RecallRune')
uo.Exec('terminate DropOre')
# убиваем элемента #



Вот Что выдаёт в текстпринте


Code: Select all

Был выкопан Элементаль - Kex 23:26:26 @ 7.12.20
stickman
Posts: 139
Joined: 2005-04-05 04:13:24
Location: DRW
Contact:

Post by stickman »

чтобы узнать его имя нужно его сначала найти uo.findtype
Mihail
Expert!
Posts: 548
Joined: 2005-05-20 20:30:10
Contact:

Post by Mihail »

... а потом кликнуть по нему и сделать чеклаг....
Kynep
Expert!
Posts: 1348
Joined: 2006-02-07 08:51:40
Location: г. Старый Оскол
Contact:

Post by Kynep »

Mihail wrote:... а потом кликнуть по нему и сделать чеклаг....


а так низя?

Code: Select all

var name

UO.FindType(...)
name = UO.GetName('finditem')

или обязательно из журнала?
Last edited by Kynep on 2007-12-21 17:49:15, edited 1 time in total.
stickman
Posts: 139
Joined: 2005-04-05 04:13:24
Location: DRW
Contact:

Post by stickman »

а потом подумать над тем, что написал Cooper и все заработает! :P
Kynep
Expert!
Posts: 1348
Joined: 2006-02-07 08:51:40
Location: г. Старый Оскол
Contact:

Post by Kynep »

stickman wrote:а потом подумать над тем, что написал Cooper и все заработает! :P


А что тут собстна думать?? :D Делать надо!! :D :D
Mihail
Expert!
Posts: 548
Joined: 2005-05-20 20:30:10
Contact:

Post by Mihail »

Kynep wrote:var name

UO.FindType(...)
name = str(UO.GetName('finditem'))
[/code]
или обязательно из журнала?

если в журнале записи об имени элемента не было то getname не сработает...

и кстати элемент может быть не один, а если это не важно то для сокращения кода проще использовать преобразоание типа в объект и т.д.

кстати зачем переводить значение в строку если getname возвращает итак строку?

stickman wrote:а потом подумать над тем, что написал Cooper и все заработает! :P

а нубам слова не давали, они должны читать и мотать на ус
работает это только в том случае если элемент у тебя появился в зоне видимости после запуска скрипта
Kynep
Expert!
Posts: 1348
Joined: 2006-02-07 08:51:40
Location: г. Старый Оскол
Contact:

Post by Kynep »

Mihail wrote:если в журнале записи об имени элемента не было то getname не сработает...

и кстати элемент может быть не один, а если это не важно то для сокращения кода проще использовать преобразоание типа в объект и т.д.

работает это только в том случае если элемент у тебя появился в зоне видимости после запуска скрипта


По поводу первого и второго предложений:

Code: Select all

if uo.InJournal('Elemental') then 


после этого вставляется поиск по типу, а если надо можно преобразовать в обьект. А если не один, можно игнорить и искать снова, все зависит от фантазии афтора ))) :D

по поводу последнего, на ДРВ они вроде всегда появляются в зоне видимости, если они там ни чего не поменяли.

Или я не прав?

(исправил)
Mihail
Expert!
Posts: 548
Joined: 2005-05-20 20:30:10
Contact:

Post by Mihail »

блин вот из-за какой-то фигни прямо дискуссию надо разводить...
на элементалях ДРВ мир клином не сошелся - правильнее учить ньюбов использовать функцию uo.getname только после функции uo.click
Kynep
Expert!
Posts: 1348
Joined: 2006-02-07 08:51:40
Location: г. Старый Оскол
Contact:

Post by Kynep »

Mihail wrote:блин вот из-за какой-то фигни прямо дискуссию надо разводить...
на элементалях ДРВ мир клином не сошелся - правильнее учить ньюбов использовать функцию uo.getname только после функции uo.click


Не говори :D

Вот кстати еще примерчик, смотри и додумывай сам:

Code: Select all

sub zhdem()
var ser
uo.deletejournal()
while not UO.Dead()
 if UO.InJournal('Elemental') then
  ser = uo.journalserial('Elemental')
  UO.asmLogAdd('mining_log.txt', UO.asmGetDate('dd:mm:yy') + ' в ' + UO.asmGetTime('hh:nn:ss') + ' ты выкопал ' + UO.GetName(ser))
 else
wait(50)
 endif
wend
endsub
kexwer
Posts: 159
Joined: 2005-06-19 19:21:28

Post by kexwer »

Ну вроде разобрался , вроде работает =)
Вот что получилось!

Code: Select all

if uo.InJournal('Elemental') then 
uo.exec('usetype 0x0f0e 0x0631')
uo.PlayWav(DisturbingSound)
wait(4000)
if uo.Waiting() then
uo.CancelTarget()
end if
uo.FindType('0x0B3C',-1,'ground')
uo.click('finditem')
wait(500)
tColor = uo.getcolor('finditem')
UO.asmLogAdd('MiningLog.txt', UO.asmGetDate('dd/mm/yy')+" - "+UO.asmGetTime('hh:nn:ss')+" - "+"Был выкопан Элементаль - "+uo.getname('finditem'))
Kynep
Expert!
Posts: 1348
Joined: 2006-02-07 08:51:40
Location: г. Старый Оскол
Contact:

Post by Kynep »

kexwer wrote:Ну вроде разобрался , вроде работает =)
Вот что получилось!

Code: Select all

if uo.InJournal('Elemental') then 
uo.exec('usetype 0x0f0e 0x0631')
uo.PlayWav(DisturbingSound)
wait(4000)
if uo.Waiting() then
uo.CancelTarget()
end if
uo.FindType('0x0B3C',-1,'ground')
uo.click('finditem')
wait(500)
tColor = uo.getcolor('finditem')
UO.asmLogAdd('MiningLog.txt', UO.asmGetDate('dd/mm/yy')+" - "+UO.asmGetTime('hh:nn:ss')+" - "+"Был выкопан Элементаль - "+uo.getname('finditem'))


Ну вот и славно. Только не пойму зачем тебе его цвет?
Post Reply