[EO] Distribuidor de pontos Hitskin_logo Hitskin.com

Isto é uma pré-visualização de um tema em Hitskin.com
Instalar o temaVoltar para a ficha do tema

Aldeia RPG
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

[EO] Distribuidor de pontos

5 participantes

Ir para baixo

[EO] Distribuidor de pontos Empty [EO] Distribuidor de pontos

Mensagem por Takabe Seg Abr 16, 2018 4:41 pm

Bem a logica desse sistema de ajuda o player a adicionar uma quantia de pontos bem mais rápido

Vamos ao tutorial
   
        Cliente

Vá ate a modEnumerations e aperte ctrl + f e procure por: 
Código:
CUseStatPoint
E ABAIXO você coloca:
Código:
CCommandStatPoint

Agora na modClientTCP procure pela sub:
Código:
Sub SendTrainStat(ByVal StatNum As Byte)

ABAIXO do End Sub voce coloca
Código:
Sub SendCommandTrainStat(ByVal StatNum As Byte, ByVal Quantity As Long)
Dim Buffer As clsBuffer

    ' If debug mode, handle error then exit out
    If Options.Debug = 1 Then On Error GoTo errorhandler
      
      If Val(Quantity) > MAX_LONG Then
      Exit Sub
      End If
      
      
    Set Buffer = New clsBuffer
    Buffer.WriteLong CCommandStatPoint
    Buffer.WriteByte StatNum
    Buffer.WriteLong Quantity
    SendData Buffer.ToArray()
    Set Buffer = Nothing
    
    ' Error handler
    Exit Sub
errorhandler:
    HandleError "SendCommandTrainStat", "modClientTCP", Err.Number, Err.Description, Err.Source, Err.HelpContext
    Err.Clear
    Exit Sub
End Sub

Agora vamos criar o Distribuidor rsrs
Crie uma picture na frmMain com o nome de picDistribuidor e deixe o visible False

Dentro da picture você cria 5 commandbuttons, 1 textbox, 2 labels

     vamos as propriedades de cada uma:

as 5 commandButton você poe o nome de cmdAddPontos você poe o nome deles de acordo com seu index

     Index 0 name: Strength
       Index 1 name: Endurance
        Index 2 name: Intelligence
 Index 3 name: Agility
     Index 4 name: Willpower

depois dê dois clicks no cmdAddPontos, pode ser qualquer um dos 5 e coloque isso dentro
Código:
    ' If debug mode, handle error then exit out
    If Options.Debug = 1 Then On Error GoTo errorhandler
    
    Select Case Index
    
       Case 0
       If IsNumeric(txtAddPontos.text) Then
       SendCommandTrainStat 1, txtAddPontos.text
       Else
       Call AddText("coloque somente numeros na caixa", BrightBlue)
       End If
       Case 1
       If IsNumeric(txtAddPontos.text) Then
       SendCommandTrainStat 2, txtAddPontos.text
       Else
       Call AddText("coloque somente numeros na caixa", BrightBlue)
       End If
       Case 2
       If IsNumeric(txtAddPontos.text) Then
       SendCommandTrainStat 3, txtAddPontos.text
       Else
       Call AddText("coloque somente numeros na caixa", BrightBlue)
       End If
       Case 3
       If IsNumeric(txtAddPontos.text) Then
       SendCommandTrainStat 4, txtAddPontos.text
       Else
       Call AddText("coloque somente numeros na caixa", BrightBlue)
       End If
       Case 4
       If IsNumeric(txtAddPontos.text) Then
       SendCommandTrainStat 5, txtAddPontos.text
       Else
       Call AddText("coloque somente numeros na caixa", BrightBlue)
       End If
    End Select
        ' Error handler
    Exit Sub
errorhandler:
    HandleError "cmdLevel_Click", "frmMain", Err.Number, Err.Description, Err.Source, Err.HelpContext
    Err.Clear
    Exit Sub

a textbox você poe o nome de txtAddPontos 

     a text dele voce deixa ou 0 ou limpo fica a tua escolha

     as 2 labels uma com o nome de lblPontos e outra com o nome de lblFechar
  
     label 1 
     Name:lblFechar
     Caption:Fechar
     
     label 2
     name:lblPontos
     Caption:Pontos:

dê dois clicks na lblFechar e coloque
Código:
picDistribuidor.visible = false

Bem no fim é pra ficar mais ou menos assim ó

[EO] Distribuidor de pontos Distri10

na modHandleData procure por:
Código:
frmMain.lblPoints.Caption = GetPlayerPOINTS(MyIndex)

e ABAIXO coloque:
Código:
frmMain.lblPontos.Caption = "Pontos: " & GetPlayerPOINTS(MyIndex)

Agora vamos ate modInput e procurar por:
Código:
                   ' Banning a player
                Case "/ban"
e ACIMA disto você poe:
Código:
               Case "/distribuir"
                    frmMain.picDistribuidor.Visible = True

Cliente terminado kk agora vamos ao servidor

Server

Va ate a modEnumerations e aperte ctrl + f e procure por:
Código:
CUseStatPoint
    
 ABAIXO você coloca:
Código:
CCommandStatPoint
  
depois na modHandleData procure por:
Código:
HandleDataSub(CUseStatPoint) = GetAddress(AddressOf HandleUseStatPoint)

e ABAIXO você coloca
Código:
HandleDataSub(CCommandStatPoint) = GetAddress(AddressOf HandleCommandStatPoint)

depois procure pela sub:
Código:
Sub HandleUseStatPoint(ByVal index As Long, ByRef Data() As Byte, ByVal StartAddr As Long, ByVal ExtraVar As Long)

e ABAIXO do end sub coloque:
Código:
' ::::::::::::::::::::::::::
' :: Command stats packet ::
' ::::::::::::::::::::::::::
Sub HandleCommandStatPoint(ByVal index As Long, ByRef Data() As Byte, ByVal StartAddr As Long, ByVal ExtraVar As Long)
Dim PointType As Byte
Dim Val As Long
Dim Buffer As clsBuffer
Dim sMes As String
Dim i As Long
    
    Set Buffer = New clsBuffer
    Buffer.WriteBytes Data()
    PointType = Buffer.ReadByte 'CLng(Parse(1))
    Val = Buffer.ReadLong
    Set Buffer = Nothing

    ' Prevent hacking
    If (PointType < 0) Or (PointType > Stats.Stat_Count) Then
        Exit Sub
    End If
    
    ' Check if player has the indicated value
    If Val > GetPlayerPOINTS(index) Or Val <= 0 Then
    PlayerMsg index, "Você não tem essa quantidade de pontos.", Red
    Exit Sub
    End If
    
    ' Check to not overflow the value
    If Val > 100000000 Then
    PlayerMsg index, "Você não pode adicionar tamanha quantidade(Máx 100000000).", Red
    Exit Sub
    End If
    
    ' Make sure they have points
    If GetPlayerPOINTS(index) > 0 Then
        ' make sure they're not maxed#
        If GetPlayerRawStat(index, PointType) >= 100000000 Then
            PlayerMsg index, "Máximo Obtido.", BrightRed
            Exit Sub
        End If
        
        ' Take away a stat point
        Call SetPlayerPOINTS(index, GetPlayerPOINTS(index) - Val)

        ' Everything is ok
        Select Case PointType
            Case Stats.Strength
                Call SetPlayerStat(index, Stats.Strength, GetPlayerRawStat(index, Stats.Strength) + Val)
                Call PlayerMsg(index, "Você adicionou +" & Val & " pontos em Strength!", White)
                sMes = " Strength"
            Case Stats.Endurance
                Call SetPlayerStat(index, Stats.Endurance, GetPlayerRawStat(index, Stats.Endurance) + Val)
                Call PlayerMsg(index, "Você adicionou +" & Val & " pontos em Endurance!", White)
                sMes = " Endurance"
            Case Stats.Intelligence
                Call SetPlayerStat(index, Stats.Intelligence, GetPlayerRawStat(index, Stats.Intelligence) + Val)
                Call PlayerMsg(index, "Você adicionou +" & Val & " pontos em Intelligence!", White)
                sMes = " Intelligence"
            Case Stats.Agility
                Call SetPlayerStat(index, Stats.Agility, GetPlayerRawStat(index, Stats.Agility) + Val)
                Call PlayerMsg(index, "Você adicionou +" & Val & " pontos em Agility!", White)
                sMes = " Agility"
            Case Stats.Willpower
                Call SetPlayerStat(index, Stats.Willpower, GetPlayerRawStat(index, Stats.Willpower) + Val)
                Call PlayerMsg(index, "Você adicionou +" & Val & " pontos em Willpower!", White)
                sMes = " Willpower"
        End Select
        
        SendActionMsg GetPlayerMap(index), "+" & Val & sMes, White, 1, (GetPlayerX(index) * 32), (GetPlayerY(index) * 32)

    Else
        Exit Sub
    End If

    ' Send the update
    SendPlayerData index

    For i = 1 To Vitals.Vital_Count - 1
        SendVital index, i
    Next
