Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.

Реклама


**Как получить V.I.P** (Перейти)
Чтобы заказать рекламу на Pro-Pawn.Ru, обращайтесь в Skype.
Баннерная реклама 200руб/мес, Текстовая 100руб/мес.
Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 12
  1. #1
    Аватар для ALIT13
    Пользователь

    Статус
    Оффлайн
    Регистрация
    24.05.2014
    Сообщений
    250
    Репутация:
    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
    Адрес
    Восточный Мордор
    Сообщений
    3,931
    Репутация:
    1502 ±
    Потому что гладиолус.
    Добавь логирование и посмотри, вызывается ли коллбэк вообще.
    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

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

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

    Steve Pavlina

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

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

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

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

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

    Steve Pavlina

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

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

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

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

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

    Steve Pavlina

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

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

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

    public OnPlayerClickTextDraw(playerid, PlayerText:playertextid)

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

    Статус
    Оффлайн
    Регистрация
    19.04.2014
    Адрес
    Уфа, Россия
    Сообщений
    313
    Репутация:
    51 ±
    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
    Адрес
    Ташкент
    Сообщений
    272
    Репутация:
    73 ±
    Цитата Сообщение от 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.

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

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

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

 

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

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

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

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

Ваши права

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