Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- -= INFO =-
- Created by: Leo
- Slike posla: http://imgur.com/a/QOkKo */
- //======= [ include ] ======//
- #include <a_samp>
- #include <zcmd>
- #include <eSelection>
- #include <sscanf2>
- #include <streamer>
- #include < YSI\y_va >
- //======= [ vars ] ======//
- enum pInfo
- {
- player_Job,
- player_Skin
- };
- new PlayerData[MAX_PLAYERS][pInfo];
- new bool:job_Uniform[MAX_PLAYERS],
- bool:Mower_Started[MAX_PLAYERS];
- new Grass[17][MAX_PLAYERS],
- GrassTimer[MAX_PLAYERS],
- MowerVehicle[4],
- skins_MowerJob[] = /* */ { 8,42 };
- //======= [ defines ] ======//
- #define MODEL_SELECTION_UNIFORM (1)
- #define MOWER_JOB 1
- //======= [ functions ] ======//
- stock MoweJobVehicles(carid)
- {
- for(new i = 0; i < sizeof(MowerVehicle); i++)
- {
- if (carid >= MowerVehicle[0] && carid <= sizeof MowerVehicle) return true;
- }
- return 0;
- }
- //----------------------------------------------------------
- stock randomEx(min,max) { return (min+random(max)); } // credits samp
- //----------------------------------------------------------
- forward TimerGrass(playerid);
- public TimerGrass(playerid)
- {
- new Float:Pos[3];
- new removed_grass = 0;
- for(new i = 0; i < sizeof(Grass); i++)
- {
- GetPlayerObjectPos(playerid, Grass[i][playerid], Pos[0], Pos[1], Pos[2]);
- if(IsPlayerInRangeOfPoint(playerid, 3.0, Pos[0], Pos[1], Pos[2]) && MoweJobVehicles(GetPlayerVehicleID(playerid)))
- {
- DestroyPlayerObject(playerid, Grass[i][playerid]);
- Grass[i][playerid] = 999;
- }
- if(Grass[i][playerid] == 999)
- {
- removed_grass++;
- }
- }
- if(removed_grass == 17)
- {
- // Stop Player Job
- Mower_Started[playerid] = false;
- KillTimer(GrassTimer[playerid]);
- new mower_payday = randomEx(100, 50);
- va_SendClientMessage(playerid, -1, "[PAYDAY]: Uspiješno ste pokosili svu travu i zaradili %d.", mower_payday);
- GivePlayerMoney(playerid, mower_payday);
- }
- }
- //----------------------------------------------------------
- stock CreateGrassForPlayer(playerid)
- {
- // Var CreatePlayerObject
- Grass[0][playerid] = CreatePlayerObject(playerid,821, 1908.66748, -1183.56079, 20.87046, 0.00000, 0.00000, 0.00000);
- Grass[1][playerid] = CreatePlayerObject(playerid,821, 1923.24792, -1182.05432, 19.85537, 0.00000, 0.00000, 0.00000);
- Grass[2][playerid] = CreatePlayerObject(playerid,821, 1884.72900, -1171.30200, 22.47716, 0.00000, 0.00000, 0.00000);
- Grass[3][playerid] = CreatePlayerObject(playerid,821, 1873.03149, -1198.99585, 19.89127, 0.00000, 0.00000, 0.00000);
- Grass[4][playerid] = CreatePlayerObject(playerid,821, 1900.64783, -1222.04260, 15.61076, 0.00000, 0.00000, 0.00000);
- Grass[5][playerid] = CreatePlayerObject(playerid,821, 1920.42053, -1218.84888, 17.98026, 0.00000, 0.00000, 1.15910);
- Grass[6][playerid] = CreatePlayerObject(playerid,821, 1890.01416, -1243.77710, 12.58360, 0.00000, 0.00000, 0.00000);
- Grass[7][playerid] = CreatePlayerObject(playerid,821, 1945.88672, -1228.82397, 18.26256, 0.00000, 0.00000, 0.00000);
- Grass[8][playerid] = CreatePlayerObject(playerid,821, 1959.61267, -1244.40356, 18.67745, 0.00000, 0.00000, 0.00000);
- Grass[9][playerid] = CreatePlayerObject(playerid,821, 2003.01489, -1223.30603, 19.24441, 0.00000, 0.00000, 0.00000);
- Grass[10][playerid] = CreatePlayerObject(playerid,821, 1994.17078, -1242.32458, 19.24441, 0.00000, 0.00000, 0.00000);
- Grass[11][playerid] = CreatePlayerObject(playerid,821, 2048.46558, -1244.06897, 22.09180, 0.00000, 0.00000, 0.00000);
- Grass[12][playerid] = CreatePlayerObject(playerid,821, 2050.03931, -1226.33813, 22.09180, 0.00000, 0.00000, 0.00000);
- Grass[13][playerid] = CreatePlayerObject(playerid,821, 2036.11426, -1202.06763, 20.66650, 0.00000, 0.00000, 0.00000);
- Grass[14][playerid] = CreatePlayerObject(playerid,821, 2049.18628, -1176.05688, 21.79180, 0.00000, 0.00000, 0.00000);
- Grass[15][playerid] = CreatePlayerObject(playerid,821, 2018.26306, -1190.21240, 19.74308, 0.00000, 0.00000, 0.00000);
- Grass[16][playerid] = CreatePlayerObject(playerid,821, 2000.27991, -1169.34619, 19.03198, 0.00000, 0.00000, 0.00000);
- return 1;
- }
- //----------------------------------------------------------
- main()
- {
- print("- Mower Job Loaded");
- }
- //----------------------------------------------------------
- public OnPlayerConnect(playerid)
- {
- //== Test ==//
- PlayerData[playerid][player_Skin] = 177;
- SetPlayerSkin(playerid, 177);
- Mower_Started[playerid] = false;
- PlayerData[playerid][player_Job] = 0;
- return 1;
- }
- //----------------------------------------------------------
- public OnPlayerSpawn(playerid)
- {
- //== Test ==//
- SetPlayerPos(playerid, 1883.2881, -1151.2875, 23.0440);
- return 1;
- }
- //----------------------------------------------------------
- public OnGameModeInit()
- {
- //== Mower Pickup
- AddStaticPickup(1210, 23,1888.0514, -1147.8807, 24.5296);
- //== Mower Take-job
- CreateDynamicObject(4638, 1888.61377, -1146.40674, 24.83438, 0.00000, 0.00000, 0.00000, -1, -1, -1, 300.00, 300.00);
- //== Mower Vehicle's
- MowerVehicle[0] = AddStaticVehicleEx(572,1878.2330, -1147.2213, 23.3851,179.1567, 127, 127, 1000);
- MowerVehicle[1] = AddStaticVehicleEx(572,1880.3384, -1147.2148, 23.3851,180.1096, 127, 127, 1000);
- MowerVehicle[2] = AddStaticVehicleEx(572,1882.4224, -1147.2557, 23.3851,180.8310, 127, 127, 1000);
- MowerVehicle[3] = AddStaticVehicleEx(572,1884.4325, -1147.3085, 23.3851,180.8310, 127, 127, 1000);
- return 1;
- }
- //----------------------------------------------------------
- public OnModelSelectionResponse(playerid, extraid, index, modelid, response)
- {
- if ((response) && (extraid == MODEL_SELECTION_UNIFORM))
- {
- SetPlayerSkin(playerid, skins_MowerJob[index]);
- SendClientMessage(playerid, -1, "[INFO]: Obukli ste uniformu za posao.");
- job_Uniform[playerid] = true;
- }
- return 1;
- }
- //----------------------------------------------------------
- public OnPlayerStateChange(playerid, newstate, oldstate)
- {
- if(MoweJobVehicles(GetPlayerVehicleID(playerid)) && PlayerData[playerid][player_Job] != MOWER_JOB)
- {
- SendClientMessage(playerid, -1, "[ERROR]: Kako bi koristili ovo vozilo, morate biti zaposljeni kao mower!");
- RemovePlayerFromVehicle(playerid);
- }
- return 1;
- }
- //----------------------------------------------------------
- CMD:mower(playerid, params[])
- {
- new action[15];
- if(sscanf(params, "s[15] ", action))
- {
- SendClientMessage(playerid, -1, "/mower [action].");
- SendClientMessage(playerid, -1, "-> uniform, takejob, start, quitjob, stopjob");
- return 1;
- }
- if(strcmp(action,"uniform",true) == 0)
- {
- if((PlayerData[playerid][player_Job] != MOWER_JOB)) return SendClientMessage(playerid, -1,"[ERROR]: Kako bi koristili ovu komandu morate biti zaposleni kao mower.");
- switch(job_Uniform[playerid])
- {
- case 0:
- {
- ShowModelSelectionMenu(playerid, "Select Skin", MODEL_SELECTION_UNIFORM, skins_MowerJob, sizeof(skins_MowerJob), -16.0, 0.0, -55.0);
- }
- case 1:
- {
- job_Uniform[playerid] = false;
- SetPlayerSkin(playerid, PlayerData[playerid][player_Skin]);
- SendClientMessage(playerid, -1, "[INFO]: Skinuli ste uniformu za posao.");
- }
- }
- }
- if(strcmp(action,"takejob",true) == 0)
- {
- if(PlayerData[playerid][player_Job] == MOWER_JOB) return SendClientMessage(playerid, -1, "[ERROR]: Vec ste zaposleni kao mower, prvo morate dati otkaz(/mower quitjob)!");
- if(!IsPlayerInRangeOfPoint(playerid, 2, 1888.0514, -1147.8807, 24.5296)) return SendClientMessage(playerid, -1, "[ERROR]: Morate se nalaziti na pickup-u kako bi se zaposlili kao mower.");
- // Set Player Job
- PlayerData[playerid][player_Job] = MOWER_JOB;
- SendClientMessage(playerid, -1, "[NEW JOB]: Uspiješno ste se zaposlili kao mower, sve komande mozete vidjeti na /mower.");
- }
- if(strcmp(action,"quitjob",true) == 0)
- {
- if(PlayerData[playerid][player_Job] != MOWER_JOB) return SendClientMessage(playerid, -1, "[ERROR]: Vi niste zaposleni kao mower, ne mozete dati otkaz!");
- if(!IsPlayerInRangeOfPoint(playerid, 2, 1888.0514, -1147.8807, 24.5296)) return SendClientMessage(playerid, -1, "[ERROR]: Morate se nalaziti na pickup-u kako bi dali otkaz kao mower.");
- // Set Player Job
- PlayerData[playerid][player_Job] = 0;
- SendClientMessage(playerid, -1, "[QUIT JOB]: Uspiješno ste dali otkaz kao mower.");
- }
- if(strcmp(action,"startjob",true) == 0)
- {
- if(PlayerData[playerid][player_Job] != MOWER_JOB) return SendClientMessage(playerid, -1, "[ERROR]: Kako bi pokrenuli posao morate biti zaposleni kao mower.");
- if(job_Uniform[playerid] == false) return SendClientMessage(playerid, -1, "[ERROR]: Kako bi zapoceli posao morate imati opremu na sebi.");
- if(Mower_Started[playerid] == true) return SendClientMessage(playerid, -1, "[ERROR]: Vec ste zapoceli sa kosenjem trave, kako bi prekinuli posao kucajte /mower stopjob.");
- // Start Player Job
- Mower_Started[playerid] = true;
- CreateGrassForPlayer(playerid);
- GrassTimer[playerid] = SetTimerEx("TimerGrass", 500, true, "i", playerid);
- SendClientMessage(playerid, -1, "[MOWER]: Uspiješno ste zapoceli posao, pokosite sve trave!");
- }
- if(strcmp(action,"stopjob",true) == 0)
- {
- if(PlayerData[playerid][player_Job] != MOWER_JOB) return SendClientMessage(playerid, -1, "[ERROR]: Vi niste zaposleni kao mower, ne mozete koristiti ovu komandu.");
- if(Mower_Started[playerid] == false) return SendClientMessage(playerid, -1, "[ERROR]: Vi nemate pokrenut 'mower-job', kako bi pokrenuli posao kucajte /mower startjob.");
- // Stop Player Job
- Mower_Started[playerid] = false;
- KillTimer(GrassTimer[playerid]);
- for(new removeObj_Grass = 0; removeObj_Grass < 16; removeObj_Grass++) { DestroyPlayerObject(playerid, Grass[removeObj_Grass][playerid]); }
- SendClientMessage(playerid, -1, "[STOP JOB]: Uspiješno ste stopirali posao, kako bi ponovo zapoceli posao kucajte /mower startjob.");
- }
- return 1;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement