SHOW:
|
|
- or go back to the newest paste.
| 1 | #include <a_samp> | |
| 2 | #include <zcmd> | |
| 3 | #define MAX_HOLES 700 | |
| 4 | - | #include <streamer> |
| 4 | + | |
| 5 | enum hInfo | |
| 6 | {
| |
| 7 | hCreated, | |
| 8 | Float:hX, | |
| 9 | Float:hY, | |
| 10 | Float:hZ, | |
| 11 | hCount, | |
| 12 | hObject, | |
| 13 | }; | |
| 14 | new HoleInfo[MAX_HOLES][hInfo]; | |
| 15 | ||
| 16 | public OnFilterScriptInit() | |
| 17 | {
| |
| 18 | for(new i; i < MAX_HOLES; i++) { i = 0; return 1;}
| |
| 19 | print("\n--------------------------------------");
| |
| 20 | print(" Blank Filterscript by your name here");
| |
| 21 | print("--------------------------------------\n");
| |
| 22 | return 1; | |
| 23 | } | |
| 24 | ||
| 25 | stock CreateHole(Float:x, Float:y, Float:z, Float:rx, Float:ry, Float:Angle) | |
| 26 | {
| |
| 27 | for(new i = 0; i < sizeof(HoleInfo); i++) | |
| 28 | {
| |
| 29 | if(HoleInfo[i][hCreated] == 0) | |
| 30 | {
| |
| 31 | HoleInfo[i][hCreated]=1; | |
| 32 | HoleInfo[i][hX]=x; | |
| 33 | HoleInfo[i][hY]=y; | |
| 34 | HoleInfo[i][hZ]=z; | |
| 35 | HoleInfo[i][hObject] = CreateObject(19185, x, y, z, rx, ry, Angle); | |
| 36 | HoleInfo[i][hCount] += 1; | |
| 37 | - | HoleInfo[i][hObject] = CreateObject(3106, x, y, z, rx, ry, Angle); |
| 37 | + | |
| 38 | return 1; | |
| 39 | } | |
| 40 | if(HoleInfo[i][hCount] == MAX_HOLES) { return DeleteAllHoles(); }
| |
| 41 | } | |
| 42 | return 0; | |
| 43 | } | |
| 44 | ||
| 45 | CMD:clear(playerid, params[]) | |
| 46 | {
| |
| 47 | DeleteAllHoles(); | |
| 48 | return 1; | |
| 49 | } | |
| 50 | ||
| 51 | stock DeleteAllHoles() | |
| 52 | {
| |
| 53 | for(new i = 0; i < sizeof(HoleInfo); i++) | |
| 54 | {
| |
| 55 | if(HoleInfo[i][hCreated] == 1) | |
| 56 | {
| |
| 57 | HoleInfo[i][hCreated]=0; | |
| 58 | HoleInfo[i][hX]=0.0; | |
| 59 | HoleInfo[i][hY]=0.0; | |
| 60 | HoleInfo[i][hZ]=0.0; | |
| 61 | HoleInfo[i][hCount] = 0; | |
| 62 | DestroyObject(HoleInfo[i][hObject]); | |
| 63 | } | |
| 64 | } | |
| 65 | return 0; | |
| 66 | } | |
| 67 | ||
| 68 | ||
| 69 | public OnFilterScriptExit() | |
| 70 | {
| |
| 71 | return 1; | |
| 72 | } | |
| 73 | ||
| 74 | GetXYInFrontOfPlayer(playerid, &Float:x, &Float:y, Float:distance) | |
| 75 | {
| |
| 76 | new Float:a; | |
| 77 | GetPlayerPos(playerid, x, y, a); | |
| 78 | GetPlayerFacingAngle(playerid, a); | |
| 79 | if (GetPlayerVehicleID(playerid)) | |
| 80 | {
| |
| 81 | GetVehicleZAngle(GetPlayerVehicleID(playerid), a); | |
| 82 | } | |
| 83 | x += (distance * floatsin(-a, degrees)); | |
| 84 | y += (distance * floatcos(-a, degrees)); | |
| 85 | } | |
| 86 | ||
| 87 | CMD:gun(playerid, params[]) | |
| 88 | {
| |
| 89 | GivePlayerWeapon(playerid, 24, 100); | |
| 90 | GivePlayerWeapon(playerid, 34, 100); | |
| 91 | GivePlayerWeapon(playerid, 38, 100); | |
| 92 | return 1; | |
| 93 | } | |
| 94 | ||
| 95 | public OnPlayerWeaponShot(playerid, weaponid, hittype, hitid, Float:fX, Float:fY, Float:fZ) | |
| 96 | {
| |
| 97 | if(weaponid == 37 || weaponid == 36 || weaponid == 35) return 1; | |
| 98 | else{
| |
| 99 | - | if(weaponid == 38 || weaponid == 37 || weaponid == 36 || weaponid == 35) return 1; |
| 99 | + | |
| 100 | {
| |
| 101 | new Float: A, Float: rX, Float: rY; | |
| 102 | GetXYInFrontOfPlayer(playerid, rX, rY, 5.0); | |
| 103 | GetPlayerFacingAngle(playerid, A); | |
| 104 | CreateHole(fX, fY, fZ, rX, rY, A-90); | |
| 105 | } | |
| 106 | } | |
| 107 | return 1; | |
| 108 | } |