/// <summary> /// Land: Return the Z coordinate (height) of the Land item, give the coordinates and map. /// </summary> /// <param name="x">X coordinate.</param> /// <param name="y">Y coordinate.</param> /// <param name="map"> /// 0 = Felucca /// 1 = Trammel /// 2 = Ilshenar /// 3 = Malas /// 4 = Tokuno /// 5 = TerMur /// </param> /// <returns></returns> public static int GetLandZ(int x, int y, int map) { if (!m_loaded) { LoadMapData(); } switch (map) { case 0: return(Ultima.Map.Felucca.Tiles.GetLandTile(x, y).Z); case 1: return(Ultima.Map.Trammel.Tiles.GetLandTile(x, y).Z); case 2: return(Ultima.Map.Ilshenar.Tiles.GetLandTile(x, y).Z); case 3: return(Ultima.Map.Malas.Tiles.GetLandTile(x, y).Z); case 4: return(Ultima.Map.Tokuno.Tiles.GetLandTile(x, y).Z); case 5: return(Ultima.Map.TerMur.Tiles.GetLandTile(x, y).Z); default: Scripts.SendMessageScriptError("Script Error: GetLandZ Invalid Map!"); return(0); } }
public static void CastSpellweaving(string SpellName, bool wait = true) { if (World.Player == null) { return; } Spell s = null; int id = 0; m_SpellweavingSpellName.TryGetValue(SpellName, out id); if (id > 0) { s = Spell.Get(id); } else { Scripts.SendMessageScriptError("Script Error: CastSpellweaving: Invalid spell name: " + SpellName); } if (s != null) { s.OnCast(new CastSpellFromMacro((ushort)s.GetID()), wait); } }
public static void Move(int source, int destination, int amount, int x, int y) { Assistant.Item bag = Assistant.World.FindItem(destination); Assistant.Item item = Assistant.World.FindItem(source); int serialdestination = 0; if (item == null) { Scripts.SendMessageScriptError("Script Error: Move: Source Item not found"); return; } if (bag != null) { serialdestination = bag.Serial; } else { Assistant.Mobile mbag = Assistant.World.FindMobile(destination); if (mbag != null) { serialdestination = mbag.Serial; } } if (serialdestination == 0) { Scripts.SendMessageScriptError("Script Error: Move: Destination not found"); return; } Assistant.Point3D loc = Assistant.Point3D.MinusOne; if (x != -1 && y != -1) { loc = new Assistant.Point3D(x, y, 0); } if (amount == 0) { DragDropManager.HoldingItem = true; Assistant.ClientCommunication.SendToServerWait(new LiftRequest(item.Serial, item.Amount)); Thread.Sleep(80); Assistant.ClientCommunication.SendToServerWait(new DropRequest(item.Serial, loc, serialdestination)); DragDropManager.HoldingItem = false; } else { if (item.Amount < amount) { amount = item.Amount; } DragDropManager.HoldingItem = true; Assistant.ClientCommunication.SendToServerWait(new LiftRequest(item.Serial, amount)); Thread.Sleep(80); Assistant.ClientCommunication.SendToServerWait(new DropRequest(item.Serial, loc, serialdestination)); DragDropManager.HoldingItem = false; } }
public static void CastOnlyChivalry(string SpellName, bool wait = true) { bool success = CastOnlyGeneric(m_ChivalrySpellName, SpellName, wait); if (!success) { Scripts.SendMessageScriptError("Script Error: CastChivalry: Invalid spell name: " + SpellName); } }
public static void CastNecro(string SpellName, uint target, bool wait = true) { bool success = CastTargetedGeneric(m_NecroSpellName, SpellName, target, wait); if (!success) { Scripts.SendMessageScriptError("Script Error: CastNecro: Invalid spell name: " + SpellName); } }
// Find item by id public static Item FindByID(int itemid, int color, int container) { if (container != -1) // search in specific container { Item cont = FindBySerial(container); if (cont == null) // not valid serial or container not found { Scripts.SendMessageScriptError("Script Error: FindByID: Container serial not found"); return(null); } foreach (Item i in cont.Contains) { if (i.ItemID == itemid) // check item id { if (color != -1) // color -1 ALL { if (i.Hue == color) { return(i); } } else { return(i); } } else if (i.IsContainer) { FindByID(itemid, color, i.Serial); // recall for sub container } } return(null); // Return null if no item found } else // Search in world { Items.Filter itemFilter = new Items.Filter { Enabled = true }; itemFilter.Graphics.Add(itemid); if (color != -1) { itemFilter.Hues.Add(color); } List <Item> containeritem = RazorEnhanced.Items.ApplyFilter(itemFilter); foreach (Item found in containeritem) // Return frist one found { return(found); } return(null); } }
/// <summary> /// Find and target a resource using the specified item. /// </summary> /// <param name="item_serial">Item object to use.</param> /// <param name="resource_number"> Resource as standard name or custom number /// 0: ore /// 1: sand /// 2: wood /// 3: graves /// 4: red_mushrooms /// n: custom /// </param> public static void TargetResource(int item_serial, int resource_number) { Assistant.Item item = Assistant.World.FindItem(item_serial); if (item == null) { Scripts.SendMessageScriptError("Script Error: UseItem: Invalid Use Serial"); return; } Client.Instance.SendToServer(new TargeByResource((uint)item_serial, (uint)resource_number)); }
/// <summary> /// Tile: Get the name of a Tile item given the StaticID. /// </summary> /// <param name="StaticID">Tile item StaticID.</param> /// <returns>The name of the Land item.</returns> public static string GetTileName(int StaticID) { try{ return(TileData.ItemTable[StaticID].Name); } catch (Exception) { Scripts.SendMessageScriptError("Script Error: GetTileName invalid tileID " + StaticID); return(""); } }
public static string GetTileName(int itemid) { try{ return(TileData.ItemTable[itemid].Name); } catch (Exception e) { Scripts.SendMessageScriptError("Script Error: GetTileName invalid tileID " + itemid); return(""); } }
public static void SingleClick(int itemserial) { Assistant.Item item = Assistant.World.FindItem(itemserial); if (item == null) { Scripts.SendMessageScriptError("Script Error: SingleClick: Invalid Serial"); return; } Assistant.Client.Instance.SendToServerWait(new SingleClick(item)); }
public static void SingleClick(int mobileserial) { Assistant.Mobile mobile = Assistant.World.FindMobile(mobileserial); if (mobile == null) { Scripts.SendMessageScriptError("Script Error: SingleClick: Invalid Serial"); return; } Assistant.Client.Instance.SendToServerWait(new SingleClick(mobile)); }
public static void ChangeList(string nameList) { if (!Engine.MainWindow.FriendListSelect.Items.Contains(nameList)) { Scripts.SendMessageScriptError("Script Error: Friend.ChangeList: Friend List: " + nameList + " not exist"); } else { Engine.MainWindow.SafeAction(s => s.FriendListSelect.SelectedIndex = s.FriendListSelect.Items.IndexOf(nameList)); } }
public static void FStop() { if (Assistant.Engine.MainWindow.RestockExecute.Enabled == true) { Assistant.Engine.MainWindow.RestockStopExec(); } else { Scripts.SendMessageScriptError("Script Error: Restock.FStart: Restock not running"); } }
public static void UnDressFStop() { if (Assistant.Engine.MainWindow.DressStopButton.Enabled == true) { Assistant.Engine.MainWindow.DressStop(); } else { Scripts.SendMessageScriptError("Script Error: Dress.DressFStop: UnDress not running"); } }
public static void UnDressFStart() { if (Assistant.Engine.MainWindow.UnDressExecuteButton.Enabled == true) { Assistant.Engine.MainWindow.UndressStart(); } else { Scripts.SendMessageScriptError("Script Error: Dress.UnDressFStart: Undress already running"); } }
public static void Stop() { if (Assistant.Engine.MainWindow.ScavengerCheckBox.Checked == false) { Scripts.SendMessageScriptError("Script Error: Scavenger.Stop: Scavenger already sleeping"); } else { Assistant.Engine.MainWindow.ScavengerCheckBox.Invoke(new Action(() => Assistant.Engine.MainWindow.ScavengerCheckBox.Checked = false)); } }
public static void RunOnce(List <AutoLootItem> autoLootList, int mseconds, Items.Filter filter) { if (Assistant.Engine.MainWindow.AutolootCheckBox.Checked == true) { Scripts.SendMessageScriptError("Script Error: Autoloot.Start: Autoloot already running"); } else { Engine(autoLootList, mseconds, filter); } }
public static void Disable() { if (Engine.MainWindow.BuyCheckBox.Checked == false) { Scripts.SendMessageScriptError("Script Error: Buy.Disable: Filter alredy disabled"); } else { Engine.MainWindow.SafeAction(s => s.BuyCheckBox.Checked = false); } }
// Funzioni da script public static void Enable() { if (Engine.MainWindow.BuyCheckBox.Checked == true) { Scripts.SendMessageScriptError("Script Error: Buy.Enable: Filter alredy enabled"); } else { Assistant.Engine.MainWindow.SafeAction(s => s.BuyCheckBox.Checked = true); } }
// Funzioni da script /// <summary> /// @nodoc /// Run the Scavenger Agent once on the currently active list, for a given amount of time, using a filter. /// </summary> /// <param name="scavengerList"></param> /// <param name="millisec"></param> /// <param name="filter"></param> public static void RunOnce(List <ScavengerItem> scavengerList, int millisec, Items.Filter filter) { if (Assistant.Engine.MainWindow.ScavengerCheckBox.Checked == true) { Scripts.SendMessageScriptError("Script Error: Scavenger.Start: Scavenger already running"); } else { Engine(scavengerList, millisec, filter); } }
public static void Stop() { if (Assistant.Engine.MainWindow.BandageHealenableCheckBox.Checked == false) { Scripts.SendMessageScriptError("Script Error: BandageHeal.Stop: Bandage Heal already sleeping"); } else { Assistant.Engine.MainWindow.SafeAction(s => s.BandageHealenableCheckBox.Checked = false); } }
public static void Disable() { if (Assistant.Engine.MainWindow.BuyCheckBox.Checked == false) { Scripts.SendMessageScriptError("Script Error: Buy.Disable: Filter alredy disabled"); } else { Assistant.Engine.MainWindow.BuyCheckBox.Invoke(new Action(() => Assistant.Engine.MainWindow.BuyCheckBox.Checked = false)); } }
public static void ChangeList(string nomelista) { if (!Assistant.Engine.MainWindow.FriendListSelect.Items.Contains(nomelista)) { Scripts.SendMessageScriptError("Script Error: Friend.ChangeList: Friend List: " + nomelista + " not exist"); } else { Assistant.Engine.MainWindow.FriendListSelect.Invoke(new Action(() => Assistant.Engine.MainWindow.FriendListSelect.SelectedIndex = Assistant.Engine.MainWindow.FriendListSelect.Items.IndexOf(nomelista))); // cambio lista } }
/// <summary> /// Stop the Organizer Agent. /// </summary> public static void FStop() { if (Assistant.Engine.MainWindow.OrganizerStop.Enabled == true) { Assistant.Engine.MainWindow.OrganizerStopExec(); } else { Scripts.SendMessageScriptError("Script Error: Organizer.FStart: Organizer not running"); } }
/// <summary> /// Stop the Autoloot Agent. /// </summary> public static void Stop() { if (Assistant.Engine.MainWindow.AutolootCheckBox.Checked == false) { Scripts.SendMessageScriptError("Script Error: Autoloot.Stop: Autoloot already sleeping"); } else { Assistant.Engine.MainWindow.SafeAction(s => s.AutolootCheckBox.Checked = false); } }
/// <summary> /// Start the Autoloot Agent on the currently active list. /// </summary> public static void Start() { if (Assistant.Engine.MainWindow.AutolootCheckBox.Checked == true) { Scripts.SendMessageScriptError("Script Error: Autoloot.Start: Autoloot already running"); } else { Assistant.Engine.MainWindow.SafeAction(s => s.AutolootCheckBox.Checked = true); } }
public static void ScriptStop(string scriptfile) { Scripts.EnhancedScript script = Scripts.Search(scriptfile); if (script != null) { script.Run = false; } else { Scripts.SendMessageScriptError("ScriptStatus: Script not exist"); } }
public static void CastNinjitsu(string SpellName) { if (World.Player == null) { return; } Spell s = null; switch (SpellName) { case "Focus Attack": s = Spell.Get(501); break; case "Death Strike": s = Spell.Get(502); break; case "Animal Form": s = Spell.Get(503); break; case "Ki Attack": s = Spell.Get(504); break; case "Surprise Attack": s = Spell.Get(505); break; case "Backstab": s = Spell.Get(506); break; case "Shadow jump": s = Spell.Get(507); break; case "Mirror Image": s = Spell.Get(508); break; default: Scripts.SendMessageScriptError("Script Error: CastSpellNinjitsu: Invalid spell name: " + SpellName); break; } if (s != null) { s.OnCastByScript(new CastSpellFromMacro((ushort)s.GetID())); } }
public static bool ScriptStatus(string scriptfile) { Scripts.EnhancedScript script = Scripts.Search(scriptfile); if (script != null) { return(script.Run); } else { Scripts.SendMessageScriptError("ScriptStatus: Script not exist"); return(false); } }
public static List <TileInfo> GetStaticsTileInfo(int x, int y, int map) { if (!m_loaded) { LoadMapData(); } Ultima.HuedTile[] tiles; List <TileInfo> tileinfo = new List <TileInfo>(); switch (map) { case 0: tiles = Ultima.Map.Felucca.Tiles.GetStaticTiles(x, y); break; case 1: tiles = Ultima.Map.Trammel.Tiles.GetStaticTiles(x, y); break; case 2: tiles = Ultima.Map.Ilshenar.Tiles.GetStaticTiles(x, y); break; case 3: tiles = Ultima.Map.Malas.Tiles.GetStaticTiles(x, y); break; case 4: tiles = Ultima.Map.Tokuno.Tiles.GetStaticTiles(x, y); break; case 5: tiles = Ultima.Map.TerMur.Tiles.GetStaticTiles(x, y); break; default: Scripts.SendMessageScriptError("Script Error: GetLandZ Invalid Map!"); return(tileinfo); } if (tiles != null && tiles.Length > 0) { foreach (Ultima.HuedTile tile in tiles) { tileinfo.Add(new TileInfo(tile.ID, tile.Hue, tile.Z)); } } return(tileinfo); }