Universo Games
Ola , Convidado

Adicionando pontos automaticamente ao passar de level Logo1110

Você ainda não e cadastrado então cadastre-se e veja todas as atualizações no Mundo RPG!!!
Universo Games
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.
Universo Games

Suporte e Desenvolvimento só no Universo Games
 
InícioInício  PortalPortal  EventosEventos  PublicaçõesPublicações  Últimas imagensÚltimas imagens  RegistarRegistar  EntrarEntrar  
Ola Convidado, Seja Bem vindo a equipe lhe deseja boa sorte no seu projeto!

 

 Adicionando pontos automaticamente ao passar de level

Ir para baixo 
AutorMensagem
Convidado
Convidado
Anonymous



Adicionando pontos automaticamente ao passar de level Empty
MensagemAssunto: Adicionando pontos automaticamente ao passar de level   Adicionando pontos automaticamente ao passar de level EmptySáb 25 Jun 2011, 11:51

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:
Autor desconhecido
Prodev
A mim por postar
Ir para o topo Ir para baixo
Convidado
Convidado
Anonymous



Adicionando pontos automaticamente ao passar de level Empty
MensagemAssunto: Re: Adicionando pontos automaticamente ao passar de level   Adicionando pontos automaticamente ao passar de level EmptyDom 03 Jul 2011, 22:24

n da pra fazer um botao que ativa e desativa essa função?
Ir para o topo Ir para baixo
 
Adicionando pontos automaticamente ao passar de level
Ir para o topo 
Página 1 de 1

Permissões neste sub-fórumNão podes responder a tópicos
Universo Games :: Criação de Jogos :: Elysium Diamond :: Tutoriais-
Ir para: