Hey Leute.. Ich will euch mal ein Gescheites Robsystem für die LS - Bank vorstellen !! (Komplett selbst gemacht)
Undzwa Funktioniert es wie folgt:
Der Räuber gibt /robbank ein (was nur jede 4 stunden möglich ist)...
Dan muss der Räuber 5 Minuten in der Bank bleiben er darf nicht rausgehen..
Geht der Räuber raus oder wird gekillt ist der Bankraub fehlgeschlagen..
______________________________________________________________________________________________________
ganz oben kommt das hin:
forward bankcountdown();
new glav;
new reauber[MAX_PLAYERS];
new rauberlauben;
//bank countdown
new bankcountdown1;
new bankcountdown2;
new bankcountdown3;
new bankcountdown4;
new bankcountdown5;
new ausgeraubt1;
forward raubin4min();
forward raubin3min();
forward raubin2min();
forward raubin1min();
forward raubin30sek();
Unter public OnPlayerCommand... macht ihr den Raubcommand rein!
if(strcmp(cmd, "/robbank", true) == 0)
{
if (PlayerInfo[playerid][pLevel] >= 1)
{
if (PlayerToPoint(20, playerid,2312.2136,-6.9591,26.7422))//mitten in der bank ls
{
if(IsPlayerConnected(playerid))
{
if(rauberlauben == 0)
{
SendClientMessage(playerid, COLOR_RED, "__________________________________________________________________________________");
SendClientMessage(playerid,COLOR_YELLOW,"Sie haben die Bank ausgeraubt.");
SendClientMessage(playerid,COLOR_YELLOW,"Wenn sie es schaffen 5 Minuten in der Bank zubleiben bekommen sie das Geld");
SendClientMessage(playerid, COLOR_RED, "__________________________________________________________________________________");
new s[100];
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
format(s,sizeof(s),"%s hat die Bank ausgeraubt... und ist auf der Flucht<---",name);
SendClientMessageToAll(COLOR_LIGHTBLUE,s);
reauber[playerid] = 1;
rauberlauben = 1;
glav = 14400;
ausgeraubt1 = SetTimerEx("ausgeraubt", 300000,false,"d",playerid);
bankcountdown1 = SetTimer("raubin4min", 60000, 0);
SetPlayerColor(playerid, 0xFF66FFAA);
SetPlayerCriminal(playerid,255, "Ausraub der Bank");
WantedLevel[playerid]+=3;
}
else
{
new s[100];
format(s,sizeof(s),"Die Bank kann erst wieder in %d Sekunden ausgeraubt werden.(%d Minuten)(ca:%d Stunden)",glav,glav/60,glav/3600);
SendClientMessage(playerid,COLOR_LIGHTBLUE,s);
}
}
else
{
SendClientMessage(playerid, COLOR_GREY, "Du bist nicht in der LS Bank!");
}
}
else
{
SendClientMessage(playerid, COLOR_GREY, "Du musst Level 2 sein um die Bank auszurauben");
}
}
return 1;
}
Unter public OnGamemodeI... macht ihr das unter die anderen Timer!
SetTimer("bankcountdown",1000,1);
Ganz unten unter den GM kommt das:
public bankcountdown()
{
glav--;
}
Darunter macht ihr das :
public ausgeraubt(playerid)
{
GivePlayerPCash(playerid, 50000);
new s[100], name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
format(s,sizeof(s),"%s °°°°° hat die Bank erfolgreich ausgeraubt",name);
SendClientMessageToAll(COLOR_LIGHTBLUE,s);
SendClientMessage(playerid,COLOR_ORANGE,"Hertzlichen Glückwunsch. Du hast es geschaft die Bank auszurauben");
glav = 14400;
}
public raubin4min()
{
SendClientMessageToAll(COLOR_LIGHTBLUE,"Der Räuber hat in 4 Minuten die Bank ausgeraubt");
bankcountdown2 = SetTimer("raubin3min",60000, 0);
return 1;
}
public raubin3min()
{
SendClientMessageToAll(COLOR_LIGHTBLUE,"Der Räuber hat in 3 Minuten die Bank ausgeraubt");
bankcountdown3 = SetTimer("raubin2min",60000, 0);
return 1;
}
public raubin2min()
{
SendClientMessageToAll(COLOR_LIGHTBLUE,"Der Räuber hat in 2 Minuten die Bank ausgeraubt");
bankcountdown4 = SetTimer("raubin1min",60000, 0);
return 1;
}
public raubin1min()
{
SendClientMessageToAll(COLOR_LIGHTBLUE,"Der Räuber hat in 30 Sekunden die Bank ausgeraubt");
bankcountdown5 = SetTimer("raubin30sek",30000, 0);
return 1;
}
public rauberlauben1()
{
rauberlauben = 0;
return 1;
}
Unter public OnPlayerDeath macht ihr das noch rein damit der Bankraub fehlschlägt wen der räuber stirbt:
if (PlayerToPoint(20.0, playerid,2305.6890,-16.0881,26.7496))
{
if(reauber[playerid] == 1)
{
new s[100];//, name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
reauber[playerid] = 0;
glav = 14400;
KillTimer(bankcountdown1);
KillTimer(bankcountdown2);
KillTimer(bankcountdown3);
KillTimer(bankcountdown4);
KillTimer(bankcountdown5);
KillTimer(ausgeraubt1);
SetTimer("rauberlauben1", 14400000, 0);
format(s,sizeof(s),"%s wurde GETÖTET. Der Bankraub ist fehlgeschlagen!!!",name);
SendClientMessageToAll(COLOR_LIGHTBLUE,s);
}
return 1;
}
Und zuletzt noch das hier unter den befehl /exit machen!
if (PlayerToPoint(2.0, playerid,2305.6890,-16.0881,26.7496))
{
if(reauber[playerid] == 1)
{
new s[100], name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
SetTimer("rauberlauben1", 14400000, 0);
reauber[playerid] = 0;
glav = 14400;
KillTimer(bankcountdown1);
KillTimer(bankcountdown2);
KillTimer(bankcountdown3);
KillTimer(bankcountdown4);
KillTimer(bankcountdown5);
KillTimer(ausgeraubt1);
format(s,sizeof(s),"%s °°°°°° Hat die Bank Verlassen. Der Bankraub ist fehlgeschlagen!!!",name);
SendClientMessageToAll(COLOR_LIGHTBLUE,s);
}
}
Sollte etwas fehlen einfach melden.. Bei mir Funktioniert es einwandfrei.
Viel Spaß !
Vorschläge oder Kritik ist Natürlich selbstverständlich