Automatic Gates Open/Close
#1

guys i having cmd /creategate but it makes gates which can be opened by /gate only but i want how can i make it automatically when player go to that gate if he/she owner that gate get opened
need help please help
PHP код:
CMD:creategate(playerid, params[])
{
    if(
adlvl[playerid]<6 && glvl[playerid] < 1) return 0;
    
ShowPlayerDialog(playerid, DIALOG_GATES, DIALOG_STYLE_TABLIST_HEADERS, "Create Gate",
    
"Gate Name\t\tObject ID\n\
    Electric Gate\t\t969\n\
    Subway Gate\t\t971\n\
    Columbian Gate\t\t975\n\
    Phils_Compnd Gate\t\t976\n\
    Airport Gate\t\t980\n\
    gate_autoR\t\t985\n\
    gate_autoL\t\t986\n\
    ws_apgate\t\t988\n\
    ac_apgate\t\t989\n\
    Shutter\t\t3055\n\
    SAAF Gate\t\t19313\n\
    Small Gate\t\t19870\n\
    Bigsize Gate\t\t19912\n\
    Biggest Gate\t\t19913\n\
    Add Custom ID"
,
    
"Select", "Cancel");
    return 
1;
}
if(
dialogid == DIALOG_GATES)
    {
        if(
response)
        {
            if(
listitem == 0)
            {
                for(new 
idx=1; idx<MAX_GATES; idx++)
                {
                    if(!
GateInfo[idx][gModel])
                    {
                        
GetPlayerPos(playerid, GateInfo[idx][gCX], GateInfo[idx][gCY], GateInfo[idx][gCZ]);
                        
GateInfo[idx][gModel] = 969;
                        
GateInfo[idx][gCX] = GateInfo[idx][gCX] + 2;
                        
GateInfo[idx][gCY] = GateInfo[idx][gCY] + 2;
                        
GateInfo[idx][gCRX] = 0;
                        
GateInfo[idx][gCRY] = 0;
                        
GateInfo[idx][gCRZ] = 0;
                        
GetPlayerPos(playerid, GateInfo[idx][gOX], GateInfo[idx][gOY], GateInfo[idx][gOZ]);
                        
GateInfo[idx][gOX] = GateInfo[idx][gOX] + 2;
                        
GateInfo[idx][gOY] = GateInfo[idx][gOY] + 2;
                        
GateInfo[idx][gORX] = 0;
                        
GateInfo[idx][gORY] = 0;
                        
GateInfo[idx][gORZ] = 0;
                        
GateInfo[idx][gStatus] = 0;
                        
GateInfo[idx][gPOwned] = 0;
                        
format(GateInfo[idx][gPassword], 256, "");
                        
format(GateInfo[idx][gOOwned], 256, "");
                        
format(GateInfo[idx][gOwner], 256, "");
                        
GateInfo[idx][gSpeed] = 2;
                        
GateInfo[idx][gGate] = CreateDynamicObject(GateInfo[idx][gModel], GateInfo[idx][gCX], GateInfo[idx][gCY], GateInfo[idx][gCZ], GateInfo[idx][gCRX], GateInfo[idx][gCRY], GateInfo[idx][gCRZ]);
                        new 
File[64];
                        
format(File, 64, "gatefiles/G/GATE%d.ini", idx);
                        
dini_Create(File);
                        
SaveGates();
                        
idx = MAX_GATES;
                    }
                }
            }
            else if(
listitem == 1)
            {
                for(new 
idx=1; idx<MAX_GATES; idx++)
                {
                    if(!
GateInfo[idx][gModel])
                    {
                        
GetPlayerPos(playerid, GateInfo[idx][gCX], GateInfo[idx][gCY], GateInfo[idx][gCZ]);
                        
GateInfo[idx][gModel] = 971;
                        
GateInfo[idx][gCX] = GateInfo[idx][gCX] + 2;
                        
GateInfo[idx][gCY] = GateInfo[idx][gCY] + 2;
                        
GateInfo[idx][gCRX] = 0;
                        
GateInfo[idx][gCRY] = 0;
                        
GateInfo[idx][gCRZ] = 0;
                        
GetPlayerPos(playerid, GateInfo[idx][gOX], GateInfo[idx][gOY], GateInfo[idx][gOZ]);
                        
GateInfo[idx][gOX] = GateInfo[idx][gOX] + 2;
                        
GateInfo[idx][gOY] = GateInfo[idx][gOY] + 2;
                        
GateInfo[idx][gORX] = 0;
                        
GateInfo[idx][gORY] = 0;
                        
GateInfo[idx][gORZ] = 0;
                        
GateInfo[idx][gStatus] = 0;
                        
GateInfo[idx][gPOwned] = 0;
                        
format(GateInfo[idx][gPassword], 256, "");
                        
format(GateInfo[idx][gOOwned], 256, "");
                        
format(GateInfo[idx][gOwner], 256, "");
                        
GateInfo[idx][gSpeed] = 2;
                        
GateInfo[idx][gGate] = CreateDynamicObject(GateInfo[idx][gModel], GateInfo[idx][gCX], GateInfo[idx][gCY], GateInfo[idx][gCZ], GateInfo[idx][gCRX], GateInfo[idx][gCRY], GateInfo[idx][gCRZ]);
                        new 
File[64];
                        
format(File, 64, "gatefiles/G/GATE%d.ini", idx);
                        
dini_Create(File);
                        
SaveGates();
                        
idx = MAX_GATES;
                    }
                }
            }
            else if(
listitem == 2)
            {
                for(new 
idx=1; idx<MAX_GATES; idx++)
                {
                    if(!
GateInfo[idx][gModel])
                    {
                        
GetPlayerPos(playerid, GateInfo[idx][gCX], GateInfo[idx][gCY], GateInfo[idx][gCZ]);
                        
GateInfo[idx][gModel] = 975;
                        
GateInfo[idx][gCX] = GateInfo[idx][gCX] + 2;
                        
GateInfo[idx][gCY] = GateInfo[idx][gCY] + 2;
                        
GateInfo[idx][gCRX] = 0;
                        
GateInfo[idx][gCRY] = 0;
                        
GateInfo[idx][gCRZ] = 0;
                        
GetPlayerPos(playerid, GateInfo[idx][gOX], GateInfo[idx][gOY], GateInfo[idx][gOZ]);
                        
GateInfo[idx][gOX] = GateInfo[idx][gOX] + 2;
                        
GateInfo[idx][gOY] = GateInfo[idx][gOY] + 2;
                        
GateInfo[idx][gORX] = 0;
                        
GateInfo[idx][gORY] = 0;
                        
GateInfo[idx][gORZ] = 0;
                        
GateInfo[idx][gStatus] = 0;
                        
format(GateInfo[idx][gPassword], 256, "");
                        
format(GateInfo[idx][gOOwned], 256, "");
                        
format(GateInfo[idx][gOwner], 256, "");
                        
GateInfo[idx][gPOwned] = 0;
                        
GateInfo[idx][gSpeed] = 2;
                        
GateInfo[idx][gGate] = CreateDynamicObject(GateInfo[idx][gModel], GateInfo[idx][gCX], GateInfo[idx][gCY], GateInfo[idx][gCZ], GateInfo[idx][gCRX], GateInfo[idx][gCRY], GateInfo[idx][gCRZ]);
                        new 
File[64];
                        
format(File, 64, "gatefiles/G/GATE%d.ini", idx);
                        
dini_Create(File);
                        
SaveGates();
                        
idx = MAX_GATES;
                    }
                }
            }
            else if(
listitem == 3)
            {
                for(new 
idx=1; idx<MAX_GATES; idx++)
                {
                    if(!
GateInfo[idx][gModel])
                    {
                        
GetPlayerPos(playerid, GateInfo[idx][gCX], GateInfo[idx][gCY], GateInfo[idx][gCZ]);
                        
GateInfo[idx][gModel] = 976;
                        
GateInfo[idx][gCX] = GateInfo[idx][gCX] + 2;
                        
GateInfo[idx][gCY] = GateInfo[idx][gCY] + 2;
                        
GateInfo[idx][gCRX] = 0;
                        
GateInfo[idx][gCRY] = 0;
                        
GateInfo[idx][gCRZ] = 0;
                        
GetPlayerPos(playerid, GateInfo[idx][gOX], GateInfo[idx][gOY], GateInfo[idx][gOZ]);
                        
GateInfo[idx][gOX] = GateInfo[idx][gOX] + 2;
                        
GateInfo[idx][gOY] = GateInfo[idx][gOY] + 2;
                        
GateInfo[idx][gORX] = 0;
                        
GateInfo[idx][gORY] = 0;
                        
GateInfo[idx][gORZ] = 0;
                        
GateInfo[idx][gStatus] = 0;
                        
format(GateInfo[idx][gPassword], 256, "");
                        
format(GateInfo[idx][gOOwned], 256, "");
                        
format(GateInfo[idx][gOwner], 256, "");
                        
GateInfo[idx][gPOwned] = 0;
                        
GateInfo[idx][gSpeed] = 2;
                        
GateInfo[idx][gGate] = CreateDynamicObject(GateInfo[idx][gModel], GateInfo[idx][gCX], GateInfo[idx][gCY], GateInfo[idx][gCZ], GateInfo[idx][gCRX], GateInfo[idx][gCRY], GateInfo[idx][gCRZ]);
                        new 
File[64];
                        
format(File, 64, "gatefiles/G/GATE%d.ini", idx);
                        
dini_Create(File);
                        
SaveGates();
                        
idx = MAX_GATES;
                    }
                }
            }
            else if(
listitem == 4)
            {
                for(new 
idx=1; idx<MAX_GATES; idx++)
                {
                    if(!
GateInfo[idx][gModel])
                    {
                        
GetPlayerPos(playerid, GateInfo[idx][gCX], GateInfo[idx][gCY], GateInfo[idx][gCZ]);
                        
GateInfo[idx][gModel] = 980;
                        
GateInfo[idx][gCX] = GateInfo[idx][gCX] + 2;
                        
GateInfo[idx][gCY] = GateInfo[idx][gCY] + 2;
                        
GateInfo[idx][gCRX] = 0;
                        
GateInfo[idx][gCRY] = 0;
                        
GateInfo[idx][gCRZ] = 0;
                        
GetPlayerPos(playerid, GateInfo[idx][gOX], GateInfo[idx][gOY], GateInfo[idx][gOZ]);
                        
GateInfo[idx][gOX] = GateInfo[idx][gOX] + 2;
                        
GateInfo[idx][gOY] = GateInfo[idx][gOY] + 2;
                        
GateInfo[idx][gORX] = 0;
                        
GateInfo[idx][gORY] = 0;
                        
GateInfo[idx][gORZ] = 0;
                        
GateInfo[idx][gStatus] = 0;
                        
format(GateInfo[idx][gPassword], 256, "");
                        
format(GateInfo[idx][gOOwned], 256, "");
                        
format(GateInfo[idx][gOwner], 256, "");
                        
GateInfo[idx][gPOwned] = 0;
                        
GateInfo[idx][gSpeed] = 2;
                        
GateInfo[idx][gGate] = CreateDynamicObject(GateInfo[idx][gModel], GateInfo[idx][gCX], GateInfo[idx][gCY], GateInfo[idx][gCZ], GateInfo[idx][gCRX], GateInfo[idx][gCRY], GateInfo[idx][gCRZ]);
                        new 
File[64];
                        
format(File, 64, "gatefiles/G/GATE%d.ini", idx);
                        
dini_Create(File);
                        
SaveGates();
                        
idx = MAX_GATES;
                    }
                }
            }
            else if(
listitem == 5)
            {
                for(new 
idx=1; idx<MAX_GATES; idx++)
                {
                    if(!
GateInfo[idx][gModel])
                    {
                        
GetPlayerPos(playerid, GateInfo[idx][gCX], GateInfo[idx][gCY], GateInfo[idx][gCZ]);
                        
GateInfo[idx][gModel] = 985;
                        
GateInfo[idx][gCX] = GateInfo[idx][gCX] + 2;
                        
GateInfo[idx][gCY] = GateInfo[idx][gCY] + 2;
                        
GateInfo[idx][gCRX] = 0;
                        
GateInfo[idx][gCRY] = 0;
                        
GateInfo[idx][gCRZ] = 0;
                        
GetPlayerPos(playerid, GateInfo[idx][gOX], GateInfo[idx][gOY], GateInfo[idx][gOZ]);
                        
GateInfo[idx][gOX] = GateInfo[idx][gOX] + 2;
                        
GateInfo[idx][gOY] = GateInfo[idx][gOY] + 2;
                        
GateInfo[idx][gORX] = 0;
                        
GateInfo[idx][gORY] = 0;
                        
GateInfo[idx][gORZ] = 0;
                        
GateInfo[idx][gStatus] = 0;
                        
format(GateInfo[idx][gPassword], 256, "");
                        
format(GateInfo[idx][gOOwned], 256, "");
                        
format(GateInfo[idx][gOwner], 256, "");
                        
GateInfo[idx][gPOwned] = 0;
                        
GateInfo[idx][gSpeed] = 2;
                        
GateInfo[idx][gGate] = CreateDynamicObject(GateInfo[idx][gModel], GateInfo[idx][gCX], GateInfo[idx][gCY], GateInfo[idx][gCZ], GateInfo[idx][gCRX], GateInfo[idx][gCRY], GateInfo[idx][gCRZ]);
                        new 
File[64];
                        
format(File, 64, "gatefiles/G/GATE%d.ini", idx);
                        
dini_Create(File);
                        
SaveGates();
                        
idx = MAX_GATES;
                    }
                }
            }
            else if(
listitem == 6)
            {
                for(new 
idx=1; idx<MAX_GATES; idx++)
                {
                    if(!
GateInfo[idx][gModel])
                    {
                        
GetPlayerPos(playerid, GateInfo[idx][gCX], GateInfo[idx][gCY], GateInfo[idx][gCZ]);
                        
GateInfo[idx][gModel] = 986;
                        
GateInfo[idx][gCX] = GateInfo[idx][gCX] + 2;
                        
GateInfo[idx][gCY] = GateInfo[idx][gCY] + 2;
                        
GateInfo[idx][gCRX] = 0;
                        
GateInfo[idx][gCRY] = 0;
                        
GateInfo[idx][gCRZ] = 0;
                        
GetPlayerPos(playerid, GateInfo[idx][gOX], GateInfo[idx][gOY], GateInfo[idx][gOZ]);
                        
GateInfo[idx][gOX] = GateInfo[idx][gOX] + 2;
                        
GateInfo[idx][gOY] = GateInfo[idx][gOY] + 2;
                        
GateInfo[idx][gORX] = 0;
                        
GateInfo[idx][gORY] = 0;
                        
GateInfo[idx][gORZ] = 0;
                        
GateInfo[idx][gStatus] = 0;
                        
format(GateInfo[idx][gPassword], 256, "");
                        
format(GateInfo[idx][gOOwned], 256, "");
                        
format(GateInfo[idx][gOwner], 256, "");
                        
GateInfo[idx][gPOwned] = 0;
                        
GateInfo[idx][gSpeed] = 2;
                        
GateInfo[idx][gGate] = CreateDynamicObject(GateInfo[idx][gModel], GateInfo[idx][gCX], GateInfo[idx][gCY], GateInfo[idx][gCZ], GateInfo[idx][gCRX], GateInfo[idx][gCRY], GateInfo[idx][gCRZ]);
                        new 
File[64];
                        
format(File, 64, "gatefiles/G/GATE%d.ini", idx);
                        
dini_Create(File);
                        
SaveGates();
                        
idx = MAX_GATES;
                    }
                }
            }
            else if(
listitem == 7)
            {
                for(new 
idx=1; idx<MAX_GATES; idx++)
                {
                    if(!
GateInfo[idx][gModel])
                    {
                        
GetPlayerPos(playerid, GateInfo[idx][gCX], GateInfo[idx][gCY], GateInfo[idx][gCZ]);
                        
GateInfo[idx][gModel] = 988;
                        
GateInfo[idx][gCX] = GateInfo[idx][gCX] + 2;
                        
GateInfo[idx][gCY] = GateInfo[idx][gCY] + 2;
                        
GateInfo[idx][gCRX] = 0;
                        
GateInfo[idx][gCRY] = 0;
                        
GateInfo[idx][gCRZ] = 0;
                        
GetPlayerPos(playerid, GateInfo[idx][gOX], GateInfo[idx][gOY], GateInfo[idx][gOZ]);
                        
GateInfo[idx][gOX] = GateInfo[idx][gOX] + 2;
                        
GateInfo[idx][gOY] = GateInfo[idx][gOY] + 2;
                        
GateInfo[idx][gORX] = 0;
                        
GateInfo[idx][gORY] = 0;
                        
GateInfo[idx][gORZ] = 0;
                        
GateInfo[idx][gStatus] = 0;
                        
format(GateInfo[idx][gPassword], 256, "");
                        
format(GateInfo[idx][gOOwned], 256, "");
                        
format(GateInfo[idx][gOwner], 256, "");
                        
GateInfo[idx][gPOwned] = 0;
                        
GateInfo[idx][gSpeed] = 2;
                        
GateInfo[idx][gGate] = CreateDynamicObject(GateInfo[idx][gModel], GateInfo[idx][gCX], GateInfo[idx][gCY], GateInfo[idx][gCZ], GateInfo[idx][gCRX], GateInfo[idx][gCRY], GateInfo[idx][gCRZ]);
                        new 
File[64];
                        
format(File, 64, "gatefiles/G/GATE%d.ini", idx);
                        
dini_Create(File);
                        
SaveGates();
                        
idx = MAX_GATES;
                    }
                }
            }
            else if(
listitem == 8)
            {
                for(new 
idx=1; idx<MAX_GATES; idx++)
                {
                    if(!
GateInfo[idx][gModel])
                    {
                        
GetPlayerPos(playerid, GateInfo[idx][gCX], GateInfo[idx][gCY], GateInfo[idx][gCZ]);
                        
GateInfo[idx][gModel] = 989;
                        
GateInfo[idx][gCX] = GateInfo[idx][gCX] + 2;
                        
GateInfo[idx][gCY] = GateInfo[idx][gCY] + 2;
                        
GateInfo[idx][gCRX] = 0;
                        
GateInfo[idx][gCRY] = 0;
                        
GateInfo[idx][gCRZ] = 0;
                        
GetPlayerPos(playerid, GateInfo[idx][gOX], GateInfo[idx][gOY], GateInfo[idx][gOZ]);
                        
GateInfo[idx][gOX] = GateInfo[idx][gOX] + 2;
                        
GateInfo[idx][gOY] = GateInfo[idx][gOY] + 2;
                        
GateInfo[idx][gORX] = 0;
                        
GateInfo[idx][gORY] = 0;
                        
GateInfo[idx][gORZ] = 0;
                        
GateInfo[idx][gStatus] = 0;
                        
format(GateInfo[idx][gPassword], 256, "");
                        
format(GateInfo[idx][gOOwned], 256, "");
                        
format(GateInfo[idx][gOwner], 256, "");
                        
GateInfo[idx][gPOwned] = 0;
                        
GateInfo[idx][gSpeed] = 2;
                        
GateInfo[idx][gGate] = CreateDynamicObject(GateInfo[idx][gModel], GateInfo[idx][gCX], GateInfo[idx][gCY], GateInfo[idx][gCZ], GateInfo[idx][gCRX], GateInfo[idx][gCRY], GateInfo[idx][gCRZ]);
                        new 
File[64];
                        
format(File, 64, "gatefiles/G/GATE%d.ini", idx);
                        
dini_Create(File);
                        
SaveGates();
                        
idx = MAX_GATES;
                    }
                }
            }
            else if(
listitem == 9)
            {
                for(new 
idx=1; idx<MAX_GATES; idx++)
                {
                    if(!
GateInfo[idx][gModel])
                    {
                        
GetPlayerPos(playerid, GateInfo[idx][gCX], GateInfo[idx][gCY], GateInfo[idx][gCZ]);
                        
GateInfo[idx][gModel] = 3055;
                        
GateInfo[idx][gCX] = GateInfo[idx][gCX] + 2;
                        
GateInfo[idx][gCY] = GateInfo[idx][gCY] + 2;
                        
GateInfo[idx][gCRX] = 0;
                        
GateInfo[idx][gCRY] = 0;
                        
GateInfo[idx][gCRZ] = 0;
                        
GetPlayerPos(playerid, GateInfo[idx][gOX], GateInfo[idx][gOY], GateInfo[idx][gOZ]);
                        
GateInfo[idx][gOX] = GateInfo[idx][gOX] + 2;
                        
GateInfo[idx][gOY] = GateInfo[idx][gOY] + 2;
                        
GateInfo[idx][gORX] = 0;
                        
GateInfo[idx][gORY] = 0;
                        
GateInfo[idx][gORZ] = 0;
                        
GateInfo[idx][gStatus] = 0;
                        
format(GateInfo[idx][gPassword], 256, "");
                        
format(GateInfo[idx][gOOwned], 256, "");
                        
format(GateInfo[idx][gOwner], 256, "");
                        
GateInfo[idx][gPOwned] = 0;
                        
GateInfo[idx][gSpeed] = 2;
                        
GateInfo[idx][gGate] = CreateDynamicObject(GateInfo[idx][gModel], GateInfo[idx][gCX], GateInfo[idx][gCY], GateInfo[idx][gCZ], GateInfo[idx][gCRX], GateInfo[idx][gCRY], GateInfo[idx][gCRZ]);
                        new 
File[64];
                        
format(File, 64, "gatefiles/G/GATE%d.ini", idx);
                        
dini_Create(File);
                        
SaveGates();
                        
idx = MAX_GATES;
                    }
                }
            }
            else if(
listitem == 10)
            {
                for(new 
idx=1; idx<MAX_GATES; idx++)
                {
                    if(!
GateInfo[idx][gModel])
                    {
                        
GetPlayerPos(playerid, GateInfo[idx][gCX], GateInfo[idx][gCY], GateInfo[idx][gCZ]);
                        
GateInfo[idx][gModel] = 19313;
                        
GateInfo[idx][gCX] = GateInfo[idx][gCX] + 2;
                        
GateInfo[idx][gCY] = GateInfo[idx][gCY] + 2;
                        
GateInfo[idx][gCRX] = 0;
                        
GateInfo[idx][gCRY] = 0;
                        
GateInfo[idx][gCRZ] = 0;
                        
GetPlayerPos(playerid, GateInfo[idx][gOX], GateInfo[idx][gOY], GateInfo[idx][gOZ]);
                        
GateInfo[idx][gOX] = GateInfo[idx][gOX] + 2;
                        
GateInfo[idx][gOY] = GateInfo[idx][gOY] + 2;
                        
GateInfo[idx][gORX] = 0;
                        
GateInfo[idx][gORY] = 0;
                        
GateInfo[idx][gORZ] = 0;
                        
GateInfo[idx][gStatus] = 0;
                        
format(GateInfo[idx][gPassword], 256, "");
                        
format(GateInfo[idx][gOOwned], 256, "");
                        
format(GateInfo[idx][gOwner], 256, "");
                        
GateInfo[idx][gPOwned] = 0;
                        
GateInfo[idx][gSpeed] = 2;
                        
GateInfo[idx][gGate] = CreateDynamicObject(GateInfo[idx][gModel], GateInfo[idx][gCX], GateInfo[idx][gCY], GateInfo[idx][gCZ], GateInfo[idx][gCRX], GateInfo[idx][gCRY], GateInfo[idx][gCRZ]);
                        new 
File[64];
                        
format(File, 64, "gatefiles/G/GATE%d.ini", idx);
                        
dini_Create(File);
                        
SaveGates();
                        
idx = MAX_GATES;
                    }
                }
            }
            else if(
listitem == 11)
            {
                for(new 
idx=1; idx<MAX_GATES; idx++)
                {
                    if(!
GateInfo[idx][gModel])
                    {
                        
GetPlayerPos(playerid, GateInfo[idx][gCX], GateInfo[idx][gCY], GateInfo[idx][gCZ]);
                        
GateInfo[idx][gModel] = 19870;
                        
GateInfo[idx][gCX] = GateInfo[idx][gCX] + 2;
                        
GateInfo[idx][gCY] = GateInfo[idx][gCY] + 2;
                        
GateInfo[idx][gCRX] = 0;
                        
GateInfo[idx][gCRY] = 0;
                        
GateInfo[idx][gCRZ] = 0;
                        
GetPlayerPos(playerid, GateInfo[idx][gOX], GateInfo[idx][gOY], GateInfo[idx][gOZ]);
                        
GateInfo[idx][gOX] = GateInfo[idx][gOX] + 2;
                        
GateInfo[idx][gOY] = GateInfo[idx][gOY] + 2;
                        
GateInfo[idx][gORX] = 0;
                        
GateInfo[idx][gORY] = 0;
                        
GateInfo[idx][gORZ] = 0;
                        
GateInfo[idx][gStatus] = 0;
                        
format(GateInfo[idx][gPassword], 256, "");
                        
format(GateInfo[idx][gOOwned], 256, "");
                        
format(GateInfo[idx][gOwner], 256, "");
                        
GateInfo[idx][gPOwned] = 0;
                        
GateInfo[idx][gSpeed] = 2;
                        
GateInfo[idx][gGate] = CreateDynamicObject(GateInfo[idx][gModel], GateInfo[idx][gCX], GateInfo[idx][gCY], GateInfo[idx][gCZ], GateInfo[idx][gCRX], GateInfo[idx][gCRY], GateInfo[idx][gCRZ]);
                        new 
File[64];
                        
format(File, 64, "gatefiles/G/GATE%d.ini", idx);
                        
dini_Create(File);
                        
SaveGates();
                        
idx = MAX_GATES;
                    }
                }
            }
            else if(
listitem == 12)
            {
                for(new 
idx=1; idx<MAX_GATES; idx++)
                {
                    if(!
GateInfo[idx][gModel])
                    {
                        
GetPlayerPos(playerid, GateInfo[idx][gCX], GateInfo[idx][gCY], GateInfo[idx][gCZ]);
                        
GateInfo[idx][gModel] = 19912;
                        
GateInfo[idx][gCX] = GateInfo[idx][gCX] + 2;
                        
GateInfo[idx][gCY] = GateInfo[idx][gCY] + 2;
                        
GateInfo[idx][gCRX] = 0;
                        
GateInfo[idx][gCRY] = 0;
                        
GateInfo[idx][gCRZ] = 0;
                        
GetPlayerPos(playerid, GateInfo[idx][gOX], GateInfo[idx][gOY], GateInfo[idx][gOZ]);
                        
GateInfo[idx][gOX] = GateInfo[idx][gOX] + 2;
                        
GateInfo[idx][gOY] = GateInfo[idx][gOY] + 2;
                        
GateInfo[idx][gORX] = 0;
                        
GateInfo[idx][gORY] = 0;
                        
GateInfo[idx][gORZ] = 0;
                        
GateInfo[idx][gStatus] = 0;
                        
format(GateInfo[idx][gPassword], 256, "");
                        
format(GateInfo[idx][gOOwned], 256, "");
                        
format(GateInfo[idx][gOwner], 256, "");
                        
GateInfo[idx][gPOwned] = 0;
                        
GateInfo[idx][gSpeed] = 2;
                        
GateInfo[idx][gGate] = CreateDynamicObject(GateInfo[idx][gModel], GateInfo[idx][gCX], GateInfo[idx][gCY], GateInfo[idx][gCZ], GateInfo[idx][gCRX], GateInfo[idx][gCRY], GateInfo[idx][gCRZ]);
                        new 
File[64];
                        
format(File, 64, "gatefiles/G/GATE%d.ini", idx);
                        
dini_Create(File);
                        
SaveGates();
                        
idx = MAX_GATES;
                    }
                }
            }
            else if(
listitem == 13)
            {
                for(new 
idx=1; idx<MAX_GATES; idx++)
                {
                    if(!
GateInfo[idx][gModel])
                    {
                        
GetPlayerPos(playerid, GateInfo[idx][gCX], GateInfo[idx][gCY], GateInfo[idx][gCZ]);
                        
GateInfo[idx][gModel] = 19913;
                        
GateInfo[idx][gCX] = GateInfo[idx][gCX] + 2;
                        
GateInfo[idx][gCY] = GateInfo[idx][gCY] + 2;
                        
GateInfo[idx][gCRX] = 0;
                        
GateInfo[idx][gCRY] = 0;
                        
GateInfo[idx][gCRZ] = 0;
                        
GetPlayerPos(playerid, GateInfo[idx][gOX], GateInfo[idx][gOY], GateInfo[idx][gOZ]);
                        
GateInfo[idx][gOX] = GateInfo[idx][gOX] + 2;
                        
GateInfo[idx][gOY] = GateInfo[idx][gOY] + 2;
                        
GateInfo[idx][gORX] = 0;
                        
GateInfo[idx][gORY] = 0;
                        
GateInfo[idx][gORZ] = 0;
                        
GateInfo[idx][gStatus] = 0;
                        
format(GateInfo[idx][gPassword], 256, "");
                        
format(GateInfo[idx][gOOwned], 256, "");
                        
format(GateInfo[idx][gOwner], 256, "");
                        
GateInfo[idx][gPOwned] = 0;
                        
GateInfo[idx][gSpeed] = 2;
                        
GateInfo[idx][gGate] = CreateDynamicObject(GateInfo[idx][gModel], GateInfo[idx][gCX], GateInfo[idx][gCY], GateInfo[idx][gCZ], GateInfo[idx][gCRX], GateInfo[idx][gCRY], GateInfo[idx][gCRZ]);
                        new 
File[64];
                        
format(File, 64, "gatefiles/G/GATE%d.ini", idx);
                        
dini_Create(File);
                        
SaveGates();
                        
idx = MAX_GATES;
                    }
                }
            }
            else if(
listitem == 14)
            {
                    
ShowPlayerDialog(playerid, DIALOG_CGID, DIALOG_STYLE_INPUT, "Add Custom GateID", "Insert a GateID below to create gate.", "Create", "Cancel");
              }
        }
    }
CMD:gate(playerid, params[])
{
    new 
done, str[265], name[MAX_PLAYER_NAME];
     
GetPlayerName(playerid, name, sizeof(name));
    for(new 
idx=1; idx<MAX_GATES; idx++)
    {
        new 
Float:cur[3];
        if(
GateInfo[idx][gModel])
        {
            
GetDynamicObjectPos(GateInfo[idx][gGate], cur[0], cur[1], cur[2]);
            if(
IsPlayerInRangeOfPoint(playerid, 8, cur[0], cur[1], cur[2]) || IsPlayerInRangeOfPoint(playerid, 8, GateInfo[idx][gCX], GateInfo[idx][gCY], GateInfo[idx][gCZ]) || IsPlayerInRangeOfPoint(playerid, 8, GateInfo[idx][gOX], GateInfo[idx][gOY], GateInfo[idx][gOZ]))
            {
                if(
GateInfo[idx][gOOwned] != 0)
                {
                    if(
GetPVarInt(playerid, "playerorg") != 0)
                    {
                        
format(str, sizeof(str), "org%d", GetPVarInt(playerid, "playerorg"));
                         
//new tmp = dini_Int(AddDirFile(dir_orgfiles, str), "GateOwned1");
                         /*new tmp2 = dini_Int(AddDirFile(dir_orgfiles, str), "GateOwned2");
                         new tmp3 = dini_Int(AddDirFile(dir_orgfiles, str), "GateOwned3");*/
                         //new tmp = dini_Int(AddDirFile(dir_orgfiles, str), "GateOwned");
                         //if((tmp == idx) /*|| (tmp2 == idx) || (tmp3 == idx)*/)
                         
if(GateInfo[idx][gOOwned]!= 0)
                         {
                            if(!
GateInfo[idx][gStatus])
                            {
                                
GateInfo[idx][gStatus] = 1;
                                
MoveDynamicObject(GateInfo[idx][gGate], GateInfo[idx][gOX], GateInfo[idx][gOY], GateInfo[idx][gOZ], GateInfo[idx][gSpeed], GateInfo[idx][gORX], GateInfo[idx][gORY], GateInfo[idx][gORZ]);
                                
done=1;
                                break;
                            }
                            else
                            {
                                
GateInfo[idx][gStatus] = 0;
                                
MoveDynamicObject(GateInfo[idx][gGate], GateInfo[idx][gCX], GateInfo[idx][gCY], GateInfo[idx][gCZ], GateInfo[idx][gSpeed], GateInfo[idx][gCRX], GateInfo[idx][gCRY], GateInfo[idx][gCRZ]);
                                
done=1;
                                break;
                            }
                        }
                        else {
                            
format(str, sizeof(str), "This gate has been assigned to '%s' you cant open it.", GateInfo[idx][gOOwned]);
                            
SendClientMessage(playerid, COLOR_WHITE, str);
                            
done = 1;
                            break;
                        }
                    }
                    else {
                        
format(str, sizeof(str), "This gate has been assigned to '%s' you cant open it.", GateInfo[idx][gOOwned]);
                          
SendClientMessage(playerid, COLOR_WHITE, str);
                          
done = 1;
                          break;
                    }
                }
                if(
GateInfo[idx][gPOwned]!= 0) {
                    if(
dini_Int(AddDirFile(dir_userfiles, RPN(playerid)), "propowned") == GateInfo[idx][gPOwned] || dini_Int(AddDirFile(dir_userfiles, RPN(playerid)), "proprented") == GateInfo[idx][gPOwned])
                    {
                        if(!
GateInfo[idx][gStatus])
                        {
                            
GateInfo[idx][gStatus] = 1;
                            
MoveDynamicObject(GateInfo[idx][gGate], GateInfo[idx][gOX], GateInfo[idx][gOY], GateInfo[idx][gOZ], GateInfo[idx][gSpeed], GateInfo[idx][gORX], GateInfo[idx][gORY], GateInfo[idx][gORZ]);
                            
done=1;
                            break;
                        }
                        else
                        {
                            
GateInfo[idx][gStatus] = 0;
                            
MoveDynamicObject(GateInfo[idx][gGate], GateInfo[idx][gCX], GateInfo[idx][gCY], GateInfo[idx][gCZ], GateInfo[idx][gSpeed], GateInfo[idx][gCRX], GateInfo[idx][gCRY], GateInfo[idx][gCRZ]);
                            
done=1;
                            break;
                        }
                    }
                    else {
                        
format(str, sizeof(str), "This gate has been assigned to an property you cant open it.");
                          
SendClientMessage(playerid, COLOR_WHITE, str);
                          
done = 1;
                          break;
                    }
                }
                if(
GateInfo[idx][gOwner]!= 0) {
                    
//if(dini_Int(AddDirFile(dir_userfiles, RPN(playerid)), "GateOwned") == idx) //|| dini_Int(AddDirFile(dir_userfiles, RPN(playerid)), "GateOwned") == idx || dini_Int(AddDirFile(dir_userfiles, RPN(playerid)), "GateOwned") == idx)
                    
if(GateInfo[idx][gOwner]!= 0)
                    {
                        if(!
GateInfo[idx][gStatus])
                        {
                            
GateInfo[idx][gStatus] = 1;
                            
MoveDynamicObject(GateInfo[idx][gGate], GateInfo[idx][gOX], GateInfo[idx][gOY], GateInfo[idx][gOZ], GateInfo[idx][gSpeed], GateInfo[idx][gORX], GateInfo[idx][gORY], GateInfo[idx][gORZ]);
                            
done=1;
                            break;
                        }
                        else
                        {
                            
GateInfo[idx][gStatus] = 0;
                            
MoveDynamicObject(GateInfo[idx][gGate], GateInfo[idx][gCX], GateInfo[idx][gCY], GateInfo[idx][gCZ], GateInfo[idx][gSpeed], GateInfo[idx][gCRX], GateInfo[idx][gCRY], GateInfo[idx][gCRZ]);
                            
done=1;
                            break;
                        }
                    }
                    else {
                        
format(str, sizeof(str), "This gate has been assigned to '%s' you cant open it.", GateInfo[idx][gOwner]);
                          
SendClientMessage(playerid, COLOR_WHITE, str);
                          
done = 1;
                          break;
                    }
                }
                if(
strlen(GateInfo[idx][gPassword]))
                {
                    if(
sscanf(params, "s[256]", params)) return SendClientMessage(playerid, 0xFFFFFF00, "USAGE: /gate [password]");
                    if(
strcmp(params, GateInfo[idx][gPassword])) return SendClientMessage(playerid, -1, "Invalid gate password.");
                    if(!
GateInfo[idx][gStatus])
                    {
                        
GateInfo[idx][gStatus] = 1;
                        
MoveDynamicObject(GateInfo[idx][gGate], GateInfo[idx][gOX], GateInfo[idx][gOY], GateInfo[idx][gOZ], GateInfo[idx][gSpeed], GateInfo[idx][gORX], GateInfo[idx][gORY], GateInfo[idx][gORZ]);
                        
done=1;
                        break;
                    }
                    else
                    {
                        
GateInfo[idx][gStatus] = 0;
                        
MoveDynamicObject(GateInfo[idx][gGate], GateInfo[idx][gCX], GateInfo[idx][gCY], GateInfo[idx][gCZ], GateInfo[idx][gSpeed], GateInfo[idx][gCRX], GateInfo[idx][gCRY], GateInfo[idx][gCRZ]);
                        
done=1;
                        break;
                    }
                }
                else
                {
                    if(
GateInfo[idx][gObject] == 0) {
                        if(!
GateInfo[idx][gStatus])
                        {
                            
GateInfo[idx][gStatus] = 1;
                            
MoveDynamicObject(GateInfo[idx][gGate], GateInfo[idx][gOX], GateInfo[idx][gOY], GateInfo[idx][gOZ], GateInfo[idx][gSpeed], GateInfo[idx][gORX], GateInfo[idx][gORY], GateInfo[idx][gORZ]);
                            
SendClientMessage(playerid, COLOR_WHITE, "You have opened the gate.");
                            
done=1;
                            break;
                        }
                        else
                        {
                            
GateInfo[idx][gStatus] = 0;
                            
MoveDynamicObject(GateInfo[idx][gGate], GateInfo[idx][gCX], GateInfo[idx][gCY], GateInfo[idx][gCZ], GateInfo[idx][gSpeed], GateInfo[idx][gCRX], GateInfo[idx][gCRY], GateInfo[idx][gCRZ]);
                            
SendClientMessage(playerid, COLOR_WHITE, "You have closed the gate.");
                            
done=1;
                            break;
                        }
                    }
                }
            }
        }
    }
    if(!
done) SendClientMessage(playerid, -1, "You aren't near a gate you can open.");
    return 
1;
}
CMD:editgate(playerid, params[])
{
    new 
idx, string[128];
    if(
adlvl[playerid]<6 && glvl[playerid] < 1) return 0;
    if(
sscanf(params, "s[128]", params))
    {
        
SendClientMessage(playerid, 0xFFFFFF00, "USAGE: /editgate [option] [gateid]");
        
SendClientMessage(playerid, -1, "OPTIONS: object | close | open | speed | password");
        return 
1;
    }
    if(!
strcmp(params, "object", true, 5))
    {
        new 
object;
        if(
sscanf(params, "s[128]ii", params, idx, object)) return SendClientMessage(playerid, 0xFFFFFF00, "USAGE: /editgate object [gateid] [objectid]");
        if(!
GateInfo[idx][gModel]) return SendClientMessage(playerid, -1, "Invalid gate id.");
        if(
object == 0)
        {
            
format(string, sizeof(string), "%d", object);
            
cmd_destroygate(playerid, string);
            return 
1;
        }
        
GateInfo[idx][gModel] = object;
        
DestroyDynamicObject(GateInfo[idx][gGate]);
        
GateInfo[idx][gGate] = CreateDynamicObject(GateInfo[idx][gModel], GateInfo[idx][gCX], GateInfo[idx][gCY], GateInfo[idx][gCZ], GateInfo[idx][gCRX], GateInfo[idx][gCRY], GateInfo[idx][gCRZ]);
        
format(string, sizeof(string), "You have set gate ID %d's object ID to %d.", idx, object);
        
SendClientMessage(playerid, 0xFFFFFF00, string);
        
SaveGates();
    }
    else if(!
strcmp(params, "close", true, 5))
    {
        if(
sscanf(params, "s[128]i", params, idx)) return SendClientMessage(playerid, 0xFFFFFF00, "USAGE: /editgate close [gateid]");
        if(!
GateInfo[idx][gModel]) return SendClientMessage(playerid, -1, "Invalid gate id.");
        
gGateEdit[playerid] = 1;
        
gGateEditID[playerid] = idx;
        
GetDynamicObjectPos(GateInfo[idx][gGate], gGatePos[playerid][0], gGatePos[playerid][1], gGatePos[playerid][2]);
        
GetDynamicObjectRot(GateInfo[idx][gGate], gGateRot[playerid][0], gGateRot[playerid][1], gGateRot[playerid][2]);
        
EditDynamicObject(playerid, GateInfo[idx][gGate]);
        
format(string, sizeof(string), "You are now editing gate ID %d's closing position.", idx);
        
SendClientMessage(playerid, 0xFFFFFF00, string);
    }
    else if(!
strcmp(params, "open", true, 4))
    {
        if(
sscanf(params, "s[128]i", params, idx)) return SendClientMessage(playerid, 0xFFFFFF00, "USAGE: /editgate open [gateid]");
        if(!
GateInfo[idx][gModel]) return SendClientMessage(playerid, -1, "Invalid gate id.");
        
gGateEdit[playerid] = 2;
        
gGateEditID[playerid] = idx;
        
GetDynamicObjectPos(GateInfo[idx][gGate], gGatePos[playerid][0], gGatePos[playerid][1], gGatePos[playerid][2]);
        
GetDynamicObjectRot(GateInfo[idx][gGate], gGateRot[playerid][0], gGateRot[playerid][1], gGateRot[playerid][2]);
        
EditDynamicObject(playerid, GateInfo[idx][gGate]);
        
format(string, sizeof(string), "You are now editing gate ID %d's opening position.", idx);
        
SendClientMessage(playerid, 0xFFFFFF00, string);
    }
    else if(!
strcmp(params, "speed", true, 5))
    {
        new 
Float:speed;
        if(
sscanf(params, "s[128]if", params, idx, speed)) return SendClientMessage(playerid, 0xFFFFFF00, "USAGE: /editgate speed [gateid] [speed]");
        if(!
GateInfo[idx][gModel]) return SendClientMessage(playerid, -1, "Invalid gate id.");
        
GateInfo[idx][gSpeed] = speed;
        
format(string, sizeof(string), "You have set gate ID %d's moving speed to %f.", idx, speed);
        
SendClientMessage(playerid, 0xFFFFFF00, string);
        
SaveGates();
    }
    else if(!
strcmp(params, "password", true, 8))
    {
        new 
password[256];
        if(
sscanf(params, "s[128]is[256]", params, idx, password)) return SendClientMessage(playerid, 0xFFFFFF00, "USAGE: /editgate password [gateid] [password]");
        if(!
GateInfo[idx][gModel]) return SendClientMessage(playerid, -1, "Invalid gate id.");
        
format(GateInfo[idx][gPassword], 256, "%s", password);
        
format(string, sizeof(string), "You have set gate ID %d's password to {FF6347}%s", idx, password);
        
SendClientMessage(playerid, 0xFFFFFF00, string);
        
SaveGates();
    }
    return 
1;
} 
please help me guys
Reply
#2

