منتدي اكواد

منتدي اكواد (https://code.vpscairo.com/index.php)
-   تطوير سيرفرات كونكر (https://code.vpscairo.com/forumdisplay.php?f=11)
-   -   كـويست WarOfPlayers نـآس كـتير مـحتجآهآ (https://code.vpscairo.com/showthread.php?t=3035)

MaZzGanGYy 2019-11-21 03:09 PM

كـويست WarOfPlayers نـآس كـتير مـحتجآهآ
 
بـسم اللـه الـرحمن الـرحيـم




شـرح الكـويست


بـتبدأ فـ الدقـيقة 50

النـآس بـتخش وبـيبقآ فـ بـولـة الكـل بـيضرب فـيهآآ

الكـويست بـتخليهآ شـغآلة 10 دقآيق

والـي بيـجي آسـمو عـليهآ بـيكسب والنـآس كـلهآ بـتروح الـتون




نـخش فـ الآضآفـة


هـتعمل
كـلآس جـديد بآسـم WarOfPlayers.cs

وتـرمي فـيهم

كود PHP:

//Copyright MaZzGanGy 2019 - 2020
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using MaZzGanGy.Client;
using MaZzGanGy.Interfaces;
using MaZzGanGy.Network.GamePackets;
using System.Drawing;
using MaZzGanGy.Network;
using MaZzGanGy.Game.ConquerStructures;
using System.Threading.Generic;
using MaZzGanGy.Game.ConquerStructures.Society;

namespace 
MaZzGanGy.Game
{
    public class 
WarOfPlayers
    
{
        public static 
SobNpcSpawn Pole;
        public static 
DateTime WarStart;
        public static 
Map Map;
        public static 
bool IsWar false;
        private 
IDisposable Subscriber;

        public 
WarOfPlayers()
        {
            
Map Kernel.Maps[700].MakeDynamicMap();
            
Subscriber World.Subscribe(work1000);

        }
        public 
void work(int time)
        {
            if (
IsWar)
                if (
DateTime.Now WarStart.AddMinutes(10))
                    
EndWar();

            if (
DateTime.Now.Minute == 50 && !IsWar)
                
StartWar();

            if (
IsWar)
            {
                if (
Time32.Now ScoreSendStamp.AddSeconds(3))
                {
                    
ScoreSendStamp Time32.Now;
                    
SendScores();
                }
            }


        }
        public static 
void Join(Client.GameState client//Make By MaZzGanGy
        
{
            if (
IsWar)
            {
                if (
client.AsMember == null)
                    
//client.MessageBox("Please Into in Guild First.");
                    
return;
                var 
cooord Map.RandomCoordinates();
                
client.Entity.Teleport(Map.ID3750);
                
client.Entity.Teleport(Map.ID4637);
                
client.Entity.Teleport(Map.ID4646);
                
client.Entity.Teleport(Map.ID4040);
                
client.Entity.Teleport(Map.ID3740);
                if (!
Map.Floor[client.Entity.Xclient.Entity.YGame.MapObjectType.Entitynull])
                {
                    
client.Entity.PKMode Game.Enums.PKMode.PK;
                    
client.Send(new Data(true) { UID client.Entity.UIDID Data.ChangePKModedwParam = (uint)client.Entity.PKMode });
                }

                
client.Send(Pole);
                
client.OnDisconnect =>
                {
                    
p.Entity.Teleport(1002300278);
                };
            }
        }

        public static 
void StartWar()
        {
            try
            {
                if (
IsWar)
                    
EndWar();
                
PoleKeeper null;
                
IsWar true;
                
WarStart DateTime.Now;
                
//Database.DMaps.LoadMap(1002);
                //Map = Kernel.Maps[1002].MakeDynamicMap();
                
if (!Kernel.Maps.ContainsKey(Map.ID))
                    
Kernel.Maps.Add(Map.IDMap);
                if (!
Database.MapsTable.MapInformations.ContainsKey(Map.ID))
                    
Database.MapsTable.MapInformations.Add(Map.ID, new Database.MapsTable.MapInformation() { ID Map.IDBaseID Map.BaseID });
                
Constants.PKForbiddenMaps.Remove(Map.ID);
                
Constants.PKFreeMaps.Add(Map.ID);
                
Kernel.SendWorldMessage(new Message(" WarOfPlayers War began "Color.WhiteMessage.BroadcastMessage), Program.Values);
                foreach (var 
client in Program.Values)
                    
client.MessageBox("You Want To Join WarOfPlayers and  Got 50.000.000 Cps from the War ?",
                            
=> { p.Entity.Teleport(1002300300); }, null60);

                
#region WarOfPlayersPole // BY MaZzGanGy
                
Pole = new Network.GamePackets.SobNpcSpawn();
                
Pole.UID Map.EntityUIDCounter2.Next;
                
Pole.Mesh 1137;
                
Pole.Type = (Enums.NpcType)10;
                
Pole.50;
                
Pole.50;
                
Pole.ShowName true;
                
Pole.Sort 17;
                
Pole.Hitpoints 20000000;
                
Pole.MaxHitpoints 20000000;
                
Pole.Name "WarOfPlayers";
                
Pole.MapID Map.ID;
                
#endregion

                
Map.AddNpc(Pole);//.Npcs.Add(WarOfPlayersPole.UID, WarOfPlayersPole);
            
}
            catch (
Exception ex)
            {
                
Console.WriteLine(ex);
                
Program.SaveException(ex);
            }
        }

        
#region Score
        
public static SafeDictionary<uintGuild.MemberScores = new SafeDictionary<uintGuild.Member>(100);
        public static 
Guild.Member PoleKeeperCurrentTopLeader;
        private static 
bool changed false;
        private static 
string[] scoreMessages;
        public static 
bool FirstRound false;
        public static 
Time32 ScoreSendStampLastWin;
        public static 
bool Claim
        
{
            
get { return Program.Vars["stwclaim"]; }
            
set Program.Vars["stwclaim"] = value; }
        }
        public static 
uint KeeperID
        
{
            
get { return Program.Vars["stwkeeperid"]; }
            
set Program.Vars["stwkeeperid"] = value; }
        }
        public static 
void Start()
        {
            
Scores = new SafeDictionary<uintGuild.Member>(1000);
            
WarStart DateTime.Now;
            
FirstRound true;
            foreach (
Guild Guild in Kernel.Guilds.Values)
            {
                foreach (
Guild.Member member in Guild.Members.Values)
                    
member.WarScore 0;
            }
            
Claim false;
            
IsWar true;
        }

        public static 
void Reset()
        {
            
Pole.Hitpoints Pole.MaxHitpoints;
            
Update upd = new Update(true);
            
Kernel.SendWorldMessage(updProgram.Values, (ushort)Map.ID);
            
upd.Clear();
            foreach (
Guild Guild in Kernel.Guilds.Values)
            {
                foreach (
Guild.Member member in Guild.Members.Values)
                    
member.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("" PoleKeeper.Name " Win At WarOfPlayers round!"System.Drawing.Color.RedMessage.Center), Program.Values);

                
Pole.Name PoleKeeper.Name;
                if (
PoleKeeper.Client != null)
                {
                    

                    
Game.Statue statue = new Statue(PoleKeeper.Client.Entity.SpawnPacket105176Enums.ConquerAction.Cool, (byte)Enums.ConquerAngle.SouthWest327336true);
                    
statue = new Statue(PoleKeeper.Client.Entity.SpawnPacket105177Enums.ConquerAction.Wave, (byte)Enums.ConquerAngle.SouthEast381260true);

                    
                }
            }
            
Pole.Hitpoints Pole.MaxHitpoints;
            
//   Kernel.SendWorldMessage(Pole, Program.GamePool, (ushort)Map.ID);
            
Reset();
            foreach (var 
c in Program.Values)
                if (
c.Entity.MapID == Map.ID)
                {
                    
//   c.SendScreenSpawn(Pole, true);
                    
c.Screen.FullWipe();
                    
c.Screen.Reload(null);
                }


        }

        public static 
void AddScore(uint addScoreGuild.Member Guild)
        {
            if (
Guild != null)
            {
                
Guild.WarScore += addScore;
                
changed true;
                if (!
Scores.ContainsKey(Guild.ID))
                    
Scores.Add(Guild.IDGuild);
                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 0scoreMessages.Lengthc++)
            {
                
Message msg = new Message(scoreMessages[c], System.Drawing.Color.Red== Message.FirstRightCorner Message.ContinueRightCorner);
                
Kernel.SendWorldMessage(msgProgram.Values, (ushort)Map.ID);
            }
        }

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

            
changed false;
            
scoreMessages ret.ToArray();
        }
        
#endregion
        
public static void EndWar()
        {
            try
            {
                if (
PoleKeeper != null)
                {
                    
Kernel.SendWorldMessage(new Message(PoleKeeper.Name " Winnar & WarOfPlayers End "System.Drawing.Color.WhiteMessage.Center), Program.Values);

                }
                else
                {
                    
Kernel.SendWorldMessage(new Message("No Winner at WarOfPlayers and ended"System.Drawing.Color.RedMessage.Center), Program.Values);

                }
                
Claim true;
                
IsWar false;
                foreach (var 
client in Program.Values)
                    if (
client.Entity.MapID == Map.ID)
                        
client.Entity.Teleport(1002300278);
                if (!
Database.MapsTable.MapInformations.ContainsKey(Map.ID))
                    
Database.MapsTable.MapInformations.Remove(Map.ID);
                
Map.Dispose();
            }
            catch (
Exception ex)
            {
                
Console.WriteLine(ex);
                
Program.SaveException(ex);
            }

        }
    }


هـتبحث عـن فـويد

كود PHP:

void ReceiveAttack(Game.Entity attackerSobNpcSpawn attacked


وتـضيف فـية

كود PHP:

#region WarOfPlayers
            
if (Game.WarOfPlayers.IsWar)
            {
                if (
attacker.MapID == Game.WarOfPlayers.Map.ID)
                {
                    if (
attacked.UID == Game.WarOfPlayers.Pole.UID)
                    {
                        if (
Game.WarOfPlayers.PoleKeeper == attacker.Owner.AsMember)
                            return;
                        if (
attacked.Hitpoints <= damage)
                            
attacked.Hitpoints 0;
                        
Game.WarOfPlayers.AddScore(damageattacker.Owner.AsMember);
                    }
                }
            }
            
#endregion TWin War 

وبـعدين هـتبحث عـن

كود PHP:

public static bool CanAttack(Game.Entity attackerSobNpcSpawn attacked

وتـضيف فـية

كود PHP:

#region WarOfPlayers
            
if (Game.WarOfPlayers.IsWar)
            {
                if (
attacker.MapID == Game.WarOfPlayers.Map.ID)
                {
                    if (
attacker.GuildID == || !Game.WarOfPlayers.IsWar)
                        if (
attacked.UID == Game.WarOfPlayers.Pole.UID)
                            return 
false;
                    if (
Game.WarOfPlayers.PoleKeeper != null)
                    {
                        if (
Game.WarOfPlayers.PoleKeeper == attacker.Owner.AsMember)
                            if (
attacked.UID == Game.WarOfPlayers.Pole.UID)
                                return 
false;
                        if (
Game.WarOfPlayers.PoleKeeper == attacker.Owner.AsMember)
                            if (
attacker.PKMode == Enums.PKMode.Team)
                                return 
false;

                    }
                }
            }
            
#endregion Twinwar 

هـتروح لـكلاس SobNpcSpwan

وتـبحث عـن

كود PHP:

public void Die( 

وتـضيف تـحت القـوس

كود PHP:

#region WarOfPlayers
            
if (Game.WarOfPlayers.Map != null)
            {
                if (
MapID == Game.WarOfPlayers.Map.ID)
                {
                    if (
UID != Game.WarOfPlayers.Pole.UID)
                    {
                        if (
Hitpoints != || Mesh != 251 && Mesh != 281)
                        {
                            if (
Mesh == 241)
                                
Mesh = (ushort)(250 Mesh 10);
                            else
                                
Mesh = (ushort)(280 Mesh 10);

                            
Update upd = new Update(true);
                            
upd.UID UID;
                            
upd.Append(Update.MeshMesh);
                            
killer.Owner.SendScreen(updtrue);
                            
Hitpoints 0;
                        }
                        
Attack attack = new Attack(true);
                        
attack.Attacker killer.UID;
                        
attack.Attacked UID;
                        
attack.AttackType Network.GamePackets.Attack.Kill;
                        
attack.X;
                        
attack.Y;
                        
killer.Owner.Send(attack);
                    }
                }
            }
            
#endregion 

ودآ الآن بي سي

كود PHP:

#region WarOfPlayers
                         
case 411622:
                             {
                                 switch (
npcRequest.OptionID)
                                 {
                                     case 
0:
                                         {
                                             
dialog.Text("Hello there. Do you want to Join The WarOfPlayers?.");
                                             
dialog.Option("Yes Please."1);
                                             
dialog.Option("Cliam Prize."2);
                                             
dialog.Option("Just Passing By!"255);
                                             
dialog.Send();
                                             break;
                                         }
                                     case 
1:
                                         {
                                             if (
WarOfPlayers.IsWar)
                                             {
                                                 
WarOfPlayers.Join(client);
                                             }
                                             else
                                             {
                                                 
dialog.Text("The War Has Not Started Start [xx.50] : [xx.00] Every Hour");
                                                 
dialog.Option("Aww ok!"255);
                                                 
dialog.Send();
                                             }
                                             break;
                                         }
                                     case 
2:
                                         {
                                             if (
WarOfPlayers.KeeperID != && !WarOfPlayers.IsWar && WarOfPlayers.Claim && client.Entity.UID == WarOfPlayers.KeeperID)
                                             {
                                                 
WarOfPlayers.Claim false;
                                                 
WarOfPlayers.KeeperID 0;
                                                 
client.Entity.ConquerPoints += 50000000;
                                                 
//client.Entity.BoundCps += 50000;
                                                 
MaZzGanGy.Kernel.SendWorldMessage(new Message(" Congratulations ! " client.Entity.Name "  has Claimed WarOfPlayers Prize [50.000.000] ConquerPoints"System.Drawing.Color.WhiteMessage.Center), Program.Values);
                                             }
                                             else
                                             {
                                                 
dialog.Text("Sorry you dont have Any Prize to claim only CL of the winner guild can claim Prize After CW");
                                                 
dialog.Option("Ahh."255);
                                                 
dialog.Send();
                                             }

                                             break;
                                         }
                                 }
                                 break;
                             }
                         
#endregion 

هـتروح عـ World

هـتبحث عـن

كود PHP:

void CreateTournaments() 

وتـضيف فـية

كود PHP:

new Game.WarOfPlayers(); 



صـورة

عفواً لايمكن عرض الروابط إلا بعد الرد على الموضوع

وبس كدا

ومـبروك عـليك الكـويست (:

محمد ياسر 2019-11-21 03:29 PM

رد: كـويست WarOfPlayers نـآس كـتير مـحتجآهآ
 
عاش استمر

Hassan Emprator 2019-11-21 03:29 PM

رد: كـويست WarOfPlayers نـآس كـتير مـحتجآهآ
 
عاش يحب الله ينور عليك

Hassan Emprator 2019-11-21 03:29 PM

رد: كـويست WarOfPlayers نـآس كـتير مـحتجآهآ
 
بس طلعت كويسته عاديه انا بشوفها في سورسات كتير بس بحسبها كويست جامده بس طلعت هايفه شويه

MaZzGanGYy 2019-11-21 03:33 PM

رد: كـويست WarOfPlayers نـآس كـتير مـحتجآهآ
 
اقتباس:

المشاركة الأصلية كتبت بواسطة hassan emprator (المشاركة 22591)
بس طلعت كويسته عاديه انا بشوفها في سورسات كتير بس بحسبها كويست جامده بس طلعت هايفه شويه

شـوفتهآ فـي آنهي سـورس ! دي مكنتش مـوجودة الا فـ اليكـس بس ! !

ومتعملتش قـبل كدآ آصـلآ

ومـعلش آنـآ بـحب الهـيآفة

محمد ياسر 2019-11-21 03:37 PM

رد: كـويست WarOfPlayers نـآس كـتير مـحتجآهآ
 
اقتباس:

المشاركة الأصلية كتبت بواسطة hassan emprator (المشاركة 22591)
بس طلعت كويسته عاديه انا بشوفها في سورسات كتير بس بحسبها كويست جامده بس طلعت هايفه شويه

معلش ياعم المشرف انا بحب الهيافه ههههههه علي الاقل انت منزلتهاش

Hassan Emprator 2019-11-21 03:50 PM

رد: كـويست WarOfPlayers نـآس كـتير مـحتجآهآ
 
اقتباس:

المشاركة الأصلية كتبت بواسطة hazem (المشاركة 22593)
معلش ياعم المشرف انا بحب الهيافه ههههههه علي الاقل انت منزلتهاش



هههههههههه مش عشان انا منلزتهاش ولله حاجه انا كنت بشوفها في سورسات عاديه بس ايه


بحسب انها كويسته كبيره وفاجره كدا فا لم الشوفت الصوره قولت انها زي اي كويسته عاديه :d

Hassan Emprator 2019-11-21 03:50 PM

رد: كـويست WarOfPlayers نـآس كـتير مـحتجآهآ
 
اقتباس:

المشاركة الأصلية كتبت بواسطة MaZzGanGYy (المشاركة 22592)
شـوفتهآ فـي آنهي سـورس ! دي مكنتش مـوجودة الا فـ اليكـس بس ! !

ومتعملتش قـبل كدآ آصـلآ

ومـعلش آنـآ بـحب الهـيآفة

مش عا هيافه ولله يحب انا بشوفها في سورسات عاديه كتير ولله بس عاش

:p

midoazoz 2019-11-21 04:37 PM

رد: كـويست WarOfPlayers نـآس كـتير مـحتجآهآ
 
هي فعلا كويسته عادي جدا يعني وسهله
بس مشكوووور يا صحبي 😍❤️

Hassan Emprator 2019-11-21 04:51 PM

رد: كـويست WarOfPlayers نـآس كـتير مـحتجآهآ
 
اقتباس:

المشاركة الأصلية كتبت بواسطة midoazoz (المشاركة 22597)
هي فعلا كويسته عادي جدا يعني وسهله
بس مشكوووور يا صحبي 😍❤️


اها كويس انك متوافق معايا في الرائي:surrender:


الساعة الآن 06:22 AM

مرحبا بكم في منتدي اكواد لتطوير الالعاب