Ir para conteúdo
Entre para seguir isso  
Vítor Amaral

Como criar novos distance/magic effects

Recommended Posts

Vítor Amaral    1
Vítor Amaral

Antes de tudo gostaria de esclarecer que não sou programador, nem nada perto disso. Apenas tive essa dúvida quando quis adicionar novos efeitos para o meu servidor.

 

Testado em: tfs 0.3.5

(imagino que funcione em mais avançados)

É necessário um server não compilado para isso.

Fonte: tópicos alheios do otfans

 

Adicionando Effects no Dateditor

 

[spoiler=Adicionando Effects no Dateditor]- Abra o seu dateditor e clique em File>Open

(ou aperte ctrl + o, ou clique na pastinha amarela em baixo de file)

 

- Localize o seu tibia.dat e o seu tibia.spr e clique em open.

(DICA: É interessante ter um backup do seus arquivos. Eu sempre coloco novos nomes toda vez que altero o dat e o spr. Sempre salvando de 30 em 30 minutos ou menos, pois o dateditor é meio instável.)

 

openrf.jpg

 

- Depois de carregar 100%, importe as suas sprites (Import>Sprites) e clique em File>New>Distance (ou Effect). Isso vai depender do que você pretende adicionar.

 

new2bj.jpg

 

- Logo em seguida você vai se deparar com um espaço em branco. Abaixo ou acima dos distance effects (vai variar de acordo com o que você adicionou).

 

- Ao adicionar distance effects, clique em display e altere o X Div e o Y Div para 3. Após isso você vai arrastar das sprites (lado direito) até o espaço onde temos a figura do bolo (como a figura mostra).

 

newrw.jpg

 

- Em seguida, clique na seta circular, para ir adicionado os efeitos para os outros lados. Repare na seta vermelha. Essa é uma opção interessante para seus efeitos. Ao ticar light, você deverá escolher o Lightlevel e o Lightcolor. Tome base outros efeitos e teste. Vá alterando e testando até chegar no que deseja.

 

- Ao adicionar magic effects, clique em display e altere o número do animation para o número de animações de seus magic effects. Width e Height devem ser alterados se no caso o seu efeito for 64x64. Ou deixe 1 de Width e 2 de Height para 32x64, e assim sucessivamente.

 

new3x.jpg

 

- Verifique a seta vermelha, onde indica ItemType. O número 67 indica que esse é o efeito 67 (mais para baixo ele é citado no tutorial). Onde está escrito Next Animation é aonde você deve clicar para ir adicionando as animações. Começa em 0 e vai até o número que você selecionou. Elas vão seguir essa ordem de 0 a "X".

 

Obs.: Lembre-se que é necessário arrastar as sprites, como se fosse colocar uma pasta dentro de outro no windows. No caso de uma figura maior que 32x32, arraste para o centro as duas sprites e você verá que dois ou mais quadrados azulados aparecerão.

 

 

 

[spoiler=É bom verificar]

- Verifique se isso existe no seu protrocolgame.cpp. Caso exista, substitua por 68 caso adicione apenas um efeito mágico, ou 69 para adicionar dois efeitos, ou 70 para três, e assim sucessivamente. Se não existir, desconsidere esse spoiler.

 

 

void ProtocolGame::sendMagicEffect(const Position& pos, uint8_t type)

{

if(canSee(pos) && type <= 67)

{

NetworkMessage_ptr msg = getOutputBuffer();

if(msg)

{

TRACK_MESSAGE(msg);

AddMagicEffect(msg, pos, type);

}

}

}

 

 

 

 

Magic Effects

 

[spoiler=Magic Effects]- Entre em const.h e procure por

(use a ctrl + f para procurar - tecla de atalho)

 

enum MagicEffectClasses

 

Adicione seguindo o modelo:

 

NM_ME_YALAHARIGHOST = 0x41, //65

NM_ME_BATS = 0x42, //66

NM_ME_SMOKE = 0x43, //67

NM_ME_NAME = 0x44, //68 (números seguintes)

NM_ME_LAST = NM_ME_NAME,

 

Obs.: Depois do número terminado em 9 é necessário adicionar A, B, C, D, E e F. Ex.: "NM_ME_EXAMPLE1 = 0x5A, //74" seguinte "NM_ME_EXAMPLE2 = 0x5B, //75" ... "NM_ME_EXAMPLE6 = 0x5F, //81 seguinte "NM_ME_EXAMPLE7 = 0x60, //82

 

