Author Topic: Teleport Ring Charges Counter  (Read 2469 times)

0 Members and 1 Guest are viewing this topic.

Offline AliTopic starter

  • Jr. Member
  • **
  • Posts: 14
  • Activity:
    0%
  • Reputation Power: 1
  • Ali has no influence.
  • Referrals: 0
    • View Profile
Teleport Ring Charges Counter
« on: October 31, 2022, 10:01:27 AM »
Here's a little snippet I put together to verify the total amount of teleport charges in a bag full of teleport rings. Can be used in the trade window!

Code: [Select]
function TeleportChargeCounter()
    {
    Orion.CharPrint(self,1159,'Target container full of rings')
    Orion.WaitForAddObject('myTarget');
    var container = Orion.GetSerial('myTarget');
    while(!Orion.GumpExists('container', container))
        {
        Orion.UseObject(container);
        Orion.Wait(1300);
        }
    var rings = Orion.FindTypeEx(any,any,container).filter(function(ring)
        {
        return Orion.Contains(ring.Properties(), 'Ring') && Orion.Contains(ring.Properties(), 'Teleport Charges:')
        });
    var charges = rings.reduce(function(sum, current)
        {
        var currentCharges = +((current.Properties().match(/Teleport Charges: (\d+)/) || [])[1] || 0);
        return sum + currentCharges;
        }, 0);
    Orion.Print('Total charges: ' + charges);
    Orion.Print('Average charges per ring: ' + (charges/rings.length));
    }

Tags: