Это ты просто пример показал или у тебя так и записан код в моде?
Если так и записан, то ты забыл ID объектов записать в массив, не?
- - - Добавлено - - -
UPD: Проверил - код рабочий, если записывать ID объектов
Вид для печати
Это ты просто пример показал или у тебя так и записан код в моде?
Если так и записан, то ты забыл ID объектов записать в массив, не?
- - - Добавлено - - -
UPD: Проверил - код рабочий, если записывать ID объектов
Куда записывать ID объектов ? Просто у меня есть еще ворота, там не указаны объекты ворот.
PHP код:
Gate[0] = CreateDynamicObject(988, -2275.17725, 2349.96143, 4.94434, 0.00000, 0.00000, 55.55999);
Gate[1] = CreateDynamicObject(988, -2272.07886, 2354.50293, 4.94430, 0.00000, 0.00000, 55.62000);
Это в открытие ворот или закрытие ?
Найди ещё раз в гугле статью на тему создания ворот и прочти её.
Сделал, работает. Но теперь хочу создать новые ворота, а они не открываются, настроил всё как надо, объекты не двигаются.
PHP код:
@CloseGate(gateid, playerid);
@CloseGate(gateid, playerid)
{
switch(gateid)
{
case 11:
{
opengate[playerid][11] = false;
MoveDynamicObject(Gate[14],-2301.80908,2426.89404,5.00000,0.00000,0.00000,226.99951);
}
}
}
PHP код:
if(IsPlayerInRangeOfPoint(playerid,10.0,-2301.80908,2426.89404,5.00000))
{
if(IsACop(playerid) || IsAArmy(playerid))
{
if(opengate[playerid][11]) return 1;
opengate[playerid][11] = true;
MoveDynamicObject(Gate[14],-2305.5803,2422.9524,5.00000,0.00000,0.00000,226.99951);
SetTimerEx("@CloseGate", 10000, false, "dd", 11, playerid);
SendClientMessage(playerid, COLOR_BLUE, "Ворота закроются через 10 секунд!");
SetPlayerChatBubble(playerid, "открывает ворота", COLOR_PURPLE, 13.0, 10000);
}
else SendClientMessage(playerid,COLOR_GREY,"У вас нет ключей от ворот!");
}
PHP код:
Gate[14] = CreateDynamicObject(988, -2301.80908, 2426.89404, 5.00000, 0.00000, 0.00000, 226.99951);
Посмотри на порядок параметров и посмотри какие данные ты в каждый параметр передаёшь.PHP код:
MoveDynamicObject(STREAMER_TAG_OBJECT objectid, Float:x, Float:y, Float:z, Float:speed, Float:rx = -1000.0, Float:ry = -1000.0, Float:rz = -1000.0);
И да, тебе самому-то с таким массивом удобно работать? Ты вспомнишь через неделю о том, к каким вратам относится "Gate[14]", не говоря уже о том, что будет через месяц/год? Для чего придумали перечисления?
Это мало того, что в разы читаемее, так ещё и в случае, если ты вдруг решишь удалить, например, врата FBI, у тебя не получится, что ячейка FBI осталась пустующей или что тебе нужно вручную все значения подгонять. Просто удалишь нужный член перечисления и компилятор всё изменит за тебя.PHP код:
enum e_GATE_INFO
{
gate_LSPD,
gate_FBI,
gate_TAXI
};
new GateObject[e_GATE_INFO];
И не совсем понятно зачем в массиве
первая мера размером MAX_PLAYERS. У тебя что, открытие врат не синхронизируется между игроками и каждый открывает свои врата? Или когда один игрок уже открыл ворота, второй может открыть их ещё сильнее? Прежде чем писать код, вникай в его смыслPHP код:
new bool:opengate[MAX_PLAYERS][12];