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); }
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); }
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); }
private void List_SelectedIndexChanged(object sender, EventArgs e) { // Atualiza a lista Selected = Lists.Class[List.SelectedIndex + 1]; Update_Data(); }