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

    Статус
    Оффлайн
    Регистрация
    24.05.2014
    Сообщений
    346
    Репутация:
    2 ±

    Срабатывание TextDraw

    Доброго дня у меня произошла проблема не могу понять в чём, кликабельность стоит всё кликается но не срабатывает действие

    PHP код:
    public OnPlayerClickPlayerTextDraw(playeridPlayerText:playertextid)
    {
         if(
    playertextid == camera[playerid][9])
        {
            
    SetPlayerPos(playerid,1548.1624,-1711.9330,24.5689);
            
    TogglePlayerControllable(playerid0);
            
    SetPlayerCameraPos(playerid,1552.8424,-1651.0649,26.3802);
            
    SetPlayerCameraLookAt(playerid,1539.2563,-1676.5486,12.9310);
        }
        return 
    1;

    То есть я кликают на тд под 9 но действие не происходит почему ?

  2. #2
    Аватар для DeimoS
    Модератор?

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Потому что гладиолус.
    Добавь логирование и посмотри, вызывается ли коллбэк вообще.
    PHP код:
    public OnPlayerClickPlayerTextDraw(playeridPlayerText:playertextid

        
    printf("Коллбэк OnPlayerClickPlayerTextDraw вызван для игрока под ID %d"polayerid);
        if(
    playertextid == camera[playerid][9]) 
        { 
            print(
    "playertextid == camera[playerid][9]");
            
    SetPlayerPos(playerid,1548.1624,-1711.9330,24.5689); 
            
    TogglePlayerControllable(playerid0); 
            
    SetPlayerCameraPos(playerid,1552.8424,-1651.0649,26.3802); 
            
    SetPlayerCameraLookAt(playerid,1539.2563,-1676.5486,12.9310); 
        } 
        return 
    1

    А из того, что показал ты, вообще трудно что-то понять. Ты бы хотя бы показал код создания
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

    Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
    Великих идей полно, на них нет спроса.
    Воплощение идеи в законченную игру требует долгой работы,
    таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
    Предложить идею просто, воплотить – вот в чём проблема

    Steve Pavlina

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

    Статус
    Оффлайн
    Регистрация
    24.05.2014
    Сообщений
    346
    Репутация:
    2 ±
    Нет не вызывается

  4. #4
    Аватар для DeimoS
    Модератор?

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Ну тогда чекай
    PHP код:
    OnPlayerClickTextDraw 
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

    Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
    Великих идей полно, на них нет спроса.
    Воплощение идеи в законченную игру требует долгой работы,
    таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
    Предложить идею просто, воплотить – вот в чём проблема

    Steve Pavlina

  5. #5
    Аватар для ALIT13
    Пользователь

    Статус
    Оффлайн
    Регистрация
    24.05.2014
    Сообщений
    346
    Репутация:
    2 ±
    Цитата Сообщение от DeimoS Посмотреть сообщение
    Ну тогда чекай
    PHP код:
    OnPlayerClickTextDraw 
    а у если у меня тд глобальный всё переводить

  6. #6
    Аватар для DeimoS
    Модератор?

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Цитата Сообщение от ALIT13 Посмотреть сообщение
    а у если у меня тд глобальный всё переводить
    То есть? Просто проверь, срабатывает ли этот коллбэк. Я сам с кликабельными текстдравами не работал, но судя по проблемам других людей, которым пришлось помогать, частенько SA-MP не желает вызывать OnPlayerClickPlayerTextDraw для текстдравов, которые созданы через CreatePlayerTextDraw, а вызывает OnPlayerClickTextDraw.
    С чем это связано - не знаю. Если у тебя OnPlayerClickTextDraw вызывается, просто перенеси все проверки в него и всё
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

    Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
    Великих идей полно, на них нет спроса.
    Воплощение идеи в законченную игру требует долгой работы,
    таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
    Предложить идею просто, воплотить – вот в чём проблема

    Steve Pavlina

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

    Статус
    Оффлайн
    Регистрация
    24.05.2014
    Сообщений
    346
    Репутация:
    2 ±
    Всё равно не пойму
    public OnPlayerClickPlayerTextDraw(playerid, PlayerText:playertextid) это специально для глобальный

    а OnPlayerClickTextDraw для обычных которые не меняются
    мне чё заменить на

    public OnPlayerClickTextDraw(playerid, PlayerText:playertextid)

  8. #8
    Аватар для Nurick
    Пользователь

    Статус
    Оффлайн
    Регистрация
    19.04.2014
    Адрес
    Уфа, Россия
    Сообщений
    319
    Репутация:
    52 ±
    PHP код:
    /*
    TextDraws
    */
    TextDrawSetSelectablecamera[9], ); 
    PHP код:
    TextDrawShowForPlayerplayeridcamera[9] );
    SelectTextDrawplayerid0xFF0000AA ); 
    PHP код:
    public OnPlayerClickTextDrawplayeridTextclickedid )
    {
        if( 
    clickedid == camera[9] )
        {
            
    /*......*/
            
    CancelSelectTextDrawplayerid );
        }
        return 
    1;

    А зачем использовать public OnPlayerClickPlayerTextDraw( playerid, PlayerText: playertextid ) если вы просто меняете позицию игрока, камеры. OnPlayerClickPlayerTextDraw используется обычно когда меняются числа для каждого игрока отдельно.

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

    Статус
    Оффлайн
    Регистрация
    24.08.2015
    Адрес
    Ташкент
    Сообщений
    375
    Репутация:
    97 ±
    Цитата Сообщение от Nurick Посмотреть сообщение
    [PHP]
    А зачем использовать public OnPlayerClickPlayerTextDraw( playerid, PlayerText: playertextid ) если вы просто меняете позицию игрока, камеры. OnPlayerClickPlayerTextDraw используется обычно когда меняются числа для каждого игрока отдельно.
    Откуда такая инфа?

    OnPlayerClickPlayerTextDraw - вызывается при нажатие на Textdraw типа PlayerText (CreatePlayerTextDraw)
    OnPlayerClickTextDraw - вызывается при нажатие на Textdraw типа Text (CreateTextDraw)

    OnPlayerClickPlayerTextDraw используется обычно когда меняются числа для каждого игрока отдельно.
    И OnPlayerClickTextDraw используется для каждого игрока отдельно...

    По теме:

    Если textdraw которого пытаетесь нажать, объявлен как Text:переменная (CreateTextDraw), то нажатие можно отследить пабликом OnPlayerClickTextDraw, в ином случае если textdraw объявлен как PlayerText:переменная (CreatePlayerTextDraw), то нажатие можно отследить пабликом OnPlayerClickPlayerTextDraw
    Последний раз редактировалось Geebrox; 14.07.2016 в 22:00.
    Респект:
    @DeimoS
    @ziggi
    @Daniel_Cortez

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

    Статус
    Оффлайн
    Регистрация
    04.01.2015
    Адрес
    Гомель, Беларусь
    Сообщений
    547
    Репутация:
    158 ±
    Цитата Сообщение от Geebrox Посмотреть сообщение
    Откуда такая инфа?

    OnPlayerClickPlayerTextDraw - вызывается при нажатие на Textdraw типа PlayerText (CreatePlayerTextDraw)
    OnPlayerClickTextDraw - вызывается при нажатие на Textdraw типа Text (CreateTextDraw)
    Наверно он к тому, что в данной ситуации лучше было бы использовать обычные текстдравы, т.к. кроме их показа ничего с ними не происходит.
    Не хотите постоянно проверять обновления моих скриптов?
    Подключите его последним, после всех остальных
    Nexius's Update Checker

 

 
Страница 1 из 2 1 2 ПоследняяПоследняя

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

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

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

Ваши права

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