Jogos Brasil

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

3 participantes

    [PEDIDO] Tempo da GW!

    aloisioXD
    aloisioXD
    Master
    Master


    Mensagens : 726
    Data de inscrição : 23/12/2009
    Especialidade : aloisio

    Personagem
    Experiência:
    [PEDIDO] Tempo da GW! Left_bar_bleue50/50[PEDIDO] Tempo da GW! Empty_bar_bleue  (50/50)

    [PEDIDO] Tempo da GW! Empty [PEDIDO] Tempo da GW!

    Mensagem  aloisioXD Seg Mar 01, 2010 4:13 pm

    pode ser?? quero um patch que tenha o tempo da GW maor doq o que tem
    tipo vc conseguiu colokar para matar o pole 2 vxz ai acaba mais como?
    ch0qu3
    ch0qu3
    Principiante
    Principiante


    Mensagens : 140
    Data de inscrição : 21/02/2010
    Especialidade : Coder C#

    [PEDIDO] Tempo da GW! Empty Re: [PEDIDO] Tempo da GW!

    Mensagem  ch0qu3 Seg Mar 01, 2010 4:21 pm

    aloisioXD escreveu:pode ser?? quero um patch que tenha o tempo da GW maor doq o que tem
    tipo vc conseguiu colokar para matar o pole 2 vxz ai acaba mais como?

    Não é patch, você edita no source.
    Eu faço por um comando tipo
    Código:

    if (GC.AuthInfo.Status == "[GM]")
                    {
    if (Cmd[0] == "/gwon" && !Features.GuildWars.War)
                        Features.GuildWars.StartWar();
                    if (Cmd[0] == "/gwoff" && !Features.GuildWars.War)
                        Features.GuildWars.EndWar();
    }

    Ou você pode editar pelo GuildWars.cs, e colocar dentro do void StartWar o dia para começar e o horário, e depois no void EndWar e colocar o dia e a hora que irá terminá-lo
    aloisioXD
    aloisioXD
    Master
    Master


    Mensagens : 726
    Data de inscrição : 23/12/2009
    Especialidade : aloisio

    Personagem
    Experiência:
    [PEDIDO] Tempo da GW! Left_bar_bleue50/50[PEDIDO] Tempo da GW! Empty_bar_bleue  (50/50)

    [PEDIDO] Tempo da GW! Empty Re: [PEDIDO] Tempo da GW!

    Mensagem  aloisioXD Seg Mar 01, 2010 4:31 pm

    isso quer dizer que vc conseguiu fixar a GW?
    ch0qu3
    ch0qu3
    Principiante
    Principiante


    Mensagens : 140
    Data de inscrição : 21/02/2010
    Especialidade : Coder C#

    [PEDIDO] Tempo da GW! Empty Re: [PEDIDO] Tempo da GW!

    Mensagem  ch0qu3 Seg Mar 01, 2010 4:33 pm

    aloisioXD escreveu:isso quer dizer que vc conseguiu fixar a GW?
    Como assim? A GW não esta bulgada. O que está acontecendo na sua GW?
    aloisioXD
    aloisioXD
    Master
    Master


    Mensagens : 726
    Data de inscrição : 23/12/2009
    Especialidade : aloisio

    Personagem
    Experiência:
    [PEDIDO] Tempo da GW! Left_bar_bleue50/50[PEDIDO] Tempo da GW! Empty_bar_bleue  (50/50)

    [PEDIDO] Tempo da GW! Empty Re: [PEDIDO] Tempo da GW!

    Mensagem  aloisioXD Seg Mar 01, 2010 4:55 pm

    destroi a pole uma vez e ja ganha AFFZ!!"
    ch0qu3
    ch0qu3
    Principiante
    Principiante


    Mensagens : 140
    Data de inscrição : 21/02/2010
    Especialidade : Coder C#

    [PEDIDO] Tempo da GW! Empty Re: [PEDIDO] Tempo da GW!

    Mensagem  ch0qu3 Seg Mar 01, 2010 6:48 pm

    aloisioXD escreveu:destroi a pole uma vez e ja ganha AFFZ!!"
    então amanhã à tarde eu posto pra você o GuildWars.cs
    GW Working XD
    porque tenho escola, e to com sono.
    Ramix
    Ramix
    Moderador
    Moderador


    Mensagens : 1612
    Data de inscrição : 22/11/2009
    Especialidade : Halo Reach

    Personagem
    Experiência:
    [PEDIDO] Tempo da GW! Left_bar_bleue1/1[PEDIDO] Tempo da GW! Empty_bar_bleue  (1/1)

    [PEDIDO] Tempo da GW! Empty Re: [PEDIDO] Tempo da GW!

    Mensagem  Ramix Ter Mar 02, 2010 12:25 am

    o problem e no fim da gw lool so ta definida para ganhar no maximo 2 vezes
    ch0qu3
    ch0qu3
    Principiante
    Principiante


    Mensagens : 140
    Data de inscrição : 21/02/2010
    Especialidade : Coder C#

    [PEDIDO] Tempo da GW! Empty Re: [PEDIDO] Tempo da GW!

    Mensagem  ch0qu3 Ter Mar 02, 2010 8:27 am

    try this GuildWars.cs
    Código:
    using System;
    using System.Collections;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using NewestCOServer.Game;

    namespace NewestCOServer.Features
    {   
        public class GuildWars
        {
            public class GWScore
            {
                public Guild TheGuild;
                public uint Score;
            }
            public struct Pole
            {
                public Location Loc;
                public uint MaxHP;
                public uint CurHP;
                public uint Mesh;
                public uint EntityID;

                public void Spawn(Character C, bool Check)
                {
                    if (C.Loc.Map == Loc.Map && MyMath.InBox(C.Loc.X, C.Loc.Y, Loc.X, Loc.Y, 16) && (!MyMath.InBox(C.Loc.PreviousX, C.Loc.PreviousY, Loc.X, Loc.Y, 16) || !Check))
                    {
                        if (LastWinner == null)
                            C.MyClient.AddSend(Packets.SpawnNPCWithHP(EntityID, (ushort)Mesh, 10, Loc, true, "Pole", CurHP, MaxHP));
                        else
                            C.MyClient.AddSend(Packets.SpawnNPCWithHP(EntityID, (ushort)Mesh, 10, Loc, true, LastWinner.GuildName, CurHP, MaxHP));
                    }
                }
                public void ReSpawn()
                {
                    foreach (Character C in World.H_Chars.Values)
                        if (C.Loc.Map == Loc.Map && MyMath.InBox(C.Loc.X, C.Loc.Y, Loc.X, Loc.Y, 16))
                        {
                            if (LastWinner == null)
                                C.MyClient.AddSend(Packets.SpawnNPCWithHP(EntityID, (ushort)Mesh, 10, Loc, true, "Pole", CurHP, MaxHP));
                            else
                                C.MyClient.AddSend(Packets.SpawnNPCWithHP(EntityID, (ushort)Mesh, 10, Loc, true, LastWinner.GuildName, CurHP, MaxHP));
                        }
                }
                public void TakeAttack(Character C, uint Damage, byte AtkType)
                {
                    if (War && C.MyGuild != null && C.MyGuild != LastWinner)
                    {                   
                        if (AtkType != 21)
                            World.Action(C, Packets.AttackPacket(C.EntityID, EntityID, Loc.X, Loc.Y, Damage, AtkType).Get);
                        if (Damage >= CurHP)
                        {
                            AddScore(C.MyGuild, CurHP);
                            C.AtkMem.Attacking = false;
                            C.AtkMem.Target = 0;
                            World.Action(C, Packets.AttackPacket(C.EntityID, EntityID, Loc.X, Loc.Y, 0, 14).Get);
                            CurHP = MaxHP;                       
                            EndWar();
                        }
                        else
                        {
                            CurHP -= Damage;
                            AddScore(C.MyGuild, Damage);
                        }
                    }
                }
            }
            public struct Gate
            {
                public Location Loc;
                public uint MaxHP;
                public uint CurHP;
                public uint EntityID;
                public uint Mesh;

                public bool Opened
                {
                    set
                    {
                        if (EntityID == 6701)//Left Gate
                        {
                            if (value) Mesh = 250;
                            else Mesh = 240;
                        }
                        else if (EntityID == 6702)//Right Gate
                        {
                            if (value) Mesh = 280;
                            else Mesh = 270;
                        }
                    }
                    get
                    {
                        if (EntityID == 6701)//Left Gate
                        {
                            if (Mesh == 250) return true;
                            else return false;
                        }
                        else if (EntityID == 6702)//Right Gate
                        {
                            if (Mesh == 280) return true;
                            else return false;
                        }
                        return false;
                    }
                }
                public void Spawn(Character C, bool Check)
                {
                    if (C.Loc.Map == Loc.Map && MyMath.InBox(C.Loc.X, C.Loc.Y, Loc.X, Loc.Y, 16) && (!MyMath.InBox(C.Loc.PreviousX, C.Loc.PreviousY, Loc.X, Loc.Y, 16) || !Check))
                        C.MyClient.AddSend(Packets.SpawnNPCWithHP(EntityID, (ushort)Mesh, 26, Loc, true, "Gate", CurHP, MaxHP));
                }
                public void ReSpawn()
                {
                    foreach (Character C in World.H_Chars.Values)
                        if (C.Loc.Map == Loc.Map && MyMath.InBox(C.Loc.X, C.Loc.Y, Loc.X, Loc.Y, 16))
                            C.MyClient.AddSend(Packets.SpawnNPCWithHP(EntityID, (ushort)Mesh, 26, Loc, true, "Gate", CurHP, MaxHP));
                }
                public void TakeAttack(Character C, uint Damage, byte AtkType)
                {
                    if (AtkType != 21)
                        World.Action(C, Packets.AttackPacket(C.EntityID, EntityID, Loc.X, Loc.Y, Damage, AtkType).Get);
                    if (Damage >= CurHP)
                    {
                        C.AtkMem.Attacking = false;
                        C.AtkMem.Target = 0;
                        World.Action(C, Packets.AttackPacket(C.EntityID, EntityID, Loc.X, Loc.Y, 0, 14).Get);
                        Opened = true;
                        ReSpawn();
                    }
                    else
                        CurHP -= Damage;
                }
            }

            public static Pole ThePole;
            public static Gate TheLeftGate;
            public static Gate TheRightGate;

            public static bool War;
            public static Hashtable Scores;
            public static DateTime LastScores;
            public static Guild LastWinner;

            public static void Init()
            {
                War = false;
                Scores = new Hashtable();
                LastScores = DateTime.Now;

                ThePole = new Pole();
                ThePole.EntityID = 6700;
                ThePole.Mesh = 1137;
                ThePole.CurHP = 20000000;
                ThePole.MaxHP = 20000000;
                ThePole.Loc = new Location();
                ThePole.Loc.Map = 1038;
                ThePole.Loc.X = 84;
                ThePole.Loc.Y = 99;

                TheLeftGate = new Gate();
                TheLeftGate.EntityID = 6701;
                TheLeftGate.Opened = false;
                TheLeftGate.MaxHP = 10000000;
                TheLeftGate.CurHP = 10000000;
                TheLeftGate.Loc = new Location();
                TheLeftGate.Loc.Map = 1038;
                TheLeftGate.Loc.X = 163;
                TheLeftGate.Loc.Y = 210;
                TheLeftGate.ReSpawn();

                TheRightGate = new Gate();
                TheRightGate.EntityID = 6702;
                TheRightGate.Opened = false;
                TheRightGate.MaxHP = 10000000;
                TheRightGate.CurHP = 10000000;
                TheRightGate.Loc = new Location();
                TheRightGate.Loc.Map = 1038;
                TheRightGate.Loc.X = 222;
                TheRightGate.Loc.Y = 177;
                TheRightGate.ReSpawn();
            }
            public static void AddScore(Guild G, uint Points)
            {
                if (!Scores.Contains(G.GuildID))
                {
                    GWScore S = new GWScore();
                    S.Score = Points;
                    S.TheGuild = G;
                    Scores.Add(G.GuildID, S);
                }
                else
                {
                    GWScore S = (GWScore)Scores[G.GuildID];
                    S.Score += Points;
                }
            }
            public static string[] ShuffleGuildScores()
            {
                try
                {
                    string[] ret = new string[5];
                    DictionaryEntry[] Vals = new DictionaryEntry[5];

                    for (sbyte i = 0; i < 5; i++)
                    {
                        Vals[i] = new DictionaryEntry();
                        Vals[i].Key = (ushort)0;
                        Vals[i].Value = (uint)0;
                    }

                    foreach (DictionaryEntry Score in Scores)
                    {
                        sbyte Pos = -1;
                        for (sbyte i = 0; i < 5; i++)
                        {
                            if (((GWScore)Score.Value).Score > (uint)Vals[i].Value)
                            {
                                Pos = i;
                                break;
                            }
                        }
                        if (Pos == -1)
                            continue;

                        for (sbyte i = 4; i > Pos; i--)
                            Vals[i] = Vals[i - 1];

                        Vals[Pos] = Score;
                    }

                    for (sbyte i = 0; i < 5; i++)
                    {
                        if ((ushort)Vals[i].Key == 0)
                        {
                            ret[i] = "";
                            continue;
                        }
                        Features.Guild eGuild = (Features.Guild)Features.Guilds.AllTheGuilds[(ushort)Vals[i].Key];
                        ret[i] = "No  " + (i + 1).ToString() + ": " + eGuild.GuildName + "(" + ((GWScore)Vals[i].Value).Score + ")";
                    }

                    return ret;
                }
                catch (Exception Exc) { Program.WriteLine(Exc); return null; }
            }
            public static void SendScores()
            {
                LastScores = DateTime.Now;
                string[] ShuffledScores = ShuffleGuildScores();

                foreach (Character C in World.H_Chars.Values)
                {
                    if (C.Loc.Map == 1038)
                    {
                        byte c = 0;
                        foreach (string t in ShuffledScores)
                        {
                            if (t != "")
                            {
                                if (c == 0)
                                    C.MyClient.AddSend(Packets.ChatMessage(0, "SYSTEM", "ALLUSERS", t, 0x83c, 0));
                                else
                                    C.MyClient.AddSend(Packets.ChatMessage(0, "SYSTEM", "ALLUSERS", t, 0x83d, 0));
                            }
                            c++;
                        }
                    }
                }
            }
            public static void StartWar()
            {           
                Init();
                World.SendMsgToAll("SYSTEM", "Guild War has start!", 2011, 0);
                War = true;
            }       
            public static void EndWar()
            {
                War = false;
                TheLeftGate.Opened = false;
                TheRightGate.Opened = false;
                World.SendMsgToAll("SYSTEM", "Guild War has end!", 2011, 0);
               
                TheLeftGate.CurHP = TheLeftGate.MaxHP;
                TheRightGate.CurHP = TheRightGate.MaxHP;
                TheLeftGate.ReSpawn();
                TheRightGate.ReSpawn();

                GWScore Highest = new GWScore();
                Highest.Score = 0;

                foreach (GWScore Score in Scores.Values)
                {
                    if (Score.Score > Highest.Score)
                        Highest = Score;
                }

                if (Highest.TheGuild != null)
                {
                    LastWinner = Highest.TheGuild;
                    LastWinner.Wins++;
                    ThePole.ReSpawn();
                    World.SendMsgToAll("SYSTEM", Highest.TheGuild.GuildName + " have won!", 2011, 0);
                }

                SendScores();
                Scores = new Hashtable();
            }
        }
    }
    Ramix
    Ramix
    Moderador
    Moderador


    Mensagens : 1612
    Data de inscrição : 22/11/2009
    Especialidade : Halo Reach

    Personagem
    Experiência:
    [PEDIDO] Tempo da GW! Left_bar_bleue1/1[PEDIDO] Tempo da GW! Empty_bar_bleue  (1/1)

    [PEDIDO] Tempo da GW! Empty Re: [PEDIDO] Tempo da GW!

    Mensagem  Ramix Ter Mar 02, 2010 8:28 am

    e a tua gw?? eu vou testar Wink
    ch0qu3
    ch0qu3
    Principiante
    Principiante


    Mensagens : 140
    Data de inscrição : 21/02/2010
    Especialidade : Coder C#

    [PEDIDO] Tempo da GW! Empty Re: [PEDIDO] Tempo da GW!

    Mensagem  ch0qu3 Ter Mar 02, 2010 8:29 am

    Ramix escreveu:e a tua gw?? eu vou testar Wink
    Sim, funciona direitinho...
    Ramix
    Ramix
    Moderador
    Moderador


    Mensagens : 1612
    Data de inscrição : 22/11/2009
    Especialidade : Halo Reach

    Personagem
    Experiência:
    [PEDIDO] Tempo da GW! Left_bar_bleue1/1[PEDIDO] Tempo da GW! Empty_bar_bleue  (1/1)

    [PEDIDO] Tempo da GW! Empty Re: [PEDIDO] Tempo da GW!

    Mensagem  Ramix Ter Mar 02, 2010 8:34 am

    o que acrescentast ao code? ou modificast?
    ch0qu3
    ch0qu3
    Principiante
    Principiante


    Mensagens : 140
    Data de inscrição : 21/02/2010
    Especialidade : Coder C#

    [PEDIDO] Tempo da GW! Empty Re: [PEDIDO] Tempo da GW!

    Mensagem  ch0qu3 Ter Mar 02, 2010 8:42 am

    bom o source antes de mim passou um amigo meu...
    mas, e ai pegou?
    Ramix
    Ramix
    Moderador
    Moderador


    Mensagens : 1612
    Data de inscrição : 22/11/2009
    Especialidade : Halo Reach

    Personagem
    Experiência:
    [PEDIDO] Tempo da GW! Left_bar_bleue1/1[PEDIDO] Tempo da GW! Empty_bar_bleue  (1/1)

    [PEDIDO] Tempo da GW! Empty Re: [PEDIDO] Tempo da GW!

    Mensagem  Ramix Ter Mar 02, 2010 8:44 am

    nao sei xD pq o code e igual ao meu xD
    ch0qu3
    ch0qu3
    Principiante
    Principiante


    Mensagens : 140
    Data de inscrição : 21/02/2010
    Especialidade : Coder C#

    [PEDIDO] Tempo da GW! Empty Re: [PEDIDO] Tempo da GW!

    Mensagem  ch0qu3 Ter Mar 02, 2010 8:45 am

    então eu não sei, vou ver se eu arrumo o meu aqui
    dai qualquer coisa eu posto o novo
    Ramix
    Ramix
    Moderador
    Moderador


    Mensagens : 1612
    Data de inscrição : 22/11/2009
    Especialidade : Halo Reach

    Personagem
    Experiência:
    [PEDIDO] Tempo da GW! Left_bar_bleue1/1[PEDIDO] Tempo da GW! Empty_bar_bleue  (1/1)

    [PEDIDO] Tempo da GW! Empty Re: [PEDIDO] Tempo da GW!

    Mensagem  Ramix Ter Mar 02, 2010 8:49 am

    ummm eu ando a ver no coemu a gw dele para ver qual e o problema aqui
    aloisioXD
    aloisioXD
    Master
    Master


    Mensagens : 726
    Data de inscrição : 23/12/2009
    Especialidade : aloisio

    Personagem
    Experiência:
    [PEDIDO] Tempo da GW! Left_bar_bleue50/50[PEDIDO] Tempo da GW! Empty_bar_bleue  (50/50)

    [PEDIDO] Tempo da GW! Empty Re: [PEDIDO] Tempo da GW!

    Mensagem  aloisioXD Ter Mar 02, 2010 9:56 am

    pegou??
    vout estar akê'
    aloisioXD
    aloisioXD
    Master
    Master


    Mensagens : 726
    Data de inscrição : 23/12/2009
    Especialidade : aloisio

    Personagem
    Experiência:
    [PEDIDO] Tempo da GW! Left_bar_bleue50/50[PEDIDO] Tempo da GW! Empty_bar_bleue  (50/50)

    [PEDIDO] Tempo da GW! Empty Re: [PEDIDO] Tempo da GW!

    Mensagem  aloisioXD Ter Mar 02, 2010 3:20 pm

    ch0qu3 escreveu:try this GuildWars.cs
    Código:
    using System;
    using System.Collections;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using NewestCOServer.Game;

    namespace NewestCOServer.Features
    {   
        public class GuildWars
        {
            public class GWScore
            {
                public Guild TheGuild;
                public uint Score;
            }
            public struct Pole
            {
                public Location Loc;
                public uint MaxHP;
                public uint CurHP;
                public uint Mesh;
                public uint EntityID;

                public void Spawn(Character C, bool Check)
                {
                    if (C.Loc.Map == Loc.Map && MyMath.InBox(C.Loc.X, C.Loc.Y, Loc.X, Loc.Y, 16) && (!MyMath.InBox(C.Loc.PreviousX, C.Loc.PreviousY, Loc.X, Loc.Y, 16) || !Check))
                    {
                        if (LastWinner == null)
                            C.MyClient.AddSend(Packets.SpawnNPCWithHP(EntityID, (ushort)Mesh, 10, Loc, true, "Pole", CurHP, MaxHP));
                        else
                            C.MyClient.AddSend(Packets.SpawnNPCWithHP(EntityID, (ushort)Mesh, 10, Loc, true, LastWinner.GuildName, CurHP, MaxHP));
                    }
                }
                public void ReSpawn()
                {
                    foreach (Character C in World.H_Chars.Values)
                        if (C.Loc.Map == Loc.Map && MyMath.InBox(C.Loc.X, C.Loc.Y, Loc.X, Loc.Y, 16))
                        {
                            if (LastWinner == null)
                                C.MyClient.AddSend(Packets.SpawnNPCWithHP(EntityID, (ushort)Mesh, 10, Loc, true, "Pole", CurHP, MaxHP));
                            else
                                C.MyClient.AddSend(Packets.SpawnNPCWithHP(EntityID, (ushort)Mesh, 10, Loc, true, LastWinner.GuildName, CurHP, MaxHP));
                        }
                }
                public void TakeAttack(Character C, uint Damage, byte AtkType)
                {
                    if (War && C.MyGuild != null && C.MyGuild != LastWinner)
                    {                   
                        if (AtkType != 21)
                            World.Action(C, Packets.AttackPacket(C.EntityID, EntityID, Loc.X, Loc.Y, Damage, AtkType).Get);
                        if (Damage >= CurHP)
                        {
                            AddScore(C.MyGuild, CurHP);
                            C.AtkMem.Attacking = false;
                            C.AtkMem.Target = 0;
                            World.Action(C, Packets.AttackPacket(C.EntityID, EntityID, Loc.X, Loc.Y, 0, 14).Get);
                            CurHP = MaxHP;                       
                            EndWar();
                        }
                        else
                        {
                            CurHP -= Damage;
                            AddScore(C.MyGuild, Damage);
                        }
                    }
                }
            }
            public struct Gate
            {
                public Location Loc;
                public uint MaxHP;
                public uint CurHP;
                public uint EntityID;
                public uint Mesh;

                public bool Opened
                {
                    set
                    {
                        if (EntityID == 6701)//Left Gate
                        {
                            if (value) Mesh = 250;
                            else Mesh = 240;
                        }
                        else if (EntityID == 6702)//Right Gate
                        {
                            if (value) Mesh = 280;
                            else Mesh = 270;
                        }
                    }
                    get
                    {
                        if (EntityID == 6701)//Left Gate
                        {
                            if (Mesh == 250) return true;
                            else return false;
                        }
                        else if (EntityID == 6702)//Right Gate
                        {
                            if (Mesh == 280) return true;
                            else return false;
                        }
                        return false;
                    }
                }
                public void Spawn(Character C, bool Check)
                {
                    if (C.Loc.Map == Loc.Map && MyMath.InBox(C.Loc.X, C.Loc.Y, Loc.X, Loc.Y, 16) && (!MyMath.InBox(C.Loc.PreviousX, C.Loc.PreviousY, Loc.X, Loc.Y, 16) || !Check))
                        C.MyClient.AddSend(Packets.SpawnNPCWithHP(EntityID, (ushort)Mesh, 26, Loc, true, "Gate", CurHP, MaxHP));
                }
                public void ReSpawn()
                {
                    foreach (Character C in World.H_Chars.Values)
                        if (C.Loc.Map == Loc.Map && MyMath.InBox(C.Loc.X, C.Loc.Y, Loc.X, Loc.Y, 16))
                            C.MyClient.AddSend(Packets.SpawnNPCWithHP(EntityID, (ushort)Mesh, 26, Loc, true, "Gate", CurHP, MaxHP));
                }
                public void TakeAttack(Character C, uint Damage, byte AtkType)
                {
                    if (AtkType != 21)
                        World.Action(C, Packets.AttackPacket(C.EntityID, EntityID, Loc.X, Loc.Y, Damage, AtkType).Get);
                    if (Damage >= CurHP)
                    {
                        C.AtkMem.Attacking = false;
                        C.AtkMem.Target = 0;
                        World.Action(C, Packets.AttackPacket(C.EntityID, EntityID, Loc.X, Loc.Y, 0, 14).Get);
                        Opened = true;
                        ReSpawn();
                    }
                    else
                        CurHP -= Damage;
                }
            }

            public static Pole ThePole;
            public static Gate TheLeftGate;
            public static Gate TheRightGate;

            public static bool War;
            public static Hashtable Scores;
            public static DateTime LastScores;
            public static Guild LastWinner;

            public static void Init()
            {
                War = false;
                Scores = new Hashtable();
                LastScores = DateTime.Now;

                ThePole = new Pole();
                ThePole.EntityID = 6700;
                ThePole.Mesh = 1137;
                ThePole.CurHP = 20000000;
                ThePole.MaxHP = 20000000;
                ThePole.Loc = new Location();
                ThePole.Loc.Map = 1038;
                ThePole.Loc.X = 84;
                ThePole.Loc.Y = 99;

                TheLeftGate = new Gate();
                TheLeftGate.EntityID = 6701;
                TheLeftGate.Opened = false;
                TheLeftGate.MaxHP = 10000000;
                TheLeftGate.CurHP = 10000000;
                TheLeftGate.Loc = new Location();
                TheLeftGate.Loc.Map = 1038;
                TheLeftGate.Loc.X = 163;
                TheLeftGate.Loc.Y = 210;
                TheLeftGate.ReSpawn();

                TheRightGate = new Gate();
                TheRightGate.EntityID = 6702;
                TheRightGate.Opened = false;
                TheRightGate.MaxHP = 10000000;
                TheRightGate.CurHP = 10000000;
                TheRightGate.Loc = new Location();
                TheRightGate.Loc.Map = 1038;
                TheRightGate.Loc.X = 222;
                TheRightGate.Loc.Y = 177;
                TheRightGate.ReSpawn();
            }
            public static void AddScore(Guild G, uint Points)
            {
                if (!Scores.Contains(G.GuildID))
                {
                    GWScore S = new GWScore();
                    S.Score = Points;
                    S.TheGuild = G;
                    Scores.Add(G.GuildID, S);
                }
                else
                {
                    GWScore S = (GWScore)Scores[G.GuildID];
                    S.Score += Points;
                }
            }
            public static string[] ShuffleGuildScores()
            {
                try
                {
                    string[] ret = new string[5];
                    DictionaryEntry[] Vals = new DictionaryEntry[5];

                    for (sbyte i = 0; i < 5; i++)
                    {
                        Vals[i] = new DictionaryEntry();
                        Vals[i].Key = (ushort)0;
                        Vals[i].Value = (uint)0;
                    }

                    foreach (DictionaryEntry Score in Scores)
                    {
                        sbyte Pos = -1;
                        for (sbyte i = 0; i < 5; i++)
                        {
                            if (((GWScore)Score.Value).Score > (uint)Vals[i].Value)
                            {
                                Pos = i;
                                break;
                            }
                        }
                        if (Pos == -1)
                            continue;

                        for (sbyte i = 4; i > Pos; i--)
                            Vals[i] = Vals[i - 1];

                        Vals[Pos] = Score;
                    }

                    for (sbyte i = 0; i < 5; i++)
                    {
                        if ((ushort)Vals[i].Key == 0)
                        {
                            ret[i] = "";
                            continue;
                        }
                        Features.Guild eGuild = (Features.Guild)Features.Guilds.AllTheGuilds[(ushort)Vals[i].Key];
                        ret[i] = "No  " + (i + 1).ToString() + ": " + eGuild.GuildName + "(" + ((GWScore)Vals[i].Value).Score + ")";
                    }

                    return ret;
                }
                catch (Exception Exc) { Program.WriteLine(Exc); return null; }
            }
            public static void SendScores()
            {
                LastScores = DateTime.Now;
                string[] ShuffledScores = ShuffleGuildScores();

                foreach (Character C in World.H_Chars.Values)
                {
                    if (C.Loc.Map == 1038)
                    {
                        byte c = 0;
                        foreach (string t in ShuffledScores)
                        {
                            if (t != "")
                            {
                                if (c == 0)
                                    C.MyClient.AddSend(Packets.ChatMessage(0, "SYSTEM", "ALLUSERS", t, 0x83c, 0));
                                else
                                    C.MyClient.AddSend(Packets.ChatMessage(0, "SYSTEM", "ALLUSERS", t, 0x83d, 0));
                            }
                            c++;
                        }
                    }
                }
            }
            public static void StartWar()
            {           
                Init();
                World.SendMsgToAll("SYSTEM", "Guild War has start!", 2011, 0);
                War = true;
            }       
            public static void EndWar()
            {
                War = false;
                TheLeftGate.Opened = false;
                TheRightGate.Opened = false;
                World.SendMsgToAll("SYSTEM", "Guild War has end!", 2011, 0);
               
                TheLeftGate.CurHP = TheLeftGate.MaxHP;
                TheRightGate.CurHP = TheRightGate.MaxHP;
                TheLeftGate.ReSpawn();
                TheRightGate.ReSpawn();

                GWScore Highest = new GWScore();
                Highest.Score = 0;

                foreach (GWScore Score in Scores.Values)
                {
                    if (Score.Score > Highest.Score)
                        Highest = Score;
                }

                if (Highest.TheGuild != null)
                {
                    LastWinner = Highest.TheGuild;
                    LastWinner.Wins++;
                    ThePole.ReSpawn();
                    World.SendMsgToAll("SYSTEM", Highest.TheGuild.GuildName + " have won!", 2011, 0);
                }

                SendScores();
                Scores = new Hashtable();
            }
        }
    }


    só uma coisa a GW presta normalmente !!' tipo das 2 horas de sabado até as 9 da noite do domingo?
    aloisioXD
    aloisioXD
    Master
    Master


    Mensagens : 726
    Data de inscrição : 23/12/2009
    Especialidade : aloisio

    Personagem
    Experiência:
    [PEDIDO] Tempo da GW! Left_bar_bleue50/50[PEDIDO] Tempo da GW! Empty_bar_bleue  (50/50)

    [PEDIDO] Tempo da GW! Empty Re: [PEDIDO] Tempo da GW!

    Mensagem  aloisioXD Ter Mar 02, 2010 3:21 pm

    se prestar advinha?? TANK'S de novo reer
    Ramix
    Ramix
    Moderador
    Moderador


    Mensagens : 1612
    Data de inscrição : 22/11/2009
    Especialidade : Halo Reach

    Personagem
    Experiência:
    [PEDIDO] Tempo da GW! Left_bar_bleue1/1[PEDIDO] Tempo da GW! Empty_bar_bleue  (1/1)

    [PEDIDO] Tempo da GW! Empty Re: [PEDIDO] Tempo da GW!

    Mensagem  Ramix Ter Mar 02, 2010 3:24 pm

    ele ainda vai testar
    ch0qu3
    ch0qu3
    Principiante
    Principiante


    Mensagens : 140
    Data de inscrição : 21/02/2010
    Especialidade : Coder C#

    [PEDIDO] Tempo da GW! Empty Re: [PEDIDO] Tempo da GW!

    Mensagem  ch0qu3 Qui Mar 04, 2010 8:52 am

    aloisioXD escreveu:se prestar advinha?? TANK'S de novo reer
    nope.
    ainda não testei
    Ramix
    Ramix
    Moderador
    Moderador


    Mensagens : 1612
    Data de inscrição : 22/11/2009
    Especialidade : Halo Reach

    Personagem
    Experiência:
    [PEDIDO] Tempo da GW! Left_bar_bleue1/1[PEDIDO] Tempo da GW! Empty_bar_bleue  (1/1)

    [PEDIDO] Tempo da GW! Empty Re: [PEDIDO] Tempo da GW!

    Mensagem  Ramix Qui Mar 04, 2010 8:57 am

    vai com calma choque xD

    faz como eu relax xD
    ch0qu3
    ch0qu3
    Principiante
    Principiante


    Mensagens : 140
    Data de inscrição : 21/02/2010
    Especialidade : Coder C#

    [PEDIDO] Tempo da GW! Empty Re: [PEDIDO] Tempo da GW!

    Mensagem  ch0qu3 Qui Mar 04, 2010 9:13 am

    Ramix escreveu:vai com calma choque xD

    faz como eu relax xD
    UAHUAHAHUA
    calma, é o que eu não estou tendo meus colegas da school me enchem o saco para que o CO fique pronto logo Mad
    Ramix
    Ramix
    Moderador
    Moderador


    Mensagens : 1612
    Data de inscrição : 22/11/2009
    Especialidade : Halo Reach

    Personagem
    Experiência:
    [PEDIDO] Tempo da GW! Left_bar_bleue1/1[PEDIDO] Tempo da GW! Empty_bar_bleue  (1/1)

    [PEDIDO] Tempo da GW! Empty Re: [PEDIDO] Tempo da GW!

    Mensagem  Ramix Qui Mar 04, 2010 9:20 am

    manda-os dar uma volta eles que façam.... e mim ninguem me exige nada -.- eu e que decido o que faço e o que nao faço loool
    ch0qu3
    ch0qu3
    Principiante
    Principiante


    Mensagens : 140
    Data de inscrição : 21/02/2010
    Especialidade : Coder C#

    [PEDIDO] Tempo da GW! Empty Re: [PEDIDO] Tempo da GW!

    Mensagem  ch0qu3 Qui Mar 04, 2010 7:02 pm

    Amanhã eu fixo isso e posto aqui Razz
    É uma linha boba dentro do void EndWar()
    Ramix
    Ramix
    Moderador
    Moderador


    Mensagens : 1612
    Data de inscrição : 22/11/2009
    Especialidade : Halo Reach

    Personagem
    Experiência:
    [PEDIDO] Tempo da GW! Left_bar_bleue1/1[PEDIDO] Tempo da GW! Empty_bar_bleue  (1/1)

    [PEDIDO] Tempo da GW! Empty Re: [PEDIDO] Tempo da GW!

    Mensagem  Ramix Sex Mar 05, 2010 2:36 am

    uma e pouca xD

    tens que modificar tbm o gw... pq tem coisa mal la xD

    Conteúdo patrocinado


    [PEDIDO] Tempo da GW! Empty Re: [PEDIDO] Tempo da GW!

    Mensagem  Conteúdo patrocinado


      Data/hora atual: Ter Nov 26, 2024 7:22 pm