End Sub

     Sistema Pronto rsrs agora é só testa, qualquer erro podem falar ai pois é meu primeiro tutorial rsrs

     Creditos: Bem eu peguei esse código do SendCommandTrainStat do sistema de Adicionar pontos por comando e não sei quem que fez,mas o resto é meu rsrs


OBS:
Esse é meu primeiro tutorial então peço a ajuda de vocês pra me fala em que errei caso tenha errado kk
qualquer erro me avisem ai  Very Happy

Takabe
Takabe
Novato
Novato

Mensagens : 22
Créditos : 6

Ficha do personagem
Nível: 1
Experiência:
[EO] Distribuidor de pontos Left_bar_bleue0/0[EO] Distribuidor de pontos Empty_bar_bleue  (0/0)
Vida:
[EO] Distribuidor de pontos Left_bar_bleue30/30[EO] Distribuidor de pontos Empty_bar_bleue  (30/30)

Ir para o topo Ir para baixo

[EO] Distribuidor de pontos Empty Re: [EO] Distribuidor de pontos

Mensagem por DragonicK Seg Abr 16, 2018 6:11 pm

Sistema de gente pobre.
DragonicK
DragonicK
Experiente
Experiente

Mensagens : 543
Créditos : 81

Ficha do personagem
Nível: 1
Experiência:
[EO] Distribuidor de pontos Left_bar_bleue0/0[EO] Distribuidor de pontos Empty_bar_bleue  (0/0)
Vida:
[EO] Distribuidor de pontos Left_bar_bleue30/30[EO] Distribuidor de pontos Empty_bar_bleue  (30/30)

Ir para o topo Ir para baixo

[EO] Distribuidor de pontos Empty Re: [EO] Distribuidor de pontos

Mensagem por Profane ~ Seg Abr 16, 2018 7:55 pm

DragonicK escreveu:Sistema de gente pobre.

Bom que agora você vai poder por no seu jogo/engine tbm @Dragonick .


Bom @Takabex c.c ao ler eu já imaginava que não seria seu os codigos UAHSuhsa porque estavam em ingrês ashushasa, mas bom conteúdo, passei a leitura rápida e até onde vi estaria Ok, so testando mais a fundo.

Aprenda que não é nada necessário estar sempre colocando "subs" ou algo assim embaixo de um "local" exato. Pode ser em qualquer lugar, até mesmo no final c.c ~ Desde que não se ponha a ferir estruturas de organização que estão ali para fazer o trabalho delas.. organizar e nos ajudar a achar coisas...

Agradecemos por trazer e MUITA gente vai fazer uso. UHASUHS

_________________
"Mistress of shattered hopes and forever broken dreams"
Profane ~
Profane ~
Colaborador
Colaborador

Mensagens : 818
Créditos : 130

Ir para o topo Ir para baixo

[EO] Distribuidor de pontos Empty Re: [EO] Distribuidor de pontos

Mensagem por Takabe Seg Abr 16, 2018 8:09 pm

Profane ~ escreveu:
DragonicK escreveu:Sistema de gente pobre.

Bom que agora você vai poder por no seu jogo/engine tbm @Dragonick .


Bom @Takabex c.c ao ler eu já imaginava que não seria seu os codigos UAHSuhsa porque estavam em ingrês ashushasa, mas bom conteúdo, passei a leitura rápida e até onde vi estaria Ok, so testando mais a fundo.

