#include <a_samp>
new TypyCastic[] = {354, 3526}; // id objekt ketr se vytvo po vbuchu rakety a polet od epicentra
new TypyRaket[] = {345}; // toto je samotn raketa kter bude vyltavat, mete za to dt jet 354(svtlice)
new Raketa; // raketa
new Castice[100]; // dal pole, napln se objekty, kter se vytvo pi vbuchu rakety
new Float:StartRakety_X, Float:StartRakety_Y, Float:StartRakety_Z, Float:Vybuch_Z, Float:Vybuch_Y, Float:Vybuch_X, Float:LetCastice_X, Float:LetCastice_Y, Float:LetCastice_Z; //pr souadnic, brzy zjistte k emu
new objcts;
new OhnostrojZastaven;
new bool:OhnostrojSpusten = true; // booleansk promnn nm zajist abychom ohnostroj neodplili 2x nebo vcekrt
#if defined FILTERSCRIPT
public OnFilterScriptInit()
{
OhnostrojSpusten=true; // true hodnota znamen e je ohnostroj povolen
print("\n--------------------------------------");
print(" Blank Filterscript by your name here");
print("--------------------------------------\n");
return 1;
}
public OnFilterScriptExit()
{
return 1;
}
#else
#endif
public OnPlayerCommandText(playerid, cmdtext[])
{
if(strcmp(cmdtext, "/pozice", true) == 0)
{
GetPlayerPos(playerid, StartRakety_X, StartRakety_Y, StartRakety_Z); //ulo na pozici
ApplyAnimation(playerid,"BOMBER","BOM_Plant",4.1,0,1,1,1,1); // pro lep efekt
SetTimerEx("UnfreezeFromAnimation",2000,false,"i",playerid); // pouze odbugne hre ;)
OhnostrojSpusten = false;
return 1;
}
if(strcmp(cmdtext, "/fw", true) == 0)
{
if(OhnostrojSpusten == false)
{
SetTimerEx("Vystrel",2000,false,"i",true); //spust se public vstel za 2s nebo lze udlat jen Vystrel();
OhnostrojZastaven = 0; // ohnostroj u nen zastaven
OhnostrojSpusten = true; // ohnostroj je odplen
return 1;
}else{
return SendClientMessage(playerid, 0x000000FF, "Ohostroj u b nebo nebyla uloena /pozice");}
}
if(strcmp(cmdtext, "/stop", true) == 0)
{
OhnostrojZastaven = 1; // ohnostroj zastaven
OhnostrojSpusten = false; //nastav e lze ohnostroj opt spustit
return 1;
}
return 0;
}
// ===
forward Vybuch(); //Samotn vbuch
forward Vystrel(); // Vstel rakety
forward UnfreezeFromAnimation(playerid); // Odstran "zmraen" z animace
public UnfreezeFromAnimation(playerid)
{
ApplyAnimation(playerid,"BSKTBALL","BBALL_walk_start_O",4.1,0,1,1,1,1); // dalo by se ct e tato animace "odmraz" po pedchoz animaci
return 1;
}
public Vybuch()
{
CreateExplosion(Vybuch_X, Vybuch_Y, Vybuch_Z, 11, 1); // mal nekodn exploze
DestroyObject(Raketa); // znime raketu
for(new i = objcts; i<20+random(10); i++)
{ // 20 jak daleko polet svtlice + random(10)
new rnd = random(sizeof(TypyCastic)); // jestli se vytvo erven svtlko nebo bl :-)
Castice[i] = CreateObject(TypyCastic[rnd],Vybuch_X, Vybuch_Y, Vybuch_Z, 0, 0, 0); // vytvo se rnd svtlko na souadnicch vbuchu
LetCastice_X = Vybuch_X+random(40)-random(40); // kam polet me lett jakmkoli smrem
LetCastice_Y = Vybuch_Y+random(40)-random(40); // -||-
LetCastice_Z = Vybuch_Z+20+random(30)-random(30); // vku lehce omezme
MoveObject(Castice[i],LetCastice_X, LetCastice_Y, LetCastice_Z, 10); // samotn pohyb svtlka
}
SetTimerEx("Vystrel",2000,false,"i",true); // tmto vytvome cyklus, bude se odpalovat raketa po raket, doporuuji as nemnit
return 1;
}
public Vystrel()
{
for(new i = 0; i<sizeof(Castice); i++)
{
DestroyObject(Castice[i]);
}
if(OhnostrojZastaven == 0)
{ // pokud be
new rnd = random(sizeof(TypyRaket)); //dal random vybere z pole TypyRaket
Raketa = CreateObject(TypyRaket[rnd], StartRakety_X, StartRakety_Y, StartRakety_Z, 90,0,0); // vytvome raketu
Vybuch_Z = StartRakety_Z+20+random(10)-random(10); // aby neltala pod na stejn msto
Vybuch_X = StartRakety_X+random(10)-random(10); // -||-
Vybuch_Y = StartRakety_Y+random(10)-random(10); // -||-
MoveObject(Raketa, Vybuch_X, Vybuch_Y, Vybuch_Z, 10);// a raketa letna souadnice vbuchu
objcts = 1;
SetTimerEx("Vybuch",2000,false,"i",true); // kdy dolet vybouchne
} // takovou dobu to asi polet
return 1;
}