Suporte ao desenvolvimento de jogos!


    [Prof ~] Add-On - Transformação por Foto

    Compartilhe
    avatar
    Profane ~
    Administrador
    Administrador

    Mensagens : 703
    Créditos : 119

    [Prof ~] Add-On - Transformação por Foto

    Mensagem por Profane ~ em Sab Jul 08, 2017 5:58 pm

    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á.

    ##########
    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: http://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.

    -> 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 (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:
    Código:
    Call ProcessTransByPic(X)
    Onde se tem o (x), substitua o X pelo numero da Imagem de transformação.

    #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



    _________________
    "If you don't belong here, just build a place where you do."
    avatar
    Valentine
    Administrador
    Administrador

    Medalhas :
    Mensagens : 4924
    Créditos : 1049

    Re: [Prof ~] Add-On - Transformação por Foto

    Mensagem por Valentine em Sab Jul 08, 2017 6:14 pm

    "incremento muito pedido pelo @Valentine."
    HEUEHUEHEUHE

    Boa, Profane.

    + 1 crédito.


    _________________
    avatar
    Profane ~
    Administrador
    Administrador

    Mensagens : 703
    Créditos : 119

    Re: [Prof ~] Add-On - Transformação por Foto

    Mensagem por Profane ~ em Sab Jul 08, 2017 6:23 pm

    UASHUHSAh Contra prints não à argumentos UAHhsa , mas eu sei que foi só para huezar.

    http://prntscr.com/ftaot5



    _________________
    "If you don't belong here, just build a place where you do."

    Conteúdo patrocinado

    Re: [Prof ~] Add-On - Transformação por Foto

    Mensagem por Conteúdo patrocinado


      Data/hora atual: Dom Jul 22, 2018 4:10 am