Yoko

All sides of Injection
It is currently 2026-01-17 23:48:06

All times are UTC+02:00




Post new topic  Reply to topic  [ 13 posts ] 
Author Message
PostPosted: 2005-01-06 17:27:01 
Offline
User avatar

Joined: 2004-07-22 16:07:11
Posts: 260
Ваял этот скрипт долго, считай мой первый нормальный скрипт. Понадёргал кусков из множества скриптов, склеел и вроде работает, как ток не проверял. Выключил компьютер пошёл спать... проснулся хотел поставить чара на макрос, но пишет в 43 строке ошибка, но в скрипте всего 42 строчки... сидел ломал голову в чём трабл. При повторном вставлении ID сундука начинает работать. Вопрос в том, что можно сделать чтобы не менять постоянно ID?
Code:
sub Magery()
VAR NS='0x0F88'
VAR Sunduk='0x4021C658'
VAR Kolvo=10
VAR k = 0, j
VAR LastTimer
while NOT UO.Dead()
While UO.NS<=1
UO.FindType(NS, -1, Sunduk)
If UO.FindCount()==0 Then
UO.Print("NS not found, script terminated")
else
j = UO.GetQuantity( 'finditem' )
If j > Kolvo Then
UO.Print("I can use" + str( j ) + "NS")
else
UO.Print("I can't use" + str( j ) + "NS")
Endif
If Kolvo == 1 Then
UO.FindType( NS )
UO.MoveItem( 'finditem', '2', Sunduk )
wait(500)
Else
UO.Grab( Str( Kolvo ), 'finditem' )
wait(500)
Endif
wend
while UO.Mana>66
UO.Cast('Poison','self')
wait(3000)
wend
while UO.Mana<UO.Int
LastTimer=UO.Timer()
UO.UseSkill('Meditation')
repeat
wait(100)
until UO.InJournal("You are") OR UO.InJournal("You lose") OR UO.Timer()>LastTimer+200
UO.DeleteJournal()
wait(2000)
wend
Wend
end sub


Top
   
 Post subject:
PostPosted: 2005-01-06 18:10:43 
Offline
User avatar

Joined: 2004-12-29 15:16:45
Posts: 112
Ну как варинат можно сделать так: каждый раз при запуске скрипта, он будет выводит прицел и нужно будет указывать на сундук
Code:
....
VAR Sunduk
.....
UO.Exec('addobject Chest')
While UO.Targeting()
wait(100)
Wend
Sunduk=uo.getserial(Chest)
....

Просьба ногами не бить


Top
   
 Post subject:
PostPosted: 2005-01-06 18:48:25 
Offline
User avatar

Joined: 2004-07-22 16:07:11
Posts: 260
JIupus wrote:
Ну как варинат можно сделать так: каждый раз при запуске скрипта, он будет выводит прицел и нужно будет указывать на сундук
Code:
....
VAR Sunduk
.....
UO.Exec('addobject Chest')
While UO.Targeting()
wait(100)
Wend
Sunduk=uo.getserial(Chest)
....

Просьба ногами не бить

Спасибо за вариант, хочется услышать ещё мнения.


Top
   
 Post subject:
PostPosted: 2005-01-06 19:32:33 
Offline

Joined: 2004-04-05 11:59:21
Posts: 69
Location: RunUO
ок, убедил:) вот тебе еще вариант
Code:
<....>
While UO.NS<=1
      UO.FindType(NS, -1, Sunduk)
       If UO.FindCount()==0 Then <------ начало
          UO.Print("NS not found, script terminated")
       else
          j = UO.GetQuantity( 'finditem' )
          If j > Kolvo Then
             UO.Print("I can use" + str( j ) + "NS")
          else
             UO.Print("I can't use" + str( j ) + "NS")
          Endif
         
          If Kolvo == 1 Then
             UO.FindType( NS )
             UO.MoveItem( 'finditem', '2', Sunduk )
             wait(500)
          Else
             UO.Grab( Str( Kolvo ), 'finditem' )
             wait(500)
          Endif
<------ здесь чего то нехватает?
<....>


Top
   
 Post subject:
PostPosted: 2005-01-06 19:36:40 
Offline
Junior Expert
User avatar

