OnPlayerKeyStateChange
#1

Okay, So I'm Ussing SSCANF For My Gates And Commands How Would I use OnPlayerKeyStateChange so it can just open gates?

pawn Code:
if(strcmp(cmdtext, "/gate", true) == 0)
    {
        if(IsPlayerInRangeOfPoint(playerid,9,1588.3058,-1637.9652,13.4227))
        { //POLICE GATE
            if(!IsACop(playerid)) return SendClientMessage(playerid,COLOR_GREY,"   You are not a Cop / FBI / SASP !");
            if(pdgategar==0)
            {
                pdgategar = 1;
                MoveObject(pdgaragegateobj, 1588.965698, -1637.882690, 7.710285, 1.50);
            }
            else if(pdgategar==1)
            {
                pdgategar = 0;
                MoveObject(pdgaragegateobj, 1588.965698, -1637.882690, 15.260185, 1.50);
            }
        }
        else if(IsPlayerInRangeOfPoint(playerid,9,1544.4913,-1627.2817,13.3828))
        { //POLICE BAR
            if(!IsACop(playerid)) return SendClientMessage(playerid,COLOR_GREY,"   You are not a Cop / FBI / SASP !");
            if(pdgatebar==0)
            {
                pdgatebar = 1;
                SetObjectRot( pdbarriergateobj, 0.0000, 360.0000, 90.0000);
                SetObjectPos( pdbarriergateobj, 1544.682495, -1630.953003, 13.079567 );
            }
            else if(pdgatebar==1)
            {
                pdgatebar = 0;
                SetObjectRot( pdbarriergateobj, 0.0000, 90.0000, 90.0000);
                SetObjectPos( pdbarriergateobj, 1544.682495, -1630.980000, 13.215000 );
            }
        }
        else if(IsPlayerInRangeOfPoint(playerid,9,96.8500, 1923.4334, 15.3518))
        { //PRISON GATE
            if(!IsACop(playerid) && PlayerInfo[playerid][pMember] != 5) return SendClientMessage(playerid,COLOR_GREY,"   You are not a Cop / FBI / SASP / NG !");
            if(Prison_Buttons[GateOpened] == 0)
            {
                MoveObject(Prison_Buttons[PrisonGate], 96.808670, 1923.5, 16.234968, 1.50);
                Prison_Buttons[GateOpened] = 1;
                Prison_Buttons[GateTimerID]= SetTimer("PrisonGateCheck", 60000, 0);
            }
            else
            {
                MoveObject(Prison_Buttons[PrisonGate], 96.808670, 1920.512817, 16.234968, 1.50);
                Prison_Buttons[GateOpened] = 0;
                KillTimer(Prison_Buttons[GateTimerID]);
            }
        }
        else if(IsPlayerInRangeOfPoint(playerid, 12.0, -80.057670593262, -352.7497253418, 3.2030787467957))
        { //SECRET SOCIETY GATE
            if(!(PlayerInfo[playerid][pMember] == 7)) return SendClientMessage(playerid,COLOR_GREY,"   You are not a member of the Secret Society !");
            if(ssgateopen == 0)
            {
                ssgateopen = 1;
                MoveObject(ssgate, -80.057670593262, -352.7497253418, 7.6630787467957, 1.500000);
            }
            else
            {
                ssgateopen = 0;
                MoveObject(ssgate, -80.057670593262, -352.7497253418, 3.2030787467957, 1.500000);
            }
        }
        else if(IsPlayerInRangeOfPoint(playerid, 12.0, 1027.46203613, 1183.29357910, 12.45144653))
        { //FBI GATE
            if(!(PlayerInfo[playerid][pMember] == 2)) return SendClientMessage(playerid,COLOR_GREY,"   You are not a member of the FBI !");
            if(fbigateopen == 0)
            {
                fbigateopen = 1;
                MoveObject(FBIGate, 1038.17248535, 1183.50256348, 12.45144653, 1.500000);
            }
            else
            {
                fbigateopen = 0;
                MoveObject(FBIGate, 1027.46203613,1183.29357910,12.45144653, 1.500000);
            }
        }
        else
        {
            SendClientMessage(playerid, COLOR_GREY, "   You are not near a gate !");
            return 1;
        }
        return 1;
    }
Reply
#2

