Item consume com cooldown 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.

Item consume com cooldown

+3
Profane ~
Valentine
Hashirama
7 participantes

Ir para baixo

Item consume com cooldown Empty Item consume com cooldown

Mensagem por Hashirama Ter Mar 27, 2018 4:10 am

Sei que já existe um sistema de item com cooldown, mas fiz este mais completo, vc pode editar o tempo de cooldown de cada item no editor. Vamos lá

Client Side


Primeiramente vamos criar nossa scrl que vai indicar o tempo de cooldown do nosso item do tipo consume
no editor de item dentro da fraVitals adicione uma scrl e uma label segue o exemplo

Item consume com cooldown Unknown

na proprietie Name da label mude para lblCD e na caption coloque Cooldown Time:
na proprietie Name da scrlBar mude para scrlCD

feito isso vamos declar a variavel que vai armazenar nosso valor que usaremos no evento Value da nossa scrl
em modTypes procure por:
Código:
Private Type ItemRec
no final antes do End type adicione
Código:
CDTime As Long
feito isso vamos voltar para nossa frmEditorItem
dentro da scrl que criamos scrlCD de 2 clicks nela e adicione 
Código:
' If debug mode, handle error then exit out
    If Options.Debug = 1 Then On Error GoTo errorhandler

    lblCD.Caption = "Cooldown Time: " & scrlCD.Value & "s"
    Item(EditorIndex).CDTime = scrlCD.Value
    
    ' Error handler
    Exit Sub
errorhandler:
    HandleError "scrlCD_Change", "frmEditor_Item", Err.Number, Err.Description, Err.Source, Err.HelpContext
    Err.Clear
    Exit Sub

Feito isso vamos ao servidor.



Server side

Em modTypes procure por
Código:
Public Type TempPlayerRec
no final antes do end types adicione:
Código:
ConsumeCD(1 To MAX_INV) As Long
agora ainda em modTypes procure por
Código:
Private Type ItemRec
dentro dela, no final antes do end type adicione:
Código:
CDTime As Long
poderíamos trabalhar com Byte ja que provavelmente vc não vai adicionar mais que 255 segundos de cooldown no item D:

ja declarada nossas variaveis vamos em frente.
agora em ModPlayer na procedure Useitem procure por 
Código:
Case ITEM_TYPE_CONSUME
acima de :
Código:
' add hp
  If Item(itemnum).AddHP > 0 Then

adicione :
Código:
' see if cooldown has finished
                If TempPlayer(index).ConsumeCD(itemnum) > GetTickCount Then
                   PlayerMsg index, "Item está em recarga", BrightRed
                Exit Sub
                End If

                TempPlayer(index).ConsumeCD(itemnum) = GetTickCount + (Item(itemnum).CDTime * 1000)

agora em ModHandleData procure pela Sub HandleSwapInvSlots
em baixo de 
Código:
If TempPlayer(index).InTrade > 0 Or TempPlayer(index).InBank Or TempPlayer(index).InShop Then Exit Sub

adicione:
Código:
For n = 1 To MAX_INV
        If TempPlayer(index).ConsumeCD(n) > GetTickCount Then
            PlayerMsg index, "Não pode mover itens em recarga", BrightRed
            Exit Sub
        End If

Pronto feito isso você pode criar seus itens de consume e indicar seu tempo de recarga
sistema eu fiz na EO 2.0 e n encontrei nenhum bug, caso encontre ou alguma melhora comente








Última edição por Hashirama em Ter Mar 27, 2018 2:24 pm, editado 2 vez(es)

_________________
Apoia nosso projeto? use nossa assinatura
Hashirama
Hashirama
Membro de Honra
Membro de Honra

Mensagens : 413
Créditos : 133

Ir para o topo Ir para baixo

Item consume com cooldown Empty Re: Item consume com cooldown

Mensagem por Valentine Ter Mar 27, 2018 7:56 am

Boa, Hashirama.

+ 1 crédito.
Valentine
Valentine
Administrador
Administrador

Medalhas : Item consume com cooldown ZgLkiRU
Mensagens : 5343
Créditos : 1164

https://www.aldeiarpg.com/

Ir para o topo Ir para baixo

Item consume com cooldown Empty Re: Item consume com cooldown

Mensagem por Profane ~ Ter Mar 27, 2018 12:50 pm

Pelo Lido, a estrutura ta certinha >
Muito bom, seu primeiro sistema é?! Naisu!!!!!

E sobre o que comentou do " Byte ", ainda bem que optou por long, ainda mais na cadeia usada, algums jogos podem ter itens que levam até sei lá 1h para poderem ser usados novamente.

Mas lembrem-se que por ter sido posto no "TempPlayerRec" é um valor temporário. O jogador deslogando, ele resetará este valor.

