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.

[EEB / EE ]Quest Item System

+3
Freitas
Hibari
SkyZero
7 participantes

Ir para baixo

[EEB / EE ]Quest Item System  Empty [EEB / EE ]Quest Item System

Mensagem por SkyZero Dom 08 maio 2011, 15:57

|| Quest Item ||

Requerimentos

1 Computador - Não precisar ser um Quadricor mais que rode o Visual Basic 6 tranqüilo .
2 Mãos - Pois sem elas você não pode teclar e assim fazer o Sistema .
Interpretação de Texto , para entender o que estou dizendo no texto e não sair misturando pé com mão .

Dificuldade
3/5 Iniciante .
2/5 Veterano
0/5 Médio

Então sem mais delongas .

|| Client Side ||

Procure por :

Código:
Sub BltPlayerName(ByVal Index As Long)


Dentro dessa sub em qualquer lugar adicione :

Select Case Player(MyIndex).Class

Código:
Case X 'X = Numero da Classe =)
If Player(MyIndex).Level < Y Then 'Y = Level para completar a missão de Level
frmMirage.lblTitle.Caption = "Titulo da Quest"
frmMirage.lblReq.Caption = "Pegar Level: Y"
End If


Case Y 'Y = Numero de outra Classe =)'
If Player(MyIndex).Level < Y Then 'Y = Level para completar a missão de Level'
frmMirage.lblTitle.Caption = "Titulo da Quest"
frmMirage.lblReq.Caption = "Entregar Item: Y"
End If
End Select 'Lembre - Se caso for ter mais alguma classe por o Case antes dessa linha aqui'


Se você Já Fez o Quest level Pule essa parte .

Agora vá ao frmMirage e Crie um Picture , Duas Label e um command Button dentro da Picture e adicione os seguintes padrões

Código:
.::Picture::.
(Name) = picQuest
(Visible) = False

.::Label 1::.
(Name) = lblTitle
(Caption) = "Titulo da Quest"

.::Label 2::.
(Name) = lblReq
(Caption) = "Pegar Level: X"

.::Command Button::.
(Name) = cmbRec
(Caption) = "Aceitar Recompensa"


Clique duas Vezes no cmbRec e adicione o seguinte Code

Código:
':::::::::::::::
':::Quest 1::: By: SkyZero & Ener
':::::::::::::::
Select Case Player(MyIndex).Class
Case 0
If Player(MyIndex).Level <= Y then ' Y = Level Objetivo para completar a missão
Call SendData("q1" & END_CHAR) 'Packet da Quest 1
End If
':::::::::::::::
':::Quest 2::: By: SkyZero & Ener
':::::::::::::::
If Player(MyIndex).Level <= Y then ' Y = Level Objetivo para completar a missão
Call SendData("q2" & END_CHAR) 'Packet da Quest 2
End If
End Select


Agora na frmMirage crie um commandButton ou um Label com os seguintes Padrões

Código:
(Name) = cmbQuest // No caso de Label coloque = lblQuest
(Visible) = True



Clique duas vezes e adicione os Codes

Código:
If picQuest.Visible = False Then
picQuest.Visible = True
else
picQuest.Visible = False
End If



//Client Side Terminado//

|| Server Side ||

Todos devem fazer igualmente como está escrito .

No ModServerTCP Procure por :

Código:
Case "refresh"
                Call Packet_Refresh(Index)
                Exit Sub


Abaixo dele adicione o seguinte Código

Código:
::::::::::::::::
':::Quest 1::: // By: SkyZero & Ener
'::::::::::::::::
Case "q1"
Select Case GetPlayerClass(Index)
Case X 'X = Numero da classe
Call TakeItem(Index, (item1), 1) Then' Item1 = Item que deverar ser entregue O ,1 é a quantidade que ira ser retirada
Call SetPlayerExp(index, GetPlayerExp(Index) + Q) 'Q = Numero de Exp que queira dar de bonus
Call SavePlayer(Index)
Call PlayerMsg(Index, "Você Completou a Missão: Z"), 14)  ' Z =Titulo da Quest
Else
Call PlayerMsg(Index, "Você não entregou os itens Requeridos"), 14)
End If

'::::::::::::::::
':::Quest 2::: // By: SkyZero &Ener
'::::::::::::::::
Case "q2"
Select Case GetPlayerClass(Index)
Case X 'X = Numero da classe
Call TakeItem(Index, (item1), 1) Then' Item1 = Item que deverar ser entregue ' O ,1 é a quantidade que ira ser retirada
Call SetPlayerExp(index, GetPlayerExp(Index) + Q) 'Q = Numero de Exp que queira dar de bonus
Call SavePlayer(Index)
Call PlayerMsg(Index, "Você Completou a Missão: Z"), 14)  ' Z =Titulo da Quest
Else
Call PlayerMsg(Index, "Você não Entregou os itens Requerido"), 14)
End If


