Results 1 to 7 of 7

Thread: Exiva Alarm

  1. #1
    Banned
    Join Date
    Oct 2012
    Posts
    23
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Quoted
    0 Post(s)
    Reputation
    10
    Rep Power
    0

    Exiva Alarm

    I was thinking, it could be possible to make a exiva bot for PvP worlds. It could work by doing exiva on your enemies (you must write this in local variable) every X seconds, then it checks the server log for the message ... is far to the east, it will only alarm if the player is far or just e/n/w/s, it won't alarm if its very far.

    Is this possible, do you think?

  2. #2
    Normal User
    Join Date
    Jun 2012
    Location
    Sweden
    Posts
    1,670
    Mentioned
    18 Post(s)
    Tagged
    1 Thread(s)
    Quoted
    8 Post(s)
    Reputation
    132
    Rep Power
    10
    Test this (I didnt test so idk if it works)
    PHP Code:
    CONFIG = {
        
    PLAYERS = {"soder","player2"},
        
    INTERVAL 30, -- seconds
    }

    local MESSAGES getnewmessages("Server Log"
    local MESSAGES_QUANTITY MESSAGES.count 1

    for NAME 1#CONFIG.PLAYERS do
        
    cast("exiva \""..CONFIG.PLAYERS[NAME])

        for 
    INDEX 0MESSAGES_QUANTITY do 
            if (
                
    MESSAGES[MESSAGES_QUANTITY INDEX].text:match("(.+) is standing next to you.") or 
                
    MESSAGES[MESSAGES_QUANTITY INDEX].text:match("(.+) is far to the east.") or 
                
    MESSAGES[MESSAGES_QUANTITY INDEX].text:match("(.+) is far to the west.") or 
                
    MESSAGES[MESSAGES_QUANTITY INDEX].text:match("(.+) is far to the north.") or 
                
    MESSAGES[MESSAGES_QUANTITY INDEX].text:match("(.+) is far to the south.") or 
                
    MESSAGES[MESSAGES_QUANTITY INDEX].text:match("(.+) is to the east.") or
                
    MESSAGES[MESSAGES_QUANTITY INDEX].text:match("(.+) is to the west.") or 
                
    MESSAGES[MESSAGES_QUANTITY INDEX].text:match("(.+) is to the north.") or 
                
    MESSAGES[MESSAGES_QUANTITY INDEX].text:match("(.+) is to the south.")
            ) 
    then 
                playsound
    ("alert.wav"
            
    end 
        end
        wait
    (3000,5000)
    end
    wait
    (CONFIG.INTERVAL*1000
    Last edited by soder; 12-15-2012 at 01:51 PM.

  3. #3
    Normal User Guurraaa's Avatar
    Join Date
    Jun 2012
    Location
    Sweden
    Posts
    223
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Quoted
    0 Post(s)
    Reputation
    19
    Rep Power
    6
    Quote Originally Posted by soder View Post
    Test this
    PHP Code:
    CONFIG = {
        
    PLAYERS = {"soder","player2"},
        
    INTERVAL 30, -- seconds
    }

    local MESSAGES getnewmessages("Server Log"
    local MESSAGES_QUANTITY MESSAGES.count 1

    for NAME 1#CONFIG.PLAYERS do
        
    cast("exiva \""..CONFIG.PLAYERS[NAME])

        for 
    INDEX 0MESSAGES_QUANTITY do 
            if (
                
    MESSAGES[MESSAGES_QUANTITY INDEX].text:match("(.+) is standing next to you.") or 
                
    MESSAGES[MESSAGES_QUANTITY INDEX].text:match("(.+) is far to the east.") or 
                
    MESSAGES[MESSAGES_QUANTITY INDEX].text:match("(.+) is far to the west.") or 
                
    MESSAGES[MESSAGES_QUANTITY INDEX].text:match("(.+) is far to the north.") or 
                
    MESSAGES[MESSAGES_QUANTITY INDEX].text:match("(.+) is far to the south.") or 
                
    MESSAGES[MESSAGES_QUANTITY INDEX].text:match("(.+) is to the east.") or
                
    MESSAGES[MESSAGES_QUANTITY INDEX].text:match("(.+) is to the west.") or 
                
    MESSAGES[MESSAGES_QUANTITY INDEX].text:match("(.+) is to the north.") or 
                
    MESSAGES[MESSAGES_QUANTITY INDEX].text:match("(.+) is to the south.")
            ) 
    then 
                playsound
    ("alert.wav"
            
    end 
        end
        wait
    (3000,5000)
    end
    wait
    (CONFIG.INTERVAL*1000
    Awesome But what about SW,NW,NE and SE could you fix them too?

    //Kind Regards Gurra

  4. #4
    Normal User
    Join Date
    Jun 2012
    Location
    Sweden
    Posts
    1,670
    Mentioned
    18 Post(s)
    Tagged
    1 Thread(s)
    Quoted
    8 Post(s)
    Reputation
    132
    Rep Power
    10
    Quote Originally Posted by Guurraaa View Post
    Awesome But what about SW,NW,NE and SE could you fix them too?

    //Kind Regards Gurra
    It's really not that hard to add yourself.

  5. #5
    Normal User Guurraaa's Avatar
    Join Date
    Jun 2012
    Location
    Sweden
    Posts
    223
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Quoted
    0 Post(s)
    Reputation
    19
    Rep Power
    6
    Quote Originally Posted by soder View Post
    It's really not that hard to add yourself.
    I wont use this myself just for the rest of the ignorant comunity

  6. #6
    Banned
    Join Date
    Oct 2012
    Posts
    23
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Quoted
    0 Post(s)
    Reputation
    10
    Rep Power
    0
    Thanks Soder, it worked. I edited it a bit and added all the possible exiva messages:
    Code:
    CONFIG = {
        PLAYERS = {"player1", "player2"},
        INTERVAL = 10, -- seconds
    }
    
    local MESSAGES = getnewmessages("Server Log") 
    local MESSAGES_QUANTITY = MESSAGES.count - 1
    
    for NAME = 1, #CONFIG.PLAYERS do
        cast("exiva \""..CONFIG.PLAYERS[NAME])
    
        for INDEX = 0, MESSAGES_QUANTITY do 
            if (
                MESSAGES[MESSAGES_QUANTITY - INDEX].text:match("(.+) is standing next to you.") or 
                MESSAGES[MESSAGES_QUANTITY - INDEX].text:match("(.+) is above you.") or 
                MESSAGES[MESSAGES_QUANTITY - INDEX].text:match("(.+) is below you.") or 
                MESSAGES[MESSAGES_QUANTITY - INDEX].text:match("(.+) is far to the east.") or 
                MESSAGES[MESSAGES_QUANTITY - INDEX].text:match("(.+) is far to the north-east.") or 
                MESSAGES[MESSAGES_QUANTITY - INDEX].text:match("(.+) is far to the north-west.") or 
                MESSAGES[MESSAGES_QUANTITY - INDEX].text:match("(.+) is far to the west.") or 
                MESSAGES[MESSAGES_QUANTITY - INDEX].text:match("(.+) is far to the south-west.") or 
                MESSAGES[MESSAGES_QUANTITY - INDEX].text:match("(.+) is far to the south-east.") or 
                MESSAGES[MESSAGES_QUANTITY - INDEX].text:match("(.+) is far to the north.") or 
                MESSAGES[MESSAGES_QUANTITY - INDEX].text:match("(.+) is far to the south.") or 
                MESSAGES[MESSAGES_QUANTITY - INDEX].text:match("(.+) is to the east.") or
                MESSAGES[MESSAGES_QUANTITY - INDEX].text:match("(.+) is to the west.") or 
                MESSAGES[MESSAGES_QUANTITY - INDEX].text:match("(.+) is to the north.") or 
                MESSAGES[MESSAGES_QUANTITY - INDEX].text:match("(.+) is to the north-east.") or 
                MESSAGES[MESSAGES_QUANTITY - INDEX].text:match("(.+) is to the north-west.") or 
                MESSAGES[MESSAGES_QUANTITY - INDEX].text:match("(.+) is to the south.") or
                MESSAGES[MESSAGES_QUANTITY - INDEX].text:match("(.+) is to the south-east.") or
                MESSAGES[MESSAGES_QUANTITY - INDEX].text:match("(.+) is to the south-west.") or
                MESSAGES[MESSAGES_QUANTITY - INDEX].text:match("(.+) is to the south.") or
                MESSAGES[MESSAGES_QUANTITY - INDEX].text:match("(.+) is on a lower level to the north-east.") or
                MESSAGES[MESSAGES_QUANTITY - INDEX].text:match("(.+) is on a lower level to the north-west.") or
                MESSAGES[MESSAGES_QUANTITY - INDEX].text:match("(.+) is on a lower level to the north.") or
                MESSAGES[MESSAGES_QUANTITY - INDEX].text:match("(.+) is on a lower level to the south.") or
                MESSAGES[MESSAGES_QUANTITY - INDEX].text:match("(.+) is on a lower level to the south-east.") or
                MESSAGES[MESSAGES_QUANTITY - INDEX].text:match("(.+) is on a lower level to the south-west.") or
                MESSAGES[MESSAGES_QUANTITY - INDEX].text:match("(.+) is on a lower level to the east.") or
                MESSAGES[MESSAGES_QUANTITY - INDEX].text:match("(.+) is on a lower level to the west.") or
                MESSAGES[MESSAGES_QUANTITY - INDEX].text:match("(.+) is on a higher level to the north-east.") or
                MESSAGES[MESSAGES_QUANTITY - INDEX].text:match("(.+) is on a higher level to the north-west.") or
                MESSAGES[MESSAGES_QUANTITY - INDEX].text:match("(.+) is on a higher level to the north.") or
                MESSAGES[MESSAGES_QUANTITY - INDEX].text:match("(.+) is on a higher level to the south.") or
                MESSAGES[MESSAGES_QUANTITY - INDEX].text:match("(.+) is on a higher level to the south-east.") or
                MESSAGES[MESSAGES_QUANTITY - INDEX].text:match("(.+) is on a higher level to the south-west.") or
                MESSAGES[MESSAGES_QUANTITY - INDEX].text:match("(.+) is on a higher level to the east.") or
                MESSAGES[MESSAGES_QUANTITY - INDEX].text:match("(.+) is on a higher level to the west.")
            ) then 
                playsound("alert.wav") 
            end 
        end
        wait(3000,5000)
    end
    wait(CONFIG.INTERVAL*1000)

  7. #7
    Normal User
    Join Date
    Jun 2012
    Location
    Sweden
    Posts
    1,670
    Mentioned
    18 Post(s)
    Tagged
    1 Thread(s)
    Quoted
    8 Post(s)
    Reputation
    132
    Rep Power
    10
    You can also try this if you wish, should alarm on any exiva message as long as the string does not conatin "very far to the".
    PHP Code:
    CONFIG = {
        
    PLAYERS = {"player1""player2"},
        
    INTERVAL 10, -- seconds
    }

    local MESSAGES getnewmessages("Server Log"
    local MESSAGES_QUANTITY MESSAGES.count 1

    for NAME 1#CONFIG.PLAYERS do
        
    cast("exiva \""..CONFIG.PLAYERS[NAME])

        for 
    INDEX 0MESSAGES_QUANTITY do 
            if (
    MESSAGES[MESSAGES_QUANTITY INDEX].text:find(CONFIG.PLAYERS[NAME]) and not MESSAGES[MESSAGES_QUANTITY INDEX].text:find("very far to the")) then 
                playsound
    ("alert.wav"
            
    end 
        end
        wait
    (3000,5000)
    end
    wait
    (CONFIG.INTERVAL*1000

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •