помогите с ClickTextDraw
#1

Как сделать чтоб при нажатии На Esc кликабельный texdraw полностью исчезал.
Reply
#2

искал ид клавиши esc не нашёл
Reply
#3

Во-первых, в sa-mp нет клавиш, есть события вызываемые клавишами.
Во-вторых, события на ESC нет.
Reply
#4

Quote:
Originally Posted by Stepashka
View Post
Во-первых, в sa-mp нет клавиш, есть события вызываемые клавишами.
Во-вторых, события на ESC нет.
Вообщем мне то, что ты сказал как то не помогло, как можно сделать закрытие кликабельного TexDraw на Esc просто когда вызываеш текстдрав на него можно нажимать, а потом когда нажимаеш на Esc персонажем можно передвигаться, а сами TexDraw не исчезают
Reply
#5

pawn Code:
public OnPlayerClickTextDraw(playerid, Text:clickedid)
{
    if(clickedid == Text:(INVALID_TEXT_DRAW))
    {
        //Вот тут действие при отключении кликабельности (при нажатии ESC)
    }
}
https://sampwiki.blast.hk/wiki/OnPlayerClickTextDraw
Reply
#6

Quote:
Originally Posted by Slava[LSW]
View Post
pawn Code:
public OnPlayerClickTextDraw(playerid, Text:clickedid)
{
    if(clickedid == Text:(INVALID_TEXT_DRAW))
    {
        //Вот тут действие при отключении кликабельности (при нажатии ESC)
    }
}
https://sampwiki.blast.hk/wiki/OnPlayerClickTextDraw
там выполняется действие с TexDraw

к примеру

вот

PHP Code:
public OnPlayerClickTextDraw(playeridText:clickedid)
{
      if(
_:clickedid != INVALID_TEXT_DRAW)
      {
          if(
clickedid == WoodJob[1])
          {
              if(
TexDrawWood[playerid] == 6)
              {
                  
TogglePlayerControllable(playerid1);
                  
TextDrawHideForPlayer(playeridWoodJob[0]);
                  
TextDrawHideForPlayer(playeridWoodJob[1]);
                  
TextDrawHideForPlayer(playeridWoodJob[2]);
                  
TextDrawHideForPlayer(playeridWoodJob[3]);
                  
TextDrawHideForPlayer(playeridWoodJob[4]);
                  
TextDrawHideForPlayer(playeridWoodJob[5]);
                  
TextDrawHideForPlayer(playeridWoodJob[6]);
                  
CancelSelectTextDraw(playerid);
               }
          }
      }
      return 
true;

Reply
#7

Quote:
Originally Posted by nikita86826
View Post
там выполняется действие с TexDraw

к примеру

вот

PHP Code:
public OnPlayerClickTextDraw(playeridText:clickedid)
{
      if(
_:clickedid != INVALID_TEXT_DRAW)
      {
          if(
clickedid == WoodJob[1])
          {
              if(
TexDrawWood[playerid] == 6)
              {
                  
TogglePlayerControllable(playerid1);
                  
TextDrawHideForPlayer(playeridWoodJob[0]);
                  
TextDrawHideForPlayer(playeridWoodJob[1]);
                  
TextDrawHideForPlayer(playeridWoodJob[2]);
                  
TextDrawHideForPlayer(playeridWoodJob[3]);
                  
TextDrawHideForPlayer(playeridWoodJob[4]);
                  
TextDrawHideForPlayer(playeridWoodJob[5]);
                  
TextDrawHideForPlayer(playeridWoodJob[6]);
                  
CancelSelectTextDraw(playerid);
               }
          }
      }
      return 
true;

Quote:
Originally Posted by SA-MP Wiki
The ID of the clicked textdraw. INVALID_TEXT_DRAW if selection was cancelled.
При нажатии на Esc вызывается данный коллбек со значением clickedid = INVALID_TEXT_DRAW.
Reply
#8

всёравно не пойму вот мой код гляньте


PHP Code:
public OnPlayerClickTextDraw(playeridText:clickedid)
{
      if(
_:clickedid != INVALID_TEXT_DRAW)
      {
          if(
clickedid == WoodJob[1])
          {
              
TexDrawWood[playerid] += 1;
              
TextDrawHideForPlayer(playeridWoodJob[1]);
              if(
TexDrawWood[playerid] == 6)
              {
                  
TogglePlayerControllable(playerid1);
                  
TextDrawHideForPlayer(playeridWoodJob[0]);
                  
TextDrawHideForPlayer(playeridWoodJob[1]);
                  
TextDrawHideForPlayer(playeridWoodJob[2]);
                  
TextDrawHideForPlayer(playeridWoodJob[3]);
                  
TextDrawHideForPlayer(playeridWoodJob[4]);
                  
TextDrawHideForPlayer(playeridWoodJob[5]);
                  
TextDrawHideForPlayer(playeridWoodJob[6]);
                  
CancelSelectTextDraw(playerid);
                  
SetPlayerCheckpoint(playerid,-456.2800,-48.9314,59.9215,1.0);
                  
ApplyAnimation(playerid,"PED","IDLE_chat",4.1,0,0,0,1,3150);
                    
ResetPlayerWeapons(playerid);
                    
SetPlayerAttachedObject(playerid,214581, -1.0348441.116571, -0.06512476.48014875.781570280.9525450.5755990.6045540.624122);
                    
SetPlayerAttachedObject(playerid,314631, -0.2050071.545087, -0.014800171.40682996.1146160.0660090.4036671.0000001.021239 );
               }
          }
          else if(
clickedid == WoodJob[2])
          {
              
TexDrawWood[playerid] += 1;
              
TextDrawHideForPlayer(playeridWoodJob[2]);
              if(
TexDrawWood[playerid] == 6)
              {
                  
TogglePlayerControllable(playerid1);
                  
TextDrawHideForPlayer(playeridWoodJob[0]);
                  
TextDrawHideForPlayer(playeridWoodJob[1]);
                  
TextDrawHideForPlayer(playeridWoodJob[2]);
                  
TextDrawHideForPlayer(playeridWoodJob[3]);
                  
TextDrawHideForPlayer(playeridWoodJob[4]);
                  
TextDrawHideForPlayer(playeridWoodJob[5]);
                  
TextDrawHideForPlayer(playeridWoodJob[6]);
                  
CancelSelectTextDraw(playerid);
                  
SetPlayerCheckpoint(playerid,-456.2800,-48.9314,59.9215,1.0);
                  
ApplyAnimation(playerid,"PED","IDLE_chat",4.1,0,0,0,1,3150);
                    
ResetPlayerWeapons(playerid);
                    
SetPlayerAttachedObject(playerid,214581, -1.0348441.116571, -0.06512476.48014875.781570280.9525450.5755990.6045540.624122);
                    
SetPlayerAttachedObject(playerid,314631, -0.2050071.545087, -0.014800171.40682996.1146160.0660090.4036671.0000001.021239 );
               }
          }
          else if(
clickedid == WoodJob[3])
          {
              
TexDrawWood[playerid] += 1;
              
TextDrawHideForPlayer(playeridWoodJob[3]);
              if(
TexDrawWood[playerid] == 6)
              {
                  
TogglePlayerControllable(playerid1);
                  
TextDrawHideForPlayer(playeridWoodJob[0]);
                  
TextDrawHideForPlayer(playeridWoodJob[1]);
                  
TextDrawHideForPlayer(playeridWoodJob[2]);
                  
TextDrawHideForPlayer(playeridWoodJob[3]);
                  
TextDrawHideForPlayer(playeridWoodJob[4]);
                  
TextDrawHideForPlayer(playeridWoodJob[5]);
                  
TextDrawHideForPlayer(playeridWoodJob[6]);
                  
CancelSelectTextDraw(playerid);
                  
SetPlayerCheckpoint(playerid,-456.2800,-48.9314,59.9215,1.0);
                  
ApplyAnimation(playerid,"PED","IDLE_chat",4.1,0,0,0,1,3150);
                    
ResetPlayerWeapons(playerid);
                    
SetPlayerAttachedObject(playerid,214581, -1.0348441.116571, -0.06512476.48014875.781570280.9525450.5755990.6045540.624122);
                    
SetPlayerAttachedObject(playerid,314631, -0.2050071.545087, -0.014800171.40682996.1146160.0660090.4036671.0000001.021239 );
               }
          }
          else if(
clickedid == WoodJob[4])
          {
              
TexDrawWood[playerid] += 1;
              
TextDrawHideForPlayer(playeridWoodJob[4]);
              if(
TexDrawWood[playerid] == 6)
              {
                  
TogglePlayerControllable(playerid1);
                  
TextDrawHideForPlayer(playeridWoodJob[0]);
                  
TextDrawHideForPlayer(playeridWoodJob[1]);
                  
TextDrawHideForPlayer(playeridWoodJob[2]);
                  
TextDrawHideForPlayer(playeridWoodJob[3]);
                  
TextDrawHideForPlayer(playeridWoodJob[4]);
                  
TextDrawHideForPlayer(playeridWoodJob[5]);
                  
TextDrawHideForPlayer(playeridWoodJob[6]);
                  
CancelSelectTextDraw(playerid);
                  
SetPlayerCheckpoint(playerid,-456.2800,-48.9314,59.9215,1.0);
                  
ApplyAnimation(playerid,"PED","IDLE_chat",4.1,0,0,0,1,3150);
                    
ResetPlayerWeapons(playerid);
                    
SetPlayerAttachedObject(playerid,214581, -1.0348441.116571, -0.06512476.48014875.781570280.9525450.5755990.6045540.624122);
                    
SetPlayerAttachedObject(playerid,314631, -0.2050071.545087, -0.014800171.40682996.1146160.0660090.4036671.0000001.021239 );
               }
          }
          else if(
clickedid == WoodJob[5])
          {
              
TexDrawWood[playerid] += 1;
              
TextDrawHideForPlayer(playeridWoodJob[5]);
              if(
TexDrawWood[playerid] == 6)
              {
                  
TogglePlayerControllable(playerid1);
                  
TextDrawHideForPlayer(playeridWoodJob[0]);
                  
TextDrawHideForPlayer(playeridWoodJob[1]);
                  
TextDrawHideForPlayer(playeridWoodJob[2]);
                  
TextDrawHideForPlayer(playeridWoodJob[3]);
                  
TextDrawHideForPlayer(playeridWoodJob[4]);
                  
TextDrawHideForPlayer(playeridWoodJob[5]);
                  
TextDrawHideForPlayer(playeridWoodJob[6]);
                  
CancelSelectTextDraw(playerid);
                  
SetPlayerCheckpoint(playerid,-456.2800,-48.9314,59.9215,1.0);
                  
ApplyAnimation(playerid,"PED","IDLE_chat",4.1,0,0,0,1,3150);
                    
ResetPlayerWeapons(playerid);
                    
SetPlayerAttachedObject(playerid,214581, -1.0348441.116571, -0.06512476.48014875.781570280.9525450.5755990.6045540.624122);
                    
SetPlayerAttachedObject(playerid,314631, -0.2050071.545087, -0.014800171.40682996.1146160.0660090.4036671.0000001.021239 );
               }
          }
          else if(
clickedid == WoodJob[6])
          {
              
TexDrawWood[playerid] += 1;
              
TextDrawHideForPlayer(playeridWoodJob[6]);
              if(
TexDrawWood[playerid] == 6)
              {
                  
TogglePlayerControllable(playerid1);
                  
TextDrawHideForPlayer(playeridWoodJob[0]);
                  
TextDrawHideForPlayer(playeridWoodJob[1]);
                  
TextDrawHideForPlayer(playeridWoodJob[2]);
                  
TextDrawHideForPlayer(playeridWoodJob[3]);
                  
TextDrawHideForPlayer(playeridWoodJob[4]);
                  
TextDrawHideForPlayer(playeridWoodJob[5]);
                  
TextDrawHideForPlayer(playeridWoodJob[6]);
                  
CancelSelectTextDraw(playerid);
                  
SetPlayerCheckpoint(playerid,-456.2800,-48.9314,59.9215,1.0);
                  
ApplyAnimation(playerid,"PED","IDLE_chat",4.1,0,0,0,1,3150);
                    
ResetPlayerWeapons(playerid);
                    
SetPlayerAttachedObject(playerid,214581, -1.0348441.116571, -0.06512476.48014875.781570280.9525450.5755990.6045540.624122);
                    
SetPlayerAttachedObject(playerid,314631, -0.2050071.545087, -0.014800171.40682996.1146160.0660090.4036671.0000001.021239 );
               }
          }
      }
      return 
true;

Reply
#9

Вот так нельзя?
PHP Code:
if(clickedid == Text:65535)
{
for(new 
k=sizeof(WoodJob); k--;)TextDrawHideForPlayer(playerid,WoodJob[k]);
TogglePlayerControllable(playerid1); 

Только желательно проверку ещё поставить, скрыт или не скрыт. Бывает данный калбек начинает флудить clickedid == 65535
Reply
#10

Quote:
Originally Posted by White_116
View Post
Вот так нельзя?
PHP Code:
if(clickedid == Text:65535)
{
for(new 
k=sizeof(WoodJob); k--;)TextDrawHideForPlayer(playerid,WoodJob[k]);

Только желательно проверку ещё поставить, скрыт или не скрыт. Бывает данный калбек начинает флудить clickedid == 65535
вы мне обьясните с моим кодом чтоб я понел, а то так непонятно
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)