SSGamers - 12 Anos online por você.

#SSGamers - A Comunidade que mais crescer no brasil!

Participe do fórum, é rápido e fácil

SSGamers - 12 Anos online por você.

#SSGamers - A Comunidade que mais crescer no brasil!

SSGamers - 12 Anos online por você.

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.
Chegou o novo tema 6.5.5 - SSGamers - Servidores online de qualidade - Aproveite e entre para nossa comunidade, inscreva-se já! - Ouça nossa web radio - Veja nossas novidades - Participe dos nossos setores de jogos online - Parcerias aberta fale já com um administrador.

    [Tutorial] Hook (com state e com metodo bruno)

    Weslley_Script
    Weslley_Script
    SS - Fundador
    SS - Fundador


    Steam Steam : WeslleySSGames
    Zello : WeslleySSGames
    Mensagens : 11378
    Moedas : 1031972
    Data de inscrição : 06/10/2011
    Idade : 28
    Localização : Brasil

    [Tutorial] Hook (com state e com metodo bruno) Empty [Tutorial] Hook (com state e com metodo bruno)

    Mensagem por Weslley_Script Seg 8 maio 2023 - 8:27

    Í ndice
    • Introdução
    • O que é Hook
    • Hookeando CallBack's
    • Hookeando Funções
    • Creditos

    Introduзгo
    Olб, hoje vou explicar um pouco sobre hooking espero que gostem .

    que é Hook
    Hooking é feito com uma função chamar outra função de aparentemente o mesmo nome, portanto, "encadeamento" todas essas funções idênticas juntas para que chame uma chama todos eles. Ao Hook funções é fácil porque a cadeia chama a função anterior do mesmo nome, no entanto, de enganche retorna é complicada pelo fato de a cadeia de chama o próximo função do mesmo nome - uma função que ainda não foi definida e pode nem sequer existe.

    ookeando CallBacks

    * Com mйtodo state

    Precisaremos de uma variбvel no topo, no meu caso:
    PHP como:

    Código:
    stock hooking; 
    Agora definiremos para quando iniciar o hooking ser true(para ler primeiro o hook):
    PHP como:

    Código:
    main()
    {
        state hooking:true;

    Agora vamos criar nosso callback hookeada(no meu caso vou hookear a OnPlayerConnect).
    PHP como:

    Código:
    public OnPlayerConnect(playerid) <hooking:true>
    {
        state hooking:false;
        // funзхes da sua CallBack hookeada
        return OnPlayerConnect(playerid);

    Agora vamos criar nosso Callback normal.
    PHP como:

    Código:
    public OnPlayerConnect(playerid) <hooking:false>
    {
        state hooking:true;
        // funзхes da sua CallBack
        return 1;

    state é o estado... definimos o estado verdadeiro para a hook eo estado falso para a original.

    Pronto está Hookeada sua CallBack com o método state.

    * Com mйtodo bruno

    Nesse mйtodo nгo precisaremos de variбveis.

    Agora vamos criar nosso callback hookeada(no meu caso vou hookear a OnPlayerConnect).
    PHP como:

    Código:
    public OnPlayerConnect(playerid) <hooking:false>
    {
        #if defined MyLib_OnPlayerConnect
            return MyLib_OnPlayerConnect(playerid);
        #else
            return 1;
        #endif

    abaixo da callback ou no fim do seu codigo(no meu caso (OnPlayerConnect) ):
    peão Код:


    Código:
    #if definido _ALS_OnPlayerConnect
        #undef OnPlayerConnect
    #else
        #define _ALS_OnPlayerConnect
    #endif

    #define OnPlayerConnect MyLib_OnPlayerConnect

    #if definido MyLib_OnPlayerConnect
        para frente MyLib_OnPlayerConnect ( playerid ) ;
    #fim se

    Alguns vгo se perguntar como fazer isto /\
    PHP como:

    Código:
    public <Nome da CallBack>(<parametros>)
    {
        <verifica se a hook existe>
            <sim - retorna para hookeada>
        <caso nгo exista>
            <nгo - retorna verdadeiro>
        <encerra a verifcaзгo>
    }
    <caso a hook exista>
        <sim - remove o hook(para a leitura da original)>
    <caso nгo exista>
        <nгo - cria o hook>
    <encerra a verificaзгo>
    <renomeia a callback>
    <caso a hook exista>
        <criamos a forward para a original>
    <encerra a verificaзгo> 
    Podemos criar nosso Callback abaixo de tudo acima ou caso for uma include nгo criaremos nada, pois ira dar erro.

    Pronto está Hookeada sua CallBack com o método bruno.

    ookeando Funзхes

    * Com mйtodo state

    Precisaremos de uma variбvel no topo, no meu caso:
    PHP como:

    Código:
    stock hooking; 
    Agora definiremos para quando iniciar o hooking ser true(para ler primeiro o hook):
    PHP como:

    Código:
    main()
    {
        state hooking:true;

    Agora vamos criar nossa função hookeada(no meu caso vou hookear uma função criada por mim (sem nada) ).
    PHP como:

    Código:
    MyFunction() <hooking:true>
    {
        state hooking:false;
        // funзхes da sua Funзгo hookeada
        return MyFunction();

    Agora vamos criar nosso Funço normal.
    PHP como:

    Código:
    MyFunction() <hooking:false>
    {
        state hooking:true;
        // funзхes da sua Funзгo normal
        return 1;

    state é o estado... definimos o estado verdadeiro para a hook eo estado falso para a original.

    Pronto está Hookeada sua Funзгo com o mйtodo state.

    * Com mйtodo bruno

    Nesse mйtodo nгo precisaremos de variбveis.

    Agora vamos criar nosso Funзгo hookeada(no meu caso vou hookear a GivePlayerMoney).
    PHP como:

    Código:
    stock MyLib_GivePlayerMoney(playerid, value) 

        // Codigo da Funзгo aqui
        return true;

    abaixo da callback ou no fim do seu codigo(no meu caso (GivePlayerMoney) ):
    peão Код:


    Código:
    #if definido _ALS_GivePlayerMoney
        #undef GivePlayerMoney  
    #else
        #define _ALS_GivePlayerMoney
    #endif
    #define GivePlayerMoney MyLib_GivePlayerMoney

    Alguns vгo se perguntar como fazer isto /\
    PHP como:

    Código:
    stock <Nome da Funзгo>(<parametros>)
    {
        // Codigo da Funзгo aqui
        return true;
    }
    <caso a hook exista>
        <sim - remove o hook(para a leitura da original)>
    <caso nгo exista>
        <nгo - cria o hook>
    <encerra a verificaзгo>
    <renomeia a callback> 
    Pronto está Hookeada sua Funзгo com o mйtodo bruno.

    F . A. _ Q
    Existe um site que faz isso para mim ?
    R = sim, http://ipsbr.net/portal/hook/

    C reditos:
    DanDRT
    Willian_Luigi
    IpsBruno
    ****** (forma estrutural do metodo bruno)

    IpsTeam



    [Tutorial] Hook (com state e com metodo bruno) D07Xwqb
    [Tutorial] Hook (com state e com metodo bruno) Yjab9HN

      Data/hora atual: Qui 2 maio 2024 - 21:32