// -----------------------------------------------------------------------------
|
|
// Example Filterscript for Kylie's Barn Object
|
|
// --------------------------------------------
|
|
// By Matite in March 2015
|
|
//
|
|
//
|
|
// This script creates the repaired Kylie's Barn Building object and removes
|
|
// the existing GTASA barn object (normally this object has some collision
|
|
// bugs that prevent the player from moving about inside it).
|
|
//
|
|
// Warning...
|
|
// This script uses a total of:
|
|
// * 1 object = 1 for the replacement barn object
|
|
// * Enables the /kb command to teleport the player to Kylie's Barn
|
|
// -----------------------------------------------------------------------------
|
|
// -----------------------------------------------------------------------------
|
|
|
|
|
|
// -----------------------------------------------------------------------------
|
|
// Includes
|
|
// --------
|
|
|
|
// SA-MP include
|
|
#include <a_samp>
|
|
|
|
|
|
// -----------------------------------------------------------------------------
|
|
// Defines
|
|
// -------
|
|
|
|
// Used for messages sent to the player
|
|
#define COLOR_MESSAGE_YELLOW 0xFFDD00AA
|
|
|
|
|
|
// -----------------------------------------------------------------------------
|
|
// Variables
|
|
// ---------
|
|
|
|
// Stores the created object number of the replacement barn object so
|
|
// it can be destroyed when the filterscript is unloaded
|
|
new KyliesBarnObject1; // Barn object
|
|
|
|
|
|
// -----------------------------------------------------------------------------
|
|
// Callbacks
|
|
// ---------
|
|
|
|
public OnPlayerCommandText(playerid, cmdtext[])
|
|
{
|
|
// Check command text
|
|
if (strcmp("/kb", cmdtext, true, 3) == 0)
|
|
{
|
|
// Set the interior
|
|
SetPlayerInterior(playerid, 3);
|
|
|
|
// Set player position and facing angle
|
|
SetPlayerPos(playerid, 292.03, 309.82, 999.55);
|
|
SetPlayerFacingAngle(playerid, 88);
|
|
|
|
// Fix camera position after teleporting
|
|
SetCameraBehindPlayer(playerid);
|
|
|
|
// Send a gametext message to the player
|
|
GameTextForPlayer(playerid, "~b~~h~Kylie's Barn!", 3000, 3);
|
|
|
|
// Exit here
|
|
return 1;
|
|
}
|
|
|
|
// Exit here (return 0 as the command was not handled in this filterscript)
|
|
return 0;
|
|
}
|
|
|
|
public OnFilterScriptInit()
|
|
{
|
|
// Display information in the Server Console
|
|
print("\n");
|
|
print(" |---------------------------------------------------");
|
|
print(" |--- Kylie's Barn Filterscript");
|
|
print(" |-- Script v1.01");
|
|
print(" |-- 6th March 2015");
|
|
print(" |---------------------------------------------------");
|
|
|
|
// Create Kylie's Barn repaired object
|
|
KyliesBarnObject1 = CreateObject(19881, 286.188, 307.609, 1002.01, 0, 0, 0);
|
|
|
|
// Display information in the Server Console
|
|
print(" |-- Kylie's Barn object created");
|
|
print(" |---------------------------------------------------");
|
|
|
|
// Loop
|
|
for (new i = 0; i < MAX_PLAYERS; i++)
|
|
{
|
|
// Check if the player is connected and not a NPC
|
|
if (IsPlayerConnected(i) && !IsPlayerNPC(i))
|
|
{
|
|
// Remove default GTASA Kylie's Barn object for the player (so any
|
|
// player currently ingame does not have to rejoin for them to be
|
|
// removed when this filterscript is loaded)
|
|
RemoveBuildingForPlayer(i, 14871, 286.188, 307.609, 1002.01, 250.0); // Barn
|
|
}
|
|
}
|
|
|
|
// Exit here
|
|
return 1;
|
|
}
|
|
|
|
public OnFilterScriptExit()
|
|
{
|
|
// Check for valid object
|
|
if (IsValidObject(KyliesBarnObject1))
|
|
{
|
|
// Destroy the Kylie's Barn object
|
|
DestroyObject(KyliesBarnObject1);
|
|
|
|
// Display information in the Server Console
|
|
print(" |---------------------------------------------------");
|
|
print(" |-- Kylie's Barn object destroyed");
|
|
}
|
|
|
|
// Display information in the Server Console
|
|
print(" |---------------------------------------------------");
|
|
print(" |-- Kylie's Barn Filterscript Unloaded");
|
|
print(" |---------------------------------------------------");
|
|
|
|
// Exit here
|
|
return 1;
|
|
}
|
|
|
|
public OnPlayerConnect(playerid)
|
|
{
|
|
// Remove default GTASA Kylie's Barn object for the player
|
|
RemoveBuildingForPlayer(playerid, 14871, 286.188, 307.609, 1002.01, 250.0); // Barn
|
|
|
|
// Exit here (return 1 so this callback is handled in other scripts too)
|
|
return 1;
|
|
}
|
|
|