Курсор прыгает на центр экрана при нажатии Arizona rp

Lpmex

Новичок
Автор темы
8
0
Версия SA-MP
  1. Любая
Всем привет!
Никогда до этого не играл на лаунчере аризоны, решил вот попробовать и такая проблемка получается: после нажатия мышкой по чему либо в табе или в инвентаре, курсор прыгает в центр экрана и нажать ни по чему не получается. Ничего не устанавливал, не качал, скачал лаунчер и сразу зашел, пробовал базовые вещи по типу удаления гта са сет, аризона сет, "починить игру" в настройках лаунчера - не помогает. До этого на обычных сборках никогда не было такой проблемы. Помогите, может у кого то было подобное и у вас получилось найти решение! Вот видео проблемы -

Up
 
Последнее редактирование:
Решение
Ладно, я почитал тему. ТС, а как тебе с этим живется? Тут всегда ЛКМ хендлится

Обработка кликов в текстдравах SAMP:
signed int __thiscall stTextDrawControl::WndProc(stTextDrawControl *this, UINT uMsg, LPARAM lParam, WPARAM wParam)
{
  if ( !this->iEnabled || uMsg != WM_LBUTTONUP )
    return 0;
  if ( this->id != -1 )
    stTextDrawControl::Click(this);
  return 1;
}

Алсо: даблклик по игрокам в табе (и с диалогами так же)

C++:
void __stdcall Scoreboard::CallbackEvent(int nEvent, int nControlID, CDXUTControl *pControl, void *pUserContext)
{
  if ( g_scoreboardDialog && nEvent == 0x701 )
  {
    if ( g_scoreboard )
      Scoreboard::ClickPlayer(g_scoreboard);
  }
}

CDXUTListBox::HandleMouse:
      if ( uMsg == WM_LBUTTONDBLCLK )
      {
        CDXUTDialog::SendEvent(this->m_pDialog...

Гомакс

Участник
28
3
Прочитайте что я написал сообщением выше

Крч итог
Левую нопку мыши используют как основную 80%+- пользователей ПК
Аризона тоже свои системы все сделала под левую
Но зачем сломала пкм и как это вообще связано - не понятно
Зачем ваще это трогать...
Это сделано для того, чтобы вращать камерой когда у тебя открыт таб/диалоговое окно/инвентарь, я этим часто пользуюсь
 

Lpmex

Новичок
Автор темы
8
0
Это сделано для того, чтобы вращать камерой когда у тебя открыт таб/диалоговое окно/инвентарь, я этим часто пользуюсь
Интересно бы узнать какой плагин в лаунчере отвечает за это, да и удалить спокойно , а так я думаю что мы на верном пути, спасибо за подсказку.
 

Winstаl

Известный
755
270
Интересно бы узнать какой плагин в лаунчере отвечает за это, да и удалить спокойно , а так я думаю что мы на верном пути, спасибо за подсказку.
К сожалению это ты никак не удалишь, совсем никак. Остается только просить @SR_team обратить внимание на эту проблему.
 

SR_team

like pancake
BH Team
4,805
6,477
К сожалению это ты никак не удалишь, совсем никак. Остается только просить @SR_team обратить внимание на эту проблему.
Это не проблема - левой кнопкой мыши надо жать, а не правой. На правую скрытие курсора, пока ее держишь
 

SR_team

like pancake
BH Team
4,805
6,477
Ладно, я почитал тему. ТС, а как тебе с этим живется? Тут всегда ЛКМ хендлится

Обработка кликов в текстдравах SAMP:
signed int __thiscall stTextDrawControl::WndProc(stTextDrawControl *this, UINT uMsg, LPARAM lParam, WPARAM wParam)
{
  if ( !this->iEnabled || uMsg != WM_LBUTTONUP )
    return 0;
  if ( this->id != -1 )
    stTextDrawControl::Click(this);
  return 1;
}

Алсо: даблклик по игрокам в табе (и с диалогами так же)

C++:
void __stdcall Scoreboard::CallbackEvent(int nEvent, int nControlID, CDXUTControl *pControl, void *pUserContext)
{
  if ( g_scoreboardDialog && nEvent == 0x701 )
  {
    if ( g_scoreboard )
      Scoreboard::ClickPlayer(g_scoreboard);
  }
}

CDXUTListBox::HandleMouse:
      if ( uMsg == WM_LBUTTONDBLCLK )
      {
        CDXUTDialog::SendEvent(this->m_pDialog, 0x701, 1, this);
        return 1;
      }
Так что я хз, как ты в дефолтном сампе жил с такой настройкой - там все эвенты патчить надо

И еще с меткой на карте такая же хрень:

hookIDirect3DDevice9::Present:
  if ( CMenuManager::IsMenuActive() )
  {
    if ( CMenuManager::IsMenuActive()
      && pNetGame
      && MEMORY[0xBA6774]
      && (GetAsyncKeyState(VK_RBUTTON) & 1) != 0
      && !MEMORY[0xBA8298] )                    // Если открыта карта
    {
      v14 = 0xBA873D;                           // Поиск маркера
      v15 = 175;
      do
      {
        if ( *(_WORD *)v14 == 4611 )
        {
          v31 = *(float *)(v14 - 29);
          v29 = *(float *)(v14 - 25);
        }
        v14 += 40;
        --v15;
      }
      while ( v15 );
      BitStream::ctor(&v36);
      v38 = 0;
      *(float *)data = v31;
      BitStream::writeBits(&v36, data, 32, 1);
      *(float *)data = v29;
      BitStream::writeBits(&v36, data, 32, 1);
      *(float *)data = CWorld::FindGroundZForCoord(v31, v29) + 2.0;
      BitStream::writeBits(&v36, data, 32, 1);
      pNetGame->rakClient->vtbl->RPC2(
        (RakPeer *)pNetGame->rakClient,         // Отправка RPC с инфой о маркере
        (int *)RPC_119,
        &v36,
        HIGH_PRIORITY,
        RELIABLE,
        0,
        0);
      v38 = -1;
      BitStream::dtor(&v36);
    }
  }

@Lpmex
 
Последнее редактирование:
  • Нравится
Реакции: Lpmex