Portal SAMP
[Ajuda] Erro no hook (is truncated to 31 characters) - Versão de Impressão

+- Portal SAMP (https://portalsamp.com)
+-- Fórum: SA-MP (https://portalsamp.com/forumdisplay.php?fid=5)
+--- Fórum: Área de suporte (https://portalsamp.com/forumdisplay.php?fid=6)
+--- Tópico: [Ajuda] Erro no hook (is truncated to 31 characters) (/showthread.php?tid=4364)



Erro no hook (is truncated to 31 characters) - WellingBR - 31/12/2023

[font=Consolas, "Courier New", monospace]Fui tentar usar hook para o evento OnPlayerCommandPerformed: https://prnt.sc/YNkZUug0nutn[/font]
E acabei recebendo estes avisos: https://prnt.sc/Gh3pjAtVFtIM
Como posso resolver, este erro? Agradeço previamente.



RE: Erro no hook (is truncated to 31 characters) - Aranha - 31/12/2023

eu uso public no lugar de hook funfa de boa


RE: Erro no hook (is truncated to 31 characters) - WellingBR - 31/12/2023

É uma solução bacana. Mas sabe me dizer se possui uma alternativa de deixar em hook?


RE: Erro no hook (is truncated to 31 characters) - Aranha - 31/12/2023

vc esta usando essa include?

https://portalsamp.com/showthread.php?tid=2172


RE: Erro no hook (is truncated to 31 characters) - xbruno1000x - 31/12/2023

Se eu achei corretamente, essas são as substituições disponíveis no y_hooks:
Código:
// Create the default replacements.
DEFINE_HOOK_REPLACEMENT(Checkpoint, CP );
DEFINE_HOOK_REPLACEMENT(Container , Cnt);
DEFINE_HOOK_REPLACEMENT(Inventory , Inv);
DEFINE_HOOK_REPLACEMENT(Dynamic   , Dyn);
DEFINE_HOOK_REPLACEMENT(TextDraw  , TD );
DEFINE_HOOK_REPLACEMENT(Update    , Upd);
DEFINE_HOOK_REPLACEMENT(Object    , Obj);
DEFINE_HOOK_REPLACEMENT(Command   , Cmd);
DEFINE_HOOK_REPLACEMENT(DynamicCP , DynamicCP);

Sendo assim, ficaria:
Código:
hook OnPlayerCmdPerformed(playerid, cmdtext[], success){
    return 1;
}



RE: Erro no hook (is truncated to 31 characters) - White_Blue - 31/12/2023

Você também pode pegar o código-fonte do plugin no GitHub, trocar o nome da callback de "OnPlayerCommandPerformed" para um nome menor e, em seguida, compilar.

P.S.: Se estiver utilizando Pawn.CMD, esta solução requer conhecimentos básicos em C++.


RE: Erro no hook (is truncated to 31 characters) - WellingBR - 31/12/2023

(31/12/2023 16:54)Aranha Escreveu: vc esta usando essa include?

https://portalsamp.com/showthread.php?tid=2172

Isso mesmo, usando este ae

(31/12/2023 17:42)xbruno1000x Escreveu: Se eu achei corretamente, essas são as substituições disponíveis no y_hooks:
Código:
// Create the default replacements.
DEFINE_HOOK_REPLACEMENT(Checkpoint, CP );
DEFINE_HOOK_REPLACEMENT(Container , Cnt);
DEFINE_HOOK_REPLACEMENT(Inventory , Inv);
DEFINE_HOOK_REPLACEMENT(Dynamic   , Dyn);
DEFINE_HOOK_REPLACEMENT(TextDraw  , TD );
DEFINE_HOOK_REPLACEMENT(Update    , Upd);
DEFINE_HOOK_REPLACEMENT(Object    , Obj);
DEFINE_HOOK_REPLACEMENT(Command   , Cmd);
DEFINE_HOOK_REPLACEMENT(DynamicCP , DynamicCP); 

Sendo assim, ficaria:
Código:
hook OnPlayerCmdPerformed(playerid, cmdtext[], success){
    return 1;
}

Opa, mano. Estranhamente eu tinha testado isso e não funcionou, o evento não era acionado.

(31/12/2023 18:57)White_Blue Escreveu: Você também pode pegar o código-fonte do plugin no GitHub, trocar o nome da callback de "OnPlayerCommandPerformed" para um nome menor e, em seguida, compilar.

P.S.: Se estiver utilizando Pawn.CMD, esta solução requer conhecimentos básicos em C++.

Salve! Então mano, eu tava procurando uma solução mais "nativa" do inc sem necessitar mexer no código-fonte dele, tlg?


RE: Erro no hook (is truncated to 31 characters) - xbruno1000x - 01/01/2024

Quais erros apareceram quando tentou usar o Cmd no lugar de Command??

Pode tentar assim também:
O y_hooks já vem com essa função de definir hook_replacement justamente para não ter que mexer no código fonte. Tente e caso não dê certo me mostre os erros.

Tente assim então:
Código:
//No topo
DEFINE_HOOK_REPLACEMENT(OnPlayerCommandPerformed, OPCP);

O código ficaria assim:
Código:
hook OPCP(playerid, cmdtext[], success){
    return 1;
}



RE: Erro no hook (is truncated to 31 characters) - pushline - 01/01/2024

Ou usar tbm o compiler com sNAMEMAX de 64 caracteres