Olá, como crio um sistema de transformação !?
2 participantes
Como criar Sistema
- Mensagem nº2
Re: Como criar Sistema
[EO] Transformation spell
Depende da sua versão de Eclipse mas aqui vai uma base do fórum oficial do EO.
Antes de tudo aconselho a fazer um backup pois não sei se dará certo em seu projeto, dessa forma poderá voltar sem problemas.
CLIENT SIDE
Abra o Spell Editor e add:
Label:
Nome - lblSprite
Caption - Transformation sprite:
Scroll bar:
Nome - scrlSprite
Add esse codigo no scrollbar (duplo clique no scrollbaer que adicionou):
Vá para o modGameEditors, encontre o sub:
SpellEditorInit
Dentro desse sub encontre:
Embaixo adicione:
Vá para modTypes, e encontre:
Adicione isso a esse Type:
Com isso finalizamos o client.
SERVER SIDE
Vá para o modTypes, e encontre:
Adicione isso ao Type:
No modPlayer e em Sub CastSpell encontre:
Troque por isso:
Isso é tudo, agora quando voce usar "addhp" e "addmp" em uma spell e se voce setar sprite no editor de spell > que 0 seu sprite mudara para o que estiver no editor, referente ao numero na pasta characters.
Espero que de certo, não testei o sistema mas tente.
Créditos:
Qazek
Link topico oficial Eclipse Origins
Depende da sua versão de Eclipse mas aqui vai uma base do fórum oficial do EO.
Antes de tudo aconselho a fazer um backup pois não sei se dará certo em seu projeto, dessa forma poderá voltar sem problemas.
CLIENT SIDE
Abra o Spell Editor e add:
Label:
Nome - lblSprite
Caption - Transformation sprite:
Scroll bar:
Nome - scrlSprite
Add esse codigo no scrollbar (duplo clique no scrollbaer que adicionou):
- Código:
lblSprite.Caption = "Transformation sprite: " & scrlSprite.Value
Spell(EditorIndex).Sprite = scrlSprite.Value
Vá para o modGameEditors, encontre o sub:
SpellEditorInit
Dentro desse sub encontre:
- Código:
.scrlStun.Value = Spell(EditorIndex).StunDuration
Embaixo adicione:
- Código:
.scrlSprite.Value = Spell(EditorIndex).Sprite
Vá para modTypes, e encontre:
- Código:
Private Type SpellRec
Adicione isso a esse Type:
- Código:
Sprite As Long
Com isso finalizamos o client.
SERVER SIDE
Vá para o modTypes, e encontre:
- Código:
Private Type SpellRec
Adicione isso ao Type:
- Código:
Sprite As Long
No modPlayer e em Sub CastSpell encontre:
- Código:
Case 0 ' self-cast target[size=12][/size]
Select Case Spell(spellnum).Type[size=12][/size]
Case SPELL_TYPE_HEALHP[size=12][/size]
SpellPlayer_Effect Vitals.HP, True, Index, Vital, spellnum[size=12][/size]
DidCast = True[size=12][/size]
Case SPELL_TYPE_HEALMP[size=12][/size]
SpellPlayer_Effect Vitals.MP, True, Index, Vital, spellnum[size=12][/size]
DidCast = True[size=12][/size]
Case SPELL_TYPE_WARP[size=12][/size]
SendAnimation MapNum, Spell(spellnum).SpellAnim, 0, 0, TARGET_TYPE_PLAYER, Index[size=12][/size]
PlayerWarp Index, Spell(spellnum).Map, Spell(spellnum).x, Spell(spellnum).y[size=12][/size]
SendAnimation GetPlayerMap(Index), Spell(spellnum).SpellAnim, 0, 0, TARGET_TYPE_PLAYER, Index[size=12][/size]
DidCast = True[size=12][/size]
End Select
Troque por isso:
- Código:
Case 0 ' self-cast target[size=12][/size]
Select Case Spell(spellnum).Type[size=12][/size]
Case SPELL_TYPE_HEALHP[size=12][/size]
SpellPlayer_Effect Vitals.HP, True, Index, Vital, spellnum[size=12][/size]
If Spell(spellnum).Sprite > 0 Then[size=12][/size]
SendAnimation MapNum, Spell(spellnum).SpellAnim, 0, 0, TARGET_TYPE_PLAYER, Index[size=12][/size]
SetPlayerSprite Index, Spell(spellnum).Sprite[size=12][/size]
Call SendPlayerData(Index)[size=12][/size]
End If[size=12][/size]
DidCast = True[size=12][/size]
Case SPELL_TYPE_HEALMP[size=12][/size]
SpellPlayer_Effect Vitals.MP, True, Index, Vital, spellnum[size=12][/size]
If Spell(spellnum).Sprite > 0 Then[size=12][/size]
SendAnimation MapNum, Spell(spellnum).SpellAnim, 0, 0, TARGET_TYPE_PLAYER, Index[size=12][/size]
SetPlayerSprite Index, Spell(spellnum).Sprite[size=12][/size]
Call SendPlayerData(Index)[size=12][/size]
End If[size=12][/size]
DidCast = True[size=12][/size]
Case SPELL_TYPE_WARP[size=12][/size]
SendAnimation MapNum, Spell(spellnum).SpellAnim, 0, 0, TARGET_TYPE_PLAYER, Index[size=12][/size]
PlayerWarp Index, Spell(spellnum).Map, Spell(spellnum).x, Spell(spellnum).y[size=12][/size]
SendAnimation GetPlayerMap(Index), Spell(spellnum).SpellAnim, 0, 0, TARGET_TYPE_PLAYER, Index[size=12][/size]
DidCast = True[size=12][/size]
End Select
Isso é tudo, agora quando voce usar "addhp" e "addmp" em uma spell e se voce setar sprite no editor de spell > que 0 seu sprite mudara para o que estiver no editor, referente ao numero na pasta characters.
Espero que de certo, não testei o sistema mas tente.
Créditos:
Qazek
Link topico oficial Eclipse Origins
_________________
using C# and import Python developer || Expert in Unity Engine IDE. || 2D pixel games.