- Depois entre em tools.cpp e procure por

 

MagicEffectNames magicEffectNames[]

 

Adicione seguindo o modelo:

 

{"bloodysteps", NM_ME_BLOODYSTEPS},

{"stepsvertical", NM_ME_STEPSVERTICAL},

{"yalaharighost", NM_ME_YALAHARIGHOST},

{"smoke", NM_ME_SMOKE},

{"name", NM_ME_NAME}

};

 

 

- Então em global.lua ou constant.lua (data/lib) adicione:

 

CONST_ME_SMOKE = 67

CONST_ME_NAME = 68

CONST_ME_NONE = 255

CONST_ME_LAST = CONST_ME_NAME

 

Obs.: Não esqueça do novo número.

 

 

 

Distance Effects

 

[spoiler=Distance Effects]- Entre em const.h e procure por

 

enum ShootType_t

 

NM_SHOOT_EXPLOSION = 0x28, //40

NM_SHOOT_CAKE = 0x29, //41

NM_SHOOT_NAME = 0x30, //42

NM_SHOOT_LAST = NM_SHOOT_NAME,

 

- Entre em tools.cpp e procure por

 

ShootTypeNames shootTypeNames[]

 

 

{"eartharrow", NM_SHOOT_EARTHARROW},

{"explosion", NM_SHOOT_EXPLOSION},

{"cake", NM_SHOOT_CAKE},

{"name", NM_SHOOT_NAME}

};

 

- Agora, se for uma munição como por exemplo uma flecha, no mesmo arquivo, procure por

 

{"flamingarrow", AMMO_ARROW},

{"shiverarrow", AMMO_ARROW},

{"eartharrow", AMMO_ARROW},

{"etherealspear", AMMO_SPEAR}

{"name", AMMO_TIPO

};

 

Tipos: ARROW, BOLT, SPEAR, THROWINGSTAR, THROWINGKNIFE

 

- Então em global.lua ou constant.lua (data/lib) adicione:

 

CONST_ANI_EXPLOSION = 40

CONST_ANI_CAKE = 41

CONST_ANI_NAME = 42

CONST_ANI_WEAPONTYPE = 254

CONST_ANI_NONE = 255

CONST_ANI_LAST = CONST_ANI_NAME

 

Compile seu server e use o comando /z "número" e /y "número" para testar seus efeitos.

 

 

[spoiler=SS]

Apenas a imagem do distance effect, já que foi o que alterei.

 

patronus.png

 

Obs.: É um server baseado em Harry Potter e esse foi um teste de um dos efeitos do 'Patronus' (para quem conhece).

 

 

 

 

 

Qualquer coisa mandem p.m. ou postem aqui, prometo me esforçar para responder. :bye:

Agredecimentos especiais ao gpedro

 

EDITED: Coloquei os spoilers na tentativa de organizar melhor o tópico. Caso não gostem opinem para voltar como era antes.

 

[spoiler=Dat Editor - Tutorial + Downloads]http://forums.otserv.com.br/f47/tutorial-add-item-pelo-dat-editor-8-54-157168/

 

 

Para baixar as sources basta entrar aqui: http://otland.net/subversion.php?svn=public

Editado por Vítor Amaral

Compartilhar este post


Link para o post
Dark Skyllen    7
Dark Skyllen

Ótimo tutorial, irá ajudar muitas pessoas com tal dúvida.

Obrigado pela contribuição,

Movido.

Compartilhar este post


Link para o post
Piikachu    0
Piikachu

Ótimo tutorial, DS?

Excelente tutorial, tá de parabéns e muito mais que merecido, nunca tinha pensado nisso e nem vi nenhum OTServ com esse tipo de atrativo.

 

Mandou muito, Guri!

Continue assim...

 

Atenciosamente,

Piikachu.

Compartilhar este post


Link para o post
Vítor Amaral    1
Vítor Amaral

Obrigado Piikachu e DS também.

Espero que as pessoas acessem mais esse lado do fórum. Principalmente para quem está fazendo os servers de pokemon e coisas assim.

Compartilhar este post


Link para o post
Johnnie    2
Johnnie

Parabéns pelo tutorial.

É raro ver alguém que após resolver suas dúvidas se dispõe a compartilhar esse conhecimento.

Editado por Johnnie

Compartilhar este post


Link para o post
arthurmaffeis    0
arthurmaffeis
- Entre em const.h e procure por

(use a ctrl + f para procurar - tecla de atalho)

desculpa a pergunta, mais como eu faço pra chegar em const.h ?

Compartilhar este post


Link para o post
Dark Skyllen    7
Dark Skyllen
desculpa a pergunta, mais como eu faço pra chegar em const.h ?

 

Quando se faz o download do seu server, alguns servidores vem com o download opcional das sources. É nas sources que você poderá encontrar esse arquivo para alterá-lo. Após alteração é necessário re-compilar o servidor, para isso, procure um tutorial de compilação aqui no fórum mesmo. (Y)

Compartilhar este post


Link para o post
arthurmaffeis    0
arthurmaffeis

vlw dark !

:D

Compartilhar este post


Link para o post
kibezx    0
kibezx

Vlw ae ó/

Funfo direitinho aqui , só que ... tipo ... eu queria fazer um item , como eu adiciono esse item no Item.XML com a parencia da sprite que eu fiz ?

ou

Eu tenhu que pegar sprite de 1 item e mudar pela que eu fiz ?

Compartilhar este post


Link para o post
bagaceta    0
bagaceta

gostei muito parabens

Compartilhar este post


Link para o post
Miltonhit    4
Miltonhit

tipo eu estou com o The Forgotten Server 0.3.6 PL1, só que o link da pasta sources está conrrompida, tem como eu pegar a sources a partir do executavel,

por exemplo pega a pasta sprites a partir do tibia.spr?

 

obrigado.

Compartilhar este post


Link para o post
Biell Lok's    0
Biell Lok's

Otimo tutorial, me ajudou muito !

Parabens.

Compartilhar este post


Link para o post
Vítor Amaral    1
Vítor Amaral
tipo eu estou com o The Forgotten Server 0.3.6 PL1, só que o link da pasta sources está conrrompida, tem como eu pegar a sources a partir do executavel,

por exemplo pega a pasta sprites a partir do tibia.spr?

 

obrigado.

 

Que eu saiba, não.

Compartilhar este post


Link para o post
Notorious    1
Notorious
tipo eu estou com o The Forgotten Server 0.3.6 PL1, só que o link da pasta sources está conrrompida, tem como eu pegar a sources a partir do executavel,

por exemplo pega a pasta sprites a partir do tibia.spr?

 

obrigado.

Eles mudaram o endereço da subversion da OTLand, se quiser baixar o TFS 0.3.6pl1 eu peguei o link direto pra você e o novo endereço da subversion deles é http://otland.net/subversion.php?svn=public ...

Compartilhar este post


Link para o post
BiliSca    0
BiliSca

gostei mas prefiro n dizer os lados ruims...da para ver na cara

Compartilhar este post


Link para o post
kleitinvr    0
kleitinvr

onde eu baixo issu procurei no google e nao axei alguem poderia me passar?

Compartilhar este post


Link para o post
K r e x    42
K r e x
gostei mas prefiro n dizer os lados ruims...da para ver na cara

Acredito que se tem algo ruim você tem que citar pra melhorar, lol.

 

 

Muito bom ;]

Nem imaginava q no HPATS ia ter Patrono =o

Fodaa :yes:

Compartilhar este post


Link para o post
Vítor Amaral    1
Vítor Amaral
gostei mas prefiro n dizer os lados ruims...da para ver na cara

 

como eu disse no começo do tópico: eu não sou programador e nem nada parecido. Só tive essa dúvida e postei aqui pq resolveu meu problema.

 

Se você puder e tiver algo a acrescentar, por favor poste! Eu modificarei o tópico imediatamente. É bem provável que eu tenha cometido algum erro ou coisa assim. Por enquanto, ninguém apontou.

Compartilhar este post


Link para o post
OComedor    0
OComedor

mas isso nao da debug

Compartilhar este post


Link para o post
Jack Frost    0
Jack Frost

se o meu server já é compilado

eu busco um tutorial de compilar, descompilo, modifico e compilo novamente

funcionaria ?

Compartilhar este post


Link para o post
Visitante
Este tópico está impedido de receber novos posts.
Entre para seguir isso  
  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×