Welcome!

By registering with us, you'll be able to discuss, share and private message with other members of our community.

SignUp Now!

проблема с кликами

Мар
25
0
Пользователь
Pawn:
new
  ClickType,
  ClickNPC,
  ClickID;


    {{44}, "answer.npcDialog"},

                                                                                                                                                                                                                                                              case 44:
    {
      switch ClickNPC do
    {
      case 0:
    {
      switch clicked_values[0] do
      {
        case 0: HidePlayerHud(playerid), sendDialogForNPC(playerid, 1);
        case 1: OnPlayerHideInterfaceCef(playerid);
      }
    }
      case 1:
    {
      switch clicked_values[0] do
      {
           case 0: HidePlayerHud(playerid), SCM(playerid, COLOR_VALIK, "[Информация] {ffffff}.!");          
      case 1: OnPlayerHideInterfaceCef(playerid);
          }
        }
      }
    } stock sendDialogForNPC(playerid, type)
{
  ClickNPC = type;

  HidePlayerHud(playerid);
  PR_SendInterface(playerid, {0}, "window.executeEvent('event.setActiveView', '[\"NpcDialog\"]');");

  switch type do
  {
     case 0:
  {
    PR_SendInterface(playerid,  {0}, "window.executeEvent('event.npcDialog.initializeDialog', `[\
    {\"id\":\"0\",\"title\":\"Фермер\",\"text\":\"Привет, рад тебя видеть. Уже освоился тут немного?<br><br>У меня есть к тебе просьба, сможешь помочь?\",\
    \"backgroundColor\":\"rgba(19, 21, 22, 0.65)\",\"hoverColor\":\"rgba(19, 21, 22, 0.55)\",\"keyboard\":[[{\"id\":\"0\",\"text\":\"Привет, да конечно\"},{\"id\":\"1\",\"text\":\"Не хочу\"}]]}]`);");
  }

    case 1:
  {
    PR_SendInterface(playerid,  {0}, "window.executeEvent('event.npcDialog.initializeDialog', `[\
    {\"id\":\"1\",\"title\":\"Фермер\",\"text\":\"В общем, у меня на шахте есть знакомый Лари.<br>Сейчас ему не хватает рабочих рук.<br><br>Езжай к нему и добудь 10 руды,<br>затем возвращайся ко мне и получи награду.\",\
    \"backgroundColor\":\"rgba(19, 21, 22, 0.65)\",\"hoverColor\":\"rgba(19, 21, 22, 0.55)\",\"keyboard\":[[{\"id\":\"0\",\"text\":\"Окей, я поехал!\"},{\"id\":\"1\",\"text\":\"Не буду\"}]]}]`);");
  }
    case 2:
    {
      //
    }
  }

  return PR_ToggleBrowserFocus(playerid, 0, true);
}
Не работают клики
 
Май
4
5
Заблокированный
2.20. Запрещено публиковать ответы, сгенерированные при помощи ChatGPT или аналогичных ИИ-моделей.
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки. Мы не несем ответственности за действия пользователя вне форума.
Не работают клики



Ну давай-ка разбираться. Похоже, у тебя проблема с обработкой кликов на диалоговом окне NPC. Дай-ка я гляну, что тут можно сделать.

Pawn:
case 44:
{
  switch ClickNPC
  {
    case 0:
    {
      switch clicked_values[0]
      {
        case 0: HidePlayerHud(playerid), sendDialogForNPC(playerid, 1);
        case 1: OnPlayerHideInterfaceCef(playerid);
      }
    }
    case 1:
    {
      switch clicked_values[0]
      {
        case 0: HidePlayerHud(playerid), SCM(playerid, COLOR_VALIK, &quot;[Информация] {ffffff}.!&quot;);
        case 1: OnPlayerHideInterfaceCef(playerid);
      }
    }
  }
}

Тут я вижу, что ты обрабатываешь клики на диалоговом окне в зависимости от значения ClickNPC. Возможно, проблема в том, что ты не инициализируешь ClickNPC правильно. Давай посмотрим на функцию sendDialogForNPC():

Pawn:
stock sendDialogForNPC(playerid, type)
{
  ClickNPC = type;

  HidePlayerHud(playerid);
  PR_SendInterface(playerid, {0}, &quot;window.executeEvent(&#x27;event.setActiveView&#x27;, &#x27;[\&quot;NpcDialog\&quot;]&#x27;);&quot;);

  switch type
  {
    case 0:
    {
      PR_SendInterface(playerid, {0}, &quot;window.executeEvent(&#x27;event.npcDialog.initializeDialog&#x27;, `[\
      {\&quot;id\&quot;:\&quot;0\&quot;,\&quot;title\&quot;:\&quot;Фермер\&quot;,\&quot;text\&quot;:\&quot;Привет, рад тебя видеть. Уже освоился тут немного?&lt;br&gt;&lt;br&gt;У меня есть к тебе просьба, сможешь помочь?\&quot;,\
      \&quot;backgroundColor\&quot;:\&quot;rgba(19, 21, 22, 0.65)\&quot;,\&quot;hoverColor\&quot;:\&quot;rgba(19, 21, 22, 0.55)\&quot;,\&quot;keyboard\&quot;:[[{\&quot;id\&quot;:\&quot;0\&quot;,\&quot;text\&quot;:\&quot;Привет, да конечно\&quot;},{\&quot;id\&quot;:\&quot;1\&quot;,\&quot;text\&quot;:\&quot;Не хочу\&quot;}]]}]`);&quot;);
    }
    case 1:
    {
      PR_SendInterface(playerid, {0}, &quot;window.executeEvent(&#x27;event.npcDialog.initializeDialog&#x27;, `[\
      {\&quot;id\&quot;:\&quot;1\&quot;,\&quot;title\&quot;:\&quot;Фермер\&quot;,\&quot;text\&quot;:\&quot;В общем, у меня на шахте есть знакомый Лари.&lt;br&gt;Сейчас ему не хватает рабочих рук.&lt;br&gt;&lt;br&gt;Езжай к нему и добудь 10 руды,&lt;br&gt;затем возвращайся ко мне и получи награду.\&quot;,\
      \&quot;backgroundColor\&quot;:\&quot;rgba(19, 21, 22, 0.65)\&quot;,\&quot;hoverColor\&quot;:\&quot;rgba(19, 21, 22, 0.55)\&quot;,\&quot;keyboard\&quot;:[[{\&quot;id\&quot;:\&quot;0\&quot;,\&quot;text\&quot;:\&quot;Окей, я поехал!\&quot;},{\&quot;id\&quot;:\&quot;1\&quot;,\&quot;text\&quot;:\&quot;Не буду\&quot;}]]}]`);&quot;);
    }
    case 2:
    {
      // ...
    }
  }

  return PR_ToggleBrowserFocus(playerid, 0, true);
}

Здесь я вижу, что ты правильно инициализируешь ClickNPC, так что проблема, скорее всего, не в этом. Возможно, дело в том, как ты обрабатываешь clicked_values[0]. Попробуй добавить больше логики для обработки этого значения и посмотри, поможет ли это.
 
Сверху