Item (Data Type)¶
- Table of contents
 - Item (Data Type)
 - Description
 - Members
 - Methods
 - Examples
 
Description¶
This DataType includes information and performs actions that are exclusive to items
Members¶
- Identification
 
- 
Physical Information/Status
- 
double 
Capacity - 
string 
Description - 
int 
GraphicID - 
bool 
IsRepackable- This returns TRUE if the item is a 'repackable' type AND if it's currently in a state to be repackaged. However, it does not make sure that the item is in a location where it CAN be repackaged (ie, your hangar).
 
 - 
string 
Location- Example: "Amadeus' Harbinger"
 
 - 
int 
LocationID - 
int 
MarketGroupID - 
int 
PortionSize- ie, "Units to Refine"
 
 - 
int 
Quantity - 
int 
RaceID - 
double 
Radius - 
string 
Slot - 
int 
SlotID - 
double 
Volume - 
double 
CargoCapacity- NOTE: This member only works for 'secure cargo container' type items (GroupID: 340)
 
 - 
double 
UsedCargoCapacity- NOTE: This member only works for 'secure cargo container' type items (GroupID: 340)
 
 - 
float 
MetaLevel 
 - 
double 
 
- 
bool 
IsContraband[returns TRUE if the item is contraband anywhere in the universe] - 
bool 
IsContraband<MW_SINGLEBRACKET>FACTIONID#][returns TRUE if the item is contraband for the given factionID#- (HINT: The 'interstellar' datatype has "FactionID" and "Faction" members. For example ${Universe[${Me.SolarSystemID}]}, ${Universe[${Me.ConstellationID}]}, and ${Universe[${Me.RegionID}]} are all 'interstellar' type objects.)
 
 
- 
bool 
 
- Financial
 
- ''' Weapon Charges ''' -- Used for charges installed on a high slot on your active ship. In other words, you can use GetModules and access the information in that way, or something similar to: ${Me.Ship.Module[hislot0].Charge.MaxFlightTime}
 
Methods¶
''' Item Transport Methods '''
JettisonMoveTo<MW_SINGLEBRACKET><ID#>, <Destination></MW_SINGLEBRACKET>MoveTo<MW_SINGLEBRACKET><ID#>, <Destination>, <Quantity></MW_SINGLEBRACKET>MoveTo<MW_SINGLEBRACKET><ID#>, <Destination>, <Quantity>, <FolderName></MW_SINGLEBRACKET>
  Can be used in place of   1.  MyShip  2.  MyStationHangar  3.  MyStationCorporateHangar
  Possible Destinations:  1.  CargoHold                (The traditional cargo hold)  2.  DroneBay  3.  CorpHangars              (Will work on your ship as well as the corporation hangars of a capital ship or POS)  4.  MaintenanceBay           (Will work on your ship as well as the Maintenance Bay of a capital ship)  5.  OreHold  6.  FuelBay   7.  GasHold  8.  MineralHold  9.  SalvageHold  10. IndustrialShipHold  11. AmmoHold  12. StationCorporateHangar   (For this destination, you can enter any positive integer for the ID#)  13. Hangar                   (For this destination, you can enter any positive integer for the ID#)
  Possible Folder Names (for all Methods that use folder names as a possible parameter):  1.  Corporation Folder 1  2.  Corporation Folder 2  3.  Corporation Folder 3  4.  Corporation Folder 4  5.  Corporation Folder 5  6.  Corporation Folder 6  7.  Corporation Folder 7
''' Drone Methods '''
- 
Launch- Drones only.
 
 
' Ship Methods'
- 
MakeActive- For ships in your "${Me.Station.GetHangarShips}".
 
 - 
LeaveShip- Leave your ship
 
 - 
Repackage- Scripts should accept the dialog using the Click* methods in the evewindow datatype
 
 FitToActiveShipAssembleShipAssembleContainer- 
GetInsuranceQuotes<MW_SINGLEBRACKET>collection:float</MW_SINGLEBRACKET>- Ships only: Returns the insurance quotes for the relevant ship item, in a collection where key = Level, and value is Cost
 
 
Insure<MW_SINGLEBRACKET>Cost</MW_SINGLEBRACKET>
a. Ships only - Cost is one of the values from GetInsuranceQuotes b. Using other values WON'T work. c. Using other values WILL lead to server-side detection, and will NOT be filtered by isxeve. Don't be stupid.
''' Skill Methods '''
InjectSkill- 
TrainSkill- Only works for skill books...obviously
 
 
''' Uncategorized '''
PlaceSellOrder<MW_SINGLEBRACKET>Price#, Quantity#, Duration</MW_SINGLEBRACKET>
Duration is in DAYSNOTE: If you place a sell order that already matches a buy order that's on the market, it will act as an 'instant' sell order'NOTE: As of now, you may only sell items within a station (and they will sell from THAT station) with ISXEVE.NOTE: As of now, ISXEVE does not take into account your current/maximum number of sell orders.  Your script must handle that.
GetCargo<MW_SINGLEBRACKET><index:item></MW_SINGLEBRACKET>OpenClose
An example for using these 'secure cargo container' members/methods can be found at:http://www.isxgames.com/forums/showthread.php?p=12195
- 
ConsumeBooster- Uses a booster
 
 ApplyPilotLicensePluginImplant
- 
GetContrabandFactions<MW_SINGLEBRACKET>index:int</MW_SINGLEBRACKET>- (This method populates an index:int with all the factionIDs for which this item is contraband. If the item is not a contraband item, then the index returned will contain zero nodes.)
 
 
Examples¶
This snippet loots everything from a container entity called "Cargo Container". You could easily modify this for looting wrecks as well as specifying particular types of things you wanted to loot (rather than looting everything.)
function main(){  variable string ContainerName = "Cargo Container"  variable index:item ContainerCargo  variable int ContainerCargoCount  variable int i = 1   ; Make sure that there is actually a cargo container there that matches the name we set  if (!${Entity[${ContainerName}(exists)})  {     echo No Entities in the area that match the name you provided.     return  }   ; If it exists, get close enough to it!  if (${Entity${ContainerName}.Distance} > 1300)  {     Entity${ContainerName}:Approach     do     {       wait 20     }     while ${Entity${ContainerName}.Distance} > 1300  }   ; Always make sure that the container's cargo is accessible.  If not, then open the cargo to populate the window  if (!${Entity${ContainerName}.IsCargoAccessible})  {     Entity${ContainerName}:OpenCargo     wait 30     Entity${ContainerName}:CloseCargo     wait 3  }      ContainerCargoCount:Set${Entity[${ContainerName}].GetCargo[ContainerCargo]}   do  {     ContainerCargo.Get${i}]:MoveTo[MyShip]     wait 15  }  while ${i:Inc} <= ${ContainerCargoCount}   ; After everything is looted...let's clean up our Cargo  Me.Ship:StackAllCargo   echo Script Ended}
This particular snippet moves everything from your ship's cargo (that is of CategoryID 25: asteroid) to a cargo container. Basically, it jettisons the first cargo item that matches our search, renames the cargo container to "Amadeus", and then moves everything else in the ship's cargo to the new container.
function main(){  ; The name we want our container to have  variable string ContainerName = "Amadeus"  variable index:item MyCargo  variable int i = 1     ; Make sure that my cargo is accessible.  If not, open it to populate the window.  if (!${Me.Ship.IsCargoAccessible})  {      EVE:Execute[OpenCargoHoldOfActiveShip      wait 30      EVE:ExecuteOpenCargoHoldOfActiveShip      wait 3  }          variable int MyCargoCount = ${Me.Ship.GetCargoMyCargo}     ; Loop through my cargo -- I want to jettison the first thing that is of CategoryID 25 (Asteroid).  ; Then, I want to add all of the other items that match that CategoryID to the container that was created.  do  {     if (${MyCargo.Get${i}.CategoryID} == 25)     {        if !${Entity${ContainerName}(exists)}        {           MyCargo.Get${i}:Jettison           wait 2           do           {             wait 15           }           while !${Entity"Cargo Container"(exists)}           wait 5           Entity"Cargo Container"]:SetName[${ContainerName}           wait 20                 ; Always make sure that the container's cargo is accessible.  If not, then open the cargo to populate the window.           ; (This is not required for this particular task; however, it's good to be in the habit.)           if (!${Entity${ContainerName}.IsCargoAccessible})           {             Entity${ContainerName}:OpenCargo             wait 30             Entity${ContainerName}:CloseCargo             wait 3           }                    }                    else        {           ;echo Moving ${MyCargo.Get${i}].Name} to ${Entity[${ContainerName}.ID}           MyCargo.Get${i}]:MoveTo[${Entity[${ContainerName}].ID}           wait 10        }       }   }  while ${i:Inc} <= ${MyCargoCount}     ; After everything is done ...let's clean up the stacks.  Entity${ContainerName}]:StackAllCargo     echo Script Ended}