// made by weedarr [2007] //thanks to dragsta for supplying explosion types, thanks to [fackin]luke for the explosion command //for sa-mp 0.2.0 (will not work with 0.1, so dont try) //do NOT change or modify any of this script and dont try to take credit for something that isnt yours #include strtok(const string[], &index) { new length = strlen(string); while ((index < length) && (string[index] <= ' ') && (string[index] > '\r')) { index++; } new offset = index; new result[30]; while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)) && (string[index] > '\r')) { result[index - offset] = string[index]; index++; } result[index - offset] = EOS; return result; } new Float:boomX[MAX_PLAYERS]; new Float:boomY[MAX_PLAYERS]; new Float:boomZ[MAX_PLAYERS]; #define FILTERSCRIPT #define COLOR_YELLOW 0xFFFF00AA #if defined FILTERSCRIPT public OnFilterScriptInit() { print("\n--------------------------------------"); print(" Pyrotechnics filterscript loaded"); print("--------------------------------------\n"); return 1; } public OnFilterScriptExit() { return 1; } #else main() { print("\n----------------------------------"); print(" Blank Gamemode by your name here"); print("----------------------------------\n"); } #endif public OnGameModeInit() { // Don't use these lines if it's a filterscript SetGameModeText("Blank Script"); AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0); return 1; } public OnGameModeExit() { return 1; } public OnPlayerSpawn(playerid) { SendClientMessage(playerid, 0xFF9900AA,"This script is running WeeDarrs pyrotechnics FS"); SendClientMessage(playerid, 0xFF9900AA,"To see pyro commands type /pyrocmds"); return 1; } public OnPlayerCommandText(playerid, cmdtext[]) { new cmd[256],idx; cmd = strtok(cmdtext,idx); if (strcmp("/pyrocmds", cmdtext, true, 10) == 0) { SendClientMessage(playerid, 0x0000BBAA,"To save an explosion position type /saveexplosion"); SendClientMessage(playerid, 0x0000BBAA,"Then move away and type /explosion [type] [radius]"); SendClientMessage(playerid, 0x0000BBAA,"To see all explosion types type /types (lol)"); SendClientMessage(playerid, 0xFFFF00AA,"Thanks to dragsta for supplying explosion types, thanks to [fackin]luke for the xplosion command"); SendClientMessage(playerid, 0xFFFF00AA,"Made by WeeDarr [2007]"); return 1; } if (strcmp("/types", cmdtext, true, 10) == 0) { SendClientMessage(playerid, 0x33AA33AA,"1.tank gun 2.quiet explosion 3.tank gun 4.similar to tank gun 5.flare thing"); SendClientMessage(playerid, 0x33AA33AA,"6.flare2 7.big bang 8.bigger bang 9.no fire just noise 10.no fire just noise2"); SendClientMessage(playerid, 0x33AA33AA,"11.big not much impact 12.quite small 13.tiny (from rc tank)"); return 1; } if (strcmp("/saveexplosion", cmdtext, true, 10) == 0) { GetPlayerPos(playerid,Float:boomX[playerid],Float:boomY[playerid],Float:boomZ[playerid]); SendClientMessage(playerid, 0xFFFF00AA,"Position saved"); return 1; } if (strcmp(cmd, "/explosion", true)==0) { new tmp[256],str[256],type,Float:radius; tmp = strtok(cmdtext,idx); if(!strlen(tmp)) { SendClientMessage(playerid,COLOR_YELLOW,"USAGE: /explosion [type] [radius]"); return 1; } type = strval(tmp); if(type < 0 || type > 13) { SendClientMessage(playerid,COLOR_YELLOW,"Invalid Type. Valid Types are: 0-13"); return 1; } tmp = strtok(cmdtext,idx); if(!strlen(tmp)) { SendClientMessage(playerid,COLOR_YELLOW,"USAGE: /explosion [type] [radius]"); return 1; } radius = strval(tmp); if(radius < 0 || radius > 100) { SendClientMessage(playerid,COLOR_YELLOW,"Invalid radius size. Valid radius sizes are: 0-50"); return 1; } else { format(str,sizeof(str),"You created an explosion with type: %d and radius: %f",type,radius); SendClientMessage(playerid,COLOR_YELLOW,str); CreateExplosion(Float:boomX[playerid],Float:boomY[playerid],Float:boomZ[playerid],type,radius); } return 1; } return 0; }