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 '''
Jettison
MoveTo<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
FitToActiveShip
AssembleShip
AssembleContainer
-
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 DAYS
NOTE: 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>
Open
Close
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
ApplyPilotLicense
PluginImplant
-
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:Execute
OpenCargoHoldOfActiveShip
wait 3
}
variable int MyCargoCount = ${Me.Ship.GetCargo
MyCargo
}
; 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
}