Requerimento Classe Quest 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.

Requerimento Classe Quest

2 participantes

Ir para baixo

Requerimento Classe Quest Empty Requerimento Classe Quest

Mensagem por gui408 Sex Jan 06, 2017 10:05 am

Galera, eu nao to consceguindo por para 2+ ateh 5 classes pega uma quest por exemplo.
Eu coloco no /editquest do alatar, em requerimentos a classe numero 1= iniciante, se eu for da classe iniciante eu pego a quest de boa, se eu for outra classe nao pego, ateh ai tudo bem.
Agora se eu coloca no requerimento de classe Iniciante, Guerreiro, eu sendo da classe iniciante nao conscigo pega a quest e nem sendo da classe guerreiro, ou seja se eu por no requimento mais de uma classe nao funciona, so funciona uma classe; e no /questeditor suporta ateh 5 classes requeridas, olha o codico que eu puis, sera que vcs podem me falar o erro, alias nao da erro mas tb nao funciona com 2+ classes, obg pela atençao ai.

            For i = 1 To 5
               If Quest(QuestNum).RequiredClass(i) > 0 Then
                  If Player(index).Class <> Quest(QuestNum).RequiredClass(i) Then
                     PlayerMsg index, "Requer a Classe " & Trim$(Class(Quest(QuestNum).RequiredClass(i)).Name) & " para obter a quest.", BrightRed
                     Exit Function
                  End If
               End If
            Next

gui408
Ocasional
Ocasional

Mensagens : 227
Créditos : 10

Ir para o topo Ir para baixo

Requerimento Classe Quest Empty Re: Requerimento Classe Quest

Mensagem por Kotol Seg Jan 30, 2017 9:31 pm

Vamos lá gui408, vou indicar que você modifique um pouco os códigos, okay?

Então, primeiro, em "Server.Vbp", em "ModSvQuests", na "Sub": 

Código:
Public Function CanStartQuest(ByVal Index As Long, ByVal QuestNum As Long) As Boolean

Acima de:

Código:
CanStartQuest = False
    If QuestNum < 1 Or QuestNum > MAX_QUESTS Then Exit Function
    If QuestInProgress(Index, QuestNum) Then Exit Function

Adicione isto:

Código:
Dim CanClassStart As Boolean

E agora, nesta sua parte e um pouco já escrita:

Código:
For i = 1 To 5
              If Quest(QuestNum).RequiredClass(i) > 0 Then
                  If Player(Index).Class <> Quest(QuestNum).RequiredClass(i) Then
                    PlayerMsg Index, "Requer a Classe " & Trim$(Class(Quest(QuestNum).RequiredClass(i)).Name) & " para obter a quest.", BrightRed
                    Exit Function
                  End If
              End If
            Next
           
           
            'Go on :)
            CanStartQuest = True

Modifique tudo por:

Código:
'Go on :)
            CanStartQuest = True
           
            'Set it to false first to check
            CanClassStart = False
            For i = 1 To 5
               
                'Check if have a requeriment
                If Quest(QuestNum).RequiredClass(i) > 0 Then
               
                    'Check if have the class
                    If Player(Index).Class = Quest(QuestNum).RequiredClass(i) Then
                        CanClassStart = True                   
                    End If
               
                    'Check if had the class on current list num
                    If CanClassStart = True Then
                        CanStartQuest = True
            Exit For 'Exit just to check on all of 5
                    Else
                        CanStartQuest = False
                    End If
                   
                End If
           
            Next

E está pronto! Eu testei, e não tive problemas!
O único incoveniente é que não haverá a mensagem avisando o jogador a classe certa requerida.
Kotol
Kotol
Moderador Local
Moderador Local

Mensagens : 77
Créditos : 17

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