Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <a_samp>
- #include <utils>
- #define COLOR_YELLOW 0xFFFF00AA
- #define COLOR_ORANGE 0xFF9900AA
- #define COLOR_RED 0xAA3333AA
- #define COLOR_WHITE 0xFFFFFFAA
- #define COLOR_LIGHTBLUE 0x33CCFFAA
- new robtresor[MAX_PLAYERS];
- new tresorrobbing = 0;
- new tresorrobtime = 12; //Angabe für die Wartezeit, wann der Tresor wieder ausgeraubt werden kann (in Stunden; 0 für keine Wartezeit)
- new twanteds = 3; //Anzahl der Wanteds, die für das Platzieren einer Bombe am Tesor, vergeben werden.
- new gmoney = 7500; //Angabe für das Geld, das sich in einer Tasche befindet (wird am Ende *2 genommen)
- new tresorbombe1;
- new tresorbombe2;
- new tbombe = 0;
- new trobm = 0;
- new geldsack[MAX_PLAYERS];
- new TresorTor1;
- new TresorTor2;
- new Float:tresorX,Float:tresorY,Float:tresorZ;
- public OnFilterScriptInit()
- {
- return 1;
- }
- public OnPlayerCommandText(playerid, cmdtext[])
- {
- new cmd[256];
- new tmp[256];
- new string[256];
- new idx;
- new giveplayerid;
- new sendername[MAX_PLAYER_NAME];
- new giveplayer[MAX_PLAYER_NAME];
- new moneys;
- GetPlayerName(playerid,sendername,sizeof(sendername));
- cmd = strtok(cmdtext, idx);
- if(strcmp(cmd, "/take", true) == 0)
- {
- if(IsPlayerConnected(playerid))
- {
- if(CallRemoteFunction("IsACop","d", playerid))
- {
- new x_nr[256];
- x_nr = strtok(cmdtext, idx);
- if(!strlen(x_nr)) {
- SendClientMessage(playerid, COLOR_LIGHTBLUE, "________________________________ Take ____________________________");
- SendClientMessage(playerid, COLOR_WHITE, "Benutze: /take [Sache] [SpielerID]");
- SendClientMessage(playerid, COLOR_WHITE, "Verfügbar: Geldsack");
- SendClientMessage(playerid, COLOR_LIGHTBLUE, "__________________________________________________________________");
- return 1;
- }
- else if(strcmp(x_nr,"Geldsack",true) == 0)
- {
- tmp = strtok(cmdtext, idx);
- if(!strlen(tmp)) {
- SendClientMessage(playerid, COLOR_LIGHTBLUE, "Benutze: /take Geldsack [SpielerID]");
- return 1;
- }
- giveplayerid = ReturnUser(tmp);
- if(IsPlayerConnected(giveplayerid))
- {
- if(giveplayerid != INVALID_PLAYER_ID)
- {
- if (ProxDetectorS(8.0, playerid, giveplayerid))
- {
- GetPlayerName(playerid,sendername,sizeof(sendername));
- GetPlayerName(giveplayerid,giveplayer,sizeof(giveplayer));
- format(string, sizeof(string), "Sie haben %s(%d) Geldsäcke abgenommen.",giveplayer,giveplayerid);
- SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
- format(string, sizeof(string), "%s(%d) hat ihnen ihre Geldsäcke abgenommen.", sendername,playerid);
- SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
- geldsack[giveplayerid]= 0;
- RemovePlayerAttachedObject(giveplayerid, 3);
- RemovePlayerAttachedObject(giveplayerid, 4);
- return 1;
- }
- else
- {
- SendClientMessage(playerid, COLOR_RED, "Dieser Spieler ist nicht in ihrer Nähe.");
- return 1;
- }
- }
- }
- else
- {
- SendClientMessage(playerid, COLOR_RED, "Dieser Spieler ist offline.");
- return 1;
- }
- }
- else
- {
- SendClientMessage(playerid, COLOR_RED, "Nicht verfügbar.");
- return 1;
- }
- }
- else
- {
- SendClientMessage(playerid, COLOR_RED, "Sie sind kein Staatsdiener.");
- return 1;
- }
- return 1;
- }
- }
- if (strcmp("/defuse", cmdtext, true, 10) == 0)
- {
- if(CallRemoteFunction("IsACop","d", playerid))
- {
- if(PlayerToPoint(5, playerid, 286.43, -1515.56, 25.27))
- {
- if(tbombe == 1)
- {
- GetPlayerName(playerid, sendername, sizeof(sendername));
- tbombe = 0;
- DestroyObject(tresorbombe1);
- DestroyObject(tresorbombe2);
- format(string, sizeof(string), "Die Bombe am Hotel in Los Santos wurde von %s entschärft.", sendername);
- SendClientMessageToAll(COLOR_ORANGE, string);
- }
- else
- {
- SendClientMessage(playerid,COLOR_RED,"Es befindet sich keine Bombe am Tresor.");
- }
- }
- else
- {
- SendClientMessage(playerid,COLOR_RED,"Sie befinden sich nicht am Tresor des Hotels.");
- }
- }
- else
- {
- SendClientMessage(playerid,COLOR_RED,"Nur das SEK und die Army kann Bomben entschärfen.");
- }
- return 1;
- }
- if (strcmp("/einpacken", cmdtext, true, 10) == 0)
- {
- if(PlayerToPoint(5, playerid, 286.43, -1515.56, 25.27))
- {
- if(trobm >= 2)
- {
- if(geldsack[playerid] >= 2)
- {
- SendClientMessage(playerid,COLOR_RED,"Sie können nicht mehr Geldsäcke tragen.");
- }
- else
- {
- GetPlayerName(playerid, sendername, sizeof(sendername));
- geldsack[playerid] = 2;
- trobm -= 2;
- SendClientMessage(playerid,COLOR_LIGHTBLUE,"Sie haben sich zwei Geldsäcke geschnappt.");
- SendClientMessage(playerid,COLOR_LIGHTBLUE,"Die Regierung wird versuchen, Ihnen diese wieder abzunehmen.");
- SendClientMessage(playerid,COLOR_LIGHTBLUE,"Sie können die Geldsäcke mit /auspacken auspacken und das Geld erhalten (Mindestabstand zum tresor: 500Meter).");
- SetPlayerAttachedObject(playerid, 3, 1550, 5, 0.101, -0.0, 0.0, 5.50, 84.60, 83.7, 1, 1, 1);
- SetPlayerAttachedObject(playerid, 4, 1550, 6, 0.101, -0.0, 0.0, 5.50, 84.60, 83.7, 1, 1, 1);
- }
- }
- else
- {
- SendClientMessage(playerid,COLOR_RED,"Der Tresorraum ist leer; es gibt nichtsmehr zu holen.");
- }
- }
- else
- {
- SendClientMessage(playerid,COLOR_RED,"Sie befinden sich nicht am Tresor des Hotels.");
- }
- return 1;
- }
- if (strcmp("/auspacken", cmdtext, true, 10) == 0)
- {
- if(PlayerToPoint(500, playerid, 286.43, -1515.56, 25.27))
- {
- SendClientMessage(playerid,COLOR_RED,"Sie sind nicht weit genug weg vom Tresorraum des Hotels.");
- }
- else
- {
- if(geldsack[playerid] >= 2)
- {
- moneys = geldsack[playerid] * gmoney;
- GivePlayerMoney(playerid, moneys);
- format(string, sizeof(string), "Sie haben das Geld aus den Taschen geholt und $%d erbeutet.", moneys);
- SendClientMessage(playerid,COLOR_ORANGE, string);
- RemovePlayerAttachedObject(playerid, 3);
- RemovePlayerAttachedObject(playerid, 4);
- geldsack[playerid] = 0;
- }
- else
- {
- SendClientMessage(playerid,COLOR_RED,"Sie haben keine Geldsäcke.");
- }
- return 1;
- }
- return 1;
- }
- if (strcmp("/tresorrob", cmdtext, true, 10) == 0 || strcmp("/trob", cmdtext, true, 10) == 0)
- {
- if(PlayerToPoint(5, playerid, 286.43, -1515.56, 25.27))
- {
- new hour,minuite,second;
- gettime(hour,minuite,second);
- if(hour >= 12 && hour <= 20)
- {
- if(tresorrobbing == 0)
- {
- if(tbombe == 0)
- {
- GetPlayerPos(playerid,tresorX,tresorY,tresorZ);
- tresorbombe1 = CreateObject(1654, 287.13, -1515.06, 25.51, 0.00, 0.00, 59.01);
- tresorbombe2 = CreateObject(1654, 287.30, -1514.82, 25.51, 0.00, 0.00, 59.01);
- SendClientMessage(playerid,COLOR_RED,"Die Bombe explodiert in 5 Minuten.");
- SetTimerEx("TresorBombe",100,0,"i",playerid);
- tresorrobbing = 1;
- tbombe = 1;
- SendClientMessageToAll(COLOR_ORANGE,"Eine Dynamitladung wurde am Tresor des Hotels in Los Santos angebracht.");
- CallRemoteFunction("SetTresorCriminal","dd", playerid, twanteds);
- SetPlayerWantedLevel(playerid, GetPlayerWantedLevel(playerid)+twanteds);
- SetTimerEx("Tresorfrei",3600000 * tresorrobtime,0,"i",playerid);
- }
- else
- {
- SendClientMessage(playerid,COLOR_RED,"Der Tresor wird gerade ausgeraubt.");
- }
- }
- else
- {
- SendClientMessage(playerid,COLOR_RED,"Der Tresor wurde heute schon ausgeraubt.");
- }
- }
- else
- {
- SendClientMessage(playerid,COLOR_RED,"Ein Tresorraub ist nur zwischen 12:00 und 21:00 Uhr möglich.");
- }
- }
- else
- {
- SendClientMessage(playerid,COLOR_RED,"Sie befinden sich nicht am Tresor des Hotels.");
- }
- return 1;
- }
- return 0;
- }
- forward TresorBombe(playerid);
- public TresorBombe(playerid)
- {
- if(tbombe == 1)
- {
- SendClientMessage(playerid,COLOR_YELLOW,"Die Bombe explodiert in 5 Minuten.");
- SetTimerEx("TresorBombe1",60000,0,"i",playerid);
- SendClientMessageToAll(COLOR_ORANGE,"Die Bombe explodiert in 5 Minuten.");
- return 1;
- }
- else
- {
- SendClientMessageToAll(COLOR_ORANGE,"Der Tresorrob in Los Santos ist fehlgeschlagen.");
- tbombe = 0;
- return 1;
- }
- }
- forward TresorBombe1(playerid);
- public TresorBombe1(playerid)
- {
- if(tbombe == 1)
- {
- SendClientMessage(playerid,COLOR_YELLOW,"Die Bombe explodiert in 4 Minuten.");
- SetTimerEx("TresorBombe2",60000,0,"i",playerid);
- SendClientMessageToAll(COLOR_ORANGE,"Die Bombe explodiert in 4 Minuten.");
- return 1;
- }
- else
- {
- SendClientMessageToAll(COLOR_ORANGE,"Der Tresorrob in Los Santos ist fehlgeschlagen.");
- tbombe = 0;
- return 1;
- }
- }
- forward TresorBombe2(playerid);
- public TresorBombe2(playerid)
- {
- if(tbombe == 1)
- {
- SendClientMessage(playerid,COLOR_YELLOW,"Die Bombe explodiert in 3 Minuten.");
- SetTimerEx("TresorBombe3",60000,0,"i",playerid);
- SendClientMessageToAll(COLOR_ORANGE,"Die Bombe explodiert in 3 Minuten.");
- return 1;
- }
- else
- {
- SendClientMessageToAll(COLOR_ORANGE,"Der Tresorrob in Los Santos ist fehlgeschlagen.");
- tbombe = 0;
- return 1;
- }
- }
- forward TresorBombe3(playerid);
- public TresorBombe3(playerid)
- {
- if(tbombe == 1)
- {
- SendClientMessage(playerid,COLOR_YELLOW,"Die Bombe explodiert in 2 Minuten.");
- SetTimerEx("TresorBombe4",60000,0,"i",playerid);
- SendClientMessageToAll(COLOR_ORANGE,"Die Bombe explodiert in 2 Minuten.");
- return 1;
- }
- else
- {
- SendClientMessageToAll(COLOR_ORANGE,"Der Tresorrob in Los Santos ist fehlgeschlagen.");
- tbombe = 0;
- return 1;
- }
- }
- forward TresorBombe4(playerid);
- public TresorBombe4(playerid)
- {
- if(tbombe == 1)
- {
- SendClientMessage(playerid,COLOR_YELLOW,"Die Bombe explodiert in 60 Sekunden.");
- SetTimerEx("TresorBombe5",60000,0,"i",playerid);
- SendClientMessageToAll(COLOR_ORANGE,"Die Bombe explodiert in 60 Sekunden.");
- return 1;
- }
- else
- {
- SendClientMessageToAll(COLOR_ORANGE,"Der Tresorrob in Los Santos ist fehlgeschlagen.");
- tbombe = 0;
- return 1;
- }
- }
- forward TresorBombe5(playerid);
- public TresorBombe5(playerid)
- {
- DestroyObject(TresorTor1);
- DestroyObject(TresorTor2);
- DestroyObject(tresorbombe1);
- DestroyObject(tresorbombe2);
- CreateExplosion(tresorX,tresorY,tresorZ,2,6);
- CreateExplosion(tresorX,tresorY,tresorZ,2,6);
- CreateExplosion(tresorX,tresorY,tresorZ,2,6);
- CreateExplosion(tresorX,tresorY,tresorZ,2,6);
- CreateExplosion(tresorX,tresorY,tresorZ+2,2,6);
- CreateExplosion(tresorX,tresorY,tresorZ+2,2,6);
- CreateExplosion(tresorX,tresorY,tresorZ+2,2,6);
- CreateExplosion(tresorX,tresorY,tresorZ+2,2,6);
- CreateExplosion(tresorX,tresorY+2,tresorZ,2,6);
- CreateExplosion(tresorX,tresorY+2,tresorZ,2,6);
- CreateExplosion(tresorX,tresorY+2,tresorZ,2,6);
- CreateExplosion(tresorX,tresorY+2,tresorZ,2,6);
- CreateExplosion(tresorX+2,tresorY,tresorZ,2,6);
- CreateExplosion(tresorX+2,tresorY,tresorZ,2,6);
- CreateExplosion(tresorX+2,tresorY,tresorZ,2,6);
- CreateExplosion(tresorX+2,tresorY,tresorZ,2,6);
- SendClientMessage(playerid,COLOR_RED,"Die Bombe ist explodiert. Der Tresor ist nun geöffnet.");
- SendClientMessage(playerid,COLOR_RED,"Das Geld kann im Tresorraum mit /einpacken eingepackt werden.");
- SetTimerEx("tresortor",900000,0,"i",playerid);
- tbombe = 0;
- trobm = 14;
- CreateObject(2463, 284.67, -1511.61, 25.24, 0.00, 0.00, 53.69);
- CreateObject(2463, 283.79, -1512.72, 25.24, 0.00, 0.00, 53.69);
- CreateObject(1212, 283.65, -1513.11, 26.39, 0.00, 0.00, 0.00);
- CreateObject(1212, 283.71, -1513.04, 26.39, 0.00, 0.00, 0.00);
- CreateObject(1212, 283.77, -1512.96, 26.39, 0.00, 0.00, 0.00);
- CreateObject(1212, 283.83, -1512.88, 26.39, 0.00, 0.00, 0.00);
- CreateObject(1212, 283.89, -1512.80, 26.39, 0.00, 0.00, 0.00);
- CreateObject(1212, 283.96, -1512.72, 26.39, 0.00, 0.00, 0.00);
- CreateObject(1212, 284.02, -1512.64, 26.39, 0.00, 0.00, 0.00);
- CreateObject(1212, 284.08, -1512.56, 26.39, 0.00, 0.00, 0.00);
- CreateObject(1212, 284.14, -1512.48, 26.39, 0.00, 0.00, 0.00);
- CreateObject(1212, 284.20, -1512.40, 26.39, 0.00, 0.00, 0.00);
- CreateObject(1212, 284.26, -1512.32, 26.39, 0.00, 0.00, 0.00);
- CreateObject(1212, 284.32, -1512.24, 26.39, 0.00, 0.00, 0.00);
- CreateObject(1212, 284.38, -1512.16, 26.39, 0.00, 0.00, 0.00);
- CreateObject(1212, 284.38, -1512.16, 26.75, 0.00, 0.00, 358.55);
- CreateObject(1212, 284.32, -1512.24, 26.75, 0.00, 0.00, 358.57);
- CreateObject(1212, 284.26, -1512.32, 26.75, 0.00, 0.00, 358.58);
- CreateObject(1212, 284.20, -1512.40, 26.75, 0.00, 0.00, 358.59);
- CreateObject(1212, 284.14, -1512.48, 26.75, 0.00, 0.00, 358.61);
- CreateObject(1212, 284.08, -1512.56, 26.75, 0.00, 0.00, 358.62);
- CreateObject(1212, 284.02, -1512.64, 26.75, 0.00, 0.00, 358.64);
- CreateObject(1212, 283.96, -1512.72, 26.75, 0.00, 0.00, 358.65);
- CreateObject(1212, 283.89, -1512.80, 26.75, 0.00, 0.00, 358.66);
- CreateObject(1212, 283.83, -1512.88, 26.75, 0.00, 0.00, 358.68);
- CreateObject(1212, 283.77, -1512.96, 26.75, 0.00, 0.00, 358.69);
- CreateObject(1212, 283.71, -1513.04, 26.75, 0.00, 0.00, 358.70);
- CreateObject(1212, 283.65, -1513.11, 26.75, 0.00, 0.00, 358.72);
- CreateObject(1212, 284.60, -1511.91, 26.75, 0.00, 0.00, 358.68);
- CreateObject(1212, 284.67, -1511.82, 26.75, 0.00, 0.00, 358.66);
- CreateObject(1212, 284.74, -1511.73, 26.75, 0.00, 0.00, 358.65);
- CreateObject(1212, 284.80, -1511.65, 26.75, 0.00, 0.00, 358.64);
- CreateObject(1212, 284.87, -1511.56, 26.75, 0.00, 0.00, 358.62);
- CreateObject(1212, 284.94, -1511.47, 26.75, 0.00, 0.00, 358.61);
- CreateObject(1212, 285.01, -1511.38, 26.75, 0.00, 0.00, 358.59);
- CreateObject(1212, 285.07, -1511.29, 26.75, 0.00, 0.00, 358.58);
- CreateObject(1212, 285.14, -1511.20, 26.75, 0.00, 0.00, 358.57);
- CreateObject(1212, 285.21, -1511.11, 26.75, 0.00, 0.00, 358.55);
- CreateObject(1212, 285.15, -1511.18, 26.39, 0.00, 0.00, 0.00);
- CreateObject(1212, 285.04, -1511.34, 26.39, 0.00, 0.00, 0.00);
- CreateObject(1212, 285.11, -1511.26, 26.39, 0.00, 0.00, 0.00);
- CreateObject(1212, 285.00, -1511.39, 26.39, 0.00, 0.00, 0.00);
- CreateObject(1212, 284.95, -1511.46, 26.39, 0.00, 0.00, 0.00);
- CreateObject(1212, 284.90, -1511.53, 26.39, 0.00, 0.00, 0.00);
- CreateObject(1212, 284.85, -1511.60, 26.39, 0.00, 0.00, 0.00);
- CreateObject(1212, 284.74, -1511.73, 26.39, 0.00, 0.00, 0.00);
- CreateObject(1212, 284.80, -1511.66, 26.39, 0.00, 0.00, 0.00);
- CreateObject(1212, 284.69, -1511.80, 26.39, 0.00, 0.00, 0.00);
- CreateObject(1212, 284.64, -1511.87, 26.39, 0.00, 0.00, 0.00);
- CreateObject(1212, 284.59, -1511.93, 26.39, 0.00, 0.00, 0.00);
- return 1;
- }
- forward tresortor();
- public tresortor()
- {
- TresorTor1=CreateObject(2634, 286.43, -1515.56, 25.27, 0.00, 0.00, 54.79);
- TresorTor2=CreateObject(2634, 287.57, -1514.02, 25.27, 0.00, 0.00, 234.79);
- return 1;
- }
- forward Tresorfrei(playerid);
- public Tresorfrei(playerid)
- {
- tresorrobbing = 0;
- robtresor[playerid]=0;
- return 1;
- }
- //Sonstige Funktionen
- forward PlayerToPoint(Float:radi, playerid, Float:x, Float:y, Float:z);
- public PlayerToPoint(Float:radi, playerid, Float:x, Float:y, Float:z)
- {
- if(IsPlayerConnected(playerid))
- {
- new Float:oldposx, Float:oldposy, Float:oldposz;
- new Float:tempposx, Float:tempposy, Float:tempposz;
- GetPlayerPos(playerid, oldposx, oldposy, oldposz);
- tempposx = (oldposx -x);
- tempposy = (oldposy -y);
- tempposz = (oldposz -z);
- //printf("DEBUG: X:%f Y:%f Z:%f",posx,posy,posz);
- if(((tempposx < radi) && (tempposx > -radi)) && ((tempposy < radi) && (tempposy > -radi)) && ((tempposz < radi) && (tempposz > -radi)))
- {
- return 1;
- }
- }
- return 0;
- }
- forward ProxDetectorS(Float:radi, playerid, targetid);
- public ProxDetectorS(Float:radi, playerid, targetid)
- {
- if(IsPlayerConnected(playerid)&&IsPlayerConnected(targetid))
- {
- new Float:posx, Float:posy, Float:posz;
- new Float:oldposx, Float:oldposy, Float:oldposz;
- new Float:tempposx, Float:tempposy, Float:tempposz;
- GetPlayerPos(playerid, oldposx, oldposy, oldposz);
- //radi = 2.0; //Trigger Radius
- GetPlayerPos(targetid, posx, posy, posz);
- tempposx = (oldposx -posx);
- tempposy = (oldposy -posy);
- tempposz = (oldposz -posz);
- //printf("DEBUG: X:%f Y:%f Z:%f",posx,posy,posz);
- if(((tempposx < radi) && (tempposx > -radi)) && ((tempposy < radi) && (tempposy > -radi)) && ((tempposz < radi) && (tempposz > -radi)))
- {
- return 1;
- }
- }
- return 0;
- }
- strtok(const string[], &index)
- {
- new length = strlen(string);
- while ((index < length) && (string[index] <= ' '))
- {
- index++;
- }
- new offset = index;
- new result[20];
- while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
- {
- result[index - offset] = string[index];
- index++;
- }
- result[index - offset] = EOS;
- return result;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement