Guck mal im Showroom da gibts ein Filterscript dazu.
Aber wir hatten es immer so:
new Float:b1,Float:b2,Float:b3;
new countdown = 0;
new countdowns;
new deto;
new bombenleger[MAX_PLAYER_NAME];
new bombe;
new bomb = 0;
forward count_down();
forward bombabkling();
forward detonation();
//---------------------------[/bomb und /defuse]
if(strcmp(cmd, "/bombe", true) == 0)
{
if(PlayerInfo[playerid][pMember] == 12 || PlayerInfo[playerid][pLeader] == 12)
{
if (bomb == 0)
{
GetPlayerName(playerid, bombenleger, sizeof(bombenleger));
//new Float:b1,Float:b2,Float:b3;
GetPlayerPos(playerid, b1, b2, b3);
bombe = CreatePickup(1252 ,1, b1+2,b2,b3);
deto = SetTimer("detonation", 300000, 0);
countdowns = SetTimer("count_down", 295000, 0);
countdown = 1;
bomb = 1;
SetPlayerColor(playerid, COLOR_RED);
for(new i = 0; i < MAX_PLAYERS; i++)
{
SetPlayerCheckpoint(i, b1,b2,b3,600);
}
SetTimer("bombabkling", 7200000, 0);
SendClientMessage(playerid, COLOR_GREEN, "Du hast eine Bombe gelegt die in 5 Minuten explodiert!");
SendCopMessage(COLOR_RED, "==================[Alarmstufe : ROT]=====================");
SendCopMessage(COLOR_RED, "Eine Bombe wurde gelegt. In 5 Minuten wird sie explodieren!");
SendCopMessage(COLOR_RED, "Mit /defuse kannst du diese Bombe entschärfen!");
SendCopMessage(COLOR_RED, "Ein Rang 5 Mitglied ist verflichtet Infos zum Standort zu geben!");
SendCopMessage(COLOR_RED, "==================[Alarmstufe : ROT]=====================");
SendCopMessage(COLOR_GREY, "Der Bombenleger ist jetzt ROT markiert, so können sie die Bombe finden!");
SendClientMessageToAll(COLOR_RED, "STAAT: Es wurde eine Bombe gelegt, die Polizei / das F.B.I. / die Army wird weitere Info´s geben!");
}
else
{
SendClientMessage(playerid, COLOR_RED, "Bombenlegen ist nur alle 2 Stunden möglich !");
}
}
else
{
SendClientMessage(playerid, COLOR_RED, "Du hast keine Bombe und weißt nicht wie sowas geht !");
}
return 1;
}
if(strcmp(cmd, "/defuse", true) == 0)
{
if(bomb != 0)
{
if(PlayerToPoint(4.0, playerid, b1, b2, b3))
{
if(IsACop(playerid))
{
KillTimer(deto);
KillTimer(countdowns);
new defuser[MAX_PLAYER_NAME];
GetPlayerName(playerid, defuser, sizeof(defuser));
format(string, sizeof(string), "Der Beamte %s hat die Bombe erfolgreich entschärft !", defuser);
SendClientMessageToAll(COLOR_NEWS, string);
DestroyPickup(bombe);
}
else
{
SendClientMessage(playerid, COLOR_RED, "Du weißt nicht wie das geht, lass besser die Profis ran !");
}
}
else
{
SendClientMessage(playerid, COLOR_RED, "Es ist keine Bombe in der Nähe");
}
}
return 1;
}
public detonation()
{
new bombennachricht[256];
format(bombennachricht, sizeof(bombennachricht), "Die Bombe ist detoniert, der Bombenleger war %s", bombenleger);
SendClientMessageToAll(COLOR_RED, bombennachricht);
CreateExplosion(b1,b2,b3, 6, 350);
CreateExplosion(b1+2,b2,b3,6, 350);
CreateExplosion(b1-5,b2,b3,6, 350);
CreateExplosion(b1+10,b2-5,b3,5, 600);
for(new i = 0; i < MAX_PLAYERS; i++)
{
DisablePlayerCheckpoint(i);
}
DestroyPickup(bombe);
return 0;
}
public bombabkling()
{
bomb = 0;
return 1;
}
public count_down()
{
if(countdown == 1)
{
GameTextForAll("~w~5",1000,3);
countdown = 2;
countdowns = SetTimer("count_down", 1000, 0);
return 1;
}
if(countdown == 2)
{
GameTextForAll("~g~4",1000,3);
countdown = 3;
countdowns = SetTimer("count_down", 1000, 0);
return 1;
}
if(countdown == 3)
{
GameTextForAll("~b~3",1000,3);
countdown = 4;
countdowns = SetTimer("count_down", 1000, 0);
return 1;
}
if(countdown == 4)
{
GameTextForAll("~l~2",1000,3);
countdown = 5;
countdowns = SetTimer("count_down", 1000, 0);
return 1;
}
if(countdown == 5)
{
GameTextForAll("~r~1",1000,3);
countdown = 6;
countdowns = SetTimer("count_down", 1000, 0);
return 1;
}
if(countdown == 6)
{
GameTextForAll("~r~ BOOOM",1000,3);
countdown = 0;
return 1;
}
return 0;
}
Wenn du willst kann ich es noch auf Englisch übersetzen, du scheinst ja nicht aus Deutschland zu kommen ;).
Achja SendCopMessage habe ich extra gemacht, du kannst es in SendRadioMessage umändern oder das hier einfügen:
forward SendCopMessage(color, string[]);
public SendCopMessage(color, string[])
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(IsACop(i))
{
SendClientMessage(i, color, string);
}
}
}
}