المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : مشكل في سورس MR_ZeZOo


Mawdo3jded
2019-12-10, 06:55 PM
عفواً لايمكن عرض الروابط في الإرشيف

هريحك خالص علشان ميجيش ارور تاني لما تمسح ملف الكلان وار ال بيجي من الورد ابعت عن ملف UnoinWar.cs هتمسح كل ال فيه وهضيف دول وكل سنه وانت طيب خلاص كده المشكله

// * Created by ZeZoOo
// * Copyright © 2020
// * All rights reserved Mr.ZeZoOo - Project
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Mr_ZeZo.Network.GamePackets;
using Mr_ZeZo.Database;

namespace Mr_ZeZo.Game
{
public class ClanWar
{
public static SobNpcSpawn Pole;
public static SafeDictionary<uint, Clan> Scores = new SafeDictionary<uint, Clan>(100);
public static bool IsWar = false, FirstRound = false;
public static Time32 ScoreSendStamp, LastWin;
public static Clan PoleKeeper, CurrentTopLeader;
private static bool changed = false;
private static string[] scoreMessages;
public static DateTime StartTime;
public static bool Claim
{
get { return Program.Vars["cwclaim"]; }
set { Program.Vars["cwclaim"] = value; }
}
public static uint KeeperID
{
get { return Program.Vars["cwkeeperid"]; }
set { Program.Vars["cwkeeperid"] = value; }
}
public static void Initiate()
{
Database.DMaps.LoadMap(1509);
var Map = Kernel.Maps[1509];
Pole = (SobNpcSpawn)Map.Npcs[812];
}
public static void Start()
{
Scores = new SafeDictionary<uint, Clan>(100);
StartTime = DateTime.Now;
FirstRound = true;
foreach (Clan clan in Kernel.Clans.Values)
{
clan.WarScore = 0;
}
Claim = false;
IsWar = true;
}

public static void Reset()
{
Scores = new SafeDictionary<uint, Clan>(100);
Pole.Hitpoints = Pole.MaxHitpoints;

foreach (Clan clan in Kernel.Clans.Values)
{
clan.WarScore = 0;
}

IsWar = true;
}

public static void FinishRound()
{
LastWin = Time32.Now;

FirstRound = false;
SortScores(out PoleKeeper);
if (PoleKeeper != null)
{
KeeperID = PoleKeeper.ID;
Pole.Name = PoleKeeper.Name;
}
Pole.Hitpoints = Pole.MaxHitpoints;
Kernel.SendWorldMessage(Pole, Program.Values, (ushort)1509);
Reset();
}

public static void End()
{
if (PoleKeeper != null)
{
Kernel.SendWorldMessage(new Message("The Union, " + PoleKeeper.Name + ", owned by " + PoleKeeper.LeaderName + " has won " + rates.Clanwarday + " cps!---Clan war has ended!", System.Drawing.Color.White, Message.Center), Program.Values);

PoleKeeper.PoleKeeper = true;
}
else
{
Kernel.SendWorldMessage(new Message(" Union has ended and there was no winner ", System.Drawing.Color.Red, Message.Center), Program.Values);

}
Claim = true;
IsWar = false;
UpdatePole(Pole);
}

public static void AddScore(uint addScore, Clan clan)
{
if (clan != null)
{
clan.WarScore += addScore;
changed = true;
if (!Scores.ContainsKey(clan.ID))
Scores.Add(clan.ID, clan);
if ((int)Pole.Hitpoints <= 0)
{
FinishRound();

return;
}
}
}

public static void SendScores()
{
if (scoreMessages == null)
scoreMessages = new string[0];
if (Scores.Count == 0)
return;
if (changed)
SortScores(out CurrentTopLeader);

for (int c = 0; c < scoreMessages.Length; c++)
{
Message msg = new Message(scoreMessages[c], System.Drawing.Color.Red, c == 0 ? Message.FirstRightCorner : Message.ContinueRightCorner);
Kernel.SendWorldMessage(msg, Program.Values, (ushort)1510);
}
}

private static void SortScores(out Clan winner)
{
winner = null;
List<string> ret = new List<string>();
int Place = 0;
foreach (Clan clan in Scores.Values.OrderByDescending((p) => p.WarScore))
{
if (Place == 0)
winner = clan;
string str = "No " + (Place + 1).ToString() + ": " + clan.Name + "(" + clan.WarScore + ")";
ret.Add(str);
Place++;
if (Place == 4)
break;
}

changed = false;
scoreMessages = ret.ToArray();
}

private static void UpdatePole(SobNpcSpawn pole)
{
new Database.MySqlCommand(Mr_ZeZo.Database.MySqlComman dType.UPDATE)
.Update("sobnpcs").Set("name", pole.Name).Set("life", Pole.Hitpoints).Where("id", pole.UID).Execute();
}
}
public class UnionWar
{
public static SobNpcSpawn Pole;
public static SafeDictionary<uint, Mr_ZeZo.Network.GamePackets.Union.UnionClass> Scores = new SafeDictionary<uint, Mr_ZeZo.Network.GamePackets.Union.UnionClass>(100);
public static bool IsWar = false, FirstRound = false;
public static Time32 ScoreSendStamp, LastWin;
public static Mr_ZeZo.Network.GamePackets.Union.UnionClass PoleKeeper, CurrentTopLeader;
private static string[] scoreMessages;
public static DateTime StartTime;
public static bool Claim
{
get { return Program.Vars["uwclaim"]; }
set { Program.Vars["uwclaim"] = value; }
}
public static uint KeeperID
{
get { return Program.Vars["uwkeeperid"]; }
set { Program.Vars["uwkeeperid"] = value; }
}
public static void Initiate()
{
Database.DMaps.LoadMap(1510);
var Map = Kernel.Maps[1510];
Pole = (SobNpcSpawn)Map.Npcs[817];
}
public static void Start()
{
Scores = new SafeDictionary<uint, Mr_ZeZo.Network.GamePackets.Union.UnionClass>(100);
StartTime = DateTime.Now;
Kernel.SendWorldMessage(new Message("Union war has began!", System.Drawing.Color.Red, Message.Center), Program.Values);
FirstRound = true;
foreach (Mr_ZeZo.Network.GamePackets.Union.UnionClass clan in Kernel.Unions.Values)
{
clan.WarScore = 0;
}
Claim = false;
IsWar = true;
}

public static void Reset()
{
Scores = new SafeDictionary<uint, Mr_ZeZo.Network.GamePackets.Union.UnionClass>(100);
Pole.Hitpoints = Pole.MaxHitpoints;

foreach (Mr_ZeZo.Network.GamePackets.Union.UnionClass clan in Kernel.Unions.Values)
{
clan.WarScore = 0;
}

IsWar = true;
}

public static void FinishRound()
{
LastWin = Time32.Now;

FirstRound = false;
SortScores(out PoleKeeper);
if (PoleKeeper != null)
{
KeeperID = PoleKeeper.ID;
Kernel.SendWorldMessage(new Message("The Union, " + PoleKeeper.Name + ", owned by " + PoleKeeper.LeaderName + " has won this Union war round", System.Drawing.Color.Red, Message.Center), Program.Values);

Pole.Name = PoleKeeper.Name;
}
Pole.Hitpoints = Pole.MaxHitpoints;
SendScreen(Pole.ToArray());
Kernel.SendWorldMessage(Pole, Program.Values, (ushort)1510);
Reset();
}

public static void End()
{
if (PoleKeeper != null)
{
Mr_ZeZo.Kernel.SendWorldMessage(new Message(" The Union " + PoleKeeper.Name + " claimed the prize [250.000] ConquerPoints for winning the UnionWar ", System.Drawing.Color.Black, Message.Center), Program.Values);
PoleKeeper.PoleKeeper = true;
}
else
{
Kernel.SendWorldMessage(new Message(" Union war has ended and there was no winner ", System.Drawing.Color.Red, Message.Center), Program.Values);

}
Claim = true;
IsWar = false;
UpdatePole(Pole);
}
public static void SendScreen(byte[] buffer)
{
foreach (Client.GameState client in Program.Values)
{

if (client != null)
{
if (client.Player != null)
{
{
if (Kernel.GetDistance(client.Player.X, client.Player.Y, Pole.X, Pole.Y) > 18 && client.Player.MapID == 1510)
{
continue;
}
client.Send(buffer);
}
}
}
}
}
public static void AddScore(uint addScore, Mr_ZeZo.Network.GamePackets.Union.UnionClass clan)
{
if (clan != null)
{
clan.WarScore += addScore;
if (!Scores.ContainsKey(clan.ID))
Scores.Add(clan.ID, clan);
SendScores();
if ((int)Pole.Hitpoints <= 0)
{
FinishRound();

return;
}
}
}

public static void SendScores()
{
if (scoreMessages == null)
scoreMessages = new string[0];
if (Scores.Count == 0)
return;
for (int c = 0; c < scoreMessages.Length; c++)
{
Message msg = new Message(scoreMessages[c], System.Drawing.Color.Red, c == 0 ? Message.FirstRightCorner : Message.ContinueRightCorner);
Kernel.SendWorldMessage(msg, Program.Values, (ushort)1510);
}
}

private static void SortScores(out Mr_ZeZo.Network.GamePackets.Union.UnionClass winner)
{
winner = null;
List<string> ret = new List<string>();
int Place = 0;
foreach (Mr_ZeZo.Network.GamePackets.Union.UnionClass clan in Scores.Values.OrderByDescending((p) => p.WarScore))
{
if (Place == 0)
winner = clan;
string str = "No " + (Place + 1).ToString() + ": " + clan.Name + "(" + clan.WarScore + ")";
ret.Add(str);
Place++;
if (Place == 4)
break;
}

scoreMessages = ret.ToArray();
}

private static void UpdatePole(SobNpcSpawn pole)
{
new Database.MySqlCommand(Mr_ZeZo.Database.MySqlComman dType.UPDATE)
.Update("sobnpcs").Set("name", pole.Name).Set("life", Pole.Hitpoints).Where("id", pole.UID).Execute();
}
}
}


