jonny157 Membro
Mensagens : 4 Moeda : 6 Pontos : 0 Data de inscrição : 09/01/2013
| Assunto: AJUDA COM PROGRAMAÇÃO EM SPRITES Ter Fev 12, 2013 9:08 pm | |
| Um dúvida para programadores intermediários..
Seguinte galera, eu fiz este tutorial para o meu jogo [Tens de ter uma conta e sessão iniciada para poderes visualizar este link]
Até ai tudo bem...
MAS... TODAVIA... PORÉM
Tem uma parte do tutorial que é a OldSprite, ela leva ao jogador a sprite antiga depois que o tempo da cópia acabar. Sendo que.. no meu jogo eu tenho um item que muda a aparência do jogador. Agora vou explicar o que acontece.. Vou dar um exemplo.
O jogador iniciou com a Sprite 1, quando ele equipa o item ele fica com a Sprite 20. Ai vai ele bonitão na rua das aldeias, vilarejos, com seu novo item nova aparência... quando derrepente CHAMMM... APARECEM OS SEUS INIMIGOS.
Para se esconder deles ele resolve usar a sua magia de COPIAR SPRITE PLAYER OR NPC, e então ele muda para a sprite 5 que é a Sprite do inimigo. Assim ele se disfarça o tempo necessário e foge da luta.
Quando ele está longe.. o tempo de sua magia copiar termina e então ele volta sua Sprite normal. Só que ele acaba levando um susto, pois ao invés de voltar a sprite 20 ele retornou a sprite 1 mesmo carregando o item. '-'
Agora vou mostrar o meu Old Sprite, pra quem não entende, por favor olhar o tutorial da magia copiar que eu deixei no começo do tópico.
- Código:
-
Sub OldSprite(ByVal index As Long) Dim itemnum As Long Dim invNum As Long
itemnum = GetPlayerInvItemNum(index, invNum) 'Cada Case é o número de cada classe, e é a Sprite que a classe indicada voltará quando o tempo da cópia acabar
Select Case GetPlayerClass(index) Case 0 Player(index).sprite = 1 Call SendPlayerData(index) 'knight Case 1 If Player(index).Sex = SEX_MALE Then Player(index).sprite = 1 Else Player(index).sprite = 2 End If Call SendPlayerData(index) 'Samurai Case 2 If Player(index).Sex = SEX_MALE Then Player(index).sprite = 3 Else Player(index).sprite = 4 End If Call SendPlayerData(index) 'Paladin Case 3 If Player(index).Sex = SEX_MALE Then Player(index).sprite = 5 Else Player(index).sprite = 6 End If Call SendPlayerData(index) 'Black Mage Case 4 If Player(index).Sex = SEX_MALE Then Player(index).sprite = 7 Else Player(index).sprite = 8 End If Call SendPlayerData(index) 'White Mage Case 5 If Player(index).Sex = SEX_MALE Then Player(index).sprite = 9 Else Player(index).sprite = 10 End If Call SendPlayerData(index) 'Blue Mage Case 6 If Player(index).Sex = SEX_MALE Then Player(index).sprite = 11 Else Player(index).sprite = 12 End If Call SendPlayerData(index) 'Hunter Case 7 If Player(index).Sex = SEX_MALE Then Player(index).sprite = 13 Else Player(index).sprite = 14 End If Call SendPlayerData(index) 'Ninja Case 8 If Player(index).Sex = SEX_MALE Then Player(index).sprite = 15 Else Player(index).sprite = 16 End If Call SendPlayerData(index) 'Assassin Case 9 If Player(index).Sex = SEX_MALE Then Player(index).sprite = 17 Else Player(index).sprite = 18 End If Call SendPlayerData(index) Case Else Player(index).sprite = 0 Call SendPlayerData(index) End Select If GetPlayerEquipment(index, sprite) > 0 Then If Player(index).Sex = SEX_MALE Then Call SetPlayerSprite(index, Item(itemnum).sprite) Call SendPlayerData(index) Else Call SetPlayerSprite(index, Item(itemnum).sprite + 1) Call SendPlayerData(index) End If End If
End Sub Esta dando erro no final da sub no GetplayerEquipament...
A linha que está dando erro é esta... " Call SetPlayerSprite(index, Item(itemnum).sprite)", essa é a linha infeliz que não deixa o meu personagem voltar para a Sprite normal dele.
O erro é "Subscript of range" referente ao item(itemnum).sprite. | |
|
jonny157 Membro
Mensagens : 4 Moeda : 6 Pontos : 0 Data de inscrição : 09/01/2013
| Assunto: Re: AJUDA COM PROGRAMAÇÃO EM SPRITES Qua Abr 10, 2013 5:32 pm | |
| Nossa ninguém respondeu até hoje... D= | |
|