Portal SAMP
[Ajuda] conflito em textdraw - 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] conflito em textdraw (/showthread.php?tid=1602)



conflito em textdraw - sentt - 04/09/2021

bom, demorei um pouco para pedir ajuda pois queria garantir que não deixei de tentar nenhuma maneira para resolver isso. O problema acontece entre 2 textdraws quando é chamada na callback public OnPlayerClickPlayerTextDraw(playerid, PlayerText:playertextid)

ocorre apenas entre 2 textdraws as outras que estão dentro da callback funcionam normalmente. Quando clico na textdraw10 ela executa a função da textdraw12 mesmo não havendo nenhum código que faça ela executar e logo após isso começa um conflito entre todas as textdraws que você clicar, elas executam funções fora das definições e caso você não clique nessa textdraw10 ou textdraw12 as outras funções não começam a entrar em conflito.

gostaria de saber se isso ocorre devido algum limite de textdraws ou algo parecido.
obs: estou no celular e quando chegar eu envio o código.


RE: conflito em textdraw - xbruno1000x - 04/09/2021

Id's não costumam entrar em conflito, exceto quando as variáveis estão definidas incorretamente.

Você definiu a new da textdraw como "new PlayerText:NOME[MAX_PLAYERS];" ?


RE: conflito em textdraw - Flenex - 05/09/2021

deve ser pq o range delas ta grande, volte pro editor e diminua o tamanho delas, caso use o ntd é o ancho. comigo normalmente é esse o problema.


RE: conflito em textdraw - sentt - 05/09/2021

(05/09/2021 14:02)Flenex Escreveu: deve ser pq o range delas ta grande, volte pro editor e diminua o tamanho delas, caso use o ntd é o ancho. comigo normalmente é esse o problema.

pior que não, já alterei o textsize das box que no caso é o responsável pela área selecionável e não obtive nenhum resultado e o mais incrível é que uma delas como citei acima chama a função de uma textdraw que nem aparece em sua tela. Seria algo como você clicar em uma função do inventário para dropar algum item e ela chama a função de dropar e vender ao mesmo tempo e acontece apenas com essas 2 textdraws que citei acima

(04/09/2021 23:56)xbruno1000x Escreveu: Id's não costumam entrar em conflito, exceto quando as variáveis estão definidas incorretamente.

Você definiu a new da textdraw como "new PlayerText:NOME[MAX_PLAYERS];" ?

Sim estão definidas
new PlayerText:textdrawinv[MAX_PLAYERS][17];


RE: conflito em textdraw - SrBlue - 05/09/2021

poderia mandar as funções que chamam a variavel textdrawinv[][]?


RE: conflito em textdraw - sentt - 05/09/2021

Citar:if(playertextid == invBox[playerid][4] || playertextid == textdrawinv[playerid][7]){
// a função fica aqui dentro
    SendClientMessage(playerid, 0xFF6347AA, "* Não há itens suficientes para ser combinado!");

    for(new i = 7; i < 16; i++)
{

PlayerTextDrawHide(playerid, invText[playerid][i]);
}
BoxAberto[playerid] = 0;
return 1;
}


// a forma de verificar esta certo? no caso estou criando como se fosse um menu para o próprio player aonde ele escolhe qual deles usar.

// a verificação acima acredito estar certo usando o operador '||' para não criar 2 funções e ambas textdraws realizarem a mesma função eu adaptei assim.

obs: são alguns menus personalizáveis para o jogador escolher a questão visual mesmo. no caso quando está aparecendo a ' invbox ' ela executa a função normalmente agora quando você opta em utilizar '  textdrawinv ' ela entra em algum tipo de conflito. não seria a forma de puxar a verificação? terei mesmo que copiar as mesmas funções e fazer verificação única para cada uma?


RE: conflito em textdraw - sentt - 06/09/2021

up ainda não foi resolvido


RE: conflito em textdraw - SrBlue - 06/09/2021

(06/09/2021 17:09)sentt Escreveu: up ainda não foi resolvido

experimenta mudar o range
para
for(new i = 5; i < 16; i++)