/// <summary> /// 挂机防踢 /// </summary> /// <param name="isEnable"></param> public static void AntiAFK(bool isEnable) { /* * idleKick: {('262145', '87')} GLOBAL IDLEKICK_WARNING1 * idleKick: {('262145', '88')} GLOBAL IDLEKICK_WARNING2 * idleKick: {('262145', '89')} GLOBAL IDLEKICK_WARNING3 * idleKick: {('262145', '90')} GLOBAL IDLEKICK_KICK * idleKick: {('262145', '8248')} GLOBAL ConstrainedKick_Warning1 * idleKick: {('262145', '8249')} GLOBAL ConstrainedKick_Warning2 * idleKick: {('262145', '8250')} GLOBAL ConstrainedKick_Warning3 * idleKick: {('262145', '8251')} GLOBAL ConstrainedKick_Kick * timeStoodIdle: {('1648034', '1156')} GLOBAL time in ms * idleKick: {('1648034', '1172')} GLOBAL */ // joaat("weapon_minigun"); Hacks.WriteGA <int>(262145 + 87, isEnable ? 99999999 : 120000); // 120000 GLOBAL IDLEKICK_WARNING1 Hacks.WriteGA <int>(262145 + 88, isEnable ? 99999999 : 300000); // 300000 GLOBAL IDLEKICK_WARNING2 Hacks.WriteGA <int>(262145 + 89, isEnable ? 99999999 : 600000); // 600000 GLOBAL IDLEKICK_WARNING3 Hacks.WriteGA <int>(262145 + 90, isEnable ? 99999999 : 900000); // 900000 GLOBAL IDLEKICK_KICK // 742014 Hacks.WriteGA <int>(262145 + 8248, isEnable ? 2000000000 : 30000); // 30000 GLOBAL ConstrainedKick_Warning1 Hacks.WriteGA <int>(262145 + 8249, isEnable ? 2000000000 : 60000); // 60000 GLOBAL ConstrainedKick_Warning2 Hacks.WriteGA <int>(262145 + 8250, isEnable ? 2000000000 : 90000); // 90000 GLOBAL ConstrainedKick_Warning3 Hacks.WriteGA <int>(262145 + 8251, isEnable ? 2000000000 : 120000); // 120000 GLOBAL ConstrainedKick_Kick }
public override void Use(Player p, string message) { if ((bool)p.ExtraData["Spec"]) { p.ExtraData.ChangeOrCreate("Spec", !(bool)p.ExtraData["Spec"]); Player.SendChatFrom(p, p.ColoredName + " %Sis no longer a spectator", false); p.SendMapMotd(); Team.OnJoin(p); if (p.HasCpeExt(CpeExt.HackControl)) { p.Send(Hacks.MakeHackControl(p)); } } else { p.ExtraData.ChangeOrCreate("Spec", !(bool)p.ExtraData["Spec"]); Player.SendChatFrom(p, p.ColoredName + " %Sis now a spectator", false); Team.OnLeave(p); p.SendMapMotd(); if (p.HasCpeExt(CpeExt.HackControl)) { p.Send(Packet.HackControl(true, true, true, true, true, -1)); } Entities.GlobalDespawn(p, false, false); } Entities.GlobalSpawn(p, false, ""); HUD.UpdateAll(p); HUD.SetPrefix(p); }
static void DoTP(Player p, string message) { if (!Hacks.CanUseHacks(p)) { p.Message("&WYou can't teleport to spawners because hacks are disabled in {0}", p.level.ColoredName); return; } if (message == "") { p.Message("&WPlease provide the name of a spawner to teleport to."); return; } if (!GoodlyEffects.spawnersAtLevel.ContainsKey(p.level)) { p.Message("There are no spawners in {0}&S to teleport to.", p.level.ColoredName); return; } int matches; GoodlyEffects.EffectSpawner spawner = Matcher.Find(p, message, out matches, GoodlyEffects.spawnersAtLevel[p.level], x => true, x => x.name, "effect spawners"); if (matches > 1 || spawner == null) { return; } Command.Find("tp").Use(p, "-precise " + (int)(spawner.x * 32) + " " + (int)(spawner.y * 32) + " " + (int)(spawner.z * 32)); }
dynamic AddQuestNpc(dynamic quest, Saint.ENpc sNpc) { if (Hacks.IsNpcSkipped(sNpc)) { return(null); } var npc = _builder.Db.NpcsById[sNpc.Key]; if (npc.quests == null) { npc.quests = new JArray(); } var questId = (int)quest.id; JArray quests = npc.quests; if (!quests.Any(id => ((int)id) == questId)) { quests.Add(questId); _builder.Db.AddReference(npc, "quest", questId, false); _builder.Db.AddReference(quest, "npc", (int)npc.id, false); } return(npc); }
public override void Use(Player p, string message, CommandData data) { if (p.Game.Referee) { Chat.MessageFrom(p, "λNICK %Sis no longer a referee"); OnPlayerActionEvent.Call(p, PlayerAction.UnReferee); p.Game.Referee = false; } else { Chat.MessageFrom(p, "λNICK %Sis now a referee"); OnPlayerActionEvent.Call(p, PlayerAction.Referee); p.Game.Referee = true; } p.SetPrefix(); if (p.Supports(CpeExt.InstantMOTD)) { p.SendMapMotd(); } else if (p.Supports(CpeExt.HackControl)) { string motd = p.GetMotd(); if (p.Game.Referee) { motd += " +hax"; } p.Send(Hacks.MakeHackControl(p, motd)); } }
/// <summary> /// 模型变更 /// </summary> /// <param name="hash"></param> public static void ModelChange(long hash) { Hacks.WriteGA <int>(Offsets.oVGETIn + 59, 1); // triggerModelChange Global_2671449.f_59 Hacks.WriteGA <long>(Offsets.oVGETIn + 46, hash); // modelChangeHash Global_2671449.f_46 Thread.Sleep(10); Hacks.WriteGA <int>(Offsets.oVGETIn + 59, 0); }
public override void Use(Player p, string message, CommandData data) { if (!Hacks.CanUseHacks(p)) { p.Message("You cannot use &T/Ascend %Son this map."); return; } int x = p.Pos.BlockX, y = p.Pos.BlockY, z = p.Pos.BlockZ; if (y < 0) { y = 0; } int freeY = -1; if (p.level.IsValidPos(x, y, z)) { freeY = FindYAbove(p.level, (ushort)x, (ushort)y, (ushort)z); } if (freeY == -1) { p.Message("No free spaces found above you."); } else { p.Message("Teleported you up."); Position pos = Position.FromFeet(p.Pos.X, freeY * 32, p.Pos.Z); p.SendPos(Entities.SelfID, pos, p.Rot); } }
public SW(string attribute, double value, bool excludeFromBaseValue = false) { Attribute = attribute; Value = value; ExcludeFromBaseValue = excludeFromBaseValue; IsAdvancedMeldingForbidden = Hacks.IsMainAttribute(attribute); }
private void AutoScript(string statClassName) { TextBox_Result.Clear(); Task.Run(() => { try { int index = StatData.StatDataClass.FindIndex(t => t.ClassName == statClassName); if (index != -1) { AppendTextBox($"正在执行 {StatData.StatDataClass[index].ClassName} 脚本代码"); for (int i = 0; i < StatData.StatDataClass[index].StatInfo.Count; i++) { AppendTextBox($"正在执行 第 {i + 1}/{StatData.StatDataClass[index].StatInfo.Count} 条代码"); Hacks.WriteStat(StatData.StatDataClass[index].StatInfo[i].Hash, StatData.StatDataClass[index].StatInfo[i].Value); Task.Delay(500).Wait(); } AppendTextBox($"{StatData.StatDataClass[index].ClassName} 脚本代码执行完毕"); } } catch (Exception ex) { AppendTextBox($"错误:{ex.Message}"); } }); }
public override void Use(Player p, string message, CommandData data) { if (!Hacks.CanUseHacks(p)) { p.Message("You cannot use &T/Descend &Son this map."); return; } // Move starting position down half a block since players are a little bit above the ground. int x = p.Pos.BlockX, y = (p.Pos.Y - 51 - 4) / 32, z = p.Pos.BlockZ; if (y > p.level.Height) { y = p.level.Height; } y--; // start at block below initially int freeY = -1; if (p.level.IsValidPos(x, y, z)) { freeY = FindYBelow(p.level, (ushort)x, y, (ushort)z); } if (freeY == -1) { p.Message("No free spaces found below you."); } else { p.Message("Teleported you down."); Position pos = Position.FromFeet(p.Pos.X, freeY * 32, p.Pos.Z); p.SendPosition(pos, p.Rot); } }
public void Calibrate() { List <Saint.Item> ItemsToImport = _realm.GameData.GetSheet <Saint.Item>() .Where(i => !Hacks.IsItemSkipped(i.Name, i.Key)).ToList(); DatabaseBuilder.PrintLine("Reading icon definition... (1/5)"); ReadIconDefinition(ItemsToImport); DatabaseBuilder.PrintLine("Preparing working directory... (2/5)"); PrepareDirectory(); if (_config.Reextract) { DatabaseBuilder.PrintLine("Extracting in game icons... (3/5)"); ExtractIcons(ItemsToImport); } DatabaseBuilder.PrintLine("Adjusting 128x icon... (4/5)"); Move128Icons(); DatabaseBuilder.PrintLine("Writing icon definition... (5/5)"); WriteIconDefinition(); //Cleanup(); DatabaseBuilder.PrintLine("Icon calibration done. \n" + "Please re-export the database to bind icon to json."); }
/// <summary> /// 移除进出口大亨出货CD /// </summary> /// <param name="isEnable"></param> public static void RemoveExportVehicleDelay(bool isEnable) { Hacks.WriteGA <int>(262145 + 19727, isEnable ? 0 : 1200000); // 1001423248 tuneables_processing.c Hacks.WriteGA <int>(262145 + 19728, isEnable ? 0 : 1680000); Hacks.WriteGA <int>(262145 + 19729, isEnable ? 0 : 2340000); Hacks.WriteGA <int>(262145 + 19730, isEnable ? 0 : 2880000); // -824005590 }
public override void Draw(RenderContext context) { base.Draw(context); var game = Services.GetService <IGame>(); var graphicsContext = game.GraphicsContext; var graphicsDevice = Services.GetService <IGraphicsDeviceService>().GraphicsDevice; Dispatcher.ForEach(ComponentDatas, (pair) => { var component = pair.Key; var data = pair.Value; try { GenerateSplineMesh(component, data, graphicsContext, graphicsDevice); } catch { // Stride has trouble reconnecting some entities properly when hot reloading assemblies in the editor // We try to fix this using a hack ... should probably try to reproduce in a smaller project and create an issue // In this case this shows as the heightmap being null if (component.Terrain.Heightmap == null) { component.Terrain = Hacks.RelinkComponent <TerrainComponent>(EntityManager, component.Terrain.Entity.Id); } } }); }
/// <summary> /// 移除机库进货CD /// </summary> /// <param name="isEnable"></param> public static void RemoveSmugglerRunInDelay(bool isEnable) { Hacks.WriteGA <int>(262145 + 22779, isEnable ? 0 : 120000); // 1278611667 tuneables_processing.c Hacks.WriteGA <int>(262145 + 22780, isEnable ? 0 : 180000); Hacks.WriteGA <int>(262145 + 22781, isEnable ? 0 : 240000); Hacks.WriteGA <int>(262145 + 22782, isEnable ? 0 : 60000); }
/// <summary> /// 设置CEO板条箱每箱出售单价为2W /// </summary> /// <param name="isEnable"></param> public static void CEOPricePerCrateAtCrates(bool isEnable) { // Global_262145.f_15843 -1445480509 // tuneables_processing.c Hacks.WriteGA <int>(262145 + 15843, isEnable ? 20000 : 10000); // 1 specialCargo1CratesPrice Hacks.WriteGA <int>(262145 + 15843 + 1, isEnable ? 20000 : 11000); // 2 specialCargo2CratesPrice Hacks.WriteGA <int>(262145 + 15843 + 2, isEnable ? 20000 : 12000); // 3 specialCargo3CratesPrice Hacks.WriteGA <int>(262145 + 15843 + 3, isEnable ? 20000 : 13000); // 4-5 specialCargo4to5CratesPrice Hacks.WriteGA <int>(262145 + 15843 + 4, isEnable ? 20000 : 13500); // 6-7 specialCargo6to7CratesPrice Hacks.WriteGA <int>(262145 + 15843 + 5, isEnable ? 20000 : 14000); // 8-9 ... Hacks.WriteGA <int>(262145 + 15843 + 6, isEnable ? 20000 : 14500); // 10-14 Hacks.WriteGA <int>(262145 + 15843 + 7, isEnable ? 20000 : 15000); // 15-19 Hacks.WriteGA <int>(262145 + 15843 + 8, isEnable ? 20000 : 15500); // 20-24 Hacks.WriteGA <int>(262145 + 15843 + 9, isEnable ? 20000 : 16000); // 25-29 Hacks.WriteGA <int>(262145 + 15843 + 10, isEnable ? 20000 : 16500); // 30-34 Hacks.WriteGA <int>(262145 + 15843 + 11, isEnable ? 20000 : 17000); // 35-39 Hacks.WriteGA <int>(262145 + 15843 + 12, isEnable ? 20000 : 17500); // 40-44 Hacks.WriteGA <int>(262145 + 15843 + 13, isEnable ? 20000 : 17750); // 45-49 Hacks.WriteGA <int>(262145 + 15843 + 14, isEnable ? 20000 : 18000); // 50-59 Hacks.WriteGA <int>(262145 + 15843 + 15, isEnable ? 20000 : 18250); // 60-69 Hacks.WriteGA <int>(262145 + 15843 + 16, isEnable ? 20000 : 18500); // 70-79 Hacks.WriteGA <int>(262145 + 15843 + 17, isEnable ? 20000 : 18750); // 80-89 Hacks.WriteGA <int>(262145 + 15843 + 18, isEnable ? 20000 : 19000); // 90-990 Hacks.WriteGA <int>(262145 + 15843 + 19, isEnable ? 20000 : 19500); // 100-11 Hacks.WriteGA <int>(262145 + 15843 + 20, isEnable ? 20000 : 20000); // 111 }
public override void Start() { foreach (var sMateria in _builder.Sheet <Game.Materia>()) { if (sMateria.BaseParam.Key == 0) { continue; } var isMainAttribute = Hacks.IsMainAttribute(sMateria.BaseParam.Name.ToString()); foreach (var itemValue in sMateria.Items) { if (!_builder.Db.ItemsById.TryGetValue(itemValue.Item.Key, out var item)) { continue; } dynamic obj = new JObject(); obj.tier = itemValue.Tier; obj.value = itemValue.Value; obj.attr = sMateria.BaseParam.Name.ToString(); obj.category = PatchDatabase.GetAttributePatchCategory(sMateria.BaseParam).Value; if (isMainAttribute) { obj.advancedMeldingForbidden = 1; } item.materia = obj; // Embed materia for meld tool. _builder.Db.EmbeddedPartialItemIds.Add(itemValue.Item.Key); } } }
/// <summary> /// 设置地堡原材料消耗量 /// </summary> /// <param name="isEnable"></param> public static void SetBunkerSuppliesPerUnitProduced(bool isEnable) { // Supplies Per Unit Produced // tuneables_processing.c Hacks.WriteGA <int>(262145 + 21579, isEnable ? 1 : 10); // Product Base -1652502760 Hacks.WriteGA <int>(262145 + 21580, isEnable ? 1 : 5); // Product Upgraded 1647327744 Hacks.WriteGA <int>(262145 + 21595, isEnable ? 1 : 2); // Research Base 1485279815 Hacks.WriteGA <int>(262145 + 21596, isEnable ? 1 : 1); // Research Upgraded 2041812011 }
public static void Initialize() { TargetSelector.Initialize(); Prediction.Initialize(); Hacks.Initialize(); //FakeClicks.Initialize(); Instance.AddToMainMenu(); }
internal AimtecMenu() : base("Aimtec.Menu", "Aimtec", true) { Hacks.Init(this); this.Add(new MenuBool("Aimtec.Debug", "Debugging", false, true)); Log.Info().Message("Aimtec menu created").Write(); }
public static void Shutdown() { TargetSelector.Shutdown(); Prediction.Shutdown(); Hacks.Shutdown(); //FakeClicks.Shutdown(); Menu.Remove(Instance); }
/// <summary> /// 雷达影踪/人间蒸发 /// </summary> /// <param name="isEnable"></param> public static void OffRadar(bool isEnable) { Hacks.WriteGA <int>(Offsets.oPlayerIDHelp + 1 + Hacks.GetPlayerID() * 453 + 208, isEnable ? 1 : 0); if (isEnable) { Hacks.WriteGA <int>(Offsets.oNETTimeHelp + 56, Hacks.GetNetworkTime() + 3600000); } Hacks.WriteGA <int>(Offsets.oVMYCar + 4630, isEnable ? 3 : 0); }
protected override void ImageCaptured(object sender, ImageCapturedEventArgs e) { Tracing.Trace("Picasa::{0:X8}::ImageCaptured", this.GetHashCode()); Hacks.BootstrapSettings(PluginSettings); this._fileName = e.ImageNames.FullSize; output.FetchOutputStream(new StreamHandler(this.SaveImage), this._fileName, e.FullSizeImage); }
/// <summary> /// 幽灵组织 /// </summary> /// <param name="isEnable"></param> public static void GhostOrganization(bool isEnable) { Hacks.WriteGA <int>(Offsets.oPlayerIDHelp + 1 + Hacks.GetPlayerID() * 453 + 208, isEnable ? 1 : 0); if (isEnable) { Hacks.WriteGA <int>(Offsets.oNETTimeHelp + 56, Hacks.GetNetworkTime() + 3600000); // iVar0 = NETWORK::GET_TIME_DIFFERENCE(NETWORK::GET_NETWORK_TIME() } Hacks.WriteGA <int>(Offsets.oVMYCar + 4630, isEnable ? 4 : 0); }
/// <summary> /// Initializes a static instance of the <see cref="CommonMenu" /> class. /// </summary> static CommonMenu() { TargetSelector.Initialize(); Prediction.Initialize(); Hacks.Initialize(); FakeClicks.Initialize(); Instance.AddToMainMenu(); }
void CustomTalkShops() { foreach (var sCustomTalk in _builder.Sheet("CustomTalk")) { var instructions = ScriptInstruction.Read(sCustomTalk, 30); var shopInstructions = instructions.Where(i => i.Label.Contains("SHOP") && !i.Label.Contains("LOGMSG")).ToArray(); if (shopInstructions.Length == 0) { continue; } var sNpcs = sCustomTalk.Sheet.Collection.ENpcs.FindWithData(sCustomTalk.Key).ToArray(); if (sNpcs.Length == 0) { continue; } foreach (var shopInstruction in shopInstructions) { var shopKey = (int)shopInstruction.Argument; if (Hacks.ExcludedShops.Contains(shopKey)) { continue; } // Setup a disposal shop. if (shopInstruction.Label == "SHOP_DISPOSAL") { DisposalShops.BuildShop(_builder, sNpcs, (int)shopInstruction.Argument); continue; } // Missing shop definitions? if (!_shopsByKey.TryGetValue(shopKey, out var shop)) { // todo: print relevant NPCs, text? DatabaseBuilder.PrintLine($"Shop {shopKey} not found, skipping."); continue; } if (shop.Name == "Unknown Shop") { var name = Hacks.GetShopName((SaintCoinach.Text.XivString)sCustomTalk.GetRaw("Name"), shopInstruction); if (name.Contains("[not in Saint]")) { DatabaseBuilder.PrintLine($"{string.Join(", ", sNpcs.Select(e => e.Singular.ToString()))} has shop {name}"); continue; } shop.Name = name; } shop.ENpcs = sNpcs.Union(shop.ENpcs).Distinct().ToArray(); } } }
/// <summary> /// 移除自杀CD /// </summary> /// <param name="isEnable"></param> public static void RemoveSuicideCooldown(bool isEnable) { if (isEnable) { Hacks.WriteGA <int>(2815059 + 6774, 0); } Hacks.WriteGA <int>(262145 + 28396, isEnable ? 3 : 300000); Hacks.WriteGA <int>(262145 + 28397, isEnable ? 3 : 60000); }
public static GraphicsDevice CreateDefaultD3D11GraphicsDevice(ref GraphicsDeviceCreateInfo deviceCI, Sdl2Window window) { SharpDX.Direct3D11.DeviceCreationFlags flags = SharpDX.Direct3D11.DeviceCreationFlags.None; if (deviceCI.DebugDevice) { flags |= SharpDX.Direct3D11.DeviceCreationFlags.Debug; } return(Hacks.CreateD3D11(window.Handle, window.Width, window.Height)); }
/// <summary> /// 设置车友会等级经验倍数 /// </summary> /// <param name="multiplier"></param> public static void REPMultiplier(float multiplier) { Hacks.WriteGA <float>(262145 + 31636, multiplier); // Street Race 街头比赛 -147149995 Hacks.WriteGA <float>(262145 + 31637, multiplier); // Pursuit Race 追逐赛 Hacks.WriteGA <float>(262145 + 31638, multiplier); // Scramble 攀登 Hacks.WriteGA <float>(262145 + 31639, multiplier); // Head 2 Head 头对头 1434998920 Hacks.WriteGA <float>(262145 + 31641, multiplier); // LS Car Meet 汽车见面会 1819417801 Hacks.WriteGA <float>(262145 + 31642, multiplier); // LS Car Meet Track Hacks.WriteGA <float>(262145 + 31643, multiplier); // LS Car Meet Cloth Shop }
/// <summary> /// 设置夜总会生产时间为指定时间,单位秒 /// </summary> /// <param name="isEnable"></param> /// <param name="produce_time"></param> public static void SetNightclubProduceTime(bool isEnable, int produce_time) { // Time to Produce // tuneables_processing.c Hacks.WriteGA <int>(262145 + 24394, isEnable ? produce_time : 4800000); // Sporting Goods -147565853 Hacks.WriteGA <int>(262145 + 24395, isEnable ? produce_time : 14400000); // South American Imports Hacks.WriteGA <int>(262145 + 24396, isEnable ? produce_time : 7200000); // Pharmaceutical Research Hacks.WriteGA <int>(262145 + 24397, isEnable ? produce_time : 2400000); // Organic Produce Hacks.WriteGA <int>(262145 + 24398, isEnable ? produce_time : 1800000); // Printing and Copying Hacks.WriteGA <int>(262145 + 24399, isEnable ? produce_time : 3600000); // Cash Creation Hacks.WriteGA <int>(262145 + 24400, isEnable ? produce_time : 8400000); // Cargo and Shipments 1607981264 }
public void SendMotd(string motd) { byte[] packet = Packet.Motd(player, motd); Send(packet); if (!player.Supports(CpeExt.HackControl)) { return; } Send(Hacks.MakeHackControl(player, motd)); }