Beispiel #1
0
        private void CheckForUpdates()
        {
            // Disable updates after STealthy code release -- CT
            return;

            UpdateStealthBot();
            UpdateMissionDatabase();
            UpdateNpcBounties();
            UpdatePossibleEwarNpcNames();

            //If we updated file, relaunch stealthbot.
            if (!_wasStealthBotUpdated)
            {
                return;
            }

            var command = new StringBuilder(String.Format("TimedCommand 10 \"dotnet {0} stealthbot\"", AppDomain.CurrentDomain.FriendlyName));

            if (_args.Length > 0)
            {
                command.Append(" true");
            }

            LavishScript.ExecuteCommand(command.ToString());
        }
Beispiel #2
0
        private void UpdateStealthBot()
        {
            LavishScript.Events.AttachEventTarget("stealthbot_OnFileUpdated", _stealthBotUpdated);
            LavishScript.Events.AttachEventTarget("stealthbot_OnUpdateComplete", _stealthBotUpdateCompleted);

#if DEBUG
            LavishScript.ExecuteCommand(
                String.Format("dotnet {0} isxGamesPatcher {0} {1} http://stealthsoftware.net/software/stealthbot-test/isxGamesPatcher_StealthBot-Test.xml",
                              "StealthBot", _productVersion));
#else
            LavishScript.ExecuteCommand(
                String.Format("dotnet {0} isxGamesPatcher {0} {1} http://stealthsoftware.net/software/stealthbot/isxGamesPatcher_StealthBot.xml",
                              "StealthBot", _productVersion));
#endif

            //wait for UpdateComplete
            var sanityCounter = 300;                //5 seconds @ 60fps, 10 seconds at 30fps
            while (!_isStealthBotUpdateComplete || --sanityCounter < 0)
            {
                Frame.Wait(false);
            }

            LavishScript.Events.DetachEventTarget("stealthbot_OnFileUpdated", _stealthBotUpdated);
            LavishScript.Events.DetachEventTarget("stealthbot_OnUpdateComplete", _stealthBotUpdateCompleted);
        }
Beispiel #3
0
 private void txtComand_KeyPress(object sender, KeyPressEventArgs e)
 {
     if (e.KeyChar == (char)13)
     {
         LavishScript.ExecuteCommand(txtComand.Text);
     }
 }
Beispiel #4
0
        private void UpdateNpcBounties()
        {
            var npcBountiesPath = string.Format("{0}\\{1}", Path.Combine(Path.Combine(Path.GetDirectoryName(System.Windows.Forms.Application.ExecutablePath), "StealthBot"), "Data"), "NpcBounties.bin");

            if (File.Exists(npcBountiesPath))
            {
                var fileInfo = new FileInfo(npcBountiesPath);
                if (fileInfo.Length > 0)
                {
                    return;
                }
            }

            LavishScript.Events.AttachEventTarget("npcBounties_OnUpdateComplete", _npcBountiesUpdateCompleted);

            LavishScript.ExecuteCommand(
                String.Format("dotnet {0} isxGamesPatcher {0} {1} http://stealthsoftware.net/software/data/isxGamesPatcher_NpcBounties.xml",
                              "NpcBounties", 0));

            var sanityCounter = 300;

            while (!_isNpcBountiesUpdateCompleted || --sanityCounter < 0)
            {
                Frame.Wait(false);
            }

            LavishScript.Events.DetachEventTarget("npcBounties_OnUpdateComplete", _npcBountiesUpdateCompleted);
        }
Beispiel #5
0
        bool WaitFlee(object[] Params)
        {
            Entity WarpScrambling = Entity.All.FirstOrDefault(a => a.IsWarpScrambling);

            if ((WarpScrambling != null && WarpScrambling.GroupID != Group.EncounterSurveillanceSystem) || ValidScramble != null)
            {
                if (WarpScrambling != null)
                {
                    LavishScript.ExecuteCommand("relay \"all\" -noredirect SecurityAddScrambler " + WarpScrambling.ID);
                }
                if (AbandonAlert != null)
                {
                    Log.Log("|rAbandoning flee due to a scramble!");
                    Log.Log("|rReturning control to bot!");
                    Comms.ChatQueue.Enqueue("<Security> Flee canceled due to a new scramble!");
                    Clear();
                    QueueState(CheckSafe);
                    Move.Clear();
                    AbandonAlert();
                }
                return(false);
            }
            if (!Move.Idle || (Session.InSpace && MyShip.ToEntity.Mode == EntityMode.Warping))
            {
                return(false);
            }
            return(true);
        }
Beispiel #6
0
 /// <summary>
 /// Faces the supplied location in the XZY plane.
 /// </summary>
 /// <param name="x">x-coordinate</param>
 /// <param name="y">y-coordinate</param>
 /// <param name="z">z-coordinate</param>
 public static int Face(float x, float y, float z)
 {
     Trace.WriteLine(String.Format("Extension:Face({0}, {1}, {2})", x.ToString(CultureInfo.InvariantCulture),
                                   y.ToString(CultureInfo.InvariantCulture), z.ToString(CultureInfo.InvariantCulture)));
     return(LavishScript.ExecuteCommand(String.Format("Face {0} {1} {2}", x.ToString(CultureInfo.InvariantCulture),
                                                      y.ToString(CultureInfo.InvariantCulture), z.ToString(CultureInfo.InvariantCulture))));
 }
Beispiel #7
0
        public EventCommunications()
        {
            ModuleManager.ModulesToDispose.Add(this);
            IsEnabled  = false;
            ObjectName = "EventCommunications";

            SB_Event_Fleet_SendPickupRequestsEventHandler    = new EventHandler <Fleet_NotificationEventArgs>(HandleSendPickupRequests);
            SB_Event_Fleet_PickupRequestCompleteEventHandler = new EventHandler <Fleet_NeedPickupEventArgs>(HandlePickupRequestComplete);

            #region Register events
            LavishScript.Events.RegisterEvent(SB_Events.SB_Event_Fleet_NeedAssist.ToString());
            LavishScript.Events.RegisterEvent(SB_Events.SB_Event_Fleet_NeedPickup.ToString());
            LavishScript.Events.RegisterEvent(SB_Events.SB_Event_Fleet_WillPickup.ToString());
            LavishScript.Events.RegisterEvent(SB_Events.SB_Event_Notify_PickupRequestAcknowledged.ToString());
            LavishScript.Events.RegisterEvent(SB_Events.SB_Event_Fleet_NeedTank.ToString());
            LavishScript.Events.RegisterEvent(SB_Events.SB_Event_Fleet_TankReady.ToString());
            LavishScript.Events.RegisterEvent(SB_Events.SB_Event_Fleet_TankNotReady.ToString());
            LavishScript.Events.RegisterEvent(SB_Events.SB_Event_Info_NeedFleetSkills.ToString());
            LavishScript.Events.RegisterEvent(SB_Events.SB_Event_Info_UpdateFleetSkills.ToString());
            LavishScript.Events.RegisterEvent(SB_Events.SB_Event_Notify_AcceptFleetInvite.ToString());
            LavishScript.Events.RegisterEvent(SB_Events.SB_Event_Notify_UpdateConfigurationFile.ToString());
            LavishScript.Events.RegisterEvent(SB_Events.SB_Event_Fleet_SendPickupRequests.ToString());
            LavishScript.Events.RegisterEvent(SB_Events.SB_Event_Fleet_PickupRequestComplete.ToString());
            #endregion

            #region Attach event targets
            LavishScript.Events.AttachEventTarget(SB_Events.SB_Event_Fleet_NeedAssist.ToString(),
                                                  Handle_SB_Event_Fleet_NeedAssist);
            LavishScript.Events.AttachEventTarget(SB_Events.SB_Event_Fleet_NeedPickup.ToString(),
                                                  Handle_SB_Event_Fleet_NeedPickup);
            LavishScript.Events.AttachEventTarget(SB_Events.SB_Event_Fleet_WillPickup.ToString(),
                                                  Handle_SB_Event_Fleet_DidPickup);
            LavishScript.Events.AttachEventTarget(SB_Events.SB_Event_Notify_PickupRequestAcknowledged.ToString(),
                                                  Handle_SB_Event_Notify_AcknowledgePickupRequest);
            LavishScript.Events.AttachEventTarget(SB_Events.SB_Event_Fleet_NeedTank.ToString(),
                                                  Handle_SB_Event_Fleet_NeedTank);
            LavishScript.Events.AttachEventTarget(SB_Events.SB_Event_Fleet_TankReady.ToString(),
                                                  Handle_SB_Event_Fleet_TankReady);
            LavishScript.Events.AttachEventTarget(SB_Events.SB_Event_Fleet_TankNotReady.ToString(),
                                                  Handle_SB_Event_Fleet_TankNotReady);
            LavishScript.Events.AttachEventTarget(SB_Events.SB_Event_Info_NeedFleetSkills.ToString(),
                                                  Handle_SB_Event_Info_NeedFleetSkills);
            LavishScript.Events.AttachEventTarget(SB_Events.SB_Event_Info_UpdateFleetSkills.ToString(),
                                                  Handle_SB_Event_Info_UpdateFleetSkills);
            LavishScript.Events.AttachEventTarget(SB_Events.SB_Event_Notify_AcceptFleetInvite.ToString(),
                                                  Handle_SB_Event_Notify_AcceptFleetInvite);
            LavishScript.Events.AttachEventTarget(SB_Events.SB_Event_Notify_UpdateConfigurationFile.ToString(),
                                                  Handle_SB_Event_Notify_UpdateConfigurationFile);
            LavishScript.Events.AttachEventTarget(SB_Events.SB_Event_Fleet_SendPickupRequests.ToString(),
                                                  Handle_SB_Event_Fleet_SendPickupRequests);
            LavishScript.Events.AttachEventTarget(SB_Events.SB_Event_Fleet_PickupRequestComplete.ToString(),
                                                  Handle_SB_Event_Fleet_PickupRequestComplete);
            #endregion

            //Join the stealthbot relay group
            LavishScript.ExecuteCommand(String.Format("Uplink RelayGroup -join {0}", RelayGroup));
            //Core.StealthBot.Logging.LogMessage(ObjectName, new LogEventArgs(LogSeverityTypes.Debug,
            //    "Ctor", String.Format("Joined RelayGroup {0}", RelayGroup)));
        }
