10.01.2018, 17:10
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
please help me guys
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;
}