(21/07/2022 16:13)Dr Editor Escreveu: Tenta usar um hook convencional:
Código:public OnPlayerClickPlayerTextDraw(playerid, PlayerText:playertextid)
{
#if defined hk_OnPlayerClickPlayerTextDraw
hk_OnPlayerClickPlayerTextDraw(playerid, PlayerText:playertextid);
#endif
return true;
}
#if defined _ALS_OnPlayerClickPlayerTextDra
#undef OnPlayerClickPlayerTextDraw
#else
#define _ALS_OnPlayerClickPlayerTextDra
#endif
#define OnPlayerClickPlayerTextDraw hk_OnPlayerClickPlayerTextDraw
#if defined hk_OnPlayerClickPlayerTextDraw
forward hk_OnPlayerClickPlayerTextDraw(playerid, PlayerText:playertextid);
#endif
Também não funcionou.
Agradeço a todos que me ajudaram até agora, mas tive uma ideia que resolveu meu problema na hora, caso alguém esteja tendo a mesma dificuldade e esteja programando em módulos, siga o seguintes passos.
1 - Crie uma pasta com qual quer nome dentro do servidor.
2 - Crie um arquivo .pwn ( interacoes.pwn ) foi o que eu criei.
3 - Copie toda a public OnPlayerClickPlayerTextDraw e cole dentro do seu arquivo do passo 2.
4 - Coloque a include #include <YSI\y_hooks> no arquivo e problema estará resolvido.
Obs: o passo 3 você deve manter PUBLIC e não HOOK caso ao contrario não funcionara, e depois disso não poderá em lugar nenhum na GM ter outra ( OnPlayerClickPlayerTextDraw ) você usará só a que você criou para fazer tudo.
Assim que puxa a textdraw, e você clica, como a GM está toda interligada por módulos, ele já identifica o click e abre, o único problema que talvez algumas pessoas podem não gostar, é que se o seu servidor tem muitas textdraw, com o tempo o passo 3 ficara cheio de condições, mais isso é de menos, pois 1 arquivo com apenas uma public é bem tranquilo.
Vlw pessoal.
Caso esse método possa prejudicar fiquem à-vontade para me corrigir aqui.