Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- ---------------------------------------------------
- Naziv FS: VATROMET
- Autor Filescripte: Selvedin
- Molim da ne brisete kreditse !
- ---------------------------------------------------
- ---------------------DEFINICIJE--------------------
- */
- #define FILTERSCRIPT
- /*
- ---------------------INCLUDOVI---------------------
- */
- #include <a_samp>
- #include <zcmd>
- #include <sscanf2>
- #include <foreach>
- #include <streamer>
- /*
- -------------------BOJE----------------------------
- */
- #define COLOR_GREY 0xAFAFAFAA
- #define COLOR_WHITE 0xFFFFFFAA
- #define COLOR_YELLOW 0xFFFF00AA
- #define RaketaVisina 50
- #define RaketaSirenje 30
- #define MAX_POKRETANJA 20
- #define MAX_RAKETA 100
- /*
- --------------NEWOVI-VARIJABLE---------------------
- */
- new Raketa[MAX_POKRETANJA];
- new RaketaOsvjetljenje[MAX_POKRETANJA];
- new RaketaDim[MAX_POKRETANJA];
- new ExplozijaRakete[MAX_POKRETANJA];
- new Float:rx[MAX_POKRETANJA];
- new Float:ry[MAX_POKRETANJA];
- new Float:rz[MAX_POKRETANJA];
- new RaketaUkupno;
- new Zapaljivost;
- /*
- ------------------ISPISUJE IME IGRACA-------------
- */
- GetPlayerNameEx(playerid) {
- new sz_playerName[MAX_PLAYER_NAME], i_pos;
- GetPlayerName(playerid, sz_playerName, MAX_PLAYER_NAME);
- while ((i_pos = strfind(sz_playerName, "_", false, i_pos)) != -1) sz_playerName[i_pos] = ' ';
- return sz_playerName;
- }
- forward Raketaa(i);
- public Raketaa(i)
- {
- new Float:x, Float:y, Float:z;
- x = rx[i];
- y = ry[i];
- z = rz[i];
- z += RaketaVisina;
- if (ExplozijaRakete[i] == 0)
- {
- DestroyDynamicObject(Raketa[i]);
- DestroyDynamicObject(RaketaOsvjetljenje[i]);
- DestroyDynamicObject(RaketaDim[i]);
- CreateExplosion(x ,y, z, 4, 10);
- CreateExplosion(x ,y, z, 5, 10);
- CreateExplosion(x ,y, z, 6, 10);
- }
- else if (ExplozijaRakete[i] >= MAX_RAKETA)
- {
- for (new j = 0; j <= RaketaSirenje; j++)
- {
- CreateExplosion(x + float(j - (RaketaSirenje / 2)), y, z, 7, 10);
- CreateExplosion(x, y + float(j - (RaketaSirenje / 2)), z, 7, 10);
- CreateExplosion(x, y, z + float(j - (RaketaSirenje / 2)), 7, 10);
- }
- ExplozijaRakete[i] = -1;
- RaketaUkupno = 0;
- Zapaljivost = 0;
- return 1;
- }
- else
- {
- x += float(random(RaketaSirenje) - (RaketaSirenje / 2));
- y += float(random(RaketaSirenje) - (RaketaSirenje / 2));
- z += float(random(RaketaSirenje) - (RaketaSirenje / 2));
- CreateExplosion(x, y, z, 7, 10);
- }
- ExplozijaRakete[i]++;
- SetTimerEx("Raketaa", 250, 0, "i", i);
- return 1;
- }
- /*
- --------------KOMANDE ZA VATROMET---------------
- */
- CMD:postavivatromet(playerid, params[])
- {
- if(RaketaUkupno == MAX_POKRETANJA)
- {
- SendClientMessage(playerid, COLOR_WHITE, "Postavilo/la si maksimalan broj vatrometa!");
- return 1;
- }
- if(Zapaljivost == 1)
- {
- SendClientMessage(playerid, COLOR_WHITE, "Pricekaj, za postavljanje novog vatrometa!");
- return 1;
- }
- new string[128];
- format(string, sizeof(string), "%s je postavio vatromet.", GetPlayerNameEx(playerid));
- new Float:x, Float:y, Float:z, Float:a;
- GetPlayerPos(playerid, x, y, z);
- foreach(Player, i)
- {
- if(IsPlayerInRangeOfPoint(i, 30, x, y, z)) {
- SendClientMessage(i, COLOR_YELLOW, string);
- }
- }
- GetPlayerFacingAngle(playerid, a);
- x += (2 * floatsin(-a, degrees));
- y += (2 * floatcos(-a, degrees));
- Raketa[RaketaUkupno] = CreateDynamicObject(3786, x, y, z, 0, 90, 0);
- RaketaOsvjetljenje[RaketaUkupno] = CreateDynamicObject(354, x, y, z + 1, 0, 90, 0);
- RaketaDim[RaketaUkupno] = CreateDynamicObject(18716, x, y, z - 4, 0, 0, 0);
- rx[RaketaUkupno] = x;
- ry[RaketaUkupno] = y;
- rz[RaketaUkupno] = z;
- ExplozijaRakete[RaketaUkupno] = 0;
- RaketaUkupno++;
- return 1;
- }
- CMD:pokrenivatromet(playerid, params[])
- {
- if(RaketaUkupno == 0)
- {
- SendClientMessage(playerid, COLOR_WHITE, "Nemas vatromet!");
- return 1;
- }
- if(Zapaljivost == 1)
- {
- SendClientMessage(playerid, COLOR_WHITE, "Vec imas postavljen vatromet!");
- return 1;
- }
- for(new i = 0; i < RaketaUkupno; i++)
- {
- CreateExplosion(rx[i] ,ry[i], rz[i], 12, 5);
- new time = MoveDynamicObject(Raketa[i], rx[i] ,ry[i], rz[i] + RaketaVisina, 10);
- MoveDynamicObject(RaketaOsvjetljenje[i], rx[i] ,ry[i], rz[i] + 2 + RaketaVisina, 10);
- MoveDynamicObject(RaketaDim[i], rx[i] ,ry[i], rz[i] + RaketaVisina, 10);
- SetTimerEx("Raketaa", time, 0, "i", i);
- }
- Zapaljivost = 1;
- return 1;
- }
- /*
- --------------------------------------KRAJ--------------------------------------
- */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement