Другое С/С++ Вопрос - Ответ

F0RQU1N and

Известный
1,292
502
  • Нравится
Реакции: 0x73616D

sc6ut

неизвестный
Модератор
385
1,111
Здравствуйте, товарищи. Подскажите пожалуйста, пытаюсь использовать sol2 вместе с curl, но в moonloader.log получаю в ебало ошибку - "Не найден указанный модуль.". Без использования curl все работает как надо :)
секунду кофе заварю и по картам таро подебажу(c)@kin4stat
 
Последнее редактирование:

Chilim

Потрачен
71
6
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
как отправить пакет что ты сидишь в машине?
 

0x73616D

Активный
140
43
Почему номер 1 работает, а номер 2 нет?

1:
C++:
int timer = GetTickCount();
int tiempo = std::stoi(param) * 1000;
while(true)
{
     if (GetTickCount() - timer > tiempo)
        {
            break;
        }
}

2:
C++:
int timer = GetTickCount();
int tiempo = std::stoi(param) * 1000;
if (GetTickCount() - timer > tiempo)
   {
     timer = GetTickCount();
   }
 

legendabrn

Известный
Проверенный
121
173
Почему номер 1 работает, а номер 2 нет?

1:
C++:
int timer = GetTickCount();
int tiempo = std::stoi(param) * 1000;
while(true)
{
     if (GetTickCount() - timer > tiempo)
        {
            break;
        }
}

2:
C++:
int timer = GetTickCount();
int tiempo = std::stoi(param) * 1000;
if (GetTickCount() - timer > tiempo)
   {
     timer = GetTickCount();
   }
C++:
static ULONGLONG  timer = GetTickCount64();
int tiempo = std::stoi(param) * 1000;

if (GetTickCount64() - timer > tiempo){
     timer = GetTickCount();
}
 
Последнее редактирование:

Chilim

Потрачен
71
6
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
парни,хочу сделать рванку с ног но не понимаю что тут не так?
1649240436234.png
 

Yayachana)

Известный
33
10
парни,хочу сделать рванку с ног но не понимаю что тут не так?Посмотреть вложение 142404
Для кого это делали? https://www.blast.hk/threads/23413/

Делай по примеру
@@@@:
bool CALLBACK outcomingData( stRakNetHookParams *params ) // определение callback-функции, которая будет вызвана при отправке какого либо пакета
{
   if( params->packetId == PacketEnumeration::ID_PLAYER_SYNC ) // если отправляемый пакет — это ID_PLAYER_SYNC
   {
       stOnFootData data; // определяем объект, в который сохраним отправляемые данные
       memset( &data, 0, sizeof( stOnFootData ) ); // обнуляем его
       byte packet;

       params->bitStream->ResetReadPointer(); // на всякий случай устанавливаем оффсет чтения на начало
       params->bitStream->Read( packet ); // читаем ID пакета
       params->bitStream->Read( (PCHAR)&data, sizeof( stOnFootData ) ); // читаем отправляемые данные
       params->bitStream->ResetReadPointer(); // снова обнуляем оффсет чтения

       SF->getSAMP()->getChat()->AddChatMessage( D3DCOLOR_XRGB( 255, 255, 0 ), "Наша скорость: %.2f %.2f %.2f",
           data.fMoveSpeed[0], data.fMoveSpeed[1], data.fMoveSpeed[2] ); // пишем в чат скорость нашего передвижения, записанную в пакет

               data.fMoveSpeed[0] = rand()%10;
       data.fMoveSpeed[1] = rand()%10;
       data.fMoveSpeed[2] = rand()%10; // перезаписали скорость на случайную; получается эффект, похожий на Pizdarvanka.

       params->bitStream->ResetWritePointer(); // обнуляем оффсет записи
       params->bitStream->Write( packet ); // пишем ид пакета
       params->bitStream->Write( (PCHAR)&data, sizeof( stOnFootData ) ); // пишем обновлённые данные 
   };

   return true; // успешно завершаем отправку пакета
};

SF->getRakNet()->registerRakNetCallback( RakNetScriptHookType::RAKHOOK_TYPE_OUTCOMING_PACKET, outcomingData ); // регистрируем callback
 

Chilim

Потрачен
71
6
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Всем привет,подскажите как сделать проверку типо если машина занята то break(это для рванки,а то он берёт ближайщие машина даже если в них есть игроки)
 

ELDO

Новичок
3
0
Доброго утра, подскажите пожалуйста, как зарегистрировать команду, если параметры функции не являются string.

void CALLBACK func (int param) // допустим Int.
{
код;
}

SF->getSAMP()->registerChatCommand("cmd", func);

Если string, все успешно регистрируется, если меняю, пишет, что несовместимо.
 

Dark_Knight

Me, me and me.
Друг
4,080
2,112
@ELDO Никак. Надо строку переводить в число через std::stoi, но еще надо проверять является ли строка числом.
 
  • Нравится
Реакции: ELDO

sc6ut

неизвестный
Модератор
385
1,111
Ок, как я понял,
C++:
void CALLBACK setcarhp(std::string param)

{

float vehiclehp = std::stof(param)
    // etc..
}

А как проверить является ли строчка числом?
обернуть в try-catch можешь:
C++:
void CALLBACK cmd(std::string param) {
    auto veh_hp = 0.f;
    try {
        veh_hp = std::stof(param);
    } catch (...) {
        // сообщения об неверных параметрах или whatever
        return;
    }
    // тут можешь работать с флоатом
}
 
  • Нравится
Реакции: ELDO

ELDO

Новичок
3
0
Все, problem solved
Работает, спасибо что помогли разобраться)




Для вызова функций "GTAfunc_.." необходим header-файл "GTAfuncs.h" , если сую его из Mod_Sa API в SF API, не воспринимает и появляется ошибка "undefined".

Есть ли какие-нибудь альтернативы функциям, например "GTAfunc_PutActorInCar" или совместимый с SF API "GTAfunc.h"?
 
Последнее редактирование: