Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Показано с 1 по 10 из 10
  1. #1
    Аватар для Bady
    Пользователь

    Статус
    Оффлайн
    Регистрация
    08.12.2013
    Сообщений
    170
    Репутация:
    3 ±

    TextDraw - не чего не происходит

    При нажатии на TD не чего не происходит, как будто кликабельности нету даже.
    А когда вызываешь 2 раз, то код работает, но есть 1 проблема с SelectTextDraw, он выделяет текст другим цвета от 1 TD и до того которого новёл.

    PHP код:
            new number_buff[1];
        for(new 
    tsizeof(SecurityCodeNumber[]); t++)
        {
            if(
    playertextid == SecurityCodeNumber[t][playerid])
            {
                
    valstr(number_buff,SecurityCodeStr[playerid][t]);
                
    strcat(SecurityCodeProverka[playerid], number_buff);
                if(++
    number_of_clicks{playerid} >= 6)
                {
                    if(
    strval(SecurityCodeProverka[playerid]) == pData[playerid][FullSuperKey])
                    {
                        
    SendClientMessage(playerid,COLOR_WHITE,"VERNO");
                    }
                    else 
    SendClientMessage(playeridCOLOR_LIGHTRED"Введите /q(uit) чтобы выйти"),Kick(playerid);
                    
    number_of_clicks{playerid} = 0;
                    
    SecurityCodeProverka[playerid][0] = 0;
                }
                break;
            }
        } 

    PHP код:
    [17:49:45] [debugRun time error 4"Array index out of bounds"
    [17:49:45] [debug]  Accessing element at index 10 past array upper bound 9
    [17:49:45] [debugAMX backtrace:
    [
    17:49:45] [debug#0 001fe924 in Pin_Code (playerid=0) at C:\Users\Никита\Desktop\Route RP\gamemodes\new.pwn:30815
    [17:49:45] [debug#1 0004040c in public load_player (playerid=0) at C:\Users\Никита\Desktop\Route RP\gamemodes\new.pwn:6505 
    1.
    PHP код:
    stock Pin_Code(playerid)
    {
        new 
    text_string[2];
        for(new 
    index_1index_1 sizeof(SecurityCodeNumber[]); index_1++)
        {
              
    SecurityCodeStr[playerid][index_1] = random(10); // Тут ошибка в crahdetecte
            
    for(new index_2index_2 sizeof(SecurityCodeStr[]); index_2++)
            {
                if(
    index_1 == 0) break;
                if(
    index_2 == index_1) continue;
                if(
    SecurityCodeStr[playerid][index_1] == SecurityCodeStr[playerid][index_2])
                {
                    
    SecurityCodeStr[playerid][index_1] = random(10);
                    
    index_2 = -1;
                }
            }
            
    format(text_string,sizeof(text_string),"%d",SecurityCodeStr[playerid][index_1]);
            
    PlayerTextDrawSetString(playeridSecurityCodeNumber[index_1][playerid], text_string);
            
    PlayerTextDrawShow(playeridSecurityCodeNumber[index_1][playerid]);
            
    PlayerTextDrawSetSelectable(playeridSecurityCodeNumber[index_1][playerid], 1);
            for(new 
    015i++) PlayerTextDrawShow(playeridSecurityCode[playerid][i]);
            
    SelectTextDraw(playerid0xFDFF40AA);
        }
        return 
    1;

    2.
    PHP код:
            if(pData[playerid][EnableSuperKey] == 1)
            {
                if(
    strcmp(GetIP(playerid),pData[playerid][LastIP])) return Pin_Code(playerid); //Тут ошибка!
                
    else
                
    AccWriteString(player_name playerid ],"SuperKeyIP",GetIP(playerid));
            } 
    Скрины:

      Открыть/закрыть
    Последний раз редактировалось Bady; 07.04.2015 в 20:10.

  2. #2
    Аватар для wAx
    ¯\_(ツ)_/¯

    Статус
    Оффлайн
    Регистрация
    13.12.2013
    Сообщений
    377
    Репутация:
    146 ±
    при создании текстдрава, нужно указывать TextSize, Align = 2

  3. #3
    Аватар для Bady
    Пользователь

    Статус
    Оффлайн
    Регистрация
    08.12.2013
    Сообщений
    170
    Репутация:
    3 ±
    Цитата Сообщение от wAx Посмотреть сообщение
    при создании текстдрава, нужно указывать TextSize, Align = 2
    Не чего не изменилось, только текст левее съехал!

    PHP код:
        SecurityCodeNumber[0][playerid] = CreatePlayerTextDraw(playerid,284.000000218.399993"6");
        
    PlayerTextDrawLetterSize(playerid,SecurityCodeNumber[0][playerid], 0.4679992.676445);
        
    PlayerTextDrawAlignment(playerid,SecurityCodeNumber[0][playerid], 1);
        
    PlayerTextDrawColor(playerid,SecurityCodeNumber[0][playerid], -1);
        
    PlayerTextDrawSetShadow(playerid,SecurityCodeNumber[0][playerid], 0);
        
    PlayerTextDrawSetOutline(playerid,SecurityCodeNumber[0][playerid], 1);
        
    PlayerTextDrawBackgroundColor(playerid,SecurityCodeNumber[0][playerid], 51);
        
    PlayerTextDrawFont(playerid,SecurityCodeNumber[0][playerid], 2);
        
    PlayerTextDrawSetProportional(playerid,SecurityCodeNumber[0][playerid], 1);
        
    PlayerTextDrawAlignment(playerid,SecurityCodeNumber[0][playerid], 2); 

  4. #4
    Аватар для wAx
    ¯\_(ツ)_/¯

    Статус
    Оффлайн
    Регистрация
    13.12.2013
    Сообщений
    377
    Репутация:
    146 ±
    Alignment = 2, выставляй там где создавал свои тексдравы и подгоняй позицию, поставь PlayerTextDrawTextSize со значениями к примеру 20 20 и посмотри как будет работать, в общем экспериментируй и всё получится

  5. #5
    Аватар для Desulaid
    лесоруб продакшен

    Статус
    Оффлайн
    Регистрация
    15.03.2015
    Адрес
    Slobodskoy
    Сообщений
    667
    Репутация:
    236 ±
    Цитата Сообщение от wAx Посмотреть сообщение
    Alignment = 2, выставляй там где создавал свои тексдравы и подгоняй позицию, поставь PlayerTextDrawTextSize со значениями к примеру 20 20 и посмотри как будет работать, в общем экспериментируй и всё получится
    То есть область выделения TextDraw подбирается вручную?

  6. #6
    Аватар для wAx
    ¯\_(ツ)_/¯

    Статус
    Оффлайн
    Регистрация
    13.12.2013
    Сообщений
    377
    Репутация:
    146 ±
    Цитата Сообщение от Darge Посмотреть сообщение
    То есть область выделения TextDraw подбирается вручную?
    В IpleoMax можно сделать и автоматически, достаточно включить использование заднего бокса и подогнать его по размеру - после отключить. Но чтобы кликало ровно по тексту, нужно придать Align по центру.

    Я всегда подбирал вручную, так надежнее, понятнее и быстрее =)

  7. #7
    Аватар для Bady
    Пользователь

    Статус
    Оффлайн
    Регистрация
    08.12.2013
    Сообщений
    170
    Репутация:
    3 ±
    Цитата Сообщение от wAx Посмотреть сообщение
    Alignment = 2, выставляй там где создавал свои тексдравы и подгоняй позицию, поставь PlayerTextDrawTextSize со значениями к примеру 20 20 и посмотри как будет работать, в общем экспериментируй и всё получится
    А это тогда по твоему что? PlayerTextDrawAlignment(playerid,SecurityCodeNumber[0][playerid], 2);
    Подгонял PlayerTextDrawTextSize под себя, не помогло!

  8. #8
    Аватар для wAx
    ¯\_(ツ)_/¯

    Статус
    Оффлайн
    Регистрация
    13.12.2013
    Сообщений
    377
    Репутация:
    146 ±
    Цитата Сообщение от Bady Посмотреть сообщение
    А это тогда по твоему что? PlayerTextDrawAlignment(playerid,SecurityCodeNumber[0][playerid], 2);
    Подгонял PlayerTextDrawTextSize под себя, не помогло!
    Ну значит проблема в твоих знаниях о текстдравах, ведь именно TextSize не даёт нормально работать кликабельным ТД. Сожалею.

  9. #9
    Аватар для Bady
    Пользователь

    Статус
    Оффлайн
    Регистрация
    08.12.2013
    Сообщений
    170
    Репутация:
    3 ±
    Цитата Сообщение от wAx Посмотреть сообщение
    Ну значит проблема в твоих знаниях о текстдравах, ведь именно TextSize не даёт нормально работать кликабельным ТД. Сожалею.
    На сколько я знаю TextSize это размер текста высота и ширина, не так ли?
    О каких знаниях еще речь, я сделал со всеми тд TextSize поменялся размер и не чего не изменилось!
    Логика тогда где, я сделал все что ты сказал и не чего не изменилось, сделаем вывод, ты сам не знаешь в чем причина и пытаешься скинуть всё на мои знания о TD

  10. #10
    Аватар для Bady
    Пользователь

    Статус
    Оффлайн
    Регистрация
    08.12.2013
    Сообщений
    170
    Репутация:
    3 ±
    Подниму

 

 

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •