[ALL] Uniformizando a interação do main.txt com o inventario!
MMORPG Brasil :: OPEN SOURCE ENGINES :: Eclipse :: Tutoriais
Página 1 de 1
[ALL] Uniformizando a interação do main.txt com o inventario!
Esse script vai ser muito util para todos os fans do eclipse engine e futuramente nossa engine que usaram o eclipse base, pois esse script permite a todos nós termos uma maior acessibilidade ao inventario por meio de scripts facilitando 70% dos trabalhos com scripted Items, esse tutorial foi desenvolvido por GodLord da freemmorpgmaker, e foi traduzido e alterado em algumas partes tanto no sistema quanto no tutorial por mim com alguns acresimos no sistema e modificações no tutorial para melhor compreenção de todos.
Vamos dar inicio ao tutorial!
Vá na pasta server/scripts e cole o arquivo baixado la dentro em seguida abra o main.txt . Ja no inicio, em baixo das declarações depois de ' Global Variables adicione a seguinte declaração!
Agora no final de seu main.txt adcione a seguinte bloco de codigos.
Somente isso! Agora um pequeno complemento para você não ficar muito perdido:
Função : AddPlayerInvItem.
Breve: acrescenta um item ao inventário do jogador.
Parâmetros :
Index - O índice do player.
Item - O item para adicionar ao inventário.
Durability - A durabilidade do item.
Função : AddPlayerInvStackableItem.
Breve : adciona um item acumulado para o jogador.
Parâmetros :
Index - O índice do player.
Item - O item para adicionar ao inventário.
Amount - O valor desse item para adicionar.
Função : CountPlayerInvItem
Breve : conta determinado item do jogador.
Parâmetros :
Index - O índice do player.
Item - O item para contar.
Função : RemovePlayerInvItem.
Breve : remove um item do inventário do jogador.
Parâmetros :
Index - O índice do player.
Item - item a ser removido do inventario.
Amount - O valor desse item para remover.
Função : GetPlayerInvSlots.
Breve : verifica a quantidade de slots vazios do jogador.
Parâmetros :
Index - O índice do player.
Função : ClearPlayerInv.
Breve : limpa o inventário do jogador.
Parâmetros :
Index - O índice do player.
Somente isso espero que saibam que esse é só uma etapa para o próximo sistema que postarei aqui no forum, só quero que saiba quem não tiver esse sistema não poderá ter o proximo pois um precisa do outro
E como disse antes os creditos vão para o GodLord da mmorpgmaker por ter desenvolvido o script, e uma parte quase insignificante a mim por traduzir e por complementar o script
Vamos dar inicio ao tutorial!
Baixe o arquivo abaixo!
Vá na pasta server/scripts e cole o arquivo baixado la dentro em seguida abra o main.txt . Ja no inicio, em baixo das declarações depois de ' Global Variables adicione a seguinte declaração!
- Código:
Public Const MAX_INVSLOTS = 24
Agora no final de seu main.txt adcione a seguinte bloco de codigos.
- Código:
Function AddPlayerInvItem(Index, Item, Durability)
For Slot = 1 To MAX_INVSLOTS
If GetPlayerInvItemNum(Index, Slot) = 0 Then
Call SetPlayerInvItemNum(Index, Slot, Item)
Call SetPlayerInvItemValue(Index, Slot, 0)
Call SetPlayerInvItemDur(Index, Slot, Durability)
Call SendInventoryUpdate(Index, Slot)
AddPlayerInvItem = True
Exit Function
End If
Next
AddPlayerInvItem = False
End Function
Function AddPlayerInvStackableItem(Index, Item, Amount)
For Slot = 1 To MAX_INVSLOTS
If GetPlayerInvItemNum(Index, Slot) = Item Then
Call SetPlayerInvItemNum(Index, Slot, Item)
Call SetPlayerInvItemValue(Index, Slot, GetPlayerInvItemValue(Index, Slot) + Amount)
Call SetPlayerInvItemDur(Index, Slot, 0)
Call SendInventoryUpdate(Index, Slot)
AddPlayerInvStackableItem = True
Exit Function
End If
Next
For Slot = 1 To MAX_INVSLOTS
If GetPlayerInvItemNum(Index, Slot) = 0 Then
Call SetPlayerInvItemNum(Index, Slot, Item)
Call SetPlayerInvItemValue(Index, Slot, Amount)
Call SetPlayerInvItemDur(Index, Slot, 0)
Call SendInventoryUpdate(Index, Slot)
AddPlayerInvStackableItem = True
Exit Function
End If
Next
AddPlayerInvStackableItem = False
End Function
Function CountPlayerInvItem(Index, Item)
Dim Amount
Amount = 0
For Slot = 1 To MAX_INVSLOTS
If GetPlayerInvItemNum(Index, Slot) = Item Then
If GetPlayerInvItemValue(Index, Slot) = 0 Then
Amount = Amount + 1
Else
Amount = Amount + GetPlayerInvItemValue(Index, Slot)
End If
End If
Next
CountPlayerInvItem = Amount
End Function
Sub RemovePlayerInvItem(Index, Item, Amount)
For Slot = 1 To MAX_INVSLOTS
If GetPlayerInvItemNum(Index, Slot) = Item Then
If GetPlayerInvItemValue(Index, Slot) = 0 Then
Amount = Amount - 1
Call SetPlayerInvItemNum(Index, Slot, 0)
Call SetPlayerInvItemValue(Index, Slot, 0)
Call SetPlayerInvItemDur(Index, Slot, 0)
Call SendInventoryUpdate(Index, Slot)
ElseIf Amount >= GetPlayerInvItemValue(Index, Slot) Then
Amount = Amount - GetPlayerInvItemValue(Index, Slot)
Call SetPlayerInvItemNum(Index, Slot, 0)
Call SetPlayerInvItemValue(Index, Slot, 0)
Call SetPlayerInvItemDur(Index, Slot, 0)
Call SendInventoryUpdate(Index, Slot)
Else
Call SetPlayerInvItemValue(Index, Slot, GetPlayerInvItemValue(Index, Slot) - Amount)
Call SendInventoryUpdate(Index, Slot)
End If
If Amount <= 0 Then
Exit Sub
End If
End If
Next
End Sub
Function GetPlayerInvSlots(Index)
Dim Amount
Amount = 0
For Slot = 1 To MAX_INVSLOTS
If GetPlayerInvItemNum(Index, Slot) = 0 Then
Amount = Amount + 1
End If
Next
GetPlayerInvSlots = Amount
End Function
Sub ClearPlayerInv(Index)
For Slot = 1 To MAX_INVSLOTS
Call SetPlayerInvItemNum(Index, Slot, 0)
Call SetPlayerInvItemValue(Index, Slot, 0)
Call SetPlayerInvItemDur(Index, Slot, 0)
Next
Call SendInventory(Index)
End Sub
Somente isso! Agora um pequeno complemento para você não ficar muito perdido:
- Código:
Function AddPlayerInvItem(Index, Item, Durability)
Função : AddPlayerInvItem.
Breve: acrescenta um item ao inventário do jogador.
Parâmetros :
Index - O índice do player.
Item - O item para adicionar ao inventário.
Durability - A durabilidade do item.
- Código:
Function AddPlayerInvStackableItem(Index, Item, Amount)
Função : AddPlayerInvStackableItem.
Breve : adciona um item acumulado para o jogador.
Parâmetros :
Index - O índice do player.
Item - O item para adicionar ao inventário.
Amount - O valor desse item para adicionar.
- Código:
Function CountPlayerInvItem(Index, Item)
Função : CountPlayerInvItem
Breve : conta determinado item do jogador.
Parâmetros :
Index - O índice do player.
Item - O item para contar.
- Código:
Sub RemovePlayerInvItem(Index, Item, Amount)
Função : RemovePlayerInvItem.
Breve : remove um item do inventário do jogador.
Parâmetros :
Index - O índice do player.
Item - item a ser removido do inventario.
Amount - O valor desse item para remover.
- Código:
Function GetPlayerInvSlots(Index)
Função : GetPlayerInvSlots.
Breve : verifica a quantidade de slots vazios do jogador.
Parâmetros :
Index - O índice do player.
- Código:
Sub ClearPlayerInv(Index)
Função : ClearPlayerInv.
Breve : limpa o inventário do jogador.
Parâmetros :
Index - O índice do player.
Somente isso espero que saibam que esse é só uma etapa para o próximo sistema que postarei aqui no forum, só quero que saiba quem não tiver esse sistema não poderá ter o proximo pois um precisa do outro
E como disse antes os creditos vão para o GodLord da mmorpgmaker por ter desenvolvido o script, e uma parte quase insignificante a mim por traduzir e por complementar o script
Tópicos semelhantes
» Inventário..
» Transparência des inventário
» Poco espaço no inventario =[
» Almentando o tamanho do seu inventario
» [EEB] Item Pet continuar no Inventario
» Transparência des inventário
» Poco espaço no inventario =[
» Almentando o tamanho do seu inventario
» [EEB] Item Pet continuar no Inventario
MMORPG Brasil :: OPEN SOURCE ENGINES :: Eclipse :: Tutoriais
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