Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////Dynamic Robbery System////////////////////////////
- ///////////////////////////////////By Tony//////////////////////////////////////
- //////////////////////////////Created: 15.3.2015////////////////////////////////
- /////////////////////////Please don't remove credits////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- #include <a_samp>
- #include <zcmd>
- #include <YSI\y_ini>
- #include <streamer>
- #include <sscanf2>
- #define DIALOG_PLJHELP 6968
- #define DIALOG_PLJACKA 6967
- #define DIALOG_UREDJIVANJEPLJ 6966
- #define DIALOG_TIMERI 6965
- #define DIALOG_TIMER1 6964
- #define SPLAVA "{00C0FF}"
- #define SIVA "{C0C0C0}"
- #define CRVENA "{F81414}"
- #define BIJELA "{FFFFFF}"
- #define PPLAVA "{0084e3}"
- #define ZUTA "{F3FF02}"
- #define SCRVENA 0xFF6347AA
- #define PLAVA 0x00C0FFAA
- #define PLJ_FILE "Robbery/%d.ini" //Robbery file
- #define SCM SendClientMessage
- //Things that you can change
- #define MAX_PLJACKI 50 //Max robbery
- new timi[MAX_PLAYERS];
- new PljBrojanje[MAX_PLAYERS];
- new BankaOpljackana[MAX_PLJACKI] = 0;
- new Bomb[MAX_PLAYERS];
- new Float:bx[MAX_PLAYERS],Float:by[MAX_PLAYERS],Float:bz[MAX_PLAYERS],Float:bab[MAX_PLAYERS];
- new PozVrata[MAX_PLAYERS];
- new RobId[MAX_PLAYERS];
- new PljPickup[MAX_PLJACKI];
- new PljPickup2[MAX_PLJACKI];
- new Text3D:PljLabel[MAX_PLJACKI];
- new Text3D:PljLabel2[MAX_PLJACKI];
- new Text3D:PljLabel3[MAX_PLJACKI];
- new Izbor[MAX_PLAYERS];
- enum PljInfo
- {
- Float: zX,
- Float: zY,
- Float: zZ,
- Float: zA,
- Float: zRX,
- Float: zRY,
- Float: oX,
- Float: oY,
- Float: oZ,
- Float: oA,
- Float: oRX,
- Float: oRY,
- Float: boX,
- Float: boY,
- Float: boZ,
- Float: pX,
- Float: pY,
- Float: pZ,
- vInt,
- vVW,
- Vrata,
- vPostavljena,
- VRIJEMEPLJACKE,
- VRACANJEPLJACKE,
- BOMBATIMER,
- PLANTTIMER
- }
- new Robbery[MAX_PLJACKI][PljInfo];
- enum playInfo
- {
- pBomb
- }
- new PlayerInfo[MAX_PLAYERS][playInfo];
- stock CreateDoors(idp,vr)
- {
- if(Robbery[idp][vPostavljena] == 1)
- {
- if(vr==1)
- {
- Robbery[idp][Vrata] = CreateDynamicObject(2634, Robbery[idp][zX], Robbery[idp][zY], Robbery[idp][zZ], Robbery[idp][zRX], Robbery[idp][zRY], Robbery[idp][zA], Robbery[idp][vVW], Robbery[idp][vInt],_,_);
- }
- else if(vr==2)
- {
- Robbery[idp][Vrata] = CreateDynamicObject(2634, Robbery[idp][oX], Robbery[idp][oY], Robbery[idp][oZ], Robbery[idp][oRX], Robbery[idp][oRY], Robbery[idp][oA], Robbery[idp][vVW], Robbery[idp][vInt],_,_);
- }
- }
- return 1;
- }
- stock getEmptyID(const len, const lokacija[])
- {
- new id = (-1);
- for(new loop = (0), provjera = (-1), Data_[64] = "\0"; loop != len; ++ loop)
- {
- provjera = (loop+1);
- format(Data_, (sizeof Data_), lokacija ,provjera);
- if(!fexist(Data_))
- {
- id = (provjera);
- break;
- }
- }
- return (id);
- }
- stock GetName(playerid)
- {
- new name[MAX_PLAYER_NAME];
- GetPlayerName(playerid, name, sizeof(name));
- return name;
- }
- forward LoadRobbery(idp,name[],value[]);
- public LoadRobbery(idp,name[],value[])
- {
- INI_Int("VRIJEMEPLJACKE", Robbery[idp][VRIJEMEPLJACKE]);
- INI_Int("VRACANJEPLJACKE", Robbery[idp][VRACANJEPLJACKE]);
- INI_Int("BOMBATIMER", Robbery[idp][BOMBATIMER]);
- INI_Int("PLANTTIMER", Robbery[idp][PLANTTIMER]);
- INI_Int("vInt", Robbery[idp][vInt]);
- INI_Int("vVW", Robbery[idp][vVW]);
- INI_Int("vPostavljena", Robbery[idp][vPostavljena]);
- INI_Float("zX",Robbery[idp][zX]);
- INI_Float("zY",Robbery[idp][zY]);
- INI_Float("zZ",Robbery[idp][zZ]);
- INI_Float("zRX",Robbery[idp][zRX]);
- INI_Float("zRY",Robbery[idp][zRY]);
- INI_Float("zA",Robbery[idp][zA]);
- INI_Float("oX",Robbery[idp][oX]);
- INI_Float("oY",Robbery[idp][oY]);
- INI_Float("oZ",Robbery[idp][oZ]);
- INI_Float("oRX",Robbery[idp][oRX]);
- INI_Float("oRY",Robbery[idp][oRY]);
- INI_Float("oA",Robbery[idp][oA]);
- INI_Float("boX",Robbery[idp][boX]);
- INI_Float("boY",Robbery[idp][boY]);
- INI_Float("boZ",Robbery[idp][boZ]);
- INI_Float("pX",Robbery[idp][pX]);
- INI_Float("pY",Robbery[idp][pY]);
- INI_Float("pZ",Robbery[idp][pZ]);
- return 1;
- }
- stock SaveRobbery(idp)
- {
- new playaFile[50]; format(playaFile,50,PLJ_FILE,idp);
- new INI:File = INI_Open(playaFile);
- INI_SetTag(File,"Pljacka");
- INI_WriteInt(File,"VRIJEMEPLJACKE", Robbery[idp][VRIJEMEPLJACKE]);
- INI_WriteInt(File,"VRACANJEPLJACKE", Robbery[idp][VRACANJEPLJACKE]);
- INI_WriteInt(File,"BOMBATIMER", Robbery[idp][BOMBATIMER]);
- INI_WriteInt(File,"PLANTTIMER", Robbery[idp][PLANTTIMER]);
- INI_WriteInt(File,"vInt", Robbery[idp][vInt]);
- INI_WriteInt(File,"vVW", Robbery[idp][vVW]);
- INI_WriteInt(File,"vPostavljena", Robbery[idp][vPostavljena]);
- INI_WriteFloat(File,"zX",Robbery[idp][zX]);
- INI_WriteFloat(File,"zY",Robbery[idp][zY]);
- INI_WriteFloat(File,"zZ",Robbery[idp][zZ]);
- INI_WriteFloat(File,"zRX",Robbery[idp][zRX]);
- INI_WriteFloat(File,"zRY",Robbery[idp][zRY]);
- INI_WriteFloat(File,"zA",Robbery[idp][zA]);
- INI_WriteFloat(File,"oX",Robbery[idp][oX]);
- INI_WriteFloat(File,"oY",Robbery[idp][oY]);
- INI_WriteFloat(File,"oZ",Robbery[idp][oZ]);
- INI_WriteFloat(File,"oRX",Robbery[idp][oRX]);
- INI_WriteFloat(File,"oRY",Robbery[idp][oRY]);
- INI_WriteFloat(File,"oA",Robbery[idp][oA]);
- INI_WriteFloat(File,"boX",Robbery[idp][boX]);
- INI_WriteFloat(File,"boY",Robbery[idp][boY]);
- INI_WriteFloat(File,"boZ",Robbery[idp][boZ]);
- INI_WriteFloat(File,"pX",Robbery[idp][pX]);
- INI_WriteFloat(File,"pY",Robbery[idp][pY]);
- INI_WriteFloat(File,"pZ",Robbery[idp][pZ]);
- INI_Close(File);
- return 1;
- }
- public OnFilterScriptInit()
- {
- print("////////////////////////////////////////////////////////////////////////////////");
- print("////////////////////////////Dynamic Robbery System//////////////////////////////");
- print("///////////////////////////////////By Tony//////////////////////////////////////");
- print("//////////////////////////////Created: 15.3.2015////////////////////////////////");
- print("/////////////////////////Please don't remove credits////////////////////////////");
- print("////////////////////////////////////////////////////////////////////////////////");
- for(new i = 0; i < sizeof(Robbery); i++)
- {
- new oFile[50];
- format(oFile, sizeof(oFile), PLJ_FILE, i);
- if(fexist(oFile))
- {
- INI_ParseFile(oFile, "LoadRobbery", .bExtra = true, .extra = i);
- PljPickup[i] = CreateDynamicPickup(1239, 1, Robbery[i][pX], Robbery[i][pY], Robbery[i][pZ]);
- PljPickup2[i] = CreateDynamicPickup(1252, 1, Robbery[i][boX], Robbery[i][boY], Robbery[i][boZ]);
- new string[128];
- format(string,sizeof(string),"[ ID:%d ]\nTo rob type /rob",i);
- PljLabel[i] = CreateDynamic3DTextLabel(string,0xFF9900BB,Robbery[i][pX],Robbery[i][pY],Robbery[i][pZ], 30, INVALID_PLAYER_ID, INVALID_VEHICLE_ID, 0, -1, -1, -1, 20.0);
- PljLabel2[i] = CreateDynamic3DTextLabel("To buy bomb type /buybomb",0xFF9900BB,Robbery[i][boX],Robbery[i][boY],Robbery[i][boZ], 30, INVALID_PLAYER_ID, INVALID_VEHICLE_ID, 0, -1, -1, -1, 20.0);
- PljLabel3[i] = CreateDynamic3DTextLabel("To destroy the doors type /destroydoors",0xFF9900BB,Robbery[i][zX],Robbery[i][zY],Robbery[i][zZ], 30, INVALID_PLAYER_ID, INVALID_VEHICLE_ID, 0, -1, -1, -1, 20.0);
- if(Robbery[i][vPostavljena] == 1)
- {
- CreateDoors(i,1);
- }
- }
- }
- return 1;
- }
- public OnFilterScriptExit()
- {
- for(new a = 0; a < sizeof(Robbery); a++)
- {
- DestroyDynamicPickup(PljPickup[a]);
- DestroyDynamicPickup(PljPickup2[a]);
- DestroyDynamic3DTextLabel(PljLabel[a]);
- DestroyDynamic3DTextLabel(PljLabel2[a]);
- DestroyDynamic3DTextLabel(PljLabel3[a]);
- DestroyDynamicObject(Robbery[a][Vrata]);
- }
- return 1;
- }
- stock SavePlayer(playerid)
- {
- new playaFile[30]; format(playaFile,30,"Robbery/Users/%s",GetName(playerid));
- new INI:File = INI_Open(playaFile);
- INI_SetTag(File,"Bombe");
- INI_WriteInt(File,"Bomba", PlayerInfo[playerid][pBomb]);
- INI_Close(File);
- return 1;
- }
- forward LoadUser_data(playerid,name[],value[]);
- public LoadUser_data(playerid,name[],value[])
- {
- INI_Int("Bomba",PlayerInfo[playerid][pBomb]);
- return 1;
- }
- public OnPlayerConnect(playerid)
- {
- new str[30]; format(str,sizeof(str),"Robbery/Users/%s",GetName(playerid));
- if(fexist(str))
- {
- INI_ParseFile(str, "LoadUser_%s", .bExtra = true, .extra = playerid);
- }
- return 1;
- }
- forward pljbrojanje(playerid);
- public pljbrojanje(playerid)
- {
- if(PljBrojanje[playerid] != 0)
- {
- PljBrojanje[playerid]--;
- SetTimerEx("pljbrojanje", 1000, false, "i", playerid);
- new string[128];
- format(string, sizeof(string), "%d seconds left", PljBrojanje[playerid]);
- GameTextForPlayer(playerid, string, 500, 3);
- }
- return 1;
- }
- forward RobAgain(i);
- public RobAgain(i)
- {
- DestroyDynamicObject(Robbery[i][Vrata]);
- CreateDoors(i,1);
- BankaOpljackana[i] = 0;
- }
- forward TimeRobbery(playerid);
- public TimeRobbery(playerid)
- {
- new string[128];
- new rand = random(16000);
- GivePlayerMoney(playerid,rand);
- format(string,sizeof(string),"You have successfully robbed %d$",rand);
- SCM(playerid,PLAVA,string);
- TogglePlayerControllable(playerid,1);
- KillTimer(timi[playerid]);
- ApplyAnimation(playerid,"CARRY","crry_prtial",4.0,0,0,0,0,0);
- }
- forward TimerBomb(playerid);
- public TimerBomb(playerid)
- {
- CreateExplosion(bx[playerid],by[playerid],bz[playerid],0,5);
- SCM(playerid,PLAVA,"A bomb exploded and doors were broken, you can start looting!");
- DestroyObject(Bomb[playerid]);
- new id = RobId[playerid];
- DestroyDynamicObject(Robbery[id][Vrata]);
- CreateDoors(id,2);
- RobId[playerid] = -1;
- }
- forward PlantBomb(playerid);
- public PlantBomb(playerid)
- {
- TogglePlayerControllable(playerid,1);
- ApplyAnimation(playerid,"CARRY","crry_prtial",4.0,0,0,0,0,0);
- new st[128];
- format(st,sizeof(st),"You have set the bomb that will explode in %d seconds, move away before it explodes!",Robbery[RobId[playerid]][BOMBATIMER]);
- SCM(playerid,PLAVA,st);
- SetTimerEx("TimerBomb",Robbery[RobId[playerid]][BOMBATIMER]*1000,false,"i",playerid);
- }
- public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
- {
- if(dialogid == DIALOG_TIMER1)
- {
- new idp;
- new id=RobId[playerid];
- if(!response) return 1;
- if(sscanf(inputtext,"i",idp))
- {
- if(Izbor[playerid] == 1)
- {
- ShowPlayerDialog(playerid, DIALOG_TIMER1, 1, ""BIJELA"Set the duration of the robbery", ""BIJELA"Enter how many minutes you want robbery to last for", "Next", "Cancel");
- }
- else if(Izbor[playerid] == 2)
- {
- ShowPlayerDialog(playerid, DIALOG_TIMER1, 1, ""BIJELA"Edit the time before re-looting", ""BIJELA"Enter how many minutes you want to pass before re-looting of this location is available", "Next", "Cancel");
- }
- else if(Izbor[playerid] == 3)
- {
- ShowPlayerDialog(playerid, DIALOG_TIMER1, 1, ""BIJELA"Editing the time to explosion", ""BIJELA"Enter the number of seconds you want to pass the explosion of bomb", "Next", "Cancel");
- }
- else if(Izbor[playerid] == 4)
- {
- ShowPlayerDialog(playerid, DIALOG_TIMER1, 1, ""BIJELA"Editing the time to plant a bomb", ""BIJELA"Enter the number of seconds you want the player sets the bomb", "Next", "Cancel");
- }
- }
- else
- {
- switch(Izbor[playerid])
- {
- case 1:
- {
- Robbery[id][VRIJEMEPLJACKE] = idp;
- SaveRobbery(id);
- new st[128];
- format(st,sizeof(st),"You have successfully changed during a robbery on %d minutes",idp);
- SCM(playerid,PLAVA,st);
- }
- case 2:
- {
- Robbery[id][VRACANJEPLJACKE] = idp;
- SaveRobbery(id);
- new st[128];
- format(st,sizeof(st),"You have successfully changed the time to re-looting on %d minutes",idp);
- SCM(playerid,PLAVA,st);
- }
- case 3:
- {
- Robbery[id][BOMBATIMER] = idp;
- SaveRobbery(id);
- new st[128];
- format(st,sizeof(st),"You have successfully changed during an explosion on %d seconds",idp);
- SCM(playerid,PLAVA,st);
- }
- case 4:
- {
- Robbery[id][PLANTTIMER] = idp;
- SaveRobbery(id);
- new st[128];
- format(st,sizeof(st),"You have successfully changed the time to plant a bomb on %d seconds",idp);
- SCM(playerid,PLAVA,st);
- }
- }
- }
- }
- if(dialogid == DIALOG_TIMERI)
- {
- if(!response) return 1;
- switch(listitem)
- {
- case 0:
- {
- Izbor[playerid] = 1;
- ShowPlayerDialog(playerid, DIALOG_TIMER1, 1, ""BIJELA"Set the duration of the robbery", ""BIJELA"Enter how many minutes you want robbery to last for", "Next", "Cancel");
- }
- case 1:
- {
- Izbor[playerid] = 2;
- ShowPlayerDialog(playerid, DIALOG_TIMER1, 1, ""BIJELA"Edit the time before re-looting", ""BIJELA"Enter how many minutes you want to pass before re-looting of this location is available", "Next", "Cancel");
- }
- case 2:
- {
- Izbor[playerid] = 3;
- ShowPlayerDialog(playerid, DIALOG_TIMER1, 1, ""BIJELA"Editing the time to explosion", ""BIJELA"Enter the number of seconds you want to pass the explosion of bomb", "Next", "Cancel");
- }
- case 3:
- {
- Izbor[playerid] = 4;
- ShowPlayerDialog(playerid, DIALOG_TIMER1, 1, ""BIJELA"Editing the time to plant a bomb", ""BIJELA"Enter the number of seconds you want the player sets the bomb", "Next", "Cancel");
- }
- }
- }
- if(dialogid == DIALOG_UREDJIVANJEPLJ)
- {
- if(!response) return 1;
- new Float:x,Float:y,Float:z;
- new id=RobId[playerid];
- switch(listitem)
- {
- case 0:
- {
- new Float:X,Float:Y,Float:Z,Float:Angle,Float:RX,Float:RY;
- GetPlayerPos(playerid,X,Y,Z); GetPlayerFacingAngle(playerid,Angle);
- Robbery[id][vPostavljena] = 1;
- Robbery[id][zA] = Angle;
- Robbery[id][zX] = X;
- Robbery[id][zY] = Y;
- Robbery[id][zZ] = Z;
- Robbery[id][zRX] = RX;
- Robbery[id][zRY] = RY;
- Robbery[id][vInt] = GetPlayerInterior(playerid);
- Robbery[id][vVW] = GetPlayerVirtualWorld(playerid);
- CreateDoors(id,1); SaveRobbery(id); SCM(playerid,PLAVA,"Position of the door you can edit with /editrobbery!");
- }
- case 1:
- {
- GetPlayerPos(playerid,x,y,z);
- Robbery[id][boX]=x;
- Robbery[id][boY]=y;
- Robbery[id][boZ]=z;
- SaveRobbery(id);
- DestroyDynamicPickup(PljPickup2[id]);
- DestroyDynamic3DTextLabel(PljLabel2[id]);
- PljPickup2[id] = CreateDynamicPickup(1252, 1, Robbery[id][boX], Robbery[id][boY], Robbery[id][boZ]);
- PljLabel2[id] = CreateDynamic3DTextLabel("To buy bomb type /buybomb",0xFF9900BB,Robbery[id][boX],Robbery[id][boY],Robbery[id][boZ], 30, INVALID_PLAYER_ID, INVALID_VEHICLE_ID, 0, -1, -1, -1, 20.0);
- }
- case 2:
- {
- GetPlayerPos(playerid,x,y,z);
- Robbery[id][pX]=x;
- Robbery[id][pY]=y;
- Robbery[id][pZ]=z;
- SaveRobbery(id);
- DestroyDynamicPickup(PljPickup[id]);
- DestroyDynamic3DTextLabel(PljLabel[id]);
- PljPickup[id] = CreateDynamicPickup(1239, 1, Robbery[id][pX], Robbery[id][pY], Robbery[id][pZ]);
- new string[128];
- format(string,sizeof(string),"[ ID:%d ]\nTo rob type /rob",id);
- PljLabel[id] = CreateDynamic3DTextLabel(string,0xFF9900BB,Robbery[id][pX],Robbery[id][pY],Robbery[id][pZ], 30, INVALID_PLAYER_ID, INVALID_VEHICLE_ID, 0, -1, -1, -1, 20.0);
- }
- case 3:
- {
- PozVrata[playerid] = 1;
- EditDynamicObject(playerid,Robbery[id][Vrata]);
- }
- case 4:
- {
- PozVrata[playerid] = 2;
- EditDynamicObject(playerid,Robbery[id][Vrata]);
- }
- case 5:
- {
- Robbery[id][vPostavljena] = 0;
- DestroyDynamicObject(Robbery[id][Vrata]);
- DestroyDynamic3DTextLabel(PljLabel3[id]);
- }
- case 6:
- {
- ShowPlayerDialog(playerid, DIALOG_TIMERI, DIALOG_STYLE_LIST, "Editing timers", "Duration robbery\nTime to re-looting\nTime to explosion of bomb\nTime to plant a bomb", "OK", "Cancel");
- }
- }
- }
- if(dialogid == DIALOG_PLJACKA)
- {
- new idp;
- if(!response) return 1;
- if(sscanf(inputtext,"i",idp)) return ShowPlayerDialog(playerid, DIALOG_PLJACKA, 1, ""BIJELA"Editing", ""BIJELA"Enter ID robbery to edit", "Next", "Cancel");
- new oFile[50];
- format(oFile, sizeof(oFile), PLJ_FILE, idp);
- if(!fexist(oFile))return ShowPlayerDialog(playerid, DIALOG_PLJACKA, 1, ""BIJELA"Editing", ""BIJELA"Enter ID robbery to edit", "Next", "Cancel");
- RobId[playerid] = idp;
- SendClientMessage(playerid,SCRVENA,"Coordinates are saved as soon as you click on one of the offered!");
- ShowPlayerDialog(playerid, DIALOG_UREDJIVANJEPLJ, DIALOG_STYLE_LIST, "Edit robbery", "Create doors\nLocation buying bombs\nLocation of robbery\nLocation closed doors\nLocation of Open Doors\nDelete doors\nTimers", "OK", "Cancel");
- }
- return 1;
- }
- public OnPlayerEditObject(playerid, playerobject, objectid, response, Float:fX, Float:fY, Float:fZ, Float:fRotX, Float:fRotY, Float:fRotZ)
- {
- if(response == EDIT_RESPONSE_FINAL)
- {
- if(PozVrata[playerid] == 1)
- {
- new id = RobId[playerid], string[100];
- if(id != -1)
- {
- Robbery[id][zX] = fX;
- Robbery[id][zY] = fY;
- Robbery[id][zZ] = fZ;
- Robbery[id][zRX] = fRotX;
- Robbery[id][zRY] = fRotY;
- Robbery[id][zA] = fRotZ;
- DestroyDynamic3DTextLabel(PljLabel3[id]);
- PljLabel3[id] = CreateDynamic3DTextLabel("To destroy the doors type /destroydoors",0xFF9900BB,Robbery[id][zX],Robbery[id][zY],Robbery[id][zZ], 30, INVALID_PLAYER_ID, INVALID_VEHICLE_ID, 0, -1, -1, -1, 20.0);
- DestroyDynamicObject(Robbery[id][Vrata]);
- CreateDoors(id,1);
- SaveRobbery(id);
- format(string,sizeof(string),"Doors robbery ID %d have successfully edited!",id);
- SCM(playerid,PLAVA,string);
- id = -1;
- return 1;
- }
- }
- if(PozVrata[playerid] == 2)
- {
- new id = RobId[playerid];
- if(id != -1)
- {
- Robbery[id][oX] = fX;
- Robbery[id][oY] = fY;
- Robbery[id][oZ] = fZ;
- Robbery[id][oRX] = fRotX;
- Robbery[id][oRY] = fRotY;
- Robbery[id][oA] = fRotZ;
- DestroyDynamicObject(Robbery[id][Vrata]);
- CreateDoors(id,1);
- SaveRobbery(id);
- SCM(playerid,PLAVA,"Position after the explosion of the bomb successfully saved!");
- id = -1;
- return 1;
- }
- }
- }
- return 1;
- }
- CMD:robberyhelp(playerid,params[])
- {
- new info[320];
- if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid,SCRVENA,"Nemate ovlasti!");
- strcat(info, ""ZUTA"Robbery Help\n\n", sizeof(info));
- strcat(info, ""CRVENA"Create/Delete Robbery\n", sizeof(info));
- strcat(info, ""SIVA"/createrobbery-Create file of robbery\n", sizeof(info));
- strcat(info, " /deleterobbery-Delete file of robbery,door,pickups,labels\n", sizeof(info));
- strcat(info, ""CRVENA"Editing\n", sizeof(info));
- strcat(info, ""SIVA"/editrobbery-Edit door position,pickup position,label position\n\n", sizeof(info));
- ShowPlayerDialog(playerid, DIALOG_PLJHELP, DIALOG_STYLE_MSGBOX, ""BIJELA"Robbery Help", info, "OK", "");
- return 1;
- }
- CMD:editrobbery(playerid,params[])
- {
- if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid,-1,""SPLAVA"[Tony] "SIVA"Only owner!");
- ShowPlayerDialog(playerid, DIALOG_PLJACKA, 1, ""BIJELA"Editing", ""BIJELA"Enter ID robbery to edit", "Next", "Cancel");
- return 1;
- }
- CMD:createrobbery(playerid,params[])
- {
- if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid,-1,""SPLAVA"[Tony] "SIVA"Only owner!");
- new idp = getEmptyID(MAX_PLJACKI, "Robbery/%d.ini");
- if(idp > MAX_PLJACKI)return SCM(playerid,SCRVENA,"Mas robbery is reached!");
- new oFile[50];
- format(oFile, sizeof(oFile), PLJ_FILE, idp);
- if(!fexist(oFile))
- {
- Robbery[idp][vPostavljena] = 0;
- Robbery[idp][zA] = 0;
- Robbery[idp][zX] = 0;
- Robbery[idp][zY] = 0;
- Robbery[idp][zZ] = 0;
- Robbery[idp][zRX] = 0;
- Robbery[idp][zRY] = 0;
- Robbery[idp][oA] = 0;
- Robbery[idp][oX] = 0;
- Robbery[idp][oY] = 0;
- Robbery[idp][oZ] = 0;
- Robbery[idp][oRX] = 0;
- Robbery[idp][oRY] = 0;
- Robbery[idp][boX] = 0;
- Robbery[idp][boY] = 0;
- Robbery[idp][boZ] = 0;
- Robbery[idp][pX] = 0;
- Robbery[idp][pY] = 0;
- Robbery[idp][pZ] = 0;
- Robbery[idp][vInt] = 0;
- Robbery[idp][vVW] = 0;
- Robbery[idp][VRIJEMEPLJACKE] = 2;//minutes - time to rob
- Robbery[idp][VRACANJEPLJACKE] = 20;//minutes - time to re-looting
- Robbery[idp][BOMBATIMER] = 7;//sec - explode time
- Robbery[idp][PLANTTIMER] = 5; //sec - plant time
- SaveRobbery(idp);
- new st[45];
- format(st,sizeof(st),"{00C0FF}Successfully make robbery ID: %d",idp);
- SendClientMessage(playerid,-1,st);
- }else return SendClientMessage(playerid,SCRVENA,"This robbery already exists!");
- return 1;
- }
- CMD:deleterobbery(playerid,params[])
- {
- if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid,-1,""SPLAVA"[Tony] "SIVA"Only owner!");
- new idp;
- if(sscanf(params,"i",idp)) return SendClientMessage(playerid,-1,""CRVENA"Tony Pomoc | "SIVA"/deleterobbery [ID robbery]");
- new oFile[50];
- format(oFile, sizeof(oFile), PLJ_FILE, idp);
- if(fexist(oFile))
- {
- DestroyDynamicPickup(PljPickup[idp]);
- DestroyDynamicPickup(PljPickup2[idp]);
- DestroyDynamic3DTextLabel(PljLabel[idp]);
- DestroyDynamic3DTextLabel(PljLabel2[idp]);
- DestroyDynamic3DTextLabel(PljLabel3[idp]);
- DestroyDynamicObject(Robbery[idp][Vrata]);
- Robbery[idp][pX] = 0;
- Robbery[idp][pY] = 0;
- Robbery[idp][pZ] = 0;
- Robbery[idp][boX] = 0;
- Robbery[idp][boY] = 0;
- Robbery[idp][boZ] = 0;
- Robbery[idp][vPostavljena] = 0;
- fremove(oFile);
- SendClientMessage(playerid,-1,"{00C0FF}Successfully deleted robbery!");
- }else return SendClientMessage(playerid,SCRVENA,"This robbery does not exist!");
- return 1;
- }
- CMD:rob(playerid, params[])
- {
- for(new i=0;i<MAX_PLJACKI;i++)
- {
- if(IsPlayerInRangeOfPoint(playerid, 3.0, Robbery[i][pX], Robbery[i][pY], Robbery[i][pZ]) && !IsPlayerInAnyVehicle(playerid))
- {
- if(BankaOpljackana[i] == 0)
- {
- BankaOpljackana[i] = 1;
- new st[128];
- format(st,sizeof(st),"You started with a robbery which takes %d minutes",Robbery[i][VRIJEMEPLJACKE]);
- SCM(playerid,PLAVA,st);
- SetTimerEx("pljbrojanje", 1000, false, "i", playerid);
- PljBrojanje[playerid] = Robbery[i][VRIJEMEPLJACKE]*60;
- TogglePlayerControllable(playerid,0);
- ApplyAnimation(playerid,"BOMBER","BOM_Plant_Crouch_In",4.1,0,1,1,1,1);
- timi[playerid] = SetTimerEx("TimeRobbery",(Robbery[i][VRIJEMEPLJACKE]*60)*1000,false,"i",playerid);
- SetTimerEx("RobAgain", (Robbery[i][VRACANJEPLJACKE]*60)*1000, false, "d", i);
- }else return SCM(playerid,SCRVENA,"Bank robbed someone already, try again later!");
- }
- }
- return 1;
- }
- CMD:destroydoors(playerid, params[])
- {
- for(new i=0;i<MAX_PLJACKI;i++)
- {
- if(IsPlayerInRangeOfPoint(playerid, 3.0, Robbery[i][zX], Robbery[i][zY], Robbery[i][zZ]) && !IsPlayerInAnyVehicle(playerid))
- {
- if(PlayerInfo[playerid][pBomb] == 1)
- {
- SCM(playerid,PLAVA,"You plant the bomb!");
- PlayerInfo[playerid][pBomb] = 0;
- SavePlayer(playerid);
- GetPlayerPos(playerid, bx[playerid], by[playerid], bz[playerid]);
- GetPlayerFacingAngle(playerid,bab[playerid]);
- DestroyObject(Bomb[playerid]);
- bx[playerid] = bx[playerid] + (0.6 * floatsin(-bab[playerid], degrees));
- by[playerid] = by[playerid] + (0.6 * floatcos(-bab[playerid], degrees));
- Bomb[playerid]=CreateObject(1654, bx[playerid], by[playerid], bz[playerid]-0.8, 0.0, 0.0, bab[playerid]);
- TogglePlayerControllable(playerid,0);
- ApplyAnimation(playerid,"BOMBER","BOM_Plant_Crouch_In",4.1,0,1,1,1,1);
- SetTimerEx("PlantBomb",Robbery[i][PLANTTIMER]*1000,false,"i",playerid);
- RobId[playerid] = i;
- }else return SCM(playerid,SCRVENA,"Do not have a bomb!");
- }
- }
- return 1;
- }
- CMD:buybomb(playerid, params[])
- {
- for(new i=0;i<MAX_PLJACKI;i++)
- {
- if(IsPlayerInRangeOfPoint(playerid, 3.0, Robbery[i][boX], Robbery[i][boY], Robbery[i][boZ]) && !IsPlayerInAnyVehicle(playerid))
- {
- if(GetPlayerMoney(playerid) >= 2000)
- {
- if(PlayerInfo[playerid][pBomb] == 0)
- {
- SCM(playerid,PLAVA,"You bought C4 for $2000");
- PlayerInfo[playerid][pBomb] = 1;
- GivePlayerMoney(playerid,-2000);
- SavePlayer(playerid);
- }else return SCM(playerid,SCRVENA,"You already have one bomb!");
- }else return SCM(playerid,SCRVENA,"You do not have enough money!");
- }
- }
- return 1;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement