#1 2010-09-22 21:15:07

Masterix

Moderator

Zarejestrowany: 2010-09-22
Posty: 17
Punktów :   

[Skrypty] Advanced skiller

[Skrypty] Advanced skiller
Witajcie,

jest to dość zaawansowany skrypt na skillowanie:
- Atakowanie potwora do danego %
- Zmiana broni zależnie od potwora

Całość jest dość prosta do konfiguracji:
hpPcToLeave - przy ilu % ma zostawić potwora (0 - wyłączone)
offId - id broni używanej do atakowania groźnych potworów, zamiast Items.Axes.... możesz spróbować Items.Swords.Sword.Id lub zwyczajnie wpisać id
defId - tak jak wyżej, tylko że do atakowania potworków treningowych
itLoc.Slot - ręka w której trzymamy broń (ustawiamy jako SlotNumber.Left lub SlotNumber.Right)
defMonster - lista potworów treningowych, kolejne potwory piszemy po przecinku i w ""
offMonster - tak jak wyżej, tylko lista potworów do zabijania

Co do modułów bota - targeting musi być wyłączony, można nawet chodzić z cavebotem.

Kod:

uint hpPcToLeave = 30;
uint offId = Items.Axes.StonecuttersAxe.Id;
uint defId = Items.Axes.Axe.Id;
ItemLocation itLoc = new ItemLocation();
itLoc.Type = ItemLocationType.Slot;
itLoc.Slot = SlotNumber.Left;
string[] defMonster = new string[] { "Gargoyle", "Dwarf" };
string[] offMonster = new string[] { "Stone Golem", "Gozzler" };
if (core.Client.LoggedIn)
{
    uint attackedId = core.Player.TargetId;
    Creature attackedCreature = null;
    foreach (Creature c in core.Client.BattleList.GetCreatures())
    {
        if (c.Id == attackedId)
        {
            attackedCreature = c;
            break;
        }
    }
    if (attackedCreature != null)
    {
        foreach (string s in offMonster)
        {
            if (s == attackedCreature.Name)
            {
                Item weapon = core.Client.Inventory.GetItemInSlot(SlotNumber.Left);
                if (core.Client.AttackMode == Attack.FullDefense)
                    core.Client.SetModes(Attack.FullAttack, core.Client.FollowMode);
                if (weapon.Id == defId)
                {
                    foreach (Item i in core.Client.Inventory.GetItems())
                    {
                        if (i.Id == offId)
                        {
                            i.Move(itLoc, (byte)1);
                            break;
                        }
                    }
                }
                break;
            }
        }
        foreach (string s in defMonster)
        {
            if (s == attackedCreature.Name)
            {
                Item weapon = core.Client.Inventory.GetItemInSlot(SlotNumber.Left);
                if (core.Client.AttackMode == Attack.FullAttack)
                    core.Client.SetModes(Attack.FullDefense, core.Client.FollowMode);
                if (weapon.Id == offId)
                {
                    foreach (Item i in core.Client.Inventory.GetItems())
                    {
                        if (i.Id == defId)
                            i.Move(itLoc, (byte)1);
                    }
                }
            }
        }
    }
    bool attackedOff = false;
    foreach (Creature c in core.Client.BattleList.GetCreatures())
    {
        if (c.Location.IsAdjacent())
        {
            foreach (string s in offMonster)
            {
                if (s == c.Name)
                {
                    c.Attack();
                    attackedOff = true;
                    break;
                }
            }
            break;
        }
    }
    if (!attackedOff)
    {
        if (attackedCreature.Name == "Gargoyle" && attackedCreature.HPBar < hpPcToLeave)
        {
            foreach (Creature c in core.Client.BattleList.GetCreatures())
            {
                if (c.Name == "Gargoyle" && c.HPBar > hpPcToLeave && c.Location.IsAdjacent())
                    c.Attack();
            }
        }
    }
}

Offline

 

Stopka forum

RSS
Powered by PunBB
© Copyright 2002–2008 PunBB
Polityka cookies - Wersja Lo-Fi


Darmowe Forum | Ciekawe Fora | Darmowe Fora
www.zwe.pun.pl www.vampirediaries-xaa.pun.pl www.gamesj2me.pun.pl www.starozytnirycerze.pun.pl www.dawnofnarutov2.pun.pl