[E.O 2.0] - Sistema de AutoCast de Skill 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.

[E.O 2.0] - Sistema de AutoCast de Skill

3 participantes

Ir para baixo

[E.O 2.0] - Sistema de AutoCast de Skill Empty [E.O 2.0] - Sistema de AutoCast de Skill

Mensagem por Kotol Qua Abr 26, 2023 11:38 pm

É bem simples, é um sistema que autoCasta a magia do primeiro Slot, sempre que a mesma tem o CD disponível para cast. Foram adicionadas correções (que já podem/devem conter na sua máquina).

Sistema:
-AutoCast da skill "F1";

Extras:
-[Correção] - Se já tiver um cast em andamento, ele impede outros casts, sejam manuais ou automáticos;
-[Correção] - Se a skill estiver em Cooldown, ele sai no "Handle" e nem chama a SUB de cast;
-[Correção] - Checar slot da HotBar(universal), aonde valores inseridos inválidos podem gerar queda de servidor;
-[Adição] - Cooldown de 1 segundo na ação: Cast-Spell , até para evitar flood.

CLIENT~SIDE

Sem delongas, vamos lá, primeiramente, abra seu "Client.Vbp", e na "FrmMain", crie:

1x Checkbox
Name: chkAutoSkill

Agora, abra seu "ModGamelogic", e em "Public Sub GameLoop", procure por:
Código:
' check if we need to end the CD icon
            If NumSpellIcons > 0 Then
                For i = 1 To MAX_PLAYER_SPELLS
                    If PlayerSpells(i) > 0 Then
                        If SpellCD(i) > 0 Then
                            If SpellCD(i) + (Spell(PlayerSpells(i)).CDTime * 1000) < Tick Then
                                SpellCD(i) = 0
                                BltPlayerSpells
                                BltHotbar
                            End If
                        End If
                    End If
                Next
            End If

Logo abaixo adicione isto: 
Código:
'Auto Cast
If frmMain.chkspell.Value = 1 Then
            If Hotbar(1).Slot > 0 Then 'Spell exist on slot
                If SpellCD(Hotbar(1).Slot) <= 0 Then
                    If SpellBuffer <= 0 Then 'Check CD and Casting
                        If (Spell(Hotbar(1).Slot).CDTime * 1000) < Tick Then  'Check CD of time
                            CastSpell Hotbar(1).Slot
                        End If
                    End If
                End If
            End If
        End If


Ainda em "ModGamelogic" , na "Public Sub CastSpell", procure por:
Código:
If SpellCD(spellslot) > 0 Then
        AddText "Spell has not cooled down yet!", BrightRed
        Exit Sub
    End If

E logo abaixo adicione isto:
Código:
'Checks for: AutoCast
    If SpellBuffer > 0 Then Exit Sub

E o cliente está finalizado.

SERVER~SIDE

Agora, é a parte do servidor, abra seu "Server.Vbp" e em "ModHandleData", na "Sub HandleCast", procure por:
Código:
Set Buffer = New clsBuffer
    Buffer.WriteBytes Data()
    ' Spell slot
    n = Buffer.ReadLong 'CLng(Parse(1))
    Set Buffer = Nothing

E logo abaixo adicione isto:
Código:
If n <= 0 Or n > MAX_HOTBAR Then Exit Sub 'Check: Valid SpellSlot
    If TempPlayer(Index).SpellCD(n) > GetTickCount Then Exit Sub 'Check: Cooldown
    If GetTickCount < TempPlayer(Index).spellBuffer.Timer Then Exit Sub 'Check: Casting
    
    'Add 1s casting cooldown
    If GetTickCount < TempPlayer(Index).CastTimer + 1000 Then Exit Sub
    TempPlayer(Index).CastTimer = GetTickCount

Agora finalmente, em "ModTypes", procure por este tipo:
Código:
Public Type TempPlayerRec

E logo abaixo, antes do primeiro "End Type", declare esse tipo:
Código:
CastTimer As Long

