Como fazer para detectar se está usando SA-MP

    Compartilhe
    avatar
    DouglasB2310
    Mensagens Nível 4
    Mensagens Nível 4

    Mensagens : 383
    Reputação : 12
    Desde : 12/01/2016
    Localização : 127.0.0.1:25565

    Como fazer para detectar se está usando SA-MP

    Mensagem por DouglasB2310 em Dom 19 Fev 2017, 14:47

    Queria colocar um IF que detectasse se está usando o SA-MP. Quero que desative funções como teleporte para evitar ban.
    avatar
    israel
    Scripter CLEO - Avançado
    Scripter CLEO - Avançado

    Mensagens : 657
    Reputação : 111
    Desde : 22/09/2015
    Idade : 19
    Localização : Salvador - BA

    Re: Como fazer para detectar se está usando SA-MP

    Mensagem por israel em Dom 19 Fev 2017, 15:28

    Dá pra usar uma API do windows pra pegar o handle da samp.dll e verificar se é válido (se a dll foi carregada) ou não . Mais ou menos assim :
    Código:
    LOAD_DYNAMIC_LIBRARY "kernel32.dll" (lib)
    GET_DYNAMIC_LIBRARY_PROCEDURE "GetModuleHandleA" lib (proc)

    CALL_FUNCTION_RETURN proc 1 0 "samp.dll" (handle)

    IF NOT handle = NULL
        // Está no Samp !
    ENDIF


    ____________________
    " Everyone gonna remember my name ! "
    avatar
    DouglasB2310
    Mensagens Nível 4
    Mensagens Nível 4

    Mensagens : 383
    Reputação : 12
    Desde : 12/01/2016
    Localização : 127.0.0.1:25565

    Re: Como fazer para detectar se está usando SA-MP

    Mensagem por DouglasB2310 em Dom 19 Fev 2017, 17:45

    Esse código entra em que conteúdo de GTA3Script? Deve dar para fazer muitas coisas usando as DLLs do Windows! Obrigado. :Y:
    Opa, não funcionou. Mesmo criando variáveis do tipo INT com os nomes "proc", "lib", etc.
    avatar
    Junior_Djjr
    Scripter CLEO - Avançado
    Scripter CLEO - Avançado

    Título : Não quero acreditar, quero saber.
    Mensagens : 21614
    Reputação : 633
    Desde : 03/05/2012
    Idade : 21
    Localização : Ibitinga - SP
    Link : www.MixMods.com.br

    Re: Como fazer para detectar se está usando SA-MP

    Mensagem por Junior_Djjr em Dom 19 Fev 2017, 19:24

    É pra ter funcionado sim. Eu fiz assim no Mix Sets e Tuning Mod.


    ____________________
    avatar
    DouglasB2310
    Mensagens Nível 4
    Mensagens Nível 4

    Mensagens : 383
    Reputação : 12
    Desde : 12/01/2016
    Localização : 127.0.0.1:25565

    Re: Como fazer para detectar se está usando SA-MP

    Mensagem por DouglasB2310 em Dom 19 Fev 2017, 19:59

    Eu coloquei:
    Código:

    variaveis_e_tal:
        LVAR_INT random, scplayer, lib, proc
        GET_PLAYER_CHAR 0, scplayer // Pegar o jogador e colocar ele em uma variável
    detectar_samp:
        LOAD_DYNAMIC_LIBRARY "kernel32.dll" (lib)
        GET_DYNAMIC_LIBRARY_PROCEDURE "GetModuleHandleA" lib (proc)
        
        CALL_FUNCTION_RETURN proc 1 0 "samp.dll" (handle)
        
        IF NOT handle = NULL
            GOTO fim
        ENDIF

    E não funcionou. pokerface
    Ele marca "IF NOT handle = null" com a mensagem "could not match alternative".
    avatar
    israel
    Scripter CLEO - Avançado
    Scripter CLEO - Avançado

    Mensagens : 657
    Reputação : 111
    Desde : 22/09/2015
    Idade : 19
    Localização : Salvador - BA

    Re: Como fazer para detectar se está usando SA-MP

    Mensagem por israel em Dom 19 Fev 2017, 21:36

    Pelo que vi, você não declarou a var "handle".
    Teste isso :
    Código:
    SCRIPT_START
    {
    LVAR_INT lib, proc, handle

    LOAD_DYNAMIC_LIBRARY "kernel32.dll" (lib)
    GET_DYNAMIC_LIBRARY_PROCEDURE "GetModuleHandleA" lib (proc)

    CALL_FUNCTION_RETURN proc 1 0 "samp.dll" (handle)

    IF NOT handle = NULL
        PRINT_STRING_NOW "Esta no SA-MP." 7000
    ELSE
        PRINT_STRING_NOW "Nao esta no SA-MP." 7000
    ENDIF
    }
    SCRIPT_END
    Não enviei um código completo antes porque achei que tinha ficado claro com o primeiro exemplo. :v:


    ____________________
    " Everyone gonna remember my name ! "
    avatar
    DouglasB2310
    Mensagens Nível 4
    Mensagens Nível 4

    Mensagens : 383
    Reputação : 12
    Desde : 12/01/2016
    Localização : 127.0.0.1:25565

    Re: Como fazer para detectar se está usando SA-MP

    Mensagem por DouglasB2310 em Seg 20 Fev 2017, 15:10

    Deu certo, estava meio cansado ontem de noite, e olha que era aí pelas nove horas da noite. Não devia nem ter aberto o VSCode. facepalm


    ____________________
    avatar
    israel
    Scripter CLEO - Avançado
    Scripter CLEO - Avançado

    Mensagens : 657
    Reputação : 111
    Desde : 22/09/2015
    Idade : 19
    Localização : Salvador - BA

    Re: Como fazer para detectar se está usando SA-MP

    Mensagem por israel em Seg 20 Fev 2017, 15:16

    @DouglasB2310 escreveu:Deu certo, estava meio cansado ontem de noite, e olha que era aí pelas nove horas da noite. Não devia nem ter aberto o VSCode. facepalm
    Sei como é. :v:


    ____________________
    " Everyone gonna remember my name ! "

    Conteúdo patrocinado

    Re: Como fazer para detectar se está usando SA-MP

    Mensagem por Conteúdo patrocinado


      Data/hora atual: Seg 26 Jun 2017, 04:08