Lembre-se também de fazer a limpeza do valor no LeftGame, por parte do jogador no Servidor.

Fora isso tudo ok <3

_________________
"Mistress of shattered hopes and forever broken dreams"
Profane ~
Profane ~
Colaborador
Colaborador

Mensagens : 818
Créditos : 130

Ir para o topo Ir para baixo

Item consume com cooldown Empty Re: Item consume com cooldown

Mensagem por Dooolly Ter Mar 27, 2018 1:06 pm

Profane ~ escreveu:Pelo Lido, a estrutura ta certinha ><!

Muito bom, seu primeiro sistema é?! Naisu!!!!!

E sobre o que comentou do " Byte ", ainda bem que optou por long, ainda mais na cadeia usada, algums jogos podem ter itens que levam até sei lá 1h para poderem ser usados novamente.

Mas lembrem-se que por ter sido posto no "TempPlayerRec" é um valor temporário. O jogador deslogando, ele resetará este valor.

Lembre-se também de fazer a limpeza do valor no LeftGame, por parte do jogador no Servidor.

Fora isso tudo ok <3

Por ser no TempPlayer, eu recomendária usar um byte mesmo, e dentro da função usar um multiplicador.

@Topic:
Otimo tutorial, estava realmente precisando de um tuto como esse, obrigador por compartilhar... +1 <3
Dooolly
Dooolly
Colaborador
Colaborador

Medalhas : Item consume com cooldown Trophy12
Mensagens : 1227
Créditos : 153

Ficha do personagem
Nível: 1
Experiência:
Item consume com cooldown Left_bar_bleue0/0Item consume com cooldown Empty_bar_bleue  (0/0)
Vida:
Item consume com cooldown Left_bar_bleue30/30Item consume com cooldown Empty_bar_bleue  (30/30)

Ir para o topo Ir para baixo

Item consume com cooldown Empty Re: Item consume com cooldown

Mensagem por silipinho Ter Mar 27, 2018 1:11 pm

Muito bom isso ajuda mt, ate pq existem consumes uma mais "roubada" q a outra assim da pra fazer com q ela tenha um tempo de recarga maior que uma simples pot de hp por exemplo!
nessa parte que manda procurar por isso "Public Type ItemRec" não seria: Private Type ItemRec?
silipinho
silipinho
Semi-Experiente
Semi-Experiente

Mensagens : 97
Créditos : 14

Ir para o topo Ir para baixo

Item consume com cooldown Empty Re: Item consume com cooldown

Mensagem por Hashirama Ter Mar 27, 2018 1:53 pm

vlw galera, corrigi algumas coisas no tópico, ainda hoje posto o tutorial NPC de teleporte que eu vi que alguns pediram. abraços

_________________
Apoia nosso projeto? use nossa assinatura
Hashirama
Hashirama
Membro de Honra
Membro de Honra

Mensagens : 413
Créditos : 133

Ir para o topo Ir para baixo

Item consume com cooldown Empty Re: Item consume com cooldown

Mensagem por GallighanMaker Ter Mar 27, 2018 7:30 pm

Muito bom velho, +1 cred

_________________
Item consume com cooldown 8dVK0ku
using C# and import Python developer || Expert in Unity Engine IDE. || Item consume com cooldown 769_heart 2D pixel games.
GallighanMaker
GallighanMaker
Colaborador
Colaborador

Medalhas : Item consume com cooldown ZgLkiRU
Mensagens : 985
Créditos : 102

Ficha do personagem
Nível: 1
Experiência:
Item consume com cooldown Left_bar_bleue0/0Item consume com cooldown Empty_bar_bleue  (0/0)
Vida:
Item consume com cooldown Left_bar_bleue30/30Item consume com cooldown Empty_bar_bleue  (30/30)

https://kingsland-online.com/

Ir para o topo Ir para baixo

Item consume com cooldown Empty Re: Item consume com cooldown

Mensagem por GalaxyHells Qua maio 02, 2018 5:57 pm

For n = 1 To MAX_INV
        If TempPlayer(index).ConsumeCD(n) > GetTickCount Then
            PlayerMsg index, "Não pode mover itens em recarga", BrightRed
            Exit Sub
        End If
   Next

Faltou um "Next"  Ali.

Nice sistema.

_________________
Item consume com cooldown 90yel0
GalaxyHells
GalaxyHells
Ocasional
Ocasional

Mensagens : 196
Créditos : 22

Ficha do personagem
Nível: 1
Experiência:
Item consume com cooldown Left_bar_bleue0/0Item consume com cooldown Empty_bar_bleue  (0/0)
Vida:
Item consume com cooldown Left_bar_bleue30/30Item consume com cooldown Empty_bar_bleue  (30/30)

Ir para o topo Ir para baixo

Item consume com cooldown Empty Re: Item consume com cooldown

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