Скрипт на фишинг
Posted: 2006-03-17 22:48:45
Я вот только сегодня нашол ваш форум и решил поделится скриптами
Фишинг:
Сам ишит де ловить, дроп и т.д всё есть!
var RandomFlag = 0
var UpOrFish = 1
var GZExist = 0
var GZTimer = 0
var NextDot = 0
var bandages = "0x02e1"
var meal = "0x097b"
var SOSBP = "ground"
var MapBP = "ground"
var Enemy = "self"
var WType = "0x0F51"
var fPole = "0x0dbf"
var fTime = 3500
var fPoleSize = 0
var GlobalFileMap = 'fpoint.map'
var FishLagTimer = 0
sub main()
Init()
var EnemyExists, EatTimer, fPoint
DIM FishingMap[121]
DIM FishingStuff[6]
FishingStuff[0] = "0x09CC" # Grey Fish
FishingStuff[1] = "0x09CD" # Green Fish
FishingStuff[2] = "0x09CE" # Blue Fish
FishingStuff[3] = "0x09CF" # Yellow Fish
FishingStuff[4] = "0x099F" # SOS bottle
FishingStuff[5] = "0x14ED" # old tattered map
if CheckFExist(GlobalFileMap) then
ReadFile(GlobalFileMap, FishingMap)
else
fPoleSize = CreateMap(FishingMap)
SToFile(FishingMap, fPoleSize, GlobalFileMap)
endif
FishLagTimer = UO.Timer()
SetFishTime(FishingMap[0])
fPoint = 0
repeat
CheckSave()
If ((UO.Timer() - EatTimer) > 3000) then
EatCheck()
EatTimer = UO.Timer()
EndIf
While CheckDanger()
TryToRes(1)
UO.DeleteJournal()
WEnd
CheckEq(fPole)
If UpOrFish Then
if NextDot Then
fPoint = fPoint + 1
NextDot = 0
else
fPoint = fPoint
endif
if (fPoint == fPoleSize) then
fPoint = 0
endif
Else # UpOrFish
if RandomFlag then
fPoint = UO.Random(fPoleSize)
else # RandomFlag
fPoint = fPoint + 1
if (fPoint == fPoleSize) then
fPoint = 0
endif # fPoint == fPoleSize
endif # RandomFlag
EndIf # UpOrFish
If ((UO.Timer() - FishLagTimer) > 9000) then
SetFishTime(FishingMap[fPoint])
FishLagTimer = UO.Timer()
EndIf
Fish(FishingMap[fPoint])
If (UO.Weight > 370) Then
DropIt(FishingStuff)
EndIf
until false
end sub
sub GZCheck()
var GZE = 0
CheckSave()
UO.ServerPrint('.guards')
Wait(5000)
if CheckMsg('This area is not watched','System') then
UO.Print('No guards')
else
GZE = 1
UO.Print('Guard Zone!')
endif
return GZE
end sub
sub Init()
UO.TextOpen()
UO.TextPrint('Ne?eio noa?oiaae: '+MakeTime())
UO.Exec('terminate Reconnector')
UO.Exec('exec Reconnector')
Wait(2000)
UO.Print('An exceptional fishing script v1.0 Release [crafted by Tpynuk]')
Wait(2000)
GZTimer = UO.Timer()
GZExist = GZCheck()
UO.Set('norbcheck','1')
UO.Set('norbcalc','1')
UO.Set('finddistance','3')
UO.Set('distance','2')
end sub
sub CreateMap(mapArray)
DIM tileArray[7]
tileArray[0] = '0'
tileArray[1] = '6039'
tileArray[2] = '6040'
tileArray[3] = '6041'
tileArray[4] = '6042'
tileArray[5] = '6043'
tileArray[6] = '6044'
DIM FishMsg[6]
FishMsg[0] = 'You catch'
FishMsg[1] = 'You find'
FishMsg[2] = 'That location'
FishMsg[3] = 'That is too far'
FishMsg[4] = 'There does'
FishMsg[5] = 'You can'
var mX, mY, mZ, StopFuckingSearch, nTileNum, cDelta, dX, dY
cDelta = 5
mX = UO.GetX()
mY = UO.GetY()
mZ = '251'
var mSize = 0
nTileNum = 0
for dX = -cDelta to cDelta
for dY = -cDelta to cDelta
StopFuckingSearch = 0
nTileNum = 0
repeat
CheckSave()
CheckEq(fPole)
UO.Print('Fishing @: '+tileArray[nTileNum]+' '+STR(mX+dX)+' '+STR(mY+dY)+' '+mZ)
Fish(tileArray[nTileNum]+' '+STR(mX+dX)+' '+STR(mY+dY)+' '+mZ)
if (CheckMsg(FishMsg[0],'System') or CheckMsg(FishMsg[1],'System')) Then
mapArray[mSize] = tileArray[nTileNum]+' '+STR(mX+dX)+' '+STR(mY+dY)+' '+mZ
mSize = mSize + 1
StopFuckingSearch = 1
else
if CheckMsg(FishMsg[2],'System') then
StopFuckingSearch = 1
endif
endif
UO.DeleteJournal()
nTileNum = nTileNum + 1
if (nTileNum == 7) then
StopFuckingSearch = 1
endif
until StopFuckingSearch
next
next
Return mSize
end sub
sub CheckMsg(cMsg, mAuthor)
var ij
ij = UO.InJournal(cMsg)
if ij Then
if (UO.JournalSerial(ij+1) == mAuthor) then
return ij+1
else
if (mAuthor == 'System') and (UO.JournalSerial(ij+1) == '0x01010101') then
return ij+1
endif
endif
else
return 0
endif
end sub
sub CheckFExist(fName)
var FileResult = 0
var xx = file(fName)
FileResult = safe call xx.Open()
Return FileResult
end sub
sub SToFile(wtSave, wtsSize, fName)
var wtsLNum
var f=file(fName)
f.Create()
f.Open()
f.WriteLn(STR(wtsSize))
for wtsLNum = 0 to (wtsSize - 1)
f.WriteLn(wtSave[wtsLNum])
next
f.Close()
end sub
sub ReadFile(fName, Pole)
var tFile = file(fName)
var LLLine, lNum, lSize
tFile.Open()
lSize = safe call tFile.ReadNumber()
fPoleSize = lSize
safe call tFile.ReadLn()
if ((lSize > 0) and IsNumber(lSize)) then
for lNum = 0 to fPoleSize - 1
LLLine = safe call tFile.ReadLn()
Pole[lNum] = Left(LLLine,LEN(LLLine)-1)
next
else
Message('Oaee iono')
UO.Exec("terminate all")
endif
UO.TextPrint('Eiee?anoai oi?ae aueiaa: '+STR(lSize))
tFile.Close()
end sub
sub AutoLootSelf()
var CorpseType, CorpseID, SelfID
SelfID = UO.GetSerial()
UO.Click(SelfID)
UO.IgnoreReSet()
If (UO.GetGraphic(UO.GetSerial()) == '0x0190') Then
CorpseType = '0x2006'
Else
CorpseType = '0x2006'
EndIf
UO.FindType(CorpseType,'-1','ground')
If (UO.FindCount() > 0) then
repeat
UO.FindType(CorpseType,'-1','ground')
CorpseID = UO.GetSerial('finditem')
UO.Click(CorpseID)
if (Right(UO.GetName(CorpseID),Len(UO.GetName(SelfID))) == UO.GetName(SelfID)) Then
UO.Emptycontainer('50',CorpseID)
Wait(500)
UO.Emptycontainer('50',CorpseID)
Wait(500)
endif
UO.Ignore(CorpseID)
UO.FindType(CorpseType,'-1','ground')
until (UO.FindCount() == 0)
endif
end sub
sub CheckSpells()
VAR Si, nStop, Result, JPos
JPos = 0
Si = 0
nStop = 1
Result = 0
DIM BadSpells[20]
BadSpells[0] = "In Por Ylem"
BadSpells[1] = "An Mani"
BadSpells[2] = "Vas Flam"
BadSpells[3] = "In Nox"
BadSpells[4] = "Des Sanct"
BadSpells[5] = "In Flam Grav"
BadSpells[6] = "Ort Grav"
BadSpells[7] = "In Jux Hur Ylem"
BadSpells[8] = "Por Corp Wis"
BadSpells[9] = "An Ex Por"
BadSpells[10] = "Corp Por"
BadSpells[11] = "Vas Ort Flam"
BadSpells[12] = "In Ex Grav"
BadSpells[13] = "Vas Flam"
BadSpells[14] = "Kal Vas Xen"
BadSpells[15] = "attacking you*"
BadSpells[16] = "Ort Rel"
BadSpells[17] = "Ort Sanct"
BadSpells[18] = "Flam Kal Des Ylem"
BadSpells[19] = "In Vas Por"
While nStop
JPos = UO.InJournal(BadSpells[Si])
If JPos Then
UO.TextPrint("?a? '"+UO.GetName(UO.JournalSerial(JPos-1))+"' - caoeene?iaaia aoaea.")
UO.ServerPrint(UO.GetName(UO.JournalSerial(JPos-1))+" ne kill pliz ya nub na macrose!!!")
Result = 1
EndIf
Si = Si + 1
If ((Si == 20) or (Result == 1)) Then
nStop = 0
EndIf
WEnd
Return Result
end sub
sub IsDanger(dcNum)
DIM PEnemy[4]
PEnemy[0] = '0x0010'
PEnemy[1] = '0x0096'
PEnemy[2] = '0x0190'
PEnemy[3] = '0x0191'
VAR Danger_cnt, Cycle_cnt, EmergencyFlag, EnemyId
EnemyId = 0
EmergencyFlag = 0
UO.IgnoreReset()
UO.Set('finddistance','10')
if (dcNum < 4) Then
UO.IgnoreReSet()
UO.FindType(PEnemy[dcNum],'-1','ground')
Danger_cnt = UO.FindCount()
If Danger_cnt > 0 Then
For Cycle_cnt = 0 To Danger_cnt - 1
UO.FindType(PEnemy[dcNum],'-1','ground')
EnemyId = UO.GetSerial('finditem')
If ((UO.GetNotoriety(EnemyId) >= 3) and (UO.GetSerial(EnemyId) <> UO.GetSerial())) Then
UO.Click(EnemyId)
UO.TextPrint('Iaeaai iioaioeaeuiue a?aa, eiy ?a?a: '+UO.GetName(EnemyId))
EmergencyFlag = 1
Enemy = EnemyId
EndIf
UO.Ignore(EnemyId)
Next
EndIf
EndIf
UO.IgnoreReSet()
If (dcNum == 4) Then
EmergencyFlag = CheckSpells()
EndIf
Return EmergencyFlag
end sub
sub TryToRes(HealFlag)
var ResFlag = 0
If UO.Dead() Then
Repeat
UO.Recall('self','1')
Wait(6000)
Until (NOT UO.Dead())
AutoLootSelf()
ResFlag = 1
EndIf
if HealFlag Then
if ResFlag then
AutoLootSelf()
DropRangerStuff()
endif
Heal()
endif
end sub
sub DropRangerStuff()
var iX
DIM RangerTool[3]
RangerTool[0] = "0x13B2"
RangerTool[1] = "0x0F4F"
RangerTool[2] = "0x13FD"
DIM RangerArr[3]
RangerArr[0] = "0x0F3F"
RangerArr[1] = "0x1BFB"
RangerArr[2] = "0x1BFB"
For iX = 0 to 2
UO.FindType(RangerTool[iX],'-1','my')
UO.Drophere(UO.GetSerial('finditem'))
Wait(500)
Stack(RangerArr[iX])
Wait(500)
Next
end sub
sub GetRangerStuff()
var iX = 0, StopMe = 0
DIM RangerTool[3]
RangerTool[0] = "0x13B2"
RangerTool[1] = "0x0F4F"
RangerTool[2] = "0x13FD"
DIM RangerArr[3]
RangerArr[0] = "0x0F3F"
RangerArr[1] = "0x1BFB"
RangerArr[2] = "0x1BFB"
repeat
UO.FindType(RangerTool[iX],'-1','ground')
If (UO.FindCount() and (not StopMe)) Then
WType = RangerTool[iX]
UO.Grab('0',UO.GetSerial('finditem'))
Wait(500)
UO.FindType(RangerArr[ix],'-1','ground')
if UO.FindCount() Then
UO.Grab('100',UO.GetSerial('finditem'))
Wait(500)
endif
StopMe = 1
endif
iX = iX + 1
until (StopMe or (iX == 3))
Return WType
end sub
sub Guards()
if ((UO.Timer() - GZTimer) >= 100) then
UO.ServerPrint('.guards')
Wait(500)
UO.ServerPrint('.guards')
GZTimer = UO.Timer()
endif
end sub
sub TryToKill()
var TTKi,TTKStop, TTKUse, TTKGrabN, WTWeap
TTKi = 0
TTKStop = 0
TTKGrabN = 0
If (GZExist and (UO.GetNotoriety() < 3)) then
Guards()
Else
DropRangerStuff()
Wait(500)
GetRangerStuff()
If (UO.GetGraphic(UO.ObjAtLayer('Rhand')) <> WType) Then
UO.Disarm()
Wait(500)
EndIf
Wait(200)
UO.EquipT('Rhand',WType)
Wait(500)
Repeat
UO.WarMode(1)
UO.Attack(Enemy)
Wait(3000)
Heal()
Until ((UO.GetHP(Enemy) == 0) or UO.Dead(Enemy) or UO.Dead() or (UO.GetDistance(Enemy) > 12))
DropRangerStuff()
EndIf
end sub
sub CheckDanger()
Var dX, DangerFactor, DangerResult
dX = 0
DangerFactor = 0
DangerResult = 0
dX = 0
Repeat
DangerResult = IsDanger(dX)
If (DangerResult > 0) Then
If (dX < 4) Then
TryToKill()
Else
UO.ServerPrint('Vaxanekillpliz!!!')
EndIf
DangerFactor = 1
EndIf
dX = dX + 1
Until (dX == 5) or (DangerResult)
Return DangerFactor
end sub
sub EatCheck()
var GHS, Hung_i, Meal
GHS = 0
Meal = '0x097b'
GHS = GetHungryStatus()
UO.TextPrint('GHS = '+STR(GHS))
If (GHS > 1) then
For Hung_i = 0 To (GHS - 2)
Eat(Meal)
Wait(350)
Next
EndIf
end sub
sub Eat(wtEat)
If UO.Count(wtEat) then
UO.UseType(wtEat)
else
If UO.CountGround(wtEat) then
UO.UseFromGround(wtEat)
else
UO.Print('No meal found.')
endif
endif
end sub
sub GetHungryStatus()
VAR Ret_i, Cycle_i, LastStr
DIM HArr[11]
HArr[0] = "You are absolutely stuffed!"
HArr[1] = "You are stuffed"
HArr[2] = "You aren't hungry at all"
HArr[3] = "You are a little hungry"
HArr[4] = "You are somewhat hungry"
HArr[5] = "You are REALLY hungry"
HArr[6] = "Your stomash hurts"
HArr[7] = "Your stomash hurts and you feel dizzy"
HArr[8] = "You are starving"
HArr[9] = "You are almost dying of hunger"
HArr[10] = "You are DYING of hunger..."
UO.DeleteJournal()
UO.ServerPrint(".hungry")
Ret_i = 0
Cycle_i = 0
Wait(400)
For Cycle_i = 0 To 10
If CheckMsg(HArr[Cycle_i],'System') Then
Ret_i = Cycle_i
EndIf
Next
RETURN Ret_i
end sub
sub Stack(StackType)
var GroundItem, PackItem
PackItem = ''
GroundItem = ''
if UO.Count(StackType) then
PackItem = '^'+StackType
endif
if UO.CountGround(StackType) then
GroundItem = '~'+StackType
endif
if ((PackItem <> '') and (GroundItem <> '')) then
UO.MoveItem(PackItem,STR(UO.GetQuantity(PackItem)),GroundItem,'0','0','0')
else
UO.DropHere('^'+StackType)
Endif
end sub
sub Heal()
If UO.Poisoned() Then
if (UO.SkillVal('Healing') > 730) then
Repeat
UO.WaitTargetObject(UO.GetSerial('self'))
UO.UseFromGround('0x0E21')
Wait(5000)
Until ((Not UO.Poisoned()) or UO.Dead())
else
Repeat
UO.ServerPrint("Cure")
UO.UseFromGround('0x0F07')
Wait(4000)
Until ((Not UO.Poisoned()) or UO.Dead())
endif
EndIf
If ((UO.GetHP() < UO.GetMaxHP()) and UO.Life) Then
if (UO.SkillVal('Healing') > 0) then
Repeat
UO.WaitTargetObject(UO.GetSerial('self'))
UO.UseFromGround('0x0E21')
Wait(5000)
Until ((UO.GetHP() == UO.GetMaxHP()) or UO.Dead())
else
Repeat
UO.ServerPrint("Heal")
UO.UseFromGround('0x0F0C')
Wait(4000)
Until ((UO.GetHP() == UO.GetMaxHP()) or UO.Dead())
endif
EndIf
end sub
sub CheckEq(cType)
if (UO.Hex2Int(UO.GetGraphic(UO.ObjAtLayer('Lhand'))) <> UO.Hex2Int(cType)) Then
UO.Unequip('Lhand')
UO.Unequip('Rhand')
Wait(1000)
if UO.Count(cType) then
UO.UseType(cType)
Wait(400)
else
UO.FindType(cType,'-1','ground')
if UO.FindCount() Then
UO.Grab('1',UO.GetSerial('finditem'))
Wait(1000)
UO.UseType(cType)
Else
if (UO.Count(cType)+UO.CountGround(cType) == 0) then
UO.ServerPrint('Vaxa, u menya kon4ilis udochki!!!')
UO.Exec('terminate all')
UO.CloseUO()
endif
EndIf
EndIf
EndIf
end sub
sub CheckSave()
If CheckMsg("Saving World State",'System') Then
UO.Print("WorldSave: "+MakeTime())
UO.DeleteJournal()
Wait(25000)
EndIf
end sub
sub MakeTime()
VAR D, T, Ret, i
Ret = STR(UO.Time())
T = ""
For i = 0 To Len(Ret)
T = Ret[Len(Ret)-i] + T
If (I == 2) OR (I == 4) Then
T = ":" + T
EndIf
Next
Ret = STR(UO.Date())
D = ""
For i = 0 To Len(Ret)
D = Ret[Len(Ret)-i] + D
If (I == 2) OR (I == 4) Then
D = "." + D
EndIf
Next
Ret = T + " @ " + D
RETURN Ret
end sub
sub DropIt(WTF)
var DropCnt
For DropCnt = 0 to 3
if UO.Count(WTF[DropCnt]) Then
Stack(WTF[DropCnt])
EndIf
Next
While (UO.Count(WTF[4]) > 0)
UO.MoveItem('^'+WTF[4],'1',SOSBP)
Wait(400)
WEnd
While (UO.Count(WTF[5]) > 0)
UO.MoveItem('^'+WTF[5],'1',MapBP)
Wait(400)
WEnd
end sub
sub Fish(tPoint)
UO.WarMode(0)
CheckSave()
UO.Exec('waittargettile '+tPoint)
UO.UseObject(UO.ObjAtLayer('Lhand'))
Wait(fTime)
If CheckMsg('There does','System') then
NextDot = 1
EndIf
end sub
sub SetFishTime(fTile)
var fRes = 0
var fTmp
CheckEq(fPole)
fTime = 0
Fish(fTile)
fTmp = UO.Timer()
repeat
Wait(50)
until (CheckMsg('You catch','System') or CheckMsg('They','System') or CheckMsg('Your tool','System') or CheckMsg('There does','System') or CheckMsg('You find','System') or UO.Dead() or CheckMsg('I am already','System'))
fRes = UO.Timer() - fTmp
fTime = fRes * 100
if ((fTime < 3400) or (fTime > 6000)) Then
fTime = 3400
endif
end sub
sub Reconnector()
var ReconnectTime, RFlag
ReconnectTime = '0'
RFlag = 1
Repeat
While (UO.ObjAtLayer('Bpack') == '')
if RFlag Then
ReconnectTime = MakeTime()
RFlag = 0
endif
Wait(20000) # WorldSave Protection
UO.Say('')
Wait(3000)
UO.Say('')
Wait(3000)
UO.Say('')
Wait(3000)
UO.LDblClick(357,164)
UO.LClick(616,459)
Wait(3000)
WEnd
Wait(3000)
if (RFlag == 0) and (ReconnectTime <> '0') Then
UO.Exec('terminate main')
UO.Exec('exec main')
UO.TextOpen()
UO.TextPrint('Disconnected & Reconnected @ '+ReconnectTime)
RFlag = 1
ReconnectTime = '0'
endif
Until false
end sub[code][/code]

