Мининг с "сигнализацией"

Anything and all.

Moderators: Murderator+, Murderator

Post Reply
Al-s
Posts: 6
Joined: 2005-06-30 20:42:22
Location: Moscow
Contact:

Мининг с "сигнализацией"

Post by Al-s »

Этот мининг написан под шахты шарда Ethereal Portal.
На некоторых серверах Hardcore Macros запрещен, и если GM ловит тебя за ХМом, то естественно сажает на зону. Для этого и придуман макрос сигнализирующий звуковой эффект, если появляется GM или же какие либо играки.

Code: Select all

sub mining()
Uo.exec("exec r")
    Var X
    Var Y
    Var dX
    Var dY
    For dX = -4 To 4
      For dY = -4 To 4
        X = UO.GetX() + dX
        Y = UO.GetY() +dY
        ;UO.Print(STR(X))
        ;UO.Print(STR(Y))
        ;wait(2000)
        TryMining(X, Y)
      Next
    Next
end sub
#######################################################################
Sub TryMining(X, Y)
    Var Shovel = 0x0F39; EIIAOA
    Var LastMess
    Var NM
    DoMining:
    UO.Exec("waittargettile 1339 " + STR(X) + " " + STR(Y) + " 1")
    UO.UseType(Shovel)
    UO.DeleteJournal()
    Wait(1000)
    NM = 0
    WaitMessage:
    If NM > 200 Then
        GoTo EndMining
    EndIf
    Wait(100)
    LastMess = UO.Lastmessage()
    If LastMess == "There is no ore here to mine." Then
        GoTo EndMining
    EndIf
    If LastMess == "There is nothing here to mine for." Then
        GoTo EndMining
    EndIf
    If LastMess == "That is too far away." Then
        GoTo EndMining
    EndIf
    If LastMess == "Try mining in rock." Then
        GoTo EndMining
    EndIf
    If LastMess == "You have no line of sight to that location" Then
        GoTo EndMining
    EndIf
If UO.InJournal("You loosen") > 0 Then
        GoTo DoMining
    EndIf
    If LastMess == "You put the Proto Ore in your pack." Then
        GoTo endMining
    EndIf
    If LastMess == "You put the Common Ore in your pack." Then
        GoTo endMining
    EndIf
    If LastMess == "You put the Luxury Ore in your pack." Then
        GoTo DoMining
    EndIf
    If LastMess == "You put the Arch Ore in your pack." Then
        GoTo DoMining
    EndIf
    If LastMess == "You put the Elemental Ore in your pack." Then
        GoTo EndMining
    EndIf
    NM = NM + 1
    GoTo WaitMessage
    EndMining:
    Wait(2000)
End Sub

sub r()
st:
If UO.InJournal("Персонал")>0 or UO.InJournal("Персонал сервера!")>0 or UO.InJournal("EP:")>0 or UO.InJournal("Личинка")>0 or UO.InJournal("Имперец")>0 or UO.InJournal("Evil")>0 or UO.InJournal("GM")>0 or UO.InJournal("Seer")>0 or UO.InJournal("Counselor")>0 or UO.InJournal("Hammurapi")>0 or UO.InJournal("Shield")>0 or UO.InJournal("Ink")>0 or UO.InJournal("Hammurapi")>0 or UO.InJournal("LKnight")>0 or UO.InJournal("AcidLeha")>0 or UO.InJournal("Equilibrium")>0 or UO.InJournal("Kounselor")>0 or UO.InJournal("Counselor")>0 or UO.InJournal("Voland")>0 or UO.InJournal("AcidLeha")>0 or UO.InJournal("Vidar")>0 or UO.InJournal("Ink")>0 or UO.InJournal("Inc")>0 or UO.InJournal("Inquizitor")>0 or UO.InJournal("Hammurapi:")>0 or UO.InJournal("AcidLeha:")>0 or UO.InJournal("Lknight:")>0 or UO.InJournal("Malj")>0 or UO.InJournal("Ink:")>0 or UO.InJournal("Inc:")>0 or UO.InJournal("Inquizitor:")>0 or UO.InJournal("<")>0 or UO.InJournal("Привет")>0 or UO.InJournal("Хм")>0 or UO.InJournal("Здесь?")>0 or UO.InJournal("Milady")>0 or UO.InJournal("Тут?")>0 or UO.InJournal("Гном")>0 or UO.InJournal("Светлый")>0 or UO.InJournal("Орк")>0 or UO.InJournal("уровня")>0 or UO.InJournal("Темный")>0 or UO.InJournal("Тёмный")>0 or UO.InJournal("newbie")>0 or UO.InJournal("Inquisitor")>0 or UO.InJournal("inquisitor")>0 or UO.InJournal("Inquisitor:o")>0 or UO.InJournal("inquisitor:")>0 or UO.InJournal("larva")>0 Then
While not UO.InJournal("privetik")
UO.Playwav("C:\sound108.wav")
Wait(1500)
Wend
End if
If UO.InJournal("privetik")>0 then
uo.DeleteJournal()
End if
wait(1000)
goto st
end sub
Тысячи незримых нитей обивает тебя закон; разорвешь одну - приступник. Сто - смертник. Все - Бог.
Destruction
Junior Expert
Posts: 3221
Joined: 2004-06-24 22:08:56

Post by Destruction »

Code: Select all

uo.injoural(msg1|msg2|msg3|msg4|msg5)
или

Code: Select all

test = false
for i=0 to 20
if uo.injournal(msg[i]) then
test = true
endif
next
if test then
uo.print('Mtssage found!')
endif


но в любом случае не так, как сделал автор. 8)

ИМХО
I'm
Expert!
Posts: 1396
Joined: 2004-10-15 22:38:04
Location: Moscow City.
Contact:

Post by I'm »

На мой взгляд неважно как реальзованно.
Важно как работает.
Рациональность конечн круто но над ней порой надо думать.
Destruction
Junior Expert
Posts: 3221
Joined: 2004-06-24 22:08:56

Post by Destruction »

Надо понимать, что на скриптах-то наших новички учаться, вот они плохому и учаться :evil:
Post Reply