Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #define FILTERSCRIPT
- #define MAX_SPIKES 51 // Maximale Nagelbänder
- #define MAX_STSS 99999 // Maximale Straßensperren
- #include <a_samp>
- new Float:x[MAX_SPIKES];
- new Float:y[MAX_SPIKES];
- new Float:z[MAX_SPIKES];
- new Float:rz[MAX_SPIKES];
- new spike[MAX_SPIKES];
- new Spikeplatt[MAX_SPIKES];
- new nbpid[MAX_SPIKES];
- new Spikez = 0;
- new string[100];
- new Float:Ax;
- new Float:Ay;
- new Float:Az;
- new Float:Arz;
- new Absperrung[MAX_STSS];
- new Absperrungz = 0;
- #if defined FILTERSCRIPT
- public OnFilterScriptExit()
- {
- new i;
- for(;i<MAX_SPIKES;i++)
- {
- DestroyObject(spike[i]);
- }
- return 1;
- }
- #endif
- public OnPlayerCommandText(playerid, cmdtext[])
- {
- if (!strcmp("/sts", cmdtext))
- {
- if (GetPlayerSkin(playerid) == 280 || GetPlayerSkin(playerid) == 265 || GetPlayerSkin(playerid) == 283 || GetPlayerSkin(playerid) == 284 || GetPlayerSkin(playerid) == 285 )
- {
- Absperrungz = Absperrungz + 1;
- GetPlayerPos(playerid,Ax,Ay,Az);
- GetPlayerFacingAngle(playerid, Arz);
- Absperrung[Absperrungz] = CreateObject(1228, Ax, Ay, Az-0.50, 0, 0, Arz+90);
- format(string, sizeof(string), "** Straßensperre Nr. %d wurde erstellt! **",Absperrungz);
- SendClientMessage(playerid, 0x00FF35FF, string);
- }
- else
- {
- SendClientMessage(playerid, 0xC70000FF, "** Du bist kein Polizist **");
- }
- return 1;
- }
- if (!strcmp("/nb", cmdtext))
- {
- if (GetPlayerSkin(playerid) == 280 || GetPlayerSkin(playerid) == 265 || GetPlayerSkin(playerid) == 283 || GetPlayerSkin(playerid) == 284 || GetPlayerSkin(playerid) == 285 )
- {
- Spikez = Spikez + 1;
- if(Spikez < MAX_SPIKES)
- {
- GetPlayerPos(playerid,x[Spikez],y[Spikez],z[Spikez]);
- GetPlayerFacingAngle(playerid, rz[Spikez]);
- spike[Spikez] = CreateObject(2892, x[Spikez], y[Spikez], z[Spikez]-0.8, 0, 0, rz[Spikez]+90);
- format(string, sizeof(string), "** Das Nagelband Nr. %d wurde verlegt! **",Spikez);
- SendClientMessage(playerid, 0x00FF35FF, string);
- Spikeplatt[Spikez] = 1;
- nbpid[Spikez] = playerid;
- }
- else
- {
- SendClientMessage(playerid, 0x00FF35FF, "** Alle Nagelbänder wurden verlegt! **");
- }
- }
- else
- {
- SendClientMessage(playerid, 0xC70000FF, "** Du bist kein Polizist **");
- }
- return 1;
- }
- if (!strcmp("/rfs", cmdtext))
- {
- if (GetPlayerSkin(playerid) == 280 || GetPlayerSkin(playerid) == 265 || GetPlayerSkin(playerid) == 283 || GetPlayerSkin(playerid) == 284 || GetPlayerSkin(playerid) == 285 )
- {
- format(string, sizeof(string), "** Alle %d Nagelbänder wurden gelöscht! **",Spikez);
- SendClientMessage(playerid, 0xD80000FF, string);
- format(string, sizeof(string), "** Alle %d Straßensperren wurden gelöscht! **",Absperrungz);
- SendClientMessage(playerid, 0xD80000FF, string);
- Absperrungz += 1;
- new i;
- for(;i<Absperrungz;)
- {
- DestroyObject(Absperrung[i]);
- i++;
- }
- SendRconCommand("reloadfs spike");
- }
- else
- {
- SendClientMessage(playerid, 0xC70000FF, "** Du bist kein Polizist **");
- }
- return 1;
- }
- return 0;
- }
- encode_tires(tire1, tire2, tire3, tire4) {
- return tire1 | (tire2 << 1) | (tire3 << 2) | (tire4 << 3);
- }
- public OnPlayerUpdate(playerid)
- {
- if(IsPlayerInAnyVehicle(playerid))
- {
- new i;
- for(;i<MAX_SPIKES;i++)
- {
- if(IsPlayerInRangeOfPoint(playerid, 3.0, x[i], y[i], z[i]))
- {
- if (Spikeplatt[i] == 1)
- {
- UpdateVehicleDamageStatus(GetPlayerVehicleID(playerid), 0, 0, 0, encode_tires(1, 1, 1, 1));
- DestroyObject(spike[i]);
- new name[MAX_PLAYER_NAME];
- GetPlayerName(playerid, name, sizeof(name));
- format(string, sizeof(string), "** %s ist durch dein Nagelband gefahren **",name);
- SendClientMessage(nbpid[i], 0x00AD00FF, string);
- Spikeplatt[i] = 0;
- }
- }
- }
- }
- return 1;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement