Isto é uma pré-visualização de um tema em Hitskin.com
Instalar o tema • Voltar para a ficha do tema
Npc Suporte 10 quests
3 participantes
Página 1 de 2
Página 1 de 2 • 1, 2
Npc Suporte 10 quests
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.
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.
gui408- Ocasional
- Mensagens : 227
Créditos : 10
Re: Npc Suporte 10 quests
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 ~
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"
Profane ~- Colaborador
- Mensagens : 818
Créditos : 130
Re: Npc Suporte 10 quests
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.
gui408- Ocasional
- Mensagens : 227
Créditos : 10
Re: Npc Suporte 10 quests
: ); 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.
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"
Profane ~- Colaborador
- Mensagens : 818
Créditos : 130
Re: Npc Suporte 10 quests
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.
gui408- Ocasional
- Mensagens : 227
Créditos : 10
Re: Npc Suporte 10 quests
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:
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!
Re: Npc Suporte 10 quests
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.
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.
gui408- Ocasional
- Mensagens : 227
Créditos : 10
Re: Npc Suporte 10 quests
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
Re: Npc Suporte 10 quests
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.
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"
Profane ~- Colaborador
- Mensagens : 818
Créditos : 130
Re: Npc Suporte 10 quests
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 , 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 Obrigado.
Página 1 de 2 • 1, 2
Tópicos semelhantes
» Npc Suporte 10 quests
» [Pedido Duvida] Skills de Suporte
» [NOVO]Forum de suporte de jogos
» [NOVO]Forum de suporte de jogos
» Movido: [NOVO]Forum de suporte de jogos
» [Pedido Duvida] Skills de Suporte
» [NOVO]Forum de suporte de jogos
» [NOVO]Forum de suporte de jogos
» Movido: [NOVO]Forum de suporte de jogos
Página 1 de 2
Permissões neste sub-fórum
Não podes responder a tópicos