Aldeia RPG

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

Suporte ao desenvolvimento de jogos


2 participantes

    Requerimento Classe Quest

    avatar
    gui408
    Ocasional
    Ocasional


    Mensagens : 227
    Créditos : 10

    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
    Kotol
    Kotol
    Moderador Local
    Moderador Local


    Mensagens : 73
    Créditos : 15

    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.

      Data/hora atual: Sex Abr 19, 2024 10:07 am