Page 1 of 1

Помогите переделать скрипт на сворду

Posted: 2009-09-27 23:45:44
by mustdie7
sub main()
uo.addobject('char')
while uo.targeting()
wait(100)
wend
uo.warmode(true)
uo.attack('char')
repeat
if uo.getHP('char') < uo.getMaxHP('char')/2 then
uo.warmode(false)
repeat
wait(350)
until uo.getHP('char') == uo.getMaxHP('char')
uo.warmode(true)
uo.attack('char')
endif
wait(700)
if ( UO.ObjAtLayer('Rhand') == "" ) then
UO.equipt("Rhand", "katana")
end if
until 0
end sub




чтобы он брал из сумки(которая на полу) катану. или из бэкпака.

Posted: 2009-09-28 00:14:22
by Scripts Writer

Code: Select all

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


Code: Select all

вызывать в своём скрипте написанный скрипт по его заголовку

Posted: 2009-09-28 00:38:05
by mustdie7
Scripts Writer wrote:

Code: Select all

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


Code: Select all

вызывать в своём скрипте написанный скрипт по его заголовку


да нет нето . надо чтобы скрипт был и не просто в бэкпак ложил а в руку брал если сломалась

Posted: 2009-09-28 08:37:01
by Scripts Writer

Code: Select all

использовать переложенную вещь

Posted: 2009-09-28 12:02:10
by mustdie7
Scripts Writer wrote:

Code: Select all

использовать переложенную вещь

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

Posted: 2009-09-28 12:03:12
by mustdie7
sub main()
uo.addobject('char')##Ïðè çàïóñêå ñêðèïòà ïÿâèòñÿ ïðèöåë èì íàäî óêàçàòü íà àòàêóåìîãî
while uo.targeting()
wait(100)
wend
uo.warmode(true)
uo.attack('char')
repeat
if uo.getHP('char') < uo.getMaxHP('char')/2 then
uo.warmode(false)
repeat
wait(350)
until uo.getHP('char') == uo.getMaxHP('char')
uo.warmode(true)
uo.attack('char')
endif
wait(700)
if ( UO.ObjAtLayer('Rhand') == "" ) then
UO.findtype("0x13FE", "-1", "0x4142882F")## óêàçàòü òèï îðóæèÿ,-1,ñóìêà ñ îðóæèåì ñåðèàë
UO.moveitem("finditem", "1", "backpack")
Wait(100)
UO.equipt("Rhand", "0x13FE")##òèï îðóæèÿ
end if
until 0
end sub

вот вроде работает. если есть ошибки поправь плиз я нуб еще в скриптах

Posted: 2009-09-28 16:03:20
by Mirage
mustdie7 wrote:sub main()
uo.addobject('char')##Ïðè çàïóñêå ñêðèïòà ïÿâèòñÿ ïðèöåë èì íàäî óêàçàòü íà àòàêóåìîãî
while uo.targeting()
wait(100)
wend
uo.warmode(true)
uo.attack('char')
repeat
if uo.getHP('char') < uo.getMaxHP('char')/2 then
uo.warmode(false)
repeat
wait(350)
until uo.getHP('char') == uo.getMaxHP('char')
uo.warmode(true)
uo.attack('char')
endif
wait(700)
if ( UO.ObjAtLayer('Rhand') == "" ) then
UO.findtype("0x13FE", "-1", "0x4142882F")## óêàçàòü òèï îðóæèÿ,-1,ñóìêà ñ îðóæèåì ñåðèàë
UO.moveitem("finditem", "1", "backpack")
Wait(100)
UO.equipt("Rhand", "0x13FE")##òèï îðóæèÿ
end if
until 0
end sub

вот вроде работает. если есть ошибки поправь плиз я нуб еще в скриптах


в целом правильно. Не хватает одного until и условия к нему.
во алгоритму у тебя должно чтото происходить когда хиты уменьшаются меньше половины. А в скрипты отсутствует кусок.


можно еще вот так делать:


Code: Select all

sub main()
VAR rhand=uo.ObjAtLayer('Rhand')
VAR weapon=UO.GetSerial(rhand)
VAR typeweapon=UO.GetGraphic(weapon)

repeat
if UO.GetGraphic(UO.ObjAtLayer("Rhand"))=="0x0000" and uo.Count(typeweapon)>0 then ; если сломалось и есть в рюкзаке
  uo.Usetype(typeweapon) ; используем (берем в руки)
  wait(150)
endif
...

Posted: 2009-09-29 19:48:19
by mustdie7
Mirage wrote:
mustdie7 wrote:sub main()
uo.addobject('char')##Ïðè çàïóñêå ñêðèïòà ïÿâèòñÿ ïðèöåë èì íàäî óêàçàòü íà àòàêóåìîãî
while uo.targeting()
wait(100)
wend
uo.warmode(true)
uo.attack('char')
repeat
if uo.getHP('char') < uo.getMaxHP('char')/2 then
uo.warmode(false)
repeat
wait(350)
until uo.getHP('char') == uo.getMaxHP('char')
uo.warmode(true)
uo.attack('char')
endif
wait(700)
if ( UO.ObjAtLayer('Rhand') == "" ) then
UO.findtype("0x13FE", "-1", "0x4142882F")## óêàçàòü òèï îðóæèÿ,-1,ñóìêà ñ îðóæèåì ñåðèàë
UO.moveitem("finditem", "1", "backpack")
Wait(100)
UO.equipt("Rhand", "0x13FE")##òèï îðóæèÿ
end if
until 0
end sub

вот вроде работает. если есть ошибки поправь плиз я нуб еще в скриптах


в целом правильно. Не хватает одного until и условия к нему.
во алгоритму у тебя должно чтото происходить когда хиты уменьшаются меньше половины. А в скрипты отсутствует кусок.


можно еще вот так делать:


Code: Select all

sub main()
VAR rhand=uo.ObjAtLayer('Rhand')
VAR weapon=UO.GetSerial(rhand)
VAR typeweapon=UO.GetGraphic(weapon)

repeat
if UO.GetGraphic(UO.ObjAtLayer("Rhand"))=="0x0000" and uo.Count(typeweapon)>0 then ; если сломалось и есть в рюкзаке
  uo.Usetype(typeweapon) ; используем (берем в руки)
  wait(150)
endif
...


а как это все в скрИпт вставить то? я нуб

Posted: 2009-09-30 07:13:27
by Mirage