[EO]Spell ativada fazendo perder status a cada "1" segundo Hitskin_logo Hitskin.com

Isto é uma pré-visualização de um tema em Hitskin.com
Instalar o temaVoltar para a ficha do tema

Aldeia RPG
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

[EO]Spell ativada fazendo perder status a cada "1" segundo

3 participantes

Ir para baixo

[EO]Spell ativada fazendo perder status a cada "1" segundo Empty [EO]Spell ativada fazendo perder status a cada "1" segundo

Mensagem por Kotol Sex Ago 29, 2014 3:57 pm

É 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.

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...  Razz


E pronto! Está aí seu sistema!  Angel

~Créditos~

Lucas Dantas(~eu)


Última edição por lucas100vzs em Qua Set 03, 2014 1:49 am, editado 1 vez(es)
Kotol
Kotol
Moderador Local
Moderador Local

Mensagens : 77
Créditos : 17

Ir para o topo Ir para baixo

[EO]Spell ativada fazendo perder status a cada "1" segundo Empty Re: [EO]Spell ativada fazendo perder status a cada "1" segundo

Mensagem por dazateam Sex Ago 29, 2014 11:34 pm

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 :)


Imagem:

_________________
[EO]Spell ativada fazendo perder status a cada "1" segundo Iwqc29
Pagina do Game: https://www.facebook.com/GLgameslooper
dazateam
dazateam
Novato
Novato

Mensagens : 12
Créditos : 0

Ir para o topo Ir para baixo

[EO]Spell ativada fazendo perder status a cada "1" segundo Empty Re: [EO]Spell ativada fazendo perder status a cada "1" segundo

Mensagem por Pablo Kawan Sáb Ago 30, 2014 8:31 am

pra que usar
Código:
TempPlayerRec
se existe

Código:
SpellRec
e pode já identificar o numero ou o tipo de add que vai perder nela em vez de uma variavel no temp


Última edição por kawanzii em Qua Mar 04, 2015 7:46 pm, editado 1 vez(es)

_________________
Assinatura removida pela Staff
^ Tenho nova, surprise
[EO]Spell ativada fazendo perder status a cada "1" segundo H2D9a9k
Pablo Kawan
Pablo Kawan
Experiente
Experiente

Mensagens : 480
Créditos : 158

http://tavernarpg.esy.es/

Ir para o topo Ir para baixo

[EO]Spell ativada fazendo perder status a cada "1" segundo Empty Re: [EO]Spell ativada fazendo perder status a cada "1" segundo

Mensagem por Kotol Qua Set 03, 2014 1:50 am

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! Very Happy

*OBS: Adicionado caso haja morte, retirar o "Debuff" também... Wink
Kotol
Kotol
Moderador Local
Moderador Local

Mensagens : 77
Créditos : 17

Ir para o topo Ir para baixo

[EO]Spell ativada fazendo perder status a cada "1" segundo Empty Re: [EO]Spell ativada fazendo perder status a cada "1" segundo

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Ir para o topo Ir para baixo

Ir para o topo

- Tópicos semelhantes

 
Permissões neste sub-fórum
Não podes responder a tópicos