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.

Sistema de Duelo

+8
ismael251
Kisuke
RenanR
Eduardo
Thales12
twisterbk
Sαkurαy
M.Dutra
12 participantes

Ir para baixo

Sistema de Duelo Empty Sistema de Duelo

Mensagem por M.Dutra Sex 16 Mar 2012, 03:20

Olá eu sou o M.Dutra e venho aqui postar esse sistema que fiz a pedido do marquito01

Client~Side

Crie uma picture assim:

Sistema de Duelo 35i1uzq

Renomeie a picture para "picPVPRequest" e a label que está escrito jogador para "lblPVPplayer". Agora dê duplo clique na label 'Aceitar', logo, estaremos no evento Click dela, aí coloque:
Código:
 picPVPRequest.Visible = False
SendAcceptPVP

E a mesma coisa, mas na label 'Rejeitar':
Código:
 picPVPRequest.Visible = False
SendDeclinePVP

Procure por:
Código:
Case "/debug"

Abaixo dessa case adicione:
Código:
Case "/lutar"
If Len(MyText) > 7 Then
ChatText = Mid$(MyText, 8, Len(MyText) - 7)
SendPVPRequest ChatText
Else
AddText "Use: /lutar ", AlertColor
End If

Procure por:
Código:
Sub SendDeclineParty()

Abaixo Adicione:
Código:
Sub SendPVPRequest(ByVal Name As String)
Dim Buffer As clsBuffer

If Options.Debug = 1 Then On Error GoTo Errorhandler

Set Buffer = New clsBuffer
Buffer.WriteLong CPvp
Buffer.WriteString Name
SendData Buffer.ToArray()
Set Buffer = Nothing

'Error Handler
Exit Sub
Errorhandler:
HandleError "SendPVPRequested", "modClientTCP", Err.Number, Err.Description, Err.Source, Err.HelpContext
Err.Clear
Exit Sub
End Sub

Sub SendDeclinePVP()
Dim Buffer As clsBuffer

If Options.Debug = 1 Then On Error GoTo Errorhandler

Set Buffer = New clsBuffer
Buffer.WriteLong CDPvp
SendData Buffer.ToArray()
Set Buffer = Nothing

'Error Handler
Exit Sub
Errorhandler:
HandleError "SendDeclinePVP", "modClientTCP", Err.Number, Err.Description, Err.Source, Err.HelpContext
Err.Clear
Exit Sub
End Sub

Sub SendAcceptPVP()
Dim Buffer As clsBuffer

If Options.Debug = 1 Then On Error GoTo Errorhandler

Set Buffer = New clsBuffer
Buffer.WriteLong CAPvp
SendData Buffer.ToArray()
Set Buffer = Nothing

'Error Handler
Exit Sub
Errorhandler:
HandleError "SendAcceptPVP", "modClientTCP", Err.Number, Err.Description, Err.Source, Err.HelpContext
Err.Clear
Exit Sub
End Sub

Procure Por:
Código:
' Make sure CMSG_COUNT is below everything else
CMSG_COUNT

Acima disso adicione:
Código:
CPvp
CDPvp
CAPvp

Server~Side

Vá na Type PlayerRec

e Em baixo de:
Código:
PK As Byte

Adicione:

Código:
PVPPlayer As Long

Procure Por:
Código:
' Make sure CMSG_COUNT is below everything else
CMSG_COUNT

Acima Adicione:
Código:
CPvp
CDPvp
CAPvp


Agora Procure por:
Código:
HandleDataSub(CPartyLeave) = GetAddress(AddressOf HandlePartyLeave)

Abaixo adicione:
Código:
HandleDataSub(CPvp) = GetAddress(AddressOf HandlePvp)
HandleDataSub(CAPvp) = GetAddress(AddressOf HandleAcceptPvp)
HandleDataSub(CDPvp) = GetAddress(AddressOf HandleDeclinePVP)

Agora adicione isso no final do modHandleData:
Código:
Sub HandlePvp(ByVal index As Long, ByRef Data() As Byte, ByVal StartAddr As Long, ByVal ExtraVar As Long)
Dim N As Byte
Dim Buffer As clsBuffer
Set Buffer = New clsBuffer
N = FindPlayer(Buffer.ReadString) 'Parse(1))

If N < 1 Then
PlayerMsg index, N & " não está online.", White
Exit Sub
End If

If N = index Then
Exit Sub
End If

PlayerMsg index, "O pedido de luta foi enviado para " & GetPlayerName(N) & ".", Pink
PlayerMsg N, GetPlayerName(index) & " quer lutar com você.", Pink
Player(N).PVPPlayer = index
Player(index).PVPPlayer = N

PVPRequestWindow N, index
End Sub

Sub HandleAcceptPvp(ByVal index As Long, ByRef Data() As Byte, ByVal StartAddr As Long, ByVal ExtraVar As Long)
Dim N As Byte
N = Player(index).PVPPlayer

