Aldeia RPG

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

Suporte ao desenvolvimento de jogos


    [E.O 2.0] - TileSlide dinâmico (v1.0)

    Kotol
    Kotol
    Moderador Local
    Moderador Local


    Mensagens : 77
    Créditos : 17

    [E.O 2.0] - TileSlide dinâmico (v1.0) Empty [E.O 2.0] - TileSlide dinâmico (v1.0)

    Mensagem por Kotol Qua Dez 01, 2021 8:21 am

    O Slide da engine quase que teleporta o jogador, sem contar que não tem senso de colisão nem imperatividade. 
    Vamos colocar isso! 

    Efeitos: 
    - Um slide mais demorado e melhor visualmente;
    - Opção de deixar o jogador se mover enquanto escorrega ou não;
    - Slide PARA, quando tem a frente: TileBlock, TileResource, Limites de X e Y do mapa, quando não há mais TileSlide, em Warp do jogador;
    - Slide continua: se houver mais slides a frente, logar/deslogar caso esteja em cima do TileSlide continuará o slide.

    Vamos lá então, abra seu 'client.vbp', e na parte física da "frmEditor_Map" , dentro do "FraSlide" crie:

    1x CheckBox, Nome: chkSlide / Caption: Can Walk while Sliding

    Agora, vamos à parte lógica, procure por:


    Spoiler:

    E abaixo disto, adicione isso: 


    Spoiler:

    Agora, em "ModGlobals" , procure por: 


    Spoiler:

    E abaixo disto, adicione isso: 


    Spoiler:

    Agora, em "ModGameEditors", na "Public Sub MapEditorMouseDown" procure por :


    Spoiler:


    E substitua isto por isso: 


    Spoiler:


    Agora, em "ModTypes" , na "Private Type PlayerRec" , declare um TIPO: descendo, antes do primeiro "End Type" , declare isso: 


    Spoiler:

    Agora, em "ModEnumerations", procure por: 


    Spoiler:


    E acima disto, adicione isso: 


    Spoiler:

    Agora, em "ModHandleData" , em "Public Sub InitMessages()" , procure por: 

    Spoiler:

    E acima disto, adicione isso: 

    Spoiler:


    Agora, no final de "ModHandlePlayerData" , adicione isso: 


    Spoiler:



    Agora, em "ModGameLogic", na "Function CanMove" , procure por: 


    Spoiler:

    E abaixo disto, adicione isso: 

    Spoiler:


    E a parte do Cliente finalizou. Vamos ao server agora.
    Primeiramente, abra seu 'server.vbp'.


    Agora, em "ModTypes" , na "Private Type TempPlayerRec" , declare um TIPO: descendo, antes do primeiro "End Type" , declare isso: 



    Spoiler:


    Agora, em "ModEnumerations", procure por: 


    Spoiler:


    E acima disto, adicione isso: 


    Spoiler:


    Agora, no final de "ModServerTCP" , adicione isso: 


    Spoiler:


    Agora, em "Sub ServerLoop()" , bem no início, procure por:



    Spoiler:

    E abaixo disto, adicione isso: 

    Spoiler:

    Ainda em "Sub ServerLoop()", procure por:

    Spoiler:

    E abaixo disto, adicione isso: 


    Spoiler:

    Agora, em "ModPlayer", na "Sub JoinGame" , procure por: 

    Spoiler:


    E abaixo disto, adicione isso: 

    Spoiler:


    Ainda em "ModPlayer" na "Sub PlayerWarp", procure por: 

    Spoiler:

    E abaixo disto, adicione isso:

    Spoiler:


    Ainda em "ModPlayer" , na "Sub PlayerMove", procure por: 

    Spoiler:

    E abaixo disto, adicione isso: 

    Spoiler:


    Ainda em "Sub PlayerMove" , quase no fim procure por isso: 


    Spoiler:


    E substitua por isso: 


    Spoiler:



    Agora, em "ModPlayer" , procure pela sua "Sub ForcePlayerMove" , e substitua ela por essa: 


    Spoiler:

    Agora, abaixo desta Sub ou no final de "ModPlayer" , adicione isso: 


    Spoiler:


    E pronto!  Razz
    ATENÇÃO: para as pessoas que utilizam "Magia Expelir/Puxar" , "Npc Puxando por script" , ou quaisquer scripts que não passem pelo "PlayerWarp" ou "PlayerMove" , lembrem de colocar um "ClearSliding Index" , caso os scripts de posição peguem o jogador durante um slide.

    ~Créditos~
    Kotol

    Valentine e WillMaiaBR gostam desta mensagem


      Data/hora atual: Sex Nov 22, 2024 1:40 am