Фишинг:
Сам ишит де ловить, дроп и т.д всё есть!
var RandomFlag = 0
var UpOrFish = 1
var GZExist = 0
var GZTimer = 0
var NextDot = 0
var bandages = "0x02e1"
var meal = "0x097b"
var SOSBP = "ground"
var MapBP = "ground"
var Enemy = "self"
var WType = "0x0F51"
var fPole = "0x0dbf"
var fTime = 3500
var fPoleSize = 0
var GlobalFileMap = 'fpoint.map'
var FishLagTimer = 0
sub main()
Init()
var EnemyExists, EatTimer, fPoint
DIM FishingMap[121]
DIM FishingStuff[6]
FishingStuff[0] = "0x09CC" # Grey Fish
FishingStuff[1] = "0x09CD" # Green Fish
FishingStuff[2] = "0x09CE" # Blue Fish
FishingStuff[3] = "0x09CF" # Yellow Fish
FishingStuff[4] = "0x099F" # SOS bottle
FishingStuff[5] = "0x14ED" # old tattered map
if CheckFExist(GlobalFileMap) then
ReadFile(GlobalFileMap, FishingMap)
else
fPoleSize = CreateMap(FishingMap)
SToFile(FishingMap, fPoleSize, GlobalFileMap)
endif
FishLagTimer = UO.Timer()
SetFishTime(FishingMap[0])
fPoint = 0
repeat
CheckSave()
If ((UO.Timer() - EatTimer) > 3000) then
EatCheck()
EatTimer = UO.Timer()
EndIf
While CheckDanger()
TryToRes(1)
UO.DeleteJournal()
WEnd
CheckEq(fPole)
If UpOrFish Then
if NextDot Then
fPoint = fPoint + 1
NextDot = 0
else
fPoint = fPoint
endif
if (fPoint == fPoleSize) then
fPoint = 0
endif
Else # UpOrFish
if RandomFlag then
fPoint = UO.Random(fPoleSize)
else # RandomFlag
fPoint = fPoint + 1
if (fPoint == fPoleSize) then
fPoint = 0
endif # fPoint == fPoleSize
endif # RandomFlag
EndIf # UpOrFish
If ((UO.Timer() - FishLagTimer) > 9000) then
SetFishTime(FishingMap[fPoint])
FishLagTimer = UO.Timer()
EndIf
Fish(FishingMap[fPoint])
If (UO.Weight > 370) Then
DropIt(FishingStuff)
EndIf
until false
end sub
sub GZCheck()
var GZE = 0
CheckSave()
UO.ServerPrint('.guards')
Wait(5000)
if CheckMsg('This area is not watched','System') then
UO.Print('No guards')
else
GZE = 1
UO.Print('Guard Zone!')
endif
return GZE
end sub
sub Init()
UO.TextOpen()
UO.TextPrint('Ne?eio noa?oiaae: '+MakeTime())
UO.Exec('terminate Reconnector')
UO.Exec('exec Reconnector')
Wait(2000)
UO.Print('An exceptional fishing script v1.0 Release [crafted by Tpynuk]')
Wait(2000)
GZTimer = UO.Timer()
GZExist = GZCheck()
UO.Set('norbcheck','1')
UO.Set('norbcalc','1')
UO.Set('finddistance','3')
UO.Set('distance','2')
end sub
sub CreateMap(mapArray)
DIM tileArray[7]
tileArray[0] = '0'
tileArray[1] = '6039'
tileArray[2] = '6040'
tileArray[3] = '6041'
tileArray[4] = '6042'
tileArray[5] = '6043'
tileArray[6] = '6044'
DIM FishMsg[6]
FishMsg[0] = 'You catch'
FishMsg[1] = 'You find'
FishMsg[2] = 'That location'
FishMsg[3] = 'That is too far'
FishMsg[4] = 'There does'
FishMsg[5] = 'You can'
var mX, mY, mZ, StopFuckingSearch, nTileNum, cDelta, dX, dY
cDelta = 5
mX = UO.GetX()
mY = UO.GetY()
mZ = '251'
var mSize = 0
nTileNum = 0
for dX = -cDelta to cDelta
for dY = -cDelta to cDelta
StopFuckingSearch = 0
nTileNum = 0
repeat
CheckSave()
CheckEq(fPole)
UO.Print('Fishing @: '+tileArray[nTileNum]+' '+STR(mX+dX)+' '+STR(mY+dY)+' '+mZ)
Fish(tileArray[nTileNum]+' '+STR(mX+dX)+' '+STR(mY+dY)+' '+mZ)
if (CheckMsg(FishMsg[0],'System') or CheckMsg(FishMsg[1],'System')) Then
mapArray[mSize] = tileArray[nTileNum]+' '+STR(mX+dX)+' '+STR(mY+dY)+' '+mZ
mSize = mSize + 1
StopFuckingSearch = 1
else
if CheckMsg(FishMsg[2],'System') then
StopFuckingSearch = 1
endif
endif
UO.DeleteJournal()
nTileNum = nTileNum + 1
if (nTileNum == 7) then
StopFuckingSearch = 1
endif
until StopFuckingSearch
next
next
Return mSize
end sub
sub CheckMsg(cMsg, mAuthor)
var ij
ij = UO.InJournal(cMsg)
if ij Then
if (UO.JournalSerial(ij+1) == mAuthor) then
return ij+1
else
if (mAuthor == 'System') and (UO.JournalSerial(ij+1) == '0x01010101') then
return ij+1
endif
endif
else
return 0
endif
end sub
sub CheckFExist(fName)
var FileResult = 0
var xx = file(fName)
FileResult = safe call xx.Open()
Return FileResult
end sub
sub SToFile(wtSave, wtsSize, fName)
var wtsLNum
var f=file(fName)
f.Create()
f.Open()
f.WriteLn(STR(wtsSize))
for wtsLNum = 0 to (wtsSize - 1)
f.WriteLn(wtSave[wtsLNum])
next
f.Close()
end sub
sub ReadFile(fName, Pole)
var tFile = file(fName)
var LLLine, lNum, lSize
tFile.Open()
lSize = safe call tFile.ReadNumber()
fPoleSize = lSize
safe call tFile.ReadLn()
if ((lSize > 0) and IsNumber(lSize)) then
for lNum = 0 to fPoleSize - 1
LLLine = safe call tFile.ReadLn()
Pole[lNum] = Left(LLLine,LEN(LLLine)-1)
next
else
Message('Oaee iono')
UO.Exec("terminate all")
endif
UO.TextPrint('Eiee?anoai oi?ae aueiaa: '+STR(lSize))
tFile.Close()
end sub
sub AutoLootSelf()
var CorpseType, CorpseID, SelfID
SelfID = UO.GetSerial()
UO.Click(SelfID)
UO.IgnoreReSet()
If (UO.GetGraphic(UO.GetSerial()) == '0x0190') Then
CorpseType = '0x2006'
Else
CorpseType = '0x2006'
EndIf
UO.FindType(CorpseType,'-1','ground')
If (UO.FindCount() > 0) then
repeat
UO.FindType(CorpseType,'-1','ground')
CorpseID = UO.GetSerial('finditem')
UO.Click(CorpseID)
if (Right(UO.GetName(CorpseID),Len(UO.GetName(SelfID))) == UO.GetName(SelfID)) Then
UO.Emptycontainer('50',CorpseID)
Wait(500)
UO.Emptycontainer('50',CorpseID)
Wait(500)
endif
UO.Ignore(CorpseID)
UO.FindType(CorpseType,'-1','ground')
until (UO.FindCount() == 0)
endif
end sub
sub CheckSpells()
VAR Si, nStop, Result, JPos
JPos = 0
Si = 0
nStop = 1
Result = 0
DIM BadSpells[20]
BadSpells[0] = "In Por Ylem"
BadSpells[1] = "An Mani"
BadSpells[2] = "Vas Flam"
BadSpells[3] = "In Nox"
BadSpells[4] = "Des Sanct"
BadSpells[5] = "In Flam Grav"
BadSpells[6] = "Ort Grav"
BadSpells[7] = "In Jux Hur Ylem"
BadSpells[8] = "Por Corp Wis"
BadSpells[9] = "An Ex Por"
BadSpells[10] = "Corp Por"
BadSpells[11] = "Vas Ort Flam"
BadSpells[12] = "In Ex Grav"
BadSpells[13] = "Vas Flam"
BadSpells[14] = "Kal Vas Xen"
BadSpells[15] = "attacking you*"
BadSpells[16] = "Ort Rel"
BadSpells[17] = "Ort Sanct"
BadSpells[18] = "Flam Kal Des Ylem"
BadSpells[19] = "In Vas Por"
While nStop
JPos = UO.InJournal(BadSpells[Si])
If JPos Then
UO.TextPrint("?a? '"+UO.GetName(UO.JournalSerial(JPos-1))+"' - caoeene?iaaia aoaea.")
UO.ServerPrint(UO.GetName(UO.JournalSerial(JPos-1))+" ne kill pliz ya nub na macrose!!!")
Result = 1
EndIf
Si = Si + 1
If ((Si == 20) or (Result == 1)) Then
nStop = 0
EndIf
WEnd
Return Result
end sub
sub IsDanger(dcNum)
DIM PEnemy[4]
PEnemy[0] = '0x0010'
PEnemy[1] = '0x0096'
PEnemy[2] = '0x0190'
PEnemy[3] = '0x0191'
VAR Danger_cnt, Cycle_cnt, EmergencyFlag, EnemyId
EnemyId = 0
EmergencyFlag = 0
UO.IgnoreReset()
UO.Set('finddistance','10')
if (dcNum < 4) Then
UO.IgnoreReSet()
UO.FindType(PEnemy[dcNum],'-1','ground')
Danger_cnt = UO.FindCount()
If Danger_cnt > 0 Then
For Cycle_cnt = 0 To Danger_cnt - 1
UO.FindType(PEnemy[dcNum],'-1','ground')
EnemyId = UO.GetSerial('finditem')
If ((UO.GetNotoriety(EnemyId) >= 3) and (UO.GetSerial(EnemyId) <> UO.GetSerial())) Then
UO.Click(EnemyId)
UO.TextPrint('Iaeaai iioaioeaeuiue a?aa, eiy ?a?a: '+UO.GetName(EnemyId))
EmergencyFlag = 1
Enemy = EnemyId
EndIf
UO.Ignore(EnemyId)
Next
EndIf
EndIf
UO.IgnoreReSet()
If (dcNum == 4) Then
EmergencyFlag = CheckSpells()
EndIf
Return EmergencyFlag
end sub
sub TryToRes(HealFlag)
var ResFlag = 0
If UO.Dead() Then
Repeat
UO.Recall('self','1')
Wait(6000)
Until (NOT UO.Dead())
AutoLootSelf()
ResFlag = 1
EndIf
if HealFlag Then
if ResFlag then
AutoLootSelf()
DropRangerStuff()
endif
Heal()
endif
end sub
sub DropRangerStuff()
var iX
DIM RangerTool[3]
RangerTool[0] = "0x13B2"
RangerTool[1] = "0x0F4F"
RangerTool[2] = "0x13FD"
DIM RangerArr[3]
RangerArr[0] = "0x0F3F"
RangerArr[1] = "0x1BFB"
RangerArr[2] = "0x1BFB"
For iX = 0 to 2
UO.FindType(RangerTool[iX],'-1','my')
UO.Drophere(UO.GetSerial('finditem'))
Wait(500)
Stack(RangerArr[iX])
Wait(500)
Next
end sub
sub GetRangerStuff()
var iX = 0, StopMe = 0
DIM RangerTool[3]
RangerTool[0] = "0x13B2"
RangerTool[1] = "0x0F4F"
RangerTool[2] = "0x13FD"
DIM RangerArr[3]
RangerArr[0] = "0x0F3F"
RangerArr[1] = "0x1BFB"
RangerArr[2] = "0x1BFB"
repeat
UO.FindType(RangerTool[iX],'-1','ground')
If (UO.FindCount() and (not StopMe)) Then
WType = RangerTool[iX]
UO.Grab('0',UO.GetSerial('finditem'))
Wait(500)
UO.FindType(RangerArr[ix],'-1','ground')
if UO.FindCount() Then
UO.Grab('100',UO.GetSerial('finditem'))
Wait(500)
endif
StopMe = 1
endif
iX = iX + 1
until (StopMe or (iX == 3))
Return WType
end sub
sub Guards()
if ((UO.Timer() - GZTimer) >= 100) then
UO.ServerPrint('.guards')
Wait(500)
UO.ServerPrint('.guards')
GZTimer = UO.Timer()
endif
end sub
sub TryToKill()
var TTKi,TTKStop, TTKUse, TTKGrabN, WTWeap
TTKi = 0
TTKStop = 0
TTKGrabN = 0
If (GZExist and (UO.GetNotoriety() < 3)) then
Guards()
Else
DropRangerStuff()
Wait(500)
GetRangerStuff()
If (UO.GetGraphic(UO.ObjAtLayer('Rhand')) <> WType) Then
UO.Disarm()
Wait(500)
EndIf
Wait(200)
UO.EquipT('Rhand',WType)
Wait(500)
Repeat
UO.WarMode(1)
UO.Attack(Enemy)
Wait(3000)
Heal()
Until ((UO.GetHP(Enemy) == 0) or UO.Dead(Enemy) or UO.Dead() or (UO.GetDistance(Enemy) > 12))
DropRangerStuff()
EndIf
end sub
sub CheckDanger()
Var dX, DangerFactor, DangerResult
dX = 0
DangerFactor = 0
DangerResult = 0
dX = 0
Repeat
DangerResult = IsDanger(dX)
If (DangerResult > 0) Then
If (dX < 4) Then
TryToKill()
Else
UO.ServerPrint('Vaxanekillpliz!!!')
EndIf
DangerFactor = 1
EndIf
dX = dX + 1
Until (dX == 5) or (DangerResult)
Return DangerFactor
end sub
sub EatCheck()
var GHS, Hung_i, Meal
GHS = 0
Meal = '0x097b'
GHS = GetHungryStatus()
UO.TextPrint('GHS = '+STR(GHS))
If (GHS > 1) then
For Hung_i = 0 To (GHS - 2)
Eat(Meal)
Wait(350)
Next
EndIf
end sub
sub Eat(wtEat)
If UO.Count(wtEat) then
UO.UseType(wtEat)
else
If UO.CountGround(wtEat) then
UO.UseFromGround(wtEat)
else
UO.Print('No meal found.')
endif
endif
end sub
sub GetHungryStatus()
VAR Ret_i, Cycle_i, LastStr
DIM HArr[11]
HArr[0] = "You are absolutely stuffed!"
HArr[1] = "You are stuffed"
HArr[2] = "You aren't hungry at all"
HArr[3] = "You are a little hungry"
HArr[4] = "You are somewhat hungry"
HArr[5] = "You are REALLY hungry"
HArr[6] = "Your stomash hurts"
HArr[7] = "Your stomash hurts and you feel dizzy"
HArr[8] = "You are starving"
HArr[9] = "You are almost dying of hunger"
HArr[10] = "You are DYING of hunger..."
UO.DeleteJournal()
UO.ServerPrint(".hungry")
Ret_i = 0
Cycle_i = 0
Wait(400)
For Cycle_i = 0 To 10
If CheckMsg(HArr[Cycle_i],'System') Then
Ret_i = Cycle_i
EndIf
Next
RETURN Ret_i
end sub
sub Stack(StackType)
var GroundItem, PackItem
PackItem = ''
GroundItem = ''
if UO.Count(StackType) then
PackItem = '^'+StackType
endif
if UO.CountGround(StackType) then
GroundItem = '~'+StackType
endif
if ((PackItem <> '') and (GroundItem <> '')) then
UO.MoveItem(PackItem,STR(UO.GetQuantity(PackItem)),GroundItem,'0','0','0')
else
UO.DropHere('^'+StackType)
Endif
end sub
sub Heal()
If UO.Poisoned() Then
if (UO.SkillVal('Healing') > 730) then
Repeat
UO.WaitTargetObject(UO.GetSerial('self'))
UO.UseFromGround('0x0E21')
Wait(5000)
Until ((Not UO.Poisoned()) or UO.Dead())
else
Repeat
UO.ServerPrint("Cure")
UO.UseFromGround('0x0F07')
Wait(4000)
Until ((Not UO.Poisoned()) or UO.Dead())
endif
EndIf
If ((UO.GetHP() < UO.GetMaxHP()) and UO.Life) Then
if (UO.SkillVal('Healing') > 0) then
Repeat
UO.WaitTargetObject(UO.GetSerial('self'))
UO.UseFromGround('0x0E21')
Wait(5000)
Until ((UO.GetHP() == UO.GetMaxHP()) or UO.Dead())
else
Repeat
UO.ServerPrint("Heal")
UO.UseFromGround('0x0F0C')
Wait(4000)
Until ((UO.GetHP() == UO.GetMaxHP()) or UO.Dead())
endif
EndIf
end sub
sub CheckEq(cType)
if (UO.Hex2Int(UO.GetGraphic(UO.ObjAtLayer('Lhand'))) <> UO.Hex2Int(cType)) Then
UO.Unequip('Lhand')
UO.Unequip('Rhand')
Wait(1000)
if UO.Count(cType) then
UO.UseType(cType)
Wait(400)
else
UO.FindType(cType,'-1','ground')
if UO.FindCount() Then
UO.Grab('1',UO.GetSerial('finditem'))
Wait(1000)
UO.UseType(cType)
Else
if (UO.Count(cType)+UO.CountGround(cType) == 0) then
UO.ServerPrint('Vaxa, u menya kon4ilis udochki!!!')
UO.Exec('terminate all')
UO.CloseUO()
endif
EndIf
EndIf
EndIf
end sub
sub CheckSave()
If CheckMsg("Saving World State",'System') Then
UO.Print("WorldSave: "+MakeTime())
UO.DeleteJournal()
Wait(25000)
EndIf
end sub
sub MakeTime()
VAR D, T, Ret, i
Ret = STR(UO.Time())
T = ""
For i = 0 To Len(Ret)
T = Ret[Len(Ret)-i] + T
If (I == 2) OR (I == 4) Then
T = ":" + T
EndIf
Next
Ret = STR(UO.Date())
D = ""
For i = 0 To Len(Ret)
D = Ret[Len(Ret)-i] + D
If (I == 2) OR (I == 4) Then
D = "." + D
EndIf
Next
Ret = T + " @ " + D
RETURN Ret
end sub
sub DropIt(WTF)
var DropCnt
For DropCnt = 0 to 3
if UO.Count(WTF[DropCnt]) Then
Stack(WTF[DropCnt])
EndIf
Next
While (UO.Count(WTF[4]) > 0)
UO.MoveItem('^'+WTF[4],'1',SOSBP)
Wait(400)
WEnd
While (UO.Count(WTF[5]) > 0)
UO.MoveItem('^'+WTF[5],'1',MapBP)
Wait(400)
WEnd
end sub
sub Fish(tPoint)
UO.WarMode(0)
CheckSave()
UO.Exec('waittargettile '+tPoint)
UO.UseObject(UO.ObjAtLayer('Lhand'))
Wait(fTime)
If CheckMsg('There does','System') then
NextDot = 1
EndIf
end sub
sub SetFishTime(fTile)
var fRes = 0
var fTmp
CheckEq(fPole)
fTime = 0
Fish(fTile)
fTmp = UO.Timer()
repeat
Wait(50)
until (CheckMsg('You catch','System') or CheckMsg('They','System') or CheckMsg('Your tool','System') or CheckMsg('There does','System') or CheckMsg('You find','System') or UO.Dead() or CheckMsg('I am already','System'))
fRes = UO.Timer() - fTmp
fTime = fRes * 100
if ((fTime < 3400) or (fTime > 6000)) Then
fTime = 3400
endif
end sub
sub Reconnector()
var ReconnectTime, RFlag
ReconnectTime = '0'
RFlag = 1
Repeat
While (UO.ObjAtLayer('Bpack') == '')
if RFlag Then
ReconnectTime = MakeTime()
RFlag = 0
endif
Wait(20000) # WorldSave Protection
UO.Say('')
Wait(3000)
UO.Say('')
Wait(3000)
UO.Say('')
Wait(3000)
UO.LDblClick(357,164)
UO.LClick(616,459)
Wait(3000)
WEnd
Wait(3000)
if (RFlag == 0) and (ReconnectTime <> '0') Then
UO.Exec('terminate main')
UO.Exec('exec main')
UO.TextOpen()
UO.TextPrint('Disconnected & Reconnected @ '+ReconnectTime)
RFlag = 1
ReconnectTime = '0'
endif
Until false
end sub[code][/code]