MMORPG Brasil
Ola, visitante! Agradecemos sua visita, para ter acesso a todo nosso conteúdo recomendamos que faça um cadastro no fórum, com ele você pode participar de tópicos e ter acesso a todas áreas da comunidade!

Participe do fórum, é rápido e fácil

MMORPG Brasil
Ola, visitante! Agradecemos sua visita, para ter acesso a todo nosso conteúdo recomendamos que faça um cadastro no fórum, com ele você pode participar de tópicos e ter acesso a todas áreas da comunidade!
MMORPG Brasil
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Distribuir pontos automaticamente ao passar de level!

3 participantes

Ir para baixo

Distribuir pontos automaticamente ao passar de level! Empty Distribuir pontos automaticamente ao passar de level!

Mensagem por RenanR Qui 09 Ago 2012, 20:00

Adicionar pontos automaticamente ao passar de level
Descrição
Ao passar de level, pontos irão ser automaticamente adicionados, level 20 ou igual será + 2 str e def, +1 agi e int. Maior que 20 até 60 é +5 str e def, 2 de int e agi. Maior que 60 é +10 str e def, +6 int e agi.

Tutorial
Client~Side

Vá na frmMirage, picStat, deixa invisível a lblPoints e as labels que contém o sinal de +.

Agora, procure por:
Código:
        ' xxx Distribuição de Pontos por Comando xxx

E apague todo o código até:
Código:
        ' xxx Fim da Distribuição de Pontos por Comando xxx

Server~Side

Mude a sub toda do Private Sub Command34_Click() por:
Código:
Private Sub Command34_Click()
Dim Index As Long
Dim i As Long

    Call GlobalMsg("O servidor deu um level grátis para todos!", BrightGreen)
    For Index = 1 To MAX_PLAYERS

        If IsPlaying(Index) = True Then
            If GetPlayerLevel(Index) >= MAX_LEVEL Then
                Call SetPlayerExp(Index, Experience(MAX_LEVEL))
                Call SendStats(Index)
            Else
                Call SetPlayerLevel(Index, GetPlayerLevel(Index) + 1)
                i = Int(GetPlayerSPEED(Index) / 10)

                If i < 1 Then i = 1
                If i > 3 Then i = 3
                'Call SetPlayerPOINTS(Index, GetPlayerPOINTS(Index) + i)
                    If GetPlayerLevel(Index) <= 20 Then
                        Call SetPlayerstr(Index, GetPlayerstr(Index) + 2)
                        Call SetPlayerDEF(Index, GetPlayerDEF(Index) + 2)
                        Call SetPlayerSPEED(Index, GetPlayerSPEED(Index) + 1)
                        Call SetPlayerMAGI(Index, GetPlayerMAGI(Index) + 1)
                    ElseIf GetPlayerLevel(Index) > 20 And GetPlayerLevel(Index) <= 60 Then
                        Call SetPlayerstr(Index, GetPlayerstr(Index) + 5)
                        Call SetPlayerDEF(Index, GetPlayerDEF(Index) + 5)
                        Call SetPlayerSPEED(Index, GetPlayerSPEED(Index) + 2)
                        Call SetPlayerMAGI(Index, GetPlayerMAGI(Index) + 2)
                    ElseIf GetPlayerLevel(Index) > 60 And GetPlayerLevel(Index) <= 100 Then
                        Call SetPlayerstr(Index, GetPlayerstr(Index) + 10)
                        Call SetPlayerDEF(Index, GetPlayerDEF(Index) + 10)
                        Call SetPlayerSPEED(Index, GetPlayerSPEED(Index) + 6)
                        Call SetPlayerMAGI(Index, GetPlayerMAGI(Index) + 6)
                    End If
                   
                Call BattleMsg(Index, "Seus pontos foram adicionados automaticamente.", 9, 0)

                If GetPlayerLevel(Index) >= MAX_LEVEL Then
                    Call SetPlayerExp(Index, Experience(MAX_LEVEL))
                    Call SendStats(Index)
                End If
                Call SendStats(Index)
            End If
        End If
    Next
End Sub

Depois mude a sub toda de Sub CheckPlayerLevelUp(ByVal Index As Long) por:
Código:
Sub CheckPlayerLevelUp(ByVal Index As Long)
    Dim i As Long
    Dim d As Long
    Dim C As Long

    C = 0

    If GetPlayerExp(Index) >= GetPlayerNextLevel(Index) Then
        If GetPlayerLevel(Index) < MAX_LEVEL Then
            If SCRIPTING = 1 Then
                MyScript.ExecuteStatement "Scripts\Principal.txt", "PlayerLevelUp " & Index
            Else

                Do Until GetPlayerExp(Index) < GetPlayerNextLevel(Index)
                    DoEvents

                    If GetPlayerLevel(Index) < MAX_LEVEL Then
                        If GetPlayerExp(Index) >= GetPlayerNextLevel(Index) Then
                            d = GetPlayerExp(Index) - GetPlayerNextLevel(Index)
                            Call SetPlayerLevel(Index, GetPlayerLevel(Index) + 1)
                            i = Int(GetPlayerSPEED(Index) / 10)

                            If i < 1 Then i = 1
                            If i > 3 Then i = 3
                            Call SendDataTo(Index, "sound" & SEP_CHAR & "LevelUp" & END_CHAR)
                            'Call SetPlayerPOINTS(Index, GetPlayerPOINTS(Index) + i)
                                If GetPlayerLevel(Index) <= 20 Then
                                    Call SetPlayerstr(Index, GetPlayerstr(Index) + 2)
                                    Call SetPlayerDEF(Index, GetPlayerDEF(Index) + 2)
                                    Call SetPlayerSPEED(Index, GetPlayerSPEED(Index) + 1)
                                    Call SetPlayerMAGI(Index, GetPlayerMAGI(Index) + 1)
                                ElseIf GetPlayerLevel(Index) > 20 And GetPlayerLevel(Index) <= 60 Then
                                    Call SetPlayerstr(Index, GetPlayerstr(Index) + 5)
                                    Call SetPlayerDEF(Index, GetPlayerDEF(Index) + 5)
                                    Call SetPlayerSPEED(Index, GetPlayerSPEED(Index) + 2)
                                    Call SetPlayerMAGI(Index, GetPlayerMAGI(Index) + 2)
                                ElseIf GetPlayerLevel(Index) > 60 And GetPlayerLevel(Index) <= 100 Then
                                    Call SetPlayerstr(Index, GetPlayerstr(Index) + 10)
                                    Call SetPlayerDEF(Index, GetPlayerDEF(Index) + 10)
                                    Call SetPlayerSPEED(Index, GetPlayerSPEED(Index) + 6)
                                    Call SetPlayerMAGI(Index, GetPlayerMAGI(Index) + 6)
                                End If
                            Call SetPlayerExp(Index, d)
                            C = C + 1
                        Else
                            Exit Do
                        End If
                    End If

                Loop

                If C > 1 Then
                    Call GlobalMsg(GetPlayerName(Index) & " ganhou " & C & " níveis!", 6)
                Else
                    Call GlobalMsg(GetPlayerName(Index) & " ganhou um nível!", 6)
                End If

                'Call BattleMsg(Index, "Você possui " & GetPlayerPOINTS(Index) & " pontos.", 9, 0)
                Call BattleMsg(Index, "Seus pontos foram adicionados automaticamente.", 9, 0)
            End If

            Call SendDataToMap(GetPlayerMap(Index), "levelup" & SEP_CHAR & Index & END_CHAR)
        End If

        If GetPlayerLevel(Index) = MAX_LEVEL Then
            Call SetPlayerExp(Index, Experience(MAX_LEVEL))
        End If
    End If

    Call SendHP(Index)
    Call SendMP(Index)
    Call SendSP(Index)
    Call SendStats(Index)
End Sub

E agora, vá no Principal.txt e procure pela Sub PlayerLevelUp(index). Mude ela toda por:
Código:
Sub PlayerLevelUp(index)
Dim I   
Dim D
Dim C
   
    C = 0
    Do While GetPlayerExp(index) => GetPlayerNextLevel(index)   
        D = GetPlayerExp(index) - GetPlayerNextLevel(index)
        Call SetPlayerLevel(index, GetPlayerLevel(index) + 1)
        I = Int(GetPlayerSPEED(index) / 10)
        If I < 1 Then I = 1
        If I > 3 Then I = 3
           
        'Call SetPlayerPOINTS(index, GetPlayerPOINTS(index) + I)
            If GetPlayerLevel(Index) <= 20 Then
                Call SetPlayerstr(Index, GetPlayerstr(Index) + 2)
                Call SetPlayerDEF(Index, GetPlayerDEF(Index) + 2)
                Call SetPlayerSPEED(Index, GetPlayerSPEED(Index) + 1)
                Call SetPlayerMAGI(Index, GetPlayerMAGI(Index) + 1)
            ElseIf GetPlayerLevel(Index) > 20 And GetPlayerLevel(Index) <= 60 Then
                Call SetPlayerstr(Index, GetPlayerstr(Index) + 5)
                Call SetPlayerDEF(Index, GetPlayerDEF(Index) + 5)
                Call SetPlayerSPEED(Index, GetPlayerSPEED(Index) + 2)
                Call SetPlayerMAGI(Index, GetPlayerMAGI(Index) + 2)
            ElseIf GetPlayerLevel(Index) > 60 And GetPlayerLevel(Index) <= 100 Then
                Call SetPlayerstr(Index, GetPlayerstr(Index) + 10)
                Call SetPlayerDEF(Index, GetPlayerDEF(Index) + 10)
                Call SetPlayerSPEED(Index, GetPlayerSPEED(Index) + 6)
                Call SetPlayerMAGI(Index, GetPlayerMAGI(Index) + 6)
            End If
        Call SetPlayerExp(index, D)     
        C = C + 1
    Loop
    If C > 1 Then
        'Call GlobalMsg(GetPlayerName(index) & " ganhou " & C & " níveis!", 6)
    Else
        'Call GlobalMsg(GetPlayerName(index) & " ganhou um nível!", 6)     
    End If   

    'Call BattleMsg(index, "Você tem " & GetPlayerPOINTS(index) & " pontos para gastar.", 9, 0)
    Call BattleMsg(Index, "Seus pontos foram adicionados automaticamente.", 9, 0) 
End Sub

Creditos: Lenon!.


Última edição por RenanR em Sex 10 Ago 2012, 00:22, editado 2 vez(es)
RenanR
RenanR
Membro Veterano
Membro Veterano

Mensagens : 1048

Ir para o topo Ir para baixo

Distribuir pontos automaticamente ao passar de level! Empty Re: Distribuir pontos automaticamente ao passar de level!

Mensagem por -Kira Qui 09 Ago 2012, 22:16

Fale mais sobre esse sistema, aliás, sempre que for postar um tutorial deixe uma descrição intuitiva do sistema!
-Kira
-Kira
Membro Veterano
Membro Veterano

Mensagens : 895

Ir para o topo Ir para baixo

Distribuir pontos automaticamente ao passar de level! Empty Re: Distribuir pontos automaticamente ao passar de level!

Mensagem por RenanR Sex 10 Ago 2012, 00:23

-Kira escreveu:Fale mais sobre esse sistema, aliás, sempre que for postar um tutorial deixe uma descrição intuitiva do sistema!

Adicionei uma descrição.

Obrigado!
Renan.
RenanR
RenanR
Membro Veterano
Membro Veterano

Mensagens : 1048

Ir para o topo Ir para baixo

Distribuir pontos automaticamente ao passar de level! Empty Re: Distribuir pontos automaticamente ao passar de level!

Mensagem por Kooringa Sex 10 Ago 2012, 07:30

mt bom, lembro desse sistema q tinha no dbz legacy +1

Distribuir pontos automaticamente ao passar de level! 35iub2d

Distribuir pontos automaticamente ao passar de level! 33birdd

É meu Fan? Gosta de Min? Então use:
Distribuir pontos automaticamente ao passar de level! Bhhod5

Distribuir pontos automaticamente ao passar de level! 2ptpb2a

OBS:
Distribuir pontos automaticamente ao passar de level! 40789310
Kooringa
Kooringa
Banido
Banido

Mensagens : 1361

Ir para o topo Ir para baixo

Distribuir pontos automaticamente ao passar de level! Empty Re: Distribuir pontos automaticamente ao passar de level!

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