//Server Side Finalizado//

~Explicação~
Se quantidade do item X for entregue player Recebe uma recompensa .

Quest Item Terminada .

Duvidas , Erros , Criticas Postem

Créditos : EnerxD Criador do Sistema
SkyZero por adaptar para sistema de coleta de item
DragoNick & OmegaZero por Auxiliar .


Última edição por SkyZero em Ter 10 maio 2011, 19:55, editado 1 vez(es) (Motivo da edição : Erro em 2 linhas .)
SkyZero
SkyZero
Membro Veterano
Membro Veterano

Mensagens : 890

Ir para o topo Ir para baixo

[EEB / EE ]Quest Item System  Empty Re: [EEB / EE ]Quest Item System

Mensagem por Hibari Dom 08 maio 2011, 16:29

Muito bom , topico bem organizado , e acredito que está fucionando tudo certo , não posso afirmar porque não sei mexer com visual basic =P
Hibari
Hibari
Membro
Membro

Mensagens : 131

Ir para o topo Ir para baixo

[EEB / EE ]Quest Item System  Empty Re: [EEB / EE ]Quest Item System

Mensagem por Freitas Dom 08 maio 2011, 18:10

+1 CRéD pelo tuto...
o nome e quest item pq quando vc termina a quest vc ganha um item?
Freitas
Freitas
Membro Vitalicio
Membro Vitalicio

Mensagens : 676

http://dragonball.6te.net

Ir para o topo Ir para baixo

[EEB / EE ]Quest Item System  Empty Re: [EEB / EE ]Quest Item System

Mensagem por SkyZero Dom 08 maio 2011, 18:34

Não , porque você tem que entregar um item para completar a quest .
SkyZero
SkyZero
Membro Veterano
Membro Veterano

Mensagens : 890

Ir para o topo Ir para baixo

[EEB / EE ]Quest Item System  Empty Re: [EEB / EE ]Quest Item System

Mensagem por Lucas Roberto Dom 08 maio 2011, 18:53

Muito bom V-Force ja levo +1 em outro topico
Lucas Roberto
Lucas Roberto
Membro Veterano
Membro Veterano

Mensagens : 1794

http://universogamesmmo.forumeiros.com/forum

Ir para o topo Ir para baixo

[EEB / EE ]Quest Item System  Empty Re: [EEB / EE ]Quest Item System

Mensagem por jeansales Ter 10 maio 2011, 16:47

que merda pq no meu fica vermelho aki

If Player(MyIndex).Level <= Y ' Y = Level Objetivo para

If Player(MyIndex).Level <= Y ' Y = Level Objetivo para completar
jeansales
jeansales
Membro Junior
Membro Junior

Mensagens : 50

Ir para o topo Ir para baixo

[EEB / EE ]Quest Item System  Empty Re: [EEB / EE ]Quest Item System

Mensagem por SkyZero Ter 10 maio 2011, 17:16

que erro da ?
SkyZero
SkyZero
Membro Veterano
Membro Veterano

Mensagens : 890

Ir para o topo Ir para baixo

[EEB / EE ]Quest Item System  Empty Re: [EEB / EE ]Quest Item System

Mensagem por jeansales Ter 10 maio 2011, 17:17

fica vermelho essa parte que eu postei quando eu coloko o codigo no client fica vermelho sem eu ter feito nada
jeansales
jeansales
Membro Junior
Membro Junior

Mensagens : 50

Ir para o topo Ir para baixo

[EEB / EE ]Quest Item System  Empty Re: [EEB / EE ]Quest Item System

Mensagem por SkyZero Ter 10 maio 2011, 18:18

Tire uma foto ampliada e posta por favor para eu poder avalisar o erro .
SkyZero
SkyZero
Membro Veterano
Membro Veterano

Mensagens : 890

Ir para o topo Ir para baixo

[EEB / EE ]Quest Item System  Empty Re: [EEB / EE ]Quest Item System

Mensagem por Lucas Roberto Ter 10 maio 2011, 19:44

Pra começar o erro esta nos codigos olhe os erro em negritos

If Player(MyIndex).Level <= Y ' Y = Level Objetivo para

If Player(MyIndex).Level <= Y ' Y = Level Objetivo para completar

esse sistema não foi adaptado no Elysium esta incompleto...
esse sistema foi feito para eclipse e ainda não foi adaptado para Elysium
Lucas Roberto
Lucas Roberto
Membro Veterano
Membro Veterano

Mensagens : 1794