Joined: 2004-11-13 00:43:55
Posts: 474
Location: Киберзадроцк
Накалякал от нефиг делать )
может не работать я не тестил... сам попробуй
Code:
sub Magery()
var Sunduk='0x4021C658'
var NS='0x0F88'
var LastTimer, Kolvo=10
var CountReg=XX ## - сюда кол-во регов каторое чар будет заправлять.
REPEAT
While UO.NS >= Kolvo and NOT UO.Dead()
If UO.mana <= 10 Then
REPEAT
UO.UseSkill('Meditation')
LastTimer=UO.Timer()
UO.DeleteJournal()
REPEAT
Wait(300)
Until UO.InJournal("You are") or UO.InJournal("You lose") or UO.Timer()>LastTimer+200
Until UO.mana==UO.int or UO.Dead()
EndIf
UO.Cast('Poison','self')
Wait(3000)
Wend
UO.FindType(NS,'-1',Sunduk)
If UO.FindCount() Then
UO.MoveItem('finditem',CountReg,Sunduk)
Wait(2000)
EndIf
Until UO.Dead()
end sub
 


Top
   
 Post subject:
PostPosted: 2005-01-06 19:48:44 
Offline
User avatar

Joined: 2004-07-22 16:07:11
Posts: 260
Ugrum. wrote:
ок, убедил:) вот тебе еще вариант
Code:
<....>
<------ здесь чего то нехватает?
<....>

Так и не догадался чего же там не хватает. Хоть намекни...


Top
   
 Post subject:
PostPosted: 2005-01-06 19:53:50 
Offline
User avatar

Joined: 2004-07-22 16:07:11
Posts: 260
666Man666 wrote:
Накалякал от нефиг делать )
может не работать я не тестил... сам попробуй
Code:
sub Magery()
var Sunduk='0x4021C658'
var NS='0x0F88'
var LastTimer, Kolvo=10
var CountReg=XX ## - сюда кол-во регов каторое чар будет заправлять.
REPEAT
While UO.NS >= Kolvo and NOT UO.Dead()
If UO.mana <= 10 Then
REPEAT
UO.UseSkill('Meditation')
LastTimer=UO.Timer()
UO.DeleteJournal()
REPEAT
Wait(300)
Until UO.InJournal("You are") or UO.InJournal("You lose") or UO.Timer()>LastTimer+200
Until UO.mana==UO.int or UO.Dead()
EndIf
UO.Cast('Poison','self')
Wait(3000)
Wend
UO.FindType(NS,'-1',Sunduk)
If UO.FindCount() Then
UO.MoveItem('finditem',CountReg,Sunduk)
Wait(2000)
EndIf
Until UO.Dead()
end sub
 

var CountReg=XX ## - сюда кол-во регов каторое чар будет заправлять.
Куда заправлять так и не понял :) поподробней если нетрудно. А скрипт протестирую обязательно, но всё же вопрос топика остаёться. Рад, что получил пару вариантов... Может чему-нибудь научусь.


Top
   
 Post subject:
PostPosted: 2005-01-06 20:01:03 
Offline
Junior Expert
User avatar

Joined: 2004-11-13 00:43:55
Posts: 474
Location: Киберзадроцк
KrafteR wrote:
var CountReg=XX ## - сюда кол-во регов каторое чар будет заправлять.
Куда заправлять так и не понял :) поподробней если нетрудно.
а туда нужно вписать число, какое кол-во чар будет брать НС из сундука в пак... например
Code:
var CountReg='200'


Top
   
 Post subject:
PostPosted: 2005-01-06 20:13:05 
Offline
User avatar

Joined: 2004-07-22 16:07:11
Posts: 260
666Man666 wrote:
KrafteR wrote:
var CountReg=XX ## - сюда кол-во регов каторое чар будет заправлять.
Куда заправлять так и не понял :) поподробней если нетрудно.
а туда нужно вписать число, какое кол-во чар будет брать НС из сундука в пак... например
Code:
var CountReg='200'

Понял.
Code:
var Kolvo=10
вот эта строчка в моём скрипте.


Top
   
 Post subject:
PostPosted: 2005-01-06 20:30:34 
Offline

Joined: 2004-04-05 11:59:21
Posts: 69
Location: RunUO
KrafteR wrote:
Так и не догадался чего же там не хватает. Хоть намекни...

намекаю
Code:
<....> 
       If UO.FindCount()==0 Then
          <....>
       else
           <....>
          <------ здесь чего то нехватает?