Beispiel #8
0
 /// <summary>
 /// Used to issue commands to the Radar. Custom radar name is
 /// not used for on and off and is optional for zoomin and zoomout
 /// </summary>
 /// <param name="command">command</param>
 /// <param name="name">custom radar name</param>
 public static int Radar(RadarCommand command, string name = null)
 {
     Trace.WriteLine((name == null) ? String.Format("Extension:Radar({0})", command.ToString().ToLower())
         : String.Format("Extension:Radar({0}, {1})", command, name));
     return
         (LavishScript.ExecuteCommand((name == null) ? String.Format("Radar {0}", command.ToString().ToLower())
         : String.Format("Radar {0} {1}", name, command.ToString().ToLower())));
 }
Beispiel #9
0
        private void SendEvent(string eventData)
        {
            var eventString = String.Format("relay \"{0}{1}\" \"Event[{2}]:Execute[{3}]\"",
                                            _onlySendToOthers ? "other " : "", _relayGroup, _lsEventName, eventData);

            _logging.LogTrace(this, _lsEventName, "Sending event. Command: {0}", eventString);
            LavishScript.ExecuteCommand(eventString);
        }
Beispiel #10
0
        private static bool IsMinimumIsxeveVersionLoaded()
        {
            string isxeveVersion = null;

            try
            {
                LavishScript.DataParse("${ISXEVE.Version}", ref isxeveVersion);
            }
            catch (Exception)
            {
                isxeveVersion = null;
            }

            if (string.IsNullOrEmpty(isxeveVersion))
            {
                return(false);
            }

            var fragments = isxeveVersion.Split('.');

            if (fragments.Length != 2)
            {
                return(false);
            }

            var dateString    = fragments[0];
            var versionString = fragments[1];

            DateTime?date;

            try
            {
                date = DateTime.ParseExact(dateString, "yyyyMMdd", null);
            }
            catch (FormatException)
            {
                return(false);
            }

            int version;

            if (!int.TryParse(versionString, out version))
            {
                return(false);
            }

            if (date > _minimumIsxeveVersionDate)
            {
                return(true);
            }

            if (date == _minimumIsxeveVersionDate && version >= _minimumIsxeveVersionBuild)
            {
                return(true);
            }

            return(false);
        }
Beispiel #11
0
 /// <summary>
 /// Echoes a message directly to your chat window(s).
 /// </summary>
 /// <param name="message">message</param>
 /// <param name="type">chat type</param>
 /// <returns></returns>
 public static int EQ2Echo(string message, ChatType type = ChatType.None)
 {
     Trace.WriteLine((type != ChatType.None) ? String.Format("Extension:EQ2Echo({0}, {1})", message, type)
         : String.Format("Extension:EQ2Echo({0})", message));
     return
         (LavishScript.ExecuteCommand((type != ChatType.None) ?
                                      String.Format("EQ2Echo {0} -chattype {1}", message, type.ToString().ToLower())
         : String.Format("EQ2Echo {0}", message)));
 }
