open.mp forum
[Filterscript] Shoot fireballs script - Printable Version

+ open.mp forum (https://forum.open.mp)
-- Forum: SA-MP (https://forum.open.mp/forumdisplay.php?fid=3)
--- Forum: Releases (https://forum.open.mp/forumdisplay.php?fid=13)
---- Forum: Filterscripts (https://forum.open.mp/forumdisplay.php?fid=30)
---- Thread: [Filterscript] Shoot fireballs script (/showthread.php?tid=148)



Shoot fireballs script - dignity - 2019-04-14

Really old filterscript I released back when I was a weeb



PHP Code:
#include <a_samp>

#include <zcmd>



#define PRESSED(%0) (((newkeys & (%0)) == (%0)) && ((oldkeys & (%0)) != (%0)))



stock IsPlayerAiming(playeridaimid)

{

? ? ? ?new 
Float:X1Float:Y1Float:Z1Float:X2Float:Y2Float:Z2;

? ? ? ?
GetPlayerPos(playeridX1Y1Z1);

? ? ? ?
GetPlayerPos(aimidX2Y2Z2);

? ? ? ?new 
Float:Distance floatsqroot(floatpower(floatabs(X1-X2), 2)  floatpower(floatabs(Y1-Y2), 2));

? ? ? ?if(
Distance 100)

? ? ? ?{

? ? ? ? ? ? ? ?new 
Float:A;

? ? ? ? ? ? ? ?
GetPlayerFacingAngle(playeridA);

? ? ? ? ? ? ? ?
X1 = (Distance floatsin(-Adegrees));

? ? ? ? ? ? ? ?
Y1 = (Distance floatcos(-Adegrees));

? ? ? ? ? ? ? ?
Distance floatsqroot(floatpower(floatabs(X1-X2), 2)  floatpower(floatabs(Y1-Y2), 2));

? ? ? ? ? ? ? ?if(
Distance 0.5)

? ? ? ? ? ? ? ?{

? ? ? ? ? ? ? ? ? ?return 
true;

? ? ? ? ? ? ? ?}

? ? ? ?}

? ? ? ?return 
false;

}



stock IsPlayerLookingAtPlayer(player1player2) { // Simon edited by Carlton

? ? ? ?if (!IsPlayerConnected(player1) || !IsPlayerConnected(player2)) return 0;

? ? ? ?if(
player1 == player2) return 0;

? ? ? ?new

? ? ? ? ? ? ? ?
Floatdistance,

? ? ? ? ? ? ? ?
FloatvectorX,

? ? ? ? ? ? ? ?
FloatvectorY,

? ? ? ? ? ? ? ?
FloatvectorZ,

? ? ? ? ? ? ? ?
FloatplyrPos[2][3],

? ? ? ? ? ? ? ?
FloatprojPos[3];

? ? ? ?
GetPlayerCameraFrontVector(player1vectorXvectorYvectorZ);

? ? ? ?
GetPlayerCameraPos(player1plyrPos[0][0], plyrPos[0][1], plyrPos[0][2]);

? ? ? ?
GetPlayerPos(player2plyrPos[1][0], plyrPos[1][1], plyrPos[1][2]);

? ? ? ?
#define SQUARE(%1) ?((%1)*(%1))

? ? ? ?distance floatsqroot(

? ? ? ?
SQUARE(plyrPos[1][0]-plyrPos[0][0])  SQUARE(plyrPos[1][1]-plyrPos[0][1])  SQUARE(plyrPos[1][2]-plyrPos[0][2]));

? ? ? ?
projPos[0] = plyrPos[0][0]  vectorX distance;

? ? ? ?
projPos[1] = plyrPos[0][1]  vectorY distance;

? ? ? ?
projPos[2] = plyrPos[0][2]  vectorZ distance;

? ? ? ?return ((
SQUARE(plyrPos[1][0]-projPos[0])  SQUARE(plyrPos[1][1]-projPos[1])  SQUARE(plyrPos[1][2]-projPos[2])) <= SQUARE(distance 6));

? ? ? ?
#undef SQUARE

}



CMD:fireballs(playeridparams[])

{

? ?if( !
GetPVarInt(playerid"FIREBALLS") ) SetPVarInt(playerid"FIREBALLS"1), SendClientMessage(playerid, -1"Fireballs turned on.");

? ?else 
SetPVarInt(playerid"FIREBALLS"0), SendClientMessage(playerid, -1"Fireballs turned off.");

? ?return 
1;



}



public 
OnObjectMoved(objectid)

{



? ?for( new 
0MAX_PLAYERSi)

? ?{

? ? ? ?if( 
objectid == GetPVarInt(i"FIREOBJID") )

? ? ? ?{



? ? ? ? ? ?
DestroyObjectGetPVarInt(i"FIREOBJID") );

? ? ? ? ? ?
DeletePVar(i"FIREOBJID");

? ? ? ? ? ?
CreateExplosionGetPVarFloat(i"FIREBALLX"), GetPVarFloat(i"FIREBALLY"), GetPVarFloat(i"FIREBALLZ"), 117.5);



? ? ? ?}

? ?}



}



public 
OnPlayerKeyStateChange(playeridnewkeysoldkeys)

{

? ?if (
GetPVarInt(playerid"FIREBALLS") && PRESSED(KEY_FIRE))

? ?{

? ? ? ?new 
Float:posXFloat:posYFloat:posZ;

? ? ? ?for(new 
0MAX_PLAYERSi)

? ? ? ?{

? ? ? ? ? ?
GetPlayerPos(i,posX,posY,posZ);

? ? ? ? ? ?if (
== playerid) continue;

? ? ? ? ? ?if(
IsPlayerLookingAtPlayer(playeridi) && IsPlayerAiming(playeridi) && !IsPlayerInAnyVehicle(playerid) && !IsPlayerInAnyVehicle(i))

? ? ? ? ? ?{

? ? ? ? ? ? ? ?if( 
GetPVarInt(playerid"FIREOBJID") != ) return SendClientMessage(playerid, -1"1 at a time!");



? ? ? ? ? ? ? ?new 
str[100];

? ? ? ? ? ? ? ?new 
nom[32];

? ? ? ? ? ? ? ?
GetPlayerName(inom32);

? ? ? ? ? ? ? ?
format(str100"You fireballed %s."nom);

? ? ? ? ? ? ? ?
SendClientMessage(playerid, -1str);

? ? ? ? ? ? ? ?new 
Float:pxFloat:pyFloat:pz;

? ? ? ? ? ? ? ?
GetPlayerPos(playeridpxpypz);

? ? ? ? ? ? ? ?
SetPVarInt(playerid"FIREOBJID"CreateObject(18688pxpypz-1.35000500.0));

? ? ? ? ? ? ? ?
GetPlayerPos(ipxpypz);

? ? ? ? ? ? ? ?
SetPVarFloat(playerid"FIREBALLX"px);

? ? ? ? ? ? ? ?
SetPVarFloat(playerid"FIREBALLY"py);

? ? ? ? ? ? ? ?
SetPVarFloat(playerid"FIREBALLZ"pz);

? ? ? ? ? ? ? ?
MoveObject(GetPVarInt(playerid"FIREOBJID"), pxpypz-1.515);

? ? ? ? ? ?}

? ? ? ?}

? ?}

? ?return 
1;





[Video: https://www.youtube.com/watch?v=BK7p5WafeRE&]


RE: Shoot fireballs script - Mugsy - 2019-04-14

lol what, dragon ball


RE: Shoot fireballs script - Rocky Balboa - 2019-04-14

Wow nice!


RE: Shoot fireballs script - Marg - 2019-04-15

?___________|Good job|__________?


RE: Shoot fireballs script - Wolf - 2019-04-18

Lol okay..


RE: Shoot fireballs script - s1cky - 2019-04-21

hahaha kame kame ha!