Код:
#include <a_samp>
#define COLOR_RED 0xFF0000AA
#define COLOR_BLUE 0x0000BBAA
new PostaviTim[MAX_PLAYERS];
new PlantedBomb = 0;
new Explode[MAX_PLAYERS];
new SetpScore[MAX_PLAYERS];
new dbomb[MAX_PLAYERS];
public OnGameModeInit()
{
return 1;
}
public OnGameModeExit()
{
return 1;
}
public OnPlayerConnect(playerid)
{
PostaviTim[playerid] = 0;
SetpScore[playerid] = 0;
dbomb[playerid] = 0;
return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
PostaviTim[playerid] = 0;
SetpScore[playerid] = 0;
dbomb[playerid] = 0;
return 1;
}
public OnPlayerSpawn(playerid)
{
if (PostaviTim[playerid] == 0)
{
new Tim = random(2);
switch(Tim)
{
case 0:
{
PostaviTim[playerid] = 1;
//SetPlayerSkin(playerid, ID Skina); // Ovo stavi ako hoces
}
case 1:
{
PostaviTim[playerid] = 2;
//SetPlayerSkin(playerid, ID Skina); // Ovo stavi ako hoces
}
}
}
return 1;
}
public OnPlayerCommandText(playerid, cmdtext[])
{
if (strcmp("/plantbomb", cmdtext, true, 10) == 0)
{
if (PostaviTim[playerid] == 2) return SendClientMessage (playerid, COLOR_RED, "Cops can't plant bomb");
if (!IsPlayerInRangeOfPoint(playerid,2.0,212.9239,1820.3402,6.4216)) return SendClientMessage(playerid,COLOR_RED,"You are not in the place for planting the bomb");
if (PlantedBomb == 1) return SendClientMessage(playerid,COLOR_RED,"Bomb is already planted!");
PlantedBomb = 1;
SetpScore[playerid] = 1;
GameTextForAll("~r~Bomb has been planted!",3000,5);
Explode[playerid] = SetTimerEx("Explosion", 300000, false, "i", playerid);
}
if (strcmp("/defusebomb", cmdtext, true, 10) == 0)
{
if (PostaviTim[playerid] == 2)
{
if (!IsPlayerInRangeOfPoint(playerid,2.0,212.9239,1820.3402,6.4216)) return SendClientMessage(playerid,COLOR_RED,"You are not in the place for planting the bomb");
if (PlantedBomb == 0) return SendClientMessage(playerid,COLOR_RED,"Bomb is not planted!");
SendClientMessage(playerid,COLOR_RED,"You are defusing a bomg, please wait...");
dbomb[playerid] = 1;
SetTimerEx("Defusion", 20000, false, "i", playerid);
}
else
{
SendClientMessage (playerid, COLOR_RED, "Only cops can defuse bomb");
}
}
return 0;
}
forward Explosion(playerid);
public Explosion(playerid)
{
if(SetpScore[playerid] == 1)
{
SetPlayerScore(playerid, GetPlayerScore(playerid) + 5);
SetpScore[playerid] = 0;
GivePlayerMoney(playerid, 10000);
SetPlayerScore(playerid, GetPlayerScore(playerid) + 5);
SendClientMessage(playerid, COLOR_RED, "Bomb:you got +5 score and 10000$ for planting bomb");
}
GameTextForAll("~r~Bomb exploded",6000,5);
CreateExplosion(212.9239,1820.3402,6.4216,12,20.0);
PlantedBomb = 0;
return 1;
}
forward Defusion(playerid);
public Defusion(playerid)
{
if(dbomb[playerid] == 1)
{
GivePlayerMoney(playerid, 10000);
SetPlayerScore(playerid, GetPlayerScore(playerid) + 5);
SendClientMessage(playerid, COLOR_RED, "Bomb:you got +5 score and 10000$ for defusing bomb");
dbomb[playerid] = 0;
}
KillTimer(Explode[playerid]);
GameTextForAll("~r~Bomb defused",6000,5);
PlantedBomb = 0;
return 1;
}