Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // ================================================================
- // rTurret v1.5 Example Filterscript
- // Created for SA-MP 0.3.4
- // © 2015 by Corekt
- // ================================================================
- #define FILTERSCRIPT
- #include <a_samp>
- #include <rturret>
- #include <zcmd>
- #include <sscanf2>
- public OnFilterScriptInit()
- {
- // Add any remove buildings (This only works once)
- //CA_RemoveBuilding();
- // Initialize the collision world (This removes any objects and creates the collision world)
- CA_Init();
- // Create objects
- //CreateDynamicObject_SC();
- return 1;
- }
- public OnPlayerSpawn(playerid)
- {
- return 1;
- }
- public OnPlayerDeath(playerid, killerid, reason)
- {
- return 1;
- }
- public OnTurretCreate(turretid)
- {
- new
- txt[32];
- ToggleTurretHealth(turretid, true, 100.0);
- format(txt, sizeof(txt), "Turret %d\nHealth: %.1f", turretid, GetTurretHealth(turretid));
- SetTurretText(turretid, -1, txt);
- return 1;
- }
- public OnTurretDeath(turretid, killerid, weaponid)
- {
- new
- Float:x, Float:y, Float:z;
- GetTurretPos(turretid, x, y, z);
- CreateExplosion(x, y, z, 12, 10.0);
- return 1;
- }
- public OnTurretHitPlayer(turretid, playerid)
- {
- return 1;
- }
- public OnPlayerShootTurret(playerid, weaponid, turretid, Float:fX, Float:fY, Float:fZ)
- {
- new
- txt[32];
- format(txt, sizeof(txt), "Turret %d\nHealth: %.1f", turretid, GetTurretHealth(turretid));
- SetTurretText(turretid, -1, txt);
- return 1;
- }
- public OnTurretBulletCollision(turretid, Float:x, Float:y, Float:z)
- {
- foreach(new i : rTurretPlayersInBigArea[turretid])
- PlayerPlaySound(i, 31803, 0, 0, 0);
- return 1;
- }
- CMD:turretcmds(playerid, params[])
- {
- SendClientMessage(playerid, -1, "==========rTurret Commands Index==========");
- SendClientMessage(playerid, -1, "/createturret /setturretbehavior /setturretrotspeed /activateturret /activateallturrets /deactivateturret");
- SendClientMessage(playerid, -1, "/deactivateallturrets /toggleturretcheckarea /toggleturretplaysound /toggleturretvisible /toggleturretaim3d");
- SendClientMessage(playerid, -1, "/toggleturretpredictiveaim /setturrettext /setturretrate /destroyturret /destroyallturrets");
- SendClientMessage(playerid, -1, "/toggleturrethealth /toggleturretlos /toggleturretlosaim");
- SendClientMessage(playerid, -1, "==========================================");
- return 1;
- }
- CMD:createturret(playerid, params[])
- {
- new
- msg[64],
- turretid,
- Float:range,
- rate, Float:speed, Float:dmg,
- Float:x, Float:y, Float:z, Float:a;
- if (sscanf(params, "fdff", range, rate, speed, dmg))
- return SendClientMessage(playerid, -1, "USAGE: /createturret [range] [rate] [speed] [dmg]");
- GetPlayerPos(playerid, x, y, z);
- GetPlayerFacingAngle(playerid, a);
- turretid =
- CreateTurret(TURRET_BEHAVIOR_STATIONARY, INVALID_PLAYER_ID,
- x + (2 * floatsin(-a, degrees)), y + (2 * floatcos(-a, degrees)), z - 1, .rz = a + 90, .range = range, .rate = rate, .speed = speed, .dmg = dmg);
- if (turretid != INVALID_TURRET) {
- format(msg, sizeof(msg), "Created Turret %d", turretid);
- SendClientMessage(playerid, -1, msg);
- } else
- SendClientMessage(playerid, -1, "Error; Could not create Turret");
- return 1;
- }
- CMD:setturretbehavior(playerid, params[])
- {
- new
- msg[64],
- turretid,
- behavior;
- if (sscanf(params, "dd", turretid, behavior) || behavior < 0 || behavior >= TURRET_BEHAVIOR_MAX) {
- format(msg, sizeof(msg), "USAGE: /setturretbehavior [turretid] [behavior (0-%d)]", TURRET_BEHAVIOR_MAX - 1);
- return SendClientMessage(playerid, -1, msg);
- }
- if (!IsValidTurret(turretid))
- return SendClientMessage(playerid, -1, "ERROR: Invalid turret.");
- format(msg, sizeof(msg), "Turret %d behavior set to %d.", turretid, behavior);
- SetTurretBehavior(turretid, behavior);
- SendClientMessage(playerid, -1, msg);
- return 1;
- }
- CMD:setturretrotspeed(playerid, params[])
- {
- new
- msg[128],
- turretid,
- Float:speed;
- if (sscanf(params, "df", turretid, speed))
- return SendClientMessage(playerid, -1, "USAGE: /setturretrotspeed [turretid] [speed]");
- if (!SetTurretRotSpeed(turretid, speed))
- return SendClientMessage(playerid, -1, "ERROR: Invalid turret.");
- format(msg, sizeof(msg), "Turret %d's rotate speed (for turret rotation behaviors) set to %f", turretid, speed);
- SendClientMessage(playerid, -1, msg);
- return 1;
- }
- CMD:activateturret(playerid, params[])
- {
- new
- msg[64],
- turretid;
- if (sscanf(params, "d", turretid))
- return SendClientMessage(playerid, -1, "USAGE: /activateturret [turretid]");
- if (!IsValidTurret(turretid))
- return SendClientMessage(playerid, -1, "ERROR: Invalid turret.");
- if (ToggleTurretActive(turretid, 1))
- format(msg, sizeof(msg), "Activated Turret %d.", turretid);
- else
- format(msg, sizeof(msg), "ERROR: Turret %d is already active.", turretid);
- SendClientMessage(playerid, -1, msg);
- return 1;
- }
- CMD:activateallturrets(playerid, params[])
- {
- new
- count,
- msg[64];
- foreach(new i : rTurrets)
- if (ToggleTurretActive(i, 1))
- count++;
- format(msg, sizeof(msg), "Activated %d turret(s).", count);
- SendClientMessage(playerid, -1, msg);
- return 1;
- }
- CMD:deactivateturret(playerid, params[])
- {
- new
- msg[64],
- turretid;
- if (sscanf(params, "d", turretid))
- return SendClientMessage(playerid, -1, "USAGE: /deactivateturret [turretid]");
- if (!IsValidTurret(turretid))
- return SendClientMessage(playerid, -1, "ERROR: Invalid turret.");
- if (ToggleTurretActive(turretid, 0))
- format(msg, sizeof(msg), "Deactivated Turret %d.", turretid);
- else
- format(msg, sizeof(msg), "ERROR: Turret %d is already deactivated.", turretid);
- SendClientMessage(playerid, -1, msg);
- return 1;
- }
- CMD:deactivateallturrets(playerid, params[])
- {
- new
- count,
- msg[64];
- foreach(new i : rTurrets)
- if (ToggleTurretActive(i, 0))
- count++;
- format(msg, sizeof(msg), "Deactivated %d turret(s).", count);
- SendClientMessage(playerid, -1, msg);
- return 1;
- }
- CMD:toggleturrethealth(playerid, params[])
- {
- new
- msg[128],
- toggle,
- turretid;
- if (sscanf(params, "dd", turretid, toggle) || (toggle != 0 && toggle != 1))
- return SendClientMessage(playerid, -1, "USAGE: /toggleturrethealth [turretid] [0/1]");
- if (!IsValidTurret(turretid))
- return SendClientMessage(playerid, -1, "ERROR: Invalid turret.");
- if (ToggleTurretHealth(turretid, toggle))
- format(msg, sizeof(msg), "Successfully toggled Turret Health (%d, Health: %f) for Turret %d.", toggle, GetTurretHealth(turretid), turretid);
- else
- format(msg, sizeof(msg), "ERROR: Could not toggle Turret Health (%d) for Turret %d", toggle, turretid);
- SendClientMessage(playerid, -1, msg);
- return 1;
- }
- CMD:toggleturretlos(playerid, params[])
- {
- new
- msg[128],
- toggle,
- turretid;
- if (sscanf(params, "dd", turretid, toggle) || (toggle != 0 && toggle != 1))
- return SendClientMessage(playerid, -1, "USAGE: /toggleturretlos [turretid] [0/1]");
- if (!IsValidTurret(turretid))
- return SendClientMessage(playerid, -1, "ERROR: Invalid turret.");
- if (ToggleTurretLOS(turretid, toggle))
- format(msg, sizeof(msg), "Successfully toggled Turret LoS (%d) for Turret %d.", toggle, turretid);
- else
- format(msg, sizeof(msg), "ERROR: Could not toggle Turret LoS (%d) for Turret %d", toggle, turretid);
- SendClientMessage(playerid, -1, msg);
- return 1;
- }
- CMD:toggleturretlosaim(playerid, params[])
- {
- new
- msg[128],
- toggle,
- turretid;
- if (sscanf(params, "dd", turretid, toggle) || (toggle != 0 && toggle != 1))
- return SendClientMessage(playerid, -1, "USAGE: /toggleturretlosaim [turretid] [0/1]");
- if (!IsValidTurret(turretid))
- return SendClientMessage(playerid, -1, "ERROR: Invalid turret.");
- if (ToggleTurretLOSAim(turretid, toggle))
- format(msg, sizeof(msg), "Successfully toggled Turret LoS Aim (%d) for Turret %d.", toggle, turretid);
- else
- format(msg, sizeof(msg), "ERROR: Could not toggle Turret LoS Aim (%d) for Turret %d", toggle, turretid);
- SendClientMessage(playerid, -1, msg);
- return 1;
- }
- CMD:toggleturretcheckarea(playerid, params[])
- {
- new
- msg[128],
- toggle,
- turretid;
- if (sscanf(params, "dd", turretid, toggle) || (toggle != 0 && toggle != 1))
- return SendClientMessage(playerid, -1, "USAGE: /toggleturretcheckarea [turretid] [0/1]");
- if (!IsValidTurret(turretid))
- return SendClientMessage(playerid, -1, "ERROR: Invalid turret.");
- if (ToggleTurretCheckArea(turretid, toggle))
- format(msg, sizeof(msg), "Successfully toggled Turret Check Area (%d) for Turret %d.", toggle, turretid);
- else
- format(msg, sizeof(msg), "ERROR: Could not toggle Turret Check Area (%d) for Turret %d", toggle, turretid);
- SendClientMessage(playerid, -1, msg);
- return 1;
- }
- CMD:toggleturretplaysound(playerid, params[])
- {
- new
- msg[128],
- toggle,
- turretid;
- if (sscanf(params, "dd", turretid, toggle) || (toggle != 0 && toggle != 1))
- return SendClientMessage(playerid, -1, "USAGE: /toggleturretplaysound [turretid] [0/1]");
- if (!IsValidTurret(turretid))
- return SendClientMessage(playerid, -1, "ERROR: Invalid turret.");
- if (ToggleTurretPlaySound(turretid, toggle))
- format(msg, sizeof(msg), "Successfully toggled Turret Sound (%d) for Turret %d.", toggle, turretid);
- else
- format(msg, sizeof(msg), "ERROR: Could not toggle Turret Sound (%d) for Turret %d", toggle, turretid);
- SendClientMessage(playerid, -1, msg);
- return 1;
- }
- CMD:toggleturretvisible(playerid, params[])
- {
- new
- msg[128],
- toggle,
- turretid;
- if (sscanf(params, "dd", turretid, toggle) || (toggle != 0 && toggle != 1))
- return SendClientMessage(playerid, -1, "USAGE: /toggleturretvisible [turretid] [0/1]");
- if (!IsValidTurret(turretid))
- return SendClientMessage(playerid, -1, "ERROR: Invalid turret.");
- if (ToggleTurretVisible(turretid, toggle))
- format(msg, sizeof(msg), "Successfully toggled Turret Visibility (%d) for Turret %d.", toggle, turretid);
- else
- format(msg, sizeof(msg), "ERROR: Could not toggle Turret Visibility (%d) for Turret %d", toggle, turretid);
- SendClientMessage(playerid, -1, msg);
- return 1;
- }
- CMD:toggleturretaim3d(playerid, params[])
- {
- new
- msg[128],
- toggle,
- turretid;
- if (sscanf(params, "dd", turretid, toggle) || (toggle != 0 && toggle != 1))
- return SendClientMessage(playerid, -1, "USAGE: /toggleturretaim3d [turretid] [0/1]");
- if (!IsValidTurret(turretid))
- return SendClientMessage(playerid, -1, "ERROR: Invalid turret.");
- if (ToggleTurretAim3dSpace(turretid, toggle))
- format(msg, sizeof(msg), "Successfully toggled Turret Aim 3D Space (%d) for Turret %d.", toggle, turretid);
- else
- format(msg, sizeof(msg), "ERROR: Could not toggle Turret Aim 3D Space (%d) for Turret %d", toggle, turretid);
- SendClientMessage(playerid, -1, msg);
- return 1;
- }
- CMD:toggleturretpredictiveaim(playerid, params[])
- {
- new
- msg[128],
- toggle,
- turretid;
- if (sscanf(params, "dd", turretid, toggle) || (toggle != 0 && toggle != 1))
- return SendClientMessage(playerid, -1, "USAGE: /toggleturretpredictiveaim [turretid] [0/1]");
- if (!IsValidTurret(turretid))
- return SendClientMessage(playerid, -1, "ERROR: Invalid turret.");
- if (ToggleTurretPredictiveAim(turretid, toggle))
- format(msg, sizeof(msg), "Successfully toggled Turret Predictive Aim (%d) for Turret %d.", toggle, turretid);
- else
- format(msg, sizeof(msg), "ERROR: Could not toggle Turret Predictive Aim (%d) for Turret %d", toggle, turretid);
- SendClientMessage(playerid, -1, msg);
- return 1;
- }
- CMD:setturrettext(playerid, params[])
- {
- new
- color,
- msg[128],
- turretid,
- text[64];
- if (sscanf(params, "dds[64]", turretid, color, text))
- return SendClientMessage(playerid, -1, "USAGE: /setturrettext [turretid] [color] [text]");
- if (!SetTurretText(turretid, color, text))
- return SendClientMessage(playerid, -1, "ERROR: Invalid turret.");
- else {
- format(msg, sizeof(msg), "Turret %d text (color: %d) set to %s", turretid, color, text);
- SendClientMessage(playerid, color, msg);
- }
- return 1;
- }
- CMD:setturretrate(playerid, params[])
- {
- new
- rate,
- msg[64],
- turretid;
- if (sscanf(params, "dd", turretid, rate))
- return SendClientMessage(playerid, -1, "USAGE: /setturretrate [turretid] [rate]");
- if (!SetTurretFireRate(turretid, rate))
- return SendClientMessage(playerid, -1, "ERROR: Invalid turret.");
- else {
- format(msg, sizeof(msg), "Turret %d's fire rate set to %d", turretid, rate);
- SendClientMessage(playerid, -1, msg);
- }
- return 1;
- }
- CMD:destroyturret(playerid, params[])
- {
- new
- msg[64],
- turretid;
- if (sscanf(params, "d", turretid))
- return SendClientMessage(playerid, -1, "USAGE: /destroyturret [turret ID]");
- if (DestroyTurret(turretid))
- format(msg, sizeof(msg), "Destroyed Turret %d", turretid);
- else
- format(msg, sizeof(msg), "ERROR: Could not destroy Turret %d", turretid);
- SendClientMessage(playerid, -1, msg);
- return 1;
- }
- CMD:destroyallturrets(playerid, params[])
- {
- new
- next,
- count,
- msg[64];
- foreach(new i : rTurrets) {
- if (DestroyTurret(i, next)) {
- count++;
- i = next;
- }
- }
- format(msg, sizeof(msg), "Destroyed %d turrets.", count);
- SendClientMessage(playerid, -1, msg);
- return 1;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement