HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #1921  
Старый 24.10.2017, 20:39
Revalto
Постоянный
Регистрация: 13.02.2016
Сообщений: 532
С нами: 5392682

Репутация: 93


По умолчанию

Цитата:
Сообщение от BlackKnigga  

Для сравнения используется два знака равно ( == ), все было правильно.
Выше ответ почему не работало
А если еще сделать проверку по ID диалог, и там же сделать проверку ли он открыт, с =, то тупо будет открываться диалог... Как будто DialogHider залагал..
 
Ответить с цитированием

  #1922  
Старый 24.10.2017, 20:44
BlackKnigga
Постоянный
Регистрация: 10.01.2016
Сообщений: 922
С нами: 5441999

Репутация: 133


По умолчанию

Цитата:
Сообщение от Bazzl  

А если еще сделать проверку по ID диалог, и там же сделать проверку ли он открыт, с =, то тупо будет открываться диалог... Как будто DialogHider залагал..
Потому что пишешь единицу вместо сравнивания и диалог показывается.
 
Ответить с цитированием

  #1923  
Старый 24.10.2017, 20:50
Revalto
Постоянный
Регистрация: 13.02.2016
Сообщений: 532
С нами: 5392682

Репутация: 93


По умолчанию

Цитата:
Сообщение от BlackKnigga  

Потому что пишешь единицу вместо сравнивания и диалог показывается.
Если ставить "==" пишит:

Код:





Код:
1>main.cpp(26): warning C4805: ==: небезопасное смешение типа "int" и типа "bool" в операции


Цитата:
Сообщение от Спойлер  




Делал проверку на этом TD...

Код:





Код:
bool CALLBACK ShowShowDialog(stRakNetHookParams *params) // определение callback-функции, которая будет вызвана, если от сервера был получен новый RPC.
{
    if (params->packetId == ScriptRPCEnumeration::RPC_ScrShowDialog)
    {
        WORD dialogId;
        params->bitStream->ResetReadPointer();
        params->bitStream->Read(dialogId);
        params->bitStream->ResetReadPointer();
        if (dialogId == 8868)
        {
            if (SF->getSAMP()->getDialog()->iIsActive == true)
            {
                SF->getSAMP()->getChat()->AddChatMessage(-1, "{FF0011}[DIALOG]: {FFFFFF}Диалог найден!");
                SF->getSAMP()->getDialog()->SetInputText("Test");
            }
        }
    }
    return true;
};

void CALLBACK mainloop()
{
    static bool init = false;
    if (!init)
    {
        if (GAME == nullptr)
            return;
        if (GAME->GetSystemState() != eSystemState::GS_PLAYING_GAME)
            return;
        if (!SF->getSAMP()->IsInitialized())
            return;
        SF->getSAMP()->getChat()->AddChatMessage(D3DCOLOR_XRGB(0, 0xAA, 0), "{FFFF00}[test]: {FFFFFF}1");
        SF->getRakNet()->registerRakNetCallback(RakNetScriptHookType::RAKHOOK_TYPE_INCOMING_RPC, ShowShowDialog);
        init = true;
    }
}
 
Ответить с цитированием

  #1924  
Старый 24.10.2017, 20:53
Revalto
Постоянный
Регистрация: 13.02.2016
Сообщений: 532
С нами: 5392682

Репутация: 93


По умолчанию

Цитата:
Сообщение от kewa opcode  

Ты внутри хука эту проверку поставить не сможешь, код внутри хука выполняется до появления диалога
Сейчас проверю
 
Ответить с цитированием

  #1925  
Старый 24.10.2017, 21:02
Revalto
Постоянный
Регистрация: 13.02.2016
Сообщений: 532
С нами: 5392682

Репутация: 93


По умолчанию

Цитата:
Сообщение от kewa opcode  

Ты внутри хука эту проверку поставить не сможешь, код внутри хука выполняется до появления диалога
С "==" не работает, а вот с "=" работает)
 
Ответить с цитированием

  #1926  
Старый 24.10.2017, 21:04
BlackKnigga
Постоянный
Регистрация: 10.01.2016
Сообщений: 922
С нами: 5441999

Репутация: 133


По умолчанию

Цитата:
Сообщение от Bazzl  

С "==" не работает, а вот с "=" работает)
:facepalm:

Это только ты думаешь что работает как надо, можешь вообще тогда условие убрать и ничего не изменится. Совсем
 
Ответить с цитированием

  #1927  
Старый 24.10.2017, 21:05
memir
Постоянный
Регистрация: 21.08.2015
Сообщений: 343
С нами: 5646349

Репутация: 163
По умолчанию

Цитата:
Сообщение от Bazzl  

С "==" не работает, а вот с "=" работает)
ты вместо сравнения присваиваешь переменной значение
 
Ответить с цитированием

  #1928  
Старый 24.10.2017, 21:05
kawa operand
Постоянный
Регистрация: 15.04.2017
Сообщений: 602
С нами: 4778331

Репутация: 63


По умолчанию

Цитата:
Сообщение от Bazzl  

С "==" не работает, а вот с "=" работает)
"==" оператор сравнения, "=" присвоения. А работает потому, что оператор "=" вернул true

Советую тебе сначала изучить структуру stDialogInfo, да и синтаксис с++ в целом.
 
Ответить с цитированием

  #1929  
Старый 24.10.2017, 21:07
Revalto
Постоянный
Регистрация: 13.02.2016
Сообщений: 532
С нами: 5392682

Репутация: 93


По умолчанию

Цитата:
Сообщение от BlackKnigga  

:facepalm:
Это только ты думаешь что работает как надо, можешь вообще тогда условие убрать и ничего не изменится. Совсем
Я не правильно написал, работает не коректно! Тоесть вообще капец творится

Так что мне делать, как мне проверить тогда открытыт ли диалог? С == 1 и == true не работает
 
Ответить с цитированием

  #1930  
Старый 24.10.2017, 21:10
kawa operand
Постоянный
Регистрация: 15.04.2017
Сообщений: 602
С нами: 4778331

Репутация: 63


По умолчанию

Цитата:
Сообщение от Bazzl  

Я не правильно написал, работает не коректно! Тоесть вообще капец творится
Так что мне делать, как мне проверить тогда открытыт ли диалог? С == 1 и == true не работает
Цитата:
Сообщение от kewa opcode  

Ты внутри хука эту проверку поставить не сможешь, код внутри хука выполняется до появления диалога
 
Ответить с цитированием
Ответ





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


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.