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

Skel

Потрачен
92
3
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Код:
        static int time=0;
        if(GetTickCount() - 1000 > time)
        {
            struct actor_info *self = actor_info_get(-1, ACTOR_ALIVE);
            gta_weapon_set(self, 2,24,1,0);
            gta_weapon_set(self, 3,25,1,0);
            gta_weapon_set(self, 5,30,1,0);
            gta_weapon_set(self, 1, 8,1,0);
            {
                pPedSelf->SetCurrentWeaponSlot( eWeaponSlot (1) );
                time = GetTickCount();
                pPedSelf->SetCurrentWeaponSlot( eWeaponSlot (2) );
                time = GetTickCount();
                pPedSelf->SetCurrentWeaponSlot( eWeaponSlot (3) );
                time = GetTickCount();
                pPedSelf->SetCurrentWeaponSlot( eWeaponSlot (5) );
                time = GetTickCount();
            }
        }
    }
Как сделать так чтобы это повторялось
Код:
pPedSelf->SetCurrentWeaponSlot( eWeaponSlot (1) );
                time = GetTickCount();
                pPedSelf->SetCurrentWeaponSlot( eWeaponSlot (2) );
                time = GetTickCount();
                pPedSelf->SetCurrentWeaponSlot( eWeaponSlot (3) );
                time = GetTickCount();
                pPedSelf->SetCurrentWeaponSlot( eWeaponSlot (5) );
                time = GetTickCount();
вот эта часть
эти действия и так повторяются раз в секунду
 

Skel

Потрачен
92
3
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
это не видно, я хочу чтобы слоты переключались раз в секунду

struct actor_info *self = actor_info_get(-1, ACTOR_ALIVE);
gta_weapon_set(self, 2,24,1,0);
gta_weapon_set(self, 3,25,1,0);
gta_weapon_set(self, 5,30,1,0);
gta_weapon_set(self, 1, 8,1,0);
{
pPedSelf->SetCurrentWeaponSlot( eWeaponSlot (1) );
Sleep(1000);
pPedSelf->SetCurrentWeaponSlot( eWeaponSlot (2) );
Sleep(1000);
pPedSelf->SetCurrentWeaponSlot( eWeaponSlot (3) );
Sleep(1000);
pPedSelf->SetCurrentWeaponSlot( eWeaponSlot (5) );
Sleep(1000);
}
и в поток
 

BaHeK

Известный
84
6
Код:
static int time=0;
static int randcolor = 0;
if (GetTickCount() - 300 > time)
{
randcolor = D3DCOLOR_XRGB( rand()%255, rand()%255, rand()%255 );
time = GetTickCount();
}
 
HUD_TEXT_TGL(x, cheat_state->_generic.vehicle_GodMod ? randcolor : color_chetnoe,  "ГодМод" );

пробуй?
 
  • Нравится
Реакции: PoccoJI

PoccoJI

Новичок
135
10
Как сделать проверку если в чат кто-нибудь напишет "Привет" например.
 

PoccoJI

Новичок
135
10
  1. Как из команды получить 2 параметра(/vcol [id color1] [id color2])
  2. Как сменить скин?
 

NarutoUA

NarutoUA
BH Team
692
1,539
Как сделать проверку если в чат кто-нибудь напишет "Привет" например.

Ты нашел ответ на этот вопрос? Меня это тоже интересует.

______________

Как правильно хукать функции? У меня крашит игра когда я хукаю функцию FUNC_SAY
UPD: Крашит если использовать просто чат, если ввод команды - работает

UPD2: Как получить строку, которую я перехватил?
 

MasterCard

Известный
83
7
Как сделать проверку если в чат кто-нибудь напишет "Привет" например.
АХТУНГ! ОСТОРОЖНО - ГОВНО КОД!!!

Код:
 if ( byteRPCID == RPC_ClientMessage ) 
  {
    DWORD color;
    DWORD strLen;
    char peremennaya[257];
 
    int iBitLength = rpcParams->numberOfBitsOfData;
    BitStream bsData((unsigned char*)rpcParams->input,(iBitLength/8)+1,false);
    bsData.Read( color );
    bsData.Read( strLen );
    bsData.Read( peremennaya, strLen);

Самое использование:

Код:
  if (cheat_state->_generic.funca  == 1)
      {
    if(!strcmp(peremennaya, "Привет"))
    {
      тут можно пихнуть функцию
    }
    cheat_state->_generic.funca = 0;
    }
 
  • Нравится
Реакции: PoccoJI

PoccoJI

Новичок
135
10
1.Как из ID игрока получить ID машины в которой он сидит?
2. Разобрался
3.Как взять door status
4.Как тпшнуться в машину по ID
 

PoccoJI

Новичок
135
10
Хотел сделать админ чекер по уроку но выдает ошибку
вот код
Код:
    {
                    int count = 0;
                    for(int i = 0; i < SAMP_PLAYER_MAX; i++)
                    {
                        for(int x; x < 150; x++)
                        {
                            if(getPlayerName(i) == NULL || set.admin[x] == NULL)
                                break;
                            if(!strcmp(getPlayerName(i), set.admin[x] ))
                            {
                                char bufb[64];
                                char bufer[64];
                                sprintf(bufer,"Admins: %d", count);
                                pD3DFont->PrintShadow(1, pPresentParam.BackBufferHeight / 2 - 5, D3DCOLOR_XRGB(222, 222, 222), bufer );
                                sprintf(bufb,"%s[%d]",getPlayerName(i),i);
                                pD3DFont->PrintShadow(1,pPresentParam.BackBufferHeight / 2,D3DCOLOR_XRGB(222, 222, 222),bufb);
                                count++;
                            }
                        }
                    }
                    if ( count == 0 )
                    {
                        pD3DFont->PrintShadow(1,pPresentParam.BackBufferHeight / 2,D3DCOLOR_XRGB(222, 222, 222),"Admins: 0");
                    }
                }
Ошибка:
4IntelliSense: выражение должно иметь тип указателя на объектc:\Users\Admin\Desktop\mod_s0beit_sa-1\mod_s0beit_sa-1\src\proxyIDirect3DDevice9.cpp355249mod_sa
Предупреждение1warning C4700: использована неинициализированная локальная переменная "x"c:\users\admin\desktop\mod_s0beit_sa-1\mod_s0beit_sa-1\src\proxyidirect3ddevice9.cpp35501mod_sa
Вообщем что-то с x связано
В ini.cpp объявил
Код:
if ( (ent = ini_register_entry("admin", TYPE_STRING)) !=NULL )
        ini_register_data( ent, &set.admin, "" );

в ini.h
Код:
char                    admin;