Me pediram a luz aqui, e vou tentar dar.
Primeiramente eu nunca tentei fazer algo do tipo.. e nem mesmo imagino a maneira correta ou "melhor de se montar isso.
Com minha ínfima experiência; direi o que eu tentaria fazer; Creio que dê certo.
1º Passo: Modificar no client algo que é chamado de:
- Código:
' Menu states
È localizado no ModConstants.
Ele organiza a base para os estados do Menu no Client. Adicionaria mais um ai, e o reorganizaria.. Vamos chamar em meu exemplo de
"LobbyChars".
2º Passo: Procurar pela:
- Código:
Public Sub MenuState(ByVal state As Long)
Ela processa os states do "Menu States", assim eu faria a modificação para que quando o login_state fosse efetivado, mandasse para esse LobbyChars que eu teria criado.
3º Passo : Modificaria agora o AddChar
- Código:
Sub AddChar (ByVal index As Long, ByVal Name As String, ByVal Sex As Byte, ByVal ClassNum As Long, ByVal Sprite As Long)
Criaria ai um novo Byval, por exemplo... "Slot"?
Para toda vez que fosse chamada a AddChar, ele enviar junto um valor de Slot, que seria o Slot onde o personagem Ficaria no LobbyChar.
Seria a Váriavel inicial que variaria os Personagens por assim dizer.
Teria de ser criado também, outras funções usando como base a FindChar, ou SavePlayer, adicionando tbm váriaveis para os Slots, ex:
- Código:
SavePlayer(index, 3)
Index sendo o pedido e base da Conta, o 3 sendo o Slot... Assim teria que parametrar o jogo todo decorrente a esses "Slots" Adicionais.
Eu transformaria o PlayerRec, em um "Rec Mãe" onde dentro dele haveria "Slots X" em Recs.
Ex:
- Código:
Private Type PlayerRec
PlayerSlots(1 To MAX_SLOTSCHARS) As PlayerSlotRec
End Type.
Assim transformaria em base, o PlayerRec, o "Save" da conta em um save global para vários outros Slots.
E dentro desse "PlayerSlotRec" ficaria:
- Código:
Private Type PlayerSlotRec
Name as String...
Sex as Byte...
As informações que normalmente estariam no PlayerRec (Que teriamos transformado no Rec Mãe)
Bom, minha visão sobre isso é dessa forma. Nunca peguei uma engine que tivesse uma criação variada de personagens. Nem mesmo parei para desenvolver porque nunca me atraiu esse tipo de ideia ><
Desenvolvo um Sword Art, então é um player e fim! kkkkkkkkk Tudo que desenvolvo é pensando no firmamento e realidade usando como base o Tema do arco 1.
Well... Creio que o Doolly Love, ou até mesmo Dragonick saberiam bem mais como exatamente fazer, não sei se meu jeito pensado agora está correto, mas eu Creio que se fazendo de maneira certa, irá sim dar certo; Mas é um trabalho... imenso.
=P
Bom, Brave Shine para você meu amigo. E um bju do Profa ~
###### Edit
Pensando em lhe ajudar >< Abri uma Engine de Elysium (é elysium ;v, lembrei que ali eles mostravam os chars via um ListBox; Porém tem a definição de varios chars, ja em base no Elysium.)
Fui procurar esse meu processo, e olhe:
- Código:
Call AddChar(Index, Name, Sex, Class, CharNum)
O AddChar deles, salva também pelo CharNum.
Já em relação a Conta, no modType dele:
- Código:
Type AccountRec
' Conta
Login As String * NAME_LENGTH
Password As String * NAME_LENGTH
Char(0 To MAX_CHARS) As PlayerRec
' Nada salvo nas variáveis locais
Buffer As String
IncBuffer As String
CharNum As Byte
InGame As Boolean
Ele usa o AccountRec para salvar as coisas como Login e etc.. E usa o PlayerRec na Contagem de Chars.
Minha luz dada acima está no caminho certo >< Meio orgulhoso de mim, por ser ter uma base ter pensado em como fazer uehueh.
No Caso é isso :
Criar um AccountRec onde ele leva ao PlayerRec, Fazendo o jogo Ler a Conta primeiro pelo Account, e assim localizando o numero de "Chars" que ele tem e os expondo no Novo MenuState que criamos.
É um trabalhinho =P Mas se é o que quer, tem de ser estudado.
Att