http://universogamesmmo.forumeiros.com/forum

Ir para o topo Ir para baixo

[EEB / EE ]Quest Item System  Empty Re: [EEB / EE ]Quest Item System

Mensagem por SkyZero Ter 10 maio 2011, 19:53

Nops eu utilizo ele e está igualzinho é que está faltando o then

o Certo seria :

If Player(MyIndex).Level <= Y Then ' Y = Level Objetivo para

SkyZero
SkyZero
Membro Veterano
Membro Veterano

Mensagens : 890

Ir para o topo Ir para baixo

[EEB / EE ]Quest Item System  Empty Re: [EEB / EE ]Quest Item System

Mensagem por Gu1lh3rm3 Ter 21 Ago 2012, 04:18

na parte do servidor tem erros ai mano '-', sauhsua, eu tava lendo aqui os codigos e acabei achando o-ó

Código:

::::::::::::::::
':::Quest 1::: // By: SkyZero & Ener
'::::::::::::::::
Case
 "q1"
Select Case GetPlayerClass(Index)
Case X 'X = Numero da
classe
Call TakeItem(Index, (item1), 1) Then' Item1 = Item que
deverar ser entregue O ,1 é a quantidade que ira ser retirada
Call
SetPlayerExp(index, GetPlayerExp(Index) + Q) 'Q = Numero de Exp que
queira dar de bonus
Call SavePlayer(Index)
Call PlayerMsg(Index,
"Você Completou a Missão: Z"), 14)  ' Z =Titulo da Quest
Else
Call
 PlayerMsg(Index, "Você não entregou os itens Requeridos"), 14)
End
If

'::::::::::::::::
':::Quest 2::: // By: SkyZero &Ener
'::::::::::::::::
Case
 "q2"
Select Case GetPlayerClass(Index)
Case X 'X = Numero da
classe
Call TakeItem(Index, (item1), 1) Then' Item1 = Item que
deverar ser entregue ' O ,1 é a quantidade que ira ser retirada
Call
SetPlayerExp(index, GetPlayerExp(Index) + Q) 'Q = Numero de Exp que
queira dar de bonus
Call SavePlayer(Index)
Call PlayerMsg(Index,
"Você Completou a Missão: Z"), 14)  ' Z =Titulo da Quest
Else
Call
 PlayerMsg(Index, "Você não Entregou os itens Requerido"), 14)
End If

se vocês repararam vai ter

Call
PlayerMsg(Index, "Você não Entregou os itens Requerido"), 14)


antes da virgula do 14 tem um ) apague isso [EEB / EE ]Quest Item System  256397, e tem dois then nada a ver tambem '-', apague eles se nao da erros '-'
Gu1lh3rm3
Gu1lh3rm3
Membro de Honra
Membro de Honra

Mensagens : 1232

http://www.extremedbz.eu5.org

Ir para o topo Ir para baixo

[EEB / EE ]Quest Item System  Empty Re: [EEB / EE ]Quest Item System

Mensagem por M.Dutra Ter 21 Ago 2012, 06:43

Gu1lh3rm3 não é só isso que está errado não, tem muita coisa errada ai, muita gente andou falando que o TakeItem está bugado mais não está coisa nenhuma o TakeItem é programado para verificar se você tem o item se tem tira-lo se não tem não nada faz, Exemplo se eu quero que esse código verifique se eu tenho o item "1" sem aspas eu farei assim:

Código:
Case "q1"
Select Case GetPlayerClass(Index)
Case 1
If HasItem(index, 1) Then
Call TakeItem(Index, 1, 1)
Call SetPlayerExp(index, GetPlayerExp(Index) + 100)
Call SavePlayer(Index)
Call PlayerMsg(Index, "Você Completou a Missão: Z", 14)
Else
Call PlayerMsg(Index, "Você não entregou os itens Requeridos", 14)
End If

Lembrando fiz pela lógica não testei, Boa Sorte.

...:::Edição:::...
Verificação de level pelo cliente? prevejo WPE PRO.
e Gu1lh3rm3 você reviveu um tópico de 2011 não irei trancar pois é um tópico de tutorial.

...:::Edição²:::...
Else e End If sem abrir um If? Oh My God
Você só pode usar Else e/ou End If se Abrir um If Exemplo
If M.DutraGostoso(index) = True Then
Call PlayerMsg(index, "Gatão em Wink", Red)
Else
Call PlayerMsg(index, "Feio .-.", Red)
End If

Atenciosamente, M.Dutra
M.Dutra
M.Dutra
Membro Junior
Membro Junior

Mensagens : 94

Ir para o topo Ir para baixo

[EEB / EE ]Quest Item System  Empty Re: [EEB / EE ]Quest Item System

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