Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //Update 1.1: Samo 1 spike se moze postaviti (ne moze i mali i veliki)
- #include <a_samp>
- #include <zcmd>
- #include <sscanf2>
- #pragma tabsize 0
- new bool:Spike1Kreiran[MAX_PLAYERS];
- new bool:Spike2Kreiran[MAX_PLAYERS];
- new Spike1[MAX_PLAYERS];
- new Spike2[MAX_PLAYERS];
- new Float:spX, Float:spY, Float:spZ, Float:spA;
- ///////////////////////////////////////////////////////
- CMD:spike(playerid, params[])
- {
- new id;
- GetPlayerPos(playerid, spX, spY, spZ);
- GetPlayerFacingAngle(playerid, spA);
- if(sscanf(params, "i", id))
- {
- SendClientMessage(playerid, -1, "/spike [1-2]");
- SendClientMessage(playerid, -1, "1 - Mali");
- SendClientMessage(playerid, -1, "2 - Veliki");
- return 1;
- }
- if(id == 1)
- {
- if(Spike1Kreiran[playerid] == false && Spike2Kreiran[playerid] == false)
- {
- Spike1[playerid] = CreateObject(2899, spX+5, spY, spZ-0.83, 0.0, 0.0, spA+180);
- Spike1Kreiran[playerid] = true;
- SendClientMessage(playerid, -1, "Postavili ste mali spike.");
- }
- else return SendClientMessage(playerid, -1, "Vec imate kreiran spike.");
- }
- else if(id == 2)
- {
- if(Spike2Kreiran[playerid] == false && Spike1Kreiran[playerid] == false)
- {
- Spike2[playerid] = CreateObject(2892, spX+5, spY, spZ-0.95, 0.0, 0.0, spA+180);
- Spike2Kreiran[playerid] = true;
- SendClientMessage(playerid, -1, "Postavili ste veliki spike.");
- }
- else return SendClientMessage(playerid, -1, "Vec imate kreiran spike.");
- }
- else return SendClientMessage(playerid, -1, "Pogresan ID spike-a (1-2).");
- return 1;
- }
- /////////////////////////////////////////////////////////////////////////////
- CMD:destroyspike(playerid, params[])
- {
- new id;
- if(sscanf(params, "i", id)) return SendClientMessage(playerid,-1, "/unistispike [1-2]");
- if(id == 1)
- {
- if(Spike1Kreiran[playerid] == true)
- {
- DestroyObject(Spike1[playerid]);
- SendClientMessage(playerid, -1, "Unistili ste mali spike.");
- Spike1Kreiran[playerid] = false;
- }
- else return SendClientMessage(playerid, -1, "Mali spike nije kreiran.");
- }
- else if(id == 2)
- {
- if(Spike2Kreiran[playerid] == true)
- {
- DestroyObject(Spike2[playerid]);
- SendClientMessage(playerid, -1, "Unistili ste veliki spike.");
- Spike2Kreiran[playerid] = false;
- }
- else return SendClientMessage(playerid, -1, "Veliki spike nije kreiran.");
- }
- else return SendClientMessage(playerid, -1, "Pogresan ID spike-a [1-2].");
- return 1;
- }
- ////////////////////////////////////////////////////////////////////
- public OnPlayerUpdate(playerid)
- {
- ///////////////////////////////////////////////////////////////////////
- if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
- {
- if(IsPlayerInRangeOfPoint(playerid, 3.0, spX+5, spY, spZ-0.83))
- {
- if(Spike1Kreiran[playerid] == 1)
- {
- PopPlayerTires(playerid);
- }
- }
- }
- if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
- {
- if(IsPlayerInRangeOfPoint(playerid, 3.0, spX+5, spY, spZ-0.95))
- {
- if(Spike2Kreiran[playerid] == 1)
- {
- PopPlayerTires(playerid);
- }
- }
- }
- return 1;
- }
- /////////////////////////
- stock PopPlayerTires(playerid)
- {
- new vehicleid = GetPlayerVehicleID(playerid);
- new panels, doors, lights, tires;
- GetVehicleDamageStatus(vehicleid, panels, doors, lights, tires);
- tires = encode_tires(1, 1, 1, 1);
- UpdateVehicleDamageStatus(vehicleid, panels, doors, lights, 15);
- }
- encode_tires(tires1, tires2, tires3, tires4) {
- return tires1 | (tires2 << 1) | (tires3 << 2) | (tires4 << 3);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement