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

Ask for scripts here

Moderators: Murderator+, Murderator

Post Reply
mustdie7
Posts: 22
Joined: 2009-09-27 22:26:33
Contact:

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

Post 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




чтобы он брал из сумки(которая на полу) катану. или из бэкпака.
Scripts Writer
Posts: 2259
Joined: 2005-04-19 18:00:29
Location: Московская область
Contact:

Post by Scripts Writer »

Code: Select all

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


Code: Select all

вызывать в своём скрипте написанный скрипт по его заголовку
mustdie7
Posts: 22
Joined: 2009-09-27 22:26:33
Contact:

Post by mustdie7 »

Scripts Writer wrote:

Code: Select all

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


Code: Select all

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


да нет нето . надо чтобы скрипт был и не просто в бэкпак ложил а в руку брал если сломалась
Scripts Writer
Posts: 2259
Joined: 2005-04-19 18:00:29
Location: Московская область
Contact:

Post by Scripts Writer »

Code: Select all

использовать переложенную вещь
mustdie7
Posts: 22
Joined: 2009-09-27 22:26:33
Contact:

Post by mustdie7 »

Scripts Writer wrote:

Code: Select all

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

дак я весь учебник по скриптам прочитал так и не понял как это сделать
напиши плиз код?
mustdie7
Posts: 22
Joined: 2009-09-27 22:26:33
Contact:

Post 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

вот вроде работает. если есть ошибки поправь плиз я нуб еще в скриптах
Mirage
Posts: 2802
Joined: 2009-05-28 09:58:28
Location: Иваново
Contact:

Post 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
...
mustdie7
Posts: 22
Joined: 2009-09-27 22:26:33
Contact:

Post 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
...


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