https://www.youtube.com/watch?v=c0fsDIv5TOw
Follow this tutorial, it is old but it helps you.
Reply
#3

Quote:
Originally Posted by willbedie
Посмотреть сообщение
https://www.youtube.com/watch?v=c0fsDIv5TOw
Follow this tutorial, it is old but it helps you.
by the way that's not in game gate creator so if u can help me in my code then help pless
Reply
#4

Run a timer when a player spawns to check constantly if a player is near gate or not. (IsPlayerInRangeOfPoint) if the player is, and the gate is owned by player then just do whatever /gate does.
Reply
#5

This forum is not about asking people to do it for you.
This is what you need to do:

You will have to create a timer to check for example very 2/3 seconds if a player is near a gate.
This can be done like this:
You can create something like this inside that timer to check which gate the player is near.
PHP код:
for(new idx=1; idx<MAX_GATES; idx++)
{
    new 
Float:cur[3];
    if(
GateInfo[idx][gModel])
    {
        
GetDynamicObjectPos(GateInfo[idx][gGate], cur[0], cur[1], cur[2]);
        if(
IsPlayerInRangeOfPoint(playerid, 8, cur[0], cur[1], cur[2]) || IsPlayerInRangeOfPoint(playerid, 8, GateInfo[idx][gCX], GateInfo[idx][gCY], GateInfo[idx][gCZ]) || IsPlayerInRangeOfPoint(playerid, 8, GateInfo[idx][gOX], GateInfo[idx][gOY], GateInfo[idx][gOZ]))
        {
            
//do something to open the gate
        
}
    }
} 
So after the script checked which gate the player is near, you will have to open and close this gate.

