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

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

    Кликабельность текстдрава

    Приветствую. В общем, посмотрел я пару "уроков" (хотя их так не назовёшь) и решил себе сделать кликабельный текстдрав (чисто для обучения, не более). Скачал программу (плагин?) iPLEOMAX и взялся за дело.

    Создал отдельный UseBox, на него наложил текст (тоже отдельно), сделал оба кликабельными, но эффекта вообще никакого. Само собой я использовал функцию SelectTextDraw.

    Решил создать обычный текстдрав и прикрепить к нему UseBox (там такая кнопочка есть), столкнулся ещё с несколькими проблемами:
    1. Наложенный (не отдельно) UseBox не регулируется по высоте. Можно ли это как-нибудь решить?
    2. Расширение границы этого UseBox созданием отдельного также не помогло. Используется граница наложенного (не отдельно).

    Покажу наглядно, если не так выразился


    Красным помечен текст и граница прикреплённого к нему UseBox (пункт 1). Кликабельным делается только та граница, помеченная красным цветом.
    Зелёным же помечен дополнительный UseBox, созданный отдельно (пункт 2).

    Теперь соберу в кучку вопросы, которые меня интересуют:
    1. Как отрегулировать по высоте границу действия прикреплённого к тексту UseBox?
    2. Если по высоте не регулируется, то как можно создать границу кликабельности отдельным UseBox?
    3. Есть ли какие-нибудь действительно хорошие уроки по созданию кликабельных текстдравов?

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

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

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

    Steve Pavlina

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

    Статус
    Оффлайн
    Регистрация
    01.01.2017
    Сообщений
    11
    Репутация:
    1 ±
    Цитата Сообщение от DeimoS Посмотреть сообщение
    Код покажи. У тебя у TextDrawTextSize неверные значения, скорее всего
    А в каких пределах он должен быть? Уже наугад начал подбирать значения, бывает что работает с первого создания хорошо, а бывает что надо экспериментировать со значением

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

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Цитата Сообщение от JohnConor Посмотреть сообщение
    А в каких пределах он должен быть? Уже наугад начал подбирать значения, бывает что работает с первого создания хорошо, а бывает что надо экспериментировать со значением
    Включаешь бокс > растягиваешь его до нужного размера > сохраняешь > в самом коде делаешь цвет бокса прозрачным или отключаешь (не помню точно, используют ли кликабельные текстдравы бокс)
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

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

    Steve Pavlina

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

    Статус
    Оффлайн
    Регистрация
    17.11.2015
    Адрес
    Stavropol
    Сообщений
    1,369
    Репутация:
    113 ±
    А Вам не кажется что нужно сначала всю шелуху накидать(это я про бокс отдельный),
    а потом поверхностно класть кликабельные тд))
    [Anticheat]___Invisible Fly Hack
    [Anticheat]____Weapon/Ammo Hack
    [Function]______ResetPlayerWeaponSlot
    [Function]_______FIX_SetPlayerAmmo
    [ServerMod]______TDM | Zombie Apokalypse

  6. #6
    Аватар для PawnoNoob
    Пользователь

    Статус
    Оффлайн
    Регистрация
    31.03.2016
    Сообщений
    257
    Репутация:
    3 ±
    Цитата Сообщение от DeimoS Посмотреть сообщение
    Включаешь бокс > растягиваешь его до нужного размера > сохраняешь > в самом коде делаешь цвет бокса прозрачным или отключаешь (не помню точно, используют ли кликабельные текстдравы бокс)
    Дело в том, что я так и делал, но в высоту этот бокс вообще никак не регулируется. И влево его вообще никак не отодвинуть, только вправо.

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

    Статус
    Оффлайн
    Регистрация
    02.11.2016
    Сообщений
    131
    Репутация:
    23 ±
    Цитата Сообщение от PawnoNoob Посмотреть сообщение
    Дело в том, что я так и делал, но в высоту этот бокс вообще никак не регулируется. И влево его вообще никак не отодвинуть, только вправо.
    Потому-что у тебя в функции TextDrawLetterSize по координате Z нулевое значение.
    Немного подредактирую сообщение deimos'a

    Включаешь бокс > растягиваешь его до нужного размера > сохраняешь > в самом коде просто удаляешь эту строку, далее у тебя в коде появилась еще одна функция TextDrawLetterSize, там у тебя по X есть значение, по Z - 0, устанавливаешь любое значение, можешь даже большое ибо оно всеравно не выйдет больше созданного бокса по Z координате.

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

    Статус
    Оффлайн
    Регистрация
    31.03.2016
    Сообщений
    257
    Репутация:
    3 ±
    Цитата Сообщение от Long- Посмотреть сообщение
    Потому-что у тебя в функции TextDrawLetterSize по координате Z нулевое значение.
    Немного подредактирую сообщение deimos'a

    Включаешь бокс > растягиваешь его до нужного размера > сохраняешь > в самом коде просто удаляешь эту строку, далее у тебя в коде появилась еще одна функция TextDrawLetterSize, там у тебя по X есть значение, по Z - 0, устанавливаешь любое значение, можешь даже большое ибо оно всеравно не выйдет больше созданного бокса по Z координате.
    А можно подробнее? (Скриншотами или же кюпримером кода)

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

    Статус
    Оффлайн
    Регистрация
    02.11.2016
    Сообщений
    131
    Репутация:
    23 ±
    Цитата Сообщение от PawnoNoob Посмотреть сообщение
    А можно подробнее? (Скриншотами или же кюпримером кода)
    Покажите ваш код создания TD, тот который хотите сделать кликабельным.

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

    Статус
    Оффлайн
    Регистрация
    31.03.2016
    Сообщений
    257
    Репутация:
    3 ±
    Цитата Сообщение от Long- Посмотреть сообщение
    Покажите ваш код создания TD, тот который хотите сделать кликабельным.
    Так, по-быстрому набросал, так как предыдущий "эксперимент" был удалён.
    Вот скриншот:

    В идеале я хотел бы сделать его немного больше ((по высоте) зелёный, который создан отдельно). Чёрный же был наложен к тексту, при этом я не могу отрегулировать его в высоту и влево тоже оттянуть не могу.

    Вот сам код сие "чуда":
    PHP код:
    new Text:Textdraw0;


    Textdraw0 TextDrawCreate(264.800018404.195556"TEST");
    TextDrawLetterSize(Textdraw00.4499991.600000);
    TextDrawTextSize(Textdraw0318.39996317.920000);
    TextDrawAlignment(Textdraw01);
    TextDrawColor(Textdraw0, -1);
    TextDrawUseBox(Textdraw0true);
    TextDrawBoxColor(Textdraw0255);
    TextDrawSetShadow(Textdraw00);
    TextDrawSetOutline(Textdraw00);
    TextDrawBackgroundColor(Textdraw051);
    TextDrawFont(Textdraw01);
    TextDrawSetProportional(Textdraw01);


    //Player Textdraws(Äëÿ èãðîêà):

    new PlayerText:Textdraw0[MAX_PLAYERS];


    Textdraw0[playerid] = CreatePlayerTextDraw(playerid322.400024403.206665"usebox");
    PlayerTextDrawLetterSize(playeridTextdraw0[playerid], 0.0000001.729753);
    PlayerTextDrawTextSize(playeridTextdraw0[playerid], 240.3999930.000000);
    PlayerTextDrawAlignment(playeridTextdraw0[playerid], 1);
    PlayerTextDrawColor(playeridTextdraw0[playerid], 0);
    PlayerTextDrawUseBox(playeridTextdraw0[playerid], true);
    PlayerTextDrawBoxColor(playeridTextdraw0[playerid], 564396831);
    PlayerTextDrawSetShadow(playeridTextdraw0[playerid], 0);
    PlayerTextDrawSetOutline(playeridTextdraw0[playerid], 0);
    PlayerTextDrawFont(playeridTextdraw0[playerid], 0);
    PlayerTextDrawSetSelectable(playeridTextdraw0[playerid], true); 
    Забыл для одного сделать Player, ну да ладно.

 

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

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

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

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

Ваши права

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