Suporte ao desenvolvimento de jogos!


    Cooldown em Consume!

    Compartilhe
    avatar
    Fadinext
    Iniciante
    Iniciante

    Mensagens : 33
    Créditos : 8

    Cooldown em Consume!

    Mensagem por Fadinext em Qui 3 Jul 2014 - 13:56

    Como muitos sabem,no E.O dá pra usar infinitas poções,umas atrás da outra,e isso é muito chato já que o cara pode estar morrendo,aí ele aperta loucamente o botão da hotbar que está a poção e usa umas 10 de uma vez. Vou ensinar como colocar um cooldown.

    Server side
     modTypes,TempPlayerRec,abaixo de
    Código:
    SpellCD(1 To MAX_PLAYER_SPELLS) As Long

    Coloque:
    Código:
    ConsumeCD As Long

    modPlayer,Sub Useitem,abaixo de ITEM_TYPE_CONSUME,adicionar.
    Código:
     'cooldown consume
                If TempPlayer(index).ConsumeCD > GetTickCount Then
                PlayerMsg index, "Aguarde o cooldown.", White
                Exit Sub
                End If

    Ainda na mesma Sub,acima de:
    Código:
    ' add hp
                    If Item(itemnum).AddHP > 0 Then
                        Player(index).Vital(Vitals.HP) = Player(index).Vital(Vitals.HP) + Item(itemnum).AddHP
                        SendActionMsg GetPlayerMap(index), "+" & Item(itemnum).AddHP, BrightGreen, ACTIONMSG_SCROLL, GetPlayerX(index) * 32, GetPlayerY(index) * 32
                        SendVital index, HP
                        ' send vitals to party if in one
                        If TempPlayer(index).inParty > 0 Then SendPartyVitals TempPlayer(index).inParty, index
                    End If
    Adicionar:
    Código:
     TempPlayer(index).ConsumeCD = GetTickCount + (5 * 1000)

    No lugar do 5,você pode colocar o valor que quiser para o cooldown. No meu caso foi de 5 segundos. A multiplicação por mil ( * 1000) é porque a função trabalha em milissegundos Razz

    Fim
    avatar
    joaopaulo98
    Experiente
    Experiente

    Mensagens : 623
    Créditos : 42

    Re: Cooldown em Consume!

    Mensagem por joaopaulo98 em Qui 3 Jul 2014 - 14:49

    lol   vlw mesmo  man  isso  vai ajuda muitos e a min também  Successful 

    +1 creed


    _________________
    Dancinha:
    Código:
    http://ultracurioso.tk  - Um Mundo de Curiosidades , Ta esperando oque mate a sua , acesse não perca tempo.
    http://ligadosthemes.tk - já pensou em criar um site de filmes ou etc acesse e encontre scripts feitos para
    facilitar sua vida.
    http://linkfree.ml - encurte seus links e ainda ganhe dinheiro com isso , fácil e pratico.
    https://aprendendonline.ml  - nunca é perca de tempo aprender online.

    augusto95
    Novato
    Novato

    Mensagens : 12
    Créditos : 0

    Re: Cooldown em Consume!

    Mensagem por augusto95 em Qui 3 Jul 2014 - 15:31

    Mas por exemplo, se eu tiver 1 poção de HP e 1 de MP, vou ter que esperar tantos segundos para usar a outra...
    Não tem como botar pra ser só do mesmo item nao?
    Tipo o cara usa a poção de HP e pode usar a de MP logo em seguida, mas vai ter q esperar tantos segundos pra próxima
    avatar
    magleo
    Iniciante
    Iniciante

    Mensagens : 37
    Créditos : 5

    Re: Cooldown em Consume!

    Mensagem por magleo em Sex 4 Jul 2014 - 16:37

    @Edit #Augusto95 tem como sim :) 

    Bom vou só arruma o sistema deixa ele melhor do jeito que você quer porém poderia ficar muito melhor!!, só oque você queria.

    vá em Public Type TempPlayerRec

    e Adicione o novo Código o antigo apague!!

    Adicione no final antes de End Type

    ItemCD(1 To MAX_INV) As Long


    depois vá em Public Sub UseItem

    e procure por ITEM_TYPE_CONSUME

    em cima de ' add hp

    e Adicione o novo Código o antigo apague!!

    'cooldown consume
     If TempPlayer(Index).ItemCD(itemnum) > GetTickCount Then
         PlayerMsg Index, "Aguarde o cooldown.", White
         Exit Sub
    End If
                    
    TempPlayer(Index).ItemCD(itemnum) = GetTickCount + (5 * 1000)

    pronto do jeito que você queria Wink abraços !!

    augusto95
    Novato
    Novato

    Mensagens : 12
    Créditos : 0

    Re: Cooldown em Consume!

    Mensagem por augusto95 em Sex 4 Jul 2014 - 20:50

    Aí fica melhor heheheh!  Very Happy 
    Obrigado!
    avatar
    lucas100vzs
    Novato
    Novato

    Mensagens : 19
    Créditos : 6

    Re: Cooldown em Consume!

    Mensagem por lucas100vzs em Qui 10 Jul 2014 - 6:12

    Para ficar mais completo o sistema sem nenhum BUG,

    Abra seu "server.vbp", e procure por:

    Código:
    Sub HandleSwapInvSlots

    E abaixo 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).itemCD(n) > GetTickCount Then
                PlayerMsg index, "Não pode mover items enquanto carrega...", BrightRed
                Exit Sub
            End If
        Next

    Agora vamos lá do porque disto.

    Bem, isto impede que você mova o item, e ele pegue os dados de tempo do outro slot(que no caso serão 0), o que tornaria o item sem 'Cooldown' do mesmo jeito...Se você quiser mover o item, aí é outro caso, se você tem em sua engine um sistema de "Item com Nível" ou "Item Refine", é quase a mesma coisa que aquilo...Mas simplificado, recomendo que use esta adição, pois impedirá que o jogador mova o item que está sendo recarregado de uso...

    Bem, é isso aí  
    avatar
    Pablo Kawan
    Experiente
    Experiente

    Mensagens : 485
    Créditos : 158

    Ti Dollynho

    Mensagem por Pablo Kawan em Qui 10 Jul 2014 - 6:33

    @lucas100vzs escreveu:Para ficar mais completo o sistema sem nenhum BUG,

    Abra seu "server.vbp", e procure por:

    Código:
    Sub HandleSwapInvSlots

    E abaixo 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).itemCD(n) > GetTickCount Then
                PlayerMsg index, "Não pode mover items enquanto carrega...", BrightRed
                Exit Sub
            End If
        Next

    Agora vamos lá do porque disto.

    Bem, isto impede que você mova o item, e ele pegue os dados de tempo do outro slot(que no caso serão 0), o que tornaria o item sem 'Cooldown' do mesmo jeito...Se você quiser mover o item, aí é outro caso, se você tem em sua engine um sistema de "Item com Nível" ou "Item Refine", é quase a mesma coisa que aquilo...Mas simplificado, recomendo que use esta adição, pois impedirá que o jogador mova o item que está sendo recarregado de uso...

    Bem, é isso aí  
    vlw emo, merece um queso '-' - na hora que fui testar mudei de lugar e o cooldown saiu n sabia pq

    ~Kuuhaku nunca perde e.e
    avatar
    Fadinext
    Iniciante
    Iniciante

    Mensagens : 33
    Créditos : 8

    Re: Cooldown em Consume!

    Mensagem por Fadinext em Sex 11 Jul 2014 - 12:47

    Haha vocês são fodas,fiz esse sistema aí meio correndo,vocês melhoraram ele MUITO.Vlw!

    Conteúdo patrocinado

    Re: Cooldown em Consume!

    Mensagem por Conteúdo patrocinado


      Data/hora atual: Sex 21 Set 2018 - 14:23