Page 1 of 2
Magic wand
Posted: 2008-03-21 06:28:57
by rvk
Привет, мастера.
Нашелся скрипт для всяких кастов с magic wand, если нету ванды или закончились заряды, то пускает каст со свитка, если нет и свитка, то из книги. Все это происходит на дрв, а скрипт выглядит вот так:
Code: Select all
sub Paralyze()
var i=1
UO.DeleteJournal()
UO.Set('lasttarget','laststatus')
begin:
if uo.Waiting() then
uo.canceltarget()
endif
UO.FindType('0x0DF3')
if UO.FindCount()>0 then
i=1
if uo.ObjAtLayer('Rhand')=="" and uo.ObjAtLayer('Lhand')<>"" then
uo.addobject('weapon',uo.ObjAtLayer('Lhand'))
else
if uo.ObjAtLayer('Rhand')<>"" then
uo.addobject('weapon',uo.ObjAtLayer('Rhand'))
else
i=0
endif
endif
UO.WaitTargetObject('lasttarget')
UO.UseObject('finditem')
wait(500)
if UO.InJournal("It seems to be out of charges") then
UO.Deletejournal()
UO.Ignore('finditem')
if i<>0 then
uo.waittargetself()
UO.UseObject('weapon')
wait(500)
endif
goto begin
endif
if i<>0 then
uo.waittargetself()
UO.UseObject('weapon')
endif
else
UO.FindType('0x1F52',-1,'my')
If UO.GetQuantity('finditem')>0 then
if UO.Mana>=14 then
UO.WaitTargetObject('lasttarget')
UO.UseObject('finditem')
UO.Print("Scroll")
else
UO.Print("Low mana!!! Scroll!")
endif
else
if UO.Mana>=28 then
UO.Cast('Paralyze','laststatus')
UO.Print("Spell")
else
UO.Print("Low mana!!! Spell!")
endif
endif
endif
end sub
Подправьте, пожалуйста, этот скрипт, чтобы можно было использовать любой тип ванды.
Есть мысль, не знаю насколько она верна, чтобы поиск ванды в паке производился по имени, а не по типу. Но как ее реализовать я не знаю.
Re: Magic wand
Posted: 2008-03-21 09:26:33
by Kynep
rvk wrote:Привет, мастера.
Нашелся скрипт для всяких кастов с magic wand, если нету ванды или закончились заряды, то пускает каст со свитка, если нет и свитка, то из книги. Все это происходит на дрв, а скрипт выглядит вот так:
Подправьте, пожалуйста, этот скрипт, чтобы можно было использовать любой тип ванды.
Есть мысль, не знаю насколько она верна, чтобы поиск ванды в паке производился по имени, а не по типу. Но как ее реализовать я не знаю.
Как раз тут поиск идет по типу )
Posted: 2008-03-22 10:46:50
by rvk
А я что написал, дружище?
Как раз я вижу, что поиск идет по типу, а задача в том, чтобы искал по имени.
Posted: 2008-03-22 10:49:27
by rvk
Суть в следующем. Если у меня в паке есть ванда енерджи болта такого же типа, как тип в скрипте для парала, то чар ее будет использовать, потому что идет поиск по типу. Если исправить, чтобы поиск производился по имени, тогда можно брать любые типы ванд и кастовать то, что нужно.
Posted: 2008-03-22 12:17:13
by rvk
Хотя бы подскажите, если ни у кого нет желания помогать в писанине
Posted: 2008-03-22 12:46:45
by korzh
Ищешь по типу
если нашел
узнаешь имя
если нужное имя
юзаешь
Posted: 2008-03-22 13:00:16
by rvk
Еще кто-нибудь добрый?
Posted: 2008-03-22 13:12:14
by Yura
korzh wrote:Ищешь по типу
если нашел
узнаешь имя
если нужное имя
юзаешь
В скрипте это выглядит примерно так
var NugnoeName='wand of chego nado'
var exit
UO.findtype('0x0DF3')
exit =0
While UO.FindCount('finditem') <>0 and exit==0
if NugnoeName==UO.GetName('finditem') then
exit=1
else
UO.Ignore('finditem')
UO.findtype('0x0DF3')
endif
wend
if exit==0 then
uo.print(NugnoeName + ' Ne naideno')
return
End if
Дальше твой скрипт подхватит этот финдитем и будет юзать
PS исправлено... строчку пропустил
Posted: 2008-03-22 13:43:01
by rvk
Спасибо, а как добавить типы ванд?
То есть, как я понимаю из этой строчки
скрипт будет искать нужное имя лишь у одного типа ванд. Как правильно оформить в скрипте перечисление всех типов ванд?
через запятую?
Code: Select all
UO.findtype('0x0DF3' , '0x0DF4' , '0x0DF5')
Posted: 2008-03-22 14:11:31
by Yura
rvk wrote:Спасибо, а как добавить типы ванд?
То есть, как я понимаю из этой строчки
скрипт будет искать нужное имя лишь у одного типа ванд. Как правильно оформить в скрипте перечисление всех типов ванд?
через запятую?
Code: Select all
UO.findtype('0x0DF3' , '0x0DF4' , '0x0DF5')
Через запятую нет
sub Paralyze()
var i=1,wandT=0
var NN='Wand chego nado'
UO.DeleteJournal()
UO.Set('lasttarget','laststatus')
begin:
if uo.Waiting() then
uo.canceltarget()
endif
wandT=wandsearch(NN)
if wandT<>0 then
i=1
if uo.ObjAtLayer('Rhand')=="" and uo.ObjAtLayer('Lhand')<>"" then
uo.addobject('weapon',uo.ObjAtLayer('Lhand'))
else
if uo.ObjAtLayer('Rhand')<>"" then
uo.addobject('weapon',uo.ObjAtLayer('Rhand'))
else
i=0
endif
endif
UO.WaitTargetObject('lasttarget')
UO.UseObject(WendT)
wait(500)
if UO.InJournal("It seems to be out of charges") then
UO.Deletejournal()
UO.Ignore(WendT)
if i<>0 then
uo.waittargetself()
UO.UseObject('weapon')
wait(500)
endif
goto begin
endif
if i<>0 then
uo.waittargetself()
UO.UseObject('weapon')
endif
else
UO.FindType('0x1F52',-1,'my')
If UO.GetQuantity('finditem')>0 then
if UO.Mana>=14 then
UO.WaitTargetObject('lasttarget')
UO.UseObject('finditem')
UO.Print("Scroll")
else
UO.Print("Low mana!!! Scroll!")
endif
else
if UO.Mana>=28 then
UO.Cast('Paralyze','laststatus')
UO.Print("Spell")
else
UO.Print("Low mana!!! Spell!")
endif
endif
endif
end sub
sub wandsearch(NugnoeName)
var WC = ;сколько всего типов
DIM WandT[WC]
WandT[0] ='0x0DF3'
wandT[1] = следующий и тд
var x
For x=0 to WC-1
UO.findtype()
While UO.FindCount() <>0
if NugnoeName==UO.GetName('finditem') then
return 'finditem'
else
UO.Ignore('finditem')
UO.FindType(WandT[x])
endif
wend
next
uo.print(NugnoeName + ' Ne naideno')
return 0
Endsub
По идее должно работать)))
немного подправил
Posted: 2008-03-22 14:15:53
by rvk
Круто. Очень благодарен. Сейчас попробую
Posted: 2008-03-22 15:01:31
by korzh
на Абисе таких увы нет, но еще можно предположить что ванды различаются по цвету..
Posted: 2008-03-22 15:21:37
by Kynep
Yura wrote:Спасибо, а как добавить типы ванд?
То есть, как я понимаю из этой строчки
По идее должно работать)))
немного подправил
Прежде чем стоветовать что то людям научитесь пожалуйста вставлять свой код в теги [code]
Posted: 2008-03-22 18:56:20
by rvk
Kynep wrote:Yura wrote:Спасибо, а как добавить типы ванд?
То есть, как я понимаю из этой строчки
По идее должно работать)))
немного подправил
Прежде чем стоветовать что то людям научитесь пожалуйста вставлять свой код в теги [code]
купер. Два поста в одном топе и никакого от тебя смысла
Posted: 2008-03-22 20:05:14
by rvk
korzh wrote:на Абисе таких увы нет, но еще можно предположить что ванды различаются по цвету..
Различаются, но это не важно, потому что цвет тоже не идентифицирует ванду, как ту что может понадобится.
Например, в паке три ванды одного типа, но разного назначения. Одна -фс, вторая- парал, третья- землетрясения. Нужно чтобы скрипт доставал правильную.
2Yura
Пока времени не было, как только проведу тестдрайв- отпишусь.
Posted: 2008-03-22 20:30:15
by korzh
rvk wrote:korzh wrote:на Абисе таких увы нет, но еще можно предположить что ванды различаются по цвету..
Различаются, но это не важно, потому что цвет тоже не идентифицирует ванду, как ту что может понадобится.
Например, в паке три ванды одного типа, но разного назначения. Одна -фс, вторая- парал, третья- землетрясения. Нужно чтобы скрипт доставал правильную.
....
И цвета у них одинаковые?
Posted: 2008-03-22 22:56:17
by Kynep
rvk wrote:Купер. Два поста в одном топе и никакого от тебя смысла
Первое: После моего первого поста Вы исправили свой первый пост, не так ли?
Второе: Если человек считает себя на столько мудрым что бы давать советы, то он обязан знать правила форума. Если он их не знает, я ему их напоминаю.
Третье: Не Вам оценивать степень моей полезности на этом форуме, достаточно взглянуть в раздел "Scripting Ore", тема "То что ищут многие".
И последнее: ни кто не обязан по первому Вашему требованию выкладывать готовый скрипт. И обвинять кого то в том что он этого не сделал, имхо абсурд.
Posted: 2008-03-22 23:39:46
by Yura
Kynep wrote:
Второе: Если человек считает себя на столько мудрым что бы давать советы, то он обязан знать правила форума. Если он их не знает, я ему их напоминаю.
Спасибо наимудрейший

Posted: 2008-03-23 00:55:28
by rvk
Posted: 2008-03-23 01:00:43
by rvk
Kynep wrote:rvk wrote:Купер. Два поста в одном топе и никакого от тебя смысла
Первое: После моего первого поста Вы исправили свой первый пост, не так ли?
Второе: Если человек считает себя на столько мудрым что бы давать советы, то он обязан знать правила форума. Если он их не знает, я ему их напоминаю.
Третье: Не Вам оценивать степень моей полезности на этом форуме, достаточно взглянуть в раздел "Scripting Ore", тема "То что ищут многие".
И последнее: ни кто не обязан по первому Вашему требованию выкладывать готовый скрипт. И обвинять кого то в том что он этого не сделал, имхо абсурд.
Не хочу вступать в полемику, но посты не исправлял, ни первый, ни последующие. Задача с самого начала была, как мне кажется, ясно выражена. Про полезность на форуме речи не было, лишь о моем топе разговор. То что никто не обязан- нет сомнений, но имея статус скриптописца, твое участие выглядит насмешкой.