Yoko

All sides of Injection
It is currently 2025-10-24 19:05:26

All times are UTC+02:00




Post new topic  Reply to topic  [ 15 posts ] 
Author Message
 Post subject: Advanced Resistance
PostPosted: 2006-04-26 16:53:31 
Offline
Junior Expert
User avatar

Joined: 2004-06-24 22:08:56
Posts: 3220
Code:
sub Resist()
; (c) Destruction, v1.0
Var CastT = 1200 ; тип тайла на который кастуем
Var CastX = 1328 ; координата X тайла на который кастуем
Var CastY = 1055 ; координата Y тайла на который кастуем
Var CastZ = 7    ; координата Z тайла на который кастуем
Var StayX = 1328 ; место для отхила и каста по X
Var StayY = 1056 ; место для отхила и каста по Y
Var ManaCast = 11 ; нужно маны на спелл
Var Spell = "Fire Field" ; кастуемый спелл
Var GoType = "X" ; по какой координате ходить
Var GoDist = 2 ; как далеко ходить, от точки каста
Var Damage = 5 ; максимальный урон наносимый огненной стеной
Repeat
   MyGo(StayX,StayY)
   MyCheckReag()
   CheckMana(ManaCast)
   FullHeal()
   Medit()
   MyGroundCast(Spell, CastT, CastX, CastY, CastZ)
   MyRWalker(CastX,CastY,GoType,GoDist,Damage)
   MyGoFromField(CastX, CastY, GoType, StayX, StayY)
Until uo.SkillVal("Magic Resistance",1) > 999
End Sub

Sub MyGoFromField(x, y, t, sX, sY)
var GoX, GoY
If t == "x" || t == "X" Then
   If sY > y Then
      GoY = uo.GetY()+1
   Else
      GoY = uo.GetY()-1
   End If
   GoX = uo.GetX()
Else
   If sX > x Then
      GoX = uo.GetX()+1
   Else
      GoX = uo.GetX()-1
   End If
   GoY = uo.GetY()
End If
MyGo(GoX, GoY)
End Sub

Sub MyRWalker(x, y, t, d, dmg)
Var Field = "0x398C" ; тип огненной стены
Var Count = 7 ; Количество появляющихся огненных стен
var GoX = x, GoY = y, dist
MyGo(x, y)
While uo.GetHP() > 60 && uo.CountGround(Field) >= Count
   dist = Math.Round((uo.GetHP()-60)/dmg)
   If dist > d Then
      dist = d
   End If
   If t == "X" || t == "x" Then
      GoX = GoX - dist
      GoY = GoY
   Else
      GoX = GoX
      GoY = GoY - dist
   EndIf
   MyGo(GoX, GoY)
   If uo.GetHP() < 60 || uo.CountGround(Field) < Count Then
      return
   End If
   dist = Math.Round((uo.GetHP()-60)/dmg)
   If dist > d*2 Then
      dist = d*2
   End If
   If t == "X" || t == "x" Then
      GoX = GoX + dist
      GoY = GoY
   Else
      GoX = GoX
      GoY = GoY + dist
   EndIf
   MyGo(GoX, GoY)
   If uo.GetHP() < 60 || uo.CountGround(Field) < Count Then
      return
   End If
   dist = Math.Round((uo.GetHP()-60)/dmg)
   If dist > d Then
      dist = d
   End If
   If t == "X" || t == "x" Then
      GoX = GoX - dist
      GoY = GoY
   Else
      GoX = GoX
      GoY = GoY - dist
   EndIf
   MyGo(GoX, GoY)
WEnd
End Sub

Sub Math.Round(val)
var i=1
While Not Right(Left(str(val),i),1) == "."
   If i > StrLen(str(val)) Then
      Return val
   End If
   i = i + 1
WEnd
Return val(Left(str(val),i-1))
endsub

