Page 1 of 1

помогите исправить скрипт!

Posted: 2006-05-07 11:30:02
by ДРВ

Code: Select all

sub WS_X_WS() 
; -----------------------------------------------------
var LTimer, MyMana
var mX = UO.GetX('laststatus')
var mY = UO.GetY('laststatus')
var mZ = UO.GetZ('laststatus')
var mT = '400'
; -- Wall of Stone # 1 --------------------------------
if UO.GetX('laststatus') > UO.GetX('self') then
UO.WaitTargetTile( mT, STR(mX-2), STR(mY), STR(mZ))
UO.Cast('Wall of Stone')
else
UO.WaitTargetTile( mT, STR(mX+2), STR(mY), STR(mZ))
UO.Cast('Wall of Stone')
endif
LTimer = UO.Timer()
MyMana = UO.Mana
repeat
wait(1000)
until UO.Mana < MyMana || UO.Timer() > LTimer+30
; -- Wall of Stone # 2 --------------------------------
if UO.GetY('laststatus') > UO.GetY('self') then
UO.WaitTargetTile( mT, STR(mX), STR(mY-2), STR(mZ))
UO.Cast('Wall of Stone')
else
UO.WaitTargetTile( mT, STR(mX), STR(mY+2), STR(mZ))
UO.Cast('Wall of Stone')
endif
LTimer = UO.Timer()
MyMana = UO.Mana
repeat
wait(1000)
until UO.Mana < MyMana || UO.Timer() > LTimer+30
; -- Fire Field ---------------------------------------
if UO.GetY('laststatus') > UO.GetY('self') then
UO.WaitTargetTile( mT, STR(mX), STR(mY-2), STR(mZ))
UO.Cast('Fire Field')
else
UO.WaitTargetTile( mT, STR(mX), STR(mY+2), STR(mZ))
UO.Cast('Fire Field')
endif
end sub

просто сделайте чтоб со скролов кастовал!очень надо!

Posted: 2006-05-07 13:18:18
by ДРВ
ПОМОГИТЕ ПОЖАЛУЙСТА!

Posted: 2006-05-07 13:47:36
by ДРВ
АУУУУУУУУУУУУУ"!

Posted: 2006-05-07 13:50:27
by DerMeister =)
Замени UO.Cast('спелл') на uo.usetype(' тип скроллов для етого спелла')