This can be done like this:

PHP код:
if(GateInfo[idx][gOwner]!= 0)
    {
        if(!
GateInfo[idx][gStatus]) // open the gate
        
{
            
GateInfo[idx][gStatus] = 1;
            
MoveDynamicObject(GateInfo[idx][gGate], GateInfo[idx][gOX], GateInfo[idx][gOY], GateInfo[idx][gOZ], GateInfo[idx][gSpeed], GateInfo[idx][gORX], GateInfo[idx][gORY], GateInfo[idx][gORZ]);
            
// add a timer to close the gate here
            
break;
        }
    }
    else return 
0; // If player does not 
If you don't succeed. post what you did try and we will gladly try to help you.
Reply
#6

shoudl i put this code in stock
PHP код:
if(GateInfo[idx][gOwner]!= 0)
    {
        if(!
GateInfo[idx][gStatus]) // open the gate
        
{
            
GateInfo[idx][gStatus] = 1;
            
MoveDynamicObject(GateInfo[idx][gGate], GateInfo[idx][gOX], GateInfo[idx][gOY], GateInfo[idx][gOZ], GateInfo[idx][gSpeed], GateInfo[idx][gORX], GateInfo[idx][gORY], GateInfo[idx][gORZ]);
            
// add a timer to close the gate here
            
break;
        }
    }
    else return 
