[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.
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