public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
if( IsPlayerInAnyVehicle( playerid ) ) {
if( BlockCMD[ playerid ] == 1 )
return 0;
new vehicleid = GetVehicleModel( GetPlayerVehicleID( playerid ) );
if( vehicleid == 578 && VeiculoU[ playerid ] == true ) {
if( newkeys & KEY_FIRE ) {
new
Float:poSS[ 3 ]
;
GetPlayerPos(playerid, poSS[ 0 ], poSS[ 1 ], poSS[ 2 ]);
CreateExplosion( poSS[ 0 ], poSS[ 1 ]+40, poSS[ 2 ], 0, 15 );
Msg( playerid, -1, "{FFFF00}[INFO]: {FFFFFF}Vocк atirou um {BEBEBE}Missel {00FF00}40 {FFFFFF}metros a sua frente !" );
}
}
}
return 1;
}
stock GetXYInFrontOfVehicle(vehicleid, &Float:x, &Float:y, Float:distance)
{
new Float:a;
GetVehiclePos(vehicleid, x, y, a);
GetVehicleZAngle(vehicleid, a);
x += (distance * floatsin(-a, degrees));
y += (distance * floatcos(-a, degrees));
}
usa esta funcao
pawn Код:
|
GetXYInFrontOfVehicle(vehicleid, poSS[ 0 ], poSS[ 1 ], 40);
CreateExplosion( poSS[ 0 ], poSS[ 1 ]+40, 0, 15 );
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
if( IsPlayerInAnyVehicle( playerid ) ) {
if( BlockCMD[ playerid ] == 1 )
return 0;
new vehicleid = GetVehicleModel( GetPlayerVehicleID( playerid ) );
if( vehicleid == 578 && VeiculoU[ playerid ] == true ) {
if( newkeys & KEY_FIRE ) {
new
Float:poSS[ 2 ], Float:x, Float:y, Float:altura;
GetPlayerPos(playerid, x, y, altura);
GetXYInFrontOfVehicle(vehicleid, poSS[ 0 ], poSS[ 1 ], 40)
CreateExplosion( poSS[ 0 ], poSS[ 1 ], altura, 0, 15 );
Msg( playerid, -1, "{FFFF00}[INFO]: {FFFFFF}Vocк atirou um {BEBEBE}Missel {00FF00}40 {FFFFFF}metros a sua frente !" );
}
}
}
return 1;
}
if( IsPlayerInAnyVehicle( playerid ) ) {
if( BlockCMD[ playerid ] == 1 )
return 0;
new vehicleid = GetVehicleModel( GetPlayerVehicleID( playerid ) );
if( vehicleid == 578 && VeiculoU[ playerid ] == true ) {
if( newkeys & KEY_FIRE ) {
new
Float:poSS[ 2 ], Float:x, Float:y, Float:altura
;
GetVehiclePos(vehicleid, x, y, altura);
GetXYInFrontOfVehicle(vehicleid, poSS[ 0 ], poSS[ 1 ], 40);
CreateExplosion( poSS[ 0 ], poSS[ 1 ], altura, 0, 15 );
Msg( playerid, -1, "{FFFF00}[INFO]: {FFFFFF}Vocк atirou um {BEBEBE}Missel {00FF00}40 {FFFFFF}metros a sua frente !" );
}
}
}
GetVehiclePos(vehicleid, x, y, altura);
GetXYInFrontOfVehicle(vehicleid, x, y, 40);
CreateExplosion( x, y, altura, 0, 15 );
Tente:
pawn Код:
|
//
new RecarregarB[MAX_PLAYERS];
//
if( IsPlayerInAnyVehicle( playerid ) ) {
if( BlockCMD[ playerid ] == 1 )
return 0;
new vehicleid = GetVehicleModel( GetPlayerVehicleID( playerid ) );
if( vehicleid == 578 && VeiculoU[ playerid ] == true ) {
if( newkeys & KEY_FIRE ) {
if(RecarregarB[playerid] > GetTickCount())
return 0;
RecarregarB[playerid] = GetTickCount() + 40000;
new
Float:x, Float:y, Float:altura
;
GetVehiclePos(vehicleid, x, y, altura);
GetXYInFrontOfVehicle(vehicleid, x, y, 40);
CreateExplosion( x, y, altura, 0, 50 );
Msg( playerid, -1, "{FFFF00}[INFO]: {FFFFFF}Vocк atirou um {BEBEBE}Missel {00FF00}40 {FFFFFF}metros a sua frente !" );
Msg( playerid, -1, "{FFFF00}[INFO]: {FFFFFF}Agora as balas estгo sendo recarregadas, espere {00FF00}40 {FFFFFF}segundos !" );
}
}
}
Tem certeza que nгo cria a explosгo?
Pode ser problema do eixo Z. |
if( IsPlayerInAnyVehicle( playerid ) ) {
if( BlockCMD[ playerid ] == 1 )
return 0;
new vehicleid = GetVehicleModel( GetPlayerVehicleID( playerid ) );
if( vehicleid == 578 && VeiculoU[ playerid ] == true ) {
if( newkeys & KEY_FIRE ) {
if(RecarregarB[playerid] > GetTickCount())
return 0;
RecarregarB[playerid] = GetTickCount() + 60000;
new
Float:poSS[ 3 ]
;
GetPlayerPos( playerid, poSS[ 0 ], poSS[ 1 ], poSS[ 2 ] );
GetXYInFrontOfVehicle(vehicleid, poSS[ 0 ], poSS[ 1 ], 40);
CreateExplosion( poSS[ 0 ], poSS[ 1 ], poSS[ 2 ], 0, 80.0 );
Msg( playerid, -1, "{EE6AA7}[INFO]: {FFFFFF}Vocк atirou um {BEBEBE}Missel {00FF00}40 {FFFFFF}metros a sua frente !" );
Msg( playerid, -1, "{EE6AA7}[INFO]: {FFFFFF}Agora as balas estгo sendo recarregadas, espere {00FF00}1 {FFFFFF}minuto !" );
}
}
}