Guten Tag,
ich habe ein kleines, bzw. großes Problem.
Mein Bankrob funktioniert nicht wie es soll.
Ich habe um das System zu testen den Timer auf 1000 gestellt, damit der Raub nach 1 Sekunde glückt, aber es passiert einfach gar nichts.
Im Chat steht ich muss eine Sekunden warten damit es glückt, aber nach einer Sekunde passiert auch nichts.
Hier mein Bankrob System:
Ganz oben:
new Bankrob;
forward BankrobTimer();
forward BankrobZeit(playerid);
forward Geldwaesche(playerid);
new BankrobCP[MAX_PLAYERS];
Bei OnGameModeInit:
Bankrob = 1;
Hier der Rob Befehl:
if(strcmp(cmdtext,"/rob",true) == 0)
{
if(GetPVarInt(playerid,"loggedin")==0)return SendClientMessage(playerid,COLOR_RED,"Du musst eingeloggt sein um diesen Befehl zu nutzen.");
if(!IsPlayerMember(playerid,1) || !IsPlayerLeader(playerid,1))
{
if(IsPlayerInRangeOfPoint(playerid,5,2315.5374,-0.7549,26.7422))
{
if(Bankrob == 1)
{
new string[128];
format(string, sizeof(string), "SAN News Bot: Eilmeldung, die Bank wird ausgeraubt!");
SendClientMessageToAll(COLOR_ORANGE,string);
format(string, sizeof(string), "SAN News Bot: Die Bankräuber sind unbekannt, wir bitten das LVPD sich zur Bank zu begeben.");
SendClientMessageToAll(COLOR_ORANGE,string);
SendClientMessage(playerid,COLOR_GREEN,"Du raubst nun die Bank aus, versuche nun 1 Sekunden zu überleben!");
format(string, sizeof(string), "%s schreit: Hände hoch, das ist ein Überfall!!!",SpielerName(playerid));
SMessage(playerid,COLOR_WHITE,string,30);
SetTimer("BankRobTimer",3600000,0);
SetTimer("BankRobZeit",10000,0);
Bankrob = 0;
}
else
{
SendClientMessage(playerid, COLOR_RED, "Die Bank kann nur jede halbe Stunde ausgeraubt werden.");
}
}
else
{
SendClientMessage(playerid, COLOR_RED, "Du bist nicht in der Bank am Tresorraum.");
}
}
else
{
SendClientMessage(playerid,COLOR_RED,"Du kannst als Polizist nicht die Bank ausrauben.");
}
return 1;
}
Bei OnPlayerEnterCheckpoint:
if(BankrobCP[playerid] == 1)
{
DisablePlayerCheckpoint(playerid);
SetTimer("Geldwaesche",180000,0);
SendClientMessage(playerid,COLOR_GREEN,"Das Geld wird nun gewaschen, dies dauert 3 Minuten, sei in 3 Minuten wieder an dieser Stelle!");
return 1;
}
Hier die ganzen Timer:
public BankrobTimer()
{
Bankrob = 1;
return 1;
}
public BankrobZeit(playerid)
{
if(!IsPlayerInRangeOfPoint(playerid,35,2315.5374,-0.7549,26.7422))
{
SendClientMessage(playerid,COLOR_GREEN,"Du hast die Bank erfolgreich ausgeraubt!");
SendClientMessage(playerid,COLOR_GREEN,"Fahre nun zum roten Marker auf der Karte um das Geld waschen zu lassen, du hast dafür 3 Minuten Zeit.");
SetTimer("Geldwaesche",180000,0);
SetPlayerAttachedObject( playerid, 0, 1550, 1, 0.061300, -0.197275, -0.053972, 0.000000, 82.190292, 131.504791, 1.000000, 1.000000, 1.000000 ); // CJ_MONEY_BAG -
new tname[MAX_PLAYER_NAME], string[123];
GetPlayerName(playerid,tname,sizeof(tname));
format(string, sizeof(string), "SAN News Bot: Der Täter wurde vom LVPD identifiziert!");
SendClientMessageToAll(COLOR_ORANGE, string);
format(string, sizeof(string), "SAN News Bot: Sein Name lautet %s und er befindet sich noch in der Bank!!", tname);
SendClientMessageToAll(COLOR_ORANGE, string);
SetPlayerCheckpoint(playerid,2316.0884,1800.7500,10.8203,5.0);
BankrobCP[playerid] = 1;
}
else
{
new tname[MAX_PLAYER_NAME], string[123];
GetPlayerName(playerid,tname,sizeof(tname));
SendClientMessage(playerid,COLOR_RED,"Du hast die Bank verlassen, somit ist der Bankraub fehlgeschlagen.");
format(string, sizeof(string), "SAN News Bot: Der Täter hat die Bank verlassen. Der Banküberfall ist somit gescheiteer.");
SendClientMessageToAll(COLOR_ORANGE, string);
format(string, sizeof(string), "SAN News Bot: Sein Name lautet nach angaben des LVPD's %s!", tname);
SendClientMessageToAll(COLOR_ORANGE, string);
return 1;
}
return 1;
}
public Geldwaesche(playerid)
{
if(IsPlayerInRangeOfPoint(playerid,10,2316.0884,1800.7500,10.8203))
{
SendClientMessage(playerid,COLOR_GREEN,"Das Geld wurde erfolgreich gewaschen, du hast $15.000 gestohlen.");
GivePlayerMoney(playerid,15000);
}
return 1;
}
Ich hoffe jemand kann mir helfen.
Mit freundlichen Grüßen,
Mr.Cro997