[EO] Spell Copiar Sprite Npc/Player V1.0
5 participantes
Página 1 de 1
[EO] Spell Copiar Sprite Npc/Player V1.0
Bem, como eu estou empolgado em ajudar pessoas novatas, ou simplesmente aquelas que vivem de "Ctrl+C e Ctrl+V" por preguiça de aprenderem ou por falta de tempo....Então postarei o sistema de copiar sprite seja ela de Npc's ou Players com Tempo escolhido pelo editor de magias.....
Então vamos ao tutorial....vou começar pela a parte chata...abra o seu "client.vbp" ,e na "FrmEditor_Spell" crie:
-1x Scrolls
Nome: scrlCopy
-1x Label
Nome: lblCopy
Caption: Copy Duration: 0
-1x CheckBox
Nome: chkCSprite
Muito bem, dentro da "chkCSprite" adicione este seguinte código:
Agora dentro da "scrlCopy" adicione este código:
Agora, em "modGameEditors", na "Public Sub SpellEditorInit()" , procure por:
E abaixo disto, adicione isto:
Agora, em "ModTypes" , procure pela "Type":
E nesta "Type" , procure por:
E abaixo disto, adicione isto:
E ainda nesta "Type" mais abaixo, acima de "End Type", adicione isto:
Agora em "ModGlobals" , procure por:
E abaixo disto, adicione isto:
Agora na "ModEnumerations" na "Public Enum ServerPackets" , procure por:
E abaixo disto, adicione isto:
E agora, na "ModHandleData" em "InitMessages", procure por:
E abaixo disto, adicione isto:
E agora, procure por esta Sub:
E abaixo desta SUB , depois da "End Sub" desta "Sub HandleStunned", adicione isto:
Agora vamos pro que eu gosto, o server
Abra seu "server.vbp", e em "ModEnumerations", procure por:
E abaixo disto adicione isto:
E agora em "ModServerTCP" procure pela sub:
E abaixo desta SUB, depois da "End Sub" adicione isto:
Depois, em "ModCombat" na "Sub CastSpell" procure por:
E acima disto, adicione isto:
Ainda em "ModCombat" procure por esta sub:
E depois desta "Sub" abaixo do "End Sub" adicione isto:
Depois em "modServerLoop" depois desta parte:
Adicione isto:
Agora em "ModTypes" na "Type" : "Public Type TempPlayerRec", procure por:
E abaixo disto adicione isto:
E na "Type" : "Public Type SpellRec" , depois de :
Adicione isto:
E nesta "Type" antes de "End Type" , adicione isto:
E no final da "ModPlayer" , adicione esta "Sub":
Agora em "ModPlayer", na "Sub JoinGame" , procure por:
E acima disto, adicione isto:
E agora, na "Sub LeftGame", procure por:
E acima disto, adicione isto:
E pronto, agora você tem o tutorial de cópia de sprite por tempo e retorno à sprite original...lembrem de editar a "Sub OldSprite" com as respectivas sprites que você quer que as classes voltem na hora que acabar o tempo da cópia da sprite...
Agradeçam a Deus por eu disponibilizar uma coisa dessas
Então vamos ao tutorial....vou começar pela a parte chata...abra o seu "client.vbp" ,e na "FrmEditor_Spell" crie:
-1x Scrolls
Nome: scrlCopy
-1x Label
Nome: lblCopy
Caption: Copy Duration: 0
-1x CheckBox
Nome: chkCSprite
Muito bem, dentro da "chkCSprite" adicione este seguinte código:
- Código:
If ChkCSprite.value = 0 Then
Spell(EditorIndex).CSprite = False
Else
Spell(EditorIndex).CSprite = True
End If
Agora dentro da "scrlCopy" adicione este código:
- Código:
Spell(EditorIndex).CopyDuration = scrlCopy.value
lblCopy.Caption = "Copy Duration:" & scrlCopy.value & "s"
Agora, em "modGameEditors", na "Public Sub SpellEditorInit()" , procure por:
- Código:
.scrlInterval.value = Spell(EditorIndex).Interval
E abaixo disto, adicione isto:
- Código:
If Spell(EditorIndex).CSprite Then
.ChkCSprite.value = 1
Else
.ChkCSprite.value = 0
End If
.scrlCopy.value = Spell(EditorIndex).CopyDuration
Agora, em "ModTypes" , procure pela "Type":
- Código:
Private Type SpellRec
E nesta "Type" , procure por:
- Código:
StunDuration As Long
E abaixo disto, adicione isto:
- Código:
CopyDuration as Long
E ainda nesta "Type" mais abaixo, acima de "End Type", adicione isto:
- Código:
CSprite As Boolean
Agora em "ModGlobals" , procure por:
- Código:
Public StunDuration As Long
E abaixo disto, adicione isto:
- Código:
Public CopyDuration As Long
Agora na "ModEnumerations" na "Public Enum ServerPackets" , procure por:
- Código:
SStunned
E abaixo disto, adicione isto:
- Código:
SCopy
E agora, na "ModHandleData" em "InitMessages", procure por:
- Código:
HandleDataSub(SStunned) = GetAddress(AddressOf HandleStunned)
E abaixo disto, adicione isto:
- Código:
HandleDataSub(SCopy) = GetAddress(AddressOf HandleCopy)
E agora, procure por esta Sub:
- Código:
Private Sub HandleStunned(ByVal Index As Long, ByRef Data() As Byte, ByVal StartAddr As Long, ByVal ExtraVar As Long)
E abaixo desta SUB , depois da "End Sub" desta "Sub HandleStunned", adicione isto:
- Código:
Private Sub HandleCopy(ByVal Index As Long, ByRef Data() As Byte, ByVal StartAddr As Long, ByVal ExtraVar As Long)
Dim Buffer As clsBuffer
' If debug mode, handle error then exit out
If Options.Debug = 1 Then On Error GoTo errorhandler
Set Buffer = New clsBuffer
Buffer.WriteBytes Data()
CopyDuration = Buffer.ReadLong
Set Buffer = Nothing
' Error handler
Exit Sub
errorhandler:
HandleError "HandleCopy", "modHandleData", Err.Number, Err.Description, Err.Source, Err.HelpContext
Err.Clear
Exit Sub
End Sub
Agora vamos pro que eu gosto, o server
Abra seu "server.vbp", e em "ModEnumerations", procure por:
- Código:
SStunned
E abaixo disto adicione isto:
- Código:
SCopy
E agora em "ModServerTCP" procure pela sub:
- Código:
Sub SendStunned(ByVal index As Long)
E abaixo desta SUB, depois da "End Sub" adicione isto:
- Código:
Sub SendCopy(ByVal index As Long)
Dim Buffer As clsBuffer
Set Buffer = New clsBuffer
Buffer.WriteLong SCopy
Buffer.WriteLong TempPlayer(index).CopyDuration
SendDataTo index, Buffer.ToArray()
Set Buffer = Nothing
End Sub
Depois, em "ModCombat" na "Sub CastSpell" procure por:
- Código:
' find out what kind of spell it is! self cast, target or AOE
E acima disto, adicione isto:
- Código:
' Copy Sprite
If Spell(SpellNum).CSprite = True Then
If targetType = TARGET_TYPE_PLAYER Then
Call SetPlayerSprite(index, Player(TempPlayer(index).Target).Sprite)
Call SendPlayerData(index)
TempPlayer(index).CopyDuration = Spell(SpellNum).CopyDuration
TempPlayer(index).CopyTimer = GetTickCount
Exit Sub
ElseIf targetType = TARGET_TYPE_NPC Then
Call SetPlayerSprite(index, NPC(TempPlayer(index).Target).Sprite)
Call SendPlayerData(index)
TempPlayer(index).CopyDuration = Spell(SpellNum).CopyDuration
TempPlayer(index).CopyTimer = GetTickCount
Exit Sub
End If
End If
Ainda em "ModCombat" procure por esta sub:
- Código:
Public Sub StunPlayer(ByVal index As Long, ByVal SpellNum As Long)
E depois desta "Sub" abaixo do "End Sub" adicione isto:
- Código:
Public Sub CopyPlayer(ByVal index As Long, ByVal SpellNum As Long)
' check if it's a copy spell and duration higher than "0"
If Spell(SpellNum).CopyDuration > 0 Then
' set the values on index
TempPlayer(index).CopyDuration = Spell(SpellNum).CopyDuration
TempPlayer(index).CopyTimer = GetTickCount
' send it to the index
SendCopy index
' tell him he's under copy effect for a "x" time
PlayerMsg index, "Copia ativa por: " & TempPlayer(index).CopyDuration & " segundos.", BrightRed
End If
End Sub
Depois em "modServerLoop" depois desta parte:
- Código:
' check if need to turn off stunned
If TempPlayer(i).StunDuration > 0 Then
If GetTickCount > TempPlayer(i).StunTimer + (TempPlayer(i).StunDuration * 1000) Then
TempPlayer(i).StunDuration = 0
TempPlayer(i).StunTimer = 0
SendStunned i
End If
End If
Adicione isto:
- Código:
' check if need to turn off copy state
If TempPlayer(i).copyDuration > 0 Then
If GetTickCount > TempPlayer(i).CopyTimer + (TempPlayer(i).CopyDuration * 1000) Then
TempPlayer(i).CopyDuration = 0
TempPlayer(i).CopyTimer = 0
SendCopy i
PlayerMsg i, "Cópia terminada...", White
Call OldSprite(i)
End If
End If
Agora em "ModTypes" na "Type" : "Public Type TempPlayerRec", procure por:
- Código:
StunTimer As Long
StunDuration As Long
E abaixo disto adicione isto:
- Código:
CopyTimer As Long
CopyDuration As Long
E na "Type" : "Public Type SpellRec" , depois de :
- Código:
StunDuration as Long
Adicione isto:
- Código:
CopyDuration As Long
E nesta "Type" antes de "End Type" , adicione isto:
- Código:
CSprite as Boolean
E no final da "ModPlayer" , adicione esta "Sub":
- Código:
Sub OldSprite(ByVal index As Long)
'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)
Case 1
Player(index).Sprite = 2
Call SendPlayerData(index)
Case 2
Player(index).Sprite = 3
Call SendPlayerData(index)
Case 3
Player(index).Sprite = 4
Call SendPlayerData(index)
Case 4
Player(index).Sprite = 5
Call SendPlayerData(index)
Case 5
Player(index).Sprite = 6
Call SendPlayerData(index)
Case 6
Player(index).Sprite = 7
Call SendPlayerData(index)
Case Else
Player(index).Sprite = 10
Call SendPlayerData(index)
End Select
End Sub
Agora em "ModPlayer", na "Sub JoinGame" , procure por:
- Código:
' Send the flag so they know they can start doing stuff
SendInGame index
E acima disto, adicione isto:
- Código:
Call OldSprite(index)
E agora, na "Sub LeftGame", procure por:
- Código:
Call ClearPlayer(index)
E acima disto, adicione isto:
- Código:
Call OldSprite(index)
E pronto, agora você tem o tutorial de cópia de sprite por tempo e retorno à sprite original...lembrem de editar a "Sub OldSprite" com as respectivas sprites que você quer que as classes voltem na hora que acabar o tempo da cópia da sprite...
Agradeçam a Deus por eu disponibilizar uma coisa dessas
Créditos
-Eu, lucas100vzs
Então até a próxima minha gente !
Espero que ao copiarem este código, estudem ao mesmo tempo! E tentem pegar algo...porque ninguém começa de cima, mas pode chegar lá...como eu estou quase chegando !
-Eu, lucas100vzs
Então até a próxima minha gente !
Espero que ao copiarem este código, estudem ao mesmo tempo! E tentem pegar algo...porque ninguém começa de cima, mas pode chegar lá...como eu estou quase chegando !
lucas100vzs- Membro Sênior
- Mensagens : 396
Re: [EO] Spell Copiar Sprite Npc/Player V1.0
Ainda não testei e nem li os códigos, mas se estiver certo mesmo, parabéns, pois vai ajudar muita gente.
Dá até pra fazer um jogo do Mortal Kombat com isso... ae o Shag Tsung usa o poder dele de copiar a aparência do outro...
Dá até pra fazer um jogo do Mortal Kombat com isso... ae o Shag Tsung usa o poder dele de copiar a aparência do outro...
Re: [EO] Spell Copiar Sprite Npc/Player V1.0
Daria sim...mas daria muito trabalho, pois como eu sou chato, eu colocaria um "With" pra se referir a algum lugar pra guardar informações, aí seria tipo assim:
Pra copiar os status e no tempo, retornar os status do player...
Mas nem vou pensar nisso, porque não quero fazer
Mas funciona sim...aqui funcionou....se alguém conseguir ter erros, poste aqui que eu dou suporte !! Ou melhor eu tento dar suporte
- Código:
With TempStat
.str = Player....
.def = player....
End With
Pra copiar os status e no tempo, retornar os status do player...
Mas nem vou pensar nisso, porque não quero fazer
Mas funciona sim...aqui funcionou....se alguém conseguir ter erros, poste aqui que eu dou suporte !! Ou melhor eu tento dar suporte
lucas100vzs- Membro Sênior
- Mensagens : 396
Re: [EO] Spell Copiar Sprite Npc/Player V1.0
por alenaldo Hoje à(s) 22:43
Boa Sensei
Que isso Alenaldo, nem tanto 'kk
Seria sensei se eu criasse "editores"... funções de modificações gráficas ou em database.....mas isso é simples...comparado ao que realmente ainda falta...
lucas100vzs- Membro Sênior
- Mensagens : 396
Re: [EO] Spell Copiar Sprite Npc/Player V1.0
Fala aew Lucas, obrigado por disponibilizar. Mas aqui não funcinou bem não...
Deu
algum problema nas linhas de código porque quando copia a sprite do NPC
não fica igual a dele, pelo contrário, copia para outra sprite que não
tem nada haver. O.O
Estou tentando corrigir o erro.. mas creio que está nesta linha.
' Copy Sprite
If Spell(SpellNum).CSprite = True Then
If targetType = TARGET_TYPE_PLAYER Then
Call SetPlayerSprite(index, Player(TempPlayer(index).Target).Sprite)
Call SendPlayerData(index)
TempPlayer(index).CopyDuration = Spell(SpellNum).CopyDuration
TempPlayer(index).CopyTimer = GetTickCount
Exit Sub
ElseIf targetType = TARGET_TYPE_NPC Then
Call SetPlayerSprite(index, NPC(TempPlayer(index).Target).Sprite)
Call SendPlayerData(index)
TempPlayer(index).CopyDuration = Spell(SpellNum).CopyDuration
TempPlayer(index).CopyTimer = GetTickCount
Exit Sub
End If
End If
Se pude me ajudar eu lhe agradeço.
Deu
algum problema nas linhas de código porque quando copia a sprite do NPC
não fica igual a dele, pelo contrário, copia para outra sprite que não
tem nada haver. O.O
Estou tentando corrigir o erro.. mas creio que está nesta linha.
' Copy Sprite
If Spell(SpellNum).CSprite = True Then
If targetType = TARGET_TYPE_PLAYER Then
Call SetPlayerSprite(index, Player(TempPlayer(index).Target).Sprite)
Call SendPlayerData(index)
TempPlayer(index).CopyDuration = Spell(SpellNum).CopyDuration
TempPlayer(index).CopyTimer = GetTickCount
Exit Sub
ElseIf targetType = TARGET_TYPE_NPC Then
Call SetPlayerSprite(index, NPC(TempPlayer(index).Target).Sprite)
Call SendPlayerData(index)
TempPlayer(index).CopyDuration = Spell(SpellNum).CopyDuration
TempPlayer(index).CopyTimer = GetTickCount
Exit Sub
End If
End If
Se pude me ajudar eu lhe agradeço.
jonny157- Membro Sênior
- Mensagens : 406
Re: [EO] Spell Copiar Sprite Npc/Player V1.0
Ali encima de copy sprite
coloca On Error Resume Next,ou ali na linha do erro onde ta o nome npc poe Player
coloca On Error Resume Next,ou ali na linha do erro onde ta o nome npc poe Player
Monotoshi- Membro Vitalicio
- Mensagens : 591
Re: [EO] Spell Copiar Sprite Npc/Player V1.0
Explica de novo por favor, não entendi bem o que é pra fazer...
jonny157- Membro Sênior
- Mensagens : 406
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