Project

General

Profile

 

Also available in: PDF

HOWTO: The Repair Shop

function main()
{
    variable index:item RepairableItems
    variable iterator RepairableItemsIterator
    variable int Counter = 0 
    
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    ;; EXAMPLE 1: Get Repair Quote for current ship and display information
    ;;;;;;;
    
          if (!${EVEWindow[RepairShop](exists)})
          {
              MyShip.ToItem:GetRepairQuote
              do
              {
                  waitframe
              }
              while !${EVEWindow[RepairShop](exists)}
              wait 15
          }
          
          echo "Average Damage:         ${EVEWindow[RepairShop].AverageDamage}%"
          echo "Total Repair Cost:      ${EVEWindow[RepairShop].TotalCost} ISK"
          
          
          
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    ;; EXAMPLE 2: To "RepairAll" when a repair quote window is already open
    ;;;;;;;
          if (${EVEWindow[RepairShop].TotalCost} > 0)
          {
              EVEWindow[RepairShop]:RepairAll
              ;; You may way to utilize a fancy routine for 'waiting' until the modal window is open; however,
              ;; for simplicity, this example is just waiting 2 seconds
              wait 20
              
              if (${EVEWindow[byName,"Set Quantity"](exists)})
                  EVEWindow[byName,"Set Quantity"]:ClickButtonOK
              else                  
                  EVEWindow[byName,"modal"]:ClickButtonYes
                  
              EVEWindow[RepairShop]:Close
          }
          ;; NOTE:  If you try to "RepairAll" when ${EVEWindow[RepairShop].TotalCost} < 1, you will get strange results.
          
          ;;
          ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
          
          
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    ;; EXAMPLE 3: Acquire a list of all repairable items (Informative)
    ;;;;;;;
          
          
    Me.Station:GetRepairableItems[RepairableItems]
    echo "RepairableItems: Used: ${RepairableItems.Used}"

    RepairableItems:GetIterator[RepairableItemsIterator]
   
   
    if ${RepairableItemsIterator:First(exists)}
    do
    {
            echo "ID:               ${RepairableItemsIterator.Value.ID}"
        echo "Name:             ${RepairableItemsIterator.Value.Name} (${RepairableItemsIterator.Value.Type})"
        echo "============================================"
        Counter:Inc
        
    }
    while ${RepairableItemsIterator:Next(exists)}
    
    ;;
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
}