public static void TaxiMountAndMove(Character ch, TaxiPath path) { PathForTaxi taxiPFT = new PathForTaxi(path.Id,ch); int MountId = 0; foreach(Object o in ch.KnownObjects) { if(o is TaxiVendor) if((o as TaxiVendor).MountId != 0) MountId = (o as TaxiVendor).MountId; } if (MountId == 0) MountId = 1147; ch.MountModel = (int)MountId; ch.taxiOn = true; ch.GodMode = true; ch.UnInteractible = true; if(ch.Summon != null) ch.Summon.Freeze = true; ch.Speed = 20f; ch.RunSpeed = 40f; int offset = 4; Converter.ToBytes( 1, ch.tempBuff, ref offset ); Converter.ToBytes( (byte)0, ch.tempBuff, ref offset ); ch.PrepareUpdateData( ch.tempBuff, ref offset , UpdateType.UpdateFull, false ); ch.Send( OpCodes.SMSG_UPDATE_OBJECT, ch.tempBuff, offset ); ch.ItemsUpdate(); ch.MoveTaxiTo(taxiPFT.T,taxiPFT.mapIds, taxiPFT.mapChange); }