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

    Статус
    Оффлайн
    Регистрация
    05.10.2019
    Адрес
    Планета Земля
    Сообщений
    318
    Репутация:
    7 ±

    Курсор при появлении кликабельного текстдрава.

    Если ты сначала создашь кликабельный текстдрав и объявишь цвет выделения зон кликабельности, то появится курсор. Но после скрытия текстдрава он никуда не пропадает и приходится нажимать Esc. Так вот, от чего зависит, есть ли курсор на экране или нету, и как его скрыть?

    Пример:

    1. OnPlayerClickTextDraw(playerid, Text:clickedid)
    2. {
    3. if(clickedid == td_select_skin[2])
    4. {
    5. PlayerPlaySound(playerid, 30800, 0.0, 0.0, 0.0);
    6. player[playerid][p_skin] = GetPlayerSkin(playerid);
    7. number_skin{playerid} = 0;
    8. for(new i = 0; i < 3; i++) TextDrawHideForPlayer(playerid, td_select_skin[i]);
    9. DialogReadyReg(playerid);
    10. }
    11. return true;
    12. }


    1. case DLG_ID_REG_SEX_SKIN:
    2. {
    3. SpawnPlayer(playerid);
    4. if(response)
    5. {
    6. player[playerid][p_sex] = 1; // Male
    7. number_skin{playerid} = 1;
    8. SetPlayerSkin(playerid, 3);
    9. }
    10. else
    11. {
    12. player[playerid][p_sex] = 2; // Female
    13. number_skin{playerid} = 10;
    14. SetPlayerSkin(playerid, 12);
    15. }
    16. TD_SelectSkin();
    17. for(new i = 0; i < 3; i++) TextDrawShowForPlayer(playerid, td_select_skin[i]);
    18. SelectTextDraw(playerid, COLOR_ORANGE);
    19. SetPlayerInterior(playerid, 1);
    20. SetPlayerPos(playerid, -759.3675, 502.0562, 1371.6511);
    21. SetPlayerFacingAngle(playerid, 264.2415);
    22. switch(player[playerid][p_sex])
    23. {
    24. case 1: // male
    25. {
    26. if(20 <= player[playerid][p_age] <= 30) SetPlayerSkin(playerid, 3);
    27. else if(31 <= player[playerid][p_age] <= 50) SetPlayerSkin(playerid, 19);
    28. else if(51 <= player[playerid][p_age] <= 70) SetPlayerSkin(playerid, 1);
    29. }
    30. case 2: // female
    31. {
    32. if(20 <= player[playerid][p_age] <= 30) SetPlayerSkin(playerid, 11);
    33. else if(31 <= player[playerid][p_age] <= 50) SetPlayerSkin(playerid, 13);
    34. else if(51 <= player[playerid][p_age] <= 70) SetPlayerSkin(playerid, 9);
    35. }
    36. }
    37. number_skin{playerid} = 1;
    38. SetPlayerCameraPos(playerid, -755.9845, 502.5589, 1371.7016); // -755.9845, 502.5589, 1371.8216
    39. SetPlayerCameraLookAt(playerid, -759.3675, 502.0562, 1371.6511);
    40. FreezePlayer(playerid, 0);
    41. return true;
    42. }


    1. stock TD_SelectSkin()
    2. {
    3. td_select_skin[0] = TextDrawCreate(397.306640, 368.083312, "LD_BEAT:right");
    4. TextDrawLetterSize(td_select_skin[0], 0.000000, 0.000000);
    5. TextDrawTextSize(td_select_skin[0], 33.733535, 44.916667);
    6. TextDrawAlignment(td_select_skin[0], 2);
    7. TextDrawColor(td_select_skin[0], -65281);
    8. TextDrawSetShadow(td_select_skin[0], 0);
    9. TextDrawSetOutline(td_select_skin[0], 0);
    10. TextDrawBackgroundColor(td_select_skin[0], 255);
    11. TextDrawFont(td_select_skin[0], 4);
    12. TextDrawSetSelectable(td_select_skin[0], true);
    13.  
    14. td_select_skin[1] = TextDrawCreate(208.393585, 368.083312, "LD_BEAT:left");
    15. TextDrawLetterSize(td_select_skin[1], 0.000000, 0.000000);
    16. TextDrawTextSize(td_select_skin[1], 33.733535, 44.916667);
    17. TextDrawAlignment(td_select_skin[1], 2);
    18. TextDrawColor(td_select_skin[1], -65281);
    19. TextDrawSetShadow(td_select_skin[1], 0);
    20. TextDrawSetOutline(td_select_skin[1], 0);
    21. TextDrawBackgroundColor(td_select_skin[1], 255);
    22. TextDrawFont(td_select_skin[1], 4);
    23. TextDrawSetSelectable(td_select_skin[1], true);
    24.  
    25. td_select_skin[2] = TextDrawCreate(317.000000, 381.500061, "SELECT");
    26. TextDrawLetterSize(td_select_skin[2], 0.792019, 2.877502);
    27. TextDrawTextSize(td_select_skin[2], 17.0, 70.0);
    28. TextDrawAlignment(td_select_skin[2], 2);
    29. TextDrawColor(td_select_skin[2], -65281);
    30. TextDrawSetShadow(td_select_skin[2], 0);
    31. TextDrawSetOutline(td_select_skin[2], 1);
    32. TextDrawBackgroundColor(td_select_skin[2], 255);
    33. TextDrawFont(td_select_skin[2], 0);
    34. TextDrawSetProportional(td_select_skin[2], 1);
    35. TextDrawSetSelectable(td_select_skin[2], true);
    36. }


    UPD: стоило только поискать и нашел: https://wiki.sa-mp.com/wiki/CancelSelectTextDraw

    Но если кто-нибудь дополнит или пояснит мелочи кликабельности текстдрава - пожалуйста.
    Последний раз редактировалось SteveStage; 16.03.2020 в 14:27.

  2. #2
    Аватар для geneff
    Пользователь

    Статус
    Оффлайн
    Регистрация
    03.07.2017
    Сообщений
    44
    Репутация:
    5 ±
    PHP код:
    CancelSelectTextDraw(playerid); 

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

    Статус
    Оффлайн
    Регистрация
    05.10.2019
    Адрес
    Планета Земля
    Сообщений
    318
    Репутация:
    7 ±
    Цитата Сообщение от geneff Посмотреть сообщение
    PHP код:
    CancelSelectTextDraw(playerid); 
    А зачем функцию, которая мне нужна была, вставлять в PHP код и сюда скидывать?)

 

 

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

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

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

Ваши права

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