[Pedido] Sistema de não dropar certos itens Hitskin_logo Hitskin.com

Isto é uma pré-visualização de um tema em Hitskin.com
Instalar o temaVoltar para a ficha do tema

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

[Pedido] Sistema de não dropar certos itens

4 participantes

Ir para baixo

[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
nescau97
nescau97
Novato
Novato

Mensagens : 15
Créditos : 0

Ir para o topo Ir para baixo

[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
newbie123
newbie123
Semi-Experiente
Semi-Experiente

Mensagens : 128
Créditos : 35

Ir para o topo Ir para baixo

[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.
Kies
Kies
Diva
Diva

Mensagens : 1155
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)

Ir para o topo Ir para baixo

[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
nescau97
nescau97
Novato
Novato

Mensagens : 15
Créditos : 0

Ir para o topo Ir para baixo

[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.
newbie123
newbie123
Semi-Experiente
Semi-Experiente

Mensagens : 128
Créditos : 35

Ir para o topo Ir para baixo

[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"
Profane ~
Profane ~
Colaborador
Colaborador

Mensagens : 818
Créditos : 130

Ir para o topo Ir para baixo

[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
nescau97
nescau97
Novato
Novato

Mensagens : 15
Créditos : 0

Ir para o topo Ir para baixo

[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"
Profane ~
Profane ~
Colaborador
Colaborador

Mensagens : 818
Créditos : 130

Ir para o topo Ir para baixo

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

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