Suporte ao desenvolvimento de jogos!


    Gasto de Mana ao passar por Água

    Compartilhe
    avatar
    newbie123
    Semi-Experiente
    Semi-Experiente

    Mensagens : 128
    Créditos : 34

    Gasto de Mana ao passar por Água

    Mensagem por newbie123 em Qui Nov 27, 2014 4:45 pm

    Abra o Client.vbp, depois abra a frmEditor_Map, e dentro da fraAttribs adicione uma OptionButton com as seguintes propriedades:


    Name = optAgua
    Caption = Água


    Agora somente na frmEditor_Map do lado da fraAttribs crie uma frame com as seguintes propriedades:


    Name = fraAgua
    Caption = Água
    Visible = False


    Dentro da fraAgua crie uma HScrollBar com as propriedades:


    Name = scrlAgua


    Acima da scrlAgua crie uma label com as propriedades:

    Name = lblAgua
    Caption = Gasto: 0

    e ainda dentro da fraAgua adicione uma commandbutton com as propriedades:

    Name = cmdAgua
    Caption = Ok


    Agora vamos iniciar os codigos, de 2 cliques na optAgua e adicione:

    Código:
    ' If debug mode, handle error then exit out
        If Options.Debug = 1 Then On Error GoTo errorhandler
        
        ClearAttributeDialogue
        picAttributes.Visible = True
        fraAgua.Visible = True
        
        ' Error handler
        Exit Sub
    errorhandler:
        HandleError "optAgua_Click", "frmEditor_Map", Err.Number, Err.Description, Err.Source, Err.HelpContext
        Err.Clear
        Exit Sub

    De 2 cliques da scrlAgua e add:

    Código:
    ' If debug mode, handle error then exit out
        If Options.Debug = 1 Then On Error GoTo errorhandler
        
        lblAgua.Caption = "Gasto: " & scrlAgua.Value
        
        ' Error handler
        Exit Sub
    errorhandler:
        HandleError "scrlAgua_Change", "frmEditor_Map", Err.Number, Err.Description, Err.Source, Err.HelpContext
        Err.Clear
        Exit Sub

    Procure por:
    Código:
    Case TILE_TYPE_SLIDE
                                    DrawText TexthDC, tX, tY, "S", QBColor(BrightCyan)

    Abaixo coloque:
    Código:
    Case TILE_TYPE_AGUA
                                    DrawText TexthDC, tX, tY, "A", QBColor(BrightBlue)

    Procure por:

    Código:
    Public Const TILE_TYPE_SLIDE As Byte = 14

    Abaixo add:

    Código:
    Public Const TILE_TYPE_AGUA As Byte = 15

    Procure por:

    Código:
    ' slide
                    If frmEditor_Map.optSlide.Value Then
                        .Type = TILE_TYPE_SLIDE
                        .Data1 = MapEditorSlideDir
                        .Data2 = 0
                        .Data3 = 0
                    End If

    Abaixo add:

    Código:
                    ' agua
                    If frmEditor_Map.optAgua.Value Then
                        .Type = TILE_TYPE_AGUA
                        .Data1 = MapEditorHealAmount
                        .Data2 = 0
                        .Data3 = 0
                    End If


    Cliente Acabado, agora vamos para o Server.vbp

    Procure por:

    Código:
    Public Const TILE_TYPE_SLIDE As Byte = 14

    Abaixo add:

    Código:
    Public Const TILE_TYPE_AGUA As Byte = 15

    Agora procure por:
    Código:
    ' Slide
            If .Type = TILE_TYPE_SLIDE Then
                Select Case .Data1
                    Case DIR_UP
                        If Map(GetPlayerMap(index)).Tile(GetPlayerX(index), GetPlayerY(index) - 1).Type = TILE_TYPE_RESOURCE Or Map(GetPlayerMap(index)).Tile(GetPlayerX(index), GetPlayerY(index) - 1).Type = TILE_TYPE_BLOCKED Then Exit Sub
                    Case DIR_LEFT
                        If Map(GetPlayerMap(index)).Tile(GetPlayerX(index) - 1, GetPlayerY(index)).Type = TILE_TYPE_RESOURCE Or Map(GetPlayerMap(index)).Tile(GetPlayerX(index) - 1, GetPlayerY(index)).Type = TILE_TYPE_BLOCKED Then Exit Sub
                    Case DIR_DOWN
                        If Map(GetPlayerMap(index)).Tile(GetPlayerX(index), GetPlayerY(index) + 1).Type = TILE_TYPE_RESOURCE Or Map(GetPlayerMap(index)).Tile(GetPlayerX(index), GetPlayerY(index) + 1).Type = TILE_TYPE_BLOCKED Then Exit Sub
                    Case DIR_RIGHT
                        If Map(GetPlayerMap(index)).Tile(GetPlayerX(index) + 1, GetPlayerY(index)).Type = TILE_TYPE_RESOURCE Or Map(GetPlayerMap(index)).Tile(GetPlayerX(index) + 1, GetPlayerY(index)).Type = TILE_TYPE_BLOCKED Then Exit Sub
                End Select
                ForcePlayerMove index, MOVING_WALKING, .Data1
                Moved = YES
            End If

    Abaixo add:
    Código:
    ' O que acontece quando o player passar por cima Successful
            If .Type = TILE_TYPE_AGUA Then
                amount = .Data1
                SendActionMsg GetPlayerMap(index), "-" & amount, BrightRed, ACTIONMSG_SCROLL, GetPlayerX(index) * 32, GetPlayerY(index) * 32, 1
                If GetPlayerVital(index, MP) - amount <= 0 Then
                    Moved = NO
                    PlayerMsg index, "Você não tem mana suficiente para andar sobre a água", BrightRed
                Else
                    SetPlayerVital index, MP, GetPlayerVital(index, MP) - amount
                    Call SendVital(index, MP)
                End If
                Moved = YES
            End If

    Não se esqueça de deixar o codigo acima do "END WITH"

    Agora é so compilar e pronto, utiliza o sistema da mesma forma que é utilizado para bloquear partes do mapa, colocar traps, resources etc...


    Creditos
    Newbie123
    avatar
    Pablo Kawan
    Experiente
    Experiente

    Mensagens : 485
    Créditos : 158

    Re: Gasto de Mana ao passar por Água

    Mensagem por Pablo Kawan em Qui Nov 27, 2014 6:48 pm

    bem legal Successful estar movimentando a area, curto seus posts desda ex mmobr
    são simples mas tem um bom conteudo para um sistema mais avançado


    _________________
    Assinatura removida pela Staff
    ^ Tenho nova, surprise
    avatar
    newbie123
    Semi-Experiente
    Semi-Experiente

    Mensagens : 128
    Créditos : 34

    Re: Gasto de Mana ao passar por Água

    Mensagem por newbie123 em Qui Nov 27, 2014 7:06 pm

    Obrigado, eu procuro criar sistemas para facilitar a criação de jogos especificos, esse ai por exemplo seria bom para um jogo de naruto, porém estou mexendo em dx8 por isso que não estou postando muito aqui, mas de vez em quando me da uma ideia na cabeça e eu crio para EO 2.0. Successful
    avatar
    Hashirama
    Membro Ativo
    Membro Ativo

    Mensagens : 394
    Créditos : 126

    Re: Gasto de Mana ao passar por Água

    Mensagem por Hashirama em Qui Nov 27, 2014 7:52 pm

    Muito bom seus sistemas, parabéns
    1 +crédito
    esse sistema será bom para meu projeto de Naruto que comecei no Eclipse
    vlw!


    _________________
    Apoia nosso projeto? use nossa assinatura

    Código:
    [color=#ff9900][size=10]Eu Apoio Esse Projeto![/size][/color]
    [url=http://www.aldeiarpg.com/t11184-naruto-shinobi-online][img]http://i.imgur.com/B9M26iU.png[/img][/url]


    Conteúdo patrocinado

    Re: Gasto de Mana ao passar por Água

    Mensagem por Conteúdo patrocinado


      Data/hora atual: Sab Abr 21, 2018 12:46 am