0; // If player does not 
or on player update
Reply
#7

Quote:
Originally Posted by BulletRaja
Посмотреть сообщение
shoudl i put this code in stock
PHP код:
if(GateInfo[idx][gOwner]!= 0)
    {
        if(!
GateInfo[idx][gStatus]) // open the gate
        
{
            
GateInfo[idx][gStatus] = 1;
            
MoveDynamicObject(GateInfo[idx][gGate], GateInfo[idx][gOX], GateInfo[idx][gOY], GateInfo[idx][gOZ], GateInfo[idx][gSpeed], GateInfo[idx][gORX], GateInfo[idx][gORY], GateInfo[idx][gORZ]);
            
// add a timer to close the gate here
            
break;
        }
    }
    else return 
0; // If player does not 
or on player update
nowhere, this code isnt finished. its an example. this wont work.
BTW when this code was finished it supposed to be in a timer. Onplayerupdate might lagg the shit out of your server.
Reply
#8

Quote:
Originally Posted by jasperschellekens
Посмотреть сообщение
nowhere, this code isnt finished. its an example. this wont work.
BTW when this code was finished it supposed to be in a timer. Onplayerupdate might lagg the shit out of your server.
i will complete the code but where should i put it
Reply
#9

Quote:
Originally Posted by BulletRaja
Посмотреть сообщение
i will complete the code but where should i put it
PHP код:
// onplayerconnect
OpenGateTimer(playerid);
    