Quote:
Originally Posted by Robert_Crawford
View Post
Okay, So I'm Ussing SSCANF For My Gates And Commands How Would I use OnPlayerKeyStateChange so it can just open gates?

pawn Code:
if(strcmp(cmdtext, "/gate", true) == 0)
    {
        if(IsPlayerInRangeOfPoint(playerid,9,1588.3058,-1637.9652,13.4227))
        { //POLICE GATE
            if(!IsACop(playerid)) return SendClientMessage(playerid,COLOR_GREY,"   You are not a Cop / FBI / SASP !");
            if(pdgategar==0)
            {
                pdgategar = 1;
                MoveObject(pdgaragegateobj, 1588.965698, -1637.882690, 7.710285, 1.50);
            }
            else if(pdgategar==1)
            {
                pdgategar = 0;
                MoveObject(pdgaragegateobj, 1588.965698, -1637.882690, 15.260185, 1.50);
            }
        }
        else if(IsPlayerInRangeOfPoint(playerid,9,1544.4913,-1627.2817,13.3828))
        { //POLICE BAR
            if(!IsACop(playerid)) return SendClientMessage(playerid,COLOR_GREY,"   You are not a Cop / FBI / SASP !");
            if(pdgatebar==0)
            {
                pdgatebar = 1;
                SetObjectRot( pdbarriergateobj, 0.0000, 360.0000, 90.0000);
                SetObjectPos( pdbarriergateobj, 1544.682495, -1630.953003, 13.079567 );
            }
            else if(pdgatebar==1)
            {
                pdgatebar = 0;
                SetObjectRot( pdbarriergateobj, 0.0000, 90.0000, 90.0000);
                SetObjectPos( pdbarriergateobj, 1544.682495, -1630.980000, 13.215000 );
            }
        }
        else if(IsPlayerInRangeOfPoint(playerid,9,96.8500, 1923.4334, 15.3518))
        { //PRISON GATE
            if(!IsACop(playerid) && PlayerInfo[playerid][pMember] != 5) return SendClientMessage(playerid,COLOR_GREY,"   You are not a Cop / FBI / SASP / NG !");
            if(Prison_Buttons[GateOpened] == 0)
            {
                MoveObject(Prison_Buttons[PrisonGate], 96.808670, 1923.5, 16.234968, 1.50);
                Prison_Buttons[GateOpened] = 1;
                Prison_Buttons[GateTimerID]= SetTimer("PrisonGateCheck", 60000, 0);
            }
            else
            {
                MoveObject(Prison_Buttons[PrisonGate], 96.808670, 1920.512817, 16.234968, 1.50);
                Prison_Buttons[GateOpened] = 0;
                KillTimer(Prison_Buttons[GateTimerID]);
            }
        }
        else if(IsPlayerInRangeOfPoint(playerid, 12.0, -80.057670593262, -352.7497253418, 3.2030787467957))
        { //SECRET SOCIETY GATE
            if(!(PlayerInfo[playerid][pMember] == 7)) return SendClientMessage(playerid,COLOR_GREY,"   You are not a member of the Secret Society !");
            if(ssgateopen == 0)
            {
                ssgateopen = 1;
                MoveObject(ssgate, -80.057670593262, -352.7497253418, 7.6630787467957, 1.500000);
            }
            else
            {
                ssgateopen = 0;
                MoveObject(ssgate, -80.057670593262, -352.7497253418, 3.2030787467957, 1.500000);
            }
        }
        else if(IsPlayerInRangeOfPoint(playerid, 12.0, 1027.46203613, 1183.29357910, 12.45144653))
        { //FBI GATE
            if(!(PlayerInfo[playerid][pMember] == 2)) return SendClientMessage(playerid,COLOR_GREY,"   You are not a member of the FBI !");
            if(fbigateopen == 0)
            {
                fbigateopen = 1;
                MoveObject(FBIGate, 1038.17248535, 1183.50256348, 12.45144653, 1.500000);
            }
            else
            {
                fbigateopen = 0;
                MoveObject(FBIGate, 1027.46203613,1183.29357910,12.45144653, 1.500000);
            }
        }
        else
        {
            SendClientMessage(playerid, COLOR_GREY, "   You are not near a gate !");
            return 1;
        }
        return 1;
    }
