Путаются ID TextDraw
#1

Доброго времени суток, в общем серьезная проблема встала передо мной.

Вообщем создаю TD с ид от 0 до 40, потом после нажатия на тд с ид два удаляю все и создаю снова тд от 0 до 40, но уже без 2 тд, дак вот когда нажимаешь на тд ид 3, сервер считает его за ид два.

PHP код:
public OnPlayerClickPlayerTextDraw(playeridPlayerText:playertextid)
{
    if (!
Dialog_Opened(playerid))
    {
        if (
IsValidPlayerTextDraw(playeridplayertextid)) // (1)
        
{
            if (
playertextid == player_data[playerid][player_textdraws][2])
            {
                 
/* Вызывается, эта часть кода все равно если PlayerTextDrawDestroy(playerid, player_data[playerid][player_textdraws][2]*/
            
}
        }
    }
    
    for (new 
039++) // (2)
    
{
        if (
IsValidPlayerTextDraw(playeridplayer_data[playerid][player_textdraws][i]))
        {
            
PlayerTextDrawHide(playeridplayer_data[playerid][player_textdraws][i]);
            
PlayerTextDrawDestroy(playeridplayer_data[playerid][player_textdraws][i]);
        }
    }
        
    return 
true;

И да если внемательно посмотреть код (1) я делаю проверку на валид, после создания тд я циклом (2) так же показываю тд и проверяю их на валид, тд с 2 ид не показывает.
Reply
#2

Проблема вся в том, что при удаление тд переменные не обнуляются, а при создании заново player_data[playerid][player_textdraws][3] присваивается 2, в то же время player_data[playerid][player_textdraws][2] = 2.

в общем пробовал при удалении обнулять переменных

PHP код:
        for (new 039++)
    {
        if (
IsValidPlayerTextDraw(playeridplayer_data[playerid][player_textdraws][i]))
        {
                
player_data[playerid][player_textdraws][i] = INVALID_TEXT_DRAW// Варнинг
            
PlayerTextDrawHide(playeridplayer_data[playerid][player_textdraws][i]);
            
PlayerTextDrawDestroy(playeridplayer_data[playerid][player_textdraws][i]);
        }
    } 
варнинг warning 213: tag mismatch

и тд теперь имеет ид после каждого удаления и создания снова 2-6-17-17(Здесь уже тд не создается, но перменная хранит этот ид, но вроде больше не путается player_data[playerid][player_textdraws][2] и player_data[playerid][player_textdraws][3])

UPD варнинг устранен.
Reply
#3

Тему в топку.
Проблемы больше нет.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)