[Correção] Não perder items no Trade
+2
Sαkurαy
Valentine
6 participantes
Página 1 de 1
[Correção] Não perder items no Trade
A capacidade de itens do inventário é de 35 itens, do trade também, mas vamos supor que você tem 32 itens no inventário e está em uma troca, se um jogador lhe oferece 4 itens ou mais na troca e você aceitar, o item que não cabe no inventário será perdido.
Abra o Servidor
1 - No modServerTCP, procure por:
Valentine
Abra o Servidor
1 - No modServerTCP, procure por:
- Código:
Sub SendDataTo(ByVal index As Long, ByRef Data() As Byte)
- Código:
Function IsInventoryFull(ByVal tradeTarget As Long, ByVal index As Long) As Boolean
Dim InvEmpty As Long, TradeFull As Long, i As Long
For i = 1 To MAX_INV
If GetPlayerInvItemNum(tradeTarget, i) > 0 And GetPlayerInvItemNum(tradeTarget, i) <= MAX_ITEMS Then
InvEmpty = InvEmpty + 1
End If
Next
For i = 1 To MAX_INV
If TempPlayer(index).TradeOffer(i).Num > 0 And TempPlayer(index).TradeOffer(i).Num <= MAX_ITEMS Then
TradeFull = TradeFull + 1
End If
Next
If TradeFull > (MAX_INV - InvEmpty) Then
IsInventoryFull = True
Exit Function
End If
IsInventoryFull = False
End Function
- Código:
Sub HandleAcceptTrade(ByVal index As Long, ByRef Data() As Byte, ByVal StartAddr As Long, ByVal ExtraVar As Long)
- Código:
' if not both of them accept, then exit
If Not TempPlayer(tradeTarget).AcceptTrade Then
SendTradeStatus index, 2
SendTradeStatus tradeTarget, 1
Exit Sub
End If
- Código:
' if not have space in inventory of tradetarget
If IsInventoryFull(tradeTarget, index) Then
TempPlayer(index).InTrade = 0
TempPlayer(tradeTarget).InTrade = 0
TempPlayer(index).AcceptTrade = False
TempPlayer(tradeTarget).AcceptTrade = False
PlayerMsg tradeTarget, "Você não tem espaço suficiente no inventário.", BrightRed
PlayerMsg index, GetPlayerName(tradeTarget) & " não tem espaço suficiente no inventário.", BrightRed
SendCloseTrade index
SendCloseTrade tradeTarget
Exit Sub
End If
' if not have space in inventory of index
If IsInventoryFull(index, tradeTarget) Then
TempPlayer(index).InTrade = 0
TempPlayer(tradeTarget).InTrade = 0
TempPlayer(index).AcceptTrade = False
TempPlayer(tradeTarget).AcceptTrade = False
PlayerMsg index, "Você não tem espaço suficiente no inventário.", BrightRed
PlayerMsg tradeTarget, GetPlayerName(index) & " não tem espaço suficiente no inventário.", BrightRed
SendCloseTrade index
SendCloseTrade tradeTarget
Exit Sub
End If
Valentine
Re: [Correção] Não perder items no Trade
Muito bom Marlos, quase nunca mechi muito no trade, mais valeu pela correção.
+1 Crédito.
Sαkurαy- Membro Veterano
- Mensagens : 1386
Re: [Correção] Não perder items no Trade
Mas então Marlos,se esse item não será perdido,pra onde ele irá ?
Ryukaza- Membro Junior
- Mensagens : 81
Re: [Correção] Não perder items no Trade
Vai aparecer a mensagem:Ryukaza escreveu:Mas então Marlos,se esse item não será perdido,pra onde ele irá ?
E então a troca é cancelada.Fulano não tem espaço suficiente no inventário.
Re: [Correção] Não perder items no Trade
Não entendi essa parte,
Ficando assim?
Essa parte é pra adicionar antes dessa?Function IsInventoryFull(ByVal tradeTarget As Long, ByVal index As Long) As Boolean
Dim InvEmpty As Long, TradeFull As Long, i As Long
For i = 1 To MAX_INV
If GetPlayerInvItemNum(tradeTarget, i) > 0 And GetPlayerInvItemNum(tradeTarget, i) <= MAX_ITEMS Then
InvEmpty = InvEmpty + 1
End If
Next
For i = 1 To MAX_INV
If TempPlayer(index).TradeOffer(i).Num > 0 And TempPlayer(index).TradeOffer(i).Num <= MAX_ITEMS Then
TradeFull = TradeFull + 1
End If
Next
If TradeFull > (MAX_INV - InvEmpty) Then
IsInventoryFull = True
Exit Function
End If
IsInventoryFull = False
End Function
Sub SendDataTo(ByVal index As Long, ByRef Data() As Byte)
Ficando assim?
Function IsInventoryFull(ByVal tradeTarget As Long, ByVal index As Long) As Boolean
Dim InvEmpty As Long, TradeFull As Long, i As Long
For i = 1 To MAX_INV
If GetPlayerInvItemNum(tradeTarget, i) > 0 And GetPlayerInvItemNum(tradeTarget, i) <= MAX_ITEMS Then
InvEmpty = InvEmpty + 1
End If
Next
For i = 1 To MAX_INV
If TempPlayer(index).TradeOffer(i).Num > 0 And TempPlayer(index).TradeOffer(i).Num <= MAX_ITEMS Then
TradeFull = TradeFull + 1
End If
Next
If TradeFull > (MAX_INV - InvEmpty) Then
IsInventoryFull = True
Exit Function
End If
IsInventoryFull = False
End Function
Sub SendDataTo(ByVal index As Long, ByRef Data() As Byte)
preuu- Membro Junior
- Mensagens : 50
Re: [Correção] Não perder items no Trade
Valentine vou tentar fazer isso aqui,mas pode me responder uma pergunta?para salvar é só ir em File ir no negocio la substituir pelo outro e salvar?
Wellington Cortez- Membro Junior
- Mensagens : 96
Re: [Correção] Não perder items no Trade
Por favor não destruam meu tópico com esse tipo de perguntas...
Tópicos semelhantes
» [Correção] Trade Request
» [Correção] Erros do Trade
» [Correção] Erro grave no Trade
» [Correção] Erros no Trade e Banco
» [Correção] Atualizar Status ao Equipar Items
» [Correção] Erros do Trade
» [Correção] Erro grave no Trade
» [Correção] Erros no Trade e Banco
» [Correção] Atualizar Status ao Equipar Items
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos
Dom 08 Abr 2018, 18:40 por JorgeZinhoo002
» Ojkjeeeee
Seg 10 Out 2016, 23:19 por Frozen
» Naruto Great Ninja Batle
Dom 09 Out 2016, 14:29 por GuiinhoLP
» Recrutamento de um Designer para jogo de CDZ.
Sex 23 Set 2016, 18:37 por newbie123
» Serviços de suporte maker( Programação , Design , PixelArt ) E Vendas de Jogos
Qui 22 Set 2016, 20:11 por Eduardo
» Serviços de suporte maker( Programação , Design , PixelArt ) E Vendas de Jogos
Qui 22 Set 2016, 20:11 por Eduardo
» Serviços de suporte maker( Programação , Design , PixelArt ) E Vendas de Jogos
Qui 22 Set 2016, 20:09 por Eduardo
» Projeto Dbz
Qua 31 Ago 2016, 23:46 por 157
» Avaliação - Sprites Naruto
Qua 31 Ago 2016, 17:09 por 157
» [Sprites] DBZ (Plix)
Qua 31 Ago 2016, 14:13 por 157
» Super Pack - Bleach V.2
Qua 31 Ago 2016, 13:02 por 157
» [PEDIDO][PROJETO][RECRUTAMENTO] DYNISTYGAMES
Ter 30 Ago 2016, 10:04 por 157
» [PEDIDO][PROJETO][RECRUTAMENTO] DYNISTYGAMES
Ter 30 Ago 2016, 10:03 por 157
» [PEDIDO][PROJETO][RECRUTAMENTO] DYNISTYGAMES
Ter 30 Ago 2016, 10:02 por 157
» [Pedido] Contador de resets na FrmMain
Sáb 13 Ago 2016, 17:45 por killers97
» [Recrutamento]
Qua 10 Ago 2016, 23:09 por Monsters
» Ajuda erro no Cliente e Servidor do EEB 2.6!
Qua 20 Jul 2016, 19:53 por Binholx
» Como criar tilesets para Eclipse Origins 3.0 (POKÉMON)
Qua 29 Jun 2016, 19:46 por Sir Aaron
» Recursos Pokemons
Qua 29 Jun 2016, 19:34 por Sir Aaron
» erro frm flash
Qua 25 maio 2016, 13:51 por vava123
» Pedido - Pack de star wars
Qui 19 maio 2016, 05:06 por edsonpet
» [Ajuda] Sobre como por o servidor on por ip fixo
Ter 17 maio 2016, 16:14 por vava123
» Illusion Dimension - O Misterio do ID: BETA TESTE ONLINE
Sex 06 maio 2016, 20:02 por LksFlorencio
» [NSME] Naruto Shinobi Maker Engine
Qua 23 Mar 2016, 15:11 por luana1457
» Script /base,/casa Igual DBZ Forces
Dom 21 Fev 2016, 07:34 por JorgeZinhoo002
» [Pedido]Colar Tsunade item sprite eclipse origin
Qui 21 Jan 2016, 07:38 por lawllietbr
» [Pedido] Elysium
Sáb 19 Dez 2015, 11:31 por luana1457
» Naruto - Recruta
Ter 15 Dez 2015, 18:40 por Uchiha ~
» [Avaliação] - Kirito from Sword Art Online; Red and Pikachu from Pokemon.
Qua 25 Nov 2015, 13:43 por Thanakii
» [Avaliação] - Kenpachi Zaraki from Bleach; Libra Shiryu From Saint Seiya.
Qua 25 Nov 2015, 12:55 por Thanakii
» Demonstração de Sprites (Á VENDA!)
Qua 25 Nov 2015, 12:40 por Thanakii
» [Sistema de Reset]Para Eclipse .
Ter 24 Nov 2015, 16:51 por VithorUchi
» Cada Guild Nascer em Certo Mapa
Qui 12 Nov 2015, 06:13 por fabiofeijó_HIT
» Dragon Ball z Fusion A Grande Volta
Qui 29 Out 2015, 15:17 por fabiofeijó_HIT
» Ajuda com Ip fixo
Seg 26 Out 2015, 16:07 por GalaxyHells15
» Como Fazer um GUI no Eclipse Origins
Dom 18 Out 2015, 22:10 por Jeanleee
» Shisui Susanoo
Dom 18 Out 2015, 20:23 por Jeanleee
» Fantasy Art Online
Dom 18 Out 2015, 16:41 por daviih123
» Ajuda !!
Seg 05 Out 2015, 12:13 por andersonzika
» como passar o usuário e senha para o MainMenu?
Seg 28 Set 2015, 22:03 por Bëzerk
» Ru time ero 13 Type mismatch
Seg 28 Set 2015, 09:08 por andredarle
» Jarvis 1.3 Download
Qua 23 Set 2015, 18:42 por soares125
» [Avaliação/Disponibilização]Árvore 64x64
Qua 23 Set 2015, 15:15 por Over~
» Mlk's Zikas Signatures
Ter 22 Set 2015, 21:15 por Aikawa Reborn'
» Pedido de Sistemas
Dom 20 Set 2015, 18:05 por cleyton_05
» [AjudaEEB]Gerador de EXP
Qua 16 Set 2015, 14:04 por Over~
» [Avaliar] Base, Humano e Goblin.
Seg 14 Set 2015, 22:51 por .iBlaz3.
» Fabrica do Tio Cronos!
Dom 13 Set 2015, 21:31 por [ADM]Cronos
» [PixelArt] Minion - Meu malvado favorito
Dom 13 Set 2015, 12:51 por [ADM]Cronos
» [Avaliar] Goku Dragon Ball Z
Qua 05 Ago 2015, 21:36 por Setrux