Beispiel #12
0
 bool Control(object[] Params)
 {
     if (!Session.InSpace || !Session.Safe)
     {
         return(false);
     }
     LavishScript.ExecuteCommand(string.Format("relay \"all other\" Event[UpdateIPCPilots]:Execute[{0},{1},{2},{3},{4}]", Me.CharID, MyShip.ToEntity.HullPct, MyShip.ToEntity.ArmorPct, MyShip.ToEntity.ShieldPct, MyShip.Capacitor / MyShip.MaxCapacitor));
     return(false);
 }
Beispiel #13
0
        /// <summary>
        /// Signal to listeners that we are a tank that is in position.
        /// </summary>
        /// <param name="sendingFleetMemberID"></param>
        /// <param name="solarSystemID"></param>
        public void Send_SB_Event_Fleet_TankReady(Int64 sendingFleetMemberID, int solarSystemID)
        {
            var methodName = "Send_Fleet_TankReady";

            LogTrace(methodName);

            var eventString = String.Format("relay \"other {0}\" \"Event[{1}]:Execute[{2},{3}]\"",
                                            RelayGroup, SB_Events.SB_Event_Fleet_TankReady.ToString(), sendingFleetMemberID, solarSystemID);

            LogMessage(methodName, LogSeverityTypes.Debug, "Sending {0}", eventString);
            LavishScript.ExecuteCommand(eventString);
        }
Beispiel #14
0
        private static bool IsIsxeveLoaded()
        {
            var isxEveLoaded = false;

            try
            {
                LavishScript.DataParse("${ISXEVE(exists)}", ref isxEveLoaded);
            }
            catch { }

            return(isxEveLoaded);
        }
        /************************************************************************************/
        private static void OnFrame_EventHandler(object sender, LSEventArgs e)
        {
            if (!string.IsNullOrEmpty(s_strNewWindowTitle))
            {
                string strCommand = string.Format("windowtext {0}", s_strNewWindowTitle);

                using (new FrameLock(true))
                    LavishScript.ExecuteCommand(strCommand);

                s_strNewWindowTitle = null;
            }
            return;
        }
Beispiel #16
0
        /// <summary>
        /// Signal to listeners that we are a tank that is in position.
        /// </summary>
        /// <param name="sendingFleetMemberID"></param>
        /// <param name="solarSystemID"></param>
        public void Send_SB_Event_Fleet_TankReady(int sendingFleetMemberID, int solarSystemID)
        {
            string methodName = "Send_Fleet_TankReady";

            Core.StealthBot.Logging.OnLogMessage(ObjectName, new LogEventArgs(LogSeverityTypes.Trace,
                                                                              methodName, string.Empty));
            string eventString = String.Format("relay \"other {0}\" \"Event[{1}]:Execute[{2},{3}]\"",
                                               RelayGroup, SB_Events.SB_Event_Fleet_TankReady.ToString(), sendingFleetMemberID, solarSystemID);

            Core.StealthBot.Logging.OnLogMessage(ObjectName, new LogEventArgs(LogSeverityTypes.Debug,
                                                                              methodName, String.Format("Sending {0}", eventString)));
            LavishScript.ExecuteCommand(eventString);
        }
Beispiel #17
0
        /// <summary>
        /// Signal listeners that we need a fleet tank at a given location.
        /// </summary>
        /// <param name="sendingFleetMemberID"></param>
        /// <param name="solarSystemID"></param>
        /// <param name="isBookMark"></param>
        /// <param name="destination"></param>
        public void Send_SB_Event_Fleet_NeedTank(Int64 sendingFleetMemberID, int solarSystemID, bool isBookMark,
                                                 object destination)
        {
            var methodName = "Send_Fleet_NeedTank";

            LogTrace(methodName);

            var eventString = String.Format("relay \"other {0}\" \"Event[{1}]:Execute[{2},{3},{4},{5}]\"",
                                            RelayGroup, SB_Events.SB_Event_Fleet_NeedTank, sendingFleetMemberID, solarSystemID, isBookMark, destination);

            LogMessage(methodName, LogSeverityTypes.Debug, "Sending {0}", eventString);
            LavishScript.ExecuteCommand(eventString);
        }
