1
Script Releases / Mansion Gate
« on: October 11, 2014, 07:38:51 pm »
Today i release a simple function
What it do is add a gate ,at the entrance of Mansion,which can open and close by hotkeys.
OnPlayerStart function.
we bind the key and create the gate here.Also we will make a global variable that tell us is gate open or close.
OnKeyDown function
where we will add our function.
MoveGate function
we will open or close the gate here.
This is it for this function or
If you want to only use 1 key for both opening and closing then use this.
OnPlayerStart function.
Same just we dont bind the key "Z".
OnKeyDown function
we will only use one key here.
MoveGate function
Same func
Screenshots:
What it do is add a gate ,at the entrance of Mansion,which can open and close by hotkeys.
OnPlayerStart function.
we bind the key and create the gate here.Also we will make a global variable that tell us is gate open or close.
Code: [Select]
OnServerStart()
{
open <- false;
mansiongate <- CreateObject(6000,0,Vector(-277, -495, 10),255);
opengate <- BindKey(true,0x104F ,0,0); //The Key IS "O"
closegate <- BindKey(true,0x205A,0,0); //The Key IS "Z"
}
OnKeyDown function
where we will add our function.
Code: [Select]
function onKeyDown(player, bindid)
{
if(bindid==opengate)
{
if(open==false) MoveGate(player,mansiongate.ID,"open");
else MessagePlayer("Gate is already open.",player);
}
else if(bindid==closegate)
{
if(open==true) MoveGate(player,mansiongate.ID,"close");
else MessagePlayer("Gate is already closed.",player);
}
}
MoveGate function
we will open or close the gate here.
Code: [Select]
function MoveGate(player,gate, status)
{
local obj=FindObject(gate);
if(obj)
{
if(status=="open")
{
MessagePlayer("Opening Gate",player);
obj.MoveBy(Vector(8,0,0), 2800);
open=true;
}
else if(status=="close")
{
MessagePlayer("Closing Gate",player);
obj.MoveBy(Vector(-8,0,0), 2800);
open=false;
}
}
else MessagePlayer("Object could not be found.",player);
}
This is it for this function or
If you want to only use 1 key for both opening and closing then use this.
OnPlayerStart function.
Same just we dont bind the key "Z".
Code: [Select]
OnServerStart()
{
open <- false;
mansiongate <- CreateObject(6000,0,Vector(-277, -495, 10),255);
gate <- BindKey(true,0x104F ,0,0); //The Key IS "O"
}
OnKeyDown function
we will only use one key here.
Code: [Select]
function onKeyDown(player, bindid)
{
if(bindid==gate)
{
if(open==false) MoveGate(player,masiongate.ID,"open");
else MoveGate(player,mansiongate.ID,"close");
}
}
MoveGate function
Same func
Code: [Select]
function MoveGate(player,gate, status)
{
local obj=FindObject(gate);
if(obj)
{
if(status=="open")
{
MessagePlayer("Opening Gate",player);
obj.MoveBy(Vector(8,0,0), 2800);
open=true;
}
else if(status=="close")
{
MessagePlayer("Closing Gate",player);
obj.MoveBy(Vector(-8,0,0), 2800);
open=false;
}
}
else MessagePlayer("Object could not be found.",player);
}
Screenshots: