Hallo Leute ,
ich dachte mir mal ich zeig euch wie ihr ein BankRaub System erstellen könnt.
Es ist eig. garkein tutorial eher ein kleiner Code^^
Fangen wir mal an:
1. Das new
Wir erstellen uns ein New für den BankRaub
Ganz Oben im script
new Bankraub;
ihr könnt es auch Bankrob nennen , es spielt eine kleine Rolle.
2. Der Befehl
Jetzt ist der Befehl an der Reihe ,
Ich nutze mal die normale SaMp Function ,
das kommt Unter OnPlayerCommandText
if(strcmp(cmd, "/braub", true) == 0)
so das war der Befehl ,
jetzt kommen wir mal zum wichtigsten , dem InHalt
Wir wollen ja das der User neber dem Tresor stehen soll ,
if(!IsPlayerInRangeOfPoint(playerid,3.0,x,y,z))
die 3.0 steht für die Reichweite , also das der User min. 3 meter neber dem tresor stehen soll.
die x y z musst ihr an eurer Bank anpassen.
Jetzt setzen wir das New ein ,
Bankraub = 1;
jetzt ist dem Script klar das die Bank ausgeraubt wurde.
Jetzt können wir dem User eine Nachricht senden:
SendClientMessage(playerid,0xFF2800FF,"Du raubst die Bank aus!");
Jetzt kommt ein Timer ins Spiel
SetTimer("Bankraub_Reset",1800000,0);
den Timer bauen wir später weiter aus. die 1800000 ist die Zeit , indem fall 60 Minuten . Ers fürs Ausrauben zuständig.
Jetzt kommt noch ein 2 Timer
SetTimerEx("BankRaub_Erfolg",100000,0,"i",playerid);
Das ist jetzt der Wichtige Timer , mit diesen erbeutet man das Geld z.B
die 10000 sind jetzt 2 Minuten ungefähr.
jetzt noch eine Nachricht an die Cops
if(Deine Fraktions abfrage)
da bitte eure Cop Anfrage erfüllen , z.B Playerinfo[Fraktion][1] o.ä
dan ein SendClient Message
SendClientMessage(i,COLOR_RED,"Achtung Alle Einheiten! Eine Meldung von der Bank!");
SendClientMessage(i,COLOR_RED,"Verbrechen: Bank Überfall, Gesuchter: Unbekannt");
SendClientMessage(i,COLOR_RED,"Begeben sie sich sofort zur Bank!");
den Text könnt ihr auch ruhig ändern
3. Die Timer
Ganz unten im Script
Der Reset des Bank Raubes
Function BankRaub_Reset()
{
Bankraub = 0;
return 1;
} er dient dazu , das man wieder die Bank ausrauben kann.
Jetzt zur Beute
Function Bankraub_erfolg(playerid)
{
if(IsPlayerInRangeOfPoint(playerid,35.0,x,y,z))//Das Bank interior
{
//UnFreezePlayer(playerid);
new string[128];
format(string,sizeof(string),"Du hast Das Geld erbeutet! Gehe jetzt schnell weg!");//Die Nachricht an den User
GivePlayerMoney(playerid, DIE BEUTE DIE MAN BEIM BANKRAUB HABEN SOLL);//Das Geld
SendClientMessage(playerid,COLOR_GREEN,string);
SetTimerEx("Function BankRob_Cop",80000+random(90000),0,"i",playerid); // Nach 1 minute
}
else
{
SendClientMessage(playerid,0xAA3333AA," Da du die Bank verlassen hast , hast du kein geld!!");
return 1;
}
return 1;
}
Wir haben jetzt noch einen Neuen Timer undzwar den BankRob_Cop
der dient dazu den Cops den verbrechen zu sagen:
Function BankRob_Cop(playerid)
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(DEINE COP ABFRAGE(i))
{
new sendername[MAX_PLAYER_NAME],string[123];//Hier der Name des verbrechers
GetPlayerName(playerid,sendername,sizeof(sendername));//Hier wird er aufgezählt
SendClientMessage(i,TEAM_BLUE_COLOR,"HQ: Achtung! Das Sicherheits System der Bankmelded!");//Die Nachticht
format(string,sizeof(string),"HQ: Der Täter heißt %s und befindet sich noch im Schiff!",sendername);//Hier wird der Täter verpetzt.
SendClientMessage(i,TEAM_BLUE_COLOR,string);//Hier eure Farbe
}
}
}
return 1;
}
4. Das Zusammen gefasste
Bitte net Copy&Paste.
Oben im Script
new Bankraub;
Unter OnPlayerCommandText
if(strcmp(cmd, "/braub", true) == 0)
{
if(IsPlayerInRangeOfPoint(playerid,3.0,x,y,z))
{
Bankraub = 1;//Setz den Raub in die Tat um
SendClientMessage(playerid,0xFF2800FF,"Du raubst die Bank aus!");//Ein text an den Räuber
SetTimer("Bankraub_Reset",1800000,0);//Der Timer zum Neuausrauben
SetTimerEx("BankRaub_Erfolg",100000,0,"i",playerid);//Der Timer zum Geld
if(Deine Fraktions abfrage)//Hier die Cops halt^^
{
for(new i = 0; i < MAX_PLAYERS; i++)//damit die Cops bescheid wissen
{
SendClientMessage(i,0xFF2800FF,"Achtung Alle Einheiten! Eine Meldung von der Bank!");
SendClientMessage(i,0xFF2800FF,"Verbrechen: Bank Überfall, Gesuchter: Unbekannt");
SendClientMessage(i,0xFF2800FF,"Begeben sie sich sofort zur Bank!");
}
}
}
else//Falls Er net in der Bank ist
{
SendClientMessage(playerid,0xFF2800FF,"Du bist nicht in der Bank");
}
}
Ganz unten im Script:
Function Bankraub_erfolg(playerid)
{
if(IsPlayerInRangeOfPoint(playerid,35.0,x,y,z))//Das Bank interior
{
//UnFreezePlayer(playerid); //muss net sein
new string[128];//Die Länge des textes ^^
format(string,sizeof(string),"Du hast Das Geld erbeutet! Gehe jetzt schnell weg!");//Die Nachricht an den User
GivePlayerMoney(playerid, DIE BEUTE DIE MAN BEIM BANKRAUB HABEN SOLL);//Das Geld
SendClientMessage(playerid,COLOR_GREEN,string);//Die Nachricht ^^
SetTimerEx("Function BankRob_Cop",80000+random(90000),0,"i",playerid); // Nach 1 minute
}
else
{
SendClientMessage(playerid,0xAA3333AA," Da du die Bank verlassen hast , hast du kein geld!!");//Fals er weg geht
return 1;
}
return 1;
}
Function BankRaub_Reset()
{
Bankraub = 0;//Setz den BankRaub wieder auf 0 , sprich mann kan nochmal ausrauben
return 1;
}
Function BankRob_Cop(playerid)
{
for(new i = 0; i < MAX_PLAYERS; i++)//die cops ^^
{
if(IsPlayerConnected(i))//das muss auch net umbedingt sein ^^
{
if(DEINE COP ABFRAGE(i))//Hier bitte deine Cop Anfrage rein
{
new sendername[MAX_PLAYER_NAME],string[123];//Hier der Name des verbrechers
GetPlayerName(playerid,sendername,sizeof(sendername));//Hier wird er aufgezählt
SendClientMessage(i,TEAM_BLUE_COLOR,"HQ: Achtung! Das Sicherheits System der Bankmelded!");//Die Nachticht
format(string,sizeof(string),"HQ: Der Täter heißt %s und befindet sich noch im Schiff!",sendername);//Hier wird der Täter verpetzt.
SendClientMessage(i,TEAM_BLUE_COLOR,string);//Hier eure Farbe
}
}
}
return 1;
}
Viel Spaß beim Scripten
p.S Wenn ich etwas Falsch gemacht hab bitte schreiben
p.S² Das meiste ist davon freihand , beinhalten!