Code:
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
        if(newkeys==x)//your key here
              {
              if(IsPlayerInRange.....)
               {
               //your stuff
              }
              }
	return 1;
}
Reply
#3

so it would be
pawn Code:
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
        if(newkeys==KEY_HANDBRAKE)//your key here
              {
        if(IsPlayerInRangeOfPoint(playerid,9,1588.3058,-1637.9652,13.4227))
        { //POLICE GATE
            if(!IsACop(playerid)) return SendClientMessage(playerid,COLOR_GREY,"   You are not a Cop / FBI / SASP !");
            if(pdgategar==0)
            {
                pdgategar = 1;
                MoveObject(pdgaragegateobj, 1588.965698, -1637.882690, 7.710285, 1.50);
            }
            else if(pdgategar==1)
            {
                pdgategar = 0;
                MoveObject(pdgaragegateobj, 1588.965698, -1637.882690, 15.260185, 1.50);
            }
        }
        else if(IsPlayerInRangeOfPoint(playerid,9,1544.4913,-1627.2817,13.3828))
        { //POLICE BAR
            if(!IsACop(playerid)) return SendClientMessage(playerid,COLOR_GREY,"   You are not a Cop / FBI / SASP !");
            if(pdgatebar==0)
            {
                pdgatebar = 1;
                SetObjectRot( pdbarriergateobj, 0.0000, 360.0000, 90.0000);
                SetObjectPos( pdbarriergateobj, 1544.682495, -1630.953003, 13.079567 );
            }
            else if(pdgatebar==1)
            {
                pdgatebar = 0;
                SetObjectRot( pdbarriergateobj, 0.0000, 90.0000, 90.0000);
                SetObjectPos( pdbarriergateobj, 1544.682495, -1630.980000, 13.215000 );
            }
        }
        else if(IsPlayerInRangeOfPoint(playerid,9,96.8500, 1923.4334, 15.3518))
        { //PRISON GATE
            if(!IsACop(playerid) && PlayerInfo[playerid][pMember] != 5) return SendClientMessage(playerid,COLOR_GREY,"   You are not a Cop / FBI / SASP / NG !");
            if(Prison_Buttons[GateOpened] == 0)
            {
                MoveObject(Prison_Buttons[PrisonGate], 96.808670, 1923.5, 16.234968, 1.50);
                Prison_Buttons[GateOpened] = 1;
                Prison_Buttons[GateTimerID]= SetTimer("PrisonGateCheck", 60000, 0);
            }
            else
            {
                MoveObject(Prison_Buttons[PrisonGate], 96.808670, 1920.512817, 16.234968, 1.50);
                Prison_Buttons[GateOpened] = 0;
                KillTimer(Prison_Buttons[GateTimerID]);
            }
        }
        else if(IsPlayerInRangeOfPoint(playerid, 12.0, -80.057670593262, -352.7497253418, 3.2030787467957))
        { //SECRET SOCIETY GATE
            if(!(PlayerInfo[playerid][pMember] == 7)) return SendClientMessage(playerid,COLOR_GREY,"   You are not a member of the Secret Society !");
            if(ssgateopen == 0)
            {
                ssgateopen = 1;
                MoveObject(ssgate, -80.057670593262, -352.7497253418, 7.6630787467957, 1.500000);
            }
            else
            {
                ssgateopen = 0;
                MoveObject(ssgate, -80.057670593262, -352.7497253418, 3.2030787467957, 1.500000);
            }
        }
        else if(IsPlayerInRangeOfPoint(playerid, 12.0, 1027.46203613, 1183.29357910, 12.45144653))
        { //FBI GATE
            if(!(PlayerInfo[playerid][pMember] == 2)) return SendClientMessage(playerid,COLOR_GREY,"   You are not a member of the FBI !");
            if(fbigateopen == 0)
            {
                fbigateopen = 1;
                MoveObject(FBIGate, 1038.17248535, 1183.50256348, 12.45144653, 1.500000);
            }
            else
            {
                fbigateopen = 0;
                MoveObject(FBIGate, 1027.46203613,1183.29357910,12.45144653, 1.500000);
            }
        }
        else
        {
            SendClientMessage(playerid, COLOR_GREY, "   You are not near a gate !");
            return 1;
        }
        return 1;
    }
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)