[Correção] Drop do item, item pertence ainda pertence ao usuário que dropou
4 participantes
Página 1 de 1
[Correção] Drop do item, item pertence ainda pertence ao usuário que dropou
Descrição
Após dropar algum item, ele só será visivel para você e não para os outros jogadores, apenas depois de um certo tempo os outros jogadores poderão ver o item dropado.
Client~Side
Procure por:modDirectDraw7
- Código:
' if it's not us then don't render
If MapItem(itemnum).playerName <> vbNullString Then
If MapItem(itemnum).playerName <> Trim$(GetPlayerName(MyIndex)) Then Exit Sub
End If
Procure por:modHandleData
- Código:
.playerName = Buffer.ReadString
Procure por:
- Código:
.playerName = Buffer.ReadString
Server~Side
Mude a Sub ClearMapItem para:modDataBase
- Código:
Sub ClearMapItem(ByVal index As Long, ByVal mapNum As Long)
Call ZeroMemory(ByVal VarPtr(MapItem(mapNum, index)), LenB(MapItem(mapNum, index)))
MapItem(mapNum, index).Num = 0
MapItem(mapNum, index).Value = 0
MapItem(mapNum, index).x = 0
MapItem(mapNum, index).y = 0
MapItem(mapNum, index).canDespawn = False
MapItem(mapNum, index).despawnTimer = 0
End Sub
Procure por:modGameLogic
- Código:
MapItem(mapNum, i).playerName = playerName
MapItem(mapNum, i).playerTimer = GetTickCount + ITEM_SPAWN_TIME
Procure por:modServerTcp
- Código:
Buffer.WriteString MapItem(mapNum, i).playerName
Procure por:
- Código:
Buffer.WriteString MapItem(mapNum, i).playerName
Procure por:
- Código:
Buffer.WriteString MapItem(mapNum, index).playerName
Procure por:modServerLoop
- Código:
' items appearing to everyone
For i = 1 To MAX_MAP_ITEMS
If MapItem(mapNum, i).Num > 0 Then
If MapItem(mapNum, i).playerName <> vbNullString Then
' make item public?
If MapItem(mapNum, i).playerTimer < GetTickCount Then
' make it public
MapItem(mapNum, i).playerName = vbNullString
MapItem(mapNum, i).playerTimer = 0
' send updates to everyone
SendMapItemsToAll mapNum
End If
' despawn item?
If MapItem(mapNum, i).canDespawn Then
If MapItem(mapNum, i).despawnTimer < GetTickCount Then
' despawn it
ClearMapItem i, mapNum
' send updates to everyone
SendMapItemsToAll mapNum
End If
End If
End If
End If
Next
- Código:
' items appearing to everyone
For i = 1 To MAX_MAP_ITEMS
If MapItem(mapNum, i).Num > 0 Then
' despawn item?
If MapItem(mapNum, i).canDespawn Then
If MapItem(mapNum, i).despawnTimer < GetTickCount Then
' despawn it
ClearMapItem i, mapNum
' send updates to everyone
SendMapItemsToAll mapNum
End If
End If
End If
Next
Apague a Function CanPlayerPickupItem.modPlayer
Procure por:
- Código:
MapItem(GetPlayerMap(index), i).playerName = Trim$(GetPlayerName(index))
MapItem(GetPlayerMap(index), i).playerTimer = GetTickCount + ITEM_SPAWN_TIME
Mude a Sub PlayerMapGetItem para:
- Código:
Sub PlayerMapGetItem(ByVal index As Long)
Dim i As Long
Dim n As Long
Dim mapNum As Long
Dim Msg As String
If Not IsPlaying(index) Then Exit Sub
mapNum = GetPlayerMap(index)
For i = 1 To MAX_MAP_ITEMS
' See if theres even an item here
If (MapItem(mapNum, i).Num > 0) And (MapItem(mapNum, i).Num <= MAX_ITEMS) Then
' Check if item is at the same location as the player
If (MapItem(mapNum, i).x = GetPlayerX(index)) Then
If (MapItem(mapNum, i).y = GetPlayerY(index)) Then
' Find open slot
n = FindOpenInvSlot(index, MapItem(mapNum, i).Num)
' Open slot available?
If n <> 0 Then
' Set item in players inventor
Call SetPlayerInvItemNum(index, n, MapItem(mapNum, i).Num)
If Item(GetPlayerInvItemNum(index, n)).Type = ITEM_TYPE_CURRENCY Then
Call SetPlayerInvItemValue(index, n, GetPlayerInvItemValue(index, n) + MapItem(mapNum, i).Value)
Msg = MapItem(mapNum, i).Value & " " & Trim$(Item(GetPlayerInvItemNum(index, n)).Name)
Else
Call SetPlayerInvItemValue(index, n, 0)
Msg = Trim$(Item(GetPlayerInvItemNum(index, n)).Name)
End If
' Erase item from the map
ClearMapItem i, mapNum
Call SendInventoryUpdate(index, n)
Call SpawnItemSlot(i, 0, 0, GetPlayerMap(index), 0, 0)
SendActionMsg GetPlayerMap(index), Msg, White, 1, (GetPlayerX(index) * 32), (GetPlayerY(index) * 32)
Call CheckTasks(index, QUEST_TYPE_GOGATHER, GetItemNum(Trim$(Item(GetPlayerInvItemNum(index, n)).Name)))
Exit For
Else
Call PlayerMsg(index, "Your inventory is full.", BrightRed)
Exit For
End If
End If
End If
End If
Next
End Sub
Mude a Type MapItemRec para:modTypes
- Código:
Private Type MapItemRec
Num As Long
Value As Long
x As Byte
y As Byte
' despawn
canDespawn As Boolean
despawnTimer As Long
End Type
Créditos
Ricardo
Ricardo
Ricardo- Mensagens : 1044
Re: [Correção] Drop do item, item pertence ainda pertence ao usuário que dropou
Não é bem um bug, o robin fez isso para que se um jogador noob jogar um item errado, ele poder pegar o item antes que os jogadores o percebam, mas eu particularmente não gosto disso, jogo é jogo, se jogou o item errado tem que arcar com as consequências.
Re: [Correção] Drop do item, item pertence ainda pertence ao usuário que dropou
não seria só fazer isso?
no Sever side procurar por:
Mude para:
eu fiz isso e 1 segundo depois que eu jogo o item no chão aparece para outro jogador '-'
no Sever side procurar por:
Public Const ITEM_SPAWN_TIME As Long = 30000 ' 30 secs
Mude para:
Public Const ITEM_SPAWN_TIME As Long = 1000 ' 1 segundo
eu fiz isso e 1 segundo depois que eu jogo o item no chão aparece para outro jogador '-'
Naziozeno- Membro
- Mensagens : 174
Re: [Correção] Drop do item, item pertence ainda pertence ao usuário que dropou
@Naziozeno
Mas quem quer tirar o sistema definitivamente é bom fazer isso do tutorial, para não usar memória.
Mas quem quer tirar o sistema definitivamente é bom fazer isso do tutorial, para não usar memória.
Re: [Correção] Drop do item, item pertence ainda pertence ao usuário que dropou
mt bom parabens continue assim -q
lTulioBanido- Mensagens : 160
Conteúdo patrocinado
Tópicos semelhantes
» [EO] Overflow no Drop e Spawn Item !!
» Multiple Item Drops e chance de drop por porcentagem
» [Correção] Item Anim
» [Correção] Número máximo do item que o npc dropa
» [Correção] Pegar o último Item jogado no chão
» Multiple Item Drops e chance de drop por porcentagem
» [Correção] Item Anim
» [Correção] Número máximo do item que o npc dropa
» [Correção] Pegar o último Item jogado no chão
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