OgreIRC:OgreIRC

From ISXOgre
Revision as of 19:09, 11 April 2013 by Eq2bob (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.
    • It must be updated (load the extension once).
    • 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).
  • Data.xml
    • Rename the file: scripts/OgreIRC/bak.data.xml to data.xml (remove the bak.)
    • Edit this file.
      • 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.
  • 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".

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 interpted 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.
  • Commands. Note, majority of these are identical to how their MCP counterpart works.
    • -auth [IRCBotName]
      • 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.
      • -auth Kannkor_IRCBot
    • -unauth [IRCBotName]
      • Removes the IRCBotname from the auth list.
      • -unauth Kannkor_IRCBot
    • -unauthall
      • Removes everyone from the auth list.
    • -authlist
      • Lists everyone on the auth list.
    • -sleep - Puts the IRC bot to "sleep". It will only respond to the -wake command.
      •  !c Kannkor_IRCBot -sleep Will make Kannkor_IRCBot ignore all future commands until -wake is given
    • -wake - Takes the IRC bot out of "sleep" mode.
      •  !c Kannkor_IRCBot -wake Will remove the -sleep mode
    • -available | -a [toonname] - Checks to see if a toon is logged in.
    • -LetsGo [CommandForWho] - Does a "LetsGo" for the specified target
    • -Holdup [CommandForWho] - Does a "HoldUp" for the specified target
    • -OgreFollow | OFol [CommandForWho] [WhoToFollow] - OgreFollow.
    • -Ofol-- | OFol--- -Decreases the distance of OgreFollow
    • -OFol++ | OFol-++ -Increases the distance of OgreFollow
    • -campspot | -cs [CommandForWho] - Sets campspot for the specified target
    • -CS-JO-JI [CommandForWho] [WhoShouldJoustOff] - CampSpot -JoustOff-JoustIn (Same as MCP -CS-JO-JI)
    • -Jst-out | -joustout [CommandForWho] - JoustOut for the specified target
    • -Jst-off | -joustoff [CommandForWho] - JoustOff for the specified target
    • -jst-in | -joustin [CommandForWho] - JoustIn for the specified target
    • -Pause - Pauses the bot
    • -Resume - Resumes the bot
    • -Cast [CommandForWho] [SpellToCast] -Casts a spell. Remember to quote SpellToCast!!!
    • -CastOn [CommandForWho] [SpellToCast] [WhoToCastSpellOn] -Casts a spell. Remember to quote SpellToCast!!!
    • -UseItem [CommandForWho] [ItemToUse] -Uses an item. Remember to quote ItemToUse!!!
    • -UseItemOn [CommandForWho] [ItemToUse] [WhoToUseItemOn] -Uses an item. Remember to quote ItemToUse!!!
    • -ImmRes [HowManyDeadToCast] - Use Clerics Immaculate Ressurection.
    • -FFollow | -F-Follow - Forces Auto-Follow to turn on.
    • -PetOff - Forces pets to back off.
    • -Evac -Cast Evacuate on any toon that has one.
    • -Come2Me | -ComeToMe [PersonToMoveToo] [CommandForWho] [Precision] -Have specified target move directly to you.
    • -Move2Area | -MoveToArea [XCord] [ZCord] [CommandForWho] [Precision] -Have specified target move directly to the XZ coordinate.
    • -Res -Removes the "StopRes" flag.
    • -StopRes -Sets the "StopRes" flag so no res abilities can be cast until the "Res" command is given.
    • -Revive -Forces toons to revive. (Note: You should die less).
    • -NoTarget -Clears everyones target.
    • -NoMove -Sets the NoMove flag. Removed by using "LetsGo"
    • -Test -Test script for Kannkor.
    • -WarMyth -Toggles Warlock Mythical
    • -Repair | -RepairGear -Repairs gear.
    • -GetFlag -Gets a rally banner (flag).
    • -UseFlag -Uses the rally banner (flag).
    • -CallGH -Calls to GH
    • -ClsWdw -Closes the most recently opened in-game window.
    • -Mount -Toggles mount on or off.
    • -Zone -Clicks the zone object if available.
    • -Door | -DoorX [Door#] -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.
    • -Special -Clicks the nearest special. Note: This only fires if OgreBot is loaded.
    • -Run | -Walk | -RunWalk -Pressed "Shift+r" to toggle run/walk.
    • -AReward | -AcceptReward -Accepts a quest reward. Note: Only works if there is NOT an item choice.
    • -Profile | -LoadProfile [ProfileName] -Loads the OgreBot profile.
    • -Main -Toggles OgreBot Main window
    • -ResStone -Casts priest res stone.
    • -Jump -Relays press space (default jump).
    • -Disband -Disbands everyone from their group/raid.
    • -AutoRun -Presses the OgreBotAutoRunKey found in eq2chars (default is num lock).
    • -LoadBot -Loads the bot on all sessions.
    • -ReloadBot -Reloads the bot ONLY if Ogrebot is active already.
    • -DevBot -Loads the dev bot on all sessions.
    • -EndBot -Ends ogrebot on all sessions.
    • -Camp -Any session running ogrebot will camp to desktop.
    • -LoadExt -loads isxogre.
    • -Unloadext -Unloads isxogre.
    • -Connect -Runs the connect uplink script.
    • -Disconnect -Runs the disconnect uplink script.
    • -Assist | -Ass [PersonToAssist] [CommandForWho] -Changes assist
    • -ChangeCampSpot | -ChangeCS | -CCS [XCord] [YCord] [ZCord] -Changes campspot.
    • -ApplyVerb [ActorID] [Verb] -For right clicking on actors and selecting an option. Verb IS CASE SENSITIVE!!!
    • -EndScript [ScriptName] -Relays endscript.
    • -PortalToGuild | -ToGuild -Clicks on the portal to guild house (Generally from your house).
    • -Target [CommandForWho] [TargetName] -Specified Target targets the TargetName
    • -CancelMaintained [AbilityName] -Cancels an ability with the specified name.
    • -Raid [Message] -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.
    • -Group [Message] -Same as raid, but passes the message with chattype group instead of raid.
    • -Tell [From] [To] [Message] -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.
    • -RaidDebuff [WhoToCast] [IDOrNameOfTarget] - Casts the DoV raid debuff on the specified target. Note: If you use ALL - everyone will cast it (not recommended).
    • -Uplinkoption (or UO) [CommandForWho] [ObjectName] [NewValue] - Changes various UI options in Ogrebot.
      • Changes an option on the "Show Uplink". 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.
    • FlyUp
      • Presses "Home" (fly/swim up). Pressing it a second time does NOT TOGGLE it.
    • FlyDown
      • Presses "End" (fly/swim down). Pressing it a second time does NOT TOGGLE it.
    • FlyStop
      • Releases both Home and End.
    • LoadAutoTargetList (or LATL) that accepts 2 parameters
      • Parameter1: Listname
      • Parameter2: Who should load the list
  • MCP Buttons not implemented at this time. Most of these require special coding, or require infinite Parameters, which isn't possible (yet).
    • ZoneReset
    • Trak-HUD
    • Turt-HUD
    • RelayRunScript
    • RawCommand
    • OgreBotAtom
    • OgreBotAtomRelay
    • ExecuteAtom
    • OgreCommand