stock OpenGateTimer(playerid, time)
{
    
SetTimerEx("OpenGateTimer2", 3000, true, "i", playerid);
}
forward OpenGateTimer2(playerid);
public 
OpenGateTimer2(playerid)
{
    for(new 
idx=1; idx<MAX_GATES; idx++)
    {
    new 
Float:cur[3];
    if(
GateInfo[idx][gModel])
    {
        
GetDynamicObjectPos(GateInfo[idx][gGate], cur[0], cur[1], cur[2]);
        if(
IsPlayerInRangeOfPoint(playerid, 8, cur[0], cur[1], cur[2]) || IsPlayerInRangeOfPoint(playerid, 8, GateInfo[idx][gCX], GateInfo[idx][gCY], GateInfo[idx][gCZ]) || IsPlayerInRangeOfPoint(playerid, 8, GateInfo[idx][gOX], GateInfo[idx][gOY], GateInfo[idx][gOZ]))
        {
            if(
GateInfo[idx][gOwner]!= 0)
            {
                if(!
GateInfo[idx][gStatus]) // open the gate
                
{
                    
GateInfo[idx][gStatus] = 1;
                    
MoveDynamicObject(GateInfo[idx][gGate], GateInfo[idx][gOX], GateInfo[idx][gOY], GateInfo[idx][gOZ], GateInfo[idx][gSpeed], GateInfo[idx][gORX], GateInfo[idx][gORY], GateInfo[idx][gORZ]);
                    
// add a timer to close the gate here
                    
break;
                }
            }
            else return 
0;
            }
        }
    }
} 
Reply
#10

