Tessék. Parancsok: /bombavesz | /bombalerak | /bombarobbant
A robbanáson 10 másodperces késleltetés van. Szükséges a fordításhoz: ZCMD
Bármi kérdésed lenne írj nyugodtan Privát Üzenetet
#include
#include
//Változók
new bomba[MAX_PLAYERS];
new BombaVan[MAX_PLAYERS];
new Bombalerakva[MAX_PLAYERS];
new Float:px, Float:py, Float:pz;
//========
//Definiálások
#define SCM SendClientMessage
#define C_HIBA 0xBFC0C2FF
#define C_PIROS 0xFF0000AA
//========
CMD:bombalerak(playerid)
{
if(IsPlayerConnected(playerid))
{
if(BombaVan[playerid] == 1)
{
GetPlayerPos(playerid, px, py, pz);
bomba[playerid] = CreateObject(1654, px, py, pz - 0.8, 360.0, 0.0, 0.0);
Bombalerakva[playerid] = 1;
SCM(playerid, C_PIROS, \"Leraktad a bombát! Robbantáshoz: /bomba robbant\");
SCM(playerid, C_PIROS, \"!!!Csak 100m-es távolságban mûködik!!!\");
}
else { SCM(playerid, C_HIBA, \"Nincs nálad bomba!\"); }
}
return 1;
}
CMD:bombarobbant(playerid)
{
if(IsPlayerConnected(playerid))
{
if(Bombalerakva[playerid] == 1)
{
if(PlayerToPoint(100.0, playerid, px, py, pz))
{
SetTimerEx(\"Robbant\", 10000, 0, \"i\", playerid);
SCM(playerid, C_PIROS, \"A bomba 10mp múlva robban!\");
Bombalerakva[playerid] = 0;
}
else { SCM(playerid, C_HIBA, \"Már nem vagy a hatósugaron belül!\"); }
}
else { SCM(playerid, C_HIBA, \"Nincs is lerakva bomba..\"); }
}
return 1;
}
CMD:bombavesz(playerid)
{
if(IsPlayerConnected(playerid))
{
/*if(GetPlayerMoney(playerid) > 9999)
{*/
BombaVan[playerid] = 1;
SCM(playerid, C_PIROS, \"Vettél egy bombát!\");
/*GivePlayerMoney(playerid, -10000); */
/*}
else SCM(playerid, C_HIBA, \"Nincs elég pénzed 10.000$ kell\");*/
//Ha szeretnÈd, hogy pénzért legyen akkor vedd ki a \"/*\" és a \"*/\" jelzéseket és állítsd be.
}
return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
DestroyObject(bomba[playerid]);
return 1;
}
forward Robbant(playerid);
public Robbant(playerid)
{
CreateExplosion(px,py, pz, 1, 30);
SendClientMessage(playerid, C_PIROS, \"A bombád felrobbant!\");
DestroyObject(bomba[playerid]);
return 1;
}
forward PlayerToPoint(Float:radi, playerid, Float:x, Float:y, Float:z);
public PlayerToPoint(Float:radi, playerid, Float:x, Float:y, Float:z)
{
if(IsPlayerConnected(playerid))
{
new Float:oldposx, Float:oldposy, Float:oldposz;
new Float:tempposx, Float:tempposy, Float:tempposz;
GetPlayerPos(playerid, oldposx, oldposy, oldposz);
tempposx = (oldposx -x);
tempposy = (oldposy -y);
tempposz = (oldposz -z);
//printf(\"DEBUG: X:%f Y:%f Z:%f\",posx,posy,posz);
if (((tempposx < radi) && (tempposx > -radi)) && ((tempposy < radi) && (tempposy > -radi)) && ((tempposz < radi) && (tempposz > -radi)))
{
return 1;
}
}
return 0;
}
forward PlayerToPointStripped(Float:radi, playerid, Float:x, Float:y, Float:z, Float:curx, Float:cury, Float:curz);
public PlayerToPointStripped(Float:radi, playerid, Float:x, Float:y, Float:z, Float:curx, Float:cury, Float:curz)
{
if(IsPlayerConnected(playerid))
{
new Float:tempposx, Float:tempposy, Float:tempposz;
tempposx = (curx -x);
tempposy = (cury -y);
tempposz = (curz -z);
if (((tempposx < radi) && (tempposx > -radi)) && ((tempposy < radi) && (tempposy > -radi)) && ((tempposz < radi) && (tempposz > -radi))) return 1;
}
return 0;
}