Beispiel #18
0
        /// <summary>
        /// Signal to listeners that we will pickup a specific can.
        /// </summary>
        /// <param name="sendingFleetMemberID"></param>
        /// <param name="solarSystemID"></param>
        /// <param name="targetCanEntityID"></param>
        /// <param name="sendingFleetMemberEntityID"></param>
        public void Send_SB_Event_Fleet_WillPickup(Int64 sendingFleetMemberID, int solarSystemID, Int64 targetCanEntityID, Int64 sendingFleetMemberEntityID, string sendingFleetMemberName)
        {
            var methodName = "Send_Fleet_WillPickup";

            LogTrace(methodName);

            var eventString = String.Format("relay \"other {0}\" \"Event[{1}]:Execute[{2},{3},{4},{5},{6}]\"",
                                            RelayGroup, SB_Events.SB_Event_Fleet_WillPickup.ToString(), sendingFleetMemberID.ToString(),
                                            solarSystemID.ToString(), targetCanEntityID.ToString(), sendingFleetMemberEntityID.ToString(), sendingFleetMemberName);

            LogMessage(methodName, LogSeverityTypes.Debug, "Sending {0}", eventString);
            LavishScript.ExecuteCommand(eventString);
        }
Beispiel #19
0
        /// <summary>
        /// Signal to listeners that a pickup request is complete.
        /// </summary>
        /// <param name="e"></param>
        public void Send_SB_Event_Fleet_PickupRequestComplete(Fleet_NeedPickupEventArgs e)
        {
            var methodName = "Send_Fleet_PickupRequesetComplete";

            LogTrace(methodName);

            var eventString = String.Format("relay \"other {0}\" \"Event[{1}]:Execute[{2},{3},{4},{5},{6}]\"",
                                            RelayGroup, SB_Events.SB_Event_Fleet_PickupRequestComplete.ToString(), e.SendingFleetMemberID, e.SolarSystemID,
                                            e.TargetCanEntityID, e.SendingFleetMemberEntityID, e.SendingFleetMemberName);

            LogMessage(methodName, LogSeverityTypes.Debug, "Sending {0}", eventString);
            LavishScript.ExecuteCommand(eventString);
        }
Beispiel #20
0
        /// <summary>
        /// Signal to listeners that they should accept a fleet invite from the sender.
        /// </summary>
        /// <param name="sendingFleetMemberID"></param>
        /// <param name="solarSystemID"></param>
        /// <param name="invitedBy"></param>
        public void Send_SB_Event_Notify_AcceptFleetInvite(Int64 sendingFleetMemberID, int solarSystemID, string invitedBy)
        {
            var methodName = "Send_Notify_AcceptFleetInvite";

            LogTrace(methodName);

            var eventString = String.Format("relay \"other {0}\" \"Event[{1}]:Execute[{2},{3},{4}]\"",
                                            RelayGroup, SB_Events.SB_Event_Notify_AcceptFleetInvite.ToString(),
                                            sendingFleetMemberID, solarSystemID, invitedBy);

            LogMessage(methodName, LogSeverityTypes.Debug, "Sending {0}", eventString);
            LavishScript.ExecuteCommand(eventString);
        }
Beispiel #21
0
        /// <summary>
        /// Signal to listeners that they need to update a configuration file reference.
        /// </summary>
        /// <param name="oldFileName"></param>
        /// <param name="newFileName"></param>
        public void Send_SB_Event_Notify_UpdateConfigurationFile(string oldFileName, string newFileName)
        {
            var methodName = "Send_Notify_UpdateConfigurationFile";

            LogTrace(methodName);

            var eventString = String.Format("relay \"other {0}\" \"Event[{1}]:Execute[{2},{3},{4}]\"",
                                            RelayGroup, SB_Events.SB_Event_Notify_UpdateConfigurationFile.ToString(),
                                            StealthBot.ModuleManager.UplinkName, oldFileName, newFileName);

            LogMessage(methodName, LogSeverityTypes.Debug, "Sending {0}", eventString);
            LavishScript.ExecuteCommand(eventString);
        }
Beispiel #22
0
        /// <summary>
        /// Signal to listeners that they should accept a fleet invite from the sender.
        /// </summary>
        /// <param name="sendingFleetMemberID"></param>
        /// <param name="solarSystemID"></param>
        /// <param name="invitedBy"></param>
        public void Send_SB_Event_Notify_AcceptFleetInvite(int sendingFleetMemberID, int solarSystemID, string invitedBy)
        {
            string methodName = "Send_Notify_AcceptFleetInvite";

            Core.StealthBot.Logging.OnLogMessage(ObjectName, new LogEventArgs(LogSeverityTypes.Trace,
                                                                              methodName, string.Empty));
            string eventString = String.Format("relay \"other {0}\" \"Event[{1}]:Execute[{2},{3},{4}]\"",
                                               RelayGroup, SB_Events.SB_Event_Notify_AcceptFleetInvite.ToString(),
                                               sendingFleetMemberID, solarSystemID, invitedBy);

            Core.StealthBot.Logging.OnLogMessage(ObjectName, new LogEventArgs(LogSeverityTypes.Minor,
                                                                              methodName, String.Format("Sending {0}", eventString)));
            LavishScript.ExecuteCommand(eventString);
        }
