Example #1
0
    private static void CreateCharacter_Class()
    {
        short Texture_Num = 0;

        Lists.Structures.Class Class = Lists.Class[Game.CreateCharacter_Class];

        // Textura do personagem
        if (CheckBoxes.Get("GenderMale").Checked&& Class.Tex_Male.Length > 0)
        {
            Texture_Num = Class.Tex_Male[Game.CreateCharacter_Tex];
        }
        else if (Class.Tex_Female.Length > 0)
        {
            Texture_Num = Class.Tex_Female[Game.CreateCharacter_Tex];
        }

        // Desenha o personagem
        if (Texture_Num > 0)
        {
            Render(Tex_Face[Texture_Num], new Point(425, 440));
            Character(Texture_Num, new Point(433, 501), Game.Directions.Down, Game.Animation_Stopped);
        }

        // Desenha o nome da classe
        string Text = Class.Name;

        DrawText(Text, 347 - Tools.MeasureString(Text) / 2, 509, SFML.Graphics.Color.White);

        // Descrição
        DrawText(Class.Description, 282, 526, SFML.Graphics.Color.White, 123);
    }
Example #2
0
    public static void Died(byte Index)
    {
        Lists.Structures.Class Data = Lists.Class[Character(Index).Class];

        // Recupera os vitais
        for (byte n = 0; n < (byte)Game.Vitals.Count; n++)
        {
            Character(Index).Vital[n] = Character(Index).MaxVital(n);
        }

        // Perde 10% da experiência
        Character(Index).Experience /= 10;
        Send.Player_Experience(Index);

        // Retorna para o ínicio
        Character(Index).Direction = (Game.Directions)Data.Spawn_Direction;
        Warp(Index, Data.Spawn_Map, Data.Spawn_X, Data.Spawn_Y);
    }
Example #3
0
    private static void CreateCharacter(byte Index, NetIncomingMessage Data)
    {
        byte Character = Player.FindCharacter(Index, string.Empty);

        // Lê os dados
        string Name = Data.ReadString().Trim();

        // Verifica se está tudo certo
        if (Name.Length < Game.Min_Name_Length || Name.Length > Game.Max_Name_Length)
        {
            Send.Alert(Index, "The character name must contain between " + Game.Min_Name_Length + " and " + Game.Max_Name_Length + " characters.", false);
            return;
        }
        if (Name.Contains(";") || Name.Contains(":"))
        {
            Send.Alert(Index, "Can't contain ';' and ':' in the character name.", false);
            return;
        }
        if (Read.Characters_Name().Contains(";" + Name + ":"))
        {
            Send.Alert(Index, "A character with this name already exists", false);
            return;
        }

        // Define o personagem que será usado
        Lists.Temp_Player[Index].Using = Character;

        // Define os valores iniciais do personagem
        Player.Character(Index).Name  = Name;
        Player.Character(Index).Level = 1;
        Player.Character(Index).Class = Data.ReadByte();
        Lists.Structures.Class Class = Lists.Class[Player.Character(Index).Class];
        Player.Character(Index).Genre = Data.ReadBoolean();
        if (Player.Character(Index).Genre)
        {
            Player.Character(Index).Texture_Num = Class.Tex_Male[Data.ReadByte()];
        }
        else
        {
            Player.Character(Index).Texture_Num = Class.Tex_Female[Data.ReadByte()];
        }
        Player.Character(Index).Attribute = Class.Attribute;
        Player.Character(Index).Map       = Class.Spawn_Map;
        Player.Character(Index).Direction = (Game.Directions)Class.Spawn_Direction;
        Player.Character(Index).X         = Class.Spawn_X;
        Player.Character(Index).Y         = Class.Spawn_Y;
        for (byte i = 0; i < (byte)Game.Vitals.Count; i++)
        {
            Player.Character(Index).Vital[i] = Player.Character(Index).MaxVital(i);
        }
        for (byte i = 0; i < (byte)Class.Item.Length; i++)
        {
            if (Lists.Item[Class.Item[i].Item1].Type == (byte)Game.Items.Equipment && Player.Character(Index).Equipment[Lists.Item[Class.Item[i].Item1].Equip_Type] == 0)
            {
                Player.Character(Index).Equipment[Lists.Item[Class.Item[i].Item1].Equip_Type] = Class.Item[i].Item1;
            }
            else
            {
                Player.GiveItem(Index, Class.Item[i].Item1, Class.Item[i].Item2);
            }
        }

        // Salva a conta
        Write.Character(Name);
        Write.Player(Index);

        // Entra no jogo
        Player.Join(Index);
    }
Example #4
0
 private void List_SelectedIndexChanged(object sender, EventArgs e)
 {
     // Atualiza a lista
     Selected = Lists.Class[List.SelectedIndex + 1];
     Update_Data();
 }