E pronto! Agora você não só tem um sistema de "AutoCast" usando a primeira magia do seu slot do atalho de magias(F1~F12) , mas também tem controle de uma porção de flood que poderia acontecer no seu servidor, além de algumas correções (muitas disponíveis no fórum também). Qualquer dúvida, sugestão ou erro, entre em contato e boa criação!

Edit 1: (Editado com correção de Slot)

Créditos do 'AutoCast'
Kotol


Última edição por Kotol em Sex Abr 28, 2023 2:07 pm, editado 1 vez(es)
Kotol
Kotol
Moderador Local
Moderador Local

Mensagens : 74
Créditos : 16

Valentine e joaozinhowbr gostam desta mensagem

Ir para o topo Ir para baixo

[E.O 2.0] - Sistema de AutoCast de Skill Empty Re: [E.O 2.0] - Sistema de AutoCast de Skill

Mensagem por joaozinhowbr Sex Abr 28, 2023 1:32 pm

Quando ativa o auto skill nao importa qual skill esteja no f1 ele so usa a skill 1 da tabela de skills

joaozinhowbr
Novato
Novato

Mensagens : 2
Créditos : 0

Ir para o topo Ir para baixo

[E.O 2.0] - Sistema de AutoCast de Skill Empty Re: [E.O 2.0] - Sistema de AutoCast de Skill

Mensagem por Kotol Sex Abr 28, 2023 2:05 pm

Opa, foi falta de atenção minha (fazendo coisas na madrugada), mas obrigado pelo report.

Pois então, eu atualizarei o post com a correção, mas pra você, pegue essa parte:
Código:
'Auto Cast
            If frmMain.chkAutoSkill.Value = 1 Then
                If Hotbar(1).Slot > 0 Then 'Spell exist on slot
                    If SpellCD(1) <= 0 And SpellBuffer <= 0 Then 'Check CD and Casting
                        If SpellCD(1) + (Spell(PlayerSpells(1)).CDTime * 1000) < Tick Then 'Check CD of time
                            CastSpell 1
                        End If
                    End If
                End If
            End If


E substitua por esta:
Código:
'AutoCast
If frmMain.chkspell.Value = 1 Then
            If Hotbar(1).Slot > 0 Then 'Spell exist on slot
                If SpellCD(Hotbar(1).Slot) <= 0 Then
                    If SpellBuffer <= 0 Then 'Check CD and Casting
                        If (Spell(Hotbar(1).Slot).CDTime * 1000) < Tick Then  'Check CD of time
                            CastSpell Hotbar(1).Slot
                        End If
                    End If
                End If
            End If
        End If

E pronto, ele vai castar a skill do primeiro SLOT da hotbar.
Kotol
Kotol
Moderador Local
Moderador Local

Mensagens : 74
Créditos : 16

joaozinhowbr gosta desta mensagem

Ir para o topo Ir para baixo

[E.O 2.0] - Sistema de AutoCast de Skill Empty Re: [E.O 2.0] - Sistema de AutoCast de Skill

Mensagem por gabrielcpv Sáb Mar 30, 2024 9:54 am

@Kotol

Sabe o que pode ser?

[E.O 2.0] - Sistema de AutoCast de Skill Imagem15


Já arrumei kkkkkkkkk ficou assim:

Código:
'AutoCast
            If frmMain.chkspell.value = 1 Then
                If Hotbar(1).Slot > 0 Then 'Spell exist on slot
                    If SpellCD(Hotbar(1).Slot) <= 0 Then
                        If SpellBuffer <= 0 Then 'Check CD and Casting
                            If (Spell(Hotbar(1).Slot).CDTime * 1000) < Tick Then  'Check CD of time
                                Call CastSpell(Hotbar(1).Slot, Cancel)
                            End If
                        End If
                    End If
                End If
            End If

gabrielcpv
Novato
Novato

Mensagens : 8
Créditos : 0

WillMaiaBR gosta desta mensagem

Ir para o topo Ir para baixo

[E.O 2.0] - Sistema de AutoCast de Skill Empty Re: [E.O 2.0] - Sistema de AutoCast de Skill

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