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


3 participantes

    Npc Suporte 10 quests

    avatar
    gui408
    Ocasional
    Ocasional


    Mensagens : 227
    Créditos : 10

    Npc Suporte 10 quests Empty Npc Suporte 10 quests

    Mensagem por gui408 Sáb maio 23, 2015 3:00 pm

    Alguem poderia me ajudar,queria colocar para o npc ter 10 numeros de quests,pois cada npc so pode ter uma quest,uso sistema de quest do alatar 1.2.
    exemplo: Npc Derik tem a quest numero 1,mas nao tem como eu por a quest numero 1 e numero 2,3,4 no derik,vou ter q criar outro npc para poder colocar a quest numero 2 e outro npc para por a quest numero 3 e por ai vai,por isso q quero por para o npc derik ter as quest numero 1,2,3,4,5,6... acho q deu para entender xD.
    So lembrando nao venha fala q é so por mais task,eu quero sao numero de quest para o npc,que ele suporte umas 10.
    Obrigado quem puder me ajudar,ja estou tentando mas nao conscigo vlw.
    Profane ~
    Profane ~
    Colaborador
    Colaborador


    Mensagens : 818
    Créditos : 130

    Npc Suporte 10 quests Empty Re: Npc Suporte 10 quests

    Mensagem por Profane ~ Ter Jun 02, 2015 11:10 pm

    Well Gui408 ;v ;

         Estou afastado do Vb a alguns meses, entrelaçado em C# e outros e.e Mas por com a voz de um pouco de experiência que tenho (Pouco mais que 8 anos...) venho lhe dizer que é uma "sobrecarga". 

    Npc's inicialmente foram feitos para não ter quest's... São basicamentes suportes de eventos e monstros; Isso já pesa bastante para eles, e nas trade server client. 

    Em palavras mais fáceis:  Fazer com que sua engine de vb seja compatível a mais de 1 Quest não valeria a pena. 

    Qual foi a solução encontrada ? ~ Eventos. Por isso eventos é quase uma coisa infinita. Daqui lhe darei três Alternativas.

    1) Usar eventos para Alternar Npc's. (Crie o mesmo npc várias vezes e por modo de StoryLine; faça um check no evento para modificar o Npc quando o Player houver completado a quest passada, assim ele passando a ser um outro mesmo Npc visualmente... contendo outro data de quest. )

    2) Criar apenas mesmo uma StoryLine dando Exp e itens. (Quests Informais) forçando assim os player's a saberem o que está ocorrendo e aonde estão, o que devem fazer.

    3) Adicionar ao Sistema de evento uma nova procedure, no caso para que Via Evento você consiga rec eber Quests. (Sabendo configurar as edições a longo prazo se torna a melhor forma de trabalho.) Podendo assim transformar seu jogo em literalmente um...Skyrim ou The Witcher ;v Em quesito Storyline + Quest's + Interações (Escolhas e Decisões).

    Bom, espero ter esclarecido um pouco o que você pode buscar... Abandone essa de 1 Npc apenas ter 10 quests... (Não foram feitos para este peso ;x )

    Att Profane ~


    _________________
    "Mistress of shattered hopes and forever broken dreams"
    avatar
    gui408
    Ocasional
    Ocasional


    Mensagens : 227
    Créditos : 10

    Npc Suporte 10 quests Empty Re: Npc Suporte 10 quests

    Mensagem por gui408 Qua Jun 03, 2015 3:12 pm

    Entendi uq vc quis dizer,mas nao é 1 npc apenas ter 10 quest,ja viu multiplos drops,onde 1 npc pode dropa mais de um item,exemplo ele pode dropa 10 itens,seria a mesma coisa que eu queria,que o npc poderia ter 10 quest,ai outro npc mais 10 quest e por assim vai,pois criar 50 npc para ter 50 quests fik muito feio,e o jogo se tornaria com poucas quest,entao n sei se vc me entendeu muito bem,n sei se vc ja viu outros games,onde 1 npc vc pode pega quest sequenciais de acordo que vc vai completando,seria o memso caso,acho q é isso obrigado pela atençao.
    Profane ~
    Profane ~
    Colaborador
    Colaborador


    Mensagens : 818
    Créditos : 130

    Npc Suporte 10 quests Empty Re: Npc Suporte 10 quests

    Mensagem por Profane ~ Qui Jun 04, 2015 11:53 pm

    : ); Voltando;

    Você não citou que queria múltiplos drops, sendo que multiplos drops é apenas uma variável sem necessidade de alguma edição grande. Você mesmo é capaz de adicionar isso em pouco mais de 2minutos.

    Já no quesito quest's, que é algo que engloba não apenas o Npc, mas também o ambiente e também ao Player. Se torna algo mais complexo.

    Que levaria alguns dias para desenvolver em ;x (Adicionar uma variavel de speech, para selecionar qual das quests ele irá verificar (quests a qual o npc terá salvo em seu data); após isso fazer os save e verificações com o jogador. Não é nada do outro mundo, possível sim, mas trabalhoso.




    _________________
    "Mistress of shattered hopes and forever broken dreams"
    avatar
    gui408
    Ocasional
    Ocasional


    Mensagens : 227
    Créditos : 10

    Npc Suporte 10 quests Empty Re: Npc Suporte 10 quests

    Mensagem por gui408 Sex Jun 05, 2015 12:17 am

    entendo,mas o multiplo drops eu ja fiz,isto e algo muito facil,so pensei q teria como faze-lo em modo de multiplas quests,mas ta bom entao.Obrigado pela atençao.
    Dooolly
    Dooolly
    Colaborador
    Colaborador


    Medalhas : Npc Suporte 10 quests Trophy12
    Mensagens : 1227
    Créditos : 153

    Ficha do personagem
    Nível: 1
    Experiência:
    Npc Suporte 10 quests Left_bar_bleue0/0Npc Suporte 10 quests Empty_bar_bleue  (0/0)
    Vida:
    Npc Suporte 10 quests Left_bar_bleue30/30Npc Suporte 10 quests Empty_bar_bleue  (30/30)

    Npc Suporte 10 quests Empty Re: Npc Suporte 10 quests

    Mensagem por Dooolly Sex Jun 05, 2015 12:26 am

    Profane ~ escreveu:: ); Voltando;

    Você não citou que queria múltiplos drops, sendo que multiplos drops é apenas uma variável sem necessidade de alguma edição grande. Você mesmo é capaz de adicionar isso em pouco mais de 2minutos.

    Já no quesito quest's, que é algo que engloba não apenas o Npc, mas também o ambiente e também ao Player. Se torna algo mais complexo.

    Que levaria alguns dias para desenvolver em ;x (Adicionar uma variavel de speech, para selecionar qual das quests ele irá verificar (quests a qual o npc terá salvo em seu data); após isso fazer os save e verificações com o jogador. Não é nada do outro mundo, possível sim, mas trabalhoso.



    Discordo plenamente, da para fazer o NPC ter multiplas quest igual ao Drop apenas modificando uma variavel:

    Cliente
    Mude no Editor de NPC a parte de selecinar quest para algo assim:
    Npc Suporte 10 quests I9U3YsPMt8bpf

    2 - Frame
     Primeira(Name=fraQuest, Caption=Missões)
     Segunda(Name=fraQuestNum, Caption=Missão: 1)
    1 - ScrollBar
     ScrollBar(Name=scrlQuests, Max=10, Min=1)
    O Resto você ja tem...

    Dê um double clique em scrlQuests(ScrollBar Adicionada) e Adicione:
    Código:
    ' If debug mode, handle error then exit out
        If Options.Debug = 1 Then On Error GoTo errorhandler
        
        fraQuestNum.Caption = "Missão: " & scrlQuests.value
        
        scrlQuest.value = NPC(EditorIndex).QuestNum(scrlQuests.value)
        chkQuest.value = NPC(EditorIndex).Quest(scrlQuests.value)
        
        ' Error handler
        Exit Sub
    errorhandler:
        HandleError "scrlQuests_Change", "frmEditor_NPC", Err.Number, Err.Description, Err.Source, Err.HelpContext
        Err.Clear
        Exit Sub

    Em modTypes procure por:
    Código:
    ' Missões
        Quest As Byte
        QuestNum As Long

    e Mude para:
    Código:
    ' Missões
        Quest(1 To MAX_NPC_QUEST) As Byte
        QuestNum(1 To MAX_NPC_QUEST) As Long

    Em modConstants procure por:
    Código:
    Public Const MAX_PARTY_MEMBERS As Long = 4

    Abaixo adicione:
    Código:
    Public Const MAX_NPC_QUEST As Byte = 10

    Procure por:
    Código:
    NPC(EditorIndex).QuestNum = scrlQuest.value

    Mude para:
    Código:
    NPC(EditorIndex).QuestNum(scrlQuests.value) = scrlQuest.value

    Procure por:
    Código:
    NPC(EditorIndex).Quest = chkQuest.value

    Mude para:
    Código:
    NPC(EditorIndex).Quest(scrlQuests.value) = chkQuest.value

    Procure por:
    Código:
    .chkQuest.value = NPC(EditorIndex).Quest
            .scrlQuest.value = NPC(EditorIndex).QuestNum

    Mude para:
    Código:
    .chkQuest.value = NPC(EditorIndex).Quest(1)
            .scrlQuest.value = NPC(EditorIndex).QuestNum(1)
            .scrlMissoes.max = MAX_NPC_QUEST
            .scrlMissoes.value = 1

    Cliente pronto!

    Servidor
    Em modTypes procure por:
    Código:
    ' Missões
        Quest As Byte
        QuestNum As Long

    e Mude para:
    Código:
    ' Missões
        Quest(1 To MAX_NPC_QUEST) As Byte
        QuestNum(1 To MAX_NPC_QUEST) As Long

    Em modConstants procure por:
    Código:
    Public Const MAX_PARTY_MEMBERS As Long = 4

    Abaixo adicione:
    Código:
    Public Const MAX_NPC_QUEST As Byte = 10

    Em modCombat procure por:
    Código:
    If NPC(npcNum).Behaviour = NPC_BEHAVIOUR_FRIENDLY Or NPC(npcNum).Behaviour = NPC_BEHAVIOUR_SHOPKEEPER Then
    Call CheckTasks(attacker, QUEST_TYPE_GOTALK, npcNum)
    Call CheckTasks(attacker, QUEST_TYPE_GOGIVE, npcNum)
    Call CheckTasks(attacker, QUEST_TYPE_GOGET, npcNum)


    If NPC(npcNum).Quest = YES Then
    If Player(attacker).PlayerQuest(NPC(npcNum).Quest).Status = QUEST_COMPLETED Then
    If Quest(NPC(npcNum).Quest).Repeat = YES Then
    Player(attacker).PlayerQuest(NPC(npcNum).Quest).Status = QUEST_COMPLETED_BUT
    Exit Function
    End If
    End If

    If CanStartQuest(attacker, NPC(npcNum).QuestNum) Then

    'if can start show the request message (speech1)
    QuestMessage attacker, NPC(npcNum).QuestNum, Trim$(Quest(NPC(npcNum).QuestNum).Speech(1)), NPC(npcNum).QuestNum
    Exit Function
    End If
    If QuestInProgress(attacker, NPC(npcNum).QuestNum) Then

    'if the quest is in progress show the meanwhile message (speech2)
    QuestMessage attacker, NPC(npcNum).QuestNum, Trim$(Quest(NPC(npcNum).QuestNum).Speech(2)), 0

    Exit Function
    End If
    End If
    End If

    Mude para:
    Código:
                            If NPC(npcNum).Behaviour = NPC_BEHAVIOUR_FRIENDLY Or NPC(npcNum).Behaviour = NPC_BEHAVIOUR_SHOPKEEPER Then
                              For i = 1 To MAX_NPC_QUEST
                                If NPC(npcNum).Quest(i) = YES Then
                                  If Player(attacker).PlayerQuest(NPC(npcNum).Quest(i)).Status = QUEST_COMPLETED Then
                                    If Quest(NPC(npcNum).Quest(i)).Repeat = YES Then
                                      Player(attacker).PlayerQuest(NPC(npcNum).Quest(i)).Status = QUEST_COMPLETED_BUT
                                      Exit For
                                    End If
                                  End If
                               
                                  If CanStartQuest(attacker, NPC(npcNum).QuestNum(i)) Then
                                    ' if can start show the request message (speech1)
                                    QuestMessage attacker, NPC(npcNum).QuestNum(i), Trim$(Quest(NPC(npcNum).QuestNum(i)).Speech(1)), NPC(npcNum).QuestNum(i)
                                    Exit For
                                  End If
                               
                                  If QuestInProgress(attacker, NPC(npcNum).QuestNum(i)) Then
                                    'if the quest is in progress show the meanwhile message (speech2)
                                    QuestMessage attacker, NPC(npcNum).QuestNum(i), Trim$(Quest(NPC(npcNum).QuestNum(i)).Speech(2)), 0
                                    Exit For
                                  End If
                                End If
                              Next
                             
                              Call CheckTasks(attacker, QUEST_TYPE_GOTALK, npcNum)
                              Call CheckTasks(attacker, QUEST_TYPE_GOGIVE, npcNum)
                              Call CheckTasks(attacker, QUEST_TYPE_GOGET, npcNum)
                            End If

    Delete todas as missões e pronto!

    Peguei do meu projeto, não testei o tutorial, qualquer erro fala ai posso ter esquecido de algo!
    avatar
    gui408
    Ocasional
    Ocasional


    Mensagens : 227
    Créditos : 10

    Npc Suporte 10 quests Empty Re: Npc Suporte 10 quests

    Mensagem por gui408 Sáb Jun 06, 2015 3:06 pm

    Fiz tudo correto,deletei todas quest,npc,contas,tudo,mas quando eu vo loga da o seguinte erro.
    Compile erro
    type mismath

    e quando aperto Ok
    vai para
    If NPC(npcNum).QuestNum = i Then

    = fik sumblinhado com azul

    isto fika na parte Drawn Npc Name

    Edit
    Eu tirei a exclamacao mas se vc puder me ajuda a conscerta esta parte,o sistema funcionar perfeitamente,mas claro com a exclamacao encima do nome fikaria melhor xD,muito obg por me ajudar e pela atencao,sistema 100% funcional.
    Dooolly
    Dooolly
    Colaborador
    Colaborador


    Medalhas : Npc Suporte 10 quests Trophy12
    Mensagens : 1227
    Créditos : 153

    Ficha do personagem
    Nível: 1
    Experiência:
    Npc Suporte 10 quests Left_bar_bleue0/0Npc Suporte 10 quests Empty_bar_bleue  (0/0)
    Vida:
    Npc Suporte 10 quests Left_bar_bleue30/30Npc Suporte 10 quests Empty_bar_bleue  (30/30)

    Npc Suporte 10 quests Empty Re: Npc Suporte 10 quests

    Mensagem por Dooolly Sáb Jun 06, 2015 8:33 pm

    gui408 escreveu:Fiz tudo correto,deletei todas quest,npc,contas,tudo,mas quando eu vo loga da o seguinte erro.
    Compile erro
    type mismath

    e quando aperto Ok
    vai para
    If NPC(npcNum).QuestNum = i Then

    = fik sumblinhado com azul

    isto fika na parte Drawn Npc Name

    Edit
    Eu tirei a exclamacao mas se vc puder me ajuda a conscerta esta parte,o sistema funcionar perfeitamente,mas claro com a exclamacao encima do nome fikaria melhor xD,muito obg por me ajudar e pela atencao,sistema 100% funcional.

    Como eu falei poderia ter esquecido algo, e tá ai oque eu esqueci:

    Procure por:
    Código:
    'check if the npc is the starter to any quest: [!] symbol
                'can accept the quest as a new one?
                If Player(MyIndex).PlayerQuest(i).Status = QUEST_NOT_STARTED Or Player(MyIndex).PlayerQuest(i).Status = QUEST_COMPLETED_BUT Then
                  If Quest(i).RequiredLevel <= Player(MyIndex).Level Then
                    'the npc gives this quest?
                    If NPC(npcNum).QuestNum = i Then
                        Name = "[!]"
                        TextX = ConvertMapX(MapNpc(Index).x * PIC_X) + MapNpc(Index).XOffset + (PIC_X \ 2) - getWidth(TexthDC, (Trim$(Name)))
                        If NPC(npcNum).Sprite < 1 Or NPC(npcNum).Sprite > NumCharacters Then
                            TextY = ConvertMapY(MapNpc(Index).y * PIC_Y) + MapNpc(Index).YOffset - 16
                        Else
                            TextY = ConvertMapY(MapNpc(Index).y * PIC_Y) + MapNpc(Index).YOffset - (DDSD_Character(NPC(npcNum).Sprite).lHeight / 4)
                        End If
                        Call DrawText(TexthDC, TextX, TextY, Name, QBColor(Yellow))
                        Exit For
                    End If
                  End If
                End If

    Mude para:
    Código:
    'check if the npc is the starter to any quest: [!] symbol
            'can accept the quest as a new one?
            If Player(MyIndex).PlayerQuest(i).status = QUEST_NOT_STARTED Or Player(MyIndex).PlayerQuest(i).status = QUEST_COMPLETED_BUT Then
              If Quest(i).RequiredLevel <= Player(MyIndex).Level Then
                'the npc gives this quest?
                For n = 1 To MAX_NPC_QUEST
                  If NPC(npcNum).QuestNum(n) = i Then
                    name = "[!]"
                    TextX = ConvertMapX(MapNpc(Index).x * PIC_X) + MapNpc(Index).XOffset + (PIC_X \ 2) - getWidth(TexthDC, (Trim$(Name)))
                        If NPC(npcNum).Sprite < 1 Or NPC(npcNum).Sprite > NumCharacters Then
                            TextY = ConvertMapY(MapNpc(Index).y * PIC_Y) + MapNpc(Index).YOffset - 16
                        Else
                            TextY = ConvertMapY(MapNpc(Index).y * PIC_Y) + MapNpc(Index).YOffset - (DDSD_Character(NPC(npcNum).Sprite).lHeight / 4)
                        End If
                    Call DrawText(TexthDC, TextX, TextY, Name, QBColor(Yellow))
                  End If
                Next
              End If
            End If

    Pronto Successful
    Profane ~
    Profane ~
    Colaborador
    Colaborador


    Mensagens : 818
    Créditos : 130

    Npc Suporte 10 quests Empty Re: Npc Suporte 10 quests

    Mensagem por Profane ~ Dom Jun 07, 2015 1:17 pm

    Boa Dooly ;v

    Mas se ler novamente, eu não falei que as Quests eram fáceis. Estava me referindo aos multiplos drops; amor meu.

    Muito bom o tutorial,ainda mais com a confirmação de ser funcional xD~

    Falei que estava afastado, e como era extenso ia ser tenso ajudar (logo busquei formas dele desenvolver isso sem precisar scriptar algo como você já fez.)

    Toda via, nice! Copia isso e posta nos tutoriais do Eclipse; Vai ajudar mais gente.


    _________________
    "Mistress of shattered hopes and forever broken dreams"
    Dooolly
    Dooolly
    Colaborador
    Colaborador


    Medalhas : Npc Suporte 10 quests Trophy12
    Mensagens : 1227
    Créditos : 153

    Ficha do personagem
    Nível: 1
    Experiência:
    Npc Suporte 10 quests Left_bar_bleue0/0Npc Suporte 10 quests Empty_bar_bleue  (0/0)
    Vida:
    Npc Suporte 10 quests Left_bar_bleue30/30Npc Suporte 10 quests Empty_bar_bleue  (30/30)

    Npc Suporte 10 quests Empty Re: Npc Suporte 10 quests

    Mensagem por Dooolly Dom Jun 07, 2015 2:28 pm

    Profane ~ escreveu:Boa Dooly ;v

    Mas se ler novamente, eu não falei que as Quests eram fáceis. Estava me referindo aos multiplos drops; amor meu.

    Muito bom o tutorial,ainda mais com a confirmação de ser funcional xD~

    Falei que estava afastado, e como era extenso ia ser tenso ajudar (logo busquei formas dele desenvolver isso sem precisar scriptar algo como você já fez.)

    Toda via, nice! Copia isso e posta nos tutoriais do Eclipse; Vai ajudar mais gente.

    Vlw Profane, eu não discordei apenas da parte que eu citei eu discordei do assunto em geral, tipo da parte de quest, que você falou que pesaria muito e talz, bom acho que não já que ele vai trabalhar com apenas 1 quest por vez, e sair da sub, evitando todo o processo, mas claro que daria um aumento no peso já que qualquer variável dá diferença, pode ser qualquer sistema vai sim pesar de alguma forma. Obrigado por ser seu amor Npc Suporte 10 quests 2835316747 , vc é um bom membro e é um dos que mais ajuda aqui no fórum, e agradeço por isso. E sim tb pensei que seria extenso por isso não tinha falado nada antes, mas ai lembrei que tinha feito isso em uma d minhas engines, então eu apenas ripei.

    sobre postar isso nos tutoriais, acho que não, já que é apenas um complemento e eu nao gosto de fazer isso em sistemas dos outros e por meu meu nome, entao vai fikar aque na area de duvidas mesmo, caso alguem precise e so procurar Npc Suporte 10 quests 2835316747 Obrigado.

    Conteúdo patrocinado


    Npc Suporte 10 quests Empty Re: Npc Suporte 10 quests

    Mensagem por Conteúdo patrocinado


      Data/hora atual: Qui Mar 28, 2024 10:20 pm