OgreIRC:OgreIRC

From ISXOgre
Revision as of 21:24, 26 April 2016 by Kannkor (Talk | contribs)

Jump to: navigation, search

OgreIRC

Summary

OgreIRC - hooks into your uplink and allows commands to pass through it.

This is a very advanced feature. It is generally used for two purposes. As a method of "connecting" players together to control each others bots. Generally in a raid situation. Secondly, for extremely advanced control of some of OgreBot features. Because OgreIRC has pure CLI (Command Line Interface) with many of OgreBots functions, you can set up some additional functionality over standard MCP commands. Because it is built around it coming from an outside source, it always takes parameters of who it's for, rather than blanket relay alls (although many MCP commands have the standard who it's for).


OgreIRC is 100% unsupported. You are more than welcome to try it, provide feedback on bugs/features, but there will be no timelines. Unless you have a use for it, and are a seasoned user/scripter, I wouldn't recommend taking on this task.

Requirements / Setup

  • ISXIM - This is a free download from isxgames.com. Link
    • If the above link doesn't work for you, do the following:
      • Download ISXIM.dll directly and save it to your innerspace/extensions/isxdk35/ folder.
    • It must be updated (load the extension once by typing: ext isxim into the console).
    • It is only required on the 1 computer that will be acting as the bridge between IRC and your local network.
    • Do NOT add it to your startup. There is no need to load it anywhere, or do anything with it (other than ext isxim once so it updates).
  • OgreConsole tab in OgreBot
    • On the right side of OgreConsole tab in Ogrebot is IRC information. Fill this information in.
      • UplinkName - This is the name of the uplink that the IRC bridge will be running on.
      • IRCServer - IRCServer you will be connecting too.
      • DefaultUser - IRC Name
      • DefaultChannel - IRC channel. At this time, only 1 channel is supported.
      • ChannelPassword - Password for IRC Channel...
      • The last 3 have to do with logging characters in automatically. This is NOT coded at the time of writing this, with minimal plans to implement it.

