Hallo Breadfish
Ich wollte es so scripten dass wenn man die Bank ausraubt und dabei stirbt dass der Bankraub abgebrochen wird. Irgendwie geht es nicht.
Was mache ich falsch?
if(strcmp(cmd, "/bankraub", true) == 0 || strcmp(cmd, "/bankrob", true) == 0)
{
if(PlayerInfo[playerid][pTot] == 1)
{
SendClientMessage(playerid, COLOR_GREY, "Tote können keine Befehle nutzen!");
return 1;
}
if(!IsPlayerInRangeOfPoint(playerid,2.0,2942.8362,-1769.3473,1178.4684))
{
SendClientMessage(playerid,COLOR_WHITE,"Du bist nicht in der Bank!");
return 1;
}
if(IsACop(playerid) || PlayerInfo[playerid][pMember] == 22 || PlayerInfo[playerid][pLeader] == 22 ||PlayerInfo[playerid][pMember] == 7 || PlayerInfo[playerid][pLeader] == 7)return SendClientMessage(playerid, COLOR_RED, "Du bist in einer Staatlichen Fraktion!");
new Cops = 0;
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(PlayerInfo[i][pMember] == 1 || PlayerInfo[i][pLeader] == 1 || PlayerInfo[i][pLeader] == 2 || PlayerInfo[i][pMember] == 2 || PlayerInfo[i][pLeader] == 3 || PlayerInfo[i][pMember] == 3)
{
Cops += 3;
}
}
}
if(Cops < 4)// Anzahl von Polizisten die online sein müssen
{
SendClientMessage(playerid, rot, "Es sind nicht genug Polizisten online!");
return 1;
}
if(rob == 1)
{
SendClientMessage(playerid,0xAA3333AA,"Die Bank wurde gerade erst überfallen!");
return 1;
}
rob = 1;
SetTimer("Rob_Reset",7200000,0); // Nach 120 Minuten erst wieder ausrauben
SetTimerEx("Rob_UnFreeze",600000,0,"i",playerid); // Nach 10 Minuten Bank überfallen
SetPlayerAttachedObject(playerid, 1, 1550, 1, 0.018999, -0.270000, -0.027000, 1.099999, 89.999992, 158.299942, 1.000000, 1.000000, 1.000000); // Skin 4
OnPlayerCommandText(playerid,"/s Das ist ein Überfall alle auf dem Boden sofort!!!!");
OnPlayerCommandText(playerid,"/s Hände weg von dem Knopf oder du verlierst dein Kopf!!!");
SendClientMessage(playerid,rot,"Verlasse die Bank nicht bevor das Geld eingepackt worden ist!");
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(IsACop(i))
{
SendClientMessage(i,COLOR_ORANGE,"HQ: Achtung Alle Einheiten! Eine Meldung vom Bank Security System!");
SendClientMessage(i,COLOR_ORANGE,"HQ: Verbrechen: Banküberfall, Gesuchter: Unbekannt");
SendClientMessage(i,COLOR_ORANGE,"HQ: Begeben sie sich sofort zur Los Santos Bank!");
}
}
}
return 1;
}
Function Rob_UnFreeze(playerid)
{
if(IsPlayerInRangeOfPoint(playerid,35.0,2942.8362,-1769.3473,1178.4684))
{
new randmoney = 350000+ random(30000);
GivePlayerMoney(playerid,randmoney);
new string[128];
format(string,sizeof(string),"{FFFFFF}Du hast {009933}%d$ {FFFFFF}ausgeraubt!",randmoney);
SendClientMessage(playerid,COLOR_WHITE,string);
if(IsPlayerAttachedObjectSlotUsed(playerid, 1)) RemovePlayerAttachedObject(playerid, 1);
SetTimerEx("Rob_Cop",30000+random(10000),0,"i",playerid); // Nach 1 minute
}
else
{
SendClientMessageToAll(ORANGE,"News: Der Bankraub wurde soeben von dem Räuber abgebrochen.");
SendClientMessage(playerid,rot," Du hast die Bank Verlassen. Der Bankraub wurde abgebrochen");
if(IsPlayerAttachedObjectSlotUsed(playerid, 1)) RemovePlayerAttachedObject(playerid, 1);
return 1;
}
return 1;
}
if(PlayerInfo[playerid][Rob_UnFreeze] == true) //<----- Das Habe ich bei OnplayerDeath geschrieben aber genau das hier klappt nicht.
{
SendClientMessageToAll(orange,"News: Die Polizei könnte den Bankräuber töten.");
SendClientMessage(playerid,rot,"Du bist am Bankraub gestorben.");
SetTimer(Playerinfo[playerid][Rob_Reset]);
rob = 0;
Playerinfo[playerid][Rob_UnFreeze] = false;
}