Aldeia RPG

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Suporte ao desenvolvimento de jogos


4 participantes

    [Pedido] Sistema de não dropar certos itens

    nescau97
    nescau97
    Novato
    Novato


    Mensagens : 15
    Créditos : 0

    [Pedido] Sistema de não dropar certos itens Empty [Pedido] Sistema de não dropar certos itens

    Mensagem por nescau97 Seg Ago 15, 2016 12:46 pm

    Boa tarde meus caros, alguma alma bondosa rs poderia disponibilizar se possível um sistema no qual certos itens no inventário não seja dropavel...
    Desde já agradeço! Glad
    newbie123
    newbie123
    Semi-Experiente
    Semi-Experiente


    Mensagens : 128
    Créditos : 35

    [Pedido] Sistema de não dropar certos itens Empty Re: [Pedido] Sistema de não dropar certos itens

    Mensagem por newbie123 Seg Ago 15, 2016 4:06 pm

    1- Abra o client.vbp
    2- Procure no ModClientTCP, na sub "senddropitem" por:


    Código:
    If InvNum < 1 Or InvNum > MAX_INV Then Exit Sub
        If PlayerInv(InvNum).num < 1 Or PlayerInv(InvNum).num > MAX_ITEMS Then Exit Sub
        If Item(GetPlayerInvItemNum(MyIndex, InvNum)).Type = ITEM_TYPE_CURRENCY Then
            If Amount < 1 Or Amount > PlayerInv(InvNum).Value Then Exit Sub
        End If


    3- Abaixo coloque:


    Código:
    If PlayerInv(InvNum).num = "" Then Exit Sub


    Tire as aspas e coloque qual item você quer que não seja dropavel... e caso seja mais de um, basta ir colocando "or" exemplo:


    Código:
    If PlayerInv(InvNum).num = 3 or 4 or 5 Then Exit Sub
    Kies
    Kies
    Diva
    Diva


    Mensagens : 1154
    Créditos : 124

    Ficha do personagem
    Nível: 1
    Experiência:
    [Pedido] Sistema de não dropar certos itens Left_bar_bleue0/0[Pedido] Sistema de não dropar certos itens Empty_bar_bleue  (0/0)
    Vida:
    [Pedido] Sistema de não dropar certos itens Left_bar_bleue30/30[Pedido] Sistema de não dropar certos itens Empty_bar_bleue  (30/30)

    [Pedido] Sistema de não dropar certos itens Empty Re: [Pedido] Sistema de não dropar certos itens

    Mensagem por Kies Seg Ago 15, 2016 4:10 pm

    newbie123 escreveu:1- Abra o client.vbp
    2- Procure no ModClientTCP, na sub "senddropitem" por:


    Código:
    If InvNum < 1 Or InvNum > MAX_INV Then Exit Sub
        If PlayerInv(InvNum).num < 1 Or PlayerInv(InvNum).num > MAX_ITEMS Then Exit Sub
        If Item(GetPlayerInvItemNum(MyIndex, InvNum)).Type = ITEM_TYPE_CURRENCY Then
            If Amount < 1 Or Amount > PlayerInv(InvNum).Value Then Exit Sub
        End If


    3- Abaixo coloque:


    Código:
    If PlayerInv(InvNum).num = "" Then Exit Sub


    Tire as aspas e coloque qual item você quer que não seja dropavel... e caso seja mais de um, basta ir colocando "or" exemplo:


    Código:
    If PlayerInv(InvNum).num = 3 or 4 or 5 Then Exit Sub
    Vlw man, vou colocar isso n meu game também.
    nescau97
    nescau97
    Novato
    Novato


    Mensagens : 15
    Créditos : 0

    [Pedido] Sistema de não dropar certos itens Empty Re: [Pedido] Sistema de não dropar certos itens

    Mensagem por nescau97 Seg Ago 15, 2016 4:28 pm

    Meu caro, realizei os devidos testes, realmente os itens escolhidos não dropam, porém aparenta está meio bugado pq não consigo dropar nenhum outro item!
    Agradeço a ajuda, fico no aguardo pela resposta.
    Att
    newbie123
    newbie123
    Semi-Experiente
    Semi-Experiente


    Mensagens : 128
    Créditos : 35

    [Pedido] Sistema de não dropar certos itens Empty Re: [Pedido] Sistema de não dropar certos itens

    Mensagem por newbie123 Seg Ago 15, 2016 5:16 pm

    Okay ah, eu não estou entendendo muito bem por que desse "bug", porem caso você coloque apenas um numero o sistema funciona normalmente, fique repetindo esse código, mais tarde quando eu chegar em casa eu vejo como resolver isso. Successful

    PS: Eu não estou em casa, porém utilize invés do "Or" o codigo "AND" e veja se agora funciona.
    Profane ~
    Profane ~
    Colaborador
    Colaborador


    Mensagens : 818
    Créditos : 130

    [Pedido] Sistema de não dropar certos itens Empty Re: [Pedido] Sistema de não dropar certos itens

    Mensagem por Profane ~ Seg Ago 15, 2016 5:18 pm

    Um tanto não tanto , porém tanto não usual.

    Procure tirar a aplicação de drop de itens em relaçao a enumaração de Slots do Inventory.

    Ligue isso a Categoria de "Type" (Tipo) do item em si; Para que tal tipo não possa ser dropado.

    ou mesmo crie uma variavel adicional no itemRec ex:  "Não Dropavel"; para que este ID de item não possa ser dropado, aplicado comumente em items de Quest para jogos MMO grandes.

    APlicar isso ao Slot do Inventory é não usual.

    Att ><


    _________________
    "Mistress of shattered hopes and forever broken dreams"
    nescau97
    nescau97
    Novato
    Novato


    Mensagens : 15
    Créditos : 0

    [Pedido] Sistema de não dropar certos itens Empty Re: [Pedido] Sistema de não dropar certos itens

    Mensagem por nescau97 Seg Ago 15, 2016 5:47 pm

    Primeiramente venho agradecer ao Newbie pela intenção em querer ajudar e ao Profane como sempre arrumando um tempinho para auxiliar os iniciantes. Se for viável poderia explicar de uma forma mais detalhada (passo a passo) o sistema da Type para que este id de item não possa ser dropada'?
    Att
    Profane ~
    Profane ~
    Colaborador
    Colaborador


    Mensagens : 818
    Créditos : 130

    [Pedido] Sistema de não dropar certos itens Empty Re: [Pedido] Sistema de não dropar certos itens

    Mensagem por Profane ~ Seg Ago 15, 2016 8:03 pm

    Bom ~

    Server Side

    Procure por:

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

    Dentro dela, procure por :

    Código:
        ' everything worked out fine
        Call PlayerMapDropItem(index, invNum, Amount)

    Isso é a permissão em si do drop do item, citado, "dropar" ele no mapa. 

    Agora ACIMA disso, coloquemos outra condição antes de chegar esse drop em si.

    Adicione:

    Código:
        If Item(GetPlayerInvItemNum(index, invNum)).Type = ITEM_TYPE_WEAPON Then
            Call PlayerMsg(index, "Não pode dropar este item", Red)
            If Amount < 1 Or Amount > GetPlayerInvItemValue(index, invNum) Then Exit Sub
        End If

    Analise isso aqui : .Type = ITEM_TYPE_WEAPON


    O Type é Weapon, isso fará com que os Itens com ID do tipo WEAPON (arma), não possam ser dropados do Inventory.


    Modificar o ITEM_TYPE_WEAPON, pelo ITEM_TYPE que você deseja.


    Pode verificar mais ITEM_TYPES no ModConstants.


    Att


    _________________
    "Mistress of shattered hopes and forever broken dreams"

    Conteúdo patrocinado


    [Pedido] Sistema de não dropar certos itens Empty Re: [Pedido] Sistema de não dropar certos itens

    Mensagem por Conteúdo patrocinado


      Data/hora atual: Sáb Jul 27, 2024 2:55 am