Aprenda que não é nada necessário estar sempre colocando "subs" ou algo assim embaixo de um "local" exato. Pode ser em qualquer lugar, até mesmo no final c.c ~ Desde que não se ponha a ferir estruturas de organização que estão ali para fazer o trabalho delas.. organizar e nos ajudar a achar coisas...

Agradecemos por trazer e MUITA gente vai fazer uso. UHASUHS
:love: :love:  chato rsrs, obrigada
Takabe
Takabe
Novato
Novato

Mensagens : 22
Créditos : 6

Ficha do personagem
Nível: 1
Experiência:
[EO] Distribuidor de pontos Left_bar_bleue0/0[EO] Distribuidor de pontos Empty_bar_bleue  (0/0)
Vida:
[EO] Distribuidor de pontos Left_bar_bleue30/30[EO] Distribuidor de pontos Empty_bar_bleue  (30/30)

Ir para o topo Ir para baixo

[EO] Distribuidor de pontos Empty Re: [EO] Distribuidor de pontos

Mensagem por oqbendis Sex Abr 27, 2018 4:45 pm

Olá! Eu acabei de por o sistema na minha engine, mas tem uma coisa.
Não sei era pra aparecer, mas qual é o jeito de fazer a Janela de adicionar pontos aparecer?

_________________
[EO] Distribuidor de pontos Temari_forum_signature_by_cosmicwolfwarrior-d8gbn72
Alleg;
oqbendis
oqbendis
Iniciante
Iniciante

Mensagens : 32
Créditos : 0

Ficha do personagem
Nível: 1
Experiência:
[EO] Distribuidor de pontos Left_bar_bleue0/0[EO] Distribuidor de pontos Empty_bar_bleue  (0/0)
Vida:
[EO] Distribuidor de pontos Left_bar_bleue30/30[EO] Distribuidor de pontos Empty_bar_bleue  (30/30)

Ir para o topo Ir para baixo

[EO] Distribuidor de pontos Empty Re: [EO] Distribuidor de pontos

Mensagem por Profane ~ Sex Abr 27, 2018 10:37 pm

Se tiver seguido todo o tutorial, note essa parte:

[EO] Distribuidor de pontos Fvto7Ig

Logo, em seu chat digite "/distribuir" que ela possivelmente vá aparecer.

Att

_________________
"Mistress of shattered hopes and forever broken dreams"
Profane ~
Profane ~
Colaborador
Colaborador

Mensagens : 818
Créditos : 130

Ir para o topo Ir para baixo

[EO] Distribuidor de pontos Empty Re: [EO] Distribuidor de pontos

Mensagem por Takabe Sáb Abr 28, 2018 2:45 pm

oqbendis escreveu:
Olá! Eu acabei de por o sistema na minha engine, mas tem uma coisa.
Não sei era pra aparecer, mas qual é o jeito de fazer a Janela de adicionar pontos aparecer?
Da /distribuir ou então cria um Botão na picCharacter com o seguinte código:
Código:
picDistribuidor.Visible = Not picDistribuidor.Visible

Espero resolver seu problema, qualquer coisa só fala
Takabe
Takabe
Novato
Novato

Mensagens : 22
Créditos : 6

Ficha do personagem
Nível: 1
Experiência:
[EO] Distribuidor de pontos Left_bar_bleue0/0[EO] Distribuidor de pontos Empty_bar_bleue  (0/0)
Vida:
[EO] Distribuidor de pontos Left_bar_bleue30/30[EO] Distribuidor de pontos Empty_bar_bleue  (30/30)

Ir para o topo Ir para baixo

[EO] Distribuidor de pontos Empty Re: [EO] Distribuidor de pontos

Mensagem por Dryan Qui Jul 11, 2019 12:10 am

Debochado de mais amei Wink

[EO] Distribuidor de pontos Eblema10
Dryan
Dryan
Novato
Novato

Mensagens : 2
Créditos : 0

Ir para o topo Ir para baixo

[EO] Distribuidor de pontos Empty Re: [EO] Distribuidor de pontos

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Ir para o topo Ir para baixo

Ir para o topo

- Tópicos semelhantes

 
Permissões neste sub-fórum
Não podes responder a tópicos