Sub MyCheckReag()
Var c, i, ReagCount = 4 ; количество типов реагентов
Var ReagCnt = "0x40021A29" ; ID сумки с реагентами
DIM Reagents[val(str(ReagCount))]
Reagents[0] = "0x0F8C" ; Sulfurous Ash
Reagents[1] = "0x0F7A" ; Black Pearls
Reagents[2] = "0x0F8D" ; Spider Silk
Reagents[3] = "0x0E21" ; Bandage
For i=0 To ReagCount-1
   uo.FindType(Reagents[i])
   If uo.FindCount() Then
      c = uo.GetQuantity("finditem")
   Else
      c = 0
   End If
   While c < 50
      uo.FindType(Reagents[i],"-1",ReagCnt)
      If Not uo.FindCount() Then
         uo.Print("Reagents Not Found!")
         uo.Exec("terminate all")
      End If
      uo.MoveItem("finditem",str(50-c),"backpack")
      checklag()
      uo.FindType(Reagents[i])
      If uo.FindCount() Then
         c = uo.GetQuantity("finditem")
      Else
         c = 0
      End If
   WEnd
Next
End Sub

Sub MyGroundCast(s, t, x, y, z)
Var Field = "0x398C" ; тип огненной стены
Var Count = 7 ; Количество появляющихся огненных стен
Var Mana
While uo.CountGround(Field) < Count
   Mana = uo.Mana
   uo.WaitTargetTile(t, x, y, z)
   uo.Cast(s)
   While Mana == uo.Mana
      Wait(100)
   WEnd
WEnd
End Sub

Sub FullHeal()
Var s = "Вы полечили себя."
Var f = "Вам не удалось полечить себя."
Var w = "Вы пока не можете пользоваться бинтами снова."
While uo.GetHP() < uo.GetMaxHP()
   deljournal(s+"|"+f+"|"+w)
   uo.WaitTargetObject('self')
   uo.UseType('bandage')
   Repeat
      Wait(100)
   Until uo.InJournal(s+"|"+f+"|"+w)
   If uo.InJournal(w) Then
      Wait(500)
   End If
WEnd
End Sub

Sub CheckMana(ManaCast)
While uo.Mana < ManaCast
   uo.UseSkill("Meditation")
   wait(100)
WEnd
End Sub

Sub MyGo(GoX, GoY)
Var CurX, CurY, Dir = MyGetDir(GoX, GoY)
DIM Dirs[10]
Dirs[1] = 35 ; End
Dirs[2] = 40 ; Down
Dirs[3] = 34 ; PgDown
Dirs[6] = 39 ; Right
Dirs[9] = 33 ; PgUp
Dirs[8] = 38 ; Up
Dirs[7] = 36 ; Home
Dirs[4] = 37 ; Left
DIM sDir[10]
sDir[3] = 2
sDir[2] = 3
sDir[1] = 6
sDir[0] = 9
sDir[7] = 8
sDir[6] = 7
sDir[5] = 4
sDir[4] = 1
While Dir
   CurX = uo.GetX()
   CurY = uo.GetY()
   If Not sDir[uo.GetDir()] == Dir Then
      uo.Press(Dirs[Dir],2)
   Else
      uo.Press(Dirs[Dir])
   End If
   While uo.GetX() == CurX && uo.GetY() == CurY
      wait(100)
   WEnd
   Dir = MyGetDir(GoX, GoY)
WEnd
endsub

Sub MyGetDir(x, y)
Var cx, cy
x = -(uo.GetX() - x)
y = -(uo.GetY() - y)
cx = x
cy = y 
If cx <= 0 Then
   cx = -cx
End If
If cy <= 0 Then
   cy = -cy
End If
If cx+cy Then
   If x>0 && y>0 && x==y  Then
      Return 2
   End If
   If x>0 && cx>cy Then
      Return 3
   End If
   If x>0 && y<0 && cx==cy Then
      Return 6
   End If
   If y<0 && cy>cx Then
      Return 9
   End If
   If x<0 && y<0 && x==y Then
      Return 8
   End If
   If x<0 && cx>cy Then
      Return 7
   End If
   If x<0 && y>0 && cx==cy Then
      Return 4
   End If
   If y>0 && cy>cx Then
      Return 1
   End If
Else
   Return False
End If
End Sub

