midoazoz
2019-12-09, 03:45 AM
السلام عليكم في البدايه حابب اشكر ريدار معرفش ليه بس بجد انا بتعلم منه جدا واخويا الكبير ومش انا بس الي بقول كده ربنا يجعله في ميزان حسناته
ثانيه
بمناسبه الموضوع ده
عفواً لايمكن عرض الروابط في الإرشيف bse3C878fUGPqnZV2g
انا عملته وخلصته بنسبه 90% او اكتر
عموما هفاجاكم قريب
نخش ع الموضوع فريز وار
الي هي دي
عفواً لايمكن عرض الروابط في الإرشيف
نخش ع الاضافات ع طول
================================================== ==========================================
خش يباشا ع الان بي سي
#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.Ri de);
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;
الي موجود منهم خلاص مش لازم تضيفه
نخش thread
#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.Free ze);
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.Fr eeze);
MsgRaceTrackStatus update = new MsgRaceTrackStatus(true);
update.UID = client.Player.UID;
update.Remove(MsgRaceTrackStatus.Freeze);
client.SendScreen(update, true);
}
}
#endregion
هتخش ع constants.cs
هتبحث ع
PKForbiddenMaps
ضيف فيها 1505
=================================================
كدا خلصت اضافتي انا في السورسات مسج
اضافه السورسات العاديه مقدمه من HassanEmprator
======================
الان بي سي
#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
ال في entity
#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
الي في world
#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());
}
}
}
والباقي زي مهو عادي يعني من فوق
=========================================
كده خلصنا من السورس ^_^
نخش ع القاعده
عفواً لايمكن عرض الروابط في الإرشيف
عفواً لايمكن عرض الروابط في الإرشيف
اظن واضح من الصوره
عشان لو الرابط باظ
هتيجي ع entities وتعمل design
وتضيف ده
FreezePoints bigint 16 0 0 0 -1 0 0 0 0 0 0
بعدين
ضيف الان بي سي
2413123 FreezeWar 2 15500 1002 309 245
بعدين الماب
1505 1002 7 0
يارب تكون الاضافه عجبتكو والسلام عليكم
ثانيه
بمناسبه الموضوع ده
عفواً لايمكن عرض الروابط في الإرشيف bse3C878fUGPqnZV2g
انا عملته وخلصته بنسبه 90% او اكتر
عموما هفاجاكم قريب
نخش ع الموضوع فريز وار
الي هي دي
عفواً لايمكن عرض الروابط في الإرشيف
نخش ع الاضافات ع طول
================================================== ==========================================
خش يباشا ع الان بي سي
#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.Ri de);
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;
الي موجود منهم خلاص مش لازم تضيفه
نخش thread
#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.Free ze);
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.Fr eeze);
MsgRaceTrackStatus update = new MsgRaceTrackStatus(true);
update.UID = client.Player.UID;
update.Remove(MsgRaceTrackStatus.Freeze);
client.SendScreen(update, true);
}
}
#endregion
هتخش ع constants.cs
هتبحث ع
PKForbiddenMaps
ضيف فيها 1505
=================================================
كدا خلصت اضافتي انا في السورسات مسج
اضافه السورسات العاديه مقدمه من HassanEmprator
======================
الان بي سي
#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
ال في entity
#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
الي في world
#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());
}
}
}
والباقي زي مهو عادي يعني من فوق
=========================================
كده خلصنا من السورس ^_^
نخش ع القاعده
عفواً لايمكن عرض الروابط في الإرشيف
عفواً لايمكن عرض الروابط في الإرشيف
اظن واضح من الصوره
عشان لو الرابط باظ
هتيجي ع entities وتعمل design
وتضيف ده
FreezePoints bigint 16 0 0 0 -1 0 0 0 0 0 0
بعدين
ضيف الان بي سي
2413123 FreezeWar 2 15500 1002 309 245
بعدين الماب
1505 1002 7 0
يارب تكون الاضافه عجبتكو والسلام عليكم