oin!!!
A fada do Oin, mais linda de todas veio trazer um incremento muito pedido pelo @Valentine.
Se trata de um "add-on", uma modificação, do sistema de Transformação que fora postado aqui por mim.
O Link para a Treta vai estar disponível abaixo uma vez que para ser posto isso aqui, será necessária a perfeita colocação do meu sistema passado.
Vamos lá.
[1] Criação da Tela de Imagens
- Indo ao FrmMain, onde rola o game, procure um Componente de Picture, e faça a telinha.
#Obs: Inicialmente é interessante que você, como sujeito malino e muitas vezes afobado, porém inexperiente, não tente de antemão se jogar num precipício que é querer fazer de uma vez só 10000 transformações e o carai a 4.
Porque? Porque ai você por não saber o que está fazendo ainda, vai acabar fazendo tudo errado como sempre. Tenha calma e entenda o que está fazendo.
- Deixe a Telinha mais o menos assim :
http://prntscr.com/fta0ip
Ai temos, coisas a mais como Labels para descrição e sinalização, mas como você provavelmente irá usar "Imagens", então fica a seu critério.
O Importante é saber que trataremos aqui de 3 Trans por "Foto", são elas, Oin, Ululu e Bjus(na boka)
[2] Nomeando os Componentes
#Pic de Fundo - Transformação
Name:picTrans
#Pic da Oin
Name: picTrans_1
#Pic da Ululu
Name: picTrans_2
#Pic da Bjus
Name: picTrans_3
#Obs: Ah formas mais decentes de se trabalhar com componentes, ainda mais quem irá usar muitos, e para variar. Mas isso você terá de tentar estudar sozinho, se é aplicar uma copia por index ao Componente; Mas como eu tenho que ensinar o básico e funcional, esteja por satisfeito amore < 3
[3] Parte Boa ;3 The logic
- Abra cada um dos picTrans_1/2/3; E dentro deles adicione:
#Obs: NÃO é ainda a Transformação, e sim, apenas o Numero da Imagem do Botão. Trabalharemos Casos. Então se atente a isso.
- Agora vá ao ModGameLogic, e no final dele adicione:
[4] Empacotando
- Nossa sub de processamento está criada, e ela passará a fazer o pedido, mas esse pedido ainda não existe, vamos criar ele e mandar empacotar para sorrir.
Vá ao modClientTCP, no final dele adicione:
Agora, vá ao ModEnumerations e procure por:
Essa área de enumerations lista todos os pacotes possíveis, lançadas pelo cliente, então acima disso ai, adicione nosso pacote:
Ficaria assim: http://prntscr.com/fta7v4
Cliente pronto, agora vamos ao Servidor.
[5] Recebendo esse pacote de delicias.
- Primeiro temos de deixar o ModEnumarations de acordo, ambos tem de estar na mesma ordem, é uma enumeração. Você embaralhar isso aqui, você terá uma vasta dor de cabeça. Então no server, modEnumerations adicione:
Acima do:
Vai ficar igual ao que fizemos no ModEnumerations do Client.
Agora vamos ao modHandleData, no Servidor.
Procure por isso aqui (estará bem no começo do Modulo);
No Fim dessa SUB, antes do END SUB; adicione:
Quando chegar o pacote do Cliente, relacionada ao nosso RequestTransPic, então ele vai mandar a leitura ser processada na sub do HandleTransPic.
Vamos agora Criar e trabalhar no HandleTransPic; No fim do ModHandleData, adicione:
Encerrado.
A fada do Oin, mais linda de todas veio trazer um incremento muito pedido pelo @Valentine.
Se trata de um "add-on", uma modificação, do sistema de Transformação que fora postado aqui por mim.
O Link para a Treta vai estar disponível abaixo uma vez que para ser posto isso aqui, será necessária a perfeita colocação do meu sistema passado.
Vamos lá.
##########
Ficha Técnica
##########
Nome do Sistema: Incremento de Sistema de Transformação - Agora por "Foto".
Nível de Dificuldade: Nenhum, já que basta você ler e copiar e colar ~~
Compatibilidade: QUALQUER EO ou CrystalShire.
Programas Necessários: Visual Basic 6
Sistemas necessários: https://www.aldeiarpg.com/t13356-prof-sistema-de-transformacao
#######
Função
#######
Do que se trata de fato essa modificação? Bem, você irá permitir a "transformação", decorrente o Clique de uma Imagem.
"Ah mas eu tenho medo...";
não tenha, vai ser fácil, verás!!!
########
Abaoti
########
-> Como vai funcionar?;
Você irá criar a Spell como normal, porém usando o "click" em uma das imagens, a spell será processada porém será extraido e usado apenas o valor da Transformação, para dar os fatores ao rapaz piruleta que usar.
Você irá criar a Spell como normal, porém usando o "click" em uma das imagens, a spell será processada porém será extraido e usado apenas o valor da Transformação, para dar os fatores ao rapaz piruleta que usar.
-> Ah mas eu quero restrição, por classe Naruto, Saskure, Power Ranger.
Isso ai já é com você meu pequeno sucker of jaruto, dê seu jeito, monte a threat e tentaremos ajudar sempre que possibles.
-> Ah mas Profane responde ai no face, no discord, no skype, acessa aqui pra ver...
Ow god, assim nau. Monta a dúvida, que quem puder ajudar e auxiliar irá auxiliar se puder ué.
########
Observação
########
Este Sistema será montado em uma tela "grossa", um componente de Imagem qualquer, com outras imagens dentro para simular a área de "foto".
Eu sou usuária fervorosa de Dx8, e por ser uma modificação que estou disponibilizando a qualquer engine, então será feita de forma comum. Se você é usuário de Dx8, procure os tópicos a qual ensinam a montar telas, gui, buttons em dx8, e assim aplique o sistema.
########
Ao Sistema
########
- Client Side
[1] Criação da Tela de Imagens
- Indo ao FrmMain, onde rola o game, procure um Componente de Picture, e faça a telinha.
#Obs: Inicialmente é interessante que você, como sujeito malino e muitas vezes afobado, porém inexperiente, não tente de antemão se jogar num precipício que é querer fazer de uma vez só 10000 transformações e o carai a 4.
Porque? Porque ai você por não saber o que está fazendo ainda, vai acabar fazendo tudo errado como sempre. Tenha calma e entenda o que está fazendo.
- Deixe a Telinha mais o menos assim :
http://prntscr.com/fta0ip
Ai temos, coisas a mais como Labels para descrição e sinalização, mas como você provavelmente irá usar "Imagens", então fica a seu critério.
O Importante é saber que trataremos aqui de 3 Trans por "Foto", são elas, Oin, Ululu e Bjus
[2] Nomeando os Componentes
#Pic de Fundo - Transformação
Name:picTrans
#Pic da Oin
Name: picTrans_1
#Pic da Ululu
Name: picTrans_2
#Pic da Bjus
Name: picTrans_3
#Obs: Ah formas mais decentes de se trabalhar com componentes, ainda mais quem irá usar muitos, e para variar. Mas isso você terá de tentar estudar sozinho, se é aplicar uma copia por index ao Componente; Mas como eu tenho que ensinar o básico e funcional, esteja por satisfeito amore < 3
[3] Parte Boa ;3 The logic
- Abra cada um dos picTrans_1/2/3; E dentro deles adicione:
- Código:
Call ProcessTransByPic(X)
#Obs: NÃO é ainda a Transformação, e sim, apenas o Numero da Imagem do Botão. Trabalharemos Casos. Então se atente a isso.
- Agora vá ao ModGameLogic, e no final dele adicione:
- Código:
'Sub que processará e pedirá o envio da Transformação
Public Sub ProcessTransByPic(ByVal PicTrans As Byte) 'Usando Byte que vai até 255, 255 ta bom não?
Dim SpellNum As Long 'Vai Guardar o Valor da Spell
'Hora de Brincar.
Select Case PicTrans 'Vai pegar o Numero substituido pelo X e aplicar aqui
Case 1 'oin
SpellNum = 1 'Numero da Spell a qual Clicando na Caixinha 1 irá processar a Trans
Case 2 'ululul
SpellNum = 2 'Numero da Spell a qual Clicando na Caixinha 2 irá processar a Trans
Case 3 'bju na boka
SpellNum = 3 'Numero da Spell a qual Clicando na Caixinha 3 irá processar a Trans
Case Else
SpellNum = 0
End Select
'SpellNum assumirá o numero da Spell que está guardada a Trans, então você so precisa substituir pelo numero
'da Spell no Editor.
'Enviar pedido de Transformação, porém analisando antes os limites!!!
'Caso Exista (Não seja zero ou menor), e também não seja maior que o limite então ~
If SpellNum > 0 And SpellNum < MAX_SPELLS Then
Call RequestTransByPic(SpellNum) 'Enviará o pedido da Trans
End If
End Sub
[4] Empacotando
- Nossa sub de processamento está criada, e ela passará a fazer o pedido, mas esse pedido ainda não existe, vamos criar ele e mandar empacotar para sorrir.
Vá ao modClientTCP, no final dele adicione:
- Código:
Public Sub RequestTransByPic(ByVal SpellNum As Long)
Dim Buffer As clsBuffer
' If debug mode, handle error then exit out
If Options.Debug = 1 Then On Error GoTo errorhandler
Set Buffer = New clsBuffer
Buffer.WriteLong CRequestTransPic 'Enumeração do Pacote!
Buffer.WriteLong SpellNum 'Numero da Spell que saiu lá do Processamento
SendData Buffer.ToArray()
Set Buffer = Nothing
' Error handler
Exit Sub
errorhandler:
HandleError "RequestTransByPic", "modClientTCP", Err.Number, Err.Description, Err.Source, Err.HelpContext
Err.Clear
Exit Sub
End Sub
Agora, vá ao ModEnumerations e procure por:
- Código:
' Make sure CMSG_COUNT is below everything else
CMSG_COUNT
End Enum
Essa área de enumerations lista todos os pacotes possíveis, lançadas pelo cliente, então acima disso ai, adicione nosso pacote:
- Código:
CRequestTransPic
Ficaria assim: http://prntscr.com/fta7v4
Cliente pronto, agora vamos ao Servidor.
- Server Side
[5] Recebendo esse pacote de delicias.
- Primeiro temos de deixar o ModEnumarations de acordo, ambos tem de estar na mesma ordem, é uma enumeração. Você embaralhar isso aqui, você terá uma vasta dor de cabeça. Então no server, modEnumerations adicione:
- Código:
CRequestTransPic
Acima do:
- Código:
' Make sure CMSG_COUNT is below everything else
CMSG_COUNT
End Enum
Vai ficar igual ao que fizemos no ModEnumerations do Client.
Agora vamos ao modHandleData, no Servidor.
Procure por isso aqui (estará bem no começo do Modulo);
- Código:
Public Sub InitMessages()
No Fim dessa SUB, antes do END SUB; adicione:
- Código:
'Trans Pic vinda do Client
HandleDataSub(CRequestTransPic) = GetAddress(AddressOf HandleTransPic)
Quando chegar o pacote do Cliente, relacionada ao nosso RequestTransPic, então ele vai mandar a leitura ser processada na sub do HandleTransPic.
Vamos agora Criar e trabalhar no HandleTransPic; No fim do ModHandleData, adicione:
- Código:
'Processamento do Pacote de Trans, vindo do Client.
Private Sub HandleTransPic(ByVal Index As Long, ByRef Data() As Byte, ByVal StartAddr As Long, ByVal ExtraVar As Long)
Dim SpellNum As Long
Dim Buffer As clsBuffer
Set Buffer = New clsBuffer
Buffer.WriteBytes Data()
SpellNum = Buffer.ReadLong 'Alargada a Leitura - Numero da Spell que veio do Client
'Passar nos Limites do Servidor:
If SpellNum <= 0 Or SpellNum > MAX_SPELLS Then Exit Sub 'Exitar se for causar um Script out of Range
'O Numero é viavel, então vamos trabalhar ele.
Set Buffer = Nothing 'Encerrado o Pacote;
'Enviar transformaçãu (ih FIM!)
If Spell(SpellNum).Transform.HasTransform > 0 Then 'Verifica se a Spell tem Transformação Habilitada
Call ProcessSpellTransform(Index, SpellNum, True) 'Processar Transformação
End If
End Sub
Encerrado.
##############
Considerações Finais
##############
Ai tem uma pequena aula de pacoti, e como enviar um valor e esse valor chegar no servidor para ser anal isado.
O Valor irá passar da caixa, para o select case do client, dps empacotado e enviado para o servidor analisar e processar a Trans de acordo com a Spell registrada com tal numero.
No mais é isso, continua ai o sistema de trans + buff;
Val val vai fazer um bom uso disso! < 3
Att