Beispiel #23
0
        /// <summary>
        /// Signal to listeners that we will pickup a specific can.
        /// </summary>
        /// <param name="sendingFleetMemberID"></param>
        /// <param name="solarSystemID"></param>
        /// <param name="targetCanEntityID"></param>
        /// <param name="sendingFleetMemberEntityID"></param>
        public void Send_SB_Event_Fleet_WillPickup(int sendingFleetMemberID, int solarSystemID, int targetCanEntityID, int sendingFleetMemberEntityID, string sendingFleetMemberName)
        {
            string methodName = "Send_Fleet_WillPickup";

            Core.StealthBot.Logging.OnLogMessage(ObjectName, new LogEventArgs(LogSeverityTypes.Trace,
                                                                              methodName, string.Empty));
            string eventString = String.Format("relay \"other {0}\" \"Event[{1}]:Execute[{2},{3},{4},{5},{6}]\"",
                                               RelayGroup, SB_Events.SB_Event_Fleet_WillPickup.ToString(), sendingFleetMemberID.ToString(),
                                               solarSystemID.ToString(), targetCanEntityID.ToString(), sendingFleetMemberEntityID.ToString(), sendingFleetMemberName);

            Core.StealthBot.Logging.OnLogMessage(ObjectName, new LogEventArgs(LogSeverityTypes.Minor,
                                                                              methodName, String.Format("Sending {0}", eventString)));
            LavishScript.ExecuteCommand(eventString);
        }
Beispiel #24
0
 protected void DowntimeExitAndRelaunch()
 {
     Core.StealthBot.Instance.IsEnabled = false;
     if (Core.StealthBot.Config.MainConfig.RelaunchAfterDowntime)
     {
         LavishScriptAPI.LavishScript.ExecuteCommand(
             String.Format("relay {0} \"TimedCommand 54000 run isboxer -launch \"{1}\"\"",
                           "${SettingXML[InnerSpace.XML].Set[Remote].GetString[Name].Escape}",
                           Core.StealthBot.Config.MainConfig.CharacterSetToRelaunch));
     }
     LavishScript.ExecuteCommand(
         "uplink TimedCommand 200 kill ${Session}");
     Core.StealthBot.OnSaveAndExit(this);
 }
        public void RelayAll(string Command, params string[] Args)
        {
            string msg = "relay \"all other\" Event[UpdateGroupControl]:Execute[" + Command;

            if (Args != null)
            {
                foreach (string arg in Args)
                {
                    msg = msg + ",\"" + arg + "\"";
                }
            }
            msg = msg + "]";
            LavishScript.ExecuteCommand(msg);
        }
Beispiel #26
0
        /// <summary>
        /// Signal listeners that we need a fleet tank at a given location.
        /// </summary>
        /// <param name="sendingFleetMemberID"></param>
        /// <param name="solarSystemID"></param>
        /// <param name="isBookMark"></param>
        /// <param name="destination"></param>
        public void Send_SB_Event_Fleet_NeedTank(int sendingFleetMemberID, int solarSystemID, bool isBookMark,
                                                 object destination)
        {
            string methodName = "Send_Fleet_NeedTank";

            Core.StealthBot.Logging.OnLogMessage(ObjectName, new LogEventArgs(LogSeverityTypes.Trace,
                                                                              methodName, string.Empty));
            string eventString = String.Format("relay \"other {0}\" \"Event[{1}]:Execute[{2},{3},{4},{5}]\"",
                                               RelayGroup, SB_Events.SB_Event_Fleet_NeedTank.ToString(),
                                               sendingFleetMemberID.ToString(), solarSystemID.ToString(), isBookMark.ToString(), destination.ToString());

            Core.StealthBot.Logging.OnLogMessage(ObjectName, new LogEventArgs(LogSeverityTypes.Debug,
                                                                              methodName, string.Format("Sending {0}", eventString)));
            LavishScript.ExecuteCommand(eventString);
        }
Beispiel #27
0
        protected void ExitAndRelaunch()
        {
            StealthBot.Instance.IsEnabled = false;
            if (StealthBot.Config.MaxRuntimeConfig.UseRelaunching)
            {
                LavishScript.ExecuteCommand(
                    String.Format("relay {0} \"TimedCommand 600 run isboxer -launch \"{1}\"\"",
                                  "${SettingXML[InnerSpace.XML].Set[Remote].GetString[Name].Escape}",
                                  StealthBot.Config.MaxRuntimeConfig.CharacterSetToRelaunch));
            }

            //This code might not be correct, but the idea is. We want to exit after 5 seconds so we don't undock forever, which is going to get things blown up in low/nullsec.
            LavishScript.ExecuteCommand("uplink TimedCommand 200 kill ${Session}");
            StealthBot.OnSaveAndExit(this);
        }
Beispiel #28
0
        /// <summary>
        /// Signal to listeners what our fleet skills are.
        /// </summary>
        /// <param name="sendingFleetMemberID"></param>
        /// <param name="solarSystemID"></param>
        /// <param name="inBoostShip"></param>
        /// <param name="leadership"></param>
        /// <param name="wingCommand"></param>
        /// <param name="fleetCommand"></param>
        /// <param name="miningDirector"></param>
        /// <param name="miningForeman"></param>
        /// <param name="armoredWarfare"></param>
        /// <param name="skirmishWarfare"></param>
        /// <param name="informationWarfare"></param>
        /// <param name="siegeWarfare"></param>
        /// <param name="warfareLinkSpecialist"></param>
        public void Send_SB_Event_Info_UpdateFleetSkills(Int64 sendingFleetMemberID, int solarSystemID, int inBoostShip, int leadership,
                                                         int wingCommand, int fleetCommand, int miningDirector, int miningForeman, int armoredWarfare,
                                                         int skirmishWarfare, int informationWarfare, int siegeWarfare, int warfareLinkSpecialist)
        {
            var methodName = "Send_UpdateFleetSkills";

            LogTrace(methodName);

            var eventString = String.Format("relay \"{0}\" \"Event[{1}]:Execute[{2},{3},{4},{5},{6},{7},{8},{9},{10},{11},{12},{13},{14}]\"",
                                            RelayGroup, SB_Events.SB_Event_Info_UpdateFleetSkills.ToString(),
                                            sendingFleetMemberID, solarSystemID, inBoostShip, leadership, wingCommand, fleetCommand, miningDirector,
                                            miningForeman, armoredWarfare, skirmishWarfare, informationWarfare, siegeWarfare, warfareLinkSpecialist);

            LogMessage(methodName, LogSeverityTypes.Debug, "Sending {0}", eventString);
            LavishScript.ExecuteCommand(eventString);
        }
Beispiel #29
0
        /// <summary>
        /// Signal to listeners what our fleet skills are.
        /// </summary>
        /// <param name="sendingFleetMemberID"></param>
        /// <param name="solarSystemID"></param>
        /// <param name="inBoostShip"></param>
        /// <param name="leadership"></param>
        /// <param name="wingCommand"></param>
        /// <param name="fleetCommand"></param>
        /// <param name="miningDirector"></param>
        /// <param name="miningForeman"></param>
        /// <param name="armoredWarfare"></param>
        /// <param name="skirmishWarfare"></param>
        /// <param name="informationWarfare"></param>
        /// <param name="siegeWarfare"></param>
        /// <param name="warfareLinkSpecialist"></param>
        public void Send_SB_Event_Info_UpdateFleetSkills(int sendingFleetMemberID, int solarSystemID, int inBoostShip, int leadership,
                                                         int wingCommand, int fleetCommand, int miningDirector, int miningForeman, int armoredWarfare,
                                                         int skirmishWarfare, int informationWarfare, int siegeWarfare, int warfareLinkSpecialist)
        {
            string methodName = "Send_UpdateFleetSkills";

            Core.StealthBot.Logging.OnLogMessage(ObjectName, new LogEventArgs(LogSeverityTypes.Trace,
                                                                              methodName, string.Empty));
            string eventString = String.Format("relay \"{0}\" \"Event[{1}]:Execute[{2},{3},{4},{5},{6},{7},{8},{9},{10},{11},{12},{13},{14}]\"",
                                               RelayGroup, SB_Events.SB_Event_Info_UpdateFleetSkills.ToString(),
                                               sendingFleetMemberID, solarSystemID, inBoostShip, leadership, wingCommand, fleetCommand, miningDirector,
                                               miningForeman, armoredWarfare, skirmishWarfare, informationWarfare, siegeWarfare, warfareLinkSpecialist);

            Core.StealthBot.Logging.OnLogMessage(ObjectName, new LogEventArgs(LogSeverityTypes.Minor,
                                                                              methodName, String.Format("Sending {0}", eventString)));
            LavishScript.ExecuteCommand(eventString);
        }
