MMORPG Brasil
Ola, visitante! Agradecemos sua visita, para ter acesso a todo nosso conteúdo recomendamos que faça um cadastro no fórum, com ele você pode participar de tópicos e ter acesso a todas áreas da comunidade!

Participe do fórum, é rápido e fácil

MMORPG Brasil
Ola, visitante! Agradecemos sua visita, para ter acesso a todo nosso conteúdo recomendamos que faça um cadastro no fórum, com ele você pode participar de tópicos e ter acesso a todas áreas da comunidade!
MMORPG Brasil
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Quest

5 participantes

Ir para baixo

Quest           Empty Quest

Mensagem por Soad~ Qua 11 maio 2011, 12:33

Baixe a form de editor de npcs aqui
Client code
Código:
Private Type NpcRec

Adicione isto:

Código:
 QuestNum As Long
    QuestLevel As Long
    QuestReqItem As Long
    QuestReqItemHowMany As Long
    QuestRewItem As Long
    QuestRewItemHowMany As Long
    QuestMsg1 As String * 250
    QuestMsg2 As String * 250
    QuestMsg3 As String * 250
    QuestMsg4 As String * 250

procure por:

Código:
Public Const NPC_BEHAVIOUR_GUARD As Byte = 4

adicione abaixo:

Código:
Public Const NPC_BEHAVIOUR_QUEST As Byte = 6

ache em NPCEditorInit em modGameEditors:

Código:
.txtEXP.text = Npc(EditorIndex).EXP

adicione abaixo :

Código:
 .txtQuestNum.text = Npc(EditorIndex).QuestNum
        .txtQuestLevel.text = Npc(EditorIndex).QuestLevel
        .txtQuestReqItem.text = Npc(EditorIndex).QuestReqItem
        .txtQuestReqMany.text = Npc(EditorIndex).QuestReqItemHowMany
        .txtQuestRewItem.text = Npc(EditorIndex).QuestRewItem
        .txtQuestRewMany.text = Npc(EditorIndex).QuestRewItemHowMany
        .txtMsg1.text = Trim$(Npc(EditorIndex).QuestMsg1)
        .txtMsg2.text = Trim$(Npc(EditorIndex).QuestMsg2)
        .txtMsg3.text = Trim$(Npc(EditorIndex).QuestMsg3)
        .txtMsg4.text = Trim$(Npc(EditorIndex).QuestMsg4)

terminamos uma parte do client

Server code
Ache:

Código:
Private Type NpcRec

adicione:

Código:
  QuestNum As Long
    QuestLevel As Long
    QuestReqItem As Long
    QuestReqItemHowMany As Long
    QuestRewItem As Long
    QuestRewItemHowMany As Long
    QuestMsg1 As String * 250
    QuestMsg2 As String * 250
    QuestMsg3 As String * 250
    QuestMsg4 As String * 250

procure :

Código:
Public Const NPC_BEHAVIOUR_GUARD As Byte = 4

adicione

Código:
Public Const NPC_BEHAVIOUR_QUEST As Byte = 6

Ache em CanAttackNpc :

Código:
                    If Npc(NpcNum).Behaviour <> NPC_BEHAVIOUR_FRIENDLY And Npc(NpcNum).Behaviour <> NPC_BEHAVIOUR_SHOPKEEPER Then

Mude para:

Código:
                    If Npc(NpcNum).Behaviour <> NPC_BEHAVIOUR_FRIENDLY And Npc(NpcNum).Behaviour <> NPC_BEHAVIOUR_SHOPKEEPER And Npc(NpcNum).Behaviour <> NPC_BEHAVIOUR_QUEST Then

você vai achar antes
Código:
CanAttackNpc = True
                    Else

embaixo adicione isto:

Código:
 If Npc(NpcNum).Behaviour = NPC_BEHAVIOUR_QUEST Then
                            If Npc(NpcNum).QuestLevel <= GetPlayerLevel(Attacker) Then
                                If GetVar("data\quest\" & GetPlayerName(Attacker) & ".ini", "QUEST", "Quest" & Npc(NpcNum).QuestNum) = 0 Then
                                    Call PlayerMsg(Attacker, Npc(NpcNum).QuestMsg1, Yellow)
                                    Call PutVar("data\quest\" & GetPlayerName(Attacker) & ".ini", "QUEST", "Quest" & Npc(NpcNum).QuestNum, 1)
                                Exit Function
                                End If
                               
                                If GetVar("data\quest\" & GetPlayerName(Attacker) & ".ini", "QUEST", "Quest" & Npc(NpcNum).QuestNum) = 1 Then
                                If HasItem(Attacker, Npc(NpcNum).QuestReqItem) Then
                                    Call PlayerMsg(Attacker, Npc(NpcNum).QuestMsg2, Yellow)
                                    Call TakeInvItem(Attacker, Npc(NpcNum).QuestReqItem, Npc(NpcNum).QuestReqItemHowMany)
                                    Call GiveInvItem(Attacker, Npc(NpcNum).QuestRewItem, Npc(NpcNum).QuestRewItemHowMany)
                                    Call PutVar("data\quest\" & GetPlayerName(Attacker) & ".ini", "QUEST", "Quest" & Npc(NpcNum).QuestNum, 2)
                                    Exit Function
                                Else
                                    Call PlayerMsg(Attacker, Npc(NpcNum).QuestMsg3, Yellow)
                                End If
                                End If
                               
                                If GetVar("data\quest\" & GetPlayerName(Attacker) & ".ini", "QUEST", "Quest" & Npc(NpcNum).QuestNum) = 2 Then
                                    Call PlayerMsg(Attacker, Npc(NpcNum).QuestMsg4, Yellow)
                                Exit Function
                                End If
                            Else
                                Call PlayerMsg(Attacker, "You don't have required level!", Yellow)
                            End If
                        End If

Ache:

Código:
' exit out early
            If IsSpell Then
                If Npc(NpcNum).Behaviour <> NPC_BEHAVIOUR_FRIENDLY And Npc(NpcNum).Behaviour <> NPC_BEHAVIOUR_SHOPKEEPER Then
                    CanAttackNpc = True
                    Exit Function
                End If
            End If

Mude para:

Código:
' exit out early
            If IsSpell Then
                If Npc(NpcNum).Behaviour <> NPC_BEHAVIOUR_FRIENDLY And Npc(NpcNum).Behaviour <> NPC_BEHAVIOUR_SHOPKEEPER And Npc(NpcNum).Behaviour <> NPC_BEHAVIOUR_QUEST Then
                    CanAttackNpc = True
                    Exit Function
                End If
            End If

Ache isto em AddChar:

Código:
 ' set starter equipment
        For n = 1 To 5
            Player(Index).Inv(n).Num = Class(ClassNum).StartItem(n)
            Player(Index).Inv(n).Value = Class(ClassNum).StartValue(n)
        Next

Embaixo, adicione:

Código:
 For n = 1 To 100
            Call PutVar("data\quest\" & GetPlayerName(Index) & ".ini", "QUEST", "Quest" & n, 0)
        Next

Adicione uma nova pasta no servidor nomeada : Quest

tradução minha mesmo
Créditos : Qazek
Soad~
Soad~
Membro
Membro

Mensagens : 231

http://twitter.com/#!/kshcold

Ir para o topo Ir para baixo

Quest           Empty Re: Quest

Mensagem por Freitas Sex 13 maio 2011, 11:17

é realmente muito bom Soad +1 cred
Freitas
Freitas
Membro Vitalicio
Membro Vitalicio

Mensagens : 676

http://dragonball.6te.net

Ir para o topo Ir para baixo

Quest           Empty Re: Quest

Mensagem por St4rk Sex 13 maio 2011, 15:45

Ótimo Tutorial, Parabéns, ele está muito bem feito, seria bom modificar a forma de salvar para .dat, isso vai ajudar muito : ).


Boa Sorte a quem utilizar o sistema.
St4rk
St4rk
Membro de Honra
Membro de Honra

Mensagens : 2251

http://mylittledev.wordpress.com

Ir para o topo Ir para baixo

Quest           Empty Ajuda ae ^^

Mensagem por ganansia Dom 29 maio 2011, 16:23

Primeiramente site nota 10 Quest           535201

Ajuda galera to fazendo meo mmo so que nao sei como colocar o shop ne um npc , TIPO clicar nele e abrir a loja e tbm nao sei como fazer o personagen uzar um escudo ou uma arma ajuda ajuda !!! Quest           643714
ganansia
ganansia
Novato
Novato

Mensagens : 3

Ir para o topo Ir para baixo

Quest           Empty Re: Quest

Mensagem por Massurik Qua 01 Jun 2011, 06:59

visite o novo forum www.mmorpgbr.net lá está geral. ^.^
Massurik
Massurik
Novato
Novato

Mensagens : 14

Ir para o topo Ir para baixo

Quest           Empty Re: Quest

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


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