Posted: 2006-05-07 14:03:54
by ДРВ
Der wrote:Замени UO.Cast('спелл') на uo.usetype(' тип скроллов для етого спелла')
можешь заменить?:( просто я не шарю вообще!

Posted: 2006-05-07 15:05:46
by Scripts Writer

Code: Select all

sub WS_X_WS() 
  ; -----------------------------------------------------
  var LTimer, MyMana
  var mX = UO.GetX('laststatus')
  var mY = UO.GetY('laststatus')
  var mZ = UO.GetZ('laststatus')
  var mT = '400'
  var stone=' тип скрола Wall of stone '
  var fire=' тип скрола Fire Field '
  ; -- Wall of Stone # 1 --------------------------------
  if UO.GetX('laststatus') > UO.GetX('self') then
    uo.FindType(stone,'-1','backpack')
    if uo.Count() > 0 then
      UO.WaitTargetTile( mT, STR(mX-2), STR(mY), STR(mZ)) 
      uo.UseType(stone)
      wait(100)
    else
      uo.Print('There are no scrolls! Spell !')
      UO.WaitTargetTile( mT, STR(mX-2), STR(mY), STR(mZ))     
      uo.Cast('Wall of Stone')
    end if
  else
    uo.FindType(stone,'-1','backpack')
    if uo.Count() > 0 then
      UO.WaitTargetTile( mT, STR(mX+2), STR(mY), STR(mZ))
      uo.UseType(stone)
      wait(100)
    else
      uo.Print('There are no scrolls! Spell !')
      UO.WaitTargetTile( mT, STR(mX+2), STR(mY), STR(mZ))
      uo.Cast('Wall of Stone')
    end if
  endif
  LTimer = UO.Timer()
  MyMana = UO.Mana
  repeat
    wait(1000)
  until UO.Mana < MyMana || UO.Timer() > LTimer+30
  ; -- Wall of Stone # 2 --------------------------------
  if UO.GetY('laststatus') > UO.GetY('self') then
    uo.FindType(stone,'-1','backpack')
    if uo.Count() > 0 then
      UO.WaitTargetTile( mT, STR(mX), STR(mY-2), STR(mZ))
      uo.UseType(stone)
      wait(100)
    else
      uo.Print('There are no scrolls! Spell !') 
      UO.WaitTargetTile( mT, STR(mX), STR(mY-2), STR(mZ))   
      UO.Cast('Wall of Stone')
    end if
  else
    uo.FindType(stone,'-1','backpack')
    if uo.Count() > 0 then
      UO.WaitTargetTile( mT, STR(mX), STR(mY+2), STR(mZ))
      uo.UseType(stone)
      wait(100)
    else
      uo.Print('There are no scrolls! Spell !') 
      UO.WaitTargetTile( mT, STR(mX), STR(mY+2), STR(mZ))
      UO.Cast('Wall of Stone')
    endif
  end if
  LTimer = UO.Timer()
  MyMana = UO.Mana
  repeat
    wait(1000)
  until UO.Mana < MyMana || UO.Timer() > LTimer+30
  ; -- Fire Field ---------------------------------------
  if UO.GetY('laststatus') > UO.GetY('self') then
    uo.FindType(fire,'-1','backpack')
    if uo.Count() > 0 then
      UO.WaitTargetTile( mT, STR(mX), STR(mY-2), STR(mZ))
      uo.UseType(fire)
      wait(100)
    else
      uo.Print('There are NO fire field scrolls! Spell !')
      UO.WaitTargetTile( mT, STR(mX), STR(mY-2), STR(mZ))     
      UO.Cast('Fire Field')
    end if
  else
    uo.FindType(fire,'-1','backpack')
    if uo.Count() > 0 then
      UO.WaitTargetTile( mT, STR(mX), STR(mY+2), STR(mZ))
      uo.UseType(fire)
      wait(100)
    else
      uo.Print('There are NO fire field scrolls! Spell !')
      UO.WaitTargetTile( mT, STR(mX), STR(mY+2), STR(mZ))
      UO.Cast('Fire Field')
    end if
  endif
end sub


Пропиши типы скролов, если есть они-то кастует с них, если нету то выдаёт месагу, скролов нет и кастует со спелбуки.

Posted: 2006-05-07 15:41:07
by ДРВ
You Must Die wrote:

Code: Select all

sub WS_X_WS() 
  ; -----------------------------------------------------
  var LTimer, MyMana
  var mX = UO.GetX('laststatus')
  var mY = UO.GetY('laststatus')
  var mZ = UO.GetZ('laststatus')
  var mT = '400'
  var stone=' тип скрола Wall of stone '
  var fire=' тип скрола Fire Field '
  ; -- Wall of Stone # 1 --------------------------------
  if UO.GetX('laststatus') > UO.GetX('self') then
    uo.FindType(stone,'-1','backpack')
    if uo.Count() > 0 then
      UO.WaitTargetTile( mT, STR(mX-2), STR(mY), STR(mZ)) 
      uo.UseType(stone)
      wait(100)
    else
      uo.Print('There are no scrolls! Spell !')
      UO.WaitTargetTile( mT, STR(mX-2), STR(mY), STR(mZ))     
      uo.Cast('Wall of Stone')
    end if
  else
    uo.FindType(stone,'-1','backpack')
    if uo.Count() > 0 then
      UO.WaitTargetTile( mT, STR(mX+2), STR(mY), STR(mZ))
      uo.UseType(stone)
      wait(100)
    else
      uo.Print('There are no scrolls! Spell !')
      UO.WaitTargetTile( mT, STR(mX+2), STR(mY), STR(mZ))
      uo.Cast('Wall of Stone')
    end if
  endif
  LTimer = UO.Timer()
  MyMana = UO.Mana
  repeat
    wait(1000)
  until UO.Mana < MyMana || UO.Timer() > LTimer+30
  ; -- Wall of Stone # 2 --------------------------------
  if UO.GetY('laststatus') > UO.GetY('self') then
    uo.FindType(stone,'-1','backpack')
    if uo.Count() > 0 then
      UO.WaitTargetTile( mT, STR(mX), STR(mY-2), STR(mZ))
      uo.UseType(stone)
      wait(100)
    else
      uo.Print('There are no scrolls! Spell !') 
      UO.WaitTargetTile( mT, STR(mX), STR(mY-2), STR(mZ))   
      UO.Cast('Wall of Stone')
    end if
  else
    uo.FindType(stone,'-1','backpack')
    if uo.Count() > 0 then
      UO.WaitTargetTile( mT, STR(mX), STR(mY+2), STR(mZ))
      uo.UseType(stone)
      wait(100)
    else
      uo.Print('There are no scrolls! Spell !') 
      UO.WaitTargetTile( mT, STR(mX), STR(mY+2), STR(mZ))
      UO.Cast('Wall of Stone')
    endif
  end if
  LTimer = UO.Timer()
  MyMana = UO.Mana
  repeat
    wait(1000)
  until UO.Mana < MyMana || UO.Timer() > LTimer+30
  ; -- Fire Field ---------------------------------------
  if UO.GetY('laststatus') > UO.GetY('self') then
    uo.FindType(fire,'-1','backpack')
    if uo.Count() > 0 then
      UO.WaitTargetTile( mT, STR(mX), STR(mY-2), STR(mZ))
      uo.UseType(fire)
      wait(100)
    else
      uo.Print('There are NO fire field scrolls! Spell !')
      UO.WaitTargetTile( mT, STR(mX), STR(mY-2), STR(mZ))     
      UO.Cast('Fire Field')
    end if
  else
    uo.FindType(fire,'-1','backpack')
    if uo.Count() > 0 then
      UO.WaitTargetTile( mT, STR(mX), STR(mY+2), STR(mZ))
      uo.UseType(fire)
      wait(100)
    else
      uo.Print('There are NO fire field scrolls! Spell !')
      UO.WaitTargetTile( mT, STR(mX), STR(mY+2), STR(mZ))
      UO.Cast('Fire Field')
    end if
  endif
end sub


Пропиши типы скролов, если есть они-то кастует с них, если нету то выдаёт месагу, скролов нет и кастует со спелбуки.
а где типы прописать?:( я сразу извиняюсь,просто нихера не понимаю... :(

Posted: 2006-05-07 15:58:18
by Scripts Writer
8 и 9 строка, по русски там написал.

Posted: 2006-05-08 16:39:24
by ДРВ
You Must Die wrote:8 и 9 строка, по русски там написал.
нЕ КАСТУЕТ СО СКРОЛОВ! :(

Posted: 2006-05-08 16:52:13
by DerMeister =)
ДРВ wrote:
You Must Die wrote:8 и 9 строка, по русски там написал.
нЕ КАСТУЕТ СО СКРОЛОВ! :(


И чё дальше? :lol:
Что именно не работает?

Posted: 2006-05-08 16:57:04
by Kynep
Der wrote:
ДРВ wrote:
You Must Die wrote:8 и 9 строка, по русски там написал.
нЕ КАСТУЕТ СО СКРОЛОВ! :(


И чё дальше? :lol:
Что именно не работает?


Знатоки млин...

Code: Select all

uo.FindType(stone,'-1','backpack') 
    if uo.Count() > 0 then

Во первых UO.Count без параметра написанна, а надо хотя бы

Code: Select all

uo.FindType(stone,'-1','backpack') 
    if uo.Count(stone) > 0 then

НО тогда нахера тут поиск!?!?!?
Исправляем:

Code: Select all

uo.FindType(stone,'-1','backpack') 
    if uo.FindCount() > 0 then

Теперь все работает )))

Posted: 2006-05-08 17:29:18
by Grin
Из "знатаков" тут от писывался только твой друг;)
И на хрена тут поиск если дальше используется тип?;)))

Code: Select all

...
uo.FindType(stone,'-1','backpack')
if uo.Count() > 0 then
      UO.WaitTargetTile( mT, STR(mX-2), STR(mY), STR(mZ)) 
      uo.UseType(stone)
      wait(100)
else
...


"Знатоки" блин;)))

Code: Select all

...
if uo.Count(stone) then
      UO.WaitTargetTile( mT, STR(mX-2), STR(mY), STR(mZ)) 
      uo.UseType(stone)
      wait(100)
else
...