02.12.2011, 01:12
(
Last edited by Thresholdold; 20/12/2011 at 11:50 AM.
Reason: Wrong Prefix :S
)
pawn Code:
#include <a_samp> // As usual, add this include to the top so your script will work.
new gate; // The objectid your gate will be using
new timer[MAX_PLAYERS]; // Creates your auto-closing timer
//Add these two ABOVE your OnFilterScriptInit() or OnGameModeInit()
public OnFilterScriptInit() // or OnGameModeInit() if you are using a gamemode
{
gate = CreateObject(modelid, Float:X, Float:Y, Float:Z, Float:rX, Float:rY, Float:rZ, Float:DrawDistance);
// Example: CreateObject(969, 155, 12.6, 10.95, 0.0, 0.0, 90.0, 20.0);
// Place this under OnFilterScriptInit(), or OnGameModeInit() if you are using it in a gamemode.
}
public OnPlayerCommandText(playerid, cmdtext[]) // This is where we make the open command
{
if (strcmp("/open", cmdtext, true, 10) == 0) // When a player types '/open'
{
if(IsPlayerInRangeOfPoint(playerid, distance, X, Y, Z)) // Will detect whether they are near the gate or not
{ // It is recommended you set the RangeOfPoint to the coordinates of your 'closed' gate
MoveObject(gate, 520.0, -170.0, 19.0, 5.0, Float:RotX, Float:RotY, Float:RotZ); // Example: MoveObject(gate, 12,15, 10, 5.0, 120.0, 0.0, 90.0); Float:RotX, Y and Z should match your 'CreateObject' rotations
SendClientMessage(playerid, 0xEF994300, "The gate is opening and will close in 10 seconds."); // Send the player that typed /open, this message
timer[playerid] = SetTimerEx("gateclose",10000,false,"i",playerid); // Will activate a timer called 'gateclose' after 10 seconds, once the player has typed 'open'. Does not repeat itself.
// If you want to change timer: 1 Second = 1000, 5 seconds = 5000, 40 seconds = 40000, 1 minute = 60000 etc.
}
}
return 1;
}
forward gateclose(); //Defines our 'gateclose' timer when a player types /open, and what we want the gate to do
public gateclose()
{
MoveObject(gate, X, Y, Z, speed, Float:RotX, Float:RotY, Float:RotZ); // This will move the gate back to the 'closed' position
// which will be the same as the position in your FilterScriptInit()
}