├── .gitignore ├── Branches ├── Dev │ ├── Behaviors │ │ ├── Testcases │ │ │ └── obj_BeltRunner.iss │ │ ├── obj_Courier.iss │ │ ├── obj_Freighter.iss │ │ ├── obj_Miner.iss │ │ ├── obj_MinerHauler.iss │ │ ├── obj_Missioneer.iss │ │ ├── obj_Ratter.iss │ │ ├── obj_Scavenger.iss │ │ └── obj_StealthHauler.iss │ ├── Data │ │ ├── EVEDB_Items.sql │ │ ├── EVEDB_Items.xml │ │ ├── EVEDB_Items_As_Attributes.sql │ │ ├── EVEDB_Spawns.xml │ │ ├── EVEDB_StationID.xml │ │ ├── EVEDB_Stations.xml │ │ └── Mission Database.xml │ ├── Docs │ │ ├── changelog.html │ │ ├── changelog.txt │ │ └── svn2html.css │ ├── EVEBot.iss │ ├── Threads │ │ ├── Defense.iss │ │ ├── EVEDatabase.iss │ │ ├── Navigator.iss │ │ ├── NonCombat.iss │ │ ├── Offense.iss │ │ └── Targeting.iss │ ├── config │ │ └── Examples │ │ │ ├── Launcher_Example.xml │ │ │ ├── Sample User Agents.xml │ │ │ ├── Sample User Market.xml │ │ │ └── Sample User Mission Blacklist.xml │ ├── core │ │ ├── Lib │ │ │ ├── UplinkManager │ │ │ │ └── obj_UplinkManager.iss │ │ │ ├── obj_BaseClass.iss │ │ │ ├── obj_LSGUI.iss │ │ │ ├── obj_Mutex.iss │ │ │ ├── obj_Sound.iss │ │ │ └── obj_Vector.iss │ │ ├── defines.iss │ │ ├── obj_Agents.iss │ │ ├── obj_Assets.iss │ │ ├── obj_Asteroids.iss │ │ ├── obj_Autopilot.iss │ │ ├── obj_BeltBookmarks.iss │ │ ├── obj_Belts.iss │ │ ├── obj_Bookmark.iss │ │ ├── obj_Callback.iss │ │ ├── obj_Cargo.iss │ │ ├── obj_Configuration.iss │ │ ├── obj_Drones.iss │ │ ├── obj_EVEBot.iss │ │ ├── obj_EVEBotUI.iss │ │ ├── obj_EVEDB.iss │ │ ├── obj_EntityCache.iss │ │ ├── obj_Fleet.iss │ │ ├── obj_FleetManager.iss │ │ ├── obj_IRC.iss │ │ ├── obj_JetCan.iss │ │ ├── obj_Logger.iss │ │ ├── obj_Market.iss │ │ ├── obj_MissionCombat.iss │ │ ├── obj_MissionCombatConfig.iss │ │ ├── obj_MissionCommands.iss │ │ ├── obj_MissionParser.iss │ │ ├── obj_Missions.iss │ │ ├── obj_Safespots.iss │ │ ├── obj_Ship.iss │ │ ├── obj_Skills.iss │ │ ├── obj_Social.iss │ │ ├── obj_Station.iss │ │ ├── obj_Targets.iss │ │ └── obj_TempBookmarks.iss │ ├── interface │ │ ├── EVEBot.xml │ │ ├── EVESkin.xml │ │ └── Images │ │ │ ├── EVESkin.png │ │ │ ├── checkboxtexture.png │ │ │ ├── checkboxtexturechecked.png │ │ │ ├── checkboxtexturecheckedhover.png │ │ │ ├── checkboxtexturehover.png │ │ │ └── checkboxtexturepressed.png │ └── sounds │ │ ├── alarm.wav │ │ ├── death.wav │ │ ├── detect.wav │ │ ├── level.wav │ │ ├── taps.wav │ │ ├── tell.wav │ │ └── warning.wav └── Stable │ ├── Behaviors │ ├── obj_AnomRatter.iss │ ├── obj_Courier.iss │ ├── obj_Freighter.iss │ ├── obj_Guardian.iss │ ├── obj_Hauler.iss │ ├── obj_Miner.iss │ ├── obj_Missioneer.iss │ ├── obj_Orca.iss │ ├── obj_Ratter.iss │ ├── obj_Scavenger.iss │ └── obj_StealthHauler.iss │ ├── Data │ ├── EVEDB_Items.sql │ ├── EVEDB_Items.xml │ ├── EVEDB_Items_As_Attributes.sql │ ├── EVEDB_Spawns.xml │ ├── EVEDB_StationID.xml │ ├── EVEDB_Stations.xml │ └── Mission Database.xml │ ├── Docs │ ├── changelog.html │ ├── changelog.txt │ └── svn2html.css │ ├── EVEBot.iss │ ├── Launcher.iss │ ├── Lib │ ├── UplinkManager │ │ └── obj_UplinkManager.iss │ ├── obj_BaseClass.iss │ ├── obj_LSGUI.iss │ ├── obj_Mutex.iss │ └── obj_Vector.iss │ ├── Threads │ ├── Defense_Drone.iss │ └── Navigator.iss │ ├── config │ ├── EVEDB_Items.xml │ ├── EVEDB_Stations.xml │ ├── Launcher_example.xml │ └── Sample User Agents.xml │ ├── core │ ├── defines.iss │ ├── obj_Agents.iss │ ├── obj_Ammospots.iss │ ├── obj_Assets.iss │ ├── obj_Asteroids.iss │ ├── obj_Autopilot.iss │ ├── obj_Belts.iss │ ├── obj_Bookmarks.iss │ ├── obj_Cargo.iss │ ├── obj_Combat.iss │ ├── obj_Compress.iss │ ├── obj_Configuration.iss │ ├── obj_Drones.iss │ ├── obj_EVEBot.iss │ ├── obj_EVEBotUI.iss │ ├── obj_Fleet.iss │ ├── obj_IRC.iss │ ├── obj_Inventory.iss │ ├── obj_Items.iss │ ├── obj_JetCan.iss │ ├── obj_Logger.iss │ ├── obj_Market.iss │ ├── obj_MissionParser.iss │ ├── obj_Missions.iss │ ├── obj_Safespots.iss │ ├── obj_Ship.iss │ ├── obj_Skills.iss │ ├── obj_Social.iss │ ├── obj_Sound.iss │ ├── obj_Station.iss │ └── obj_Targets.iss │ ├── interface │ ├── EVEBot.xml │ └── eveskin │ │ ├── MainGUI │ │ ├── Button-Up.png │ │ ├── CheckBox.png │ │ ├── ComboBox.png │ │ ├── Unused │ │ │ ├── MainWindow-Bottom.png │ │ │ ├── MainWindow-TopTitleBar.png │ │ │ ├── button_about.png │ │ │ ├── button_combat.png │ │ │ ├── button_fitting.png │ │ │ ├── button_main.png │ │ │ ├── button_market.png │ │ │ ├── button_mining.png │ │ │ ├── button_options.png │ │ │ └── button_skills.png │ │ ├── button_close.png │ │ ├── button_empty.png │ │ ├── button_empty_highlight.png │ │ ├── button_empty_selected.png │ │ ├── button_fill.png │ │ ├── button_left.png │ │ ├── button_left_long.png │ │ ├── button_minimize.png │ │ ├── button_pause.png │ │ ├── button_plus.png │ │ ├── button_right.png │ │ ├── button_right_long.png │ │ ├── button_run.png │ │ ├── optionswindow_main.png │ │ ├── optionswindow_titlebar.png │ │ └── tab_frametexture.png │ │ ├── eveskin.xml │ │ └── ui_sample.png │ └── sounds │ ├── alarm.wav │ ├── death.wav │ ├── detect.wav │ ├── level.wav │ ├── taps.wav │ ├── tell.wav │ └── warning.wav ├── Config └── Config_Templates │ └── Launcher.xml ├── EVEBot.code-workspace ├── EVEBot.iss ├── EVECallback.iss ├── EVEWatcher.iss ├── External ├── EVEAbandon │ ├── EveAbandon.iss │ └── EveAbandon.xml ├── EVEBots_dotNET │ ├── C# stuff │ │ ├── EveBots.sln │ │ └── EveBots │ │ │ ├── BotControl.Designer.cs │ │ │ ├── BotControl.cs │ │ │ ├── BotControl.resx │ │ │ ├── ClientsWindow.Designer.cs │ │ │ ├── ClientsWindow.cs │ │ │ ├── ClientsWindow.resx │ │ │ ├── EVEWatcher.cs │ │ │ ├── EveBots.csproj │ │ │ ├── ISBoxerSettings.cs │ │ │ ├── LauncherProfiles.cs │ │ │ ├── MainInterface.Designer.cs │ │ │ ├── MainInterface.cs │ │ │ ├── MainInterface.resx │ │ │ ├── ProfileControl.Designer.cs │ │ │ ├── ProfileControl.cs │ │ │ ├── ProfileControl.resx │ │ │ ├── Program.cs │ │ │ └── Session.cs │ ├── EveBots.exe │ └── READ ME.txt ├── OrePriority │ ├── OrePriority.iss │ ├── OrePriorityUI.xml │ └── readme.txt ├── POSInventory.iss ├── evecmd │ ├── EveCmd.cs │ ├── Globals.cs │ ├── MiningStates.cs │ ├── MissionPage.cs │ ├── MissionStates.cs │ ├── Properties │ │ └── AssemblyInfo.cs │ ├── States.cs │ ├── TravelStates.cs │ ├── Util.cs │ ├── evecmd.csproj │ └── evecmd.sln └── isxScripts │ ├── obj_LSQuery.iss │ ├── obj_LSTypeIterator.iss │ └── obj_PulseTimer.iss ├── Launcher.iss ├── README.md ├── Support ├── TestAPI.iss ├── obj_AutoPatcher.iss ├── obj_Configuration.iss └── obj_LoginHandler.iss └── Testcases ├── EVEBot ├── test_Belts_MarkEmpty.iss ├── test_Belts_MarkUnsafe.iss ├── test_Belts_WarpTo.iss ├── test_Belts_WarpToNext.iss ├── test_Cargo_TransferCargoToHangar.iss ├── test_Cargo_TransferHangarItemToShip.iss ├── test_Cargo_TransferOreToHangar.iss ├── test_Cargo_TransferOreToJetCan.iss ├── test_EntityCache.iss ├── test_Inventory.iss ├── test_Inventory_NoOreHold.iss ├── test_ItemDB.iss └── test_StationDB.iss ├── ISXEVE ├── AnomIDHelp.iss ├── CharSelect.iss ├── EVEWindow_Inv_GetItems_ShipCargo.iss ├── EVEWindow_Inv_GetItems_ShipDroneBay.iss ├── EVEWindow_Inv_GetItems_StationItems.iss ├── EVEWindow_Inv_GetItems_StationShips.iss ├── EVEWindow_Inv_StackAll_Hangar.iss ├── EVEWindow_Inventory.iss ├── EVE_Agent.iss ├── EVE_GetAgentMissions.iss ├── EVE_GetAgents.iss ├── EVE_GetBookMarks.iss ├── EVE_GetContacts.iss ├── EVE_GetEVEWindows.iss ├── EVE_GetLocalPilots.iss ├── EVE_GetMarketOrders.iss ├── EVE_MoveItemsTo_Hangar.iss ├── EVE_MoveItemsTo_MyShip.iss ├── EVE_MoveItemsTo_MyShip_OreHold.iss ├── EVE_MoveItemsTo_MyStationHangar_Ore.iss ├── EVE_QueryEntities.iss ├── EVE_QueryEntities2.iss ├── EVE_QueryEntities_Tags.iss ├── Fleet_Broadcast.iss ├── Fleet_GetMembers.iss ├── Item.iss ├── Item_Compress.iss ├── Item_GetInsuranceQuotes.iss ├── Item_Insure.iss ├── Item_MoveTo_Hangar.iss ├── Item_MoveTo_MyShip.iss ├── Item_MoveTo_MyShip_FleetHangar.iss ├── Item_Open.iss ├── Item_UseAbyssalFilament.iss ├── Me.iss ├── Me_Fleet.iss ├── Me_GetActiveDroneIDs.iss ├── Me_GetActiveDrones.iss ├── Me_GetAssets.iss ├── Me_GetAttackers.iss ├── Me_GetJammers.iss ├── Me_GetMyOrders.iss ├── Me_GetSkillQueue.iss ├── Me_GetStationsWithAssets.iss ├── Me_GetTargetedBy.iss ├── Me_GetTargeting.iss ├── Me_GetTargets.iss ├── Module_GetAvailableAmmo.iss ├── MyShip_GetCargo.iss ├── MyShip_GetModules.iss ├── MyShip_GetOreHoldCargo.iss ├── MyShip_Scanner_Cargo.iss ├── MyShip_Scanner_Directional.iss ├── MyShip_Scanner_Ship.iss ├── MyShip_Scanner_Survey.iss ├── MyShip_Scanner_System.iss ├── MyShip_Scanner_System_GetAnomalies.iss ├── MyShip_Scanner_System_GetSignatures.iss ├── ProbeScanner_Anoms.iss ├── ProbeScanner_Anoms_Test.iss ├── Station_GetCorpHangarItems.iss ├── Station_GetHangarItems.iss ├── Station_GetHangarShips.iss └── test_Drones.iss ├── TODO.txt ├── _Testcase_MethodStr_Body.iss ├── test_AmmoNames.iss ├── test_DoGetEntities.iss └── test_Obj_PulseTimer.iss /.gitignore: -------------------------------------------------------------------------------- 1 | /Branches/Dev/External/isxGamesCommon/ 2 | /Branches/*/Behaviors/**/_includes.iss 3 | /Branches/*/Behaviors/**/_variables.iss 4 | _ActiveModules.iss 5 | *.log 6 | /Testcases/**/lstypes*.txt 7 | /Branches/Stable/config/*Blacklist.xml 8 | /Branches/Stable/config/*Config.xml 9 | /Branches/Stable/config/*Mission Cache.xml 10 | /Branches/Stable/config/*Training.txt 11 | /Branches/Stable/config/*Whitelist.xml 12 | /Branches/Dev/config/* 13 | !/Branches/Dev/config/Examples 14 | !/Branches/Dev/config/Examples/* 15 | 16 | -------------------------------------------------------------------------------- /Branches/Dev/Behaviors/Testcases/obj_BeltRunner.iss: -------------------------------------------------------------------------------- 1 | /* 2 | obj_BeltRunner 3 | 4 | Test belt iteration, warpout, etc 5 | 6 | */ 7 | 8 | objectdef obj_BeltRunner inherits obj_BaseClass 9 | { 10 | variable string CurrentState = "STATE_IDLE" 11 | 12 | method Initialize() 13 | { 14 | EVEBot.BehaviorList:Insert["BeltRunner"] 15 | LogPrefix:Set["${This.ObjectName}"] 16 | 17 | This.PulseTimer:SetIntervals[2.0,4.0] 18 | Event[EVENT_EVEBOT_ONFRAME]:AttachAtom[This:Pulse] 19 | 20 | Logger:Log["${LogPrefix}: Initialized", LOG_MINOR] 21 | } 22 | 23 | method Shutdown() 24 | { 25 | Event[EVENT_EVEBOT_ONFRAME]:DetachAtom[This:Pulse] 26 | } 27 | 28 | method Pulse() 29 | { 30 | if ${EVEBot.Disabled} || ${EVEBot.Paused} 31 | { 32 | return 33 | } 34 | 35 | if ${This.PulseTimer.Ready} 36 | { 37 | This:SetState 38 | This.PulseTimer:Update 39 | } 40 | } 41 | 42 | method SetState() 43 | { 44 | if ${Defense.Hiding} 45 | { 46 | This.CurrentState:Set["DEFENSE_HAS_CONTROL"] 47 | return 48 | } 49 | 50 | if ${Me.InStation} == TRUE 51 | { 52 | This.CurrentState:Set["STATE_DOCKED"] 53 | return 54 | } 55 | 56 | This.CurrentState:Set["STATE_CHANGE_BELT"] 57 | } 58 | 59 | function ProcessState() 60 | { 61 | Logger:Log["${LogPrefix}: Processing State: ${This.CurrentState}",LOG_DEBUG] 62 | switch ${This.CurrentState} 63 | { 64 | case STATE_WAIT_WARP 65 | break 66 | case STATE_IDLE 67 | break 68 | case DEFENSE_HAS_CONTROL 69 | if !${Defense.Hiding} 70 | { 71 | This.CurrentState:Set["STATE_IDLE"] 72 | } 73 | break 74 | case STATE_ABORT 75 | Call Station.Dock 76 | break 77 | case STATE_DOCKED 78 | if !${Defense.Hiding} 79 | { 80 | ; TODO - this could cause dock/redock loops if armor or hull are below minimums, or if drones are still in shortage state -- CyberTech 81 | call Station.Undock 82 | } 83 | break 84 | case STATE_CHANGE_BELT 85 | Offense:Disable 86 | if ${Config.Combat.UseBeltBookmarks} 87 | { 88 | call BeltBookmarks.WarpToNext 89 | } 90 | else 91 | { 92 | call Belts.WarpToNext 93 | } 94 | Offense:Enable 95 | This.CurrentState:Set["STATE_WAIT"] 96 | break 97 | case STATE_WAIT 98 | Logger:Log["Waiting 5 seconds"] 99 | wait 50 100 | This.CurrentState:Set["STATE_IDLE"] 101 | break 102 | case STATE_ERROR 103 | break 104 | default 105 | Logger:Log["Error: CurrentState is unknown value ${This.CurrentState}"] 106 | break 107 | } 108 | } 109 | } 110 | -------------------------------------------------------------------------------- /Branches/Dev/Behaviors/obj_Courier.iss: -------------------------------------------------------------------------------- 1 | /* 2 | The courier object 3 | 4 | The obj_Courier object is a bot mode designed to be used with 5 | obj_Freighter bot module in EVEBOT. It will obtain and complete 6 | courier missions for a single agent. 7 | 8 | -- GliderPro 9 | */ 10 | 11 | /* obj_Courier is a "bot-mode" which is similar to a bot-module. 12 | * obj_Courier runs within the obj_Freighter bot-module. It would 13 | * be very straightforward to turn obj_Courier into a independent 14 | * bot-module in the future if it outgrows its place in obj_Freighter. 15 | */ 16 | objectdef obj_Courier inherits obj_BaseClass 17 | { 18 | /* the bot logic is currently based on a state machine */ 19 | variable string CurrentState 20 | variable bool bHaveCargo = FALSE 21 | 22 | method Initialize() 23 | { 24 | LogPrefix:Set["${This.ObjectName}"] 25 | 26 | ;PulseTimer:SetIntervals[0.5,1.0] 27 | ;Event[EVENT_EVEBOT_ONFRAME]:AttachAtom[This:Pulse] 28 | 29 | Logger:Log["${LogPrefix}: Initialized", LOG_MINOR] 30 | } 31 | 32 | method Shutdown() 33 | { 34 | ;Event[EVENT_EVEBOT_ONFRAME]:DetachAtom 35 | } 36 | 37 | /* NOTE: The order of these if statements is important!! */ 38 | method SetState() 39 | { 40 | ;if ${Agents.ActiveAgent.NotEqual[${Config.Freighter.AgentName}]} 41 | ;{ 42 | ; Agents:SetActiveAgent[${Config.Freighter.AgentName}] 43 | ;} 44 | 45 | if ${Defense.Hiding} && ${Me.InSpace} 46 | { 47 | This.CurrentState:Set["ABORT"] 48 | } 49 | elseif ${EVEBot.ReturnToStation} 50 | { 51 | This.CurrentState:Set["IDLE"] 52 | } 53 | elseif ${Agents.HaveMission} && !${bHaveCargo} 54 | { 55 | This.CurrentState:Set["PICKUP"] 56 | } 57 | elseif ${Agents.HaveMission} && ${bHaveCargo} 58 | { 59 | This.CurrentState:Set["DROPOFF"] 60 | } 61 | elseif !${Agents.HaveMission} 62 | { 63 | This.CurrentState:Set["GET_MISSION"] 64 | } 65 | else 66 | { 67 | This.CurrentState:Set["Unknown"] 68 | } 69 | } 70 | 71 | function ProcessState() 72 | { 73 | switch ${This.CurrentState} 74 | { 75 | case ABORT 76 | call Station.Dock 77 | break 78 | case GET_MISSION 79 | call Agents.MoveTo 80 | call Agents.RequestCourierMission 81 | break 82 | case PICKUP 83 | Logger:Log["obj_Courier: MoveToPickup"] 84 | call Agents.MoveToPickup 85 | call Cargo.TransferCargoToShip 86 | bHaveCargo:Set[TRUE] 87 | break 88 | case DROPOFF 89 | Logger:Log["obj_Courier: MoveToDropOff"] 90 | call Agents.MoveToDropOff 91 | 92 | Logger:Log["obj_Courier: TurnInMission"] 93 | call Agents.TurnInMission 94 | bHaveCargo:Set[FALSE] 95 | break 96 | case IDLE 97 | break 98 | } 99 | } 100 | } 101 | 102 | -------------------------------------------------------------------------------- /Branches/Dev/Behaviors/obj_Missioneer.iss: -------------------------------------------------------------------------------- 1 | /* 2 | The missioneer object 3 | 4 | The obj_Missioneer object is the main bot module for the 5 | mission running bot. 6 | 7 | -- GliderPro 8 | */ 9 | 10 | objectdef obj_Missioneer inherits obj_BaseClass 11 | { 12 | variable string CurrentState 13 | 14 | method Initialize() 15 | { 16 | EVEBot.BehaviorList:Insert["Missioneer"] 17 | LogPrefix:Set["${This.ObjectName}"] 18 | 19 | This.PulseTimer:SetIntervals[2.0,4.0] 20 | Event[EVENT_ONFRAME]:AttachAtom[This:Pulse] 21 | 22 | Logger:Log["${LogPrefix}: Initialized", LOG_MINOR] 23 | } 24 | 25 | method Pulse() 26 | { 27 | if ${This.PulseTimer.Ready} 28 | { 29 | This:SetState 30 | This.PulseTimer:Update 31 | } 32 | } 33 | 34 | method Shutdown() 35 | { 36 | Event[EVENT_ONFRAME]:DetachAtom[This:Pulse] 37 | } 38 | 39 | /* NOTE: The order of these if statements is important!! */ 40 | method SetState() 41 | { 42 | if ${Config.Common.Behavior.NotEqual[Missioneer]} 43 | { 44 | return 45 | } 46 | 47 | if ${Defense.Hiding} 48 | { 49 | This.CurrentState:Set["IDLE"] 50 | } 51 | elseif ${EVEBot.ReturnToStation} && ${Me.InSpace} 52 | { 53 | This.CurrentState:Set["ABORT"] 54 | } 55 | elseif ${EVEBot.ReturnToStation} 56 | { 57 | This.CurrentState:Set["IDLE"] 58 | } 59 | elseif ${This.CurentState.Equal["RUN_MISSION"]} 60 | { 61 | return 62 | } 63 | elseif ${Agents.HaveMission} 64 | { 65 | This.CurrentState:Set["RUN_MISSION"] 66 | } 67 | else 68 | { 69 | This.CurrentState:Set["GET_MISSION"] 70 | } 71 | } 72 | 73 | function ProcessState() 74 | { 75 | if ${Config.Common.Behavior.NotEqual[Missioneer]} 76 | { 77 | return 78 | } 79 | 80 | switch ${This.CurrentState} 81 | { 82 | case ABORT 83 | call Station.Dock 84 | break 85 | case GET_MISSION 86 | Agents:PickAgent 87 | call Agents.MoveTo 88 | call Agents.RequestMission 89 | break 90 | case RUN_MISSION 91 | call Missions.RunMission 92 | break 93 | case IDLE 94 | break 95 | } 96 | } 97 | } 98 | 99 | -------------------------------------------------------------------------------- /Branches/Dev/Data/EVEDB_Items.sql: -------------------------------------------------------------------------------- 1 | SELECT 2 | concat('\t\t', '\n', 3 | '\t\t\t', typeID, '', '\n', 4 | '\t\t\t', groupID, '', '\n', 5 | '\t\t\t', volume, '', '\n', 6 | '\t\t\t', capacity, '', '\n', 7 | '\t\t\t', portionSize, '', '\n', 8 | '\t\t\t', basePrice, '', '\n', 9 | '\t\t' 10 | ) as SetString 11 | FROM `invTypes` 12 | order by typeName 13 | INTO OUTFILE '/tmp/EVEDB_Items_Stable.xml' 14 | FIELDS ESCAPED BY '' 15 | LINES TERMINATED BY '\r\n' 16 | '\t\t\t', marketGroupID, '', '\n', 17 | 18 | This export is missing all items which are not sold on the market, because concat gets rid of null rows and MarketGroupID is null 19 | -------------------------------------------------------------------------------- /Branches/Dev/Data/EVEDB_Items_As_Attributes.sql: -------------------------------------------------------------------------------- 1 | ; Reference: http://wiki.eve-id.net/Database_Tables_-_Inventory 2 | 3 | SELECT 4 | concat_ws('','\t\t0') as SetString 15 | FROM `invTypes` 16 | left outer join dgmTypeAttributes as metalevel on metalevel.typeID = invTypes.typeID and metalevel.attributeID=633 17 | left outer join dgmTypeAttributes as weaponRangeMultiplier on weaponRangeMultiplier.typeID = invTypes.typeID and weaponRangeMultiplier.attributeID=120 18 | left outer join dgmTypeAttributes as techLevel on techLevel.typeID = invTypes.typeID and techLevel.attributeID=422 19 | order by invTypes.typeID 20 | INTO OUTFILE '/tmp/EVEDB_Items.xml' 21 | FIELDS ESCAPED BY '' 22 | LINES TERMINATED BY '\r\n'; 23 | 24 | 25 | ; attributeID 633 is metalevel 26 | 27 | ; Dont forget to replace & with & in new file before committing! 28 | ; " => " 29 | 30 | ;SELECT stationID, solarSystemID, stationName 31 | ;FROM staStations 32 | 33 | SELECT 34 | concat_ws('',' 0') as SetString 35 | FROM `staStations` 36 | order by staStations.solarSystemID 37 | into outfile '/tmp/EVEDB_Stations.xml' 38 | 39 | SELECT 40 | * FROM dgmTypeAttributes as dta 41 | left outer join dgmAttributeTypes as dat on dat.attributeID = dta.attributeID; -------------------------------------------------------------------------------- /Branches/Dev/Docs/svn2html.css: -------------------------------------------------------------------------------- 1 | body { 2 | background-color: white; 3 | color: black; 4 | margin-left: 1.5em; 5 | margin-right: 1.5em; 6 | margin-top: 1.5em; 7 | margin-bottom: 1em; 8 | } 9 | 10 | ul.changelog_entries { 11 | margin-left: 0.7em; 12 | margin-right: 0.7em; 13 | padding-left: 0.7em; 14 | padding-right: 0.7em; 15 | padding-bottom: 0.7em; 16 | background: #fefefe; 17 | border: 1px dashed #88aa88; 18 | } 19 | 20 | li.changelog_entry { 21 | list-style-type: none; 22 | margin-left: 0px; 23 | padding-left: 0px; 24 | margin-top: 0.8em; 25 | border-top: 1px solid #dddddd; 26 | background: #f8f8f8; 27 | } 28 | 29 | li.changelog_change { 30 | list-style-type: circle; 31 | margin-left: 4em; 32 | } 33 | 34 | span.changelog_date { 35 | color: black; 36 | } 37 | 38 | span.changelog_author { 39 | color: #111188; 40 | } 41 | 42 | .changelog_revision { 43 | font-size: 80%; 44 | color: #881111; 45 | background: #fff4f4; 46 | } 47 | 48 | .changelog_revision a { 49 | color: inherit; 50 | } 51 | 52 | .changelog_files { 53 | font-size: 80%; 54 | font-family: monospace; 55 | color: #116611; 56 | } 57 | 58 | .changelog_files:after { 59 | content: ':'; 60 | } 61 | 62 | .changelog_message { 63 | display: block; 64 | color: #220000; 65 | } 66 | 67 | p.changelog_footer { 68 | margin-top: 1.5em; 69 | margin-left: 0.7em; 70 | font-style: italic; 71 | line-height: 90%; 72 | color: gray; 73 | font-family: Helvetica, Arial, sans-serif; 74 | } 75 | 76 | p.changelog_footer a { 77 | text-decoration: none; 78 | color: inherit; 79 | } 80 | -------------------------------------------------------------------------------- /Branches/Dev/Threads/EVEDatabase.iss: -------------------------------------------------------------------------------- 1 | #include ../core/defines.iss 2 | #include ../core/obj_EVEDB.iss 3 | 4 | /* 5 | EVE Database Thread 6 | 7 | Loads XML files containing EVE Database dumps. Only threaded so that it reduces load time. 8 | 9 | -- CyberTech 10 | 11 | */ 12 | 13 | function main() 14 | { 15 | /* EVE Database Exports */ 16 | declarevariable EVEDB_Stations obj_EVEDB_Stations global 17 | declarevariable EVEDB_StationID obj_EVEDB_StationID global 18 | declarevariable EVEDB_Spawns obj_EVEDB_Spawns global 19 | declarevariable EVEDB_Items obj_EVEDB_Items global 20 | 21 | EVEBot.Threads:Insert[${Script.Filename}] 22 | while ${Script[EVEBot](exists)} && !${EVEBot.Loaded} 23 | { 24 | waitframe 25 | } 26 | while ${Script[EVEBot](exists)} 27 | { 28 | waitframe 29 | } 30 | echo "EVEBot exited, unloading ${Script.Filename}" 31 | } -------------------------------------------------------------------------------- /Branches/Dev/Threads/NonCombat.iss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyberTech/EVEBot/7414f9882775e10b087feddea728f45e504b9e9a/Branches/Dev/Threads/NonCombat.iss -------------------------------------------------------------------------------- /Branches/Dev/config/Examples/Launcher_Example.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | FALSE 7 | 8 | username1 9 | password1 10 | char1 11 | 0 12 | 13 | 14 | 15 | TRUE 16 | 17 | username2 18 | password2 19 | char2 20 | 0 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /Branches/Dev/config/Examples/Sample User Agents.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 1 6 | 1 7 | 1 8 | 1 9 | 1 10 | 1 11 | 1 12 | 1 13 | 1 14 | 1 15 | 1 16 | 1 17 | 18 | 19 | 1 20 | 1 21 | 1 22 | 1 23 | 24 | -------------------------------------------------------------------------------- /Branches/Dev/config/Examples/Sample User Market.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 0 6 | 7 | -------------------------------------------------------------------------------- /Branches/Dev/config/Examples/Sample User Mission Blacklist.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 1 7 | 1 8 | 1 9 | 1 10 | 11 | 12 | 1 13 | 1 14 | 1 15 | 16 | 17 | 1 18 | 19 | 20 | 1 21 | 22 | 23 | -------------------------------------------------------------------------------- /Branches/Dev/core/Lib/obj_Mutex.iss: -------------------------------------------------------------------------------- 1 | /* 2 | Mutex Class 3 | 4 | Provides mutex variables for exclusive access to controlled resource. 5 | 6 | -- CyberTech 7 | 8 | */ 9 | 10 | objectdef obj_Mutex 11 | { 12 | variable bool _Locked = FALSE 13 | 14 | member:bool TryLock(int TimeoutSeconds) 15 | { 16 | if ${_Locked} 17 | { 18 | return FALSE 19 | } 20 | 21 | _Locked:Set[TRUE] 22 | return TRUE 23 | } 24 | 25 | function TryLockWait(int TimeoutSeconds) 26 | { 27 | while ${_Locked} 28 | { 29 | waitframe 30 | ; TODO: Return false if lock not aquired in TimeOutSeconds 31 | } 32 | 33 | _Locked:Set[TRUE] 34 | return TRUE 35 | } 36 | 37 | member:bool Release() 38 | { 39 | _Locked:Set[FALSE] 40 | } 41 | } -------------------------------------------------------------------------------- /Branches/Dev/core/Lib/obj_Sound.iss: -------------------------------------------------------------------------------- 1 | /* 2 | Sound class 3 | 4 | Object to handle playing sounds. 5 | 6 | -- GliderPro 7 | 8 | */ 9 | 10 | objectdef obj_Sound inherits obj_BaseClass 11 | { 12 | variable int m_LastSoundTime 13 | variable int m_SoundDelay 14 | 15 | method Initialize() 16 | { 17 | LogPrefix:Set["${This.ObjectName}"] 18 | 19 | m_LastSoundTime:Set[${LavishScript.RunningTime}] 20 | m_SoundDelay:Set[15000] /* milliseconds */ 21 | ;PulseTimer:SetIntervals[0.5,1.0] 22 | ;Event[EVENT_EVEBOT_ONFRAME]:AttachAtom[This:Pulse] 23 | 24 | Logger:Log["${LogPrefix}: Initialized", LOG_MINOR] 25 | } 26 | 27 | method Shutdown() 28 | { 29 | ;Event[EVENT_EVEBOT_ONFRAME]:DetachAtom 30 | } 31 | 32 | method TryPlaySound(string Filename) 33 | { 34 | if !${Config.Sound.EnableSound} 35 | return 36 | 37 | if ${Math.Calc64[${m_LastSoundTime} + ${m_SoundDelay}]} < ${LavishScript.RunningTime} 38 | { 39 | PlaySound "${Filename}" 40 | ;System:APICall[${System.GetProcAddress[WinMM.dll,PlaySound].Hex},Filename.String,0,"Math.Dec[22001]"] 41 | m_LastSoundTime:Set[${LavishScript.RunningTime}] 42 | } 43 | } 44 | 45 | method PlayAlarmSound() 46 | { 47 | This:TryPlaySound[ALARMSOUND] 48 | } 49 | 50 | method PlayDetectSound() 51 | { 52 | This:TryPlaySound[DETECTSOUND] 53 | } 54 | 55 | method PlayTellSound() 56 | { 57 | This:TryPlaySound[TELLSOUND] 58 | } 59 | 60 | method PlayLevelSound() 61 | { 62 | This:TryPlaySound[LEVELSOUND] 63 | } 64 | 65 | method PlayWarningSound() 66 | { 67 | This:TryPlaySound[WARNSOUND] 68 | } 69 | method Speak(string Phrase) 70 | { 71 | if !${Config.Common.UseSound} 72 | return 73 | if ${Speech(exists)} 74 | { 75 | Speech:Speak[-speed,0.7,${Phrase}] 76 | } 77 | } 78 | } 79 | -------------------------------------------------------------------------------- /Branches/Dev/core/obj_Assets.iss: -------------------------------------------------------------------------------- 1 | /* 2 | Assets class 3 | 4 | Object to contain members related to asset activities. 5 | 6 | -- GliderPro 7 | 8 | */ 9 | 10 | objectdef obj_Assets 11 | { 12 | variable queue:int64 StationsWithAssets 13 | variable index:int64 IgnoreTheseStations 14 | 15 | method Initialize() 16 | { 17 | IgnoreTheseStations:Clear[] 18 | Logger:Log["obj_Assets: Initialized", LOG_MINOR] 19 | } 20 | 21 | method UpdateList() 22 | { 23 | variable index:int64 AnIndex 24 | variable iterator AnIterator 25 | 26 | StationsWithAssets:Clear[] 27 | ;;; WHY WHY WHY DOESN'T THIS WORK??? Me:GetStationsWithAssets[AnIndex] 28 | Me:GetStationsWithAssets[AnIndex] 29 | AnIndex:GetIterator[AnIterator] 30 | 31 | if ${AnIterator:First(exists)} 32 | { 33 | do 34 | { 35 | StationsWithAssets:Queue[${AnIterator.Value}] 36 | } 37 | while ${AnIterator:Next(exists)} 38 | } 39 | 40 | Logger:Log["Assets:UpdateList found ${StationsWithAssets.Used} stations with assets."] 41 | } 42 | 43 | method IgnoreStation(int64 stationID) 44 | { 45 | IgnoreTheseStations:Insert[${stationID}] 46 | Logger:Log["Assets module will ignore ${EVE.GetLocationNameByID[${stationID}]}."] 47 | } 48 | 49 | member:bool IsIgnored(int64 stationID) 50 | { 51 | variable iterator AnIterator 52 | 53 | ;;;Logger:Log["DEBUG: Assets.IsIgnored(${stationID})"] 54 | IgnoreTheseStations:GetIterator[AnIterator] 55 | if ${AnIterator:First(exists)} 56 | { 57 | do 58 | { 59 | if ${stationID.Equal[${AnIterator.Value}]} 60 | { 61 | ;;;Logger:Log["DEBUG: Assets.IsIgnored returning TRUE."] 62 | return TRUE 63 | } 64 | } 65 | while ${AnIterator:Next(exists)} 66 | } 67 | 68 | ;;;Logger:Log["DEBUG: Assets.IsIgnored returning FALSE."] 69 | return FALSE 70 | } 71 | 72 | member:int NextStation() 73 | { 74 | variable int64 nextStatonID 75 | 76 | if ${StationsWithAssets.Used} == 0 77 | { 78 | This:UpdateList[] 79 | } 80 | 81 | nextStatonID:Set[0] 82 | while ${StationsWithAssets.Peek(exists)} && !${nextStatonID} 83 | { 84 | if !${This.IsIgnored[${StationsWithAssets.Peek}]} 85 | { 86 | nextStatonID:Set[${StationsWithAssets.Peek}] 87 | } 88 | 89 | StationsWithAssets:Dequeue[] 90 | } 91 | 92 | ;;;Logger:Log["DEBUG: Assets.NextStation returning ${nextStatonID}."] 93 | return ${nextStatonID} 94 | } 95 | 96 | member:string SolarSystem(int64 stationID) 97 | { 98 | variable string tmp_string 99 | variable int spaces 100 | variable string last_token 101 | variable int last_token_pos 102 | 103 | tmp_string:Set[${EVE.GetLocationNameByID[${stationID}]}] 104 | if ${tmp_string.Find["("]} > 0 105 | { 106 | tmp_string:Set[${tmp_string.Token[1,"("]}] 107 | } 108 | else 109 | { 110 | tmp_string:Set[${tmp_string.Token[1,"-"]}] 111 | } 112 | spaces:Set[${tmp_string.Count[" "]}] 113 | last_token:Set[${tmp_string.Token[${Math.Calc[${spaces}+1]}," "]}] 114 | last_token_pos:Set[${tmp_string.Find[" ${last_token}"]}] 115 | tmp_string:Set[${tmp_string.Left[${last_token_pos}]}] 116 | 117 | return ${tmp_string} 118 | } 119 | } 120 | -------------------------------------------------------------------------------- /Branches/Dev/core/obj_Autopilot.iss: -------------------------------------------------------------------------------- 1 | /* 2 | Autopilot Class 3 | 4 | This class will contain funtions for navigating space. It is intended 5 | to support a bot class that has traveling functions. 6 | 7 | -- GliderPro 8 | */ 9 | 10 | objectdef obj_Autopilot 11 | { 12 | variable int Destination 13 | variable int IsLowSecRoute 14 | variable index:int Path 15 | variable iterator PathIterator 16 | 17 | 18 | method Initialize() 19 | { 20 | This.IsLowSecRoute:Set[-999] 21 | Logger:Log["obj_Autopilot: Initialized", LOG_MINOR] 22 | } 23 | 24 | /* 25 | Given an entity (or character) ID determine if that item 26 | is in the current system. 27 | */ 28 | member:bool IsEntityLocal(int64 id) 29 | { 30 | return FALSE 31 | } 32 | 33 | /* 34 | Given a system ID set the autopilot destination to that system. 35 | */ 36 | method SetDestination(int64 id) 37 | { 38 | if ${id.Equal[${This.Destination}]} 39 | { 40 | return 41 | } 42 | 43 | Logger:Log["obj_Autopilot: Setting destination to ${Universe[${id}]}"] 44 | This.Destination:Set[${id}] 45 | Universe[${id}]:SetDestination 46 | This.IsLowSecRoute:Set[-999] 47 | } 48 | 49 | /* 50 | Return TRUE if there are low-sec systems in our route. 51 | */ 52 | member:bool LowSecRoute() 53 | { 54 | if ${This.IsLowSecRoute} == -999 55 | { 56 | 57 | EVE:GetToDestinationPath[This.Path] 58 | This.Path:GetIterator[This.PathIterator] 59 | 60 | ;;Logger:Log["obj_Autopilot: DEBUG: ${Universe[${This.Destination}]} is ${This.Path.Used} jumps away."] 61 | if ${This.PathIterator:First(exists)} 62 | { 63 | do 64 | { 65 | ;;Logger:Log["obj_Autopilot: DEBUG: ${This.PathIterator.Value} ${Universe[${This.PathIterator.Value}]} (${Universe[${This.PathIterator.Value}].Security})"] 66 | if ${This.PathIterator.Value} > 0 && ${Universe[${This.PathIterator.Value}].Security} <= 0.45 67 | { 68 | Logger:Log["obj_Autopilot: Low-Sec system found"] 69 | This.IsLowSecRoute:Set[TRUE] 70 | break 71 | } 72 | } 73 | while ${This.PathIterator:Next(exists)} 74 | } 75 | } 76 | 77 | return ${This.IsLowSecRoute} 78 | } 79 | 80 | /* 81 | Return the system ID for the next system in the autopilot path. 82 | */ 83 | member:int NextSystemEnroute() 84 | { 85 | } 86 | 87 | /* 88 | Return the next stargate (entity ID) for the next stargate 89 | in the autopilot path. 90 | */ 91 | member:int NextStargateEnroute() 92 | { 93 | } 94 | } -------------------------------------------------------------------------------- /Branches/Dev/core/obj_BeltBookmarks.iss: -------------------------------------------------------------------------------- 1 | /* 2 | Belt Bookmark Class 3 | 4 | Belt-bookmark access. Inherits obj_Bookmark 5 | 6 | -- CyberTech 7 | 8 | */ 9 | 10 | objectdef obj_BeltBookmarks inherits obj_Bookmarks 11 | { 12 | variable set EmptyBelts 13 | 14 | method Initialize() 15 | { 16 | LogPrefix:Set["${This.ObjectName}"] 17 | 18 | This:Reset 19 | ;PulseTimer:SetIntervals[0.5,1.0] 20 | ;Event[EVENT_EVEBOT_ONFRAME]:AttachAtom[This:Pulse] 21 | 22 | Logger:Log["${LogPrefix}: Initialized", LOG_MINOR] 23 | } 24 | 25 | method Reset() 26 | { 27 | ; TODO - Check mode, use ratter prefix, hauler prefix, etc. 28 | if ${Config.Miner.IceMining} 29 | { 30 | This[parent]:Reset["${Config.Labels.IceBeltPrefix}", TRUE] 31 | } 32 | else 33 | { 34 | This[parent]:Reset["${Config.Labels.OreBeltPrefix}", TRUE] 35 | } 36 | Logger:Log["${LogPrefix}: Found ${Bookmarks.Used} bookmarks in this system"] 37 | } 38 | 39 | ; Checks the belt name against the empty belt list. 40 | member IsBeltEmpty(string BeltName) 41 | { 42 | if ${This.EmptyBelts.Contains["${BeltName}"]} 43 | { 44 | Logger:Log["${LogPrefix}:IsBeltEmpty - ${BeltName} - TRUE", LOG_DEBUG] 45 | return TRUE 46 | } 47 | return FALSE 48 | } 49 | 50 | ; Adds the named belt to the empty belt list 51 | method MarkBeltEmpty(string BeltName) 52 | { 53 | EmptyBelts:Add["${BeltName}"] 54 | Logger:Log["${LogPrefix}: Excluding empty belt ${BeltName}"] 55 | } 56 | } -------------------------------------------------------------------------------- /Branches/Dev/core/obj_Callback.iss: -------------------------------------------------------------------------------- 1 | objectdef obj_Callback inherits obj_BaseClass 2 | { 3 | method Initialize() 4 | { 5 | LogPrefix:Set["${This.ObjectName}"] 6 | 7 | PulseTimer:SetIntervals[2.0,3.0] 8 | Event[EVENT_ONFRAME]:AttachAtom[This:Pulse] 9 | Logger:Log["${LogPrefix}: Initialized", LOG_MINOR] 10 | } 11 | 12 | method Pulse() 13 | { 14 | if !${Config.Common.Callback} 15 | { 16 | return 17 | } 18 | 19 | if ${This.PulseTimer.Ready} 20 | { 21 | if ${EVEBot.SessionValid} 22 | { 23 | ;uplink UpdateClient "${Me.Name}" "${MyShip.ShieldPct}" "${MyShip.ArmorPct}" "${MyShip.CapacitorPct}" "${Defense.Hide}" "${Defense.HideReason}" "${Me.ActiveTarget.Name}" "${EVEBot.Paused}" "${Config.Common.Behavior}" "${MyShip}" "${Session}" 24 | } 25 | 26 | This.PulseTimer:Update 27 | } 28 | 29 | } 30 | 31 | method Shutdown() 32 | { 33 | Event[EVENT_ONFRAME]:DetachAtom[This:Pulse] 34 | } 35 | } -------------------------------------------------------------------------------- /Branches/Dev/core/obj_EVEBotUI.iss: -------------------------------------------------------------------------------- 1 | 2 | objectdef obj_EVEBotUI inherits obj_BaseClass 3 | { 4 | method Initialize() 5 | { 6 | LogPrefix:Set["${This.ObjectName}"] 7 | 8 | ui -load interface/EVESkin.xml 9 | ui -load -skin EVESkin interface/EVEBot.xml 10 | 11 | This:LogSystemStats 12 | This:CheckUIPosition 13 | 14 | PulseTimer:SetIntervals[60.0,60.0] 15 | Event[EVENT_ONFRAME]:AttachAtom[This:Pulse] 16 | Logger:Log["${LogPrefix}: Initialized", LOG_MINOR] 17 | } 18 | 19 | method Reload() 20 | { 21 | ;ui -reload -skin EVESkin interface/EVEBot.xml 22 | Logger:WriteQueue 23 | This:PopulateBehavioralComboBox 24 | } 25 | 26 | method PopulateBehavioralComboBox() 27 | { 28 | variable iterator Behavior 29 | EVEBot.BehaviorList:GetIterator[Behavior] 30 | 31 | if ${Behavior:First(exists)} 32 | { 33 | UIElement[EVEBot].FindUsableChild["Behavior","combobox"]:ClearItems 34 | UIElement[EVEBot].FindUsableChild["Behavior","combobox"]:AddItem["Idle"] 35 | do 36 | { 37 | UIElement[EVEBot].FindUsableChild["Behavior","combobox"]:AddItem["${Behavior.Value}"] 38 | } 39 | while ${Behavior:Next(exists)} 40 | UIElement[EVEBot].FindUsableChild["Behavior","combobox"].ItemByText[${Config.Common.Behavior}]:Select 41 | } 42 | } 43 | 44 | method CheckUIPosition() 45 | { 46 | if ${UIElement[EVEBot].X} <= -${Math.Calc[${UIElement[EVEBot].Width} * 0.66].Int} || \ 47 | ${UIElement[EVEBot].X} >= ${Math.Calc[${Display.Width} - ${UIElement[EVEBot].Width}]} 48 | { 49 | echo ${UIElement[EVEBot].X} <= -${Math.Calc[${UIElement[EVEBot].Width} * 0.66].Int} 50 | echo ${UIElement[EVEBot].X} >= ${Math.Calc[${Display.Width} - ${UIElement[EVEBot].Width}]} 51 | 52 | echo "----" 53 | echo " Warning: EVEBot window is outside window area: ${UIElement[EVEBot].X} > ${Display.Width}" 54 | echo " You may fix this with 'UIElement[EVEbot]:Reset" 55 | echo "----" 56 | } 57 | 58 | if ${UIElement[EVEBot].Y} <= 1 || \ 59 | ${UIElement[EVEBot].Y} >= ${Math.Calc[${Display.Height} - ${UIElement[EVEBot].Height}]} 60 | { 61 | echo ${UIElement[EVEBot].Y} <= 1 62 | echo ${UIElement[EVEBot].Y} >= ${Math.Calc[${Display.Height} - ${UIElement[EVEBot].Height}]} 63 | 64 | echo "----" 65 | echo " Warning: EVEBot window is outside window area: ${UIElement[EVEBot].Y} > ${Display.Height}" 66 | echo " You may fix this with 'UIElement[EVEbot]:Reset" 67 | echo "----" 68 | } 69 | } 70 | 71 | method Shutdown() 72 | { 73 | Event[EVENT_ONFRAME]:DetachAtom[This:Pulse] 74 | ui -unload interface/EVEBot.xml 75 | ui -unload interface/EVESkin.xml 76 | } 77 | 78 | method Pulse() 79 | { 80 | if !${EVEBot.Loaded} || ${EVEBot.Disabled} 81 | { 82 | return 83 | } 84 | 85 | if ${This.PulseTimer.Ready} 86 | { 87 | This.PulseTimer:Update 88 | ; This:LogSystemStats 89 | } 90 | } 91 | 92 | method LogSystemStats() 93 | { 94 | Logger:Log["Memory: ${System.OS} Process: ${Math.Calc[${System.MemoryUsage}/1024].Int}kb Free: ${System.MemFree}mb Texture Mem Free: ${Display.TextureMem}mb FPS: ${Display.FPS.Int} Windowed: ${Display.Windowed}(${Display.AppWindowed}) Foreground: ${Display.Foreground}", LOG_MINOR] 95 | } 96 | } 97 | -------------------------------------------------------------------------------- /Branches/Dev/core/obj_Fleet.iss: -------------------------------------------------------------------------------- 1 | /* 2 | Fleet Class 3 | 4 | This class will contain funtions for managing and manipulating 5 | your Fleet. 6 | 7 | -- GliderPro 8 | 9 | */ 10 | 11 | objectdef obj_Fleet 12 | { 13 | variable int FleetMemberIndex = 1 14 | variable set AllowedFleetMembers 15 | variable index:fleetmember FleetMembers 16 | variable int FleetMemberCount 17 | variable iterator FleetMembersIterator 18 | 19 | method Initialize() 20 | { 21 | Config.FleetMembers.Ref:GetSettingIterator[This.FleetMembersIterator] 22 | if ${This.FleetMembersIterator:First(exists)} 23 | do 24 | { 25 | This.AllowedFleetMembers:Add[${This.FleetMembersIterator.Value}] 26 | } 27 | while ${This.FleetMembersIterator:Next(exists)} 28 | 29 | Logger:Log["obj_Fleet: Initialized", LOG_MINOR] 30 | Logger:Log["obj_Fleet: ${This.AllowedFleetMembers.Used} permitted fleet members added"] 31 | } 32 | 33 | method ProcessInvitations() 34 | { 35 | variable string Inviter 36 | 37 | if !${Me.Fleet.Invited} || ${Me.Fleet.Size} 38 | { 39 | return 40 | } 41 | 42 | ;charname wants you to join their fleet 43 | Inviter:Set[${Me.Fleet.InvitationText}] 44 | Inviter:Set[${Inviter.Left[${Inviter.Find[" wants you to join their fleet"]}]}] 45 | Inviter:Set[${Inviter.Mid[13, -1]}] 46 | 47 | if ${This.AllowedFleetMembers.Contains["${Inviter}"]} 48 | { 49 | Logger:Log["obj_Fleet: Accepting fleet invitation from ${Inviter}"] 50 | Me.Fleet:AcceptInvite 51 | } 52 | else 53 | { 54 | Logger:Log["obj_Fleet: Rejecting fleet invitation from ${Inviter}"] 55 | Me.Fleet:RejectInvite 56 | } 57 | } 58 | 59 | /* 60 | Issues a Fleet formation request to the player given 61 | by the id parameter. 62 | */ 63 | method FormFleetWithPlayer(int id) 64 | { 65 | } 66 | 67 | method UpdateFleetList() 68 | { 69 | FleetMemberIndex:Set[1] 70 | Me.Fleet:GetMembers[FleetMembers]} 71 | FleetMemberCount:Set[${FleetMembers.Used}] 72 | ;echo DEBUG: Populating Fleet member list:: ${FleetMemberCount} members total 73 | } 74 | 75 | member:fleetmember CharIdToFleetMember( int charID ) 76 | { 77 | variable fleetmember ReturnValue 78 | ReturnValue:Set[NULL] 79 | 80 | This:UpdateFleetList[] 81 | 82 | variable iterator FleetMemberIterator 83 | FleetMembers:GetIterator[FleetMemberIterator] 84 | 85 | if ${FleetMemberIterator:First(exists)} 86 | { 87 | do 88 | { 89 | if ${FleetMemberIterator.Value.CharID} == ${charID} 90 | { 91 | ReturnValue:Set[${FleetMemberIterator.Value}] 92 | break 93 | } 94 | } 95 | while ${FleetMemberIterator:Next(exists)} 96 | } 97 | 98 | return ${ReturnValue} 99 | } 100 | 101 | method WarpToNextMember(int distance = 0) 102 | { 103 | FleetMemberIndex:Inc 104 | 105 | if ${FleetMembers.Get[${FleetMemberIndex}].CharID} == ${EVEBot.CharID} 106 | { 107 | FleetMemberIndex:Inc 108 | } 109 | 110 | if ${FleetMemberIndex} > ${FleetMemberCount} 111 | { 112 | FleetMemberIndex:Set[1] 113 | } 114 | 115 | Ship:WarpToMember[${FleetMembers.Get[${FleetMemberIndex}].CharID},${distance}] 116 | } 117 | 118 | method WarpToPreviousMember(int distance = 0) 119 | { 120 | if ${FleetMembers.Get[${FleetMemberIndex}].CharID} == ${EVEBot.CharID} 121 | { 122 | FleetMemberIndex:Inc 123 | } 124 | 125 | if ${FleetMemberIndex} > ${FleetMemberCount} 126 | { 127 | FleetMemberIndex:Set[1] 128 | } 129 | 130 | Ship:WarpToMember[${FleetMembers.Get[${FleetMemberIndex}].CharID},${distance}] 131 | } 132 | 133 | } -------------------------------------------------------------------------------- /Branches/Dev/core/obj_FleetManager.iss: -------------------------------------------------------------------------------- 1 | /* 2 | FleetManager Class 3 | 4 | Handles automatic fleet building and arrangement decisions 5 | 6 | -- CyberTech 7 | 8 | */ 9 | 10 | objectdef obj_FleetManager 11 | { 12 | variable string LogPrefix 13 | 14 | method Initialize() 15 | { 16 | LogPrefix:Set["${This.ObjectName}"] 17 | Logger:Log["${LogPrefix}: Initialized"] 18 | Event[EVENT_EVEBOT_ONFRAME]:AttachAtom[This:Pulse] 19 | } 20 | 21 | method Shutdown() 22 | { 23 | Event[EVENT_EVEBOT_ONFRAME]:DetachAtom[This:Pulse] 24 | } 25 | 26 | method Pulse() 27 | { 28 | return 29 | if ${Time.Timestamp} >= ${This.NextPulse.Timestamp} 30 | { 31 | This.NextPulse:Set[${Time.Timestamp}] 32 | This.NextPulse.Second:Inc[${This.PulseIntervalInSeconds}] 33 | This.NextPulse:Update 34 | } 35 | } 36 | 37 | } -------------------------------------------------------------------------------- /Branches/Dev/core/obj_MissionCombatConfig.iss: -------------------------------------------------------------------------------- 1 | /* obj_MissionCombatConfig.iss - Contain all interaction with MissionCombat 2 | config files (i.e. settingsref) so as to clean it up, make it easy to use, 3 | and separate config crap from the combat missioner.*/ 4 | 5 | objectdef obj_MissionCombatConfig 6 | { 7 | method Initialize() 8 | { 9 | Logger:Log["obj_MissionCombatConfig: Initialize not implemented."] 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /Branches/Dev/core/obj_Safespots.iss: -------------------------------------------------------------------------------- 1 | /* 2 | Safespots class 3 | 4 | Safespot access. Inherits obj_Bookmarks 5 | 6 | -- CyberTech 7 | 8 | */ 9 | 10 | objectdef obj_Safespots inherits obj_Bookmarks 11 | { 12 | method Initialize() 13 | { 14 | LogPrefix:Set["${This.ObjectName}"] 15 | 16 | This:Reset 17 | 18 | ;PulseTimer:SetIntervals[0.5,1.0] 19 | ;Event[EVENT_EVEBOT_ONFRAME]:AttachAtom[This:Pulse] 20 | 21 | Logger:Log["${LogPrefix}: Initialized", LOG_MINOR] 22 | } 23 | 24 | method Shutdown() 25 | { 26 | ;Event[EVENT_EVEBOT_ONFRAME]:DetachAtom 27 | } 28 | 29 | method Reset() 30 | { 31 | This[parent]:Reset["${Config.Labels.SafeSpotPrefix}", TRUE] 32 | Logger:Log["${LogPrefix}: Found ${Bookmarks.Used} safespots in this system"] 33 | } 34 | 35 | member:bool AtSafespot() 36 | { 37 | return ${This[parent].AtBookmark} 38 | } 39 | } 40 | 41 | -------------------------------------------------------------------------------- /Branches/Dev/core/obj_TempBookmarks.iss: -------------------------------------------------------------------------------- 1 | /* 2 | Bookmarks class 3 | 4 | Manages dynamic bookmarks for EVEBot 5 | 6 | -- CyberTech 7 | 8 | */ 9 | 10 | objectdef obj_TempBookmarks 11 | { 12 | variable index:string TemporaryBookMarks 13 | variable string StoredLocation = "" 14 | 15 | method Initialize() 16 | { 17 | Logger:Log["obj_TempBookmarks: Initialized", LOG_MINOR] 18 | } 19 | 20 | method Shutdown() 21 | { 22 | } 23 | 24 | method StoreLocation() 25 | { 26 | Logger:Log["Storing current location"] 27 | ;This.StoredLocation:Set["${Me.Name} ${Math.Rand[500000]:Inc[100000]}"] 28 | This.StoredLocation:Set["${Math.Rand[5000]:Inc[1000]}"] 29 | 30 | /* Create the bookmark, but don't mark it as temporary, we'll handle it's cleanup thru RemoveStoredLocation */ 31 | This:CreateBookMark[FALSE, "${This.StoredLocation}"] 32 | } 33 | 34 | method RemoveStoredLocation() 35 | { 36 | if ${This.StoredLocationExists} 37 | { 38 | EVE.Bookmark["${This.StoredLocation}"]:Remove 39 | } 40 | } 41 | 42 | member StoredLocationExists() 43 | { 44 | if ${This.StoredLocation.Length} > 0 45 | { 46 | return ${EVE.Bookmark["${This.StoredLocation}"](exists)} 47 | } 48 | return FALSE 49 | } 50 | 51 | method CreateEntityBookMark(int32 ID, bool Temporary=FALSE, string Label="Default") 52 | { 53 | if !${Entity[${ID}](exists)} 54 | { 55 | Logger:Log["Debug: CreateBookMark: Invalid ID"] 56 | return 57 | } 58 | 59 | EntityName:Set[${Entity[${ID}].Name} 60 | 61 | if ${Label.Equal["Default"]} 62 | { 63 | Label:Set[${EntityName}] 64 | 65 | } 66 | ;Logger:Log["CreateBookMark: Label - ${Label}"] 67 | 68 | EVE:CreateBookmark["${Label}"] 69 | 70 | } 71 | 72 | ; Create a bookmark for the current location in space (or in station) 73 | method CreateBookMark(bool Temporary=FALSE, string Label="Default") 74 | { 75 | if ${Label.Equal["Default"]} 76 | { 77 | Label:Set["${Me.Name} ${Math.Rand[500000]:Inc[100000]}] 78 | } 79 | 80 | EVE:CreateBookmark["${Label}"] 81 | if ${Temporary} 82 | { 83 | ;Logger:Log["CreateBookMark: Label - ${Label} (Temporary)"] 84 | TemporaryBookMarks:Insert[${Label}] 85 | } 86 | else 87 | { 88 | ;Logger:Log["CreateBookMark: Label - ${Label}"] 89 | } 90 | 91 | } 92 | 93 | } -------------------------------------------------------------------------------- /Branches/Dev/interface/Images/EVESkin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyberTech/EVEBot/7414f9882775e10b087feddea728f45e504b9e9a/Branches/Dev/interface/Images/EVESkin.png -------------------------------------------------------------------------------- /Branches/Dev/interface/Images/checkboxtexture.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyberTech/EVEBot/7414f9882775e10b087feddea728f45e504b9e9a/Branches/Dev/interface/Images/checkboxtexture.png -------------------------------------------------------------------------------- /Branches/Dev/interface/Images/checkboxtexturechecked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyberTech/EVEBot/7414f9882775e10b087feddea728f45e504b9e9a/Branches/Dev/interface/Images/checkboxtexturechecked.png -------------------------------------------------------------------------------- /Branches/Dev/interface/Images/checkboxtexturecheckedhover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyberTech/EVEBot/7414f9882775e10b087feddea728f45e504b9e9a/Branches/Dev/interface/Images/checkboxtexturecheckedhover.png -------------------------------------------------------------------------------- /Branches/Dev/interface/Images/checkboxtexturehover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyberTech/EVEBot/7414f9882775e10b087feddea728f45e504b9e9a/Branches/Dev/interface/Images/checkboxtexturehover.png -------------------------------------------------------------------------------- /Branches/Dev/interface/Images/checkboxtexturepressed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyberTech/EVEBot/7414f9882775e10b087feddea728f45e504b9e9a/Branches/Dev/interface/Images/checkboxtexturepressed.png -------------------------------------------------------------------------------- /Branches/Dev/sounds/alarm.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyberTech/EVEBot/7414f9882775e10b087feddea728f45e504b9e9a/Branches/Dev/sounds/alarm.wav -------------------------------------------------------------------------------- /Branches/Dev/sounds/death.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyberTech/EVEBot/7414f9882775e10b087feddea728f45e504b9e9a/Branches/Dev/sounds/death.wav -------------------------------------------------------------------------------- /Branches/Dev/sounds/detect.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyberTech/EVEBot/7414f9882775e10b087feddea728f45e504b9e9a/Branches/Dev/sounds/detect.wav -------------------------------------------------------------------------------- /Branches/Dev/sounds/level.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyberTech/EVEBot/7414f9882775e10b087feddea728f45e504b9e9a/Branches/Dev/sounds/level.wav -------------------------------------------------------------------------------- /Branches/Dev/sounds/taps.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyberTech/EVEBot/7414f9882775e10b087feddea728f45e504b9e9a/Branches/Dev/sounds/taps.wav -------------------------------------------------------------------------------- /Branches/Dev/sounds/tell.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyberTech/EVEBot/7414f9882775e10b087feddea728f45e504b9e9a/Branches/Dev/sounds/tell.wav -------------------------------------------------------------------------------- /Branches/Dev/sounds/warning.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyberTech/EVEBot/7414f9882775e10b087feddea728f45e504b9e9a/Branches/Dev/sounds/warning.wav -------------------------------------------------------------------------------- /Branches/Stable/Behaviors/obj_Courier.iss: -------------------------------------------------------------------------------- 1 | /* 2 | The courier object 3 | 4 | The obj_Courier object is a bot mode designed to be used with 5 | obj_Freighter bot module in EVEBOT. It will obtain and complete 6 | courier missions for a single agent. 7 | 8 | -- GliderPro 9 | */ 10 | 11 | /* obj_Courier is a "bot-mode" which is similar to a bot-module. 12 | * obj_Courier runs within the obj_Freighter bot-module. It would 13 | * be very straightforward to turn obj_Courier into a independent 14 | * bot-module in the future if it outgrows its place in obj_Freighter. 15 | */ 16 | objectdef obj_Courier inherits obj_BaseClass 17 | { 18 | /* the bot logic is currently based on a state machine */ 19 | variable string CurrentState 20 | variable bool bHaveCargo = FALSE 21 | 22 | method Initialize() 23 | { 24 | ; Not a top level behavior 25 | Behaviors.Loaded:Remove[${This.ObjectName}] 26 | 27 | LogPrefix:Set["${This.ObjectName}"] 28 | 29 | ;PulseTimer:SetIntervals[0.5,1.0] 30 | ;Event[EVENT_EVEBOT_ONFRAME]:AttachAtom[This:Pulse] 31 | 32 | Logger:Log["${LogPrefix}: Initialized", LOG_MINOR] 33 | } 34 | 35 | method Shutdown() 36 | { 37 | ;Event[EVENT_EVEBOT_ONFRAME]:DetachAtom 38 | } 39 | 40 | /* NOTE: The order of these if statements is important!! */ 41 | method SetState() 42 | { 43 | ;if ${Agents.ActiveAgent.NotEqual[${Config.Freighter.AgentName}]} 44 | ;{ 45 | ; Agents:SetActiveAgent[${Config.Freighter.AgentName}] 46 | ;} 47 | 48 | ; if ${Defense.Hiding} && ${Me.InSpace} 49 | ; { 50 | ; This.CurrentState:Set["ABORT"] 51 | ; } 52 | if ${EVEBot.ReturnToStation} && !${Me.InStation} 53 | { 54 | This.CurrentState:Set["ABORT"] 55 | } 56 | elseif ${EVEBot.ReturnToStation} 57 | { 58 | This.CurrentState:Set["IDLE"] 59 | } 60 | elseif ${Agents.HaveMission} && !${bHaveCargo} 61 | { 62 | This.CurrentState:Set["PICKUP"] 63 | } 64 | elseif ${Agents.HaveMission} && ${bHaveCargo} 65 | { 66 | This.CurrentState:Set["DROPOFF"] 67 | } 68 | elseif !${Agents.HaveMission} 69 | { 70 | This.CurrentState:Set["GET_MISSION"] 71 | } 72 | else 73 | { 74 | This.CurrentState:Set["Unknown"] 75 | } 76 | } 77 | 78 | function ProcessState() 79 | { 80 | switch ${This.CurrentState} 81 | { 82 | case ABORT 83 | call Station.Dock 84 | break 85 | case GET_MISSION 86 | call Agents.MoveTo 87 | call Agents.RequestCourierMission 88 | break 89 | case PICKUP 90 | Logger:Log["obj_Courier: MoveToPickup"] 91 | call Agents.MoveToPickup 92 | call Cargo.TransferHangarItemToShip 93 | if !${Return} 94 | { 95 | EVEBot:Pause["${LogPrefix}: Failed to pickup items from station"] 96 | } 97 | bHaveCargo:Set[TRUE] 98 | break 99 | case DROPOFF 100 | Logger:Log["obj_Courier: MoveToDropOff"] 101 | call Agents.MoveToDropOff 102 | 103 | Logger:Log["obj_Courier: TurnInMission"] 104 | call Agents.TurnInMission 105 | bHaveCargo:Set[FALSE] 106 | break 107 | case IDLE 108 | break 109 | } 110 | } 111 | } 112 | 113 | -------------------------------------------------------------------------------- /Branches/Stable/Behaviors/obj_Missioneer.iss: -------------------------------------------------------------------------------- 1 | /* 2 | The missioneer object 3 | 4 | The obj_Missioneer object is the main bot module for the 5 | mission running bot. 6 | 7 | -- GliderPro 8 | */ 9 | 10 | objectdef obj_Missioneer inherits obj_BaseClass 11 | { 12 | variable string CurrentState 13 | 14 | method Initialize() 15 | { 16 | LogPrefix:Set["${This.ObjectName}"] 17 | 18 | This.PulseTimer:SetIntervals[2.0,4.0] 19 | Event[EVENT_ONFRAME]:AttachAtom[This:Pulse] 20 | 21 | Logger:Log["${LogPrefix}: Initialized", LOG_MINOR] 22 | } 23 | 24 | method Pulse() 25 | { 26 | if ${EVEBot.Paused} 27 | { 28 | return 29 | } 30 | 31 | if ${This.PulseTimer.Ready} 32 | { 33 | This:SetState 34 | This.PulseTimer:Update 35 | } 36 | } 37 | 38 | method Shutdown() 39 | { 40 | Event[EVENT_ONFRAME]:DetachAtom[This:Pulse] 41 | } 42 | 43 | /* NOTE: The order of these if statements is important!! */ 44 | method SetState() 45 | { 46 | if ${Config.Common.CurrentBehavior.NotEqual[Missioneer]} 47 | { 48 | return 49 | } 50 | 51 | ; if ${Defense.Hiding} 52 | ; { 53 | ; This.CurrentState:Set["IDLE"] 54 | ; } 55 | if ${EVEBot.ReturnToStation} && ${Me.InSpace} 56 | { 57 | This.CurrentState:Set["ABORT"] 58 | } 59 | elseif ${EVEBot.ReturnToStation} 60 | { 61 | This.CurrentState:Set["IDLE"] 62 | } 63 | elseif ${This.CurentState.Equal["RUN_MISSION"]} 64 | { 65 | return 66 | } 67 | elseif ${Agents.HaveMission} 68 | { 69 | This.CurrentState:Set["RUN_MISSION"] 70 | } 71 | else 72 | { 73 | This.CurrentState:Set["GET_MISSION"] 74 | } 75 | } 76 | 77 | function ProcessState() 78 | { 79 | if ${Config.Common.CurrentBehavior.NotEqual[Missioneer]} 80 | { 81 | return 82 | } 83 | 84 | switch ${This.CurrentState} 85 | { 86 | case ABORT 87 | call Station.Dock 88 | break 89 | case GET_MISSION 90 | Agents:PickAgent 91 | call Agents.MoveTo 92 | call Agents.RequestMission 93 | break 94 | case RUN_MISSION 95 | call Missions.RunMission 96 | break 97 | case IDLE 98 | break 99 | } 100 | } 101 | } 102 | 103 | -------------------------------------------------------------------------------- /Branches/Stable/Data/EVEDB_Items.sql: -------------------------------------------------------------------------------- 1 | SELECT 2 | concat('\t\t', '\n', 3 | '\t\t\t', typeID, '', '\n', 4 | '\t\t\t', groupID, '', '\n', 5 | '\t\t\t', volume, '', '\n', 6 | '\t\t\t', capacity, '', '\n', 7 | '\t\t\t', portionSize, '', '\n', 8 | '\t\t\t', basePrice, '', '\n', 9 | '\t\t' 10 | ) as SetString 11 | FROM `invTypes` 12 | order by typeName 13 | INTO OUTFILE '/tmp/EVEDB_Items_Stable.xml' 14 | FIELDS ESCAPED BY '' 15 | LINES TERMINATED BY '\r\n' 16 | '\t\t\t', marketGroupID, '', '\n', 17 | 18 | This export is missing all items which are not sold on the market, because concat gets rid of null rows and MarketGroupID is null 19 | -------------------------------------------------------------------------------- /Branches/Stable/Data/EVEDB_Items_As_Attributes.sql: -------------------------------------------------------------------------------- 1 | ; Reference: http://wiki.eve-id.net/Database_Tables_-_Inventory 2 | 3 | SELECT 4 | concat_ws('','\t\t0') as SetString 15 | FROM `invTypes` 16 | left outer join dgmTypeAttributes as metalevel on metalevel.typeID = invTypes.typeID and metalevel.attributeID=633 17 | left outer join dgmTypeAttributes as weaponRangeMultiplier on weaponRangeMultiplier.typeID = invTypes.typeID and weaponRangeMultiplier.attributeID=120 18 | left outer join dgmTypeAttributes as techLevel on techLevel.typeID = invTypes.typeID and techLevel.attributeID=422 19 | order by invTypes.typeID 20 | INTO OUTFILE '/tmp/EVEDB_Items.xml' 21 | FIELDS ESCAPED BY '' 22 | LINES TERMINATED BY '\r\n'; 23 | 24 | 25 | ; attributeID 633 is metalevel 26 | 27 | ; Dont forget to replace & with & in new file before committing! 28 | ; " => " 29 | 30 | ;SELECT stationID, solarSystemID, stationName 31 | ;FROM staStations 32 | 33 | SELECT 34 | concat_ws('',' 0') as SetString 35 | FROM `staStations` 36 | order by staStations.solarSystemID 37 | into outfile '/tmp/EVEDB_Stations.xml' 38 | 39 | SELECT 40 | * FROM dgmTypeAttributes as dta 41 | left outer join dgmAttributeTypes as dat on dat.attributeID = dta.attributeID; -------------------------------------------------------------------------------- /Branches/Stable/Docs/svn2html.css: -------------------------------------------------------------------------------- 1 | body { 2 | background-color: white; 3 | color: black; 4 | margin-left: 1.5em; 5 | margin-right: 1.5em; 6 | margin-top: 1.5em; 7 | margin-bottom: 1em; 8 | } 9 | 10 | ul.changelog_entries { 11 | margin-left: 0.7em; 12 | margin-right: 0.7em; 13 | padding-left: 0.7em; 14 | padding-right: 0.7em; 15 | padding-bottom: 0.7em; 16 | background: #fefefe; 17 | border: 1px dashed #88aa88; 18 | } 19 | 20 | li.changelog_entry { 21 | list-style-type: none; 22 | margin-left: 0px; 23 | padding-left: 0px; 24 | margin-top: 0.8em; 25 | border-top: 1px solid #dddddd; 26 | background: #f8f8f8; 27 | } 28 | 29 | li.changelog_change { 30 | list-style-type: circle; 31 | margin-left: 4em; 32 | } 33 | 34 | span.changelog_date { 35 | color: black; 36 | } 37 | 38 | span.changelog_author { 39 | color: #111188; 40 | } 41 | 42 | .changelog_revision { 43 | font-size: 80%; 44 | color: #881111; 45 | background: #fff4f4; 46 | } 47 | 48 | .changelog_revision a { 49 | color: inherit; 50 | } 51 | 52 | .changelog_files { 53 | font-size: 80%; 54 | font-family: monospace; 55 | color: #116611; 56 | } 57 | 58 | .changelog_files:after { 59 | content: ':'; 60 | } 61 | 62 | .changelog_message { 63 | display: block; 64 | color: #220000; 65 | } 66 | 67 | p.changelog_footer { 68 | margin-top: 1.5em; 69 | margin-left: 0.7em; 70 | font-style: italic; 71 | line-height: 90%; 72 | color: gray; 73 | font-family: Helvetica, Arial, sans-serif; 74 | } 75 | 76 | p.changelog_footer a { 77 | text-decoration: none; 78 | color: inherit; 79 | } 80 | -------------------------------------------------------------------------------- /Branches/Stable/Launcher.iss: -------------------------------------------------------------------------------- 1 | /* 2 | */ 3 | 4 | function main(string unchar="", bool StartBot=FALSE) 5 | { 6 | if !${LavishScript.Executable.Find["ExeFile.exe"](exists)} 7 | { 8 | Script:End 9 | } 10 | 11 | Display.Window:Flash 12 | echo "*******************************************" 13 | echo "\arYou are using a branch of EVEBot that has been deprecated - your launcher and support scripts are not being updated" 14 | echo "\ayPlease see http://eve.isxgames.com/wiki/index.php?title=EVEBot_for_Dummies#How_to_get_EVEBot\ax" 15 | echo "\ayfor instructions on installing the 'Install' branch of EVEBot, which has a vastly updated launcher\ax" 16 | echo "*******************************************" 17 | Console:Open 18 | return 19 | } 20 | -------------------------------------------------------------------------------- /Branches/Stable/Lib/obj_Mutex.iss: -------------------------------------------------------------------------------- 1 | /* 2 | Mutex Class 3 | 4 | Provides mutex variables for exclusive access to controlled resource. 5 | 6 | -- CyberTech 7 | 8 | */ 9 | 10 | objectdef obj_Mutex 11 | { 12 | variable bool _Locked = FALSE 13 | 14 | member:bool TryLock(int TimeoutSeconds) 15 | { 16 | if ${_Locked} 17 | { 18 | return FALSE 19 | } 20 | 21 | _Locked:Set[TRUE] 22 | return TRUE 23 | } 24 | 25 | function TryLockWait(int TimeoutSeconds) 26 | { 27 | while ${_Locked} 28 | { 29 | waitframe 30 | ; TODO: Return false if lock not aquired in TimeOutSeconds 31 | } 32 | 33 | _Locked:Set[TRUE] 34 | return TRUE 35 | } 36 | 37 | member:bool Release() 38 | { 39 | _Locked:Set[FALSE] 40 | } 41 | } -------------------------------------------------------------------------------- /Branches/Stable/Lib/obj_Vector.iss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyberTech/EVEBot/7414f9882775e10b087feddea728f45e504b9e9a/Branches/Stable/Lib/obj_Vector.iss -------------------------------------------------------------------------------- /Branches/Stable/config/Launcher_example.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | FALSE 7 | 8 | username1 9 | password1 10 | char1 11 | 0 12 | 13 | 14 | 15 | TRUE 16 | 17 | username2 18 | password2 19 | char2 20 | 0 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /Branches/Stable/config/Sample User Agents.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 1 6 | 1 7 | 1 8 | 1 9 | 1 10 | 1 11 | 1 12 | 1 13 | 1 14 | 1 15 | 1 16 | 1 17 | 18 | 19 | 1 20 | 1 21 | 1 22 | 23 | -------------------------------------------------------------------------------- /Branches/Stable/core/obj_Ammospots.iss: -------------------------------------------------------------------------------- 1 | /* 2 | Ammospots Object 3 | 4 | Creates an index of ammo bookmarks that exist in current system. 5 | Code copied from obj_Safespots.iss and modified. 6 | 7 | -- NoOne 8 | 9 | */ 10 | objectdef obj_Ammospots 11 | { 12 | variable index:bookmark AmmoSpots 13 | variable iterator AmmoSpotIterator 14 | 15 | method Initialize() 16 | { 17 | Logger:Log["obj_Ammospots: Initialized", LOG_MINOR] 18 | } 19 | 20 | method ResetAmmoSpotList() 21 | { 22 | AmmoSpots:Clear 23 | EVE:GetBookmarks[AmmoSpots] 24 | 25 | variable int idx 26 | idx:Set[${AmmoSpots.Used}] 27 | 28 | while ${idx} > 0 29 | { 30 | variable string Prefix 31 | Prefix:Set[${Config.Labels.AmmoPrefix}] 32 | 33 | variable string Label 34 | Label:Set["${AmmoSpots.Get[${idx}].Label.Escape}"] 35 | if ${Label.Left[${Prefix.Length}].NotEqual[${Prefix}]} 36 | { 37 | AmmoSpots:Remove[${idx}] 38 | } 39 | elseif ${AmmoSpots.Get[${idx}].SolarSystemID} != ${Me.SolarSystemID} 40 | { 41 | AmmoSpots:Remove[${idx}] 42 | } 43 | 44 | idx:Dec 45 | } 46 | AmmoSpots:Collapse 47 | AmmoSpots:GetIterator[AmmoSpotIterator] 48 | 49 | Logger:Log["ResetAmmoSpotList found ${AmmoSpots.Used} ammospots in this system."] 50 | } 51 | 52 | function WarpToNextAmmoSpot() 53 | { 54 | if ${AmmoSpots.Used} == 0 55 | { 56 | This:ResetAmmoSpotList 57 | } 58 | 59 | if ${AmmoSpots.Get[1](exists)} && ${AmmoSpots.Get[1].SolarSystemID} != ${Me.SolarSystemID} 60 | { 61 | This:ResetAmmoSpotList 62 | } 63 | 64 | if !${AmmoSpotIterator:Next(exists)} 65 | { 66 | AmmoSpotIterator:First 67 | } 68 | 69 | if ${AmmoSpotIterator.Value(exists)} 70 | { 71 | Logger:Log["Debug: WarpToBookMarkName to ${AmmoSpotIterator.Value.Name} from Ammospots Line _LINE_ ", LOG_DEBUG] 72 | call Ship.WarpToBookMark ${AmmoSpotIterator.Value.ID} 73 | } 74 | else 75 | { 76 | Logger:Log["ERROR: obj_Ammospots.WarpToNextAmmoSpot found an invalid bookmark!"] 77 | } 78 | } 79 | 80 | member:bool IsAtAmmospot() 81 | { 82 | if ${AmmoSpots.Used} == 0 83 | { 84 | This:ResetAmmoSpotList 85 | } 86 | 87 | ; Are we within warp range of the bookmark? 88 | if ${AmmoSpotIterator.Value.ItemID} > -1 89 | { 90 | if ${Me.ToEntity.DistanceTo[${AmmoSpotIterator.Value.ItemID}]} < WARP_RANGE 91 | { 92 | return TRUE 93 | } 94 | } 95 | elseif ${Math.Distance[${Me.ToEntity.X}, ${Me.ToEntity.Y}, ${Me.ToEntity.Z}, ${AmmoSpotIterator.Value.X}, ${AmmoSpotIterator.Value.Y}, ${AmmoSpotIterator.Value.Z}]} < WARP_RANGE 96 | { 97 | return TRUE 98 | } 99 | 100 | return FALSE 101 | } 102 | 103 | function WarpTo() 104 | { 105 | call This.WarpToNextAmmoSpot 106 | } 107 | 108 | ; Does an Ammo Bookmark exist in this system? 109 | member:bool IsThereAmmospotBookmark() 110 | { 111 | if ${AmmoSpots.Used} == 0 112 | { 113 | This:ResetAmmoSpotList 114 | } 115 | ; Check one last time after resetting list 116 | if ${AmmoSpots.Used} == 0 117 | { 118 | return FALSE 119 | } 120 | return TRUE 121 | } 122 | } 123 | 124 | -------------------------------------------------------------------------------- /Branches/Stable/core/obj_Assets.iss: -------------------------------------------------------------------------------- 1 | /* 2 | Assets class 3 | 4 | Object to contain members related to asset activities. 5 | 6 | -- GliderPro 7 | 8 | */ 9 | 10 | objectdef obj_Assets 11 | { 12 | variable queue:int64 StationsWithAssets 13 | variable index:int64 IgnoreTheseStations 14 | 15 | method Initialize() 16 | { 17 | IgnoreTheseStations:Clear[] 18 | Logger:Log["obj_Assets: Initialized", LOG_MINOR] 19 | } 20 | 21 | method UpdateList() 22 | { 23 | variable index:int64 AnIndex 24 | variable iterator AnIterator 25 | 26 | StationsWithAssets:Clear[] 27 | ;;; WHY WHY WHY DOESN'T THIS WORK??? Me:GetStationsWithAssets[AnIndex] 28 | Me:GetStationsWithAssets[AnIndex] 29 | AnIndex:GetIterator[AnIterator] 30 | 31 | if ${AnIterator:First(exists)} 32 | { 33 | do 34 | { 35 | StationsWithAssets:Queue[${AnIterator.Value}] 36 | } 37 | while ${AnIterator:Next(exists)} 38 | } 39 | 40 | Logger:Log["Assets:UpdateList found ${StationsWithAssets.Used} stations with assets."] 41 | } 42 | 43 | method IgnoreStation(int64 stationID) 44 | { 45 | IgnoreTheseStations:Insert[${stationID}] 46 | Logger:Log["Assets module will ignore ${EVE.GetLocationNameByID[${stationID}]}."] 47 | } 48 | 49 | member:bool IsIgnored(int64 stationID) 50 | { 51 | variable iterator AnIterator 52 | 53 | ;;;Logger:Log["DEBUG: Assets.IsIgnored(${stationID})"] 54 | IgnoreTheseStations:GetIterator[AnIterator] 55 | if ${AnIterator:First(exists)} 56 | { 57 | do 58 | { 59 | if ${stationID.Equal[${AnIterator.Value}]} 60 | { 61 | ;;;Logger:Log["DEBUG: Assets.IsIgnored returning TRUE."] 62 | return TRUE 63 | } 64 | } 65 | while ${AnIterator:Next(exists)} 66 | } 67 | 68 | ;;;Logger:Log["DEBUG: Assets.IsIgnored returning FALSE."] 69 | return FALSE 70 | } 71 | 72 | member:int NextStation() 73 | { 74 | variable int64 nextStatonID 75 | 76 | if ${StationsWithAssets.Used} == 0 77 | { 78 | This:UpdateList[] 79 | } 80 | 81 | nextStatonID:Set[0] 82 | while ${StationsWithAssets.Peek(exists)} && !${nextStatonID} 83 | { 84 | if !${This.IsIgnored[${StationsWithAssets.Peek}]} 85 | { 86 | nextStatonID:Set[${StationsWithAssets.Peek}] 87 | } 88 | 89 | StationsWithAssets:Dequeue[] 90 | } 91 | 92 | ;;;Logger:Log["DEBUG: Assets.NextStation returning ${nextStatonID}."] 93 | return ${nextStatonID} 94 | } 95 | 96 | member:string SolarSystem(int64 stationID) 97 | { 98 | variable string tmp_string 99 | variable int spaces 100 | variable string last_token 101 | variable int last_token_pos 102 | 103 | tmp_string:Set[${EVE.GetLocationNameByID[${stationID}]}] 104 | if ${tmp_string.Find["("]} > 0 105 | { 106 | tmp_string:Set[${tmp_string.Token[1,"("]}] 107 | } 108 | else 109 | { 110 | tmp_string:Set[${tmp_string.Token[1,"-"]}] 111 | } 112 | spaces:Set[${tmp_string.Count[" "]}] 113 | last_token:Set[${tmp_string.Token[${Math.Calc[${spaces}+1]}," "]}] 114 | last_token_pos:Set[${tmp_string.Find[" ${last_token}"]}] 115 | tmp_string:Set[${tmp_string.Left[${last_token_pos}]}] 116 | 117 | return ${tmp_string} 118 | } 119 | } 120 | -------------------------------------------------------------------------------- /Branches/Stable/core/obj_Autopilot.iss: -------------------------------------------------------------------------------- 1 | /* 2 | Autopilot Class 3 | 4 | This class will contain funtions for navigating space. It is intended 5 | to support a bot class that has traveling functions. 6 | 7 | -- GliderPro 8 | */ 9 | 10 | objectdef obj_Autopilot 11 | { 12 | variable int Destination 13 | variable int IsLowSecRoute 14 | variable index:int Path 15 | variable iterator PathIterator 16 | 17 | 18 | method Initialize() 19 | { 20 | This.IsLowSecRoute:Set[-999] 21 | Logger:Log["obj_Autopilot: Initialized", LOG_MINOR] 22 | } 23 | 24 | /* 25 | Given an entity (or character) ID determine if that item 26 | is in the current system. 27 | */ 28 | member:bool IsEntityLocal(int64 id) 29 | { 30 | return FALSE 31 | } 32 | 33 | /* 34 | Given a system ID set the autopilot destination to that system. 35 | */ 36 | method SetDestination(int64 id) 37 | { 38 | if ${id.Equal[${This.Destination}]} 39 | { 40 | return 41 | } 42 | 43 | Logger:Log["obj_Autopilot: Setting destination to ${Universe[${id}]}"] 44 | This.Destination:Set[${id}] 45 | Universe[${id}]:SetDestination 46 | This.IsLowSecRoute:Set[-999] 47 | } 48 | 49 | /* 50 | Return TRUE if there are low-sec systems in our route. 51 | */ 52 | member:bool LowSecRoute() 53 | { 54 | if ${This.IsLowSecRoute} == -999 55 | { 56 | 57 | EVE:GetToDestinationPath[This.Path] 58 | This.Path:GetIterator[This.PathIterator] 59 | 60 | ;;Logger:Log["obj_Autopilot: DEBUG: ${Universe[${This.Destination}]} is ${This.Path.Used} jumps away."] 61 | if ${This.PathIterator:First(exists)} 62 | { 63 | do 64 | { 65 | ;;Logger:Log["obj_Autopilot: DEBUG: ${This.PathIterator.Value} ${Universe[${This.PathIterator.Value}]} (${Universe[${This.PathIterator.Value}].Security})"] 66 | if ${This.PathIterator.Value} > 0 && ${Universe[${This.PathIterator.Value}].Security} <= 0.45 67 | { 68 | Logger:Log["obj_Autopilot: Low-Sec system found"] 69 | This.IsLowSecRoute:Set[TRUE] 70 | break 71 | } 72 | } 73 | while ${This.PathIterator:Next(exists)} 74 | } 75 | } 76 | 77 | return ${This.IsLowSecRoute} 78 | } 79 | 80 | /* 81 | Return the system ID for the next system in the autopilot path. 82 | */ 83 | member:int NextSystemEnroute() 84 | { 85 | } 86 | 87 | /* 88 | Return the next stargate (entity ID) for the next stargate 89 | in the autopilot path. 90 | */ 91 | member:int NextStargateEnroute() 92 | { 93 | } 94 | } -------------------------------------------------------------------------------- /Branches/Stable/core/obj_Bookmarks.iss: -------------------------------------------------------------------------------- 1 | /* 2 | Bookmark class 3 | 4 | Manages dynamic bookmarks for EVEBot 5 | 6 | -- CyberTech 7 | 8 | */ 9 | 10 | objectdef obj_Bookmarks 11 | { 12 | variable index:string TemporaryBookMarks 13 | variable string StoredLocation = "" 14 | 15 | method Initialize() 16 | { 17 | Logger:Log["obj_Bookmarks: Initialized", LOG_MINOR] 18 | } 19 | 20 | method Shutdown() 21 | { 22 | } 23 | 24 | method StoreLocation() 25 | { 26 | Logger:Log["Storing current location"] 27 | ;This.StoredLocation:Set["${Me.Name} ${Math.Rand[500000]:Inc[100000]}"] 28 | This.StoredLocation:Set["${Math.Rand[5000]:Inc[1000]}"] 29 | 30 | /* Create the bookmark, but don't mark it as temporary, we'll handle it's cleanup thru RemoveStoredLocation */ 31 | This:CreateBookMark[FALSE, "${This.StoredLocation}"] 32 | } 33 | 34 | member:bool CheckForStoredLocation() 35 | { 36 | return ${StoredLocation.Length} != 0 37 | } 38 | 39 | method RemoveStoredLocation() 40 | { 41 | if ${This.StoredLocationExists} 42 | { 43 | EVE.Bookmark["${This.StoredLocation}"]:Remove 44 | StoredLocation:Set[""] 45 | } 46 | } 47 | 48 | member StoredLocationExists() 49 | { 50 | if ${This.StoredLocation.Length} > 0 51 | { 52 | return ${EVE.Bookmark["${This.StoredLocation}"](exists)} 53 | } 54 | return FALSE 55 | } 56 | 57 | ; Create a bookmark for the current location in space (or in station) 58 | method CreateBookMark(bool Temporary=FALSE, string Label="Default") 59 | { 60 | if ${Label.Equal["Default"]} 61 | { 62 | Label:Set["${Me.Name} ${Math.Rand[500000]:Inc[100000]}"] 63 | } 64 | 65 | EVE:CreateBookmark["${Label}"] 66 | if ${Temporary} 67 | { 68 | ;Logger:Log["CreateBookMark: Label - ${Label} (Temporary)"] 69 | TemporaryBookMarks:Insert[${Label}] 70 | } 71 | else 72 | { 73 | ;Logger:Log["CreateBookMark: Label - ${Label}"] 74 | } 75 | } 76 | 77 | member:int64 FindRandomBounceBookmark() 78 | { 79 | variable index:bookmark bm_index 80 | EVE:GetBookmarks[bm_index] 81 | 82 | variable string InstaQuery 83 | InstaQuery:Concat["SolarSystemID = ${Me.SolarSystemID}"] 84 | InstaQuery:Concat[" && Distance > WARP_RANGE"] 85 | InstaQuery:Concat[" && Distance > 500000"] 86 | InstaQuery:Concat[" && IsWarpAligned = 1"] 87 | bm_index:RemoveByQuery[${LSQueryCache[${InstaQuery}]}, FALSE] 88 | bm_index:Collapse 89 | 90 | if ${bm_index.Used} == 0 91 | { 92 | ; No aligned bookmark found, so check for unaligned 93 | EVE:GetBookmarks[bm_index] 94 | 95 | InstaQuery:Set["SolarSystemID = ${Me.SolarSystemID}"] 96 | InstaQuery:Concat[" && Distance > WARP_RANGE"] 97 | InstaQuery:Concat[" && Distance > 500000"] 98 | bm_index:RemoveByQuery[${LSQueryCache[${InstaQuery}]}, FALSE] 99 | bm_index:Collapse 100 | 101 | if ${bm_index.Used} == 0 102 | { 103 | Logger:Log["FindRandomInstaUndock returning -1", LOG_DEBUG] 104 | return -1 105 | } 106 | } 107 | 108 | variable int RandomBM 109 | RandomBM:Set[${Math.Rand[${bm_index.Used}]:Inc[1]}] 110 | Logger:Log["FindRandomBounceBookmark returning ${bm_index[${RandomBM}].ID} ${bm_index[${RandomBM}].Label} ${bm_index[${RandomBM}].Distance}",LOG_DEBUG] 111 | return ${bm_index[${RandomBM}].ID} 112 | } 113 | 114 | } -------------------------------------------------------------------------------- /Branches/Stable/core/obj_Compress.iss: -------------------------------------------------------------------------------- 1 | /* 2 | Compression Class 3 | 4 | Interacting with ore in space 5 | 6 | BUGS: 7 | 8 | */ 9 | 10 | objectdef obj_Compress inherits obj_BaseClass 11 | { 12 | method Initialize() 13 | { 14 | LogPrefix:Set["${This.ObjectName}"] 15 | Logger:Log["obj_Compress: Initialized", LOG_MINOR] 16 | Logger:Log["${LogPrefix}: Initialized", LOG_MINOR] 17 | } 18 | 19 | function CheckForCompression() 20 | { 21 | Logger:Log["Debug: Loading Check for compression"] 22 | 23 | while ${Me.InSpace} 24 | { 25 | Logger:Log["Debug: Lets check if the inventory window is open"] 26 | if !${EVEWindow[Inventory](exists)} 27 | { 28 | echo "Opening Inventory..." 29 | EVE:Execute[OpenInventory] 30 | wait 10 31 | } 32 | Logger:Log["Debug: Lets make our ore hold the active window"] 33 | EVEWindow[Inventory].ChildWindow[${MyShip.ID}, ShipGeneralMiningHold]:MakeActive 34 | wait 50 35 | 36 | Logger:Log["Debug: Lets lets add everything in our ore hold to a list of items"] 37 | 38 | variable index:item MyOre 39 | EVEWindow[Inventory].ChildWindow[${MyShip.ID}, ShipGeneralMiningHold]:GetItems[MyOre] 40 | wait 10 41 | echo "Compiling Ore In Hold" 42 | Logger:Log["Debug: Ship Mining Hold contains ${MyOre.Used}"] 43 | Logger:Log["Debug: Now that we have a list lets set it to an iterator"] 44 | 45 | variable iterator OreIterator 46 | MyOre:GetIterator[OreIterator] 47 | wait 10 48 | Logger:Log["Debug: #1"] 49 | if ${OreIterator:First(exists)} 50 | { 51 | Logger:Log["Debug: Iterator shows it has items in its list lets check if we can open the compression window"] 52 | do 53 | { 54 | echo "Open compression window" 55 | OreIterator.Value:Compress 56 | wait 10 57 | } 58 | while ${OreIterator:Next(exists)} 59 | wait 10 60 | wait ${Math.Rand[30]} 61 | Logger:Log["Debug: Lets Try To Compress"] 62 | EVEWindow[ByCaption, Compression].Button[compress_button]:Press 63 | wait 16 64 | wait ${Math.Rand[30]} 65 | Logger:Log["Debug: Lets close the window"] 66 | EVEWindow[ByCaption, Compression].Button[cancel_button]:Press 67 | } 68 | break 69 | } 70 | 71 | } 72 | } -------------------------------------------------------------------------------- /Branches/Stable/core/obj_Items.iss: -------------------------------------------------------------------------------- 1 | objectdef obj_EVEDB_Items 2 | { 3 | variable string CONFIG_FILE = "${BaseConfig.CONFIG_PATH}/EVEDB_Items.xml" 4 | variable string SET_NAME = "EVEDB_Items" 5 | 6 | method Initialize() 7 | { 8 | LavishSettings[${This.SET_NAME}]:Remove 9 | LavishSettings:Import[${This.CONFIG_FILE}] 10 | 11 | Logger:Log["obj_EVEDB_Items: Initialized", LOG_MINOR] 12 | } 13 | 14 | method Shutdown() 15 | { 16 | LavishSettings[${This.SET_NAME}]:Remove 17 | } 18 | 19 | member:int TypeID(string itemName) 20 | { 21 | variable iterator anIterator 22 | 23 | LavishSettings[${This.SET_NAME}]:GetSettingIterator[anIterator] 24 | 25 | if ${anIterator:First(exists)} 26 | { 27 | do 28 | { 29 | if ${anIterator.Value.FindAttribute[ItemName, NOTSET].String.Equal[${itemName}]} 30 | { 31 | return ${anIterator.Key} 32 | } 33 | } 34 | while ${anIterator:Next(exists)} 35 | } 36 | 37 | return NULL 38 | } 39 | 40 | member:string Name(int TypeID) 41 | { 42 | return ${LavishSettings[${This.SET_NAME}].FindSetting[${TypeID}].FindAttribute[ItemName, NOTSET]} 43 | } 44 | 45 | member:int Metalevel(int TypeID) 46 | { 47 | return ${LavishSettings[${This.SET_NAME}].FindSetting[${TypeID}].FindAttribute[Metalevel, NOTSET]} 48 | } 49 | 50 | member:int GroupID(int TypeID) 51 | { 52 | return ${LavishSettings[${This.SET_NAME}].FindSetting[${TypeID}].FindAttribute[GroupID, NOTSET]} 53 | } 54 | 55 | member:float Volume(int TypeID) 56 | { 57 | return ${LavishSettings[${This.SET_NAME}].FindSetting[${TypeID}].FindAttribute[Volume, NOTSET]} 58 | } 59 | 60 | member:int Capacity(int TypeID) 61 | { 62 | return ${LavishSettings[${This.SET_NAME}].FindSetting[${TypeID}].FindAttribute[Capacity, NOTSET]} 63 | } 64 | 65 | member:int PortionSize(int TypeID) 66 | { 67 | return ${LavishSettings[${This.SET_NAME}].FindSetting[${TypeID}].FindAttribute[PortionSize, NOTSET]} 68 | } 69 | 70 | member:float BasePrice(int TypeID) 71 | { 72 | return ${LavishSettings[${This.SET_NAME}].FindSetting[${TypeID}].FindAttribute[BasePrice, NOTSET]} 73 | } 74 | 75 | member:float WeaponRangeMultiplier(int TypeID) 76 | { 77 | return ${LavishSettings[${This.SET_NAME}].FindSetting[${TypeID}].FindAttribute[weaponRangeMultiplier, 0]} 78 | } 79 | } 80 | 81 | -------------------------------------------------------------------------------- /Branches/Stable/core/obj_Sound.iss: -------------------------------------------------------------------------------- 1 | /* 2 | Sound class 3 | 4 | Object to handle playing sounds. 5 | 6 | -- GliderPro 7 | 8 | */ 9 | 10 | objectdef obj_Sound 11 | { 12 | variable int m_LastSoundTime 13 | variable int m_SoundDelay 14 | 15 | method Initialize() 16 | { 17 | m_LastSoundTime:Set[${LavishScript.RunningTime}] 18 | m_SoundDelay:Set[15000] /* milliseconds */ 19 | uplink Speech:Initialize 20 | 21 | Logger:Log["obj_Sound: Initialized", LOG_MINOR] 22 | } 23 | 24 | function PlaySound(string Filename) 25 | { 26 | if !${Config.Common.UseSound} 27 | return 28 | 29 | if ${Math.Calc64[${m_LastSoundTime} + ${m_SoundDelay}]} < ${LavishScript.RunningTime} 30 | { 31 | PlaySound "${Filename}" 32 | ;System:APICall[${System.GetProcAddress[WinMM.dll,PlaySound].Hex},Filename.String,0,"Math.Dec[22001]"] 33 | m_LastSoundTime:Set[${LavishScript.RunningTime}] 34 | } 35 | } 36 | 37 | function PlayAlarmSound() 38 | { 39 | call This.PlaySound ALARMSOUND 40 | } 41 | 42 | function PlayDetectSound() 43 | { 44 | call This.PlaySound DETECTSOUND 45 | } 46 | 47 | function PlayTellSound() 48 | { 49 | call This.PlaySound TELLSOUND 50 | } 51 | 52 | function PlayLevelSound() 53 | { 54 | call This.PlaySound LEVELSOUND 55 | } 56 | 57 | function PlayWarningSound() 58 | { 59 | call This.PlaySound WARNSOUND 60 | } 61 | 62 | method Speak(string Phrase, float speed=0.7) 63 | { 64 | if !${Config.Common.UseSound} 65 | return 66 | 67 | ; Spelling below is to help the speech engine prononce it right since we don't have PromptBuilder support for the speech SDK in IS 68 | uplink Speech:Speak[-speed,${Speed},"EEVEBautt: ${Phrase}"] 69 | } 70 | } 71 | -------------------------------------------------------------------------------- /Branches/Stable/interface/eveskin/MainGUI/Button-Up.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyberTech/EVEBot/7414f9882775e10b087feddea728f45e504b9e9a/Branches/Stable/interface/eveskin/MainGUI/Button-Up.png -------------------------------------------------------------------------------- /Branches/Stable/interface/eveskin/MainGUI/CheckBox.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyberTech/EVEBot/7414f9882775e10b087feddea728f45e504b9e9a/Branches/Stable/interface/eveskin/MainGUI/CheckBox.png -------------------------------------------------------------------------------- /Branches/Stable/interface/eveskin/MainGUI/ComboBox.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyberTech/EVEBot/7414f9882775e10b087feddea728f45e504b9e9a/Branches/Stable/interface/eveskin/MainGUI/ComboBox.png -------------------------------------------------------------------------------- /Branches/Stable/interface/eveskin/MainGUI/Unused/MainWindow-Bottom.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyberTech/EVEBot/7414f9882775e10b087feddea728f45e504b9e9a/Branches/Stable/interface/eveskin/MainGUI/Unused/MainWindow-Bottom.png -------------------------------------------------------------------------------- /Branches/Stable/interface/eveskin/MainGUI/Unused/MainWindow-TopTitleBar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyberTech/EVEBot/7414f9882775e10b087feddea728f45e504b9e9a/Branches/Stable/interface/eveskin/MainGUI/Unused/MainWindow-TopTitleBar.png -------------------------------------------------------------------------------- /Branches/Stable/interface/eveskin/MainGUI/Unused/button_about.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyberTech/EVEBot/7414f9882775e10b087feddea728f45e504b9e9a/Branches/Stable/interface/eveskin/MainGUI/Unused/button_about.png -------------------------------------------------------------------------------- /Branches/Stable/interface/eveskin/MainGUI/Unused/button_combat.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyberTech/EVEBot/7414f9882775e10b087feddea728f45e504b9e9a/Branches/Stable/interface/eveskin/MainGUI/Unused/button_combat.png -------------------------------------------------------------------------------- /Branches/Stable/interface/eveskin/MainGUI/Unused/button_fitting.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyberTech/EVEBot/7414f9882775e10b087feddea728f45e504b9e9a/Branches/Stable/interface/eveskin/MainGUI/Unused/button_fitting.png -------------------------------------------------------------------------------- /Branches/Stable/interface/eveskin/MainGUI/Unused/button_main.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyberTech/EVEBot/7414f9882775e10b087feddea728f45e504b9e9a/Branches/Stable/interface/eveskin/MainGUI/Unused/button_main.png -------------------------------------------------------------------------------- /Branches/Stable/interface/eveskin/MainGUI/Unused/button_market.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyberTech/EVEBot/7414f9882775e10b087feddea728f45e504b9e9a/Branches/Stable/interface/eveskin/MainGUI/Unused/button_market.png -------------------------------------------------------------------------------- /Branches/Stable/interface/eveskin/MainGUI/Unused/button_mining.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyberTech/EVEBot/7414f9882775e10b087feddea728f45e504b9e9a/Branches/Stable/interface/eveskin/MainGUI/Unused/button_mining.png -------------------------------------------------------------------------------- /Branches/Stable/interface/eveskin/MainGUI/Unused/button_options.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyberTech/EVEBot/7414f9882775e10b087feddea728f45e504b9e9a/Branches/Stable/interface/eveskin/MainGUI/Unused/button_options.png -------------------------------------------------------------------------------- /Branches/Stable/interface/eveskin/MainGUI/Unused/button_skills.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyberTech/EVEBot/7414f9882775e10b087feddea728f45e504b9e9a/Branches/Stable/interface/eveskin/MainGUI/Unused/button_skills.png -------------------------------------------------------------------------------- /Branches/Stable/interface/eveskin/MainGUI/button_close.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyberTech/EVEBot/7414f9882775e10b087feddea728f45e504b9e9a/Branches/Stable/interface/eveskin/MainGUI/button_close.png -------------------------------------------------------------------------------- /Branches/Stable/interface/eveskin/MainGUI/button_empty.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyberTech/EVEBot/7414f9882775e10b087feddea728f45e504b9e9a/Branches/Stable/interface/eveskin/MainGUI/button_empty.png -------------------------------------------------------------------------------- /Branches/Stable/interface/eveskin/MainGUI/button_empty_highlight.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyberTech/EVEBot/7414f9882775e10b087feddea728f45e504b9e9a/Branches/Stable/interface/eveskin/MainGUI/button_empty_highlight.png -------------------------------------------------------------------------------- /Branches/Stable/interface/eveskin/MainGUI/button_empty_selected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyberTech/EVEBot/7414f9882775e10b087feddea728f45e504b9e9a/Branches/Stable/interface/eveskin/MainGUI/button_empty_selected.png -------------------------------------------------------------------------------- /Branches/Stable/interface/eveskin/MainGUI/button_fill.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyberTech/EVEBot/7414f9882775e10b087feddea728f45e504b9e9a/Branches/Stable/interface/eveskin/MainGUI/button_fill.png -------------------------------------------------------------------------------- /Branches/Stable/interface/eveskin/MainGUI/button_left.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyberTech/EVEBot/7414f9882775e10b087feddea728f45e504b9e9a/Branches/Stable/interface/eveskin/MainGUI/button_left.png -------------------------------------------------------------------------------- /Branches/Stable/interface/eveskin/MainGUI/button_left_long.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyberTech/EVEBot/7414f9882775e10b087feddea728f45e504b9e9a/Branches/Stable/interface/eveskin/MainGUI/button_left_long.png -------------------------------------------------------------------------------- /Branches/Stable/interface/eveskin/MainGUI/button_minimize.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyberTech/EVEBot/7414f9882775e10b087feddea728f45e504b9e9a/Branches/Stable/interface/eveskin/MainGUI/button_minimize.png -------------------------------------------------------------------------------- /Branches/Stable/interface/eveskin/MainGUI/button_pause.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyberTech/EVEBot/7414f9882775e10b087feddea728f45e504b9e9a/Branches/Stable/interface/eveskin/MainGUI/button_pause.png -------------------------------------------------------------------------------- /Branches/Stable/interface/eveskin/MainGUI/button_plus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyberTech/EVEBot/7414f9882775e10b087feddea728f45e504b9e9a/Branches/Stable/interface/eveskin/MainGUI/button_plus.png -------------------------------------------------------------------------------- /Branches/Stable/interface/eveskin/MainGUI/button_right.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyberTech/EVEBot/7414f9882775e10b087feddea728f45e504b9e9a/Branches/Stable/interface/eveskin/MainGUI/button_right.png -------------------------------------------------------------------------------- /Branches/Stable/interface/eveskin/MainGUI/button_right_long.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyberTech/EVEBot/7414f9882775e10b087feddea728f45e504b9e9a/Branches/Stable/interface/eveskin/MainGUI/button_right_long.png -------------------------------------------------------------------------------- /Branches/Stable/interface/eveskin/MainGUI/button_run.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyberTech/EVEBot/7414f9882775e10b087feddea728f45e504b9e9a/Branches/Stable/interface/eveskin/MainGUI/button_run.png -------------------------------------------------------------------------------- /Branches/Stable/interface/eveskin/MainGUI/optionswindow_main.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyberTech/EVEBot/7414f9882775e10b087feddea728f45e504b9e9a/Branches/Stable/interface/eveskin/MainGUI/optionswindow_main.png -------------------------------------------------------------------------------- /Branches/Stable/interface/eveskin/MainGUI/optionswindow_titlebar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyberTech/EVEBot/7414f9882775e10b087feddea728f45e504b9e9a/Branches/Stable/interface/eveskin/MainGUI/optionswindow_titlebar.png -------------------------------------------------------------------------------- /Branches/Stable/interface/eveskin/MainGUI/tab_frametexture.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyberTech/EVEBot/7414f9882775e10b087feddea728f45e504b9e9a/Branches/Stable/interface/eveskin/MainGUI/tab_frametexture.png -------------------------------------------------------------------------------- /Branches/Stable/interface/eveskin/ui_sample.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyberTech/EVEBot/7414f9882775e10b087feddea728f45e504b9e9a/Branches/Stable/interface/eveskin/ui_sample.png -------------------------------------------------------------------------------- /Branches/Stable/sounds/alarm.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyberTech/EVEBot/7414f9882775e10b087feddea728f45e504b9e9a/Branches/Stable/sounds/alarm.wav -------------------------------------------------------------------------------- /Branches/Stable/sounds/death.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyberTech/EVEBot/7414f9882775e10b087feddea728f45e504b9e9a/Branches/Stable/sounds/death.wav -------------------------------------------------------------------------------- /Branches/Stable/sounds/detect.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyberTech/EVEBot/7414f9882775e10b087feddea728f45e504b9e9a/Branches/Stable/sounds/detect.wav -------------------------------------------------------------------------------- /Branches/Stable/sounds/level.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyberTech/EVEBot/7414f9882775e10b087feddea728f45e504b9e9a/Branches/Stable/sounds/level.wav -------------------------------------------------------------------------------- /Branches/Stable/sounds/taps.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyberTech/EVEBot/7414f9882775e10b087feddea728f45e504b9e9a/Branches/Stable/sounds/taps.wav -------------------------------------------------------------------------------- /Branches/Stable/sounds/tell.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyberTech/EVEBot/7414f9882775e10b087feddea728f45e504b9e9a/Branches/Stable/sounds/tell.wav -------------------------------------------------------------------------------- /Branches/Stable/sounds/warning.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyberTech/EVEBot/7414f9882775e10b087feddea728f45e504b9e9a/Branches/Stable/sounds/warning.wav -------------------------------------------------------------------------------- /Config/Config_Templates/Launcher.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | username1 7 | password1 8 | 0 9 | 10 | 11 | 12 | 13 | username2 14 | password2 15 | 0 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /EVEBot.code-workspace: -------------------------------------------------------------------------------- 1 | { 2 | "folders": [ 3 | { 4 | "path": "." 5 | }, 6 | { 7 | "path": "Testcases" 8 | }, 9 | { 10 | "path": "External" 11 | }, 12 | { 13 | "path": "Branches\\Stable" 14 | }, 15 | { 16 | "path": "Branches\\Dev" 17 | }, 18 | { 19 | "path": "..\\AbyssalMonkey" 20 | } 21 | ], 22 | "settings": { 23 | "files.exclude": { 24 | // ... 25 | // Exclude the main folders (included as workspace folders) 26 | "Testcases": true, 27 | "External": true, 28 | "Branches\\Stable": true, 29 | "Branches\\Dev": true, 30 | } 31 | } 32 | } -------------------------------------------------------------------------------- /EVECallback.iss: -------------------------------------------------------------------------------- 1 | /* EveCallback.iss - Contain the callback for the eve sessions for detecting a crash. */ 2 | 3 | /* Global instance of obj_EveCallback for the callback. */ 4 | variable(global) obj_EveCallback EVECallback 5 | #define DEBUG TRUE 6 | 7 | /* Main entry point. */ 8 | function main(... Params) 9 | { 10 | if DEBUG 11 | { 12 | echo "EveCallback Loaded" 13 | } 14 | while TRUE 15 | { 16 | waitframe 17 | } 18 | } 19 | 20 | objectdef obj_EveCallback 21 | { 22 | /* Do nothing to initialize. */ 23 | method Initialize() 24 | { 25 | 26 | } 27 | 28 | /* Do the callback. Relay the function call to the uplink, 29 | which will have a global atom for the check. */ 30 | method DoCallback() 31 | { 32 | if ${ISXEVE.Version} > 0 33 | { 34 | if DEBUG 35 | { 36 | echo "EveCallback.iss: Relaying \"uplink EVEWatcher:Update[${Session},${Me.Name}]\"" 37 | } 38 | uplink EVEWatcher:Update[${Session},${Me.Name}] 39 | } 40 | else 41 | { 42 | echo "EveCallback.iss: EVE not detected." 43 | } 44 | } 45 | } -------------------------------------------------------------------------------- /External/EVEAbandon/EveAbandon.iss: -------------------------------------------------------------------------------- 1 | function main() 2 | { 3 | variable index:entity Wrecks 4 | variable int count 5 | ui -load ./eveabandon.xml 6 | while ${UIElement[EVEAbandon].Visible} 7 | { 8 | if ${UIElement[EVEAbandon].FindUsableChild[AutoAbandon,checkbox].Checked} 9 | { 10 | Wrecks:Clear 11 | EVE:QueryEntities[Wrecks,HaveLootRights = TRUE && IsAbandoned = FALSE && GroupID = 186] 12 | echo Wrecks: ${Wrecks.Used} 13 | /* scan through and check for any non-abandoned wreck */ 14 | for ( count:Set[1] ; ${count} <= ${Wrecks.Used} ; count:Inc ) 15 | { 16 | Wrecks[${count}]:AbandonAll 17 | break 18 | } 19 | wait 100 !${UIElement[EVEAbandon].Visible} 20 | } 21 | waitframe 22 | } 23 | } 24 | 25 | function atexit() 26 | { 27 | UIElement[EVEAbandon]:Destroy 28 | } 29 | -------------------------------------------------------------------------------- /External/EVEAbandon/EveAbandon.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 200 5 | 200 6 | 140 7 | 50 8 | Auto-Abandon 9 | 10 | 11 | 10 12 | 10 13 | 120 14 | 20 15 | Abandon wrecks? 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /External/EVEBots_dotNET/C# stuff/EveBots.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 10.00 3 | # Visual Studio 2008 4 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "EveBots", "EveBots\EveBots.csproj", "{B77FAB76-6E4F-4E25-89B2-F9B5490DECA2}" 5 | EndProject 6 | Global 7 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 8 | Debug|Any CPU = Debug|Any CPU 9 | Release|Any CPU = Release|Any CPU 10 | EndGlobalSection 11 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 12 | {B77FAB76-6E4F-4E25-89B2-F9B5490DECA2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 13 | {B77FAB76-6E4F-4E25-89B2-F9B5490DECA2}.Debug|Any CPU.Build.0 = Debug|Any CPU 14 | {B77FAB76-6E4F-4E25-89B2-F9B5490DECA2}.Release|Any CPU.ActiveCfg = Release|Any CPU 15 | {B77FAB76-6E4F-4E25-89B2-F9B5490DECA2}.Release|Any CPU.Build.0 = Release|Any CPU 16 | EndGlobalSection 17 | GlobalSection(SolutionProperties) = preSolution 18 | HideSolutionNode = FALSE 19 | EndGlobalSection 20 | EndGlobal 21 | -------------------------------------------------------------------------------- /External/EVEBots_dotNET/C# stuff/EveBots/ClientsWindow.Designer.cs: -------------------------------------------------------------------------------- 1 | namespace EveBots 2 | { 3 | partial class ClientsWindow 4 | { 5 | /// 6 | /// Required designer variable. 7 | /// 8 | private System.ComponentModel.IContainer components = null; 9 | 10 | /// 11 | /// Clean up any resources being used. 12 | /// 13 | /// true if managed resources should be disposed; otherwise, false. 14 | protected override void Dispose(bool disposing) 15 | { 16 | if (disposing && (components != null)) 17 | { 18 | components.Dispose(); 19 | } 20 | base.Dispose(disposing); 21 | } 22 | 23 | #region Component Designer generated code 24 | 25 | /// 26 | /// Required method for Designer support - do not modify 27 | /// the contents of this method with the code editor. 28 | /// 29 | private void InitializeComponent() 30 | { 31 | this.listView1 = new System.Windows.Forms.ListView(); 32 | this.SuspendLayout(); 33 | // 34 | // listView1 35 | // 36 | this.listView1.Dock = System.Windows.Forms.DockStyle.Fill; 37 | this.listView1.FullRowSelect = true; 38 | this.listView1.HideSelection = false; 39 | this.listView1.Location = new System.Drawing.Point(0, 0); 40 | this.listView1.Name = "listView1"; 41 | this.listView1.Size = new System.Drawing.Size(831, 366); 42 | this.listView1.TabIndex = 0; 43 | this.listView1.UseCompatibleStateImageBehavior = false; 44 | this.listView1.View = System.Windows.Forms.View.Details; 45 | // 46 | // ClientsWindow 47 | // 48 | this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); 49 | this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; 50 | this.Controls.Add(this.listView1); 51 | this.Name = "ClientsWindow"; 52 | this.Size = new System.Drawing.Size(831, 366); 53 | this.ResumeLayout(false); 54 | 55 | } 56 | 57 | #endregion 58 | 59 | private System.Windows.Forms.ListView listView1; 60 | } 61 | } 62 | -------------------------------------------------------------------------------- /External/EVEBots_dotNET/C# stuff/EveBots/ClientsWindow.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.ComponentModel; 4 | using System.Drawing; 5 | using System.Data; 6 | using System.Text; 7 | using System.Windows.Forms; 8 | using System.Reflection; 9 | 10 | namespace EveBots 11 | { 12 | public partial class ClientsWindow : UserControl 13 | { 14 | private int _clientCount; 15 | 16 | private Dictionary _clientTable = new Dictionary(); 17 | private List _clientProperties; 18 | public ClientsWindow() 19 | { 20 | InitializeComponent(); 21 | _clientProperties = new List(); 22 | Type type = typeof(Session); 23 | foreach (PropertyInfo propertyInfo in type.GetProperties()) 24 | { 25 | _clientProperties.Add(propertyInfo.Name); 26 | listView1.Columns.Add(propertyInfo.Name); 27 | } 28 | this.DoubleBuffered = true; 29 | } 30 | public void AddClient(Session client) 31 | { 32 | _clientCount++; 33 | ListViewItem newClient = new ListViewItem(); 34 | foreach (string propertyName in _clientProperties) 35 | { 36 | if (propertyName.Equals("Name")) 37 | { 38 | newClient.Name = client.Name; 39 | newClient.Text = client.Name; 40 | } 41 | else 42 | { 43 | System.Windows.Forms.ListViewItem.ListViewSubItem subItem = new ListViewItem.ListViewSubItem(); 44 | subItem.Name = propertyName; 45 | subItem.Text = "-"; 46 | newClient.SubItems.Add(subItem); 47 | } 48 | } 49 | listView1.BeginUpdate(); 50 | listView1.Items.Add(newClient); 51 | listView1.EndUpdate(); 52 | _clientTable.Add(newClient, client); 53 | } 54 | public void UpdateClients() 55 | { 56 | listView1.BeginUpdate(); 57 | foreach (ListViewItem lvi in listView1.Items) 58 | { 59 | lvi.SubItems["ArmorPct"].Text = _clientTable[lvi].ArmorPct.ToString(); 60 | lvi.SubItems["ShieldPct"].Text = _clientTable[lvi].ShieldPct.ToString(); 61 | lvi.SubItems["CapacitorPct"].Text = _clientTable[lvi].CapacitorPct.ToString(); 62 | lvi.SubItems["Launched"].Text = _clientTable[lvi].Launched.ToString(); 63 | lvi.SubItems["Hiding"].Text = _clientTable[lvi].Hiding.ToString(); 64 | lvi.SubItems["BotMode"].Text = _clientTable[lvi].BotMode; 65 | lvi.SubItems["Ship"].Text = _clientTable[lvi].Ship; 66 | lvi.SubItems["Crashes"].Text = _clientTable[lvi].Crashes.ToString(); 67 | lvi.SubItems["LastUpdate"].Text = _clientTable[lvi].LastUpdate.ToLongTimeString(); 68 | lvi.SubItems["SessionName"].Text = _clientTable[lvi].SessionName; 69 | lvi.SubItems["Status"].Text = _clientTable[lvi].Status.ToString(); 70 | lvi.SubItems["Currentarget"].Text = _clientTable[lvi].Currentarget; 71 | lvi.Text = _clientTable[lvi].Name; 72 | lvi.Name = _clientTable[lvi].Name; 73 | } 74 | listView1.AutoResizeColumns(ColumnHeaderAutoResizeStyle.ColumnContent); 75 | listView1.EndUpdate(); 76 | } 77 | } 78 | } -------------------------------------------------------------------------------- /External/EVEBots_dotNET/C# stuff/EveBots/EVEWatcher.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | using LavishScriptAPI; 5 | 6 | namespace EveBots 7 | { 8 | public class EVEWatcher : LavishScriptObject 9 | { 10 | public EVEWatcher(LavishScriptObject obj) 11 | : base(obj) 12 | { 13 | } 14 | public void ResetCalledBack() 15 | { 16 | ExecuteMethod("ResetCalledBack"); 17 | } 18 | public void CloseSessions() 19 | { 20 | ExecuteMethod("CloseSessions"); 21 | } 22 | public void DumpSession() 23 | { 24 | ExecuteMethod("DumpSession"); 25 | } 26 | public void DumpCalledBack() 27 | { 28 | ExecuteMethod("DumpCalledBack"); 29 | } 30 | public void DumpLastUpdate() 31 | { 32 | ExecuteMethod("DumpLastUpdate"); 33 | } 34 | public string Test() 35 | { 36 | return GetMember("Testu"); 37 | } 38 | 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /External/EVEBots_dotNET/C# stuff/EveBots/MainInterface.Designer.cs: -------------------------------------------------------------------------------- 1 | namespace EveBots 2 | { 3 | partial class MainInterface 4 | { 5 | /// 6 | /// Required designer variable. 7 | /// 8 | private System.ComponentModel.IContainer components = null; 9 | 10 | /// 11 | /// Clean up any resources being used. 12 | /// 13 | /// true if managed resources should be disposed; otherwise, false. 14 | protected override void Dispose(bool disposing) 15 | { 16 | if (disposing && (components != null)) 17 | { 18 | components.Dispose(); 19 | } 20 | base.Dispose(disposing); 21 | } 22 | 23 | #region Windows Form Designer generated code 24 | 25 | /// 26 | /// Required method for Designer support - do not modify 27 | /// the contents of this method with the code editor. 28 | /// 29 | private void InitializeComponent() 30 | { 31 | System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(MainInterface)); 32 | this.panel1 = new System.Windows.Forms.Panel(); 33 | this.botControl1 = new EveBots.BotControl(); 34 | this.panel1.SuspendLayout(); 35 | this.SuspendLayout(); 36 | // 37 | // panel1 38 | // 39 | this.panel1.Controls.Add(this.botControl1); 40 | this.panel1.Dock = System.Windows.Forms.DockStyle.Fill; 41 | this.panel1.Location = new System.Drawing.Point(0, 0); 42 | this.panel1.Name = "panel1"; 43 | this.panel1.Size = new System.Drawing.Size(758, 418); 44 | this.panel1.TabIndex = 0; 45 | // 46 | // botControl1 47 | // 48 | this.botControl1.Dock = System.Windows.Forms.DockStyle.Fill; 49 | this.botControl1.Location = new System.Drawing.Point(0, 0); 50 | this.botControl1.Name = "botControl1"; 51 | this.botControl1.Size = new System.Drawing.Size(758, 418); 52 | this.botControl1.TabIndex = 0; 53 | // 54 | // MainInterface 55 | // 56 | this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); 57 | this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; 58 | this.ClientSize = new System.Drawing.Size(758, 418); 59 | this.Controls.Add(this.panel1); 60 | this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); 61 | this.Name = "MainInterface"; 62 | this.Text = "EVEBots"; 63 | this.panel1.ResumeLayout(false); 64 | this.ResumeLayout(false); 65 | 66 | } 67 | 68 | #endregion 69 | 70 | private System.Windows.Forms.Panel panel1; 71 | private BotControl botControl1; 72 | 73 | } 74 | } 75 | 76 | -------------------------------------------------------------------------------- /External/EVEBots_dotNET/C# stuff/EveBots/MainInterface.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.ComponentModel; 4 | using System.Data; 5 | using System.Drawing; 6 | using System.Text; 7 | using System.Windows.Forms; 8 | using LavishScriptAPI; 9 | using LavishVMAPI; 10 | 11 | 12 | namespace EveBots 13 | { 14 | public partial class MainInterface : Form 15 | { 16 | protected ClientsWindow _clientsWindow = new ClientsWindow(); 17 | protected ProfileControl _profileControl = new ProfileControl(); 18 | 19 | public MainInterface() 20 | { 21 | InitializeComponent(); 22 | 23 | this.panel1.Controls.Add(_profileControl); 24 | _profileControl.Dock = DockStyle.Fill; 25 | 26 | } 27 | 28 | 29 | public int UpdateClient(string[] args) 30 | { 31 | 32 | this.Invalidate(); 33 | return 1; 34 | 35 | } 36 | 37 | 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /External/EVEBots_dotNET/C# stuff/EveBots/Program.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Windows.Forms; 4 | 5 | namespace EveBots 6 | { 7 | static class Program 8 | { 9 | /// 10 | /// The main entry point for the application. 11 | /// 12 | [STAThread] 13 | static void Main() 14 | { 15 | Application.EnableVisualStyles(); 16 | Application.SetCompatibleTextRenderingDefault(false); 17 | Application.Run(new MainInterface()); 18 | } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /External/EVEBots_dotNET/EveBots.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CyberTech/EVEBot/7414f9882775e10b087feddea728f45e504b9e9a/External/EVEBots_dotNET/EveBots.exe -------------------------------------------------------------------------------- /External/EVEBots_dotNET/READ ME.txt: -------------------------------------------------------------------------------- 1 | ~~EVEBOTS Version 0.1 ~ 2 | 3 | You MUST have isboxer installed to use this! Get it from http://www.lavishsoft.com/wiki/index.php/IS:ISBoxer 4 | 5 | EVEBOTS requires you set up the following 6 | 7 | 1.The launcher script , instructions here http://eve.isxgames.com/wiki/index.php?title=Autologin 8 | You must set up a launcher profile for each character you wish to use 9 | 2. Innerspace profiles , you need to add a new innerspace profile for every character you wish to use 10 | in the startup sequence you have to add "run evebot/launcher YOURCHARACTERNAME" 11 | 3. An isboxer profile set up with a charset filled with the characters you want to use, make sure you set up each character to use the correct profile 12 | 4. For each character find evebot/config/yourcharacter.xml , replace the line "FALSE" with "TRUE" 13 | 5. Compile the project in the C# stuff directory using visual studio 2008 and place the evebots executable in innerspace/.NET Programs directory 14 | 15 | 16 | Once this is done simply type "dotnet evebots" into your innerspace console *the innerspace console NOT the one in eve , its the one you get when you double click on the innerspace icon in your system tray 17 | -------------------------------------------------------------------------------- /External/OrePriority/OrePriority.iss: -------------------------------------------------------------------------------- 1 | function main() 2 | { 3 | if !${Script[evebot](exists)} 4 | { 5 | echo Error: OrePriority requires EVEBot to be running. 6 | return 7 | } 8 | ui -load "${Script.CurrentDirectory}/OrePriorityUI.xml" 9 | while ${UIElement[OrePriority].Visible} && ${Script[evebot](exists)} 10 | wait 1 11 | } 12 | function atexit() 13 | { 14 | if ${UIElement[OrePriority](exists)} 15 | UIElement[OrePriority]:Destroy 16 | } 17 | -------------------------------------------------------------------------------- /External/OrePriority/readme.txt: -------------------------------------------------------------------------------- 1 | http://www.isxgames.com/forums/showthread.php/5543-OrePriority-On-the-fly-priority-change!-For-EVEBot-Stable-or-Stable_Beta 2 | 3 | OrePriority -- On the fly priority change! For EVEBot Stable or Stable_Beta 4 | 5 | Simple script, simple concept. Provides a UI to change priority and types of ore you wish to mine. 6 | 7 | Extract both files from the zip into scripts folder, or scripts/evebot folder, and run orepriority.iss after running EVEBot. 8 | EVEBot *MUST* be running for this script to function, but does not need to be "started". 9 | 10 | Highlight ores you wish to mine, using ctrl+click for multi-select. As soon as you click the Update button, the priorities will be 11 | hanged in the running EVEBot. EVEBot will then save them to your config file when closed. 12 | 13 | You may drag lines to sort them in the order you wish to mine. The bot will mine from top to bottom. 14 | 15 | Please note that I will not be supporting this script, and I am releasing it on an as-is basis. There may be bugs, but in general 16 | this worked for me every time I used it. 17 | 18 | -- Valarian -------------------------------------------------------------------------------- /External/evecmd/Globals.cs: -------------------------------------------------------------------------------- 1 | // Copyright 2009 Francis Crick fcrick@gmail.com 2 | // License: http://creativecommons.org/licenses/by-nc-sa/3.0/us/ 3 | 4 | using System; 5 | using System.Text; 6 | using EVE.ISXEVE; 7 | using InnerSpaceAPI; 8 | 9 | namespace evecmd 10 | { 11 | public class g 12 | { 13 | // these are already singletons, so we're just exposing them easier 14 | public static EVE.ISXEVE.EVE eve = null; 15 | public static EVE.ISXEVE.Me me = null; 16 | public static EVE.ISXEVE.ISXEVE isxeve = null; 17 | public static void Print(string format, params object[] args) 18 | { 19 | InnerSpace.Echo(String.Format(format, args)); 20 | } 21 | } 22 | } -------------------------------------------------------------------------------- /External/evecmd/MissionPage.cs: -------------------------------------------------------------------------------- 1 | // Copyright 2009 Francis Crick fcrick@gmail.com 2 | // License: http://creativecommons.org/licenses/by-nc-sa/3.0/us/ 3 | 4 | using System; 5 | using System.Collections.Generic; 6 | using System.Linq; 7 | using System.Text; 8 | using LavishScriptAPI; 9 | using LavishVMAPI; 10 | using InnerSpaceAPI; 11 | using EVE.ISXEVE; 12 | 13 | namespace evecmd 14 | { 15 | class MissionPage 16 | { 17 | string doc; 18 | 19 | // give this the HTML from a mission window, and it will allow 20 | // you to access various things from it 21 | public MissionPage(string html) 22 | { 23 | doc = html; 24 | } 25 | 26 | public string Title 27 | { 28 | get 29 | { 30 | int start = doc.IndexOf("") + "<Title>".Length; 31 | int end = doc.IndexOf(""); 32 | 33 | return doc.Substring(start, end - start); 34 | } 35 | } 36 | 37 | public int CargoID 38 | { 39 | get 40 | { 41 | int start = doc.IndexOf(" 0) 82 | { 83 | Page = new MissionPage(window.HTML); 84 | SetDone("Success"); 85 | return false; 86 | } 87 | 88 | // try opening the page if we haven't tried already 89 | if (!tried_opening) 90 | { 91 | // TODO: maybe check if the return value of this matters 92 | Util.FindMission(agent_id).GetDetails(); 93 | tried_opening = true; 94 | } 95 | return true; 96 | } 97 | } 98 | } 99 | -------------------------------------------------------------------------------- /External/evecmd/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("evecmd")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("Microsoft")] 12 | [assembly: AssemblyProduct("evecmd")] 13 | [assembly: AssemblyCopyright("Copyright © Microsoft 2009")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Setting ComVisible to false makes the types in this assembly not visible 18 | // to COM components. If you need to access a type in this assembly from 19 | // COM, set the ComVisible attribute to true on that type. 20 | [assembly: ComVisible(false)] 21 | 22 | // The following GUID is for the ID of the typelib if this project is exposed to COM 23 | [assembly: Guid("3a439207-403e-4bd6-9e42-01cccaab452e")] 24 | 25 | // Version information for an assembly consists of the following four values: 26 | // 27 | // Major Version 28 | // Minor Version 29 | // Build Number 30 | // Revision 31 | // 32 | // You can specify all the values or you can default the Build and Revision Numbers 33 | // by using the '*' as shown below: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("1.0.0.0")] 36 | [assembly: AssemblyFileVersion("1.0.0.0")] 37 | -------------------------------------------------------------------------------- /External/evecmd/evecmd.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 11.00 3 | # Visual Studio 2010 4 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "evecmd", "evecmd.csproj", "{9988B7E1-9389-4AE5-92E8-C4580A08E6B6}" 5 | EndProject 6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "EVE.ISXEVE", "..\..\..\..\ISXEVEWrapper\branches\Beta\EVE.ISXEVE.csproj", "{A9583204-C40D-4496-BB62-0F9546E5D613}" 7 | EndProject 8 | Global 9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 10 | Debug|Any CPU = Debug|Any CPU 11 | Release|Any CPU = Release|Any CPU 12 | EndGlobalSection 13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 14 | {9988B7E1-9389-4AE5-92E8-C4580A08E6B6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 15 | {9988B7E1-9389-4AE5-92E8-C4580A08E6B6}.Debug|Any CPU.Build.0 = Debug|Any CPU 16 | {9988B7E1-9389-4AE5-92E8-C4580A08E6B6}.Release|Any CPU.ActiveCfg = Release|Any CPU 17 | {9988B7E1-9389-4AE5-92E8-C4580A08E6B6}.Release|Any CPU.Build.0 = Release|Any CPU 18 | {A9583204-C40D-4496-BB62-0F9546E5D613}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 19 | {A9583204-C40D-4496-BB62-0F9546E5D613}.Debug|Any CPU.Build.0 = Debug|Any CPU 20 | {A9583204-C40D-4496-BB62-0F9546E5D613}.Release|Any CPU.ActiveCfg = Release|Any CPU 21 | {A9583204-C40D-4496-BB62-0F9546E5D613}.Release|Any CPU.Build.0 = Release|Any CPU 22 | EndGlobalSection 23 | GlobalSection(SolutionProperties) = preSolution 24 | HideSolutionNode = FALSE 25 | EndGlobalSection 26 | EndGlobal 27 | -------------------------------------------------------------------------------- /External/isxScripts/obj_LSQuery.iss: -------------------------------------------------------------------------------- 1 | /* 2 | obj_LSQuery by CyberTech 3 | 4 | Provides a class to cache commonly used Lavishscript Queries without needing to delete and 5 | recreate the query every time it is needed. 6 | 7 | See: http://www.lavishsoft.com/wiki/index.php/LavishScript:Object_Queries 8 | 9 | Queries are created and stored in obj_LSQuery, which will call FreeQuery on the query during shutdown 10 | 11 | obj_LSQueryCache stores a collection of obj_LSQuery, indexed by the query string. 12 | 13 | obj_LSQuery may be used directly, for specialized cases. 14 | 15 | Example: 16 | 17 | variable obj_LSQueryCache LSQueryCache 18 | variable uint Loop = 20 19 | 20 | while ${Loop:Dec} 21 | { 22 | echo ${LSQueryCache["Name = Fred"]} 23 | echo ${LSQueryCache["Name = Fred1"]} 24 | } 25 | 26 | -- CyberTech (cybertech@gmail.com 27 | */ 28 | 29 | objectdef obj_LSQuery 30 | { 31 | variable uint ID 32 | 33 | member Initialize(uint _ID) 34 | { 35 | ID:Set[${_ID}] 36 | } 37 | 38 | member ToText() 39 | { 40 | return ${This.ID} 41 | } 42 | 43 | method Shutdown() 44 | { 45 | LavishScript:FreeQuery[${This.ID}] 46 | } 47 | } 48 | 49 | objectdef obj_LSQueryCache 50 | { 51 | variable collection:obj_LSQuery Queries 52 | 53 | ; This checks the collection for an existing query, or, failing that, creates a new query and stores it for future use 54 | ; Returns 0 on error 55 | member:uint GetIndex(string QueryStr) 56 | { 57 | variable uint QueryID = 0 58 | 59 | if ${Queries.Element[${QueryStr}](exists)} 60 | { 61 | return ${Queries.Element[${QueryStr}].ID} 62 | } 63 | ; Query does not exist yet, we need to create it and return the new ID 64 | 65 | QueryID:Set[${LavishScript.CreateQuery[${QueryStr}]}] 66 | if ${QueryID} == 0 67 | { 68 | if ${Logger(exists)} 69 | { 70 | Logger:Log["obj_LSQueryCache: Failed LavishScript.CreateQuery[${QueryStr}]", LOG_DEBUG] 71 | } 72 | else 73 | { 74 | echo "obj_LSQueryCache: Failed LavishScript.CreateQuery[${QueryStr}]" 75 | } 76 | return 0 77 | } 78 | 79 | declarevariable NewQuery obj_LSQuery 80 | Queries:Set[${QueryStr}, ${NewQuery}] 81 | Queries.Element[${QueryStr}].ID:Set[${QueryID}] 82 | 83 | return ${QueryID} 84 | } 85 | } -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # EVEBot 2 | EVEBot - An ISXEVE Based bot for EVE Online 3 | 4 | Wiki @ https://forge.isxgames.com/projects/isxeve/wiki/EVEBot 5 | 6 | See also: https://forge.isxgames.com/projects/isxeve/wiki/EVEBot_for_Dummies 7 | -------------------------------------------------------------------------------- /Support/TestAPI.iss: -------------------------------------------------------------------------------- 1 | /* 2 | TestAPI 3 | 4 | Minimal copies of EVEBot objects required to do standalone testing of various evebot objects 5 | 6 | -- CyberTech 7 | */ 8 | 9 | #define TESTAPI_DEBUG 1 10 | 11 | #include ../Branches/Stable/core/defines.iss 12 | #include ../Branches/Stable/core/obj_IRC.iss 13 | ;#include ../External/isxScripts/obj_PulseTimer.iss 14 | ;#include ../Branches/Dev/core/Lib/obj_BaseClass.iss 15 | #include ../External/isxScripts/obj_LSTypeIterator.iss 16 | 17 | objectdef obj_UI 18 | { 19 | variable string LogFile 20 | 21 | method Initialize() 22 | { 23 | This.LogFile:Set["./Logs/TestAPI_${Script.Filename}.log"] 24 | 25 | redirect -append "${This.LogFile}" echo "--------------------------------------------------------------------------------------" 26 | redirect -append "${This.LogFile}" echo "** ${Script.Filename} starting on ${Time.Date} at ${Time.Time24}" 27 | } 28 | 29 | method Log(string StatusMessage, int Level=LOG_STANDARD, int Indent=0) 30 | { 31 | This:UpdateConsole["${StatusMessage}",${Level},${Indent}] 32 | } 33 | 34 | method UpdateConsole(string StatusMessage, int Level=LOG_STANDARD, int Indent=0) 35 | { 36 | /* 37 | Level = LOG_MINOR - Minor - Log, do not print to screen. 38 | Level = LOG_STANDARD - Standard, Log and Print to Screen 39 | Level = LOG_CRITICAL - Critical, Log, Log to Critical Log, and print to screen 40 | */ 41 | variable string msg 42 | variable int Count 43 | 44 | if ${StatusMessage(exists)} 45 | { 46 | if ${Level} == LOG_DEBUG && TESTAPI_DEBUG == 0 47 | { 48 | return 49 | } 50 | 51 | msg:Set["${Time.Time24}: "] 52 | 53 | for (Count:Set[1]; ${Count}<=${Indent}; Count:Inc) 54 | { 55 | msg:Concat[" "] 56 | } 57 | msg:Concat["${StatusMessage}"] 58 | 59 | echo ${msg} 60 | 61 | redirect -append "${This.LogFile}" Echo "${msg}" 62 | } 63 | } 64 | 65 | } 66 | 67 | variable obj_UI UI 68 | variable obj_UI Logger 69 | variable obj_IRC ChatIRC -------------------------------------------------------------------------------- /Support/obj_AutoPatcher.iss: -------------------------------------------------------------------------------- 1 | /* 2 | AutoPatcher Class 3 | 4 | Handles calling ISXGamesPatcher for EVEBot 5 | 6 | -- CyberTech 7 | */ 8 | 9 | objectdef obj_AutoPatcher 10 | { 11 | variable bool UpdatePerformed = FALSE 12 | variable bool UpdaterFinished = FALSE 13 | 14 | method Initialize() 15 | { 16 | UI:UpdateConsole["obj_AutoPatcher: Running"] 17 | if ${currentPath.FileExists[${APP_PATH}.nopatch]} 18 | { 19 | echo "${APP_NAME}: Development setup, no auto-update" 20 | return 21 | } 22 | 23 | echo "${APP_NAME}: Running patch checker for Updates" 24 | if ${Config.Common.UseDevelopmentBuild} 25 | { 26 | dotnet ${APP_NAME} isxGamesPatcher ${APP_NAME} ${APP_VERSION} ${APP_MANIFEST_TRUNK} 27 | } 28 | else 29 | { 30 | dotnet ${APP_NAME} isxGamesPatcher ${APP_NAME} ${APP_VERSION} ${APP_MANIFEST} 31 | } 32 | 33 | TimedCommand 60 Script[EVEBot].VariableScope.AutoPatcher:EVEBot_ForceComplete 34 | while !${This.UpdaterFinished} 35 | { 36 | wait 10 37 | } 38 | 39 | ; Check to see if we have updated, if so restart 40 | if ${This.UpdatePerformed} 41 | { 42 | echo "${APP_NAME} updated, restarting in 5 seconds" 43 | TimedCommand 50 run evebot/evebot 44 | Script:EndScript 45 | } 46 | } 47 | 48 | /* Detect Script auto-updated files */ 49 | method EVEBot_onUpdatedFile(string FilePath) 50 | { 51 | echo "obj_AutoUpdater: Updated file ${FilePath}" 52 | This.UpdatePerformed:Set[TRUE] 53 | } 54 | 55 | method EVEBot_onUpdateError(string Error) 56 | { 57 | echo "obj_AutoUpdater:Error: ${Error}" 58 | } 59 | 60 | method EVEBot_onUpdateComplete() 61 | { 62 | echo "obj_AutoUpdater: Updated of ${APP_NAME} complete" 63 | This.UpdaterFinished:Set[TRUE] 64 | } 65 | 66 | method EVEBot_ForceComplete() 67 | { 68 | echo "obj_AutoUpdater: Updated of ${APP_NAME} aborted, timed out after 60 seconds" 69 | This.UpdaterFinished:Set[TRUE] 70 | } 71 | 72 | } -------------------------------------------------------------------------------- /Testcases/EVEBot/test_Belts_MarkEmpty.iss: -------------------------------------------------------------------------------- 1 | #define EVEBOT_TESTCASE 1 2 | 3 | ;#include ../../Support/TestAPI.iss 4 | #include ../../Branches/Stable/EVEBot.iss 5 | 6 | /* 7 | * Asteroid Belt iteration and warping 8 | * 9 | * Tests: 10 | * Belts.WarpToNext, Belts:MarkEmpty 11 | * 12 | * Requirements: 13 | * You: In system with asteroid belts 14 | 15 | */ 16 | 17 | function main() 18 | { 19 | cd "../../Branches/Stable/EVEBot.iss" 20 | call evebot_main 21 | while !${EVEBot.Loaded} 22 | { 23 | wait 1 24 | } 25 | 26 | call Station.Undock 27 | 28 | while TRUE 29 | { 30 | echo At Belt: ${Belts.AtBelt} @ Distance: ${Belts.Distance} Total: ${Belts.Total} Named: ${Belts.Name} 31 | call Belts.WarpToNext 150000 32 | Belts:MarkEmpty[] 33 | wait 10 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /Testcases/EVEBot/test_Belts_MarkUnsafe.iss: -------------------------------------------------------------------------------- 1 | #define EVEBOT_TESTCASE 1 2 | 3 | ;#include ../../Support/TestAPI.iss 4 | #include ../../Branches/Stable/EVEBot.iss 5 | 6 | /* 7 | * Asteroid Belt iteration and warping 8 | * 9 | * Tests: 10 | * Belts.WarpToNext, Belts:MarkUnsafe 11 | * 12 | * Requirements: 13 | * You: In system with asteroid belts 14 | 15 | */ 16 | 17 | function main() 18 | { 19 | cd "../../Branches/Stable/EVEBot.iss" 20 | call evebot_main 21 | while !${EVEBot.Loaded} 22 | { 23 | wait 1 24 | } 25 | 26 | call Station.Undock 27 | 28 | while TRUE 29 | { 30 | echo At Belt: ${Belts.AtBelt} @ Distance: ${Belts.Distance} Total: ${Belts.Total} Named: ${Belts.Name} 31 | call Belts.WarpToNext 150000 32 | Belts:MarkUnsafe[] 33 | wait 10 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /Testcases/EVEBot/test_Belts_WarpTo.iss: -------------------------------------------------------------------------------- 1 | #define EVEBOT_TESTCASE 1 2 | 3 | ;#include ../../Support/TestAPI.iss 4 | #include ../../Branches/Stable/EVEBot.iss 5 | 6 | /* 7 | * Asteroid Belt iteration and warping 8 | * 9 | * Tests: 10 | * Belts.WarpTo 11 | * Belts:Next 12 | * 13 | * Requirements: 14 | * You: In system with asteroid belts 15 | 16 | */ 17 | 18 | function main() 19 | { 20 | cd "../../Branches/Stable/EVEBot.iss" 21 | call evebot_main 22 | while !${EVEBot.Loaded} 23 | { 24 | wait 1 25 | } 26 | 27 | call Station.Undock 28 | 29 | while TRUE 30 | { 31 | call Belts.WarpTo 150000 32 | wait 1 33 | echo At Belt: ${Belts.AtBelt} @ Distance: ${Belts.Distance} Total: ${Belts.Total} Named: ${Belts.Name} 34 | wait 10 35 | Belts:Next 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /Testcases/EVEBot/test_Belts_WarpToNext.iss: -------------------------------------------------------------------------------- 1 | #define EVEBOT_TESTCASE 1 2 | 3 | ;#include ../../Support/TestAPI.iss 4 | #include ../../Branches/Stable/EVEBot.iss 5 | 6 | /* 7 | * Asteroid Belt iteration and warping 8 | * 9 | * Tests: 10 | * Belts.WarpToNext 11 | * 12 | * Requirements: 13 | * You: In system with asteroid belts 14 | 15 | */ 16 | 17 | function main() 18 | { 19 | cd "../../Branches/Stable/EVEBot.iss" 20 | call evebot_main 21 | while !${EVEBot.Loaded} 22 | { 23 | wait 1 24 | } 25 | 26 | call Station.Undock 27 | 28 | while TRUE 29 | { 30 | echo At Belt: ${Belts.AtBelt} @ Distance: ${Belts.Distance} Total: ${Belts.Total} Named: ${Belts.Name} 31 | call Belts.WarpToNext 150000 32 | wait 10 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /Testcases/EVEBot/test_Cargo_TransferCargoToHangar.iss: -------------------------------------------------------------------------------- 1 | #define EVEBOT_TESTCASE 1 2 | 3 | ;#include ../../Support/TestAPI.iss 4 | #include ../../Branches/Stable/EVEBot.iss 5 | 6 | /* 7 | Test EVEBot obj_Cargo.TransferCargoToStationHangar 8 | 9 | Requirements: 10 | None 11 | 12 | */ 13 | 14 | function main() 15 | { 16 | cd "../../Branches/Stable/EVEBot.iss" 17 | call evebot_main 18 | while !${EVEBot.Loaded} 19 | { 20 | wait 1 21 | } 22 | 23 | echo "obj_Cargo.TransferCargoToStationHangar: Test Case:" 24 | 25 | declarevariable EVEBot obj_EVEBot global 26 | declarevariable Ship obj_Ship global 27 | declarevariable Station obj_Station global 28 | declarevariable Cargo obj_Cargo global 29 | 30 | call Cargo.TransferCargoToStationHangar 31 | } 32 | -------------------------------------------------------------------------------- /Testcases/EVEBot/test_Cargo_TransferHangarItemToShip.iss: -------------------------------------------------------------------------------- 1 | #define EVEBOT_TESTCASE 1 2 | 3 | ;#include ../../Support/TestAPI.iss 4 | #include ../../Branches/Stable/EVEBot.iss 5 | 6 | /* 7 | Test EVEBot obj_Cargo.TransferHangarItemToShip 8 | 9 | Requirements: 10 | None 11 | 12 | */ 13 | 14 | function main() 15 | { 16 | cd "../../Branches/Stable/EVEBot.iss" 17 | call evebot_main 18 | while !${EVEBot.Loaded} 19 | { 20 | wait 1 21 | } 22 | 23 | echo "obj_Cargo.TransferHangarItemToShip: Test Case:" 24 | 25 | declarevariable EVEBot obj_EVEBot global 26 | declarevariable Ship obj_Ship global 27 | declarevariable Station obj_Station global 28 | declarevariable Cargo obj_Cargo global 29 | 30 | call Cargo.TransferHangarItemToShip 31 | } 32 | -------------------------------------------------------------------------------- /Testcases/EVEBot/test_Cargo_TransferOreToHangar.iss: -------------------------------------------------------------------------------- 1 | #define TESTCASE 1 2 | 3 | /* 4 | Test EVEBot obj_Cargo.TransferCargoToStationHangar 5 | 6 | Revision $Id$ 7 | 8 | Requirements: 9 | None 10 | 11 | */ 12 | 13 | #include ../../Support/TestAPI.iss 14 | #include ../../Branches/Stable/core/obj_EVEBot.iss 15 | #include ../../Branches/Stable/core/obj_Drones.iss 16 | #include ../../Branches/Stable/core/obj_Ship.iss 17 | #include ../../Branches/Stable/core/obj_Station.iss 18 | #include ../../Branches/Stable/core/obj_Cargo.iss 19 | 20 | 21 | function main() 22 | { 23 | echo "obj_Cargo.TransferOreToStationHangar: Test Case:" 24 | 25 | declarevariable EVEBot obj_EVEBot global 26 | declarevariable Ship obj_Ship global 27 | declarevariable Station obj_Station global 28 | declarevariable Cargo obj_Cargo global 29 | 30 | call Cargo.TransferOreToStationHangar 31 | } 32 | -------------------------------------------------------------------------------- /Testcases/EVEBot/test_Cargo_TransferOreToJetCan.iss: -------------------------------------------------------------------------------- 1 | #define TESTCASE 1 2 | 3 | /* 4 | Test EVEBot obj_Cargo.TransferOreToJetCan 5 | 6 | Revision $Id$ 7 | 8 | Requirements: 9 | None 10 | 11 | */ 12 | 13 | #include ../../Support/TestAPI.iss 14 | #include ../../Branches/Stable/core/obj_EVEBot.iss 15 | #include ../../Branches/Stable/core/obj_Drones.iss 16 | #include ../../Branches/Stable/core/obj_Ship.iss 17 | #include ../../Branches/Stable/core/obj_Station.iss 18 | #include ../../Branches/Stable/core/obj_Cargo.iss 19 | 20 | 21 | function main() 22 | { 23 | echo "obj_Cargo.TransferOreToJetCan: Test Case:" 24 | 25 | declarevariable EVEBot obj_EVEBot global 26 | declarevariable Ship obj_Ship global 27 | declarevariable Station obj_Station global 28 | declarevariable Cargo obj_Cargo global 29 | 30 | call Cargo.TransferOreToJetCan 31 | } 32 | -------------------------------------------------------------------------------- /Testcases/EVEBot/test_EntityCache.iss: -------------------------------------------------------------------------------- 1 | #define TESTCASE 1 2 | 3 | /* 4 | * Test EVEBot EntityCache 5 | * 6 | * Revision $Id$ 7 | * 8 | * Requirements: 9 | * In Space 10 | * 11 | */ 12 | 13 | #include ../../Support/TestAPI.iss 14 | #include ../Branches/Dev/core/obj_EntityCache.iss 15 | 16 | 17 | function main() 18 | { 19 | Turbo 100 20 | echo "obj_EntityCache: Member Test Case:" 21 | 22 | declarevariable EntityCache obj_EntityCache 23 | variable index:entity Stations 24 | 25 | variable int Entity_Moons 26 | variable int Entity_Stations 27 | variable int Entity_AsteroidBelts 28 | variable int Entity_NPCs 29 | variable int Entity_Defense 30 | variable int Entity_Rats 31 | variable int Entity_Mission 32 | variable int Entity_Asteroids 33 | 34 | ;member:int AddFilter(string Owner, string Filter, float DecaySeconds=0) 35 | 36 | Entity_Stations:Set[${EntityCache.AddFilter["test_evebot_EntityCache", GroupID = GROUP_STATION, 10, \${EntityIterator.Value.GroupID} = GROUP_STATION]}] 37 | Entity_Moons:Set[${EntityCache.AddFilter["test_evebot_EntityCache", GroupID = GROUP_MOON, 11]}] 38 | Entity_AsteroidBelts:Set[${EntityCache.AddFilter["test_evebot_EntityCache", GroupID = GROUP_ASTEROIDBELT, 5]}] 39 | Entity_NPCs:Set[${EntityCache.AddFilter["test_evebot_EntityCache", CategoryID = CATEGORYID_ENTITY && Distance <= 5000, 2]}] 40 | Entity_Defense:Set[${EntityCache.AddFilter["obj_Defense", CategoryID = CATEGORYID_ENTITY, 1.5]}] 41 | Entity_Rats:Set[${EntityCache.AddFilter["obj_Ratter", CategoryID = CATEGORYID_ENTITY && IsNPC = 1 && IsMoribund = 0, 2.0]}] 42 | Entity_Asteroids:Set[${EntityCache.AddFilter["obj_Asteroids", CategoryID = CATEGORYID_ORE, 1.0]}] 43 | variable string QueryString 44 | QueryString:Concat["CategoryID = CATEGORYID_ENTITY"] 45 | QueryString:Concat[" && IsNPC = 1"] 46 | QueryString:Concat[" && IsMoribund = 0"] 47 | QueryString:Concat[" && GroupID != GROUP_LARGECOLLIDABLEOBJECT"] 48 | QueryString:Concat[" && GroupID != GROUP_LARGECOLLIDABLESHIP"] 49 | QueryString:Concat[" && GroupID != GROUP_LARGECOLLIDABLESTRUCTURE"] 50 | QueryString:Concat[" && GroupID != GROUP_SENTRYGUN"] 51 | QueryString:Concat[" && GroupID != GROUP_CONCORDDRONE"] 52 | QueryString:Concat[" && GroupID != GROUP_CUSTOMSOFFICIAL"] 53 | QueryString:Concat[" && GroupID != GROUP_POLICEDRONE"] 54 | QueryString:Concat[" && GroupID != GROUP_CONVOYDRONE"] 55 | QueryString:Concat[" && GroupID != GROUP_FACTIONDRONE"] 56 | QueryString:Concat[" && GroupID != GROUP_BILLBOARD"] 57 | QueryString:Concat[" && GroupID != GROUPID_SPAWN_CONTAINER"] 58 | QueryString:Concat[" && GroupID != GROUP_DEADSPACEOVERSEERSSTRUCTURE"] 59 | 60 | Entity_Mission:Set[${EntityCache.AddFilter["obj_MissionCommands", ${QueryString}, 1.0]}] 61 | 62 | while 1 63 | { 64 | wait 10 65 | echo Entity_Stations: ${EntityCache.Count[${Entity_Stations}]} 66 | echo Entity_Moons: ${EntityCache.Count[${Entity_Moons}]} 67 | echo Entity_AsteroidBelts: ${EntityCache.Count[${Entity_AsteroidBelts}]} 68 | echo Entity_NPCs: ${EntityCache.Count[${Entity_NPCs}]} 69 | echo Entity_Defense: ${EntityCache.Count[${Entity_Defense}]} 70 | echo Entity_Rats: ${EntityCache.Count[${Entity_Rats}]} 71 | echo Entity_Mission: ${EntityCache.Count[${Entity_Mission}]} 72 | echo Entity_Asteroids: ${EntityCache.Count[${Entity_Asteroids}]} 73 | } 74 | } 75 | 76 | -------------------------------------------------------------------------------- /Testcases/EVEBot/test_Inventory.iss: -------------------------------------------------------------------------------- 1 | #define TESTCASE 1 2 | /* 3 | Test EVEBot Inventory proxy 4 | 5 | Revision $Id$ 6 | 7 | Requirements: 8 | None 9 | 10 | */ 11 | 12 | #include ../../Support/TestAPI.iss 13 | #include ../../Branches/Stable/core/obj_Inventory.iss 14 | 15 | function main() 16 | { 17 | echo "obj_Inventory: Member Test Case:" 18 | 19 | declarevariable Inventory obj_Inventory script 20 | /* 21 | call Inventory.ShipCargo.Activate ${MyShip.ID} 22 | if ${Return} 23 | Inventory.Current:DebugPrintInvData 24 | 25 | call Inventory.ShipFleetHangar.Activate 26 | if ${Return} 27 | Inventory.Current:DebugPrintInvData 28 | 29 | call Inventory.ShipGeneralMiningHold.Activate 30 | if ${Return} 31 | Inventory.Current:DebugPrintInvData 32 | 33 | call Inventory.ShipDroneBay.Activate 34 | if ${Return} 35 | Inventory.Current:DebugPrintInvData 36 | */ 37 | call Inventory.StationHangar.Activate ${Me.Station.ID} 38 | if ${Return} 39 | Inventory.Current:DebugPrintInvData 40 | /* 41 | call Inventory.StationCorpHangars.Activate ${Me.Station.ID} 42 | if ${Return} 43 | Inventory.Current:DebugPrintInvData 44 | 45 | call Inventory.CorporationDeliveries.Activate ${Me.Station.ID} 46 | if ${Return} 47 | Inventory.Current:DebugPrintInvData 48 | */ 49 | /* 50 | call Inventory.OpenEntityFleetHangar ${Entity[Name = "OrcaPilot"].ID} 51 | call Inventory.EntityFleetHangar.Activate ${Return} 52 | if !${Return} 53 | { 54 | echo Failed to activate inventory, aborting test 55 | Script:End 56 | } 57 | */ 58 | Inventory.Current:DebugPrintInvData 59 | Inventory.Current:GetItems[] 60 | ;Inventory.Current:GetItems[NULL, "CategoryID == CATEGORYID_CHARGE"] 61 | 62 | variable iterator iter 63 | Inventory.Current.Items:GetIterator[iter] 64 | if ${iter:First(exists)} 65 | do 66 | { 67 | echo ${iter.Value.ID} ${iter.Value.LocationID} ${iter.Value.SlotID}:${iter.Value.Slot} - ${iter.Value.Name} 68 | } 69 | while ${iter:Next(exists)} 70 | } 71 | 72 | 73 | -------------------------------------------------------------------------------- /Testcases/EVEBot/test_Inventory_NoOreHold.iss: -------------------------------------------------------------------------------- 1 | #define TESTCASE 1 2 | 3 | /* 4 | Test EVEBot Inventory - Activate returns false if given inventory doesn't exist 5 | 6 | Revision $Id$ 7 | 8 | Requirements: 9 | None 10 | 11 | */ 12 | 13 | #include ../../Support/TestAPI.iss 14 | #include ../../Branches/Stable/core/obj_Inventory.iss 15 | 16 | function main() 17 | { 18 | echo "obj_Inventory: Validate that witch to invalid hold returns false:" 19 | 20 | declarevariable Inventory obj_Inventory script 21 | 22 | call Inventory.ShipGeneralMiningHold.Activate 23 | if ${Return} 24 | { 25 | echo "Failed - Does this ship have an ore hold? MyShip.HasOreHold=${EVEWindow[Inventory].ChildWindow[${MyShip.ID}, ShipGeneralMiningHold](exists)}. Pick a ship without." 26 | echo "Used Cap = ${Inventory.ShipGeneralMiningHold.UsedCapacity}" 27 | } 28 | else 29 | { 30 | echo "Activate returned false, confirming with IsCurrent" 31 | if ${Inventory.ShipGeneralMiningHold.IsCurrent 32 | { 33 | echo "Failed: IsCurrent should be false" 34 | } 35 | else 36 | { 37 | echo "Passed" 38 | } 39 | } 40 | } 41 | 42 | 43 | -------------------------------------------------------------------------------- /Testcases/EVEBot/test_ItemDB.iss: -------------------------------------------------------------------------------- 1 | #define TESTCASE 1 2 | 3 | /* 4 | Test EVEBot ItemDB Loading & Members 5 | 6 | Revision $Id$ 7 | 8 | Requirements: 9 | None 10 | 11 | */ 12 | 13 | #include ../../Support/TestAPI.iss 14 | #include ../Branches/Dev/core/obj_EVEDB.iss 15 | 16 | 17 | function main() 18 | { 19 | echo "obj_EVEDB_Items: Member Test Case:" 20 | 21 | declarevariable itemdb obj_EVEDB_Items 22 | 23 | echo TypeID: ${itemdb.TypeID[Tritanium]} 24 | echo Name: ${itemdb.Name[34]} 25 | echo Metalevel: ${itemdb.Metalevel[34]} 26 | echo Volume: ${itemdb.Volume[34]} 27 | echo Capacity: ${itemdb.Capacity[34]} 28 | echo GroupID: ${itemdb.GroupID[34]} 29 | echo PortionSize: ${itemdb.PortionSize[34]} 30 | echo BasePrice: ${itemdb.BasePrice[34]} 31 | } 32 | -------------------------------------------------------------------------------- /Testcases/EVEBot/test_StationDB.iss: -------------------------------------------------------------------------------- 1 | #define TESTCASE 1 2 | 3 | /* 4 | Test EVEBot ItemDB Loading & Members 5 | 6 | Revision $Id: test_evebot_itemdb.iss 1200 2009-06-17 00:36:15Z gliderpro $ 7 | 8 | Requirements: 9 | None 10 | 11 | */ 12 | 13 | #include ../../Support/TestAPI.iss 14 | #include ../Branches/Dev/core/obj_Station.iss 15 | 16 | 17 | function main() 18 | { 19 | echo "obj_EVEDB_StationID: Member Test Case:" 20 | 21 | declarevariable stationdb obj_EVEDB_StationID 22 | 23 | echo StationID: ${stationdb.StationID[Eiluvodi VI - Moon 14 - CBD Corporation Storage]} 24 | echo StationID: ${stationdb.StationID[Edmalbrurdus I - Republic University School]} 25 | } 26 | -------------------------------------------------------------------------------- /Testcases/ISXEVE/AnomIDHelp.iss: -------------------------------------------------------------------------------- 1 | #define TESTCASE 1 2 | 3 | #include ../../Support/TestAPI.iss 4 | 5 | /* 6 | * Read what is in the probe scanner window 7 | * 8 | * 9 | * 10 | * Tests: 11 | * Trying to find what the different anom name and id's are 12 | * 13 | * 14 | * Requirements: 15 | * You: In spcae 16 | * Probe Scanner window open and active 17 | */ 18 | 19 | function main() 20 | { 21 | variable index:systemanomaly MyAnomalies 22 | variable iterator MyAnomalies_Iterator 23 | 24 | MyShip.Scanners.System:GetAnomalies[MyAnomalies] 25 | MyAnomalies:GetIterator[MyAnomalies_Iterator] 26 | 27 | if ${MyAnomalies_Iterator:First(exists)} 28 | { 29 | do 30 | { 31 | echo ${Time}: ------------------------------------ 32 | echo ${Time}: Difficulty: ${MyAnomalies_Iterator.Value.Difficulty} 33 | echo ${Time}: DungeonID: ${MyAnomalies_Iterator.Value.DungeonID} 34 | echo ${Time}: DungeonName: ${MyAnomalies_Iterator.Value.DungeonName} 35 | echo ${Time}: Faction: ${MyAnomalies_Iterator.Value.Faction} 36 | } 37 | while ${MyAnomalies_Iterator:Next(exists)} 38 | } 39 | 40 | 41 | } -------------------------------------------------------------------------------- /Testcases/ISXEVE/CharSelect.iss: -------------------------------------------------------------------------------- 1 | #define TESTCASE 1 2 | 3 | #include ../../Support/TestAPI.iss 4 | /* 5 | Test: CharSelect (charselect datatype) 6 | Requirements: At character select screen 7 | 8 | */ 9 | function main() 10 | { 11 | variable int StartTime = ${Script.RunningTime} 12 | variable int EndTime 13 | 14 | variable obj_LSTypeIterator ItemTest = "charselect" 15 | 16 | ItemTest:ParseMembers 17 | ItemTest:IterateMembers["CharSelect"] 18 | 19 | echo " Manual Tests (for members requiring a parameter):" 20 | if ${CharSelect.SelectedCharID} != -1 21 | { 22 | echo " CharSelect.CharExists[${CharSelect.SelectedChar}] == ${CharSelect.CharExists[${CharSelect.SelectedChar}]}" 23 | echo " CharSelect.CharExists[${CharSelect.SelectedCharID}] == ${CharSelect.CharExists[${CharSelect.SelectedCharID}]}" 24 | } 25 | else 26 | { 27 | echo " CharSelect.CharExists[${CharSelect.SelectedChar}] Not tested, no currently selected character" 28 | echo " CharSelect.CharExists[${CharSelect.SelectedCharID}] == Not tested, no currently selected character" 29 | } 30 | 31 | EndTime:Set[${Script.RunningTime}] 32 | echo "Testing of datatype ${ItemTest.TypeName} completed in ${Math.Calc[(${EndTime}-${StartTime}) / 1000]} seconds" 33 | } -------------------------------------------------------------------------------- /Testcases/ISXEVE/EVEWindow_Inv_GetItems_ShipCargo.iss: -------------------------------------------------------------------------------- 1 | #define TESTCASE 1 2 | 3 | #include ../../Support/TestAPI.iss 4 | /* 5 | * Test eveinvchildwindow:GetItems 6 | * 7 | * Requirements: 8 | * Have items in ship cargo 9 | * 10 | */ 11 | 12 | 13 | function main() 14 | { 15 | if !${EVEWindow[Inventory](exists)} 16 | { 17 | echo "Opening Inventory..." 18 | EVE:Execute[OpenInventory] 19 | wait 2 20 | } 21 | 22 | EVEWindow[Inventory].ChildWindow[${MyShip.ID}, ShipCargo]:MakeActive 23 | wait 50 24 | 25 | variable index:item itemlist 26 | EVEWindow[Inventory].ActiveChild:GetItems[itemlist] 27 | 28 | variable iterator iter 29 | itemlist:GetIterator[iter] 30 | if ${iter:First(exists)} 31 | do 32 | { 33 | echo ${iter.Value.ID} ${iter.Value.LocationID} ${iter.Value.SlotID}:${iter.Value.Slot} - ${iter.Value.Name} 34 | } 35 | while ${iter:Next(exists)} 36 | } -------------------------------------------------------------------------------- /Testcases/ISXEVE/EVEWindow_Inv_GetItems_ShipDroneBay.iss: -------------------------------------------------------------------------------- 1 | #define TESTCASE 1 2 | 3 | #include ../../Support/TestAPI.iss 4 | /* 5 | * Test eveinvchildwindow:GetItems 6 | * 7 | * Requirements: 8 | * Have items in ship cargo 9 | * 10 | */ 11 | 12 | 13 | function main() 14 | { 15 | if !${EVEWindow[Inventory](exists)} 16 | { 17 | echo "Opening Inventory..." 18 | EVE:Execute[OpenInventory] 19 | wait 2 20 | } 21 | 22 | EVEWindow[Inventory].ChildWindow[${MyShip.ID}, ShipDroneBay]:MakeActive 23 | wait 50 24 | 25 | variable index:item itemlist 26 | EVEWindow[Inventory].ActiveChild:GetItems[itemlist] 27 | 28 | variable iterator iter 29 | itemlist:GetIterator[iter] 30 | if ${iter:First(exists)} 31 | do 32 | { 33 | echo ${iter.Value.ID} ${iter.Value.LocationID} ${iter.Value.SlotID}:${iter.Value.Slot} - ${iter.Value.Name} 34 | } 35 | while ${iter:Next(exists)} 36 | } -------------------------------------------------------------------------------- /Testcases/ISXEVE/EVEWindow_Inv_GetItems_StationItems.iss: -------------------------------------------------------------------------------- 1 | #define TESTCASE 1 2 | 3 | #include ../../Support/TestAPI.iss 4 | /* 5 | * Test eveinvchildwindow:GetItems 6 | * 7 | * Requirements: 8 | * Have items in ship cargo 9 | * 10 | */ 11 | 12 | 13 | function main() 14 | { 15 | if !${EVEWindow[Inventory](exists)} 16 | { 17 | echo "Opening Inventory..." 18 | EVE:Execute[OpenInventory] 19 | wait 2 20 | } 21 | 22 | EVEWindow[Inventory].ChildWindow[${Me.Station.ID}, StationItems]:MakeActive 23 | wait 50 24 | 25 | variable index:item itemlist 26 | EVEWindow[Inventory].ActiveChild:GetItems[itemlist] 27 | 28 | variable iterator iter 29 | itemlist:GetIterator[iter] 30 | if ${iter:First(exists)} 31 | do 32 | { 33 | echo ${iter.Value.ID} ${iter.Value.LocationID} ${iter.Value.SlotID}:${iter.Value.Slot} - ${iter.Value.Name} 34 | } 35 | while ${iter:Next(exists)} 36 | } -------------------------------------------------------------------------------- /Testcases/ISXEVE/EVEWindow_Inv_GetItems_StationShips.iss: -------------------------------------------------------------------------------- 1 | #define TESTCASE 1 2 | 3 | #include ../../Support/TestAPI.iss 4 | /* 5 | * Test eveinvchildwindow:GetItems 6 | * 7 | * Requirements: 8 | * Have items in ship cargo 9 | * 10 | */ 11 | 12 | 13 | function main() 14 | { 15 | if !${EVEWindow[Inventory](exists)} 16 | { 17 | echo "Opening Inventory..." 18 | EVE:Execute[OpenInventory] 19 | wait 2 20 | } 21 | 22 | EVEWindow[Inventory].ChildWindow[${Me.Station.ID}, StationShips]:MakeActive 23 | wait 50 24 | 25 | variable index:item itemlist 26 | EVEWindow[Inventory].ActiveChild:GetItems[itemlist] 27 | 28 | variable iterator iter 29 | itemlist:GetIterator[iter] 30 | if ${iter:First(exists)} 31 | do 32 | { 33 | echo ${iter.Value.ID} ${iter.Value.LocationID} ${iter.Value.SlotID}:${iter.Value.Slot} - ${iter.Value.Name} 34 | } 35 | while ${iter:Next(exists)} 36 | } -------------------------------------------------------------------------------- /Testcases/ISXEVE/EVEWindow_Inv_StackAll_Hangar.iss: -------------------------------------------------------------------------------- 1 | #define TESTCASE 1 2 | 3 | #include ../../Support/TestAPI.iss 4 | /* 5 | * Test eveinvchildwindow:StackAll 6 | * 7 | * Requirements: 8 | * Have items in station hangar, with at least 1 stack split 9 | * 10 | */ 11 | 12 | 13 | function main() 14 | { 15 | if !${EVEWindow[Inventory](exists)} 16 | { 17 | echo "Opening Inventory..." 18 | EVE:Execute[OpenInventory] 19 | wait 2 20 | } 21 | 22 | EVEWindow[Inventory].ChildWindow[${Me.Station.ID}, StationItems]:MakeActive 23 | wait 50 24 | 25 | variable index:item itemlist 26 | EVEWindow[Inventory].ActiveChild:GetItems[itemlist] 27 | variable int before 28 | before:Set[${itemlist.Used}] 29 | 30 | echo "Stacking ${before} items..." 31 | EVEWindow[Inventory].ActiveChild:StackAll 32 | wait 10 33 | 34 | EVEWindow[Inventory].ActiveChild:GetItems[itemlist] 35 | echo "${itemlist.Used} stacks found after stacking ${before} items" 36 | } -------------------------------------------------------------------------------- /Testcases/ISXEVE/EVEWindow_Inventory.iss: -------------------------------------------------------------------------------- 1 | function main() 2 | { 3 | variable index:eveinvchildwindow InvWindowChildren 4 | variable iterator Iter 5 | variable int i = 1 6 | 7 | variable eveinvwindow InventoryWindow = "${EVEWindow["Inventory"]}" 8 | if (${InventoryWindow(exists)}) 9 | { 10 | echo "- Name: ${InventoryWindow.Name}" 11 | echo "-- Type: ${InventoryWindow(type)}" 12 | echo "-- Caption: ${InventoryWindow.Caption}" 13 | 14 | InventoryWindow:GetChildren[InvWindowChildren] 15 | InvWindowChildren:GetIterator[Iter] 16 | if ${Iter:First(exists)} 17 | { 18 | echo "------- Inventory Window Children:" 19 | do 20 | { 21 | echo "Making Active: ${i}. Name: '${Iter.Value.Name}'" 22 | Iter.Value:MakeActive 23 | wait 8 24 | echo "-----| ActiveChild: ${InventoryWindow.ActiveChild.Name} ${InventoryWindow.ActiveChild.ItemID} ${InventoryWindow.ActiveChild.LocationFlag} ${InventoryWindow.ActiveChild.LocationFlagID}" 25 | echo "-----| HasCapacity: ${Iter.Value.HasCapacity}" 26 | if (${Iter.Value.HasCapacity}) 27 | { 28 | echo "------| Capacity: ${Iter.Value.Capacity.Precision[2]}" 29 | echo "------| UsedCapacity: ${Iter.Value.UsedCapacity.Precision[2]}" 30 | } 31 | echo "-----| LocationFlag: ${Iter.Value.LocationFlag}" 32 | echo "-----| LocationFlagID: ${Iter.Value.LocationFlagID}" 33 | echo "-----| IsInRange: ${Iter.Value.IsInRange}" 34 | echo "-----| ItemID: ${Iter.Value.ItemID}" 35 | echo "--------------------------------" 36 | i:Inc 37 | } 38 | while ${Iter:Next(exists)} 39 | } 40 | } 41 | } -------------------------------------------------------------------------------- /Testcases/ISXEVE/EVE_Agent.iss: -------------------------------------------------------------------------------- 1 | #define TESTCASE 1 2 | 3 | #include ../../Support/TestAPI.iss 4 | 5 | /* 6 | Test eveagent datatype 7 | 8 | Revision $Id: EVE_GetAgents.iss 2130 2012-01-09 20:53:35Z CyberTech $ 9 | 10 | Requirements: 11 | None 12 | 13 | */ 14 | 15 | function main() 16 | { 17 | variable int EVEAgentIndex = 4130 18 | variable obj_LSTypeIterator ItemTest = "eveagent" 19 | 20 | ItemTest:ParseMembers 21 | ;ItemTest.ExcludedMembers:Add["Corporation"] 22 | ItemTest:IterateMembers["EVE.Agent[${EVEAgentIndex}]"] 23 | } -------------------------------------------------------------------------------- /Testcases/ISXEVE/EVE_GetAgentMissions.iss: -------------------------------------------------------------------------------- 1 | #define TESTCASE 1 2 | #include ../../Support/TestAPI.iss 3 | 4 | /* 5 | Test Agent Mission lists 6 | 7 | Revision $Id$ 8 | 9 | Requirements: 10 | You: 11 | Journal: Have missions in it 12 | */ 13 | 14 | function main() 15 | { 16 | variable obj_LSTypeIterator ItemTest = "agentmission" 17 | variable string MethodStr = "EVE:GetAgentMissions" 18 | 19 | #include "../_Testcase_MethodStr_Body.iss" 20 | } -------------------------------------------------------------------------------- /Testcases/ISXEVE/EVE_GetAgents.iss: -------------------------------------------------------------------------------- 1 | #define TESTCASE 1 2 | 3 | #include ../../Support/TestAPI.iss 4 | 5 | /* 6 | Test GetAgents 7 | 8 | Revision $Id$ 9 | 10 | Requirements: 11 | You: Have Agents 12 | 13 | */ 14 | 15 | function main() 16 | { 17 | variable obj_LSTypeIterator ItemTest = "being" 18 | variable string MethodStr = "EVE:GetAgents" 19 | 20 | #include "../_Testcase_MethodStr_Body.iss" 21 | } -------------------------------------------------------------------------------- /Testcases/ISXEVE/EVE_GetBookMarks.iss: -------------------------------------------------------------------------------- 1 | #define TESTCASE 1 2 | #include ../../Support/TestAPI.iss 3 | 4 | /* 5 | Test Bookmark Members 6 | 7 | Revision $Id$ 8 | 9 | Requirements: 10 | You: 11 | Bookmarks 12 | People & Places window must have been opened at least once 13 | */ 14 | 15 | function main() 16 | { 17 | variable obj_LSTypeIterator ItemTest = "bookmark" 18 | variable string MethodStr = "EVE:GetBookmarks" 19 | 20 | #include "../_Testcase_MethodStr_Body.iss" 21 | } 22 | -------------------------------------------------------------------------------- /Testcases/ISXEVE/EVE_GetContacts.iss: -------------------------------------------------------------------------------- 1 | #define TESTCASE 1 2 | 3 | #include ../../Support/TestAPI.iss 4 | 5 | /* 6 | Test Buddy (Being) Member Iteration 7 | 8 | Revision $Id$ 9 | 10 | Requirements: 11 | You: 12 | Buddy List: Populated 13 | People & Places window must have been opened at least once, to the buddies tab 14 | */ 15 | 16 | function main() 17 | { 18 | variable obj_LSTypeIterator ItemTest = "being" 19 | variable string MethodStr = "EVE:GetContacts" 20 | 21 | #include "../_Testcase_MethodStr_Body.iss" 22 | } -------------------------------------------------------------------------------- /Testcases/ISXEVE/EVE_GetEVEWindows.iss: -------------------------------------------------------------------------------- 1 | #define TESTCASE 1 2 | 3 | #include ../../Support/TestAPI.iss 4 | 5 | /* 6 | Test EVEWindow iteration, GetEVEWindows 7 | 8 | Revision $Id$ 9 | 10 | Requirements: 11 | You: Windows open 12 | 13 | */ 14 | 15 | function main() 16 | { 17 | variable obj_LSTypeIterator ItemTest = "evewindow" 18 | variable string MethodStr = "EVE:GetEVEWindows" 19 | 20 | #include "../_Testcase_MethodStr_Body.iss" 21 | } -------------------------------------------------------------------------------- /Testcases/ISXEVE/EVE_GetLocalPilots.iss: -------------------------------------------------------------------------------- 1 | #define TESTCASE 1 2 | 3 | #include ../../Support/TestAPI.iss 4 | 5 | /* 6 | Test Pilot Iteration, Pilot.ToEntity, Pilot.ToFleetMember 7 | 8 | Revision $Id$ 9 | 10 | Requirements: 11 | You: In Space 12 | Other1: In Fleet, In Space, on Grid 13 | Other2: In Space, Off Grid 14 | */ 15 | 16 | function main() 17 | { 18 | variable obj_LSTypeIterator ItemTest = "pilot" 19 | variable string MethodStr = "EVE:GetLocalPilots" 20 | 21 | #include "../_Testcase_MethodStr_Body.iss" 22 | } -------------------------------------------------------------------------------- /Testcases/ISXEVE/EVE_GetMarketOrders.iss: -------------------------------------------------------------------------------- 1 | #define TESTCASE 1 2 | 3 | #include ../../Support/TestAPI.iss 4 | 5 | /* 6 | Test retrieval of market orders 7 | 8 | Revision $Id$ 9 | 10 | Requirements: 11 | Open market window 12 | */ 13 | 14 | function main() 15 | { 16 | declarevariable OrderIndex index:marketorder script 17 | declarevariable OrderIterator iterator script 18 | variable obj_LSTypeIterator ItemTest = "marketorder" 19 | variable int ItemTypeID = 11544 20 | ItemTest:ParseMembers 21 | 22 | variable int RTime 23 | 24 | RTime:Set[${Script.RunningTime}] 25 | EVE:FetchMarketOrders[${ItemTypeID}] 26 | echo "- FetchMarketOrders took ${Math.Calc[${Script.RunningTime}-${RTime}]} ms." 27 | 28 | wait 5 29 | 30 | OrderIndex:Clear 31 | RTime:Set[${Script.RunningTime}] 32 | while !${EVE:GetMarketOrders[OrderIndex, ${ItemTypeID}, "Sell"](exists)} 33 | { 34 | echo "Waiting for order update..." 35 | wait 10 36 | } 37 | echo "- GetMarketOrders returned ${OrderIndex.Used} sell orders in ${Math.Calc[${Script.RunningTime}-${RTime}]} ms." 38 | 39 | /* 40 | OrderIndex:Clear 41 | RTime:Set[${Script.RunningTime}] 42 | while !${EVE:GetMarketOrders[OrderIndex, ${ItemTypeID}, "Buy"](exists)} 43 | { 44 | echo "Waiting for order update..." 45 | wait 10 46 | } 47 | echo "- GetMarketOrders returned ${OrderIndex.Used} buy orders in ${Math.Calc[${Script.RunningTime}-${RTime}]} ms." 48 | */ 49 | 50 | echo ${OrderIndex.Get[1].Price} 51 | ;endscript * 52 | OrderIndex:GetIterator[OrderIterator] 53 | 54 | if ${OrderIterator:First(exists)} 55 | { 56 | do 57 | { 58 | ItemTest:IterateMembers["OrderIterator.Value", TRUE, FALSE] 59 | } 60 | while ${OrderIterator:Next(exists)} 61 | } 62 | } -------------------------------------------------------------------------------- /Testcases/ISXEVE/EVE_MoveItemsTo_Hangar.iss: -------------------------------------------------------------------------------- 1 | #define TESTCASE 1 2 | 3 | #include ../../Support/TestAPI.iss 4 | 5 | /* 6 | * Test moving all items from ship cargo to station hangar 7 | * 8 | * Revision $Id$ 9 | * 10 | * Tests: 11 | * EVE:MoveItemsTo (Hangar dest) 12 | * MyShip:GetCargo 13 | * 14 | * Requirements: 15 | * You: In station 16 | * Cargo: In ship cargo 17 | */ 18 | 19 | function main() 20 | { 21 | variable index:item MyCargo 22 | variable iterator CargoIterator 23 | variable index:int64 IDList 24 | 25 | echo "Version: ${ISXEVE.Version}" 26 | 27 | if !${EVEWindow[Inventory](exists)} 28 | { 29 | echo "Opening Inventory..." 30 | EVE:Execute[OpenInventory] 31 | wait 2 32 | } 33 | 34 | EVEWindow[Inventory].ChildWindow[${MyShip.ID}, ShipCargo]:MakeActive 35 | Wait 10 36 | 37 | MyShip:GetCargo[MyCargo] 38 | echo "Ship Cargo contains ${MyCargo.Used} Items" 39 | 40 | MyCargo:GetIterator[CargoIterator] 41 | if ${CargoIterator:First(exists)} 42 | do 43 | { 44 | echo "Adding ID: ${CargoIterator.Value} ${CargoIterator.Value.ID}" 45 | IDList:Insert[${CargoIterator.Value.ID}] 46 | } 47 | while ${CargoIterator:Next(exists)} 48 | 49 | ;IDList:Clear 50 | ;IDList:Insert[${MyCargo[1].ID}] 51 | echo "Have ${IDList.Used} Items to move to station hangar" 52 | 53 | EVE:MoveItemsTo[IDList, ${Me.Station.ID}, Hangar] 54 | } -------------------------------------------------------------------------------- /Testcases/ISXEVE/EVE_MoveItemsTo_MyShip.iss: -------------------------------------------------------------------------------- 1 | #define TESTCASE 1 2 | 3 | #include ../../Support/TestAPI.iss 4 | 5 | /* 6 | * Test moving all items from station hangar to ship cargo 7 | * 8 | * Revision $Id$ 9 | * 10 | * Tests: 11 | * EVE:MoveItemsTo (MyShip dest) 12 | * Station:GetHangarItems 13 | * 14 | * Requirements: 15 | * You: In station 16 | * Cargo: In station hangar 17 | */ 18 | 19 | function main() 20 | { 21 | variable index:item MyCargo 22 | variable iterator CargoIterator 23 | variable index:int64 IDList 24 | 25 | echo "Version: ${ISXEVE.Version}" 26 | 27 | if !${EVEWindow[Inventory](exists)} 28 | { 29 | echo "Opening Inventory..." 30 | EVE:Execute[OpenInventory] 31 | wait 2 32 | } 33 | 34 | EVEWindow[Inventory].ChildWindow[${Me.Station.ID}, StationItems]:MakeActive 35 | Wait 10 36 | 37 | Me.Station:GetHangarItems[MyCargo] 38 | ;MyCargo:RemoveByQuery[${LavishScript.CreateQuery["CategoryID == CATEGORYID_CHARGE"]}, FALSE] 39 | ;MyCargo:Collapse 40 | echo "Station Hangar contains ${MyCargo.Used} matching items" 41 | 42 | MyCargo:GetIterator[CargoIterator] 43 | if ${CargoIterator:First(exists)} 44 | do 45 | { 46 | echo "Adding ID: ${CargoIterator.Value} ${CargoIterator.Value.ID}" 47 | IDList:Insert[${CargoIterator.Value.ID}] 48 | } 49 | while ${CargoIterator:Next(exists)} 50 | 51 | echo "Have ${IDList.Used} Items to move to ship cargo" 52 | 53 | EVE:MoveItemsTo[IDList, MyShip, CargoHold] 54 | EVEWindow[Inventory].ChildWindow[${MyShip.ID}, ShipCargo]:MakeActive 55 | } -------------------------------------------------------------------------------- /Testcases/ISXEVE/EVE_MoveItemsTo_MyShip_OreHold.iss: -------------------------------------------------------------------------------- 1 | #define TESTCASE 1 2 | 3 | #include ../../Support/TestAPI.iss 4 | 5 | /* 6 | * Test moving all ore from station hangar to ship ore hold 7 | * 8 | * Revision $Id$ 9 | * 10 | * Tests: 11 | * EVE:MoveItemsTo (MyShip dest) 12 | * Station:GetHangarItems 13 | * 14 | * Requirements: 15 | * You: In station 16 | * Cargo: In station hangar 17 | */ 18 | 19 | function main() 20 | { 21 | variable index:item MyCargo 22 | variable iterator CargoIterator 23 | variable index:int64 IDList 24 | 25 | echo "Version: ${ISXEVE.Version}" 26 | 27 | if !${EVEWindow[Inventory](exists)} 28 | { 29 | echo "Opening Inventory..." 30 | EVE:Execute[OpenInventory] 31 | wait 2 32 | } 33 | 34 | EVEWindow[Inventory].ChildWindow[${Me.Station.ID}, StationItems]:MakeActive 35 | Wait 10 36 | 37 | Me.Station:GetHangarItems[MyCargo] 38 | MyCargo:RemoveByQuery[${LavishScript.CreateQuery["CategoryID == CATEGORYID_ORE"]}, FALSE] 39 | MyCargo:Collapse 40 | echo "Station Hangar contains ${MyCargo.Used} matching items" 41 | 42 | MyCargo:GetIterator[CargoIterator] 43 | if ${CargoIterator:First(exists)} 44 | do 45 | { 46 | echo "Adding ID: ${CargoIterator.Value} ${CargoIterator.Value.ID}" 47 | IDList:Insert[${CargoIterator.Value.ID}] 48 | } 49 | while ${CargoIterator:Next(exists)} 50 | 51 | echo "Have ${IDList.Used} Items to move to ship cargo" 52 | 53 | EVE:MoveItemsTo[IDList, MyShip, OreHold] 54 | EVEWindow[Inventory].ChildWindow[${MyShip.ID}, ShipOreHold]:MakeActive 55 | 56 | } -------------------------------------------------------------------------------- /Testcases/ISXEVE/EVE_MoveItemsTo_MyStationHangar_Ore.iss: -------------------------------------------------------------------------------- 1 | #define TESTCASE 1 2 | 3 | #include ../../Support/TestAPI.iss 4 | 5 | /* 6 | * Test moving all ORE from ship cargo and ship ore hangar to station hangar 7 | * 8 | * Revision $Id$ 9 | * 10 | * Tests: 11 | * EVE:MoveItemsTo (Hangar dest) 12 | * MyShip:GetCargo 13 | MyShip:GetOreHoldCargo 14 | * 15 | * Requirements: 16 | * You: In station 17 | * Cargo: In ship cargo 18 | */ 19 | 20 | function main() 21 | { 22 | variable index:item MyCargo 23 | variable iterator CargoIterator 24 | variable index:int64 IDList 25 | 26 | echo "Version: ${ISXEVE.Version}" 27 | 28 | if !${EVEWindow[Inventory](exists)} 29 | { 30 | echo "Opening Inventory..." 31 | EVE:Execute[OpenInventory] 32 | wait 2 33 | } 34 | 35 | EVEWindow[Inventory].ChildWindow[${MyShip.ID}, ShipCargo]:MakeActive 36 | Wait 10 37 | 38 | MyShip:GetCargo[MyCargo] 39 | MyCargo:RemoveByQuery[${LavishScript.CreateQuery["CategoryID == CATEGORYID_ORE"]}, FALSE] 40 | MyCargo:Collapse 41 | echo "Ship Cargo contains ${MyCargo.Used} matching items" 42 | 43 | MyCargo:GetIterator[CargoIterator] 44 | if ${CargoIterator:First(exists)} 45 | do 46 | { 47 | echo "Adding ID: ${CargoIterator.Value} ${CargoIterator.Value.ID}" 48 | IDList:Insert[${CargoIterator.Value.ID}] 49 | } 50 | while ${CargoIterator:Next(exists)} 51 | 52 | echo " Moving ${IDList.Used} Items to station hangar" 53 | EVE:MoveItemsTo[IDList, MyStationHangar, Hangar] 54 | IDList:Clear 55 | 56 | EVEWindow[Inventory].ChildWindow[${MyShip.ID}, ShipOreHold]:MakeActive 57 | Wait 10 58 | 59 | MyShip:GetOreHoldCargo[MyCargo] 60 | MyCargo:RemoveByQuery[${LavishScript.CreateQuery["CategoryID == CATEGORYID_ORE"]}, FALSE] 61 | MyCargo:Collapse 62 | echo "Ship Ore Cargo contains ${MyCargo.Used} matching items" 63 | 64 | MyCargo:GetIterator[CargoIterator] 65 | if ${CargoIterator:First(exists)} 66 | do 67 | { 68 | echo "Adding ID: ${CargoIterator.Value} ${CargoIterator.Value.ID}" 69 | IDList:Insert[${CargoIterator.Value.ID}] 70 | } 71 | while ${CargoIterator:Next(exists)} 72 | 73 | echo " Moving ${IDList.Used} Items to station hangar" 74 | EVE:MoveItemsTo[IDList, MyStationHangar, Hangar] 75 | IDList:Clear 76 | 77 | EVEWindow[Inventory].ChildWindow[${Me.Station.ID}, StationItems]:MakeActive 78 | } -------------------------------------------------------------------------------- /Testcases/ISXEVE/EVE_QueryEntities.iss: -------------------------------------------------------------------------------- 1 | #define TESTCASE 1 2 | 3 | #include ../../Support/TestAPI.iss 4 | 5 | /* 6 | * Entity Retrieval and Member Access 7 | * 8 | * Revision $Id$ 9 | * 10 | * Tests: 11 | * EVE:QueryEntities 12 | * ntity Members 13 | * 14 | * Requirements: 15 | * You: In Space 16 | */ 17 | 18 | function main() 19 | { 20 | declarevariable Entities index:entity script 21 | declarevariable EntityIterator iterator script 22 | 23 | variable obj_LSTypeIterator ItemTest = "entity" 24 | 25 | variable int StartTime = ${Script.RunningTime} 26 | variable int StartTime2 27 | variable float CallTime 28 | 29 | ItemTest:ParseMembers 30 | 31 | variable index:string MemberList 32 | MemberList:Insert[ID] 33 | MemberList:Insert[Name] 34 | ;MemberList:Insert[GroupID] 35 | ;MemberList:Insert[TypeID] 36 | ;MemberList:Insert[CategoryID] 37 | ;MemberList:Insert[ShieldPct] 38 | ;MemberList:Insert[ArmorPct] 39 | ;MemberList:Insert[StructurePct] 40 | MemberList:Insert[Distance] 41 | ;MemberList:Insert[X] 42 | ;MemberList:Insert[Y] 43 | ;MemberList:Insert[Z] 44 | ;MemberList:Insert[BeingTargeted] 45 | ;MemberList:Insert[IsLockedTarget] 46 | ;MemberList:Insert[IsNPC] 47 | ;MemberList:Insert[IsPC] 48 | ;MemberList:Insert[IsTargetingMe] 49 | 50 | variable iterator CurrentMember 51 | 52 | ;EVE:PopulateEntities[TRUE] 53 | ;UI:UpdateConsole["EVE:PopulateEntities: ${Math.Calc[(${Script.RunningTime}-${StartTime2}) / 1000]} seconds"] 54 | 55 | StartTime:Set[${Script.RunningTime}] 56 | EVE:QueryEntities[Entities] 57 | EVE:QueryEntities[Entities, Distance < 100000] 58 | ;EVE:QueryEntities[Entities, "CategoryID = 25"] 59 | 60 | CallTime:Set[${Math.Calc[(${Script.RunningTime}-${StartTime}) / 1000]}] 61 | UI:UpdateConsole["EVE:QueryEntities: ${Entities.Used} entities in ${CallTime} seconds"] 62 | 63 | Entities:GetIterator[EntityIterator] 64 | MemberList:GetIterator[CurrentMember] 65 | 66 | StartTime:Set[${Script.RunningTime}] 67 | if ${CurrentMember:First(exists)} 68 | do 69 | { 70 | StartTime2:Set[${Script.RunningTime}] 71 | if ${EntityIterator:First(exists)} 72 | do 73 | { 74 | ItemTest:IterateMembers["EntityIterator.Value", TRUE, FALSE] 75 | ;echo ${EntityIterator.Value}: ${EntityIterator.Value.ID} ${EntityIterator.Value.Distance} ${EntityIterator.Value.Name} 76 | } 77 | while ${EntityIterator:Next(exists)} 78 | UI:UpdateConsole["${ItemTest.TypeName}.${CurrentMember.Value}/Name/Distance * ${Entities.Used} completed ${Math.Calc[(${Script.RunningTime}-${StartTime2}) / 1000]} seconds"] 79 | } 80 | while ${CurrentMember:Next(exists)} 81 | 82 | UI:UpdateConsole["EVE:QueryEntities returned ${Entities.Used} entities in ${CallTime} seconds"] 83 | UI:UpdateConsole["Testing of datatype ${ItemTest.TypeName} completed in ${Math.Calc[(${Script.RunningTime}-${StartTime}) / 1000]} seconds"] 84 | } 85 | 86 | -------------------------------------------------------------------------------- /Testcases/ISXEVE/EVE_QueryEntities2.iss: -------------------------------------------------------------------------------- 1 | #define TESTCASE 1 2 | 3 | #include ../../Support/TestAPI.iss 4 | 5 | /* 6 | * Entity Retrieval and Member Access, using lavishscript RemoveByQuery method 7 | * 8 | * Revision $Id$ 9 | * 10 | * Tests: 11 | * EVE:QueryEntities 12 | * ntity Members 13 | * 14 | * Requirements: 15 | * You: In Space 16 | */ 17 | 18 | function main() 19 | { 20 | declarevariable Entities index:entity script 21 | declarevariable EntityIterator iterator script 22 | 23 | variable obj_LSTypeIterator ItemTest = "entity" 24 | 25 | variable int StartTime = ${Script.RunningTime} 26 | variable int StartTime2 27 | variable float CallTime 28 | 29 | ItemTest:ParseMembers 30 | 31 | ;EVE:PopulateEntities[TRUE] 32 | ;UI:UpdateConsole["EVE:PopulateEntities: ${Math.Calc[(${Script.RunningTime}-${StartTime2}) / 1000]} seconds"] 33 | 34 | EVE:QueryEntities[Entities] 35 | 36 | CallTime:Set[${Math.Calc[(${Script.RunningTime}-${StartTime}) / 1000]}] 37 | UI:UpdateConsole["EVE:QueryEntities: ${Entities.Used} entities in ${CallTime} seconds - Count should be ${EVE.EntitiesCount}"] 38 | 39 | Entities:GetIterator[EntityIterator] 40 | 41 | variable uint QueryID 42 | ;variable string Filter = "Distance < 1000000" 43 | variable string Filter = "Distance > 200000" 44 | ;variable string Filter = "CategoryID = 25" 45 | 46 | QueryID:Set[${LavishScript.CreateQuery[${Filter}]}] 47 | if ${QueryID} == 0 48 | { 49 | UI:UpdateConsole["LavishScript.CreateQuery: '${Filter}' query addition FAILED"] 50 | return 0 51 | } 52 | 53 | Entities:RemoveByQuery[${QueryID}, true] 54 | UI:UpdateConsole["Entities:RemoveByQuery: ${Entities.Used} entities after call"] 55 | 56 | StartTime2:Set[${Script.RunningTime}] 57 | if ${EntityIterator:First(exists)} 58 | do 59 | { 60 | ;if ${EntityIterator.Value.Distance} < 200000 61 | ;{ 62 | ;ItemTest:IterateMembers["EntityIterator.Value", TRUE, FALSE] 63 | echo ${EntityIterator.Value}: ${EntityIterator.Value.ID} ${EntityIterator.Value.Distance} ${EntityIterator.Value.CategoryID} 64 | ;} 65 | } 66 | while ${EntityIterator:Next(exists)} 67 | ;UI:UpdateConsole[" ${ItemTest.TypeName} * ${Entities.Used} completed ${Math.Calc[(${Script.RunningTime}-${StartTime2}) / 1000]} seconds"] 68 | 69 | UI:UpdateConsole["EVE:QueryEntities: ${Entities.Used} entities in ${CallTime} seconds - Count should be ${EVE.EntitiesCount}"] 70 | UI:UpdateConsole["Testing of datatype ${ItemTest.TypeName} completed in ${Math.Calc[(${Script.RunningTime}-${StartTime}) / 1000]} seconds"] 71 | } 72 | 73 | -------------------------------------------------------------------------------- /Testcases/ISXEVE/EVE_QueryEntities_Tags.iss: -------------------------------------------------------------------------------- 1 | #define TESTCASE 1 2 | 3 | #include ../../Support/TestAPI.iss 4 | 5 | /* 6 | * Entity Retrieval and Member Access 7 | * 8 | * Revision $Id$ 9 | * 10 | * Tests: 11 | * EVE:QueryEntities 12 | * Entity Members 13 | * 14 | * Requirements: 15 | * You: In Space 16 | */ 17 | 18 | function main() 19 | { 20 | declarevariable Entities index:entity script 21 | declarevariable EntityIterator iterator script 22 | 23 | variable obj_LSTypeIterator ItemTest = "entity" 24 | 25 | variable int StartTime = ${Script.RunningTime} 26 | variable int StartTime2 27 | variable float CallTime 28 | 29 | ItemTest:ParseMembers 30 | 31 | variable index:string MemberList 32 | MemberList:Insert[ID] 33 | MemberList:Insert[Name] 34 | ;MemberList:Insert[GroupID] 35 | ;MemberList:Insert[TypeID] 36 | ;MemberList:Insert[CategoryID] 37 | ;MemberList:Insert[ShieldPct] 38 | ;MemberList:Insert[ArmorPct] 39 | ;MemberList:Insert[StructurePct] 40 | MemberList:Insert[Distance] 41 | ;MemberList:Insert[X] 42 | ;MemberList:Insert[Y] 43 | ;MemberList:Insert[Z] 44 | ;MemberList:Insert[BeingTargeted] 45 | ;MemberList:Insert[IsLockedTarget] 46 | ;MemberList:Insert[IsNPC] 47 | ;MemberList:Insert[IsPC] 48 | ;MemberList:Insert[IsTargetingMe] 49 | 50 | variable iterator CurrentMember 51 | 52 | ;EVE:PopulateEntities[TRUE] 53 | ;UI:UpdateConsole["EVE:PopulateEntities: ${Math.Calc[(${Script.RunningTime}-${StartTime2}) / 1000]} seconds"] 54 | 55 | StartTime:Set[${Script.RunningTime}] 56 | EVE:QueryEntities[Entities] 57 | EVE:QueryEntities[Entities, Distance < 200000] 58 | EVE:QueryEntities[Entities, "CategoryID = 25"] 59 | 60 | CallTime:Set[${Math.Calc[(${Script.RunningTime}-${StartTime}) / 1000]}] 61 | UI:UpdateConsole["EVE:QueryEntities: ${Entities.Used} entities in ${CallTime} seconds"] 62 | 63 | Entities:GetIterator[EntityIterator] 64 | MemberList:GetIterator[CurrentMember] 65 | 66 | StartTime:Set[${Script.RunningTime}] 67 | if ${CurrentMember:First(exists)} 68 | do 69 | { 70 | StartTime2:Set[${Script.RunningTime}] 71 | if ${EntityIterator:First(exists)} 72 | do 73 | { 74 | ;ItemTest:IterateMembers["EntityIterator.Value", TRUE, FALSE] 75 | if ${EntityIterator.Value.FleetTag.Equal[""]} 76 | { 77 | echo ${EntityIterator.Value}: ${EntityIterator.Value.ID} ${EntityIterator.Value.Distance} "Empty" 78 | } 79 | else 80 | { 81 | echo ${EntityIterator.Value}: ${EntityIterator.Value.ID} ${EntityIterator.Value.Distance} ${EntityIterator.Value.FleetTag} 82 | } 83 | 84 | } 85 | while ${EntityIterator:Next(exists)} 86 | UI:UpdateConsole["${ItemTest.TypeName}.${CurrentMember.Value}/Name/Distance * ${Entities.Used} completed ${Math.Calc[(${Script.RunningTime}-${StartTime2}) / 1000]} seconds"] 87 | } 88 | while ${CurrentMember:Next(exists)} 89 | 90 | UI:UpdateConsole["EVE:QueryEntities returned ${Entities.Used} entities in ${CallTime} seconds"] 91 | UI:UpdateConsole["Testing of datatype ${ItemTest.TypeName} completed in ${Math.Calc[(${Script.RunningTime}-${StartTime}) / 1000]} seconds"] 92 | } 93 | -------------------------------------------------------------------------------- /Testcases/ISXEVE/Fleet_Broadcast.iss: -------------------------------------------------------------------------------- 1 | #define TESTCASE 1 2 | 3 | #include ../../Support/TestAPI.iss 4 | 5 | /* 6 | Test Fleet Broadcasts 7 | 8 | Revision $Id$ 9 | 10 | Tests: 11 | Me.Fleet:Broadcast_* 12 | 13 | Requirements: 14 | You: In Space 15 | Other: In Fleet, In Space, on Grid 16 | 17 | Optional: 18 | Active Cyno (if you want the beacon broadcast to succeed) 19 | */ 20 | 21 | function main() 22 | { 23 | echo " " 24 | echo "${Script.Filename} Starting..." 25 | echo " " 26 | echo "There are ${Me.Fleet.Size} fleet members" 27 | 28 | echo "Broadcast Tests:" 29 | Me.Fleet:Broadcast_AlignTo[${Entity[Name = "Stargate"].ID}] 30 | wait 10 31 | Me.Fleet:Broadcast_EnemySpotted 32 | wait 10 33 | Me.Fleet:Broadcast_HealArmor 34 | wait 10 35 | Me.Fleet:Broadcast_HealCapacitor 36 | wait 10 37 | Me.Fleet:Broadcast_HealShield 38 | wait 10 39 | Me.Fleet:Broadcast_HoldPosition 40 | wait 10 41 | Me.Fleet:Broadcast_InPosition 42 | wait 10 43 | Me.Fleet:Broadcast_JumpBeacon 44 | wait 10 45 | Me.Fleet:Broadcast_JumpTo[${Universe["Jita"].ID}] 46 | wait 10 47 | Me.Fleet:Broadcast_Location 48 | wait 10 49 | Me.Fleet:Broadcast_NeedBackup 50 | wait 10 51 | Me.Fleet:Broadcast_Target[${Me.ToEntity.ID}] 52 | wait 10 53 | Me.Fleet:Broadcast_TravelTo[${Universe["Jita"].ID}] 54 | wait 10 55 | Me.Fleet:Broadcast_WarpTo[${Entity[Name = "Stargate"].ID}] 56 | wait 10 57 | Me.Fleet:Broadcast_WarpTo[${Me.ToEntity.ID}] 58 | wait 10 59 | 60 | echo "${Script.Filename} Completed..." 61 | } -------------------------------------------------------------------------------- /Testcases/ISXEVE/Fleet_GetMembers.iss: -------------------------------------------------------------------------------- 1 | #define TESTCASE 1 2 | 3 | #include ../../Support/TestAPI.iss 4 | 5 | /* 6 | Test FleetMember Iteration, FleetMember.ToEntity, FleetMember.ToPilot 7 | 8 | Revision $Id$ 9 | 10 | Requirements: 11 | You: In Space 12 | Other1: In Fleet, In Space, on Grid 13 | Other2: In Space, Off Grid 14 | */ 15 | 16 | function main() 17 | { 18 | variable obj_LSTypeIterator ItemTest = "fleetmember" 19 | variable string MethodStr = "Me.Fleet:GetMembers" 20 | 21 | #include "../_Testcase_MethodStr_Body.iss" 22 | } -------------------------------------------------------------------------------- /Testcases/ISXEVE/Item.iss: -------------------------------------------------------------------------------- 1 | #define TESTCASE 1 2 | 3 | #include ../../Support/TestAPI.iss 4 | /* 5 | * Test MyShip:GetCarg 6 | * 7 | * Revision $Id: Station_GetHangarItems.iss 2131 2012-01-09 21:21:12Z CyberTech $ 8 | * 9 | * Requirements: 10 | * Have items in ship cargo 11 | * 12 | */ 13 | 14 | 15 | function main() 16 | { 17 | variable obj_LSTypeIterator ItemTest = "item" 18 | variable string MethodStr = "MyShip:GetCargo" 19 | 20 | MyShip:Open 21 | wait 15 22 | 23 | #include "../_Testcase_MethodStr_Body.iss" 24 | } -------------------------------------------------------------------------------- /Testcases/ISXEVE/Item_Compress.iss: -------------------------------------------------------------------------------- 1 | #define TESTCASE 1 2 | 3 | #include ../../Support/TestAPI.iss 4 | 5 | /* 6 | * Test Opening Compression window 7 | * 8 | * Revision $Id$ 9 | * 10 | * Tests: 11 | * Trying to open compression window in station 12 | * 13 | * 14 | * Requirements: 15 | * You: In station 16 | * Ore: In Mining Ore Hold 17 | */ 18 | 19 | function main() 20 | { 21 | variable index:item MyOre 22 | variable iterator OreIterator 23 | variable index:int64 IDList 24 | 25 | 26 | if !${EVEWindow[Inventory](exists)} 27 | { 28 | echo "Opening Inventory..." 29 | EVE:Execute[OpenInventory] 30 | wait 2 31 | } 32 | 33 | EVEWindow[Inventory].ChildWindow[${MyShip.ID}, ShipGeneralMiningHold]:MakeActive 34 | Wait 10 35 | 36 | EVEWindow[Inventory].ActiveChild:GetItems[MyOre] 37 | echo "Ship Mining Hold contains ${MyOre.Used}" 38 | 39 | MyOre:GetIterator[OreIterator] 40 | if ${OreIterator:First(exists)} 41 | { 42 | do 43 | { 44 | if (${OreIterator.Value.Name.Equal[Veldspar]}) 45 | { 46 | echo "Try to open compression window" 47 | OreIterator.Value:Compress 48 | } 49 | } 50 | while ${OreIterator:Next(exists)} 51 | } 52 | 53 | 54 | } -------------------------------------------------------------------------------- /Testcases/ISXEVE/Item_GetInsuranceQuotes.iss: -------------------------------------------------------------------------------- 1 | #define TESTCASE 1 2 | 3 | #include ../../Support/TestAPI.iss 4 | 5 | /* 6 | * Test: 7 | * Item:GetInsuranceQuotes, where item is a ship 8 | * Item.Insured 9 | * Item.InsuranceLeveL 10 | * 11 | * Revision $Id$ 12 | * 13 | * Requirements: 14 | * Docked 15 | * Ships in ship hangar 16 | * Insurance window open 17 | * 18 | */ 19 | 20 | function main() 21 | { 22 | variable int StartTime = ${Script.RunningTime} 23 | variable int EndTime 24 | 25 | declarevariable HangarShips index:item script 26 | variable collection:float Quotes 27 | 28 | EVE:Execute[OpenShipHangar] 29 | wait 15 30 | Me.Station:GetHangarShips[HangarShips] 31 | echo "Me.Station:GetHangarShips returned ${HangarShips.Used} ships" 32 | EVE:Execute[OpenInsurance] 33 | wait 15 34 | variable int i 35 | for (i:Set[1]; ${i} <= ${HangarShips.Used}; i:Inc) 36 | { 37 | HangarShips.Get[${i}]:GetInsuranceQuotes[Quotes] 38 | echo "Insurance Quotes for ${HangarShips.Get[${i}].Name}" 39 | echo " " Basic: ${Quotes.Element["Basic"]} 40 | echo " " Standard: ${Quotes.Element["Standard"]} 41 | echo " " Bronze: ${Quotes.Element["Bronze"]} 42 | echo " " Silver: ${Quotes.Element["Silver"]} 43 | echo " " Gold: ${Quotes.Element["Gold"]} 44 | echo " " Platinum: ${Quotes.Element["Platinum"]} 45 | echo " Insured: ${HangarShips.Get[${i}].IsInsured}" 46 | echo " InsuranceLevel: ${HangarShips.Get[${i}].InsuranceLevel}" 47 | } 48 | 49 | EndTime:Set[${Script.RunningTime}] 50 | echo "Testing of method Item:GetInsuranceQuotes completed in ${Math.Calc[(${EndTime}-${StartTime}) / 1000]} seconds" 51 | } -------------------------------------------------------------------------------- /Testcases/ISXEVE/Item_Insure.iss: -------------------------------------------------------------------------------- 1 | #define TESTCASE 1 2 | 3 | #include ../../Support/TestAPI.iss 4 | 5 | /* 6 | * Test Item:GetInsuranceQuotes, where item is a ship 7 | * 8 | * Revision $Id$ 9 | * 10 | * Requirements: 11 | * Docked 12 | * Ships in ship hangar 13 | * Kestrel in ship hangar, uninsured (cancel insurance if needed) 14 | * Insurance window open 15 | * Enough isk (80k) to cover insuring a kestrel 16 | * 17 | */ 18 | 19 | function main() 20 | { 21 | variable int StartTime = ${Script.RunningTime} 22 | variable int EndTime 23 | 24 | declarevariable HangarShips index:item script 25 | variable collection:float Quotes 26 | 27 | EVE:Execute[OpenShipHangar] 28 | wait 15 29 | Me.Station:GetHangarShips[HangarShips] 30 | echo "Me.Station:GetHangarShips returned ${HangarShips.Used} ships" 31 | 32 | variable int i 33 | for (i:Set[1]; ${i} <= ${HangarShips.Used}; i:Inc) 34 | { 35 | if ${HangarShips.Get[${i}].TypeID} == 602 36 | { 37 | HangarShips.Get[${i}]:GetInsuranceQuotes[Quotes] 38 | echo "Insurance Quotes for ${HangarShips.Get[${i}].Name} ${HangarShips.Get[${i}].TypeID}" 39 | echo " " Platinum Cost: ${Quotes.Element["Platinum"]} 40 | HangarShips.Get[${i}]:Insure[${Quotes.Element["Platinum"]}] 41 | } 42 | } 43 | 44 | echo "Close and re-open the insurance window, and the ship should now be insured" 45 | 46 | EndTime:Set[${Script.RunningTime}] 47 | echo "Testing of method Item:Insure completed in ${Math.Calc[(${EndTime}-${StartTime}) / 1000]} seconds" 48 | } -------------------------------------------------------------------------------- /Testcases/ISXEVE/Item_MoveTo_Hangar.iss: -------------------------------------------------------------------------------- 1 | #define TESTCASE 1 2 | 3 | #include ../../Support/TestAPI.iss 4 | 5 | /* 6 | * Test moving all items from ship cargo to station item hangar 7 | * 8 | * Revision $Id$ 9 | * 10 | * Tests: 11 | * Item:Moveto (Hangar dest) 12 | * MyShip:GetCargo 13 | * 14 | * Requirements: 15 | * You: In station 16 | * Cargo: In station hangar 17 | */ 18 | 19 | function main() 20 | { 21 | variable index:item MyCargo 22 | variable iterator CargoIterator 23 | variable index:int64 IDList 24 | 25 | if !${Me.InStation} 26 | { 27 | echo "Must be docked" 28 | return 29 | } 30 | 31 | echo "Version: ${ISXEVE.Version}" 32 | 33 | if !${EVEWindow[Inventory](exists)} 34 | { 35 | echo "Opening Inventory..." 36 | EVE:Execute[OpenInventory] 37 | wait 2 38 | } 39 | 40 | EVEWindow[Inventory].ChildWindow[${Me.StationID}, StationItems]:MakeActive 41 | Wait 10 42 | 43 | MyShip:GetCargo[MyCargo] 44 | echo "Ship Cargo contains ${MyCargo.Used} Items" 45 | 46 | MyCargo:GetIterator[CargoIterator] 47 | if ${CargoIterator:First(exists)} 48 | ;do 49 | { 50 | echo "Moving ID: ${CargoIterator.Value} ${CargoIterator.Value.ID} Count: ${CargoIterator.Value.Quantity}" 51 | CargoIterator.Value:MoveTo[MyStationHangar, CargoHold, ${CargoIterator.Value.Quantity}] 52 | } 53 | ;while ${CargoIterator:Next(exists)} 54 | 55 | } -------------------------------------------------------------------------------- /Testcases/ISXEVE/Item_MoveTo_MyShip.iss: -------------------------------------------------------------------------------- 1 | #define TESTCASE 1 2 | 3 | #include ../../Support/TestAPI.iss 4 | 5 | /* 6 | * Test moving all items from ship cargo to station hangar 7 | * 8 | * Revision $Id$ 9 | * 10 | * Tests: 11 | * Item:Moveto (Myship dest) 12 | * MyShip:GetCargo 13 | * 14 | * Requirements: 15 | * You: In station 16 | * Cargo: In station hangar 17 | */ 18 | 19 | function main() 20 | { 21 | variable index:item MyCargo 22 | variable iterator CargoIterator 23 | variable index:int64 IDList 24 | 25 | if !${Me.InStation} 26 | { 27 | echo "Must be docked" 28 | return 29 | } 30 | 31 | echo "Version: ${ISXEVE.Version}" 32 | 33 | if !${EVEWindow[Inventory](exists)} 34 | { 35 | echo "Opening Inventory..." 36 | EVE:Execute[OpenInventory] 37 | wait 2 38 | } 39 | 40 | EVEWindow[Inventory].ChildWindow[${Me.Station.ID}, StationItems]:MakeActive 41 | Wait 10 42 | 43 | Me.Station:GetHangarItems[MyCargo] 44 | echo "Station Hangar contains ${MyCargo.Used} Items" 45 | 46 | MyCargo:GetIterator[CargoIterator] 47 | if ${CargoIterator:First(exists)} 48 | do 49 | { 50 | echo "Moving ID: ${CargoIterator.Value} ${CargoIterator.Value.ID} Count: ${CargoIterator.Value.Quantity}" 51 | CargoIterator.Value:MoveTo[MyShip, CargoHold, ${CargoIterator.Value.Quantity}] 52 | ;CargoIterator.Value:MoveTo[MyShip] 53 | } 54 | while ${CargoIterator:Next(exists)} 55 | 56 | EVEWindow[Inventory].ChildWindow[${MyShip.ID}, ShipCargo]:MakeActive 57 | } -------------------------------------------------------------------------------- /Testcases/ISXEVE/Item_MoveTo_MyShip_FleetHangar.iss: -------------------------------------------------------------------------------- 1 | #define TESTCASE 1 2 | 3 | #include ../../Support/TestAPI.iss 4 | 5 | /* 6 | * Test moving all items from station hangar to ship fleet hangar 7 | * 8 | * Revision $Id$ 9 | * 10 | * Tests: 11 | * Item:Moveto (Myship dest) 12 | * Station:GetHangarItems 13 | * 14 | * Requirements: 15 | * You: In station 16 | * Cargo: In station hangar 17 | */ 18 | 19 | function main() 20 | { 21 | variable index:item MyCargo 22 | variable iterator CargoIterator 23 | variable index:int64 IDList 24 | 25 | if !${Me.InStation} 26 | { 27 | echo "Must be docked" 28 | return 29 | } 30 | 31 | echo "Version: ${ISXEVE.Version}" 32 | 33 | if !${EVEWindow[Inventory](exists)} 34 | { 35 | echo "Opening Inventory..." 36 | EVE:Execute[OpenInventory] 37 | wait 2 38 | } 39 | 40 | EVEWindow[Inventory].ChildWindow[${Me.StationID}, StationItems]:MakeActive 41 | Wait 10 42 | 43 | Me.Station:GetHangarItems[MyCargo] 44 | echo "Station Hangar contains ${MyCargo.Used} Items" 45 | 46 | MyCargo:GetIterator[CargoIterator] 47 | if ${CargoIterator:First(exists)} 48 | ;do 49 | { 50 | echo "Moving ID: ${CargoIterator.Value} ${CargoIterator.Value.ID} Count: ${CargoIterator.Value.Quantity}" 51 | CargoIterator.Value:MoveTo["MyShip", "FleetHangar", ${CargoIterator.Value.Quantity}] 52 | } 53 | ;while ${CargoIterator:Next(exists)} 54 | 55 | } -------------------------------------------------------------------------------- /Testcases/ISXEVE/Item_Open.iss: -------------------------------------------------------------------------------- 1 | #define TESTCASE 1 2 | 3 | #include ../../Support/TestAPI.iss 4 | /* 5 | * Test GetHangarItems 6 | * 7 | * Revision $Id$ 8 | * 9 | * Requirements: 10 | * Docked, have items in station hangar 11 | * 12 | */ 13 | 14 | 15 | function main() 16 | { 17 | variable index:item Items 18 | variable string MethodStr = "Me.Station:GetHangarItems" 19 | 20 | EVE:Execute[OpenHangarFloor] 21 | wait 15 22 | 23 | Me.Station:GetHangarItems[Items] 24 | variable iterator ThisItem 25 | Items:GetIterator[ThisItem] 26 | if ${ThisItem:First(exists)} 27 | { 28 | do 29 | { 30 | ; Freight Container 649 General Freight Container 31 | ; Secure Cargo Container 340 Giant Secure Container 32 | if ${ThisItem.Value.GroupID} == 649 || \ 33 | ${ThisItem.Value.GroupID} == 448 || \ 34 | ${ThisItem.Value.GroupID} == 12 || \ 35 | ${ThisItem.Value.GroupID} == 340 36 | ThisItem.Value:Open 37 | } 38 | while ${ThisItem:Next(exists)} 39 | } 40 | } -------------------------------------------------------------------------------- /Testcases/ISXEVE/Item_UseAbyssalFilament.iss: -------------------------------------------------------------------------------- 1 | #define TESTCASE 1 2 | 3 | #include ../../Support/TestAPI.iss 4 | /* 5 | * Test GetHangarItems 6 | * 7 | * Revision $Id$ 8 | * 9 | * Requirements: 10 | * Docked, have items in station hangar 11 | * 12 | */ 13 | 14 | 15 | function main() 16 | { 17 | variable index:item Items 18 | variable string MethodStr = "Me.Station:GetHangarItems" 19 | 20 | EVE:Execute[OpenHangarFloor] 21 | wait 15 22 | 23 | Me.Station:GetHangarItems[Items] 24 | variable iterator ThisItem 25 | Items:GetIterator[ThisItem] 26 | if ${ThisItem:First(exists)} 27 | { 28 | do 29 | { 30 | ; Freight Container 649 General Freight Container 31 | ; Secure Cargo Container 340 Giant Secure Container 32 | if ${ThisItem.Value.Name.Equal["Calm Firestorm Filament"]} 33 | { 34 | echo "Activating ${ThisItem.Value.ID} ${ThisItem.Value.Name}" 35 | ThisItem.Value:UseAbyssalFilament 36 | break 37 | } 38 | } 39 | while ${ThisItem:Next(exists)} 40 | } 41 | } -------------------------------------------------------------------------------- /Testcases/ISXEVE/Me.iss: -------------------------------------------------------------------------------- 1 | #define TESTCASE 1 2 | 3 | #include ../../Support/TestAPI.iss 4 | /* 5 | Test: Me (character datatype) 6 | Requirements: Logged in 7 | 8 | */ 9 | function main() 10 | { 11 | variable int StartTime = ${Script.RunningTime} 12 | variable int EndTime 13 | 14 | variable obj_LSTypeIterator ItemTest = "character" 15 | 16 | ItemTest:ParseMembers 17 | ItemTest.ExcludedMembers:Add["Corporation"] 18 | ItemTest:IterateMembers["Me"] 19 | ;ItemTest:WriteTestScript["Me"] 20 | 21 | EndTime:Set[${Script.RunningTime}] 22 | echo "Testing of datatype ${ItemTest.TypeName} completed in ${Math.Calc[(${EndTime}-${StartTime}) / 1000]} seconds" 23 | } -------------------------------------------------------------------------------- /Testcases/ISXEVE/Me_GetActiveDroneIDs.iss: -------------------------------------------------------------------------------- 1 | #define TESTCASE 1 2 | 3 | #include ../../Support/TestAPI.iss 4 | 5 | /* 6 | * Test GetActiveDroneIDs [Shiva] 7 | * Requires: Must be in space. 8 | */ 9 | 10 | 11 | function main() 12 | { 13 | variable obj_LSTypeIterator ItemTest = "int64" 14 | variable string MethodStr = "Me:GetActiveDroneIDs" 15 | 16 | #include "../_Testcase_MethodStr_Body.iss" 17 | } -------------------------------------------------------------------------------- /Testcases/ISXEVE/Me_GetActiveDrones.iss: -------------------------------------------------------------------------------- 1 | #define TESTCASE 1 2 | 3 | #include ../../Support/TestAPI.iss 4 | 5 | /* 6 | * Test GetActiveDrones 7 | * Requires: Must be in space. 8 | * Note: Detects ALL drones in space that are in your window. 9 | */ 10 | 11 | 12 | function main() 13 | { 14 | variable obj_LSTypeIterator ItemTest = "activedrone" 15 | variable string MethodStr = "Me:GetActiveDrones" 16 | 17 | #include "../_Testcase_MethodStr_Body.iss" 18 | } -------------------------------------------------------------------------------- /Testcases/ISXEVE/Me_GetAssets.iss: -------------------------------------------------------------------------------- 1 | #define TESTCASE 1 2 | 3 | #include ../../Support/TestAPI.iss 4 | 5 | /* 6 | * Test GetAssets (Listed as GetAssets) [Shiva] 7 | * 8 | * Revision $Id$ 9 | * 10 | * Requirements: 11 | * Open Assets window & Have a Station Micro-tabbed out. 12 | * 13 | * Note: Only lists assets cache'd already :( 14 | * Can't get around the 5 mins enforced min update time of assets. 15 | */ 16 | 17 | #define WITH_STATIONID 0 18 | 19 | function main() 20 | { 21 | variable obj_LSTypeIterator ItemTest = "item" 22 | variable string MethodStr = "Me:GetAssets" 23 | variable string MethodStrParam = "60012157" 24 | 25 | if !${EVEWindow[ByCaption,"ASSETS"](exists)} 26 | { 27 | EVE:Execute[OpenAssets] 28 | wait 50 29 | } 30 | 31 | #include "../_Testcase_MethodStr_Body.iss" 32 | } -------------------------------------------------------------------------------- /Testcases/ISXEVE/Me_GetAttackers.iss: -------------------------------------------------------------------------------- 1 | #define TESTCASE 1 2 | #include ../../Support/TestAPI.iss 3 | 4 | /* 5 | Test GetAttackers 6 | 7 | Revision $Id$ 8 | 9 | Requirements: 10 | You: In Space 11 | Other1: Shooting you 12 | */ 13 | 14 | function main() 15 | { 16 | variable obj_LSTypeIterator ItemTest = "attacker" 17 | variable string MethodStr = "Me:GetAttackers" 18 | 19 | #include "../_Testcase_MethodStr_Body.iss" 20 | } -------------------------------------------------------------------------------- /Testcases/ISXEVE/Me_GetJammers.iss: -------------------------------------------------------------------------------- 1 | #define TESTCASE 1 2 | #include ../../Support/TestAPI.iss 3 | 4 | /* 5 | Test GetJammers 6 | 7 | Revision $Id$ 8 | 9 | Requirements: 10 | You: In Space 11 | Other1: Jamming you 12 | */ 13 | 14 | function main() 15 | { 16 | variable obj_LSTypeIterator ItemTest = "jammer" 17 | variable string MethodStr = "Me:GetJammers" 18 | 19 | #include "../_Testcase_MethodStr_Body.iss" 20 | } -------------------------------------------------------------------------------- /Testcases/ISXEVE/Me_GetMyOrders.iss: -------------------------------------------------------------------------------- 1 | #define TESTCASE 1 2 | 3 | #include ../../Support/TestAPI.iss 4 | 5 | /* 6 | * Test retrieval of character's market orders 7 | * 8 | * Revision $Id: test_DoGetMyOrders.iss 1190 2009-06-16 21:46:32Z cybertech $ 9 | * 10 | * Requirements: 11 | * 12 | */ 13 | 14 | function main() 15 | { 16 | variable index:myorder OrderIndex 17 | 18 | variable int RTime = ${Script.RunningTime} 19 | Me:UpdateMyOrders 20 | echo "- UpdateMyOrders took ${Math.Calc[${Script.RunningTime}-${RTime}]} ms." 21 | 22 | wait 10 23 | 24 | RTime:Set[${Script.RunningTime}] 25 | while !${Me:GetMyOrders[OrderIndex](exists)} 26 | { 27 | wait 10 28 | } 29 | echo "- GetMyOrders took ${Math.Calc[${Script.RunningTime}-${RTime}]} ms for ${OrderIndex.Used} orders" 30 | 31 | 32 | variable iterator OrderIterator 33 | OrderIndex:GetIterator[OrderIterator] 34 | 35 | if ${OrderIterator:First(exists)} 36 | { 37 | do 38 | { 39 | echo "===============================================================" 40 | echo OrderIterator.Value.Price : ${OrderIterator.Value.Price} 41 | echo OrderIterator.Value.InitialQuantity : ${OrderIterator.Value.InitialQuantity} 42 | echo OrderIterator.Value.QuantityRemaining : ${OrderIterator.Value.QuantityRemaining} 43 | echo OrderIterator.Value.MinQuantityToBuy : ${OrderIterator.Value.MinQuantityToBuy} 44 | echo OrderIterator.Value.ID : ${OrderIterator.Value.ID} 45 | echo OrderIterator.Value.TimeStampWhenIssued : ${OrderIterator.Value.TimeStampWhenIssued} 46 | echo OrderIterator.Value.DateWhenIssued : ${OrderIterator.Value.DateWhenIssued} 47 | echo OrderIterator.Value.TimeWhenIssued : ${OrderIterator.Value.TimeWhenIssued} 48 | echo OrderIterator.Value.Duration : ${OrderIterator.Value.Duration} 49 | echo OrderIterator.Value.StationID : ${OrderIterator.Value.StationID} 50 | echo OrderIterator.Value.Station : ${OrderIterator.Value.Station} 51 | echo OrderIterator.Value.RegionID : ${OrderIterator.Value.RegionID} 52 | echo OrderIterator.Value.Region : ${OrderIterator.Value.Region} 53 | echo OrderIterator.Value.SolarSystemID : ${OrderIterator.Value.SolarSystemID} 54 | echo OrderIterator.Value.SolarSystem : ${OrderIterator.Value.SolarSystem} 55 | echo OrderIterator.Value.Range : ${OrderIterator.Value.Range} 56 | echo OrderIterator.Value.TypeID : ${OrderIterator.Value.TypeID} 57 | echo OrderIterator.Value.Name : ${OrderIterator.Value.Name} 58 | echo OrderIterator.Value.IsContraband : ${OrderIterator.Value.IsContraband} 59 | echo OrderIterator.Value.IsCorp : ${OrderIterator.Value.IsCorp} 60 | echo OrderIterator.Value.IsSellOrder : ${OrderIterator.Value.IsSellOrder} 61 | echo OrderIterator.Value.IsBuyOrder : ${OrderIterator.Value.IsBuyOrder} 62 | } 63 | while ${OrderIterator:Next(exists)} 64 | } 65 | } -------------------------------------------------------------------------------- /Testcases/ISXEVE/Me_GetSkillQueue.iss: -------------------------------------------------------------------------------- 1 | #define TESTCASE 1 2 | 3 | #include ../../Support/TestAPI.iss 4 | 5 | /* 6 | Test Me:GetSkillQueue 7 | Test queuedskill (Being) Member Iteration 8 | 9 | 10 | Revision $Id$ 11 | 12 | Requirements: 13 | Populated Skill Queue 14 | Skill Queue Window Must be open 15 | */ 16 | 17 | function main() 18 | { 19 | variable obj_LSTypeIterator ItemTest = "queuedskill" 20 | variable string MethodStr = "Me:GetSkillQueue" 21 | 22 | #include "../_Testcase_MethodStr_Body.iss" 23 | } -------------------------------------------------------------------------------- /Testcases/ISXEVE/Me_GetStationsWithAssets.iss: -------------------------------------------------------------------------------- 1 | #define TESTCASE 1 2 | 3 | #include ../../Support/TestAPI.iss 4 | /* 5 | * Test GetStationsWithAssets 6 | * 7 | * Requirements: 8 | * Open assets window 9 | * 10 | */ 11 | 12 | 13 | function main() 14 | { 15 | variable obj_LSTypeIterator ItemTest = "int64" 16 | variable string MethodStr = "Me:GetStationsWithAssets" 17 | 18 | if !${EVEWindow[ByCaption,"ASSETS"](exists)} 19 | { 20 | EVE:Execute[OpenAssets] 21 | wait 50 22 | } 23 | 24 | #include "../_Testcase_MethodStr_Body.iss" 25 | } -------------------------------------------------------------------------------- /Testcases/ISXEVE/Me_GetTargetedBy.iss: -------------------------------------------------------------------------------- 1 | #define TESTCASE 1 2 | #include ../../Support/TestAPI.iss 3 | 4 | /* 5 | Test Me:GetTargetedBy 6 | 7 | Revision $Id$ 8 | 9 | Requirements: 10 | You: Be targeted by other players or NPCs 11 | */ 12 | 13 | function main() 14 | { 15 | variable obj_LSTypeIterator ItemTest = "entity" 16 | variable string MethodStr = "Me:GetTargetedBy" 17 | 18 | #include "../_Testcase_MethodStr_Body.iss" 19 | } -------------------------------------------------------------------------------- /Testcases/ISXEVE/Me_GetTargeting.iss: -------------------------------------------------------------------------------- 1 | #define TESTCASE 1 2 | #include ../../Support/TestAPI.iss 3 | 4 | /* 5 | Test Me:GetTargeting 6 | 7 | Revision $Id$ 8 | 9 | Requirements: 10 | You: Be targeting things 11 | */ 12 | 13 | function main() 14 | { 15 | variable obj_LSTypeIterator ItemTest = "entity" 16 | variable string MethodStr = "Me:GetTargeting" 17 | 18 | #include "../_Testcase_MethodStr_Body.iss" 19 | } -------------------------------------------------------------------------------- /Testcases/ISXEVE/Me_GetTargets.iss: -------------------------------------------------------------------------------- 1 | #define TESTCASE 1 2 | #include ../../Support/TestAPI.iss 3 | 4 | /* 5 | Test Me:GetTargets 6 | 7 | Revision $Id$ 8 | 9 | Requirements: 10 | You: Have targets 11 | */ 12 | 13 | function main() 14 | { 15 | variable obj_LSTypeIterator ItemTest = "entity" 16 | variable string MethodStr = "Me:GetTargets" 17 | 18 | #include "../_Testcase_MethodStr_Body.iss" 19 | } -------------------------------------------------------------------------------- /Testcases/ISXEVE/Module_GetAvailableAmmo.iss: -------------------------------------------------------------------------------- 1 | #define TESTCASE 1 2 | 3 | #include ../../Support/TestAPI.iss 4 | 5 | /* 6 | * Test GetAvailableAmmo [Shiva] 7 | * 8 | * Requirements: 9 | * Cargohold having been opened prior. 10 | * Must be in space. 11 | * 12 | */ 13 | 14 | function main() 15 | { 16 | if ${Me.InStation} 17 | { 18 | echo Can't be done while in a station. 19 | return 20 | } 21 | 22 | variable index:item AmmoIndex 23 | variable index:module ModuleIndex 24 | 25 | MyShip:GetModules[ModuleIndex] 26 | 27 | variable iterator ModuleIterator 28 | 29 | ModuleIndex:GetIterator[ModuleIterator] 30 | 31 | if ${ModuleIterator:First(exists)} 32 | { 33 | do 34 | { 35 | if ${ModuleIterator.Value.Charge(exists)} 36 | { 37 | ModuleIterator.Value:GetAvailableAmmo[AmmoIndex] 38 | 39 | echo ${ModuleIterator.Value.ToItem.Name} has ${AmmoIndex.Used} types of ammo in cargo. 40 | 41 | variable iterator AmmoIterator 42 | AmmoIndex:GetIterator[AmmoIterator] 43 | 44 | if ${AmmoIterator:First(exists)} 45 | { 46 | do 47 | { 48 | echo - ${AmmoIterator.Value.Name} 49 | } 50 | while ${AmmoIterator:Next(exists)} 51 | } 52 | } 53 | else 54 | echo ${ModuleIterator.Value.ToItem.Name} doesn't use charges. 55 | } 56 | while ${ModuleIterator:Next(exists)} 57 | } 58 | else 59 | { 60 | echo None of your Modules require charges. 61 | } 62 | } -------------------------------------------------------------------------------- /Testcases/ISXEVE/MyShip_GetCargo.iss: -------------------------------------------------------------------------------- 1 | #define TESTCASE 1 2 | 3 | #include ../../Support/TestAPI.iss 4 | /* 5 | * Test MyShip:GetCarg 6 | * 7 | * Revision $Id: Station_GetHangarItems.iss 2131 2012-01-09 21:21:12Z CyberTech $ 8 | * 9 | * Requirements: 10 | * Have items in ship cargo 11 | * 12 | */ 13 | 14 | 15 | function main() 16 | { 17 | variable obj_LSTypeIterator ItemTest = "item" 18 | variable string MethodStr = "MyShip:GetCargo" 19 | 20 | MyShip:Open 21 | wait 15 22 | 23 | #include "../_Testcase_MethodStr_Body.iss" 24 | } -------------------------------------------------------------------------------- /Testcases/ISXEVE/MyShip_GetModules.iss: -------------------------------------------------------------------------------- 1 | #define TESTCASE 1 2 | 3 | #include ../../Support/TestAPI.iss 4 | 5 | /* 6 | Test Modules 7 | */ 8 | 9 | function main() 10 | { 11 | variable obj_LSTypeIterator ItemTest = "module" 12 | variable string MethodStr = "MyShip:GetModules" 13 | 14 | #include "../_Testcase_MethodStr_Body.iss" 15 | } -------------------------------------------------------------------------------- /Testcases/ISXEVE/MyShip_GetOreHoldCargo.iss: -------------------------------------------------------------------------------- 1 | #define TESTCASE 1 2 | 3 | #include ../../Support/TestAPI.iss 4 | /* 5 | * Test MyShip:GetOreHoldCargo 6 | * 7 | * 8 | * Requirements: 9 | * Have items in ship ore hold 10 | * 11 | */ 12 | 13 | 14 | function main() 15 | { 16 | variable obj_LSTypeIterator ItemTest = "item" 17 | variable string MethodStr = "MyShip:GetOreHoldCargo" 18 | 19 | if !${MyShip.HasOreHold} 20 | { 21 | echo "Test skipped - MyShip.HasOreHold == false" 22 | return 23 | } 24 | MyShip:Open 25 | wait 15 26 | 27 | #include "../_Testcase_MethodStr_Body.iss" 28 | } -------------------------------------------------------------------------------- /Testcases/ISXEVE/MyShip_Scanner_Cargo.iss: -------------------------------------------------------------------------------- 1 | #define TESTCASE 1 2 | 3 | #include ../../Support/TestAPI.iss 4 | 5 | /* 6 | Test retrieval of cargo scanner module results 7 | 8 | Revision $Id: MyShip_Scanner_Ship.iss 2869 2013-08-19 20:56:22Z CyberTech $ 9 | 10 | Requirements: 11 | 1) In Space 12 | 2) Inside a ship 13 | 3) Have Cargo Scanner module fitted 14 | 4) Have target to scan 15 | */ 16 | 17 | function main() 18 | { 19 | EVEWindow[ByCaption, "${Me.ActiveTarget.Name} Cargo Scan Results"]:Close 20 | MyShip.Scanners.Cargo[${MyShip.Module[MedSlot4].ID}]:StartScan[${Me.ActiveTarget}] 21 | wait 50 22 | 23 | declarevariable Entities index:entity script 24 | declarevariable EntityIterator iterator script 25 | 26 | EVE:QueryEntities[Entities] 27 | Entities:GetIterator[EntityIterator] 28 | 29 | variable uint QueryID 30 | variable string Filter = "HasCargoScannerResults != 1" 31 | 32 | QueryID:Set[${LavishScript.CreateQuery[${Filter}]}] 33 | if ${QueryID} == 0 34 | { 35 | UI:UpdateConsole["LavishScript.CreateQuery: '${Filter}' query addition FAILED"] 36 | return 0 37 | } 38 | 39 | Entities:RemoveByQuery[${QueryID}] 40 | 41 | declarevariable TestIndex index:string script 42 | declarevariable TestIterator iterator script 43 | 44 | if ${EntityIterator:First(exists)} 45 | do 46 | { 47 | echo ${EntityIterator.Value}: ${EntityIterator.Value.Name} 48 | EntityIterator.Value:GetCargoScannerResults[TestIndex] 49 | TestIndex:GetIterator[TestIterator] 50 | 51 | if ${TestIterator:First(exists)} 52 | do 53 | { 54 | echo ${TestIterator.Value} 55 | } 56 | while ${TestIterator:Next(exists)} 57 | } 58 | while ${EntityIterator:Next(exists)} 59 | } -------------------------------------------------------------------------------- /Testcases/ISXEVE/MyShip_Scanner_Directional.iss: -------------------------------------------------------------------------------- 1 | #define TESTCASE 1 2 | 3 | #include ../../Support/TestAPI.iss 4 | 5 | /* 6 | Test retrieval of directional scan results 7 | 8 | Revision $Id$ 9 | 10 | Requirements: 11 | 1) In Space 12 | 2) Inside a ship 13 | */ 14 | 15 | function main() 16 | { 17 | declarevariable ResultIndex index:scannerdirectionalresult script 18 | declarevariable TestIterator iterator script 19 | variable obj_LSTypeIterator ItemTest = "scannerdirectionalresult" 20 | variable int RTime 21 | 22 | ResultIndex:GetIterator[TestIterator] 23 | ItemTest:ParseMembers 24 | 25 | RTime:Set[${Script.RunningTime}] 26 | 27 | if !${MyShip.Scanners.Directional:StartScan[](exists)} 28 | { 29 | echo "StartScan Failed!" 30 | Script:End 31 | } 32 | else 33 | { 34 | echo "- StartDirectionalScan took ${Math.Calc[${Script.RunningTime}-${RTime}]} ms." 35 | } 36 | 37 | wait 5 38 | 39 | while !${MyShip.Scanners.Directional:GetScanResults[ResultIndex](exists)} 40 | { 41 | echo "Waiting for scanner results..." 42 | wait 20 43 | } 44 | echo "- GetScanResults returned ${ResultIndex.Used} directional results in ${Math.Calc[${Script.RunningTime}-${RTime}]} ms." 45 | variable uint QueryID 46 | variable string Filter = "ToEntity.Distance < 1" 47 | 48 | QueryID:Set[${LavishScript.CreateQuery[${Filter}]}] 49 | if ${QueryID} == 0 50 | { 51 | UI:UpdateConsole["LavishScript.CreateQuery: '${Filter}' query addition FAILED"] 52 | return 0 53 | } 54 | 55 | ResultIndex:RemoveByQuery[${QueryID}, true] 56 | 57 | if ${TestIterator:First(exists)} 58 | do 59 | { 60 | echo ${TestIterator.Value.ToEntity.Name} 61 | ItemTest:IterateMembers["TestIterator.Value"] 62 | } 63 | while ${TestIterator:Next(exists)} 64 | 65 | echo "- GetScanResults returned ${ResultIndex.Used} directional results in ${Math.Calc[${Script.RunningTime}-${RTime}]} ms." 66 | } -------------------------------------------------------------------------------- /Testcases/ISXEVE/MyShip_Scanner_Ship.iss: -------------------------------------------------------------------------------- 1 | #define TESTCASE 1 2 | 3 | #include ../../Support/TestAPI.iss 4 | 5 | /* 6 | Test retrieval of ship scanner module results 7 | 8 | Revision $Id$ 9 | 10 | Requirements: 11 | 1) In Space 12 | 2) Inside a ship 13 | 3) Have Ship Scanner module fitted 14 | 4) Have target to scan 15 | */ 16 | 17 | function main() 18 | { 19 | EVEWindow[ByCaption, "${Me.ActiveTarget.Name} Scan Result"]:Close 20 | MyShip.Scanners.Ship[${MyShip.Module[MedSlot3].ID}]:StartScan[${Me.ActiveTarget}] 21 | wait 30 ${EVEWindow[ByCaption, "${Me.ActiveTarget.Name} Scan Result"](exists)} 22 | 23 | declarevariable Entities index:entity script 24 | declarevariable EntityIterator iterator script 25 | 26 | EVE:QueryEntities[Entities] 27 | Entities:GetIterator[EntityIterator] 28 | 29 | variable uint QueryID 30 | variable string Filter = "HasShipScannerResults != 1" 31 | 32 | QueryID:Set[${LavishScript.CreateQuery[${Filter}]}] 33 | if ${QueryID} == 0 34 | { 35 | UI:UpdateConsole["LavishScript.CreateQuery: '${Filter}' query addition FAILED"] 36 | return 0 37 | } 38 | 39 | Entities:RemoveByQuery[${QueryID}] 40 | 41 | declarevariable TestIndex index:string script 42 | declarevariable TestIterator iterator script 43 | 44 | if ${EntityIterator:First(exists)} 45 | do 46 | { 47 | echo ${EntityIterator.Value}: ${EntityIterator.Value.Name} ShipScannerCapacitorCapacity: ${EntityIterator.Value.ShipScannerCapacitorCapacity} ShipScannerCapacitorCharge: ${EntityIterator.Value.ShipScannerCapacitorCharge} 48 | EntityIterator.Value:GetShipScannerResults[TestIndex] 49 | TestIndex:GetIterator[TestIterator] 50 | 51 | if ${TestIterator:First(exists)} 52 | do 53 | { 54 | echo ${TestIterator.Value} 55 | } 56 | while ${TestIterator:Next(exists)} 57 | } 58 | while ${EntityIterator:Next(exists)} 59 | } -------------------------------------------------------------------------------- /Testcases/ISXEVE/MyShip_Scanner_Survey.iss: -------------------------------------------------------------------------------- 1 | #define TESTCASE 1 2 | 3 | #include ../../Support/TestAPI.iss 4 | 5 | /* 6 | Test survey module activation and retrieval of survey scanner module results via Entity results 7 | 8 | Requirements: 9 | 1) In Space 10 | 2) Inside a ship 11 | 3) Have Survey Scanner module fitted 12 | 4) Be within your survey module range of 1 or more asteroids 13 | */ 14 | 15 | function main() 16 | { 17 | EVEWindow[ByCaption, "Survey Scan Results"]:Close 18 | 19 | echo "Starting survey scan..." 20 | MyShip.Scanners.Survey[${MyShip.Module[MedSlot1].ID}]:StartScan 21 | ; should not be necessary, the above should have activated it 22 | ;MyShip.Module[MedSlot1]:Activate 23 | 24 | echo "Waiting for module cycle..." 25 | wait 50 ${EVEWindow[ByCaption, "Survey Scan Results"](exists)} 26 | wait 5 27 | 28 | declarevariable Entities index:entity script 29 | declarevariable EntityIterator iterator script 30 | 31 | EVE:QueryEntities[Entities] 32 | Entities:GetIterator[EntityIterator] 33 | 34 | variable uint QueryID 35 | variable string Filter = "SurveyScannerOreQuantity = -1" 36 | 37 | QueryID:Set[${LavishScript.CreateQuery[${Filter}]}] 38 | if ${QueryID} == 0 39 | { 40 | UI:UpdateConsole["LavishScript.CreateQuery: '${Filter}' query addition FAILED"] 41 | return 0 42 | } 43 | 44 | Entities:RemoveByQuery[${QueryID}, true] 45 | 46 | if ${EntityIterator:First(exists)} 47 | do 48 | { 49 | echo ${EntityIterator.Value}: ${EntityIterator.Value.Name} ${EntityIterator.Value.Distance} Ore: ${EntityIterator.Value.SurveyScannerOreQuantity} 50 | } 51 | while ${EntityIterator:Next(exists)} 52 | 53 | UI:UpdateConsole["EVE:QueryEntities: ${Entities.Used} asteroids"] 54 | 55 | } -------------------------------------------------------------------------------- /Testcases/ISXEVE/MyShip_Scanner_System.iss: -------------------------------------------------------------------------------- 1 | #define TESTCASE 1 2 | 3 | #include ../../Support/TestAPI.iss 4 | 5 | /* 6 | Test retrieval of system scanner modules and methods EXCEPT for GetAnomalies/GetSignatures 7 | 8 | Revision $Id$ 9 | 10 | Requirements: 11 | 1) In Space 12 | 2) Inside a ship 13 | */ 14 | 15 | function main() 16 | { 17 | echo "Enabling sensor overlay..." 18 | MyShip.Scanners.System:EnableSensorOverlay 19 | wait 10 20 | if ${MyShip.Scanners.System.IsSensorOverlayActive} 21 | echo MyShip.Scanners.System.IsSensorOverlayActive == TRUE (PASS) 22 | else 23 | echo MyShip.Scanners.System.IsSensorOverlayActive != TRUE (FAIL) 24 | 25 | echo "Disabling sensor overlay..." 26 | MyShip.Scanners.System:DisableSensorOverlay 27 | wait 10 28 | if ${MyShip.Scanners.System.IsSensorOverlayActive} 29 | echo MyShip.Scanners.System.IsSensorOverlayActive == TRUE (FAIL) 30 | else 31 | echo MyShip.Scanners.System.IsSensorOverlayActive != TRUE (PASS) 32 | } -------------------------------------------------------------------------------- /Testcases/ISXEVE/MyShip_Scanner_System_GetAnomalies.iss: -------------------------------------------------------------------------------- 1 | #define TESTCASE 1 2 | 3 | #include ../../Support/TestAPI.iss 4 | 5 | /* 6 | Test GetAnomalies method of the systemscanner datatype 7 | 8 | Revision $Id: MyShip_Scanner_Ship.iss 2869 2013-08-19 20:56:22Z CyberTech $ 9 | 10 | Requirements: 11 | 1) In Space 12 | 2) Inside a ship 13 | */ 14 | 15 | function main() 16 | { 17 | variable obj_LSTypeIterator ItemTest = "systemanomalies" 18 | variable string MethodStr = "MyShip.Scanners.System:GetAnomalies" 19 | 20 | #include "../_Testcase_MethodStr_Body.iss" 21 | } -------------------------------------------------------------------------------- /Testcases/ISXEVE/MyShip_Scanner_System_GetSignatures.iss: -------------------------------------------------------------------------------- 1 | #define TESTCASE 1 2 | 3 | #include ../../Support/TestAPI.iss 4 | 5 | /* 6 | Test GetSignatures method of the systemscanner datatype 7 | 8 | Revision $Id: MyShip_Scanner_Ship.iss 2869 2013-08-19 20:56:22Z CyberTech $ 9 | 10 | Requirements: 11 | 1) In Space 12 | 2) Inside a ship 13 | */ 14 | 15 | function main() 16 | { 17 | variable obj_LSTypeIterator ItemTest = "systemsignature" 18 | variable string MethodStr = "MyShip.Scanners.System:GetSignatures" 19 | 20 | #include "../_Testcase_MethodStr_Body.iss" 21 | } -------------------------------------------------------------------------------- /Testcases/ISXEVE/ProbeScanner_Anoms.iss: -------------------------------------------------------------------------------- 1 | #define TESTCASE 1 2 | 3 | #include ../../Support/TestAPI.iss 4 | 5 | /* 6 | * Read what is in the probe scanner window 7 | * 8 | * 9 | * 10 | * Tests: 11 | * Trying to find what the different anom anmes are 12 | * 13 | * 14 | * Requirements: 15 | * You: In spcae 16 | * Probe Scanner window open and active 17 | */ 18 | 19 | function main() 20 | { 21 | variable index:systemanomaly MyAnomalies 22 | variable iterator MyAnomalies_Iterator 23 | 24 | MyShip.Scanners.System:GetAnomalies[MyAnomalies] 25 | MyAnomalies:GetIterator[MyAnomalies_Iterator] 26 | 27 | if ${MyAnomalies_Iterator:First(exists)} 28 | { 29 | do 30 | { 31 | echo ${Time}: ------------------ ${MyAnomalies_Iterator.Value.Name} ------------------ 32 | echo ${Time}: ID: ${MyAnomalies_Iterator.Value} 33 | echo ${Time}: Difficulty: ${MyAnomalies_Iterator.Value.Difficulty} 34 | echo ${Time}: DungeonID: ${MyAnomalies_Iterator.Value.DungeonID} 35 | echo ${Time}: DungeonName: ${MyAnomalies_Iterator.Value.DungeonName} 36 | echo ${Time}: Faction: ${MyAnomalies_Iterator.Value.Faction} 37 | echo ${Time}: FactionID: ${MyAnomalies_Iterator.Value.FactionID} 38 | echo ${Time}: Group: ${MyAnomalies_Iterator.Value.Group} 39 | echo ${Time}: GroupID: ${MyAnomalies_Iterator.Value.GroupID} 40 | echo ${Time}: IsWarpable: ${MyAnomalies_Iterator.Value.IsWarpable} 41 | echo ${Time}: ScanStrength: ${MyAnomalies_Iterator.Value.ScanStrength} 42 | echo ${Time}: SignalStrength: ${MyAnomalies_Iterator.Value.SignalStrength} 43 | echo ${Time}: ToEntity.Distance: ${Entity[${MyAnomalies_Iterator.Value}].Distance} 44 | } 45 | while ${MyAnomalies_Iterator:Next(exists)} 46 | } 47 | 48 | 49 | } -------------------------------------------------------------------------------- /Testcases/ISXEVE/ProbeScanner_Anoms_Test.iss: -------------------------------------------------------------------------------- 1 | #define TESTCASE 1 2 | 3 | #include ../../Support/TestAPI.iss 4 | 5 | /* 6 | * Read what is in the probe scanner window 7 | * 8 | * 9 | * 10 | * Tests: 11 | * Trying to find what the different anom anmes are 12 | * 13 | * 14 | * Requirements: 15 | * You: In spcae 16 | * Probe Scanner window open and active 17 | */ 18 | 19 | function main() 20 | { 21 | variable index:systemanomaly MyAnomalies 22 | variable iterator MyAnomalies_Iterator 23 | 24 | MyShip.Scanners.System:GetAnomalies[MyAnomalies] 25 | MyAnomalies:GetIterator[MyAnomalies_Iterator] 26 | 27 | if ${MyAnomalies_Iterator:First(exists)} 28 | { 29 | do 30 | { 31 | if (${MyAnomalies_Iterator.Value.DungeonID} == 110980) 32 | { 33 | echo ${Time}: ------------------ ${MyAnomalies_Iterator.Value.Name} ------------------ 34 | echo ${Time}: ID: ${MyAnomalies_Iterator.Value} 35 | echo ${Time}: Difficulty: ${MyAnomalies_Iterator.Value.Difficulty} 36 | echo ${Time}: DungeonID: ${MyAnomalies_Iterator.Value.DungeonID} 37 | echo ${Time}: DungeonName: ${MyAnomalies_Iterator.Value.DungeonName} 38 | echo ${Time}: Faction: ${MyAnomalies_Iterator.Value.Faction} 39 | echo ${Time}: FactionID: ${MyAnomalies_Iterator.Value.FactionID} 40 | echo ${Time}: Group: ${MyAnomalies_Iterator.Value.Group} 41 | echo ${Time}: GroupID: ${MyAnomalies_Iterator.Value.GroupID} 42 | echo ${Time}: IsWarpable: ${MyAnomalies_Iterator.Value.IsWarpable} 43 | echo ${Time}: ScanStrength: ${MyAnomalies_Iterator.Value.ScanStrength} 44 | echo ${Time}: SignalStrength: ${MyAnomalies_Iterator.Value.SignalStrength} 45 | MyAnomalies_Iterator.Value:WarpTo[30000, FALSE] 46 | break 47 | } 48 | } 49 | while ${MyAnomalies_Iterator:Next(exists)} 50 | } 51 | 52 | 53 | } -------------------------------------------------------------------------------- /Testcases/ISXEVE/Station_GetCorpHangarItems.iss: -------------------------------------------------------------------------------- 1 | #define TESTCASE 1 2 | 3 | #include ../../Support/TestAPI.iss 4 | /* 5 | * Test GetCorpHangarItems 6 | * 7 | * Revision $Id$ 8 | * 9 | * Requirements: 10 | * Docked, have items in station corp hangar, not be in a public corporation 11 | * 12 | */ 13 | 14 | 15 | function main() 16 | { 17 | variable obj_LSTypeIterator ItemTest = "item" 18 | variable string MethodStr = "Me.Station:GetCorpHangarItems" 19 | 20 | EVE:Execute[OpenHangarFloor] 21 | wait 15 22 | 23 | #include "../_Testcase_MethodStr_Body.iss" 24 | } -------------------------------------------------------------------------------- /Testcases/ISXEVE/Station_GetHangarItems.iss: -------------------------------------------------------------------------------- 1 | #define TESTCASE 1 2 | 3 | #include ../../Support/TestAPI.iss 4 | /* 5 | * Test GetHangarItems 6 | * 7 | * Revision $Id$ 8 | * 9 | * Requirements: 10 | * Docked, have items in station hangar 11 | * 12 | */ 13 | 14 | 15 | function main() 16 | { 17 | variable obj_LSTypeIterator ItemTest = "item" 18 | variable string MethodStr = "Me.Station:GetHangarItems" 19 | 20 | EVE:Execute[OpenHangarFloor] 21 | wait 15 22 | 23 | #include "../_Testcase_MethodStr_Body.iss" 24 | } -------------------------------------------------------------------------------- /Testcases/ISXEVE/Station_GetHangarShips.iss: -------------------------------------------------------------------------------- 1 | #define TESTCASE 1 2 | 3 | #include ../../Support/TestAPI.iss 4 | /* 5 | * Test GetHangarItems 6 | * 7 | * Revision $Id$ 8 | * 9 | * Requirements: 10 | * Docked 11 | * Have items in station hangar 12 | * 13 | */ 14 | 15 | 16 | function main() 17 | { 18 | variable obj_LSTypeIterator ItemTest = "item" 19 | variable string MethodStr = "Me.Station:GetHangarShips" 20 | 21 | EVE:Execute[OpenShipHangar] 22 | wait 15 23 | 24 | #include "../_Testcase_MethodStr_Body.iss" 25 | } -------------------------------------------------------------------------------- /Testcases/ISXEVE/test_Drones.iss: -------------------------------------------------------------------------------- 1 | #define TESTCASE 1 2 | 3 | #include ../../Support/TestAPI.iss 4 | 5 | /* 6 | Test Drone Launch, Recall, ID collection, activedrone member, engage 7 | 8 | Revision $Id$ 9 | 10 | Requirements: 11 | You: In Space 12 | Other1: In Fleet, In Space, Targeted 13 | */ 14 | 15 | function main() 16 | { 17 | variable index:int64 ActiveDroneIDList 18 | variable index:activedrone ActiveDroneList 19 | variable index:item DroneBayDrones 20 | 21 | while TRUE 22 | { 23 | UI:UpdateConsole["Drone Bay Capacity: ${MyShip.DronebayCapacity}"] 24 | 25 | MyShip:OpenCargo 26 | wait 30 27 | 28 | MyShip:GetDrones[DroneBayDrones] 29 | UI:UpdateConsole["Launching ${DroneBayDrones.Used} drones..."] 30 | EVE:LaunchDrones[DroneBayDrones] 31 | wait 50 32 | 33 | Me:GetActiveDrones[ActiveDroneList] 34 | UI:UpdateConsole["Drones in Space after 5 seconds: ${ActiveDroneList.Used}"] 35 | 36 | UI:UpdateConsole[" Drone 1 ID: ${ActiveDroneList.Get[1].ID}"] 37 | UI:UpdateConsole[" Drone 1 Name: ${ActiveDroneList.Get[1].ToEntity.Name}"] 38 | UI:UpdateConsole[" Drone 1 Type: ${ActiveDroneList.Get[1].ToEntity.Type}"] 39 | UI:UpdateConsole[" Drone 1 Owner: ${ActiveDroneList.Get[1].Owner}"] 40 | UI:UpdateConsole[" Drone 1 Controller: ${ActiveDroneList.Get[1].Owner}"] 41 | 42 | ;UI:UpdateConsole[" Engaging Drones..."] 43 | ;EVE:DronesEngageMyTarget[ActiveDroneIDList] 44 | 45 | wait 20 46 | Me:GetActiveDroneIDs[ActiveDroneIDList] 47 | while ${ActiveDroneIDList.Used} 48 | { 49 | UI:UpdateConsole[" Recalling ${ActiveDroneIDList.Used} Drones..."] 50 | EVE:DronesReturnToDroneBay[ActiveDroneIDList] 51 | wait 50 52 | Me:GetActiveDroneIDs[ActiveDroneIDList] 53 | } 54 | wait 20 55 | break 56 | } 57 | } -------------------------------------------------------------------------------- /Testcases/TODO.txt: -------------------------------------------------------------------------------- 1 | #0 Convert All existing scripts to use LSTypeIterator - Me and GetHangarItems done already 2 | #1 3 | #2 4 | #3 Items with a . in front are already completed 5 | #4 6 | .GetActiveDroneIDs[} 7 | .GetActiveDrones[] 8 | .GetAgentMissions[] 9 | .GetAgents[] 10 | .GetAssets[,#] [Retrieves all items that match the StationID# given] 11 | .GetAssets[] [Retrieves all items that are in your assets window] 12 | .GetAvailableAmmo[] 13 | .GetBookmarks[] 14 | .GetContacts[] 15 | .GetCorpHangarItems[] 16 | .GetDrones[] 17 | .GetEntities[] 18 | .GetFleet[] 19 | .GetHangarItems[] 20 | .GetHangarShips[] 21 | .GetModules[] 22 | .GetPilots[] 23 | .GetSkillQueue[index:queuedskill] 24 | .GetStationsWithAssets[] [Retrieves a list of StationID#s where you currently have assets.] 25 | .GetTargetedBy[] 26 | .GetTargeting[] 27 | .GetTargets[] 28 | GetCargo[] 29 | GetMarketOrders[,"Buy",#] {retrieves all buy orders currently cached by your client for the given TypeID#} 30 | GetMarketOrders[,"Buy"] {retrieves all buy orders currently cached by your client} 31 | GetMarketOrders[,"Sell",#] {retrieves all sell orders currently cached by your client for the given TypeID#} 32 | GetMarketOrders[,"Sell"] {retrieves all sell orders currently cached by your client} 33 | GetMarketOrders[,#] {retrieves all buy/sell orders currently cached by your client for the given TypeID#} 34 | GetMarketOrders[] {retrieves all buy/sell orders currently cached by your client} 35 | GetMyOrders[,"Buy",#] {retrieves all *buy* "My Orders" cached by your client for the given TypeID#} 36 | GetMyOrders[,"Buy"] {retrieves all *buy* "My Orders" cached by your client} 37 | GetMyOrders[,"Sell",#] {retrieves all *sell* "My Orders" cached by your client for the given TypeID#} 38 | GetMyOrders[,"Sell"] {retrieves all *sell* "My Orders" cached by your client} 39 | GetMyOrders[,#] {retrieves all "My Orders" cached by your client for the given TypeID#} 40 | GetMyOrders[] {retrieves all "My Orders" cached by your client} 41 | GetOnlineCorpMembers[] 42 | GetServices[] 43 | GetSkills[] 44 | GetToDestinationPath[] [the index is populated with the "SystemIDs" of the systems along your current destination (autopilot) route] 45 | GetWaypoints[] [the index is populated with the "SystemIDs" of the waypoints in your current route] 46 | -------------------------------------------------------------------------------- /Testcases/_Testcase_MethodStr_Body.iss: -------------------------------------------------------------------------------- 1 | variable int StartTime = ${Script.RunningTime} 2 | echo " " 3 | echo "* Testcase: ${MethodStr} starting" 4 | 5 | declarevariable TestIndex index:${ItemTest.TypeName} script 6 | declarevariable TestIterator iterator script 7 | variable float CallTime 8 | 9 | TestIndex:GetIterator[TestIterator] 10 | ItemTest:ParseMembers 11 | 12 | CallTime:Set[${Script.RunningTime}] 13 | if ${MethodStrParm(exists)} 14 | { 15 | noop ${${MethodStr}\[TestIndex, ${MethodStrParam}\]} 16 | } 17 | else 18 | { 19 | noop ${${MethodStr}\[TestIndex\]} 20 | } 21 | echo " * ${MethodStr} returned ${TestIndex.Used} ${ItemTest.TypeName}s in ${Math.Calc[(${Script.RunningTime}-${CallTime}) / 1000]} seconds" 22 | 23 | if ${TestIterator:First(exists)} 24 | do 25 | { 26 | ItemTest:IterateMembers["TestIterator.Value"] 27 | } 28 | while ${TestIterator:Next(exists)} 29 | 30 | echo "* Testcase: ${MethodStr} completed against ${TestIndex.Used} results in ${Math.Calc[(${Script.RunningTime}-${StartTime}) / 1000]} seconds" 31 | echo " " -------------------------------------------------------------------------------- /Testcases/test_AmmoNames.iss: -------------------------------------------------------------------------------- 1 | function main() 2 | { 3 | echo "Ammo test case loaded, basing off HiSlot0" 4 | 5 | variable index:item idxAmmo 6 | variable iterator itrAmmo 7 | 8 | variable string sLoadedAmmo 9 | variable string sIteratedAmmo 10 | 11 | MyShip.Module[HiSlot0]:GetAvailableAmmo[idxAmmo] 12 | idxAmmo:GetIterator[itrAmmo] 13 | 14 | echo "itrAmmo:First(exists): ${itrAmmo:First(exists)}" 15 | if ${itrAmmo:First(exists)} 16 | { 17 | do 18 | { 19 | echo "Comparing currently loaded ammo (${MyShip.Module[HiSlot0].Charge.Name}) with current available ammo (${itrAmmo.Value.Name}). Strings equal? ${MyShip.Module[HiSlot0].Charge.Name.Find[${itrAmmo.Value.Name}]}" 20 | sLoadedAmmo:Set[${MyShip.Module[HiSlot0].Charge.Name}] 21 | sIteratedAmmo:Set[${itrAmmo.Value.Name}] 22 | echo "sLoadedAmmo: ${sLoadedAmmo}, sIteratedAmmo: ${sIteratedAmmo}, equal? ${sLoadedAmmo.Equal[${sIteratedAmmo}]}" 23 | echo "Module max charges: ${MyShip.Module[HiSlot0].MaxCharges}" 24 | if !${sLoadedAmmo.Equal[${sIteratedAmmo},${MyShip.Module[HiSlot0].MaxCharges}]} 25 | { 26 | echo "Changing ammo to currently iterated type at current number of charges and breaking." 27 | MyShip.Module[HiSlot0]:ChangeAmmo[${itrAmmo.Value.ID}] 28 | MyShip.Module[HiSlot1]:ChangeAmmo[${itrAmmo.Value.ID}] 29 | MyShip.Module[HiSlot2]:ChangeAmmo[${itrAmmo.Value.ID}] 30 | MyShip.Module[HiSlot3]:ChangeAmmo[${itrAmmo.Value.ID}] 31 | echo "IsReloading? ${MyShip.Module[HiSlot0].IsReloading}" 32 | break 33 | } 34 | } 35 | while ${itrAmmo:Next(exists)} 36 | } 37 | } -------------------------------------------------------------------------------- /Testcases/test_DoGetEntities.iss: -------------------------------------------------------------------------------- 1 | #define TESTCASE 1 2 | 3 | #include ../Support/TestAPI.iss 4 | 5 | /* 6 | Test Entity Iteration 7 | 8 | */ 9 | 10 | variable obj_UI UI 11 | function main() 12 | { 13 | variable int StartTime = ${Script.RunningTime} 14 | variable int StartTime2 15 | 16 | declarevariable Entities index:entity script 17 | declarevariable EntityIterator iterator script 18 | 19 | variable obj_LSTypeIterator ItemTest = "entity" 20 | 21 | ItemTest:ParseMembers 22 | 23 | EVE:DoGetEntities[Entities] 24 | variable float CallTime 25 | CallTime:Set[${Math.Calc[(${Script.RunningTime}-${StartTime}) / 1000]}] 26 | echo "EVE:DoGetEntities returned ${Entities.Used} entities in ${CallTime} seconds" 27 | 28 | Entities:GetIterator[EntityIterator] 29 | if ${EntityIterator:First(exists)} 30 | do 31 | { 32 | StartTime2:Set[${Script.RunningTime}] 33 | ItemTest:IterateMembers["EntityIterator.Value", TRUE, FALSE] 34 | echo "Single ${ItemTest.TypeName} dump completed ${Math.Calc[(${Script.RunningTime}-${StartTime2}) / 1000]} seconds" 35 | } 36 | while ${EntityIterator:Next(exists)} 37 | 38 | echo "EVE:DoGetEntities returned ${Entities.Used} entities in ${CallTime} seconds" 39 | echo "Testing of datatype ${ItemTest.TypeName} completed in ${Math.Calc[(${Script.RunningTime}-${StartTime}) / 1000]} seconds" 40 | } -------------------------------------------------------------------------------- /Testcases/test_Obj_PulseTimer.iss: -------------------------------------------------------------------------------- 1 | #define TESTCASE 1 2 | 3 | #include ../../Support/TestAPI.iss 4 | 5 | /* 6 | Test: Me (character datatype) 7 | Requirements: Logged in 8 | 9 | */ 10 | function main() 11 | { 12 | variable int EndTime 13 | variable obj_PulseTimer PulseTimer 14 | variable int StartTime = ${Script.RunningTime} 15 | 16 | PulseTimer:SetIntervals[2.5,4.0] 17 | PulseTimer:Update[FALSE] 18 | 19 | echo "PulseTimer Test:" 20 | while !${PulseTimer.Ready} 21 | { 22 | waitframe 23 | } 24 | EndTime:Set[${Script.RunningTime}] 25 | PulseTimer:Update[FALSE] 26 | while !${PulseTimer.Ready} 27 | { 28 | waitframe 29 | } 30 | EndTime:Set[${Script.RunningTime}] 31 | 32 | echo "PulseTimer completed in ${Math.Calc[(${EndTime}-${StartTime}) / 1000]} seconds" 33 | } --------------------------------------------------------------------------------