#region freeze war case 2413124: case 2413123: { switch (npcRequest.OptionID) { case 0: { dialog.Text(" Ahlan Wsahln " + client.Player.Name + " hda5lk elfreeze war bas lazm elwa2t yb2a xx:40 to xx:42"); dialog.Text("enta ma3ak FreezePoints = [ " + client.Player.FreezePoints + " ] "); dialog.Option("yla da5lny", 1); dialog.Option("3awz tbadl el Freeze Points ", 2); dialog.Send(); break; } case 1: { if (DateTime.Now.Minute >= 40 && DateTime.Now.Minute <= 42) { client.Player.RemoveFlag((ulong)MsgUpdate.Flags.Ride); client.Player.PKMode = Game.Enums.PKMode.PK; client.Send(new MsgAction(true) { UID = client.Player.UID, ID = MsgAction.Mode.ChangePKMode, dwParam = (uint)client.Player.PKMode }); client.Player.Update(MsgName.Mode.Effect, "zf2-e360", true); Random R = new Random(); int Nr = R.Next(1, 10); if (Nr == 1) client.Player.Teleport(1505, 293, 300); if (Nr == 2) client.Player.Teleport(1505, 298, 284); if (Nr == 3) client.Player.Teleport(1505, 314, 284); if (Nr == 4) client.Player.Teleport(1505, 302, 272); if (Nr == 5) client.Player.Teleport(1505, 291, 267); if (Nr == 6) client.Player.Teleport(1505, 321, 273); if (Nr == 7) client.Player.Teleport(1505, 308, 256); if (Nr == 8) client.Player.Teleport(1505, 292, 258); if (Nr == 9) client.Player.Teleport(1505, 278, 294); if (Nr == 10) client.Player.Teleport(1505, 321, 260); } else { dialog.Text("Yasta Bt5ta8l 3la xx:40 to xx:42 bs "); dialog.Send(); } break; } case 2: { dialog.Text("ta2dar t8ayr El FreezePoints by ay 7aga mn dool , enta ma3ak " + client.Player.FreezePoints + " FreezePoints "); dialog.Option("P6DragonSoul[Random][500 Points]", 3); dialog.Option("P7SoulPack[Random][1000Points]", 4); dialog.Option("P7WeaponSoulPack[YouWant][1500Points]", 5); dialog.Option("P7EquipmentSoulPack[YouWant][1500Points]", 6); dialog.Option("SplendidStarStone[300Points]", 7); dialog.Send(); break; } case 3: { if (client.Player.FreezePoints >= 500) { client.Player.FreezePoints -= 500; client.Inventory.Add(3003382, 0, 1); } else { dialog.Text("Lazm yb2a ma3ak 500 Points"); dialog.Send(); } break; } case 4: { if (client.Player.FreezePoints >= 1000) { client.Player.FreezePoints -= 1000; client.Inventory.Add(3008055, 0, 1); } else { dialog.Text("Lazm yb2a ma3ak 1000 Points"); dialog.Send(); } break; } case 5: { if (client.Player.FreezePoints >= 1500) { client.Player.FreezePoints -= 1500; client.Inventory.Add(3004247, 0, 1); } else { dialog.Text("Lazm yb2a ma3ak 1500 Points"); dialog.Send(); } break; } case 6: { if (client.Player.FreezePoints >= 1500) { client.Player.FreezePoints -= 1500; client.Inventory.Add(3004248, 0, 1); } else { dialog.Text("Lazm yb2a ma3ak 1500 Points"); dialog.Send(); } break; } case 7: { if (client.Player.FreezePoints >= 300) { client.Player.FreezePoints -= 300; client.Inventory.Add(3009003, 0, 1); } else { dialog.Text("Lazm yb2a ma3ak 300 Points"); dialog.Send(); } break; } } break; } #endregion
player.cs او Entity.cs
public void Die(Player killer)
#region FreezeWar if (killer.MapID == 1505) { DateTime Now64 = DateTime.Now; if (Now64.Minute >= 42 && Now64.Minute < 45) { if (DateTime.Now >= FrozenTime1.AddSeconds(15)) { for (uint x = 1; x <= 1; x++) { X = X; Y = Y; killer.FreezePoints += 10; Hitpoints = MaxHitpoints; Stamina = 100; string Mesage = ""; Mesage = "Your FreezePoints .: " + killer.FreezePoints + ""; MsgTalk msg = new MsgTalk(Mesage, System.Drawing.Color.Red, x == 1 ? MsgTalk.FirstRightCorner : MsgTalk.ContinueRightCorner); killer.Owner.Send(msg); RemoveFlag((ulong)MsgUpdate.Flags.Dead); RemoveFlag((ulong)MsgUpdate.Flags.Ghost); Teleport(1505, X, Y); AddFlag((ulong)MsgUpdate.Flags.Freeze); FrozenTime = 15; MsgRaceTrackStatus update = new MsgRaceTrackStatus(true); update.UID = UID; update.Add(MsgRaceTrackStatus.Freeze, 0, 15); Owner.SendScreen(update, true); TransformationID = 0; Ressurect(); FrozenTime1 = DateTime.Now; FrozenStamp = Time32.Now; } } else { TransformationID = 0; Ressurect(); Stamina = 100; Hitpoints = MaxHitpoints; RemoveFlag((ulong)MsgUpdate.Flags.Dead); RemoveFlag((ulong)MsgUpdate.Flags.Ghost); } return; } } #endregion
public DateTime FrozenTime1;
public uint FreezePoints;
public int FrozenTime;
public Time32 FrozenStamp;
#region freeze war system if (Now64.Minute == 40 && Now64.Second == 10) { Kernel.SendWorldMessage(new MsgTalk("7arb el Freeze war start ma3ak 2 min 34an tsagl feha !", Color.White, MsgTalk.Center), Kernel.GamePool.Values.ToArray()); foreach (var clientX in Kernel.GamePool.Values) clientX.MessageBox("7arb el Freeze war start, yla sagl bsr3a? ?", p => { p.Player.Teleport(1002, 309, 250); }, null, 60); } if (Now64.Minute == 42 && Now64.Second == 00) { foreach (var clientX in Kernel.GamePool.Values) { if (clientX.Player.MapID == 1505) { Constants.PKForbiddenMaps.Remove(1505); Constants.PKFreeMaps.Add(1505); clientX.Player.AddFlag((ulong)MsgUpdate.Flags.Freeze); Kernel.SendWorldMessage(new MsgTalk("El7arb bdat ya rgala kol wa7d b 10 FreezePoints #33 !", Color.White, MsgTalk.Center), Kernel.GamePool.Values.ToArray()); } } } if (Now64.Minute == 45 && Now64.Second == 00) { foreach (var clientX in Kernel.GamePool.Values) { if (clientX.Player.MapID == 1505) { Constants.PKFreeMaps.Remove(1505); Constants.PKForbiddenMaps.Add(1505); clientX.Player.Teleport(1002, 309, 250); Kernel.SendWorldMessage(new MsgTalk("El7arb 5last ya rgala #33 !", Color.White, MsgTalk.Center), Kernel.GamePool.Values.ToArray()); } } } #endregion
BuffersCallback
#region Freeze if (client.Player.ContainsFlag((ulong)MsgUpdate.Flags.Freeze)) { if (Now > client.Player.FrozenStamp.AddSeconds(client.Player.FrozenTime)) { client.Player.FrozenTime = 0; client.Player.RemoveFlag((ulong)MsgUpdate.Flags.Freeze); MsgRaceTrackStatus update = new MsgRaceTrackStatus(true); update.UID = client.Player.UID; update.Remove(MsgRaceTrackStatus.Freeze); client.SendScreen(update, true); } } #endregion
PKForbiddenMaps
#region freeze war case 2413124: case 2413123: { switch (npcRequest.OptionID) { case 0: { dialog.Text(" Ahlan Wsahln " + client.Entity.Name + " hda5lk elfreeze war bas lazm elwa2t yb2a xx:40 to xx:42"); dialog.Text("enta ma3ak FreezePoints = [ " + client.Entity.FreezePoints + " ] "); dialog.Option("yla da5lny", 1); dialog.Option("3awz tbadl el Freeze Points ", 2); dialog.Send(); break; } case 1: { if (DateTime.Now.Minute >= 40 && DateTime.Now.Minute <= 42) { client.Entity.RemoveFlag(Update.Flags.Ride); client.Entity.PKMode = Game.Enums.PKMode.PK; client.Send(new Data(true) { UID = client.Entity.UID, ID = Data.ChangePKMode, dwParam = (uint)client.Entity.PKMode }); client.Entity.Update(_String.Effect, "zf2-e360", true); Random R = new Random(); int Nr = R.Next(1, 10); if (Nr == 1) client.Entity.Teleport(1505, 293, 300); if (Nr == 2) client.Entity.Teleport(1505, 298, 284); if (Nr == 3) client.Entity.Teleport(1505, 314, 284); if (Nr == 4) client.Entity.Teleport(1505, 302, 272); if (Nr == 5) client.Entity.Teleport(1505, 291, 267); if (Nr == 6) client.Entity.Teleport(1505, 321, 273); if (Nr == 7) client.Entity.Teleport(1505, 308, 256); if (Nr == 8) client.Entity.Teleport(1505, 292, 258); if (Nr == 9) client.Entity.Teleport(1505, 278, 294); if (Nr == 10) client.Entity.Teleport(1505, 321, 260); } else { dialog.Text("Yasta Bt5ta8l 3la xx:40 to xx:42 bs "); dialog.Send(); } break; } case 2: { dialog.Text("ta2dar t8ayr El FreezePoints by ay 7aga mn dool , enta ma3ak " + client.Entity.FreezePoints + " FreezePoints "); dialog.Option("P6DragonSoul[Random][500 Points]", 3); dialog.Option("P7SoulPack[Random][1000Points]", 4); dialog.Option("P7WeaponSoulPack[YouWant][1500Points]", 5); dialog.Option("P7EquipmentSoulPack[YouWant][1500Points]", 6); dialog.Option("SplendidStarStone[300Points]", 7); dialog.Send(); break; } case 3: { if (client.Entity.FreezePoints >= 500) { client.Entity.FreezePoints -= 500; client.Inventory.Add(3003382, 0, 1); } else { dialog.Text("Lazm yb2a ma3ak 500 Points"); dialog.Send(); } break; } case 4: { if (client.Entity.FreezePoints >= 1000) { client.Entity.FreezePoints -= 1000; client.Inventory.Add(3008055, 0, 1); } else { dialog.Text("Lazm yb2a ma3ak 1000 Points"); dialog.Send(); } break; } case 5: { if (client.Entity.FreezePoints >= 1500) { client.Entity.FreezePoints -= 1500; client.Inventory.Add(3004247, 0, 1); } else { dialog.Text("Lazm yb2a ma3ak 1500 Points"); dialog.Send(); } break; } case 6: { if (client.Entity.FreezePoints >= 1500) { client.Entity.FreezePoints -= 1500; client.Inventory.Add(3004248, 0, 1); } else { dialog.Text("Lazm yb2a ma3ak 1500 Points"); dialog.Send(); } break; } case 7: { if (client.Entity.FreezePoints >= 300) { client.Entity.FreezePoints -= 300; client.Inventory.Add(3009003, 0, 1); } else { dialog.Text("Lazm yb2a ma3ak 300 Points"); dialog.Send(); } break; } } break; } #endregion
#region FreezeWar if (killer.MapID == 1505) { DateTime Now64 = DateTime.Now; if (Now64.Minute >= 42 && Now64.Minute < 45) { if (DateTime.Now >= FrozenTime1.AddSeconds(15)) { for (uint x = 1; x <= 1; x++) { X = X; Y = Y; killer.FreezePoints += 10; Hitpoints = MaxHitpoints; Stamina = 100; string Mesage = ""; Mesage = "Your FreezePoints .: " + killer.FreezePoints + ""; Message msg = new Message(Mesage, System.Drawing.Color.Red, x == 1 ? Message.FirstRightCorner : Message.ContinueRightCorner); killer.Owner.Send(msg); RemoveFlag(Network.GamePackets.Update.Flags.Dead); RemoveFlag(Network.GamePackets.Update.Flags.Ghost); Teleport(1505, X, Y); AddFlag(Network.GamePackets.Update.Flags.Freeze); FrozenTime = 15; GameCharacterUpdates update = new GameCharacterUpdates(true); update.UID = UID; update.Add(GameCharacterUpdates.Freeze, 0, 15); Owner.SendScreen(update, true); TransformationID = 0; Ressurect(); FrozenTime1 = DateTime.Now; FrozenStamp = Time32.Now; } } else { TransformationID = 0; Ressurect(); Stamina = 100; Hitpoints = MaxHitpoints; RemoveFlag(Network.GamePackets.Update.Flags.Dead); RemoveFlag(Network.GamePackets.Update.Flags.Ghost); } return; } } #endregion
#region Frozen if (client.Entity.ContainsFlag(Update.Flags.Freeze)) { if (Now > client.Entity.FrozenStamp.AddSeconds(client.Entity.FrozenTime)) { client.Entity.FrozenD = false; client.Entity.FrozenTime = 0; client.Entity.RemoveFlag(Update.Flags.Freeze); GameCharacterUpdates update = new GameCharacterUpdates(true); update.UID = client.Entity.UID; update.Remove(GameCharacterUpdates.Freeze); client.SendScreen(update, true); } } #endregion
if (Now64.Minute == 40 && Now64.Second == 10) { Kernel.SendWorldMessage(new Message("7arb el Freeze war start ma3ak 2 min 34an tsagl feha !", Color.White, Message.Center), Kernel.GamePool.Values.ToArray()); foreach (var clientX in Kernel.GamePool.Values) clientX.MessageBox("7arb el Freeze war start, yla sagl bsr3a? ?", p => { p.Entity.Teleport(1002, 309, 250); }, null, 60); } if (Now64.Minute == 42 && Now64.Second == 00) { foreach (var clientX in Kernel.GamePool.Values) { if (clientX.Entity.MapID == 1505) { Constants.PKForbiddenMaps.Remove(1505); Constants.PKFreeMaps.Add(1505); clientX.Entity.AddFlag((Update.Flags.Freeze)); Kernel.SendWorldMessage(new Message("El7arb bdat ya rgala kol wa7d b 10 FreezePoints #33 !", Color.White, Message.Center), Kernel.GamePool.Values.ToArray()); } } } if (Now64.Minute == 45 && Now64.Second == 00) { foreach (var clientX in Kernel.GamePool.Values) { if (clientX.Entity.MapID == 1505) { Constants.PKFreeMaps.Remove(1505); Constants.PKForbiddenMaps.Add(1505); clientX.Entity.Teleport(1002, 309, 250); Kernel.SendWorldMessage(new Message("El7arb 5last ya rgala #33 !", Color.White, Message.Center), Kernel.GamePool.Values.ToArray()); } } }
FreezePoints bigint 16 0 0 0 -1 0 0 0 0 0 0
2413123 FreezeWar 2 15500 1002 309 245
1505 1002 7 0