Quote:
Originally Posted by jasperschellekens
Посмотреть сообщение
PHP код:
// onplayerconnect
OpenGateTimer(playerid);
    
stock OpenGateTimer(playerid, time)
{
    
SetTimerEx("OpenGateTimer2", 3000, true, "i", playerid);
}
forward OpenGateTimer2(playerid);
public 
OpenGateTimer2(playerid)
{
    for(new 
idx=1; idx<MAX_GATES; idx++)
    {
    new 
Float:cur[3];
    if(
GateInfo[idx][gModel])
    {
        
GetDynamicObjectPos(GateInfo[idx][gGate], cur[0], cur[1], cur[2]);
        if(
IsPlayerInRangeOfPoint(playerid, 8, cur[0], cur[1], cur[2]) || IsPlayerInRangeOfPoint(playerid, 8, GateInfo[idx][gCX], GateInfo[idx][gCY], GateInfo[idx][gCZ]) || IsPlayerInRangeOfPoint(playerid, 8, GateInfo[idx][gOX], GateInfo[idx][gOY], GateInfo[idx][gOZ]))
        {
            if(
GateInfo[idx][gOwner]!= 0)
            {
                if(!
GateInfo[idx][gStatus]) // open the gate
                
{
                    
GateInfo[idx][gStatus] = 1;
                    
MoveDynamicObject(GateInfo[idx][gGate], GateInfo[idx][gOX], GateInfo[idx][gOY], GateInfo[idx][gOZ], GateInfo[idx][gSpeed], GateInfo[idx][gORX], GateInfo[idx][gORY], GateInfo[idx][gORZ]);
                    
// add a timer to close the gate here
                    
break;
                }
            }
            else return 
0;
            }
        }
    }
} 
(3619) : warning 202: number of arguments does not match definition

OpenGateTimer(playerid);
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)