Aldeia RPG

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

Suporte no desenvolvimento de jogos


    [E.O 2.0] - Npc Objeto (v1.1) : Carregar

    Kotol
    Kotol
    Iniciante
    Iniciante


    Mensagens : 43
    Créditos : 13

    [E.O 2.0] - Npc Objeto (v1.1) : Carregar Empty [E.O 2.0] - Npc Objeto (v1.1) : Carregar

    Mensagem por Kotol Qua Dez 01, 2021 5:02 am

    Bem, na versão 1.0, foi criado um tipo de npc como 'objeto', e conseguimos empurrar/chutar o npc. Agora, iremos 'Carregar' o npc. 

    Funções 1.1: 
    - Carregar o npc com a tecla: Shift; 
    - Deixar o npc-objeto com a tecla: Shift;
    - Objetos segurados, não podem ser chutados/empurrados;
    - Colocar o npc-objeto em outro npc-objeto, destrói o objeto;
    - Objetos não podem ser colocados fora do mapa, carregados entre mapas, ou pegos quando já foram pegos, evitando erros críticos; 
    - Se tiver carregando o objeto: quit, morte, mudança de mapa = limpa o npc-objeto.

    Como é 1.1, requer o sistema(clique para ir):  [E.O 2.0] - Npc Objeto (v1.0)

    Vamos lá que é bem rapidinho, primeiramente abra seu 'client.vbp' , e em "ModTypes" , em "Private Type PlayerRec" , declare um TIPO, descendo, antes do primeiro "End Type" , declare isso:

    Spoiler:

    Ainda em "ModTypes", em "Private Type MapNpcRec" , declare um TIPO, descendo, antes do primeiro "End Type" , declare isso: 

    Spoiler:

    Agora, em "ModGameLogic" , na "Function CheckDirection" , procure por isso: 


    Spoiler:

    E substitua isto por isso: 



    Spoiler:

    Ainda em "ModGameLogic" , no final adicione isso: 


    Spoiler:

    Ainda em "ModGameLogic", na "Sub CheckMovement()" , procure por isso: 


    Spoiler:

    E substitua isto, por isso: 


    Spoiler:

    Agora, em "MoGlobals", procure por: 


    Spoiler:

    E abaixo disto, adicione isso: 

    Spoiler:

    Agora, em "ModInput", na "Public Sub CheckKeys()", procure por: 


    Spoiler:

    E abaixo distto, adicione isso: 


    Spoiler:

    Aina em "ModInput", na "Public Sub CheckInputKeys()" , procure por:


    Spoiler:


    E substitua por isso: 


    Spoiler:




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


    Spoiler:



    Ainda em "ModDirectdraw7" , na "Public Sub Render_Graphics" procure por isso:


    Spoiler:



    E substitua isto por isso: 

    Spoiler:



    Ainda em "ModDirectdraw7" , na "Public Sub Render_Graphics" procure por isso:


    Spoiler:


    E substitua isto por isso:


    Spoiler:



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


    Spoiler:


    E acima disto, adicione isso: 


    Spoiler:

    Ainda em "ModHandleData" , na "Private Sub HandleMapNpcData" , procure por: 


    Spoiler:


    E acima disto, adicione isso: 

    Spoiler:


    Ainda em "ModHandleData" , no final adicione isso: 


    Spoiler:


    Agora, em "ModEnumerations" , procure por isso: 

    Spoiler:


    E acima disto, adicione isso: 

    Spoiler:

    Ainda em "ModEnumerations" , procure por isso: 

    Spoiler:

    E acima disto, adicione isso: 

    Spoiler:

    Agora, em "ModText" , na "Public Sub DrawNpcName(ByVal Index As Long)" , procure por isso: 

    Spoiler:

    E abaixo disto, adicione isso: 


    Spoiler:


    E a parte do cliente foi finalizada. Agora vamos ao ~Server Side~
    Primeiramente, abra seu server.vbp.

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

    Spoiler:

    Ainda em "ModTypes", em "Private Type MapNpcRec" , declare um TIPO, descendo, antes do primeiro "End Type" , declare isso: 

    Spoiler:

    Agora, em "ModEnumerations" , procure por isso: 

    Spoiler:

    E acima disto, adicione isso: 

    Spoiler:

    Ainda em "ModEnumerations" , procure por isso: 

    Spoiler:

    E acima disto, adicione isso: 

    Spoiler:

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


    Spoiler:

    E abaixo disto, adicione isso: 


    Spoiler:


    Ainda em "ModPlayer" , mais abaixo na "Sub LeftGame" , procure por:


    Spoiler:


    E abaixo disto, adicione isso:


    Spoiler:


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


    Spoiler:


    E abaixo disto, adicione isso:



    Spoiler:

    Ainda em "ModPlayer" , mais abaixo na "Sub PlayerMove" , 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 "ModPlayer", na "Sub OnDeath" , procure por: 


    Spoiler:

    E abaixo disto, adicione isso: 

    Spoiler:


    Agora, finalmente para o "ModPlayer" , adicione no final isso: 


    Spoiler:

    Agora, na "Public Sub InitMessages()",  mais abaixo, antes o primeiro "End Sub" , adicione isso: 

    Spoiler:


    Ainda em "ModHandleData" , na "Sub HandleRequestNewMap" , procure por: 

    Spoiler:

    E abaixo disto, adicione isso: 


    Spoiler:


    Ainda em "ModHandleData" , na "Sub HandleQuit" , procure por: 

    Spoiler:

    E acima disto, adicione isso:

    Spoiler:

    Agora, no final do "ModHanleData", aicione isso: 


    Spoiler:

    Agora, em "ModServerTCP" , na "Sub CloseSocket" , procure por: 


    Spoiler:

    E abaixo disto, adicione isso: 


    Spoiler:

    Ainda em "ModServerTCP" , na "Sub SendMapNpcsTo" , procure por: 



    Spoiler:


    E acima disto, adicione isso: 


    Spoiler:

    Ainda em "ModServerTCP" , na "Sub SendMapNpcsToMap" , procure por: 

    Spoiler:


    E acima disto, adicione isso:


    Spoiler:


    E finalmente, no final de "ModServerTCP" , adicione isso: 


    Spoiler:

    Por fim, em "ModCombat" na "Public Function CanPlayerAttackNpc", procure por: 


    Spoiler:


    E substitua por isso: 


    Spoiler:

    E pronto, agora você tem npc-objeto podendo ser carregado!  Razz
    Qualquer BUG ou dúvida, entre em contato! 

    ~Créditos~
    Kotol

    Valentine e WillMaiaBR gostam desta mensagem


      Data/hora atual: Dom Ago 14, 2022 3:28 pm