Sub Medit()
While uo.Mana < uo.Int
   uo.UseSkill("Meditation")
   Wait(300)
WEnd
End Sub

Во, шедевр нах!

Чар кастует стенку, ходит по ней, когда хитов меньше 60 или пропала хоть одна стенка - отходит, отхиливается, если надо - ставит новую стенку..

Вобщем сами разбирайтесь, вроде работает..

Помывку бинтов потом как-нить воткну, ибо ща савсем лень.


Top
   
 Post subject:
PostPosted: 2006-04-27 07:41:43 
Offline
Expert!

Joined: 2004-04-03 17:36:29
Posts: 2544
Location: Saint-Petersburg
Мдя, шедевр... ЗА исключением того, что на многих шардах нельзя качать резист на своих же стенках... Или на стрелках на себя и пр.


Top
   
 Post subject:
PostPosted: 2006-04-27 11:01:54 
Offline
Junior Expert
User avatar

Joined: 2004-06-24 22:08:56
Posts: 3220
Edred wrote:
Мдя, шедевр... ЗА исключением того, что на многих шардах нельзя качать резист на своих же стенках... Или на стрелках на себя и пр.

Ну разрезать на два скрипта думаю все могут :lol:


Top
   
 Post subject:
PostPosted: 2006-04-27 14:34:14 
Offline
Expert!

Joined: 2004-04-03 17:36:29
Posts: 2544
Location: Saint-Petersburg
Оффтопик ON.

Дест, ответь на личку.

Оффтопик OFF


Top
   
 Post subject:
PostPosted: 2006-04-27 16:10:46 
Offline
Junior Expert
User avatar

Joined: 2004-06-24 22:08:56
Posts: 3220
Edred wrote:
Оффтопик ON.

Дест, ответь на личку.

Оффтопик OFF

Оффтопик ON.
Я тебе в асю ответил, ежедевно..
Оффтопик OFF


Top
   
 Post subject:
PostPosted: 2006-04-28 00:06:05 
Offline
Expert!

Joined: 2004-04-03 17:36:29
Posts: 2544
Location: Saint-Petersburg
Оффтопик ON.

Дык ты запрос на авторизацию отправь, иначе все в треш, реклама задолбала...

Оффтопик OFF


Top
   
 Post subject: Re: Advanced Resistance
PostPosted: 2006-04-28 07:30:35 
Offline

Joined: 2005-04-16 23:33:13
Posts: 104
Destruction: Слушай а можешь сделать... чтобы чар бегал по определнным координатам доупсти (1980-1989 тут стоит фаер филд) рядом есть чистый тайл без филда 1979 он заходит в него кастует на себя полиморф в дракона и начинает бегать (1980-1989 тут стоит фаер филд) если спал полиморф он бежит в этот тайл 1979 отхиливается т.к хп упали же по огню побежавшись... кастует полиморф и по новой.


Top
   
 Post subject: Re: Advanced Resistance
PostPosted: 2006-04-28 09:13:35 
Offline
Junior Expert
User avatar

Joined: 2004-06-24 22:08:56
Posts: 3220
Qualis Eram wrote:
Destruction: Слушай а можешь сделать... чтобы чар бегал по определнным координатам доупсти (1980-1989 тут стоит фаер филд) рядом есть чистый тайл без филда 1979 он заходит в него кастует на себя полиморф в дракона и начинает бегать (1980-1989 тут стоит фаер филд) если спал полиморф он бежит в этот тайл 1979 отхиливается т.к хп упали же по огню побежавшись... кастует полиморф и по новой.

Нифига не понял, у меня работает - мне хорошо.

Скажи не что нужно написать, а что доработать.


Top
   
 Post subject: Re: Advanced Resistance
PostPosted: 2006-04-28 15:06:42 
Offline

Joined: 2006-04-15 09:00:35
Posts: 93
Destruction wrote:
Qualis Eram wrote:
Destruction: Слушай а можешь сделать... чтобы чар бегал по определнным координатам доупсти (1980-1989 тут стоит фаер филд) рядом есть чистый тайл без филда 1979 он заходит в него кастует на себя полиморф в дракона и начинает бегать (1980-1989 тут стоит фаер филд) если спал полиморф он бежит в этот тайл 1979 отхиливается т.к хп упали же по огню побежавшись... кастует полиморф и по новой.

