Jump to content
  • 0

Cerere Ajutor Rocket Fire Green


Question

Posted (edited)

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

16 answers to this question

Recommended Posts

  • 0
Posted

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..

 

 

  • 0
Posted

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

  • 0
Posted (edited)

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

 

 

  • 0
Posted

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

Posteaza si restul si te ajutam.

 

 

  • 0
Posted

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;
}*/
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.