If N > 0 Then
PlayerWarp N, 1, 10, 10 ' Mapa da "arena"
PlayerWarp index, 1, 11, 10 ' Mapa da "arena"
GlobalMsg GetPlayerName(index) & " e " & GetPlayerName(N) & " irão lutar, na arena. Boa sorte!", Pink
Else
PlayerMsg index, "Jogador não está mais online.", White
Exit Sub
End If
End Sub

Sub HandleDeclinePVP(ByVal index As Long, ByRef Data() As Byte, ByVal StartAddr As Long, ByVal ExtraVar As Long)
Dim N As Byte
N = Player(index).PVPPlayer

If N > 0 Then
PlayerMsg index, "O pedido de luta foi rejeitado.", Pink
PlayerMsg N, GetPlayerName(index) & " rejeitou seu pedido de luta.", Pink
End If
End Sub

Procure Por:
Código:
Sub SendSpawnItemToMap(ByVal mapNum As Long, ByVal Index As Long)

Abaixo dessa sub adicione:
Código:
Sub PVPRequestWindow(ByVal Index As Long, ByVal Inviter As Long)
Dim Buffer As clsBuffer

Set Buffer = New clsBuffer
Buffer.WriteLong SPvpWindow
Buffer.WriteByte Inviter
SendDataTo Index, Buffer.ToArray()
Set Buffer = Nothing
End Sub

Procure Por:

Código:
' Make sure SMSG_COUNT is below everything else
SMSG_COUNT

Acima adicione:

Código:
SPvpWindow

Volte ao Cliente Side

e procure por:
Código:
' Make sure SMSG_COUNT is below everything else
SMSG_COUNT

Acima Adicione:
Código:
SPvpWindow

Agora Procure Por:
Código:
HandleDataSub(SPartyVitals) = GetAddress(AddressOf HandlePartyVitals)

Abaixo Adicione:
Código:
HandleDataSub(SPvpWindow) = GetAddress(AddressOf HandlePvpWinndow)

Agora no final do modHandleData Adicione:

Código:
Sub HandlePvpWindow(ByVal Index As Long, ByRef Data() As Byte, ByVal StartAddr As Long, ByVal ExtraVar As Long)

' If debug mode, handle error then exit out
If Options.Debug = 1 Then On Error GoTo Errorhandler

frmMain.lblPVPplayer.Caption = "% Jogador %"
frmMain.picPVPRequest.Visible = True

' Error handler
Exit Sub
Errorhandler:
HandleError "HandlePvpWindow", "modHandleData", Err.Number, Err.Description, Err.Source, Err.HelpContext
Err.Clear
Exit Sub
End Sub

Qualquer erro avise aqui no tópico.

Pronto usando o sistema dê /lutar em seguida nome do player exemplo:

/lutar M.Dutra

Ajudei? Agradeça dê 1 crédito

Pronto seu sistema está pronto Sistema de Duelo 487483

...:::Créditos:::...
M.Dutra por Fazer
Hadesfree por deixa eu postar esse sistema pois tenho um contrato de exclusividade, isto é, programador exclusivo.

Lenon por fazer pra elysium diamond(-q Ideia)

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

Mensagens : 94

Ir para o topo Ir para baixo

Sistema de Duelo Empty Re: Sistema de Duelo

Mensagem por Sαkurαy Sex 16 Mar 2012, 09:14

Muito bom, testarei depois
Sαkurαy
Sαkurαy
Membro Veterano
Membro Veterano

Mensagens : 1386

Ir para o topo Ir para baixo

Sistema de Duelo Empty Re: Sistema de Duelo

Mensagem por twisterbk Sex 16 Mar 2012, 09:15

Isso aqui é de EO ou EE?
twisterbk
twisterbk
Membro
Membro

Mensagens : 173

Ir para o topo Ir para baixo

Sistema de Duelo Empty Re: Sistema de Duelo

Mensagem por M.Dutra Sex 16 Mar 2012, 09:20

twisterbk escreveu:Isso aqui é de EO ou EE?

Aqui é eclipse origins e lembrando qualquer erro duvida pode postar aqui no tópico que tentarei resolver.
M.Dutra
M.Dutra
Membro Junior
Membro Junior

Mensagens : 94

Ir para o topo Ir para baixo

Sistema de Duelo Empty Re: Sistema de Duelo

Mensagem por Thales12 Sex 16 Mar 2012, 12:12

hsuahushasa, eu ia postar isso hj ;D
mais vc chego primeiro g-g
bom bom.. mt bom ! Smile
parabens +1
Thales12
Thales12
Membro Veterano
Membro Veterano

Mensagens : 1011

http://www.rdmgames.tk

Ir para o topo Ir para baixo

Sistema de Duelo Empty Re: Sistema de Duelo

Mensagem por Eduardo Sex 16 Mar 2012, 13:54

muito bom tuto vlw ] uma duvida quando mais de dois jogadores quiserem ir para a arena oq aconteçe nao nada com arena cheia ou algo do tipo


Última edição por eduardo002 em Sex 16 Mar 2012, 14:08, editado 2 vez(es)
Eduardo
Eduardo
Membro Veterano
Membro Veterano

Mensagens : 1178

Ir para o topo Ir para baixo

Sistema de Duelo Empty Re: Sistema de Duelo

Mensagem por RenanR Sex 16 Mar 2012, 14:01

Bom tutorial parabéns!

+1
RenanR
RenanR
Membro Veterano
Membro Veterano

Mensagens : 1048

Ir para o topo Ir para baixo

Sistema de Duelo Empty Re: Sistema de Duelo

Mensagem por Kisuke Sáb 17 Mar 2012, 08:25

Se a área for livre,então outras pessoas poderão interferir no meu PVP... ou os lutadores vão para algum mapa ou "arena"
OBS:não vi os códigos direito...
Kisuke
Kisuke
Membro Vitalicio
Membro Vitalicio

Mensagens : 567

http://www.redtube.com

Ir para o topo Ir para baixo

Sistema de Duelo Empty Re: Sistema de Duelo

Mensagem por Eduardo Sáb 17 Mar 2012, 10:50

bom sei q eles vao para um map por causa desse codigo aki ooh


PlayerWarp N, 1, 10, 10 ' Mapa da "arena"
PlayerWarp index, 1, 11, 10 ' Mapa da "arena"
Eduardo
Eduardo
Membro Veterano
Membro Veterano

Mensagens : 1178

Ir para o topo Ir para baixo

Sistema de Duelo Empty Re: Sistema de Duelo

Mensagem por Sαkurαy Sáb 07 Abr 2012, 15:41

Se eu tiver pvp na arena, e outro grupo vier, vai interferir?
Sαkurαy
Sαkurαy
Membro Veterano
Membro Veterano

Mensagens : 1386

Ir para o topo Ir para baixo

Sistema de Duelo Empty Re: Sistema de Duelo

Mensagem por ismael251 Seg 09 Abr 2012, 17:27

Sakuuray Pelho que vi nos codigos vai interferir sim tiver mais jogadores usando aquel comando "/lutar" mais vou dar uma otima idea para voce fazer no seu jogo.
1º cria outro map para outros jogadores ir no pvp sem usar o comando.
2º criar um Timer depois de usar o comando /lutar para elhes sair da luta sem interferir outros jogadores.
3º ou edite o codigo com varios mapas para escolher diversos mapas.
ismael251
ismael251
Membro Junior
Membro Junior

Mensagens : 58

Ir para o topo Ir para baixo

Sistema de Duelo Empty Re: Sistema de Duelo

Mensagem por lraniel Qua 06 Jun 2012, 19:09

subscript 9 error.
@EDIT: Tinha esquecido de deletar os char

Fix: Para quem for botar este sistema, repare que na penúltima parte tem um pequeno erro de digitação
que irá trazer um erro na compilação depois.
Faça o seguinte:
Na parte que tem
HandleDataSub(SPvpWindow) = GetAddress(AddressOf HandlePvpWinndow)

Modifique para:
Código:
HandleDataSub(SPvpWindow) = GetAddress(AddressOf HandlePvpWindow)

OBS: A pic, sempre irá ficar à amostra quando entrar no jogo, para isso não ocorrer é só mudar para invisible, a pic lógico.
lraniel
lraniel
Membro
Membro

Mensagens : 240

Ir para o topo Ir para baixo

Sistema de Duelo Empty Re: Sistema de Duelo

Mensagem por junior15 Qua 06 Jun 2012, 20:59

eu tb fiz este sistema mas deu erro Sistema de Duelo 1574364447
junior15
junior15
Membro
Membro

Mensagens : 127

Ir para o topo Ir para baixo

Sistema de Duelo Empty Re: Sistema de Duelo

Mensagem por lraniel Qui 07 Jun 2012, 08:29

olha o meu post em cima do seu talvez concerte.
lraniel
lraniel
Membro
Membro

Mensagens : 240

Ir para o topo Ir para baixo

Sistema de Duelo Empty Re: Sistema de Duelo

Mensagem por LordChaoss Sáb 09 Fev 2013, 11:22

M.Dutra escreveu:
twisterbk escreveu:Isso aqui é de EO ou EE?

Aqui é eclipse origins e lembrando qualquer erro duvida pode postar aqui no tópico que tentarei resolver.
O meu deu esse erro no client na hr de compilarhttps://2img.net/r/ihimg/f/689/semttulouey.png/
LordChaoss
LordChaoss
Novato
Novato

Mensagens : 8

Ir para o topo Ir para baixo

Sistema de Duelo Empty Re: Sistema de Duelo

Mensagem por Sweeps Sáb 09 Fev 2013, 11:29

Revivendo Topico *-* Coisa feia

por M.Dutra em Sex 16 Mar 2012, 04:20
Sweeps
Sweeps
Membro Sênior
Membro Sênior

Mensagens : 286

Ir para o topo Ir para baixo

Sistema de Duelo Empty Re: Sistema de Duelo

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