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.

[ALL]Comando Pvp

5 participantes

Ir para baixo

[ALL]Comando Pvp Empty [ALL]Comando Pvp

Mensagem por Lendário Qui 25 Fev 2010, 21:33

Bom, faz algum tempo que eu fiz isso, mas não sabia que existia ainda Very Happy
Fuçando no meu antigo PC, achei ele em um projeto do DBB e como achei simples, vou disponibilizar...

Client~Side

Crie uma picture assim:

[ALL]Comando Pvp 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
    Call SendAcceptPVP

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

Procure por:
Código:
Private Sub picPlayerSpells_MouseMove(Button As Integer, Shift As Integer, x As Single, y As Single)
    Call MovePicture(frmMirage.picPlayerSpells, Button, Shift, x, y)
End Sub

Abaixo adicione:
Código:
Private Sub picPVPRequest_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)
    SOffsetX = x
    SOffsetY = y
    Call picPVPRequest.ZOrder(O)
End Sub

Private Sub picPVPRequest_MouseMove(Button As Integer, Shift As Integer, x As Single, y As Single)
    Call MovePicture(frmMirage.picPVPRequest, Button, Shift, x, y)
End Sub

Procure por:
Código:
        ' Leave party
        If LCase$(Mid(MyText, 1, 6)) = "/sair" Then
            Call SendLeaveParty
            MyText = vbNullString
            Exit Sub
        End If

Abaixo adicione:
Código:
        ' PVP request
        If LCase(Mid(MyText, 1, 6)) = "/lutar" Then
            If Len(MyText) > 7 Then
                ChatText = Mid(MyText, 8, Len(MyText) - 7)
                Call SendPVPRequest(ChatText)
            Else
                Call AddText("Use: /lutar <nome do jogador>", AlertColor)
            End If
            MyText = vbNullString
            Exit Sub
        End If

Procure por:
Código:
Sub SendLeaveParty()
Dim Packet As String

    Packet = "LEAVEPARTY" & END_CHAR
    Call SendData(Packet)
End Sub

Abaixo adicione:
Código:
Sub SendPVPRequest(ByVal Name As String)
Dim Packet As String

    Packet = "PVP" & SEP_CHAR & Name & END_CHAR
    Call SendData(Packet)
End Sub

Sub SendDeclinePVP()
Dim Packet As String

    Packet = "DPVP" & END_CHAR
    Call SendData(Packet)
End Sub

Sub SendAcceptPVP()
Dim Packet As String

    Packet = "APVP" & END_CHAR
    Call SendData(Packet)
End Sub

Procure por:
Código:
    ' ::::::::::::::::::::::::::
    ' :: Trade request window ::
    ' ::::::::::::::::::::::::::
    If Parse(0) = "tradewindow" Then
        frmMirage.lblTradePlayer.Caption = GetPlayerName(Val(Parse(1)))
        frmMirage.picTradeRequest.Visible = True
        Exit Sub
    End If

Abaixo adicione:
Código:
    ' ::::::::::::::::::::::::
    ' :: PVP request window ::
    ' ::::::::::::::::::::::::
    If Parse(0) = "pvpwindow" Then
        frmMirage.lblPVPplayer.Caption = GetPlayerName(Val(Parse(1)))
        frmMirage.picPVPRequest.Visible = True
        Exit Sub
    End If

Server~Side

Procure por:
Código:
ChatPlayer As Long

Abaixo adicione:
Código:
PVPPlayer As Long

Procure por:
Código:
        Case "dtrade"
            N = Player(Index).TradePlayer

            ' Check if anyone trade with player
            If N < 1 Then
                Call PlayerMsg(Index, "Ninguém pediu para negociar com você.", Pink)
                Exit Sub
            End If

            Call PlayerMsg(Index, "O pedido de negociação foi rejeitado.", Pink)
            Call PlayerMsg(N, GetPlayerName(Index) & " rejeitou seu pedido de negociação.", Pink)
            Player(Index).TradePlayer = 0
            Player(Index).InTrade = 0
            Player(N).TradePlayer = 0
            Player(N).InTrade = 0
            Exit Sub

Abaixo adicione:
Código:
        Case "pvp"
            N = FindPlayer(Parse(1))

            If N < 1 Then
                Call PlayerMsg(Index, Parse(1) & " não está online.", White)
                Exit Sub
            End If

            If N = Index Then
                Exit Sub
            End If

            Call PlayerMsg(Index, "O pedido de luta foi enviado para " & GetPlayerName(N) & ".", Pink)
            Call PlayerMsg(N, GetPlayerName(Index) & " quer lutar com você.", Pink)
            Player(N).PVPPlayer = Index
            Player(Index).PVPPlayer = N
           
                Call PVPRequestWindow(N, Index)
            Exit Sub
           
        Case "apvp"
            N = Player(Index).PVPPlayer
           
            If N > 0 Then
                Call PlayerWarp(N, 1, 10, 10) ' Mapa da "arena"
                Call PlayerWarp(Index, 1, 11, 10) ' Mapa da "arena"
                Call SendDataTo(N, "sound" & SEP_CHAR & "Teleporte" & END_CHAR)
                Call SendDataTo(Index, "sound" & SEP_CHAR & "Teleporte" & END_CHAR)
                Call GlobalMsg(GetPlayerName(Index) & " e " & GetPlayerName(N) & " irão lutar, na arena. Boa sorte!", Pink)
            Else
                Call PlayerMsg(Index, "Jogador não está mais online.", White)
                Exit Sub
            End If
        Exit Sub
       
        Case "dpvp"
            N = Player(Index).PVPPlayer

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

E para finalizar, procure por:
Código:
Sub ChatRequestWindow(ByVal Index As Long, ByVal Inviter As Long)
    Dim Packet As String

    Packet = "CHATWINDOW" & SEP_CHAR & Inviter & END_CHAR
    Call SendDataTo(Index, Packet)
End Sub

Abaixo adicione:
Código:
Sub PVPRequestWindow(ByVal Index As Long, ByVal Inviter As Long)
    Dim Packet As String

    Packet = "PVPWINDOW" & SEP_CHAR & Inviter & END_CHAR
    Call SendDataTo(Index, Packet)
End Sub

É isso, nada de mais. Bom, quando alguém digitar:


Aí ambos os jogadores irão para um mapa determinado. Qualquer erro, basta avisar.
Até a próxima Idea
Escrito por Lenon Exclamation
Lendário
Lendário
Administrador Lendário
Administrador Lendário

Mensagens : 1958

Ir para o topo Ir para baixo

[ALL]Comando Pvp Empty Re: [ALL]Comando Pvp

Mensagem por Lucas Lôpo Qui 25 Fev 2010, 21:38

Eu tava vendo esse tuto muito bom...
Lucas Lôpo
Lucas Lôpo
Membro Veterano
Membro Veterano

Mensagens : 833

Ir para o topo Ir para baixo

[ALL]Comando Pvp Empty Re: [ALL]Comando Pvp

Mensagem por Yoshiiro Sáb 06 Mar 2010, 18:56

Muito bom ²
Yoshiiro
Yoshiiro
Novato
Novato

Mensagens : 35

Ir para o topo Ir para baixo

[ALL]Comando Pvp Empty Re: [ALL]Comando Pvp

Mensagem por Karlos Sáb 06 Mar 2010, 22:14

eu tava querendo + ainda te devo 1/300 da minha vida
é pq eu to devendo muito a minha vida ppor isso eu to te devendo só isso Very Happy
Karlos
Karlos
Membro Veterano
Membro Veterano

Mensagens : 2851

http://www.talack.com.br

Ir para o topo Ir para baixo

[ALL]Comando Pvp Empty Re: [ALL]Comando Pvp

Mensagem por Pablo Ter 09 Mar 2010, 09:17

lol eu procurei esse tão de ' Leave party

mais não achei e no meu vb não tem esse ' Leave party
If LCase$(Mid(MyText, 1, 6)) = "/sair" Then
Call SendLeaveParty
MyText = vbNullString
Exit Sub
End If

alguem me ajuda ai ??? preciso desse tuto
Pablo
Pablo
Moderador Global
Moderador Global

Mensagens : 1371

Ir para o topo Ir para baixo

[ALL]Comando Pvp Empty Re: [ALL]Comando Pvp

Mensagem por Yoshiiro Ter 09 Mar 2010, 12:06

Se você não achou por:
Código:
' Leave party

tente procurar por:
Código:
If LCase$(Mid(MyText, 1, 6)) = "/sair" Then

Se você não achar, estranho ;o

-
ERRO!

Fui fazer denovo deu erro nessa linha aqui:
Código:
        frmMirage.lblPVPplayer.Caption = GetPlayerName(Val(Parse(1)))
Qual erro? Esse:
Compile error: Method or data member not found.

Alguma Luz ?
Yoshiiro
Yoshiiro
Novato
Novato

Mensagens : 35

Ir para o topo Ir para baixo

[ALL]Comando Pvp Empty Re: [ALL]Comando Pvp

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