Igy? :D 
 
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{  
        new X;
if (PRESSED(KEY_X))
{
new
   Float:x,
   Float:y,
   Float:z;
GetPlayerPos(playerid, x, y, z);
SetPlayerEffect(playerid, X)
}
return 1;
}
			
			
			
				Nemtudom a SetPlayerEffect alatt mit értesz, de igen, még egy változót kellene egy boolean vagy egy int,
 
new bool:tuzvanrajta = false;
 
És amikor KEY_PRESSED akkor, tuzvanrajta = true, amikor meg elengedi, KEY_RELEASED, akkor meg a tuzvanrajta = false, a tűzet meg objectel rakhatod rá, object id : 18691
			
			
			
				#define HOLDING(%0) ((newkeys & (%0)) == (%0))
 
Ez fog neked kelleni amíg nyomja
Azt hiszem ez a tűz object: 18691
és egyszerűen egy Ilyennel
rá rá editeled 1. utána meg amiket ad berakod a scriptbe.