Le plugin a l'air d'être mort, j'vais essayer de poster de temps en temps quelques fonctions utile ( ou pas )
stock GetPlayerVehicleSurfingOffset( playerid, &Float:X, &Float:Y, &Float:Z )
{
X = Y = Z = 0.0;
if( IsPlayerConnected( playerid ) )
{
if( GetPlayerSurfingVehicleID( playerid ) != 0xFFFF )
{
new __NetGame = ReadIntMemory( CNETGAME_WIN32 );
new __PlayerPool = ReadIntMemory( __NetGame + 0x04 );
new CPlayer = ReadIntMemory( __PlayerPool + 0x7D0 + playerid * 4);
X = Float:ReadIntMemory( CPlayer + 0x74 + 0x00 );
Y = Float:ReadIntMemory( CPlayer + 0x74 + 0x04 );
Z = Float:ReadIntMemory( CPlayer + 0x74 + 0x08 );
}
}
}
Si quelqu'un pouvais essayer ce serai top, comme je ne suis pas chez moi en ce moment, et que pour "surfer" sur un véhicule il faut un conducteur et un "surfeur" ^^
Et si j'ai fais un truc pas bien ( up le topic ) qu'un membre du staff vient me gueuler dessus ^^
EDIT:
stock HasPlayerCheckpoint( playerid )
{
if( IsPlayerConnected( playerid ) )
{
new __NetGame = ReadIntMemory( CNETGAME_WIN32 );
new __PlayerPool = ReadIntMemory( __NetGame + 0x04 );
new __Player = ReadIntMemory( __PlayerPool + 0x7D0 + playerid * 0x04);
if( ReadintMemory( __Player + 0x1A8C ) > 0 ) return 1;
}
return 0;
}
stock HasPlayerRaceCheckpoint( playerid )
{
if( IsPlayerConnected( playerid ) )
{
new __NetGame = ReadIntMemory( CNETGAME_WIN32 );
new __PlayerPool = ReadIntMemory( __NetGame + 0x04 );
new __Player = ReadIntMemory( __PlayerPool + 0x7D0 + playerid * 0x04);
if( ReadIntMemory( __Player + 0x1A90 ) > 0 ) return 1;
}
return 0;
}
stock GetPlayerCheckpointPosition( playerid, &Float:X, &Float:Y, &Float:Z )
{
X = Y = Z = 0.0;
if( IsPlayerConnected( playerid ) && HasPlayerCheckpoint( playerid ) )
{
new __NetGame = ReadIntMemory( CNETGAME_WIN32 );
new __PlayerPool = ReadIntMemory( __NetGame + 0x04 );
new __Player = ReadIntMemory( __PlayerPool + 0x7D0 + playerid * 0x04);
X = Float:ReadIntMemory( __Player + 0x0282 + 0x00 );
Y = Float:ReadIntMemory( __Player + 0x0282 + 0x04 );
Z = Float:ReadIntMemory( __Player + 0x0282 + 0x08 );
}
}
stock GetPlayerRaceCheckpointPosition( playerid, &Float:X, &Float:Y, &Float:Z )
{
X = Y = Z = 0.0;
if( IsPlayerConnected( playerid ) && HasPlayerRaceCheckpoint( playerid ) )
{
new __NetGame = ReadIntMemory( CNETGAME_WIN32 );
new __PlayerPool = ReadIntMemory( __NetGame + 0x04 );
new __Player = ReadIntMemory( __PlayerPool + 0x7D0 + playerid * 0x04);
X = Float:ReadIntMemory( __Player + 0x0296 + 0x00 );
Y = Float:ReadIntMemory( __Player + 0x0296 + 0x04 );
Z = Float:ReadIntMemory( __Player + 0x0296 + 0x08 );
}
}
stock GetPlayerNextRaceCheckpointPosition( playerid, &Float:X, &Float:Y, &Float:Z )
{
X = Y = Z = 0.0;
if( IsPlayerConnected( playerid ) && HasPlayerRaceCheckpoint( playerid ) )
{
new __NetGame = ReadIntMemory( CNETGAME_WIN32 );
new __PlayerPool = ReadIntMemory( __NetGame + 0x04 );
new __Player = ReadIntMemory( __PlayerPool + 0x7D0 + playerid * 0x04);
X = Float:ReadIntMemory( __Player + 0x02A2 + 0x00 );
Y = Float:ReadIntMemory( __Player + 0x02A2 + 0x04 );
Z = Float:ReadIntMemory( __Player + 0x02A2 + 0x08 );
}
}
Un petit bonus :p