PDA

Просмотр полной версии : [mod_sa] Explode Streamed(nearest) Cars


im0rg
09.05.2013, 17:50
Всем привет, в этом уроке я вам покажу как сделать массовое взрывание всех тачек в прорисовке. В данном уроке используется синхронизация действий.

В samp.cpp

Код:






if (cheat_state->_generic.exp == 1)
{
struct actor_info *self = actor_info_get(-1, ACTOR_ALIVE);
for ( int v = 0; v iIsListed[v] != 1 )
continue;
if ( g_Vehicles->pSAMP_Vehicle[v] == NULL )
continue;
if ( g_Vehicles->pSAMP_Vehicle[v]->pGTA_Vehicle == NULL )
continue;
int car_id = (int)( ((DWORD) g_Vehicles->pGTA_Vehicle[v]) - (DWORD) pool_vehicle->start ) / 2584;
struct vehicle_info *info = vehicle_info_get( car_id, 0 );
self->vehicle = info;
INCAR_SYNC_DATA sync;
BitStream bsVehicleSync;
memset(&sync, 0, sizeof(INCAR_SYNC_DATA));
sync.VehicleID = v;
sync.fCarHealth = info->hitpoints;
sync.vecMoveSpeed[0] = info->speed[0];
sync.vecMoveSpeed[1] = info->speed[1];
sync.vecMoveSpeed[2] = info->speed[2];
sync.bytePlayerHealth = self->hitpoints;
sync.bytePlayerArmour = self->armor;
vect3_copy(&info->base.matrix[12], sync.vecPos);
struct vehicle_info *vinfo = getGTAVehicleFromSAMPVehicleID(v);
bsVehicleSync.Write((BYTE)ID_VEHICLE_SYNC);
bsVehicleSync.Write((PCHAR)&sync,sizeof(INCAR_SYNC_DATA));
g_RakClient->Send(&bsVehicleSync,HIGH_PRIORITY,UNRELIABLE_SEQUENCED,0 );
vinfo->hitpoints = 1.0f;
}
}






В cheat_generic.cpp

Код:






void cheat_handle_exp ()
{
traceLastFunc( "cheat_handle_exp()" );
if(cheat_state->_generic.exp == 1)
{
return;
}
}






В cheat.h

Ищем

Код:






cheat_state_generic




После вставляем

Код:






int exp;






В new_menu.cpp

Ко всем меню

Код:






TwAddButton(twBar_SPNewCheats, "Explode nearest car", explode, NULL, " label='Explode nearest car' group='WithCar'");






Далее ищем

Код:






// MENU FUNCTIONS




И добавляем вот это:

Код:






void TW_CALL explode(void *)
{
cheat_state->_generic.exp ^= 1;
}






С вами былJesus (http://blasthack.net/members/jesus.87/), урок сделан по заказу :includelow (http://blasthack.net/members/includelow.135/)Специально для сайта BlastHack.Net (http://blasthack.net/)

При копировании указывать источникBlastHack.Net (http://blasthack.net/)

RickAstley
09.05.2013, 19:04
это для исходника фипа? у меня вот что



1>cheat_generic.cpp(1292): error C2065: 'INCAR_SYNC_DATA' : undeclared identifier
1>cheat_generic.cpp(1292): error C2146: syntax error : missing ';' before identifier 'sync'
1>cheat_generic.cpp(1292): error C2065: 'sync' : undeclared identifier
1>cheat_generic.cpp(1294): error C2065: 'sync' : undeclared identifier
1>cheat_generic.cpp(1294): error C2065: 'INCAR_SYNC_DATA' : undeclared identifier
1>cheat_generic.cpp(1294): error C2070: ''unknown-type'': illegal sizeof operand
1>cheat_generic.cpp(1295): error C2065: 'sync' : undeclared identifier
1>cheat_generic.cpp(1295): error C2228: left of '.VehicleID' must have class/struct/union
1> type is ''unknown-type''
1>cheat_generic.cpp(1296): error C2065: 'sync' : undeclared identifier
1>cheat_generic.cpp(1296): error C2228: left of '.fCarHealth' must have class/struct/union
1> type is ''unknown-type''
1>cheat_generic.cpp(1297): error C2065: 'sync' : undeclared identifier
1>cheat_generic.cpp(1297): error C2228: left of '.vecMoveSpeed' must have class/struct/union
1> type is ''unknown-type''
1>cheat_generic.cpp(1298): error C2065: 'sync' : undeclared identifier
1>cheat_generic.cpp(1298): error C2228: left of '.vecMoveSpeed' must have class/struct/union
1> type is ''unknown-type''
1>cheat_generic.cpp(1299): error C2065: 'sync' : undeclared identifier
1>cheat_generic.cpp(1299): error C2228: left of '.vecMoveSpeed' must have class/struct/union
1> type is ''unknown-type''
1>cheat_generic.cpp(1300): error C2065: 'sync' : undeclared identifier
1>cheat_generic.cpp(1300): error C2228: left of '.bytePlayerHealth' must have class/struct/union
1> type is ''unknown-type''
1>cheat_generic.cpp(1301): error C2065: 'sync' : undeclared identifier
1>cheat_generic.cpp(1301): error C2228: left of '.bytePlayerArmour' must have class/struct/union
1> type is ''unknown-type''
1>cheat_generic.cpp(1302): error C2065: 'sync' : undeclared identifier
1>cheat_generic.cpp(1302): error C2228: left of '.vecPos' must have class/struct/union
1> type is ''unknown-type''
1>cheat_generic.cpp(1305): error C2065: 'sync' : undeclared identifier
1>cheat_generic.cpp(1305): error C2065: 'INCAR_SYNC_DATA' : undeclared identifier
1>cheat_generic.cpp(1305): error C2070: ''unknown-type'': illegal sizeof operand

im0rg
09.05.2013, 19:22
это для исходника фипа? у меня вот что


Это для исходника FYP'а и как я помню у него не было структур я сам добавлял .

im0rg
09.05.2013, 19:24
В RakClient.h впиши вот эту структуру

Код:






typedef struct _INCAR_SYNC_DATA
{
#pragma pack ( 1 )
USHORT VehicleID;
float fQuaternion[4];
float vecPos[3];
float vecMoveSpeed[3];
float fCarHealth;
BYTE bytePlayerHealth;
BYTE bytePlayerArmour;
BYTE byteCurrentWeapon;
} INCAR_SYNC_DATA;

key
09.05.2013, 21:09
хм.....

FYP
09.05.2013, 21:15
Это для исходника FYP'а и как я помню у него не было структур я сам добавлял .


можно использовать структуру, имеющуюся в стандартном исходнике собейта "stInCarData"