MMORPG Brasil
Ola, visitante! Agradecemos sua visita, para ter acesso a todo nosso conteúdo recomendamos que faça um cadastro no fórum, com ele você pode participar de tópicos e ter acesso a todas áreas da comunidade!

Participe do fórum, é rápido e fácil

MMORPG Brasil
Ola, visitante! Agradecemos sua visita, para ter acesso a todo nosso conteúdo recomendamos que faça um cadastro no fórum, com ele você pode participar de tópicos e ter acesso a todas áreas da comunidade!
MMORPG Brasil
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Erro 9 - HandleUpdateSpell

+3
Monotoshi
guifs
augusto95
7 participantes

Ir para baixo

Erro 9 - HandleUpdateSpell Empty Erro 9 - HandleUpdateSpell

Mensagem por augusto95 Sex 31 maio 2013, 13:48

Hoje fui fazer um sistema bem simples, de animação ao upar.
Deu um erro 9 na HandleUpdateSpell

Código:
Private Sub HandleUpdateSpell(ByVal Index As Long, ByRef Data() As Byte, ByVal StartAddr As Long, ByVal ExtraVar As Long)
Dim spellnum As Long
Dim Buffer As clsBuffer
Dim SpellSize As Long
Dim SpellData() As Byte
   
    ' If debug mode, handle error then exit out
    If Options.Debug = 1 Then On Error GoTo errorhandler
   
    Set Buffer = New clsBuffer
    Buffer.WriteBytes Data()
   
    spellnum = Buffer.ReadLong
   
    SpellSize = LenB(Spell(spellnum))
    ReDim SpellData(SpellSize - 1)
    SpellData = Buffer.ReadBytes(SpellSize)
    CopyMemory ByVal VarPtr(Spell(spellnum)), ByVal VarPtr(SpellData(0)), SpellSize
    Set Buffer = Nothing
   
    ' Error handler
    Exit Sub
errorhandler:
    HandleError "HandleUpdateSpell", "modHandleData", Err.Number, Err.Description, Err.Source, Err.HelpContext
    Err.Clear
    Exit Sub
End Sub
Na linha: CopyMemory ByVal VarPtr(Spell(spellnum)), ByVal VarPtr(SpellData(0)), SpellSize

Agora, mesmo desfazendo o sistema, o erro continua...
Alguem me ajude!
augusto95
augusto95
Membro
Membro

Mensagens : 105

Ir para o topo Ir para baixo

Erro 9 - HandleUpdateSpell Empty Re: Erro 9 - HandleUpdateSpell

Mensagem por guifs Sex 31 maio 2013, 13:52

qual sistema vc fez e qual sua engine EO 2.0?
guifs
guifs
Membro Vitalicio
Membro Vitalicio

Mensagens : 561

Ir para o topo Ir para baixo

Erro 9 - HandleUpdateSpell Empty Re: Erro 9 - HandleUpdateSpell

Mensagem por augusto95 Sex 31 maio 2013, 14:07

O que você postou! Uso EO 2.3
augusto95
augusto95
Membro
Membro

Mensagens : 105

Ir para o topo Ir para baixo

Erro 9 - HandleUpdateSpell Empty Re: Erro 9 - HandleUpdateSpell

Mensagem por guifs Sex 31 maio 2013, 14:54

mano olha :

troque a handleupdatespell por:

Código:
Private Sub HandleUpdateSpell(ByVal Index As Long, ByRef Data() As Byte, ByVal StartAddr As Long, ByVal ExtraVar As Long)
Dim spellnum As Long
Dim Buffer As clsBuffer
Dim SpellSize As Long
Dim SpellData() As Byte
   
    ' If debug mode, handle error then exit out
    If Options.Debug = 1 Then On Error GoTo errorhandler
   
    Set Buffer = New clsBuffer
    Buffer.WriteBytes Data()
   
    spellnum = Buffer.ReadLong
   
    SpellSize = LenB(Spell(spellnum))
    ReDim SpellData(SpellSize - 1)
    SpellData = Buffer.ReadBytes(SpellSize)
'    CopyMemory ByVal VarPtr(Spell(spellnum)), ByVal VarPtr(SpellData(0)), SpellSize
    Set Buffer = Nothing
   
    ' Update the spells on the pic
    Set Buffer = New clsBuffer
    Buffer.WriteLong CSpells
    SendData Buffer.ToArray()
    Set Buffer = Nothing
   
    ' Error handler
    Exit Sub
errorhandler:
    HandleError "HandleUpdateSpell", "modHandleData", Err.Number, Err.Description, Err.Source, Err.HelpContext
    Err.Clear
    Exit Sub
End Sub

e dps na checkplayerlevelup adicione o código certo,
abaixo de:
Código:
Call SetPlayerPOINTS(index, GetPlayerPOINTS(index) + 5)
        Call SetPlayerExp(index, expRollover)
        level_count = level_count + 1

adicione:

Código:
SendAnimation GetPlayerMap(index), 2, 0, 0, TARGET_TYPE_PLAYER, index'mude o 2 pela animação
guifs
guifs
Membro Vitalicio
Membro Vitalicio

Mensagens : 561

Ir para o topo Ir para baixo

Erro 9 - HandleUpdateSpell Empty Re: Erro 9 - HandleUpdateSpell

Mensagem por Monotoshi Sex 31 maio 2013, 15:42

Em:
Código:
CopyMemory ByVal VarPtr(Spell(spellnum)), ByVal VarPtr(SpellData(0)), SpellSize
Subistitua por:
Código:
' CopyMemory ByVal VarPtr(Spell(spellnum)), ByVal VarPtr(SpellData(0)), SpellSize
Suba uma linha,Use:
Código:
On Error Resume Next
Eu acho que da
avatar
Monotoshi
Membro Vitalicio
Membro Vitalicio

Mensagens : 591

Ir para o topo Ir para baixo

Erro 9 - HandleUpdateSpell Empty Re: Erro 9 - HandleUpdateSpell

Mensagem por Ricardo Sex 31 maio 2013, 20:24

Não faça o que o kaue disse, ele só vai pular o erro. Geralmente esse erro é quando o número de bytes de uma structure do server é maior do que o do cliente, ou vice versa. Vá na Type SpellRec do server e do cliente e verifique se elas estão exatamente iguais.
Ricardo
Ricardo


Mensagens : 1044

Ir para o topo Ir para baixo

Erro 9 - HandleUpdateSpell Empty Re: Erro 9 - HandleUpdateSpell

Mensagem por GoldSlash Sáb 01 Jun 2013, 05:19

Nossa, tive esse erro recentemente.

Ele estoura o buffer de memória aí, eu tentei ignorar também, aí sumiu o inventário no meu...
No seu provavelmente sumiria as spells.

Olha normalmente é erro de estrutura, pois depois de umas mexidas aq melhorou e estrutura foi onde eu mexi.
Acho q eles tem q ser igual até na ordem, dos objetos criados.
GoldSlash
GoldSlash
Membro Sênior
Membro Sênior

Mensagens : 383

Ir para o topo Ir para baixo

Erro 9 - HandleUpdateSpell Empty Re: Erro 9 - HandleUpdateSpell

Mensagem por boasfesta Sáb 01 Jun 2013, 13:27

Erro 9 é Subscript ou of range, quando um numero na qual foi indicado não se encontra entre a quantidade de arrays de uma variável. Portanto verifique se a variável SpellNum durante o processo não é 0 ou mais do que o maximo de spells.

Tambem pode ser que você na hora de adicionar a propriedade da type adicionou no meio de todas as outras propriedades, deve adicioná-las sempre no final da type
boasfesta
boasfesta
Membro Sênior
Membro Sênior

Mensagens : 292

Ir para o topo Ir para baixo

Erro 9 - HandleUpdateSpell Empty Re: Erro 9 - HandleUpdateSpell

Mensagem por Monotoshi Sáb 01 Jun 2013, 14:02

Eu acho que deve apagar todas spells e tentar refaze-las talvez algum valor esteja bugado/errado sei la...
avatar
Monotoshi
Membro Vitalicio
Membro Vitalicio

Mensagens : 591

Ir para o topo Ir para baixo

Erro 9 - HandleUpdateSpell Empty Re: Erro 9 - HandleUpdateSpell

Mensagem por LoadinGZ Sáb 01 Jun 2013, 14:58

Refaça a Spell é Mais aconselhável do que ficar enchendo de Códigos ai!
LoadinGZ
LoadinGZ
Membro
Membro

Mensagens : 205

Ir para o topo Ir para baixo

Erro 9 - HandleUpdateSpell Empty Re: Erro 9 - HandleUpdateSpell

Mensagem por GoldSlash Sáb 01 Jun 2013, 16:27

Exato boasfesta, me expressei errado.

Esse é aquele bug do tipo, vc tem um array de 10 spells.
E tenta acessar o 11º...

Out of range, fora do escopo.
GoldSlash
GoldSlash
Membro Sênior
Membro Sênior

Mensagens : 383

Ir para o topo Ir para baixo

Erro 9 - HandleUpdateSpell Empty Re: Erro 9 - HandleUpdateSpell

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