Нифига не понял, у меня работает - мне хорошо.

Скажи не что нужно написать, а что доработать.


Кароче ему нужно, чтобы чар отходил, морф в дракона, затем бегает по файр филду в нём(+проверка на тип себя) если разморф, то сразу отбегает, хелится и по кругу дальше :D


Top
   
 Post subject:
PostPosted: 2006-04-28 18:13:51 
Offline
Junior Expert
User avatar

Joined: 2004-06-24 22:08:56
Posts: 3220
Воткнуть после
Code:
   MyGo(StayX,StayY) 


Но отбегать он будет только тогда, когда закончаться хиты (меньше 60), чтобы совсем круто - надо еще
Code:
Sub MyRWalker(
подредактировать.

Там просто, если руки есть - то пять строчек можно сделать.


Top
   
 Post subject:
PostPosted: 2006-05-28 13:59:21 
Offline

Joined: 2006-02-03 19:32:33
Posts: 156
а можете сделать каст со свитка?!

_________________
ЦСКА- чЕмПиОн, кто не верит, тот ...... (нехороший человек)


Top
   
 Post subject:
PostPosted: 2006-05-29 08:18:08 
Offline
Junior Expert
User avatar

Joined: 2004-06-24 22:08:56
Posts: 3220
Поимейте совесть и посмотрите функцию MyGroundCast.

Сделать могу, но мне лень.


Top
   
 Post subject:
PostPosted: 2006-05-31 12:31:48 
Offline

Joined: 2006-02-03 19:32:33
Posts: 156
Destruction wrote:
Поимейте совесть и посмотрите функцию MyGroundCast.

Сделать могу, но мне лень.

все не надо разобрались уже\)

_________________
ЦСКА- чЕмПиОн, кто не верит, тот ...... (нехороший человек)


Top
   
 Post subject:
PostPosted: 2007-05-31 13:19:23 
Offline

Joined: 2007-05-30 12:38:31
Posts: 5
Сделать могу, но мне лень.[/quote]

я понимаю что ты ленивый конечно=)) но ты можешь помоч человеку который тупил над твоим скрипт 2е суток и нефига несмог зелать чтоб он не качтовал а просто бегал по стенке и обегал хелицца... а отдельный саб на то чтобы другой чар кастовал под бегуна фаер филд. помоги плиз=) и еще вопрос как каоординаты тайлов брать если я в доме качаюсь, а там не беруться с пола координаты....
:oops: :?:


Top
   
 Post subject:
PostPosted: 2007-05-31 17:32:19 
Offline
Expert!
User avatar

Joined: 2004-10-15 22:38:04
Posts: 1396
Location: Moscow City.
Fuzz noise wrote:
Quote:
Сделать могу, но мне лень.


я понимаю что ты ленивый конечно=)) но ты можешь помоч человеку который тупил над твоим скрипт 2е суток и нефига несмог зелать чтоб он не качтовал а просто бегал по стенке и обегал хелицца... а отдельный саб на то чтобы другой чар кастовал под бегуна фаер филд. помоги плиз=) и еще вопрос как каоординаты тайлов брать если я в доме качаюсь, а там не беруться с пола координаты....
:oops: :?:

Code:
   MyGo(StayX,StayY)
   MyCheckReag()
   CheckMana(ManaCast)
   FullHeal()
   Medit()
   MyGroundCast(Spell, CastT, CastX, CastY, CastZ)
   MyRWalker(CastX,CastY,GoType,GoDist,Damage)
   MyGoFromField(CastX, CastY, GoType, StayX, StayY)

Все вроде названо нормально какие проблемы :)
Удаляем мусор типо MyGroundCast, MyCheckReag, CheckMana и т.д.
Соответственно во втором случае оставляем только это.

_________________
The End.


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

All times are UTC+02:00


Who is online

Users browsing this forum: No registered users and 12 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