انا ممسحتش الكلان وار ؟ وجربت اعمل الحل الي بتقول عليه امسح كل ال في كلاس الuoinwar
وحتيط الاكود الي فوق وبردو بيجي الاور بس انا ممسحش الكلان واره ؟ هوه الكلان وار مش شغال ؟ امسحو ليه انا مش عاوز امسحو وعاوز احل الارور ؟

Mawdo3jded
2019-12-10, 07:00 PM
وفيه ارور كمان في التيم بك ؟؟؟

Alaa Ghanem
2019-12-11, 01:30 AM
بص ولا انا ممسحتش الكلان وار بس حطيت الكود الي فوق في كلاس ال UnionWar.cs والايرور اتشال بس المشكلة في البوله بقا مبتضربش

Tefa
2019-12-11, 02:34 AM
رجاء عدم وضع اكثر من مشكلة في الموضوع و يتابع فقك صاحب المشكله رجاء توضيح الاسطر التي تسبب الايرور

Alaa Ghanem
2019-12-11, 07:08 AM
خد الحل يا عم بالترتيب
هتدخل علي كلاس World.cs
هتبحث عن ده
#region clanwar
لقيتو ؟؟
اقفلو من السالب -
وامسحو
وبعدين افتح كلاس UnionWar.cs
هتمسح كل الي فيه وتحط ده
// * Created by ZeZoOo
// * Copyright © 2020
// * All rights reserved Mr.ZeZoOo - Project
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Mr_ZeZo.Network.GamePackets;
using Mr_ZeZo.Database;

namespace Mr_ZeZo.Game
{
public class ClanWar
{
public static SobNpcSpawn Pole;
public static SafeDictionary<uint, Clan> Scores = new SafeDictionary<uint, Clan>(100);
public static bool IsWar = false, FirstRound = false;
public static Time32 ScoreSendStamp, LastWin;
public static Clan PoleKeeper, CurrentTopLeader;
private static bool changed = false;
private static string[] scoreMessages;
public static DateTime StartTime;
public static bool Claim
{
get { return Program.Vars["cwclaim"]; }
set { Program.Vars["cwclaim"] = value; }
}
public static uint KeeperID
{
get { return Program.Vars["cwkeeperid"]; }
set { Program.Vars["cwkeeperid"] = value; }
}
public static void Initiate()
{
Database.DMaps.LoadMap(1509);
var Map = Kernel.Maps[1509];
Pole = (SobNpcSpawn)Map.Npcs[812];
}
public static void Start()
{
Scores = new SafeDictionary<uint, Clan>(100);
StartTime = DateTime.Now;
FirstRound = true;
foreach (Clan clan in Kernel.Clans.Values)
{
clan.WarScore = 0;
}
Claim = false;
IsWar = true;
}

public static void Reset()
{
Scores = new SafeDictionary<uint, Clan>(100);
Pole.Hitpoints = Pole.MaxHitpoints;

foreach (Clan clan in Kernel.Clans.Values)
{
clan.WarScore = 0;
}

IsWar = true;
}

public static void FinishRound()
{
LastWin = Time32.Now;

FirstRound = false;
SortScores(out PoleKeeper);
if (PoleKeeper != null)
{
KeeperID = PoleKeeper.ID;
Pole.Name = PoleKeeper.Name;
}
Pole.Hitpoints = Pole.MaxHitpoints;
Kernel.SendWorldMessage(Pole, Program.Values, (ushort)1509);
Reset();
}

public static void End()
{
if (PoleKeeper != null)
{
Kernel.SendWorldMessage(new Message("The Union, " + PoleKeeper.Name + ", owned by " + PoleKeeper.LeaderName + " has won " + rates.Clanwarday + " cps!---Clan war has ended!", System.Drawing.Color.White, Message.Center), Program.Values);

PoleKeeper.PoleKeeper = true;
}
else
{
Kernel.SendWorldMessage(new Message(" Union has ended and there was no winner ", System.Drawing.Color.Red, Message.Center), Program.Values);

}
Claim = true;
IsWar = false;
UpdatePole(Pole);
}

public static void AddScore(uint addScore, Clan clan)
{
if (clan != null)
{
clan.WarScore += addScore;
changed = true;
if (!Scores.ContainsKey(clan.ID))
Scores.Add(clan.ID, clan);
if ((int)Pole.Hitpoints <= 0)
{
FinishRound();

return;
}
}
}

public static void SendScores()
{
if (scoreMessages == null)
scoreMessages = new string[0];
if (Scores.Count == 0)
return;
if (changed)
SortScores(out CurrentTopLeader);

for (int c = 0; c < scoreMessages.Length; c++)
{
Message msg = new Message(scoreMessages[c], System.Drawing.Color.Red, c == 0 ? Message.FirstRightCorner : Message.ContinueRightCorner);
Kernel.SendWorldMessage(msg, Program.Values, (ushort)1510);
}
}

private static void SortScores(out Clan winner)
{
winner = null;
List<string> ret = new List<string>();
int Place = 0;
foreach (Clan clan in Scores.Values.OrderByDescending((p) => p.WarScore))
{
if (Place == 0)
winner = clan;
string str = "No " + (Place + 1).ToString() + ": " + clan.Name + "(" + clan.WarScore + ")";
ret.Add(str);
Place++;
if (Place == 4)
break;
}

changed = false;
scoreMessages = ret.ToArray();
}

private static void UpdatePole(SobNpcSpawn pole)
{
new Database.MySqlCommand(Mr_ZeZo.Database.MySqlComman dType.UPDATE)
.Update("sobnpcs").Set("name", pole.Name).Set("life", Pole.Hitpoints).Where("id", pole.UID).Execute();
}
}
public class UnionWar
{
public static SobNpcSpawn Pole;
public static SafeDictionary<uint, Mr_ZeZo.Network.GamePackets.Union.UnionClass> Scores = new SafeDictionary<uint, Mr_ZeZo.Network.GamePackets.Union.UnionClass>(100);
public static bool IsWar = false, FirstRound = false;
public static Time32 ScoreSendStamp, LastWin;
public static Mr_ZeZo.Network.GamePackets.Union.UnionClass PoleKeeper, CurrentTopLeader;
private static string[] scoreMessages;
public static DateTime StartTime;
public static bool Claim
{
get { return Program.Vars["uwclaim"]; }
set { Program.Vars["uwclaim"] = value; }
}
public static uint KeeperID
{
get { return Program.Vars["uwkeeperid"]; }
set { Program.Vars["uwkeeperid"] = value; }
}
public static void Initiate()
{
Database.DMaps.LoadMap(1510);
var Map = Kernel.Maps[1510];
Pole = (SobNpcSpawn)Map.Npcs[817];
}
public static void Start()
{
Scores = new SafeDictionary<uint, Mr_ZeZo.Network.GamePackets.Union.UnionClass>(100);
StartTime = DateTime.Now;
Kernel.SendWorldMessage(new Message("Union war has began!", System.Drawing.Color.Red, Message.Center), Program.Values);
FirstRound = true;
foreach (Mr_ZeZo.Network.GamePackets.Union.UnionClass clan in Kernel.Unions.Values)
{
clan.WarScore = 0;
}
Claim = false;
IsWar = true;
}

public static void Reset()
{
Scores = new SafeDictionary<uint, Mr_ZeZo.Network.GamePackets.Union.UnionClass>(100);
Pole.Hitpoints = Pole.MaxHitpoints;

foreach (Mr_ZeZo.Network.GamePackets.Union.UnionClass clan in Kernel.Unions.Values)
{
clan.WarScore = 0;
}

IsWar = true;
}

public static void FinishRound()
{
LastWin = Time32.Now;

FirstRound = false;
SortScores(out PoleKeeper);
if (PoleKeeper != null)
{
KeeperID = PoleKeeper.ID;
Kernel.SendWorldMessage(new Message("The Union, " + PoleKeeper.Name + ", owned by " + PoleKeeper.LeaderName + " has won this Union war round", System.Drawing.Color.Red, Message.Center), Program.Values);

Pole.Name = PoleKeeper.Name;
}
Pole.Hitpoints = Pole.MaxHitpoints;
SendScreen(Pole.ToArray());
Kernel.SendWorldMessage(Pole, Program.Values, (ushort)1510);
Reset();
}

public static void End()
{
if (PoleKeeper != null)
{
Mr_ZeZo.Kernel.SendWorldMessage(new Message(" The Union " + PoleKeeper.Name + " claimed the prize [250.000] ConquerPoints for winning the UnionWar ", System.Drawing.Color.Black, Message.Center), Program.Values);
PoleKeeper.PoleKeeper = true;
}
else
{
Kernel.SendWorldMessage(new Message(" Union war has ended and there was no winner ", System.Drawing.Color.Red, Message.Center), Program.Values);

}
Claim = true;
IsWar = false;
UpdatePole(Pole);
}
public static void SendScreen(byte[] buffer)
{
foreach (Client.GameState client in Program.Values)
{

if (client != null)
{
if (client.Player != null)
{
{
if (Kernel.GetDistance(client.Player.X, client.Player.Y, Pole.X, Pole.Y) > 18 && client.Player.MapID == 1510)
{
continue;
}
client.Send(buffer);
}
}
}
}
}
public static void AddScore(uint addScore, Mr_ZeZo.Network.GamePackets.Union.UnionClass clan)
{
if (clan != null)
{
clan.WarScore += addScore;
if (!Scores.ContainsKey(clan.ID))
Scores.Add(clan.ID, clan);
SendScores();
if ((int)Pole.Hitpoints <= 0)
{
FinishRound();

return;
}
}
}

public static void SendScores()
{
if (scoreMessages == null)
scoreMessages = new string[0];
if (Scores.Count == 0)
return;
for (int c = 0; c < scoreMessages.Length; c++)
{
Message msg = new Message(scoreMessages[c], System.Drawing.Color.Red, c == 0 ? Message.FirstRightCorner : Message.ContinueRightCorner);
Kernel.SendWorldMessage(msg, Program.Values, (ushort)1510);
}
}

private static void SortScores(out Mr_ZeZo.Network.GamePackets.Union.UnionClass winner)
{
winner = null;
List<string> ret = new List<string>();
int Place = 0;
foreach (Mr_ZeZo.Network.GamePackets.Union.UnionClass clan in Scores.Values.OrderByDescending((p) => p.WarScore))
{
if (Place == 0)
winner = clan;
string str = "No " + (Place + 1).ToString() + ": " + clan.Name + "(" + clan.WarScore + ")";
ret.Add(str);
Place++;
if (Place == 4)
break;
}

scoreMessages = ret.ToArray();
}

private static void UpdatePole(SobNpcSpawn pole)
{
new Database.MySqlCommand(Mr_ZeZo.Database.MySqlComman dType.UPDATE)
.Update("sobnpcs").Set("name", pole.Name).Set("life", Pole.Hitpoints).Where("id", pole.UID).Execute();
}
}
}

اشطات كدا بسيطه اهيه
دوس F6 عشان تسيف وبعدين F5 عشان تطبق وتفتح القونصل
اشطا عليك