Usage

  • There are 2 "scripts" running. One in the uplink (OgreIRC), and one in each game session (OgreIRCSession). How OgreIRC works, is the OgreIRCSessions send information to OgreIRC in the uplink, and it is passed to the IRC channel. Likewise, when information is received from the IRC channel, it is read by OgreIRC, and passed to OgreIRCSessions.
  • Load your sessions, and in the console on the computer where you want the IRC bridge, type: ogre irc
  • This will relay all other sessions to load OgreIRCSession, as well as load OgreIRC into the uplink. These are bruteforce checks, so if one of them is already running, you'll get "script is already running". That is fine.
    • You can also set to have OgreIRC load automatically when OgreBot loads. On the "Load" tab, select what you want to load. Here is how I have them set.
      • Tank: Ogre IRC Uplink (this uplink)
        • This loads the bridge, and is only needed on 1 session, since it loads it in the uplink.
      • Tank: Show IRC Interface
        • Because I always want to see this window on my tank. It's where tells and other things go to. It will NOT automatically open if it's hidden.
      • Everyone (including the tank): Ogre IRC (this session)
        • This connects everyone together.
  • To use the in-game interface, you need to open it by hitting Control+~ IE: The same way you open the console, but hold control down. (For those technical reading this, I realize ~ isn't really the key you are pressing, but it's much easier than trying to get people to see the difference between ' and `, and most people think the tilde key is default.)
  • Any tells recieved will go to the OgreIRCConsole window ingame.
  • Any message sent to IRC that contains NULL, will be cut off at the NULL. For example: If you had a message that read: "Hello there NULL NULL NULL", it would only output "Hello there". Likewise, if you have a message that read "Hello NULL NULL there NULL", it would only output "Hello".
[08:29:22] [08:29:22] <~Kannkor> Simply put...
[08:29:50] [08:29:50] <~Kannkor> Each IRC line has to start with !c <ForWhichIRCBot>, so usually it's for everyone: !c all
[08:29:53] [08:29:53] <~Kannkor> Then you can stack commands
[08:29:55] [08:29:55] <~Kannkor> For example:
[08:30:54] [08:30:54] <~Kannkor> !c all -cs all -jst-off casters -jst-off troubador -jstout all -assist someone all -assist someoneelse anotherperson -holdup all
[08:30:56] [08:30:56] <~Kannkor> etc etc
[08:31:03] [08:31:03] <~Kannkor> That one is obviously full of random commands
[08:31:05] [08:31:05] <~Kannkor> But you get the idea

Colours

  • Yes, colours. OgreIRC is Canadian, deal with it!
  • Green = Chat intended for a human.
  • Red = A chat command intended for the bot.
  • Yellow = An in-game tell.

Commands

  • All commands to be sent interpreted by the bot, must start with "!command [For who]" (a space after the d), or for the lazy, "!c [For who]" works fine too. Following this, any -command <parameter> will work. IE: !c All -available kannkor
    • For who possibilities
      • All - All bots will listen.
      • Bot_Name - Only the specific bot will listen. Note: This is NOT the name of a toon, it is the name of the IRC bot.
      • Me - This will only work for the person giving the command. Do not confuse this with in-game aliases. You CAN NOT USE 'me' AS A PARAMETER FOR COMMANDS. Use ${Me.Name} for that. The 'me' alias ONLY works immediately after "!c"
  • Commands. Note, majority of these are identical to how their MCP counterpart works.
  • Note This list is not extensive anymore. You can now use ANY MCP in OgreIRC, as they both "use" OgreConsole for processing. Easy way to see what the commands are, is create an MCP button with what you want, press it to see the correct syntax, then add it into your OgreIRC button.
Command Parameter & Description
-ApplyVerb
For right clicking on actors and selecting an option. Verb IS CASE SENSITIVE!!!
Parameter 1 ActorID
Parameter 2 Verb
-AReward
-AcceptReward
-Accepts a quest reward. Note: Only works if there is NOT an item choice.
Parameters N/A
-Assist
-Ass
Changes assist
Parameter 1 PersonToAssist
Parameter 2 CommandForWho
-auth
When auth is active, it overrides all ignore settings.

When all auth is removed, it reverts back to the ignore settings.
Adds the IRCBotName to the auth list.

  • example
    •  !c all -auth Kannkor_IRCBot
Parameter 1 For who
-authlist
Lists everyone on the auth list.
Parameters N/A
-AutoRun
-Presses the OgreBotAutoRunKey found in eq2chars (default is num lock).
Parameters N/A
-AutoTargetToggle
-ATT
This is merely a shortcut to doing -UO ForWho checkbox_autotarget_enabled TRUE
Parameter 1 For Who
Parameter 2 TRUE/FALSE
-available
-a
Checks to see if a toon is logged in.
Parameter 1 who
-CallGH
-Calls to Guild Hall
Parameters N/A
-Camp
-Any session running Ogrebot will camp to desktop.
Parameters N/A
-campspot
-cs
Sets campspot for the specified target
Parameter 1 who
-CancelMaintained
Cancels an ability with the specified name.
Parameter 1 AbilityName
-Cast
Casts a spell.
Parameter 1 who
Parameter 2 Spell to cast
-CastOn
Casts a spell.
Parameter 1 who
Parameter 2 Spell to cast
Parameter 3 who to cast on
-ChangeCampSpot
-ChangeCS
-CCS
Changes campspot.
Parameter 1 x Coord
Parameter 2 Y Coord
Parameter 3 Z Coord
-ChangeCampSpotForWho
-ChangeCSW
-CCSW
Change the campspot.
Parameter 1 ForWho
Parameter 2 X Coord
Parameter 3 Y Coord
Parameter 4 Z Coord
-ChangeCastStack
-CCastStack
-CCStack
Change something in the cast stack.
Parameter 1 ForWho - Example: all
Parameter 2 Name of Caststack item - Example: Cure Curse
Parameter 3 Value - Example: Toggle / TRUE / FALSE
-ClsWdw
-Closes the most recently opened in-game window.
Parameters N/A
-Come2Me
-ComeToMe
Have specified target move directly to you.
Parameter 1 Person to move to
Parameter 2 who to move
Parameter 3 Precision
-Connect
-Runs the connect uplink script.
Parameters N/A
-CS-JO-JI
CampSpot -JoustOff-JoustIn (Same as MCP -CS-JO-JI)
Parameter 1 who
Parameter 2 who should Joust off
-DevBot
-Loads the dev bot on all sessions.
Parameters N/A
-Disband
-Disbands everyone from their group/raid.
Parameters N/A
-Disconnect
-Runs the disconnect uplink script.
Parameters N/A
-Door
-DoorX
When you are zoning into a location and it gives you an option, this is considered a "door". Example: Going to Great Divide 1, 2, or 3.
Parameter 1 Door #
-EndBot
-Ends Ogrebot on all sessions.
Parameters N/A
-EndScript
Relays endscript.
Parameter 1 ScriptName
-Evac
Cast Evacuate on any toon that has one.
Parameters N/A
-FFollow
-F-Follow
Forces Auto-Follow to turn on.
Parameters N/A
-FlyDown
Presses "End" (fly/swim down). Pressing it a second time does NOT TOGGLE it.
Parameters N/A
FlyStop
Releases both Home and End.
Parameters N/A
-FlyUp
Presses "Home" (fly/swim up). Pressing it a second time does NOT TOGGLE it.
Parameters N/A
-FlyUpForWho
-FlyDownForWho
-FlyStopForWho
Fly up, Fly Down, Fly Stop for specific toon.
Parameters Toon Name
-GetFlag
-Gets a rally banner (flag).
Parameters N/A
-Group

Same as raid, but passes the message with chattype group instead of raid.

Parameter 1 Message
-Holdup
Does a "HoldUp" for the specified target
Parameter 1 who
-ImmRes
Use Clerics Immaculate Resurrection.
Parameter 1 HowManyDeadToCast
-Invite
-Raidinvite
Staggers invites to group/raid members, and allows them a short opportunity to accept before continuing on
Parameter 1 <Inviter>
Parameter 2 <Invitee>
Example If you wanted to invite 3 people you would have:
   -Invite Kannkor primalz -invite Kannkor eq2bob -raidinvite Kannkor saha 
-jst-in
-joustin
JoustIn for the specified target
Parameter 1 who
-Jst-off
-joustoff
JoustOff for the specified target
Parameter 1 who
-Jst-out
-joustout
JoustOut for the specified target
Parameter 1 who
-Jump
-Relays press space (default jump).
Parameters N/A
-LoadAutoTargetList
-LATL
Loads a saved autotarget list for selected toons
Parameter 1 List Name
Parameter 2 Who should load the list
-LetsGo
Does a "LetsGo" for the specified target
Parameter 1 who
-LoadBot
-Loads the bot on all sessions.
Parameters N/A
-LoadExt
-loads ISXOgre.
Parameters N/A
-LoadProfileForWho
Loads the OgreBot profile.
Parameter 1 Who
Parameter 2 ProfileName
-Main
-Toggles OgreBot Main window
Parameters N/A
-Mount
-Toggles mount on or off.
Parameters N/A
-Move2Area
-MoveToArea
Have specified target move directly to the XZ coordinate.
Parameter 1 X Coord
Parameter 2 Z Coord
Parameter 3 who to move
Parameter 4 Precision
-NoMove
-Sets the NoMove flag. Removed by using "LetsGo"
Parameters N/A
-NoTarget
-Clears everyone's target.
Parameters N/A
-Ofol--
OFol---
Decreases the distance of OgreFollow
Parameters N/A
-OFol++
OFol-++
Increases the distance of OgreFollow
Parameters N/A
-OgreFollow
OFol
OgreFollow.
Parameter 1 who
Parameter 1 who to follow
-Pause
- Pauses the bot
Parameters N/A
-PetOff
Forces pets to back off.
Parameters N/A
-PortalToGuild
-ToGuild
-Clicks on the portal to guild house (Generally from your house).
Parameters N/A
-Profile
-LoadProfile
Loads the OgreBot profile.
Parameter 1 ProfileName
-Raid
Fires the OnChat event for each session. Any script monitoring this event can handle it however they desire. Example: !c all -raid "set up for legatus"

Note: This does NOTE send a message into the game, it only sparks the event.

Parameter 1 Message
-RaidDebuff
Casts the DoV raid debuff on the specified target. Note: If you use ALL - everyone will cast it (not recommended).
Parameter 1 WhoToCast
Parameter 2 ID or Name of Target
-Rebuff
-Cancels all your maintained abilities that appear in your spellbook. (Note: Because it works off of your spellbook (Ability Export), it will NOT remove mounts/potions etc).
Parameters Who
-ReloadBot
-Reloads the bot ONLY if Ogrebot is active already.
Parameters N/A
-Repair
-RepairGear
-Repairs gear.
Parameters N/A
-Res
-Removes the "StopRes" flag.
Parameters N/A
-ResStone
-Casts priest res stone.
Parameters N/A
-Resume
- Resumes the bot
Parameters N/A
-Revive
-Forces toons to revive. (Note: You should die less).
Parameters N/A
-Run
-Walk
-RunWalk
-Pressed "Shift+r" to toggle run/walk.
Parameters N/A
-sleep
Puts the IRC bot to "sleep". It will only respond to the -wake command.
  • example
    •  !c Kannkor_IRCBot -sleep
Parameter 1 For who
-Special
-Clicks the nearest special. Note: This only fires if OgreBot is loaded.
Parameters N/A
-SpecialForWho
-Clicks the nearest special for toon specified. Note: This only fires if OgreBot is loaded.
Parameters ForWho
-Target
Specified Target targets the TargetName
Parameter 1 CommandForWho
Parameter 2 TargetName
-Tell
This will ONLY send the message from the "From" character, to the "To" character, with the "Message".

If the message contains the word "NULL" it will fail.
If the message fails because of a NULL, it returns an error message to IRC.
No error if the To name is typed incorrect or doesn't exist.

Parameter 1 To
Parameter 2 From
Parameter 3 Message
-Test
-Test script for Kannkor.
Parameters N/A
-unauth
Removes the IRCBotname from the auth list.
  • example
    •  !c all -unauth Kannkor_IRCBot
Parameter 1 For who
-unauthall
Removes everyone from the auth list.
Parameters N/A
-Unloadext
-Unloads ISXOgre.
Parameters N/A
-Uplinkoption
-UO
Changes various UI options in Ogrebot.

This should work for any option that does NOT require changing something in the priority tab (IE: Cure Curses, and cure pots will NOT work).
This will actually work for ANY checkbox, textentry, or commandbutton, button that is a "OBUI_" interface object (which is 99.9% of all of Ogrebot).
YOU need to look up the name of the option you want to change. You can do this by opening "ogreuixml.xml" inside of /eq2ogrebot/ folder. Navigating (yes, it's huge), and finding the name of the object you want to change.

Parameter 1 CommandForWho
Parameter 2 ObjectName
Parameter 3 NewValue
-UseFlag
-Uses the rally banner (flag).
Parameters N/A
-UseItem
Uses an item.
Parameter 1 who
Parameter 2 Item to use
-UseItemOn
Uses an item.
Parameter 1 who
Parameter 2 Item to use
Parameter 3 Who to use Item on
-wake
Takes the IRC bot out of "sleep" mode.
  • example
    •  !c Kannkor_IRCBot -wake
Parameter 1 For who
-WarMyth
-Toggles Warlock Mythical
Parameters N/A
-Zone
-Clicks the zone object if available.
Parameters N/A
-ZoneResetAll
Resets every available zone.
There is no confirmation of any sort for this button. When you press it, it resets every zone available.
Parameter 1 For Who

Not implemented

MCP Buttons not implemented at this time. Most of these require special coding, or require infinite Parameters, which isn't possible (yet).

  • Trak-HUD
  • Turt-HUD
  • RelayRunScript
  • RawCommand
  • OgreBotAtom
  • OgreBotAtomRelay
  • ExecuteAtom
  • OgreCommand