<....>


Top
   
 Post subject:
PostPosted: 2005-01-06 21:38:33 
Offline
User avatar

Joined: 2004-07-22 16:07:11
Posts: 260
Ugrum. wrote:
KrafteR wrote:
Так и не догадался чего же там не хватает. Хоть намекни...

намекаю
Code:
<....> 
       If UO.FindCount()==0 Then
          <....>
       else
           <....>
          <------ здесь чего то нехватает?
<....>

Видно я деревянный. Прям заинтриговал, что там не хватает?


Top
   
PostPosted: 2005-01-06 22:06:42 
Offline

Joined: 2004-04-05 11:59:21
Posts: 69
Location: RunUO
KrafteR wrote:
Code:
sub Magery()
VAR NS='0x0F88'
VAR Sunduk='0x4021C658'
VAR Kolvo=10
VAR k = 0, j
VAR LastTimer
while NOT UO.Dead()
While UO.NS<=1
UO.FindType(NS, -1, Sunduk)
If UO.FindCount()==0 Then                         <--------IF №1
UO.Print("NS not found, script terminated")
else
j = UO.GetQuantity( 'finditem' )
If j > Kolvo Then                                        <--------IF №2
UO.Print("I can use" + str( j ) + "NS")
else
UO.Print("I can't use" + str( j ) + "NS")
Endif                                               <--------END IF №1
If Kolvo == 1 Then                                      <--------IF №3
UO.FindType( NS )
UO.MoveItem( 'finditem', '2', Sunduk )
wait(500)
Else
UO.Grab( Str( Kolvo ), 'finditem' )
wait(500)
Endif                                               <--------END IF №2
wend
while UO.Mana>66
UO.Cast('Poison','self')
wait(3000)
wend
while UO.Mana<UO.Int
LastTimer=UO.Timer()
UO.UseSkill('Meditation')
repeat
wait(100)
until UO.InJournal("You are") OR UO.InJournal("You lose") OR UO.Timer()>LastTimer+200
UO.DeleteJournal()
wait(2000)
wend
Wend
end sub

сдаюсь. никогда неумел обьяснять(. не буду больше и пытаться.....
<--------END IF №3 ставить некуда.


Top
   
PostPosted: 2005-01-06 22:14:44 
Offline
User avatar

Joined: 2004-07-22 16:07:11
Posts: 260
Ugrum. wrote:
KrafteR wrote:
Code:
sub Magery()
VAR NS='0x0F88'
VAR Sunduk='0x4021C658'
VAR Kolvo=10
VAR k = 0, j
VAR LastTimer
while NOT UO.Dead()
While UO.NS<=1
UO.FindType(NS, -1, Sunduk)
If UO.FindCount()==0 Then                         <--------IF №1
UO.Print("NS not found, script terminated")
else
j = UO.GetQuantity( 'finditem' )
If j > Kolvo Then                                        <--------IF №2
UO.Print("I can use" + str( j ) + "NS")
else
UO.Print("I can't use" + str( j ) + "NS")
Endif                                               <--------END IF №1
If Kolvo == 1 Then                                      <--------IF №3
UO.FindType( NS )
UO.MoveItem( 'finditem', '2', Sunduk )
wait(500)
Else
UO.Grab( Str( Kolvo ), 'finditem' )
wait(500)
Endif                                               <--------END IF №2
wend
while UO.Mana>66
UO.Cast('Poison','self')
wait(3000)
wend
while UO.Mana<UO.Int
LastTimer=UO.Timer()
UO.UseSkill('Meditation')
repeat
wait(100)
until UO.InJournal("You are") OR UO.InJournal("You lose") OR UO.Timer()>LastTimer+200
UO.DeleteJournal()
wait(2000)
wend
Wend
end sub

сдаюсь. никогда неумел обьяснять(. не буду больше и пытаться.....
<--------END IF №3 ставить некуда.

Оу пасиб...лень просто Ifы считать было. Ты думаешь из за этого ID- постоянно перевставлять надо было?*Чешет в голове, сомнивается.* За доработку скрипта огромное человеческое...


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 13 posts ] 

All times are UTC+02:00


Who is online

Users browsing this forum: No registered users and 8 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
Powered by phpBB® Forum Software © phpBB Limited