Beispiel #30
0
        public EventCommunications() : base()
        {
            IsEnabled  = false;
            ObjectName = "EventCommunications";

            //Register the events we'll be using
            LavishScript.Events.RegisterEvent(SB_Events.SB_Event_Fleet_NeedAssist.ToString());
            LavishScript.Events.RegisterEvent(SB_Events.SB_Event_Fleet_NeedPickup.ToString());
            LavishScript.Events.RegisterEvent(SB_Events.SB_Event_Fleet_WillPickup.ToString());
            LavishScript.Events.RegisterEvent(SB_Events.SB_Event_Notify_PickupRequestAcknowledged.ToString());
            LavishScript.Events.RegisterEvent(SB_Events.SB_Event_Fleet_NeedTank.ToString());
            LavishScript.Events.RegisterEvent(SB_Events.SB_Event_Fleet_TankReady.ToString());
            LavishScript.Events.RegisterEvent(SB_Events.SB_Event_Fleet_TankNotReady.ToString());
            LavishScript.Events.RegisterEvent(SB_Events.SB_Event_Info_NeedFleetSkills.ToString());
            LavishScript.Events.RegisterEvent(SB_Events.SB_Event_Info_UpdateFleetSkills.ToString());
            LavishScript.Events.RegisterEvent(SB_Events.SB_Event_Notify_AcceptFleetInvite.ToString());
            LavishScript.Events.RegisterEvent(SB_Events.SB_Event_Notify_UpdateConfigurationFile.ToString());

            LavishScript.Events.AttachEventTarget(SB_Events.SB_Event_Fleet_NeedAssist.ToString(),
                                                  _handle_SB_Event_Fleet_NeedAssist);
            LavishScript.Events.AttachEventTarget(SB_Events.SB_Event_Fleet_NeedPickup.ToString(),
                                                  _handle_SB_Event_Fleet_NeedPickup);
            LavishScript.Events.AttachEventTarget(SB_Events.SB_Event_Fleet_WillPickup.ToString(),
                                                  _handle_SB_Event_Fleet_DidPickup);
            LavishScript.Events.AttachEventTarget(SB_Events.SB_Event_Notify_PickupRequestAcknowledged.ToString(),
                                                  _handle_SB_Event_Notify_AcknowledgePickupRequest);
            LavishScript.Events.AttachEventTarget(SB_Events.SB_Event_Fleet_NeedTank.ToString(),
                                                  _handle_SB_Event_Fleet_NeedTank);
            LavishScript.Events.AttachEventTarget(SB_Events.SB_Event_Fleet_TankReady.ToString(),
                                                  _handle_SB_Event_Fleet_TankReady);
            LavishScript.Events.AttachEventTarget(SB_Events.SB_Event_Fleet_TankNotReady.ToString(),
                                                  _handle_SB_Event_Fleet_TankNotReady);
            LavishScript.Events.AttachEventTarget(SB_Events.SB_Event_Info_NeedFleetSkills.ToString(),
                                                  _handle_SB_Event_Info_NeedFleetSkills);
            LavishScript.Events.AttachEventTarget(SB_Events.SB_Event_Info_UpdateFleetSkills.ToString(),
                                                  _handle_SB_Event_Info_UpdateFleetSkills);
            LavishScript.Events.AttachEventTarget(SB_Events.SB_Event_Notify_AcceptFleetInvite.ToString(),
                                                  _handle_SB_Event_Notify_AcceptFleetInvite);
            LavishScript.Events.AttachEventTarget(SB_Events.SB_Event_Notify_UpdateConfigurationFile.ToString(),
                                                  _handle_SB_Event_Notify_UpdateConfigurationFile);

            //Join the stealthbot relay group
            LavishScript.ExecuteCommand(String.Format("Uplink RelayGroup -join {0}", RelayGroup));
            //Core.StealthBot.Logging.OnLogMessage(ObjectName, new LogEventArgs(LogSeverityTypes.Debug,
            //    "Ctor", String.Format("Joined RelayGroup {0}", RelayGroup)));
        }