Jump to content
  • 0

Cerere Ajutor Rocket Fire Green


SkyLeAs

Question

Problema intalnita (descriere):Salut detin si eu un script de artifici cat de cat dar vreau ca atunci cand racheta ajunge la inaltimea ei sa explodeze niste culori gen blue red , lans 2 galben cu verde. Dar nu stiu cum sa fac.
Ero(area / rile) / warning-(ul / urile):~~
Liniile de cod / sursa / script-ul:

CMD:setrfire(playerid, params[])
{
if(FireworkTotal == MAX_LAUNCH)
{
SendClientMessage(playerid, COLOR_WHITE, "Ai setat deja artificia la locu potrivit");
return 1;
}
if(Fired == 1)
{
SendClientMessage(playerid, COLOR_WHITE, "Asteapta sa explodeze!");
return 1;
}
new string[128];
format(string, sizeof(string), "%s a aprins un artificiu.", 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));
// Lans
Rocket[FireworkTotal] = CreateDynamicObject(3790, 1483.5320,-1757.2819,29.6406, 0, 90, 0); // 3786
RocketSmoke[FireworkTotal] = CreateDynamicObject(18716, 1483.5320,-1757.2819,29.6406 - 4, 0, 0, 0); // 18716 , xmas glob green - 19060 , neon green - 18649.
RocketGreen[FireworkTotal] = CreateDynamicObject(1213, 1483.5320,-1757.2819,29.6406 + 1, 0, 90, 0); // 18649
rx[FireworkTotal] = x;
ry[FireworkTotal] = y;
rz[FireworkTotal] = z;
RocketExplosions[FireworkTotal] = 0;
FireworkTotal++;
return 1;
}

Si aici am mai modificat dar nmk..

public Firework(i)
{
	new Float:x, Float:y, Float:z;
	x = rx;
	y = ry;
	z = rz;
	z += RocketHeight;
	if (RocketExplosions == 0)
	{
	    DestroyDynamicObject(Rocket);
	    DestroyDynamicObject(RocketLight);
	    DestroyDynamicObject(RocketSmoke);
	    DestroyDynamicObject(RocketGreen);
	    RocketGreen = CreateExplosion(1493.4357,-1768.9791,18.7958+ RocketHeight, 4, 9);
	    RocketGreen = CreateExplosion(1487.1035,-1768.7446,18.7958+ RocketHeight, 5, 9);
	    RocketGreen = CreateExplosion(1482.2462,-1768.5679,18.7958+ RocketHeight, 6, 9);
	    RocketGreen = CreateExplosion(1469.8228,-1768.3120,18.7958+ RocketHeight, 6, 9);
	    RocketGreen[FireworkTotal] = CreateDynamicObject(18652, 1480.4891,-1768.8335,18.7958 + 1, 0, 90, 0); // 18649
	}
	else if (RocketExplosions >= MAX_FIREWORKS)
	{
	    for (new j = 0; j <= RocketSpread; j++)
	    {
	    	CreateExplosion(x + float(j - (RocketSpread / 2)), y, z, 7, 9);
	    	CreateExplosion(x, y + float(j - (RocketSpread / 1)), z, 7, 9);
	    	CreateExplosion(x, y, z + float(j - (RocketSpread / 2)), 7, 9);
	    }
	    RocketExplosions = -1;
	    FireworkTotal = 0;
	    Fired = 0;
	    return 1;
	}
	else
	{
		x += float(random(RocketSpread) - (RocketSpread / 2));
		y += float(random(RocketSpread) - (RocketSpread / 1));
		z += float(random(RocketSpread) - (RocketSpread / 2));
	    RocketGreen = CreateExplosion(1480.4891,-1768.8335,18.7958+ RocketHeight, 7, 9);
	    RocketGreen = CreateExplosion(1493.4357,-1768.9791,18.7958+ RocketHeight, 7, 9);
	    RocketGreen = CreateExplosion(1487.1035,-1768.7446,18.7958+ RocketHeight, 7, 9);
	    RocketGreen = CreateExplosion(1469.8228,-1768.3120,18.7958+ RocketHeight, 7, 9);
	    RocketGreen[FireworkTotal] = CreateDynamicObject(18652, 1480.4891,-1768.8335,18.7958 + 1, 0, 90, 0); // 18649
	}
	RocketExplosions++;
	SetTimerEx("Firework", 250, 0, "i", i);
	return 1;
}

Imagini / Video (optional):~
Ati incercat sa rezolvati singur?:Da am incercat dar nam rezolvat nimic...

Edited by Gotze
Link to comment
Share on other sites

16 answers to this question

Recommended Posts

  • 0

Pai intra in fs-ul acela si dai "firerocket2" si acolo ai niste,CreateExplosion sau ceva de genu,acum nu prea mai am timp,am ceva treaba,si dau teste,daca nu o sa reusesti, o sa te ajut de joi incolo..

 

 

Link to comment
Share on other sites

  • 0

Pai intra in fs-ul acela si dai "firerocket2" si acolo ai niste,CreateExplosion sau ceva de genu,acum nu prea mai am timp,am ceva treaba,si dau teste,daca nu o sa reusesti, o sa te ajut de joi incolo..

Chiar am facut ce ai spus dar tot nu am reusit daca e ma poti ajuta joi? sau cand poti tu :D

Link to comment
Share on other sites

  • 0

Incearca asa

CMD:setrfire(playerid, params[])
{
if(FireworkTotal == MAX_LAUNCH)
{
SendClientMessage(playerid, COLOR_WHITE, "Ai setat deja artificia la locu potrivit");
return 1;
}
if(Fired == 1)
{
SendClientMessage(playerid, COLOR_WHITE, "Asteapta sa explodeze!");
return 1;
}
new Float:X, Float:Y,Float:Z;
firerockettime[playerid] = 2;
new string[128];
new sendername[MAX_PLAYER_NAME];
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "%s a aprins un artificiu!Sarbatori fericite!", sendername);
ProxDetector(15.0, playerid, string, WHITE,WHITE,WHITE,WHITE,WHITE);
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));
// Lans
GetXYInFrontOfPlayer(playerid, X,Y, distance);
Firerocket[playerid] = CreateObject(354, X,Y,(Z), 0, 0, 0);
rocketsmoke[playerid] = CreateObject(2780, X,Y,(Z), 0, 0, 0);
MoveObject(Firerocket[playerid], X, Y, Z+50, 15);
MoveObject(rocketsmoke[playerid], X, Y, Z+50, 15);
SetTimerEx("FirerocketTime", 3000, 0, "i", playerid);
return 1;
}

Pui urmatoarele:

new Float:FRX[MAX_PLAYERS], Float:FRY[MAX_PLAYERS], Float:FRZ[MAX_PLAYERS];
new Float:FTX[MAX_PLAYERS], Float:FTY[MAX_PLAYERS], Float:FTZ[MAX_PLAYERS];
new Float:RBX[MAX_PLAYERS], Float:RBY[MAX_PLAYERS], Float:RBZ[MAX_PLAYERS];
new firerockettime[MAX_PLAYERS];
new Firecracker[MAX_PLAYERS];
new Firerocket[MAX_PLAYERS];
new rocketsmoke[MAX_PLAYERS];
 
enum FWN
{
    Firerocket2,
    DrawDistance,
};
new AllowedFirework[FWN];
 
forward FirerocketTime(playerid);
public FirerocketTime(playerid)
{
    if(firerockettime[playerid] == 1)
    {
        GetObjectPos(Firerocket[playerid], FRX[playerid], FRY[playerid], FRZ[playerid]);
        explosionrocket[playerid] = CreateExplosion(FRX[playerid], FRY[playerid], FRZ[playerid], 6, 0);
        SetTimerEx("splittime", 500, 0, "i", playerid);
        return 1;
    }
    if(firerockettime[playerid] == 2)
    {
        GetObjectPos(Firerocket[playerid], FRX[playerid], FRY[playerid], FRZ[playerid]);
        explosionrocket[playerid] = CreateExplosion(FRX[playerid], FRY[playerid], FRZ[playerid], 6, 0);
        SetTimerEx("splittime2", 100, 0, "i", playerid);
        return 1;
    }
    return 1;
}
//=----------------------------------Asta o pui si pe ea--------------------------------------=
forward splittime(playerid);
public splittime(playerid)
{
    if(firerockettime[playerid] == 1)
    {
        CreateExplosion(FRX[playerid]-(0+(random(3))),FRY[playerid]-(0+(random(3))),FRZ[playerid]-(0+(random(3))), 4, 0);
        CreateExplosion(FRX[playerid]-(0+(random(3))),FRY[playerid]+(0+(random(3))),FRZ[playerid]-(0+(random(3))), 4, 0);
        CreateExplosion(FRX[playerid]-(0+(random(3))),FRY[playerid],FRZ[playerid]-(0+(random(3))), 4, 0);
        CreateExplosion(FRX[playerid]+(0+(random(3))),FRY[playerid]-(0+(random(3))),FRZ[playerid]-(0+(random(3))), 4, 0);
        CreateExplosion(FRX[playerid]+(0+(random(3))),FRY[playerid]+(0+(random(3))),FRZ[playerid]-(0+(random(3))), 4, 0);
        CreateExplosion(FRX[playerid]+(0+(random(3))),FRY[playerid],FRZ[playerid]-(0+(random(3))), 4, 0);
        CreateExplosion(FRX[playerid],FRY[playerid]-(0+(random(3))),FRZ[playerid]-(0+(random(3))), 4, 0);
        CreateExplosion(FRX[playerid],FRY[playerid]+(0+(random(3))),FRZ[playerid]-(0+(random(3))), 4, 0);
        Light[1][playerid] = CreateObject(354,FRX[playerid]-(0+(random(6))),FRY[playerid]-(0+(random(6))),FRZ[playerid]+(0+(random(6))), 0, 0,0);
        Light[2][playerid] = CreateObject(354,FRX[playerid]-(0+(random(6))),FRY[playerid],FRZ[playerid]+(0+(random(6))), 0, 0,0);
        Light[3][playerid] = CreateObject(354,FRX[playerid]-(0+(random(6))),FRY[playerid],FRZ[playerid]-(0+(random(6))), 0, 0,0);
        Light[4][playerid] = CreateObject(354,FRX[playerid]-(0+(random(6))),FRY[playerid]-(0+(random(6))),FRZ[playerid]+(0+(random(6))), 0, 0,0);
        Light[5][playerid] = CreateObject(354,FRX[playerid]-(0+(random(6))),FRY[playerid]+(0+(random(6))),FRZ[playerid]+(0+(random(6))), 0, 0,0);
        Light[6][playerid] = CreateObject(354,FRX[playerid]-(0+(random(6))),FRY[playerid],FRZ[playerid]-(0+(random(6))), 0, 0,0);
        Light[7][playerid] = CreateObject(354,FRX[playerid]-(0+(random(6))),FRY[playerid]-(0+(random(6))),FRZ[playerid]-(0+(random(6))), 0, 0,0);
        Light[8][playerid] = CreateObject(354,FRX[playerid],FRY[playerid]-(0+(random(6))),FRZ[playerid]+(0+(random(6))), 0, 0,0);
        new Float:X,Float:Y,Float:Z;
        GetObjectPos(Light[1][playerid], X, Y, Z);
        MoveObject(Light[1][playerid], X-(0+(random(6))), Y-(0+(random(6))), Z-20, 6);
        GetObjectPos(Light[2][playerid], X, Y, Z);
        MoveObject(Light[2][playerid], X-(0+(random(6))), Y+(0+(random(6))), Z-20, 5);
        GetObjectPos(Light[3][playerid], X, Y, Z);
        MoveObject(Light[3][playerid], X-(0+(random(6))), Y, Z-20, 4);
        GetObjectPos(Light[4][playerid], X, Y, Z);
        MoveObject(Light[4][playerid], X+(0+(random(6))), Y-(0+(random(6))), Z-20, 5);
        GetObjectPos(Light[5][playerid], X, Y, Z);
        MoveObject(Light[5][playerid], X+(0+(random(6))), Y+(0+(random(6))), Z-20, 5);
        GetObjectPos(Light[6][playerid], X, Y, Z);
        MoveObject(Light[6][playerid], X+(0+(random(6))), Y, Z-20, 4);
        GetObjectPos(Light[7][playerid], X, Y, Z);
        MoveObject(Light[7][playerid], X, Y-(0+(random(6))), Z-20, 6);
        GetObjectPos(Light[8][playerid], X, Y, Z);
        MoveObject(Light[8][playerid], X, Y+(0+(random(6))), Z-20, 5);
        SetTimerEx("lighttimer", 3900, 0, "i", playerid);
        DestroyObject(Firerocket[playerid]);
        DestroyObject(rocketsmoke[playerid]);
        return 1;
    }
    return 1;
}
forward splittime2(playerid);
public splittime2(playerid)
{
    if(firerockettime[playerid] == 2)
    {
        CreateExplosion(FRX[playerid]-(0+(random(10))),FRY[playerid]-(0+(random(10))),FRZ[playerid]-5, 6, 0);
        CreateExplosion(FRX[playerid]-(0+(random(10))),FRY[playerid]+(0+(random(10))),FRZ[playerid]-5, 6, 0);
        CreateExplosion(FRX[playerid]-(0+(random(10))),FRY[playerid],FRZ[playerid]-5, 6, 0);
        CreateExplosion(FRX[playerid]+(0+(random(10))),FRY[playerid]-(0+(random(10))),FRZ[playerid]-5, 6, 0);
        CreateExplosion(FRX[playerid]+(0+(random(10))),FRY[playerid]+(0+(random(10))),FRZ[playerid]-5, 6, 0);
        CreateExplosion(FRX[playerid]+(0+(random(10))),FRY[playerid],FRZ[playerid]-5, 6, 0);
        CreateExplosion(FRX[playerid],FRY[playerid]-(0+(random(10))),FRZ[playerid]-5, 6, 0);
        CreateExplosion(FRX[playerid],FRY[playerid]+(0+(random(10))),FRZ[playerid]-5, 6, 0);
        Light[1][playerid] = CreateObject(354,FRX[playerid]-(0+(random(10))),FRY[playerid]-(0+(random(10))),FRZ[playerid]-5, 0, 0,0);
        Light[2][playerid] = CreateObject(354,FRX[playerid]-(0+(random(10))),FRY[playerid]+(0+(random(10))),FRZ[playerid]-5, 0, 0,0);
        Light[3][playerid] = CreateObject(354,FRX[playerid]-(0+(random(10))),FRY[playerid],FRZ[playerid]-5, 0, 0,0);
        Light[4][playerid] = CreateObject(354,FRX[playerid]+(0+(random(10))),FRY[playerid]-(0+(random(10))),FRZ[playerid]-5, 0, 0,0);
        Light[5][playerid] = CreateObject(354,FRX[playerid]+(0+(random(10))),FRY[playerid]+(0+(random(10))),FRZ[playerid]-5, 0, 0,0);
        Light[6][playerid] = CreateObject(354,FRX[playerid]+(0+(random(10))),FRY[playerid],FRZ[playerid]-5, 0, 0,0);
        Light[7][playerid] = CreateObject(354,FRX[playerid],FRY[playerid]-(0+(random(10))),FRZ[playerid]-5, 0, 0,0);
        Light[8][playerid] = CreateObject(354,FRX[playerid],FRY[playerid]+(0+(random(10))),FRZ[playerid]-5, 0, 0,0);
        new Float:X,Float:Y,Float:Z;
        GetObjectPos(Light[1][playerid], X, Y, Z);
        MoveObject(Light[1][playerid], X-6, Y-6, Z-20, 4);
        GetObjectPos(Light[2][playerid], X, Y, Z);
        MoveObject(Light[2][playerid], X-6, Y+6, Z-20, 4);
        GetObjectPos(Light[3][playerid], X, Y, Z);
        MoveObject(Light[3][playerid], X-6, Y, Z-20, 4);
        GetObjectPos(Light[4][playerid], X, Y, Z);
        MoveObject(Light[4][playerid], X+6, Y-6, Z-20, 4);
        GetObjectPos(Light[5][playerid], X, Y, Z);
        MoveObject(Light[5][playerid], X+6, Y+6, Z-20, 4);
        GetObjectPos(Light[6][playerid], X, Y, Z);
        MoveObject(Light[6][playerid], X+6, Y, Z-20, 4);
        GetObjectPos(Light[7][playerid], X, Y, Z);
        MoveObject(Light[7][playerid], X, Y-6, Z-20, 4);
        GetObjectPos(Light[8][playerid], X, Y, Z);
        MoveObject(Light[8][playerid], X, Y+6, Z-20, 4);
        SetTimerEx("splittime3", 3000, 0, "i", playerid);
        DestroyObject(Firerocket[playerid]);
        DestroyObject(rocketsmoke[playerid]);
        return 1;
    }
    return 1;
}
public FirerocketTime(playerid)
{
    if(firerockettime[playerid] == 1)
    {
        GetObjectPos(Firerocket[playerid], FRX[playerid], FRY[playerid], FRZ[playerid]);
        explosionrocket[playerid] = CreateExplosion(FRX[playerid], FRY[playerid], FRZ[playerid], 6, 0);
        SetTimerEx("splittime", 500, 0, "i", playerid);
        return 1;
    }
    if(firerockettime[playerid] == 2)
    {
        GetObjectPos(Firerocket[playerid], FRX[playerid], FRY[playerid], FRZ[playerid]);
        explosionrocket[playerid] = CreateExplosion(FRX[playerid], FRY[playerid], FRZ[playerid], 6, 0);
        SetTimerEx("splittime2", 100, 0, "i", playerid);
        return 1;
    }
    return 1;
}
Edited by Adrian_Petre

 

 

Link to comment
Share on other sites

  • 0

Pai ce ai postat tu,ai postat numai un public si o comanda.

Posteaza si restul si te ajutam.

/*
********************************************************************************

								Sistem XMAS FIRE
								Credits JohnnyYz
								www.necro-zone.com
								www.rss-ro.com

********************************************************************************
*/
#define FILTERSCRIPT
//******************************************************************************
#include                 " a_samp    "
#include                 " zcmd      "
#include                 " sscanf2   "
#include                 " foreach   "
#include                 " streamer  "
//******************************************************************************
#define COLOR_YELLOW 0xFFFF00AA//Culoarea galben
#define COLOR_WHITE 0xFFFFFFAA //Culoarea alba
#define WHITE 		0xFFFFFFFF
#define RocketHeight 50 // Inaltimea obiectului in cazul nostru artificiul..
#define RocketSpread 30 // Raza de vedere a artificiului.
#define MAX_LAUNCH 20 //Altceva...
#define MAX_FIREWORKS 100 // Maximul de artificii
#if defined FILTERSCRIPT // Definirea de Filescript.
//******************************************************************************
new Rocket[MAX_LAUNCH];
new RocketLight[MAX_LAUNCH];
new RocketSmoke[MAX_LAUNCH];
new RocketExplosions[MAX_LAUNCH];
new Firerocket[MAX_PLAYERS];
new rocketsmoke[MAX_PLAYERS];
//******************************************************************************
//new RocketBlue[MAX_LAUNCH];
//new RocketYellow[MAX_LAUNCH];
//new RocketRed[MAX_LAUNCH];
new RocketGreen[MAX_LAUNCH];
//******************************************************************************
new Float:rx[MAX_LAUNCH];
new Float:ry[MAX_LAUNCH];
new Float:rz[MAX_LAUNCH];
new FireworkTotal;
new Fired;
//******************************************************************************
new fireGreen[MAX_LAUNCH], fireWhite[MAX_LAUNCH];
//******************************************************************************
forward Firework(i);
public Firework(i)
{
	new Float:x, Float:y, Float:z;
	x = rx;
	y = ry;
	z = rz;
	z += RocketHeight;
	if (RocketExplosions == 0)
	{
	    DestroyDynamicObject(Rocket);
	    DestroyDynamicObject(RocketLight);
	    DestroyDynamicObject(RocketSmoke);
	    DestroyDynamicObject(RocketGreen);
	    DestroyDynamicObject(fireGreen);
	    DestroyDynamicObject(fireWhite);
        CreateExplosion(1493.2493,-1769.1412,18.7958+ RocketHeight, 4, 9);
	    CreateExplosion(1470.0452,-1769.8038,18.7958+ RocketHeight, 6, 9);
	}
	else if (RocketExplosions >= MAX_FIREWORKS)
	{
	    for (new j = 0; j <= RocketSpread; j++)
	    {
	    	CreateExplosion(x + float(j - (RocketSpread / 2)), y, z, 5, 10);
	    	CreateExplosion(x, y + float(j - (RocketSpread / 1)), z, 5, 10);
	    	CreateExplosion(x, y, z + float(j - (RocketSpread / 2)), 5, 10);
	    }
	    RocketExplosions = -1;
	    FireworkTotal = 0;
	    Fired = 0;
	    return 1;
	}
	else
	{
		x += float(random(RocketSpread) - (RocketSpread / 2));
		y += float(random(RocketSpread) - (RocketSpread / 1));
		z += float(random(RocketSpread) - (RocketSpread / 2));
	    CreateExplosion(1493.2493,-1769.1412,18.7958+ RocketHeight, 5, 10);
	    CreateExplosion(1470.0452,-1769.8038,18.7958+ RocketHeight, 5, 10);
	    //fireWhite[FireworkTotal]   = CreateDynamicObject(354, 1483.5320,-1757.2819,29.6406 + 1, 0, 90, 0);
	}
	RocketExplosions++;
	SetTimerEx("Firework", 250, 0, "i", i);
	return 1;
}
//******************************************************************************
public OnPlayerConnect(playerid)
{
//******************************************************************************
// 2015 Maps By JohnnyYz Remove
//******************************************************************************
	RemoveBuildingForPlayer(playerid, 1226, 1451.6250, -1727.6719, 16.4219, 0.25);
	RemoveBuildingForPlayer(playerid, 4003, 1481.0781, -1747.0313, 33.5234, 0.25);
	RemoveBuildingForPlayer(playerid, 1226, 1467.9844, -1727.6719, 16.4219, 0.25);
	RemoveBuildingForPlayer(playerid, 1226, 1485.1719, -1727.6719, 16.4219, 0.25);
	RemoveBuildingForPlayer(playerid, 1231, 1479.6953, -1716.7031, 15.6250, 0.25);
	RemoveBuildingForPlayer(playerid, 1226, 1505.1797, -1727.6719, 16.4219, 0.25);
//******************************************************************************
    return 1;
}
//******************************************************************************
public OnFilterScriptInit()
{
//******************************************************************************
// 2015 Maps By JohnnyYz Create
//******************************************************************************
	
//******************************************************************************

    return 1;
}
//******************************************************************************
CMD:setrfire(playerid, params[])
{
	if(FireworkTotal == MAX_LAUNCH)
	{
       SendClientMessage(playerid, COLOR_WHITE, "Ai setat deja artificia la locu potrivit");
       return 1;
	}
	if(Fired == 1)
	{
       SendClientMessage(playerid, COLOR_WHITE, "Asteapta sa explodeze!");
	   return 1;
	}
	new string[128];
	format(string, sizeof(string), "%s a aprins un artificiu.", 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));
   	// Lans
    Rocket[FireworkTotal]      = CreateDynamicObject(3790, 1483.5320,-1757.2819,29.6406, 0, 90, 0); // 3786
	RocketSmoke[FireworkTotal] = CreateDynamicObject(18716, 1483.5320,-1757.2819,29.6406 - 4, 0, 0, 0); // 18716 , xmas glob green - 19060 , neon green - 18649.
    RocketGreen[FireworkTotal] = CreateDynamicObject(18652, 1483.5320,-1757.2819,29.6406 + 1, 0, 90, 0); // 18649
    fireWhite[FireworkTotal]   = CreateDynamicObject(354, 1483.5320,-1757.2819,29.6406 + 1, 0, 90, 0);
	rx[FireworkTotal] = x;
	ry[FireworkTotal] = y;
	rz[FireworkTotal] = z;
	RocketExplosions[FireworkTotal] = 0;
	FireworkTotal++;
	return 1;
}
// obj 1 1213

CMD:fire(playerid, params[])
{
    if(FireworkTotal == 0)
    {
       SendClientMessage(playerid, COLOR_WHITE, "Nu ai nici o artificie");
       return 1;
    }
    if(Fired == 1)
    {
       SendClientMessage(playerid, COLOR_WHITE, "Deja artificia este lansata");
       return 1;
    }
    for(new i = 0; i < FireworkTotal; i++)
    {
       //CreateExplosion(rx ,ry, rz, 12, 5);
       new time = MoveDynamicObject(Rocket, 1480.4891,-1768.8335,18.7958 + RocketHeight, 10);
       MoveDynamicObject(RocketLight, 1480.4891,-1768.8335,18.7958 + 2 + RocketHeight, 10);
       MoveDynamicObject(RocketSmoke, 1493.2493,-1769.1412,18.7958 + RocketHeight, 10);
       MoveDynamicObject(RocketGreen, 1470.0452,-1769.8038,18.7958 + RocketHeight, 10);
       MoveDynamicObject(fireWhite, 1480.4891,-1768.8335,18.7958 + RocketHeight, 10);
       SetTimerEx("Firework", time, 0, "i", i);
    }
    Fired = 1;
	return 1;
}
/*
CreateExplosion(1493.2493,-1769.1412,18.7958+ RocketHeight, 1, 9);
	    CreateExplosion(1470.0452,-1769.8038,18.7958+ RocketHeight, 1, 9);
	    */
CMD:testfire(playerid, params[])
{
    new distance;
    new Float:X, Float:Y,Float:Z;
    new string[128];
	new sendername[MAX_PLAYER_NAME];
	GetPlayerName(playerid, sendername, sizeof(sendername));
	format(string, sizeof(string), "", sendername);
	ProxDetector(15.0, playerid, string, WHITE,WHITE,WHITE,WHITE,WHITE);
	GetPlayerPos(playerid,X,Y,Z);
	GetXYInFrontOfPlayer(playerid, X,Y, distance);
	Firerocket[playerid] = CreateObject(354, X,Y,(Z), 0, 0, 0);
    rocketsmoke[playerid] = CreateObject(2780, X,Y,(Z), 0, 0, 0);
    MoveObject(Firerocket[playerid], X, Y, Z+50, 15);
    MoveObject(rocketsmoke[playerid], X, Y, Z+50, 15);
    return 1;
}
CMD:2015(playerid, params[])
{
    SetPlayerTime(playerid, 23, 23); // Ora 22:00
    SetPlayerHealth(playerid, 100); // Vita Full
    SetPlayerArmour(playerid, 100.0); // Armura Full
    SetPlayerPos(playerid, 1510.5238,-1720.4750,13.7969);
    return 1;
}
//******************************************************************************
CMD:santa(playerid, params[])
{
    SetPlayerTime(playerid, 20, 20); // Ora 20:00
    SetPlayerHealth(playerid, 100); // Vita Full
    SetPlayerArmour(playerid, 100.0); // Armura Full
    SetPlayerPos(playerid, 194.4860,3905.0623,2.8642);
    return 1;
}
//AddPlayerClass(0,1489.6477,-1756.9130,29.6406,93.4485,0,0,0,0,0,0); // Lans 1
//AddPlayerClass(0,1483.5320,-1757.2819,29.6406,93.4485,0,0,0,0,0,0); // Lans 2
//AddPlayerClass(0,1478.0500,-1757.9119,29.6406,96.5819,0,0,0,0,0,0); // Lans 3
//AddPlayerClass(0,1472.4427,-1758.3448,29.6406,103.7886,0,0,0,0,0,0); // Lans 4

//AddPlayerClass(217,1499.9271,-1635.8071,14.0469,335.4649,0,0,0,0,0,0); //
//******************************************************************************
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;
}
stock ProxDetector(Float:radi, playerid, string[],col1,col2,col3,col4,col5)
{
	if(IsPlayerConnected(playerid))
	{
		new Float:posx, Float:posy, Float:posz;
		new Float:oldposx, Float:oldposy, Float:oldposz;
		new Float:tempposx, Float:tempposy, Float:tempposz;
		GetPlayerPos(playerid, oldposx, oldposy, oldposz);
		//radi = 2.0; //Trigger Radius
		for(new i = 0; i < MAX_PLAYERS; i++)
		{
			if(IsPlayerConnected(i))
			{
				if(IsPlayerConnected(i))
				{
					GetPlayerPos(i, posx, posy, posz);
					tempposx = (oldposx -posx);
					tempposy = (oldposy -posy);
					tempposz = (oldposz -posz);
					//printf("DEBUG: X:%f Y:%f Z:%f",posx,posy,posz);
					if (((tempposx < radi/16) && (tempposx > -radi/16)) && ((tempposy < radi/16) && (tempposy > -radi/16)) && ((tempposz < radi/16) && (tempposz > -radi/16)))
					{
						SendClientMessage(i, col1, string);
					}
					else if (((tempposx < radi/8) && (tempposx > -radi/8)) && ((tempposy < radi/8) && (tempposy > -radi/8)) && ((tempposz < radi/8) && (tempposz > -radi/8)))
					{
						SendClientMessage(i, col2, string);
					}
					else if (((tempposx < radi/4) && (tempposx > -radi/4)) && ((tempposy < radi/4) && (tempposy > -radi/4)) && ((tempposz < radi/4) && (tempposz > -radi/4)))
					{
						SendClientMessage(i, col3, string);
					}
					else if (((tempposx < radi/2) && (tempposx > -radi/2)) && ((tempposy < radi/2) && (tempposy > -radi/2)) && ((tempposz < radi/2) && (tempposz > -radi/2)))
					{
						SendClientMessage(i, col4, string);
					}
					else if (((tempposx < radi) && (tempposx > -radi)) && ((tempposy < radi) && (tempposy > -radi)) && ((tempposz < radi) && (tempposz > -radi)))
					{
						SendClientMessage(i, col5, string);
					}
				}
				else
				{
					SendClientMessage(i, col1, string);
				}
			}
		}
	}//not connected
	return 1;
}
stock Float:GetXYInFrontOfPlayer(playerid, Float:x, Float:y, Float:distance)
{
    new Float:a;
    GetPlayerPos(playerid, x, y, a);
    if (IsPlayerInAnyVehicle(playerid))
        GetVehicleZAngle(GetPlayerVehicleID(playerid), a);
    else
        GetPlayerFacingAngle(playerid, a);
    x += (distance * floatsin(-a, degrees));
    y += (distance * floatcos(-a, degrees));
    return a;
}
#endif
/*
CMD:setrfire(playerid, params[])
{
	if(FireworkTotal == MAX_LAUNCH)
	{
       SendClientMessage(playerid, COLOR_WHITE, "Ai cumparat numarul maxim de artificii!");
       return 1;
	}
	if(Fired == 1)
	{
       SendClientMessage(playerid, COLOR_WHITE, "Asteapta sa explodeze artificiul!");
	   return 1;
	}
	new string[128];
	format(string, sizeof(string), "%s a aprins un artificiu.", 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));
    Rocket[FireworkTotal] = CreateDynamicObject(3790, x, y, z, 0, 90, 0); // 3786
    RocketLight[FireworkTotal] = CreateDynamicObject(354, x, y, z + 1, 0, 90, 0); // 354
	RocketSmoke[FireworkTotal] = CreateDynamicObject(18716, x, y, z - 4, 0, 0, 0); // 18716 , xmas glob green - 19060 , neon green - 18649.
    RocketGreen[FireworkTotal] = CreateDynamicObject(19060, x, y, z + 1, 0, 90, 0); // 18649
	rx[FireworkTotal] = x;
	ry[FireworkTotal] = y;
	rz[FireworkTotal] = z;
	RocketExplosions[FireworkTotal] = 0;
	FireworkTotal++;
	return 1;
}
CMD:fire(playerid, params[])
{
    if(FireworkTotal == 0)
    {
       SendClientMessage(playerid, COLOR_WHITE, "Nu ai nici un artificiu!");
       return 1;
    }
    if(Fired == 1)
    {
       SendClientMessage(playerid, COLOR_WHITE, "Ai plasat deja focul de artificiu,asteapta sa explodeze!");
       return 1;
    }
    for(new i = 0; i < FireworkTotal; i++)
    {
       CreateExplosion(rx ,ry, rz, 12, 5);
       new time = MoveDynamicObject(Rocket, rx ,ry, rz + RocketHeight, 10);
       MoveDynamicObject(RocketLight, rx ,ry, rz + 2 + RocketHeight, 10);
       MoveDynamicObject(RocketSmoke, rx ,ry, rz + RocketHeight, 10);
       MoveDynamicObject(RocketGreen, rx ,ry, rz + RocketHeight, 10);
       SetTimerEx("Firework", time, 0, "i", i);
    }
    Fired = 1;
	return 1;
}
*/
/*
public Firework(i)
{
	new Float:x, Float:y, Float:z;
	x = rx;
	y = ry;
	z = rz;
	z += RocketHeight;
	if (RocketExplosions == 0)
	{
	    DestroyDynamicObject(Rocket);
	    DestroyDynamicObject(RocketLight);
	    DestroyDynamicObject(RocketSmoke);
	    DestroyDynamicObject(RocketGreen);
	    CreateExplosion(x ,y, z, 4, 9);
	    CreateExplosion(x ,y, z, 5, 9);
	    CreateExplosion(x ,y, z, 6, 9);
	}
	else if (RocketExplosions >= MAX_FIREWORKS)
	{
	    for (new j = 0; j <= RocketSpread; j++)
	    {
	    	CreateExplosion(x + float(j - (RocketSpread / 2)), y, z, 7, 9);
	    	CreateExplosion(x, y + float(j - (RocketSpread / 2)), z, 7, 9);
	    	CreateExplosion(x, y, z + float(j - (RocketSpread / 2)), 7, 9);
	    }
	    RocketExplosions = -1;
	    FireworkTotal = 0;
	    Fired = 0;
	    return 1;
	}
	else
	{
		x += float(random(RocketSpread) - (RocketSpread / 2));
		y += float(random(RocketSpread) - (RocketSpread / 2));
		z += float(random(RocketSpread) - (RocketSpread / 2));
	    CreateExplosion(x, y, z, 7, 9);
	}
	RocketExplosions++;
	SetTimerEx("Firework", 250, 0, "i", i);
	return 1;
}*/
Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. For more details you can also review our Terms of Use and Privacy Policy.