Isto é uma pré-visualização de um tema em Hitskin.com
Instalar o tema • Voltar para a ficha do tema
[EO]Spell ativada fazendo perder status a cada "1" segundo
3 participantes
Página 1 de 1
[EO]Spell ativada fazendo perder status a cada "1" segundo
É bem simples o sistema, não há interações entre cliente~server, somente servidor.
O que faz?
-Este sistema fará que a sua magia designada faça o jogador perder o status definido a cada segundo.
E antes de "End Type" adicione isto:
Vamos considerar como:
MinusStat = 0 , para nada
MinusStat = 1 , para HP
MinusStat = 2 , para MP
E na *spell designada* você adiciona um destes dois exemplos de código:
Ou também:
Isso vai fazer com que se o jogador já estiver com a magia de PERDER MP ativada, ele vai desativar, senão vai ativar...
Então, vamos continuar, você adicionou simplesmente valores que indiquem que o jogador está em uma situação particular ou não...mas isto ainda não fará com que ele perca MP ou o status citado...
Portanto, ainda no servidor, Vá até seu serverLoop e procure pela:
e declare:
Agora, nesta sub procure por isto:
E adicione isto logo abaixo:
A contagem está mais que perfeitamente pronta pra ser usada em sua máquina...
**Adições como esta seriam boas também:
No Server ainda, procure por:
E nesta sub, abaixo de:
Adicione isto:
OBS: A quem não entendeu "spell designada", aqui vai um exemplo:
No server, procure por:
E dentro desta sub procure pela magia que quiser e adicione o código de ativação de diminuição do status...
Exemplo:
Quero adicionar para a magia de cura de MP SEM MIRA...então eu coloco abaixo de:
o código:
E está aí um exemplo de uso...
E pronto! Está aí seu sistema!
O que faz?
-Este sistema fará que a sua magia designada faça o jogador perder o status definido a cada segundo.
SERVER~SIDE
Abra seu server.vbp, e procure por:- Código:
TempPlayerRec
E antes de "End Type" adicione isto:
- Código:
MinusStat as Byte
Vamos considerar como:
MinusStat = 0 , para nada
MinusStat = 1 , para HP
MinusStat = 2 , para MP
E na *spell designada* você adiciona um destes dois exemplos de código:
- Código:
'Exemplo de ativação sem desativação
TempPlayer(Index).MinusStat = 2 'para o MP no seu caso
Ou também:
- Código:
'Usando como Ativação~Desativação:
If TempPlayer(index).MinusStat = 2 then 'checa se já está ativado
TempPlayer(index).MinusStat = 0
Call PlayerMsg(Index,"Uma técnica sua foi desativada...", Red)
else 'Não está ativado, vamos ativar então
TempPlayer(index).MinusStat = 2
Call PlayerMsg(Index,"Uma técnica sua foi ativada...", Grey)
End if
Isso vai fazer com que se o jogador já estiver com a magia de PERDER MP ativada, ele vai desativar, senão vai ativar...
Então, vamos continuar, você adicionou simplesmente valores que indiquem que o jogador está em uma situação particular ou não...mas isto ainda não fará com que ele perca MP ou o status citado...
Portanto, ainda no servidor, Vá até seu serverLoop e procure pela:
- Código:
Sub ServerLoop()
e declare:
- Código:
Dim MinusTimer as Long
Agora, nesta sub procure por isto:
- Código:
' HoT and DoT logic
For x = 1 To MAX_DOTS
HandleDoT_Player i, x
HandleHoT_Player i, x
Next
E adicione isto logo abaixo:
- Código:
'Vamos contar, certo?
If Tick > MinusTimer Then
If TempPlayer(i).MinusStat = 1 Then 'Para o HP
Call SetPlayerVital(i, HP, GetPlayerVital(i, HP) - 10) '10 = valor a ser retirado
Call SendVital(i, HP)
TempPlayer(i).MinusStat = 0
'Isso vai matar caso o HP seja menor ou igual a 0
If GetPlayerVital(index, HP) <= 0 Then KillPlayer i
End If
If TempPlayer(i).MinusStat = 2 Then 'Para o MP
If GetPlayerVital(i, MP) >= 10 Then 'Checa pra ver se o jogador tem a quantidade de MP
Call SetPlayerVital(i, MP, GetPlayerVital(i, MP) - 10) '10 = valor a ser retirado
Call SendVital(i, MP)
Else
TempPlayer(i).MinusStat = 0
Call PlayerMsg(i, "Sua técnica foi desativada por falta de mana...", Red)
End If
End If
MinusTimer = GetTickCount + 1000 '1000 = 1 segundo
End If
A contagem está mais que perfeitamente pronta pra ser usada em sua máquina...
**Adições como esta seriam boas também:
No Server ainda, procure por:
- Código:
Sub OnDeath
E nesta sub, abaixo de:
- Código:
' Clear spell casting
TempPlayer(index).spellBuffer.Spell = 0
TempPlayer(index).spellBuffer.timer = 0
TempPlayer(index).spellBuffer.Target = 0
TempPlayer(index).spellBuffer.tType = 0
Call SendClearSpellBuffer(index)
Adicione isto:
- Código:
'Caso o Player morra, desative sua técnica
TempPlayer(Index).MinusStat = 0
OBS: A quem não entendeu "spell designada", aqui vai um exemplo:
No server, procure por:
- Código:
Public Sub CastSpell
E dentro desta sub procure pela magia que quiser e adicione o código de ativação de diminuição do status...
Exemplo:
Quero adicionar para a magia de cura de MP SEM MIRA...então eu coloco abaixo de:
- Código:
SpellPlayer_Effect Vitals.MP, True, index, Vital, SpellNum
o código:
- Código:
TempPlayer(Index).MinusStat = 2 'no caso do MP
E está aí um exemplo de uso...
E pronto! Está aí seu sistema!
~Créditos~
Lucas Dantas(~eu)
Última edição por lucas100vzs em Qua Set 03, 2014 1:49 am, editado 1 vez(es)
Kotol- Moderador Local
- Mensagens : 77
Créditos : 17
Re: [EO]Spell ativada fazendo perder status a cada "1" segundo
Cara vlw mesmo, porém deu um errinho :/
Tipo seu oque significa porém não consegui resolver, tentei de todos os jeitos, caso queira me adicionar no skype para conversar melhor, só me avisar :)
Tipo seu oque significa porém não consegui resolver, tentei de todos os jeitos, caso queira me adicionar no skype para conversar melhor, só me avisar :)
- Imagem:
_________________
Pagina do Game: https://www.facebook.com/GLgameslooper
dazateam- Novato
- Mensagens : 12
Créditos : 0
Re: [EO]Spell ativada fazendo perder status a cada "1" segundo
pra que usar
- Código:
TempPlayerRec
- Código:
SpellRec
Última edição por kawanzii em Qua Mar 04, 2015 7:46 pm, editado 1 vez(es)
_________________
Assinatura removida pela Staff
^ Tenho nova, surprise
Re: [EO]Spell ativada fazendo perder status a cada "1" segundo
kawanzii,
Se usa "TempplayerRec", para se mostrar no jogador que ele está com algo em especial...ou que o diferencia de acordo com o que você usa.....
dazateam,
Esse erro foi porque fui lerdo....muito bem, Tópico Atualizado! Caso queira tirar esse erro, apague essa parte e re-copie a do tópico que agora estará certa!
*OBS: Adicionado caso haja morte, retirar o "Debuff" também...
Se usa "TempplayerRec", para se mostrar no jogador que ele está com algo em especial...ou que o diferencia de acordo com o que você usa.....
dazateam,
Esse erro foi porque fui lerdo....muito bem, Tópico Atualizado! Caso queira tirar esse erro, apague essa parte e re-copie a do tópico que agora estará certa!
*OBS: Adicionado caso haja morte, retirar o "Debuff" também...
Kotol- Moderador Local
- Mensagens : 77
Créditos : 17
Tópicos semelhantes
» [Ajuda] Perder MP por segundo
» Como coloco que a cada nivel, voce pode adicionar 5 pontos no status?
» Como por inimigos diferentes em cada mapa com hp mp str dex diferentes em cada luga ? pra RPG online com Netplay.
» Perder itens ao morrer
» [Pedido]Spell em Area e Spell de Summon
» Como coloco que a cada nivel, voce pode adicionar 5 pontos no status?
» Como por inimigos diferentes em cada mapa com hp mp str dex diferentes em cada luga ? pra RPG online com Netplay.
» Perder itens ao morrer
» [Pedido]Spell em Area e Spell de Summon
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos