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.

[Dúvida] Sistema de Shenlong.

2 participantes

Ir para baixo

[Dúvida] Sistema de Shenlong. Empty [Dúvida] Sistema de Shenlong.

Mensagem por JuninhoCouto Dom 18 Ago 2013, 13:12

Título: Sistema de Shenlong.

Engine: Elysium

Versão da Engine: EEB 2.6

Dúvida: PRECISO URGENTE DE UM SISTEMA DE SHENLONG.

Exemplo:
Queria fazer tipo uma loja normal msm, só que al invez de pedir um item só pedir 7.
e criar um botao na mirage com o nome shenlong...
mas só abri a pic se tiver os 7 items, que ai essa pic sera a loja e tera uns itens pra escolher....
JuninhoCouto
JuninhoCouto
Novato
Novato

Mensagens : 10

Ir para o topo Ir para baixo

[Dúvida] Sistema de Shenlong. Empty Re: [Dúvida] Sistema de Shenlong.

Mensagem por -DarkninoxD- Dom 18 Ago 2013, 13:25

Baixe a frmShenlong clicando aqui e adicione-a no seu projeto(Cliente-Side).

Vá na frmMirage e adicione um Timer com nome de tmrShen com interval 1000. Dê dois cliques nele e adicione:
Código:
If frmShenlong.Visible = True Then
frmMirage.Enabled = False
Else
frmMirage.Enabled = True
End If
Procure por:
Código:
Function CanMove() As Boolean
Dim I As Long, d As Long
Dim x As Long, y As Long

    CanMove = True
Abaixo adicione:
Código:
If frmShenlong.Visible = True Then
        CanMove = False
        Exit Function
    End If
Na Public Sub UpdateVisInv() abaixo de:
Código:
Next Index
    
    For Index = 1 To MAX_INV
        If GetPlayerShieldSlot(MyIndex) = Index Then Call BitBlt(frmMirage.ShieldImage.hDC, 0, 0, PIC_X, PIC_Y, frmMirage.picItems.hDC, (Item(GetPlayerInvItemNum(MyIndex, Index)).Pic - Int(Item(GetPlayerInvItemNum(MyIndex, Index)).Pic / 6) * 6) * PIC_X, Int(Item(GetPlayerInvItemNum(MyIndex, Index)).Pic / 6) * PIC_Y, SRCCOPY)
        If GetPlayerWeaponSlot(MyIndex) = Index Then Call BitBlt(frmMirage.WeaponImage.hDC, 0, 0, PIC_X, PIC_Y, frmMirage.picItems.hDC, (Item(GetPlayerInvItemNum(MyIndex, Index)).Pic - Int(Item(GetPlayerInvItemNum(MyIndex, Index)).Pic / 6) * 6) * PIC_X, Int(Item(GetPlayerInvItemNum(MyIndex, Index)).Pic / 6) * PIC_Y, SRCCOPY)
        If GetPlayerHelmetSlot(MyIndex) = Index Then Call BitBlt(frmMirage.HelmetImage.hDC, 0, 0, PIC_X, PIC_Y, frmMirage.picItems.hDC, (Item(GetPlayerInvItemNum(MyIndex, Index)).Pic - Int(Item(GetPlayerInvItemNum(MyIndex, Index)).Pic / 6) * 6) * PIC_X, Int(Item(GetPlayerInvItemNum(MyIndex, Index)).Pic / 6) * PIC_Y, SRCCOPY)
        If GetPlayerArmorSlot(MyIndex) = Index Then Call BitBlt(frmMirage.ArmorImage.hDC, 0, 0, PIC_X, PIC_Y, frmMirage.picItems.hDC, (Item(GetPlayerInvItemNum(MyIndex, Index)).Pic - Int(Item(GetPlayerInvItemNum(MyIndex, Index)).Pic / 6) * 6) * PIC_X, Int(Item(GetPlayerInvItemNum(MyIndex, Index)).Pic / 6) * PIC_Y, SRCCOPY)
Adicione:
Código:
Call BitBlt(frmShenlong.ArmorImage.hDC, 0, 0, PIC_X, PIC_Y, frmMirage.picItems.hDC, (Item(1).Pic - Int(Item(1).Pic / 6) * 6) * PIC_X, Int(Item(1).Pic / 6) * PIC_Y, SRCCOPY)
Call BitBlt(frmShenlong.ShieldImage.hDC, 0, 0, PIC_X, PIC_Y, frmMirage.picItems.hDC, (Item(1).Pic - Int(Item(1).Pic / 6) * 6) * PIC_X, Int(Item(1).Pic / 6) * PIC_Y, SRCCOPY)
Call BitBlt(frmShenlong.HelmethImage.hDC, 0, 0, PIC_X, PIC_Y, frmMirage.picItems.hDC, (Item(1).Pic - Int(Item(1).Pic / 6) * 6) * PIC_X, Int(Item(1).Pic / 6) * PIC_Y, SRCCOPY)
Call BitBlt(frmShenlong.SpellImage.hDC, 0, 0, PIC_X, PIC_Y, frmMirage.picItems.hDC, (Item(1).Pic - Int(Item(1).Pic / 6) * 6) * PIC_X, Int(Item(1).Pic / 6) * PIC_Y, SRCCOPY)
Call BitBlt(frmShenlong.ValeVipImage.hDC, 0, 0, PIC_X, PIC_Y, frmMirage.picItems.hDC, (Item(1).Pic - Int(Item(1).Pic / 6) * 6) * PIC_X, Int(Item(1).Pic / 6) * PIC_Y, SRCCOPY)
Call BitBlt(frmShenlong.BallImage.hDC, 0, 0, PIC_X, PIC_Y, frmMirage.picItems.hDC, (Item(1).Pic - Int(Item(1).Pic / 6) * 6) * PIC_X, Int(Item(1).Pic / 6) * PIC_Y, SRCCOPY)
Procure por:
Código:
If Parse(0) = "itembreak" Then
        ItemDur(Val(Parse(1))).Item = Val(Parse(2))
        ItemDur(Val(Parse(1))).Dur = Val(Parse(3))
        ItemDur(Val(Parse(1))).done = 1
        Exit Sub
    End If
Abaixo ponha:
Código:
If Parse(0) = "fecharfrm" Then
    frmShenlong.Visible = False
    frmShenlong.tmrShen.Enabled = False
    Call SendData("tiranoite" & END_CHAR)
    Exit Sub
    End If
    If Parse(0) = "abrirfrmetal" Then
    frmShenlong.Visible = True
    frmShenlong.tmrShen.Enabled = True
    frmShenlong.Label4.Caption = 180
    Exit Sub
    End If
    If Parse(0) = "codigosnoite" Then
    Call SendData("codigonoite" & END_CHAR)
    Exit Sub
    End If
Procure:
Código:
' :::::::::::::::::
    ' :: Time packet ::
    ' :::::::::::::::::
Deixe a packet assim:
Código:
' :::::::::::::::::
    ' :: Time packet ::
    ' :::::::::::::::::
    If (Parse(0) = "time") Then
        GameTime = Val(Parse(1))
        If GameTime = TIME_DAY Then
            Call AddText("O Dia foi Restaurado!.", Red)
        Else
            Call SendData("shenlongmsgname" & END_CHAR)
        End If
        Exit Sub
    End If
Cliente Terminado - Server side:
Procure por:
Código:
Case "sendchat"
            N = Player(index).ChatPlayer

            If N < 1 Then
                Call PlayerMsg(index, "Ninguém pediu para conversar com você.", Pink)
                Exit Sub
            End If

            Call SendDataTo(N, "sendchat" & SEP_CHAR & Parse(1) & SEP_CHAR & index & END_CHAR)
            Exit Sub
Abaixo ponha:
Código:
Case "botarnoite"
            If HasItem(index, 1) And HasItem(index, 2) And HasItem(index, 3) And HasItem(index, 4) And HasItem(index, 5) And HasItem(index, 6) And HasItem(index, 7) Then
            Call Polunga(index)
            Call GiveItem(index, 550, 1)
            Call SendDataTo(index, "abrirfrmetal" & END_CHAR)
            Call SendDataTo(index, "codigosnoite" & END_CHAR)
            Else
            Call PlayerMsg(index, "Você Não tem todas as esferas", 15)
            End If
            Exit Sub
            
        Case "codigonoite"
            If GameTime = TIME_DAY Then
                GameTime = TIME_NIGHT
            End If
            Call SendTimeToAll
            Exit Sub
            
        Case "item1"
            Call Shenlong(index, 500)
            Call SendDataTo(index, "fecharfrm" & END_CHAR)
            Exit Sub
            
        Case "item2"
            Call Shenlong(index, 501)
            Call SendDataTo(index, "fecharfrm" & END_CHAR)
            Exit Sub
            
        Case "item3"
            Call Shenlong(index, 502)
            Call SendDataTo(index, "fecharfrm" & END_CHAR)
            Exit Sub
            
        Case "item4"
            Call Shenlong(index, 503)
            Call SendDataTo(index, "fecharfrm" & END_CHAR)
            Exit Sub
            
        Case "item5"
            Call Shenlong(index, 504)
            Call SendDataTo(index, "fecharfrm" & END_CHAR)
            Exit Sub
            
        Case "item6"
            Call Shenlong(index, 505)
            Call SendDataTo(index, "fecharfrm" & END_CHAR)
            Exit Sub
            
        Case "tiranoite"
            If GameTime = TIME_NIGHT Then
                GameTime = TIME_DAY
            End If
            Call SendTimeToAll
            Exit Sub

Case "shenlongmsgname"
        Call GlobalMsg(GetPlayerName(index) & " Invocou o ShenLong!", Yellow)
        Exit Sub
No final do modServerTCP adicione:
Código:
Sub Shenlong(ByVal index As Long, ItemGanhar As Long)
    'If HasItem(index, 550) Then
        'Call TakeItem(index, 550, 1)
        Call GiveItem(index, ItemGanhar, 1)
        Call PlayerMsg(index, "Parábens Seu Desejo foi Realizado com Sucesso!", 15)
   ' Else
        'Call PlayerMsg(index, "Desculpe Você não pode pegar um item sem ter o ticket!", 15)
   ' End If
End Sub

Sub Polunga(index)
    Call TakeItem(index, 1, 1)
    Call TakeItem(index, 2, 1)
    Call TakeItem(index, 3, 1)
    Call TakeItem(index, 4, 1)
    Call TakeItem(index, 5, 1)
    Call TakeItem(index, 6, 1)
    Call TakeItem(index, 7, 1)
End Sub
OBS: Retirei o requerimento do item 550 que seria um ticket para pegar um item no Shenlong.
OBS: São 6 items, os items devem ser criados no slot 500,501,502,503,504,505


Créditos:
RenanR - Tirar do War Engine
M.Dutra/hardsfree - Fazer o War Engine
-DarkninoxD-
-DarkninoxD-
Membro Vitalicio
Membro Vitalicio

Mensagens : 734

http://dragonball-mrb.blogspot.com

Ir para o topo Ir para baixo

[Dúvida] Sistema de Shenlong. Empty Re: [Dúvida] Sistema de Shenlong.

Mensagem por JuninhoCouto Dom 18 Ago 2013, 13:57

Esse sistema ta errado, da varios erros no codigo, pode me passar o topico original?
JuninhoCouto
JuninhoCouto
Novato
Novato

Mensagens : 10

Ir para o topo Ir para baixo

[Dúvida] Sistema de Shenlong. Empty Re: [Dúvida] Sistema de Shenlong.

Mensagem por -DarkninoxD- Dom 18 Ago 2013, 14:01

Você baixou a FrmShenlong no começo do topico, colocou na pasta Codigos e adicionou em seu projeto?
-DarkninoxD-
-DarkninoxD-
Membro Vitalicio
Membro Vitalicio

Mensagens : 734

http://dragonball-mrb.blogspot.com

Ir para o topo Ir para baixo

[Dúvida] Sistema de Shenlong. Empty Re: [Dúvida] Sistema de Shenlong.

Mensagem por JuninhoCouto Dom 18 Ago 2013, 14:08

Sim, falta o shenlong.log
IMG DO ERRO
[Dúvida] Sistema de Shenlong. Nsnn
JuninhoCouto
JuninhoCouto
Novato
Novato

Mensagens : 10

Ir para o topo Ir para baixo

[Dúvida] Sistema de Shenlong. Empty Re: [Dúvida] Sistema de Shenlong.

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