kh0dan
Умник
Здравствуйте.
Сделал покупку ключа для мафий, с помощью которого можно открыть шлагбаум армии.
Но не могу понять, что не так.
(шлагбаум работает только если ты в армии и у тебя есть ключ, по отдельности - не работает)
Код шлагбаума:
Если я сделаю так:
if(i == 1 && !IsAKeyNG(playerid)) return SendClientMessage(playerid, COLOR_GREY, ""c_error"У вас нет ключа!") - будет работать только с ключом;
if(i == 1 && !IsAArmy(playerid)) return SendClientMessage(playerid, COLOR_GREY, ""c_error"Вы не служите в армии!") - будет работать только у сотрудников армии;
Можете подсказать, как сделать так, чтобы работало ЕСЛИ у вас есть ключ ИЛИ вы состоите в армии?
Сделал покупку ключа для мафий, с помощью которого можно открыть шлагбаум армии.
Но не могу понять, что не так.
(шлагбаум работает только если ты в армии и у тебя есть ключ, по отдельности - не работает)
Код шлагбаума:
Код:
if(PRESSED(KEY_WALK))
{
if(GetPlayerState(playerid) == PLAYER_STATE_ONFOOT)
{
for(new i, h = sizeof gate_open_pos; i < h; i++)
{
if(!PlayerToPoint(3.0, playerid, gate_open_pos[i][0], gate_open_pos[i][1], gate_open_pos[i][2])) continue;
if(i == 0 && !IsAKeyNG(playerid) || !IsAArmy(playerid)) return SendClientMessage(playerid, COLOR_GREY, ""c_error"У вас нет ключа или вы не служащий Национальной Гвардии!"); <--- ВОТ ЭТОТ ШЛАГБАУМ!!!!!!!!!!!!!!!!!!
if(i == 1 && !IsAArmy(playerid)) return SendClientMessage(playerid, COLOR_GREY, ""c_error"Доступно только армии.");
if(i == 2 && !IsACop(playerid)) return SendClientMessage(playerid, COLOR_GREY, ""c_error"Доступно только полиции.");
if(i == 3 && !IsACop(playerid)) return SendClientMessage(playerid, COLOR_GREY, ""c_error"Доступно только полиции.");
if(i == 4 && !IsACop(playerid)) return SendClientMessage(playerid, COLOR_GREY, ""c_error"Доступно только полиции.");
if(i == 5 && !IsAArmy(playerid)) return SendClientMessage(playerid, COLOR_GREY, ""c_error"Доступно только армии.");
new Float: x, Float: y, Float: z;
GetObjectPos(gate_obj[i], x, y, z);
if(gate_state[i]) MoveObject(gate_obj[i], x, y, z - 0.004, 0.004, gate_close_pos[i][3], gate_close_pos[i][4], gate_close_pos[i][5]);
if(!gate_state[i]) MoveObject(gate_obj[i], x, y, z + 0.004, 0.004, gate_open_pos[i][3], gate_open_pos[i][4], gate_open_pos[i][5]);
gate_state[i] = !gate_state[i];
break;
}
}
stock IsAArmy(playerid)
{
switch(p_info[playerid][pMember])
{
case FRACTION_ARMY_LS, FRACTION_ARMY_SF, FRACTION_ARMY_LV: return 1;
}
return 0;
}
{
switch(p_info[playerid][pMember])
{
case FRACTION_ARMY_LS, FRACTION_ARMY_SF, FRACTION_ARMY_LV: return 1;
}
return 0;
}
stock IsAKeyNG(playerid)
{
if(p_info[playerid][pKeyNG] > 0) return 1;
return 0;
}
{
if(p_info[playerid][pKeyNG] > 0) return 1;
return 0;
}
Если я сделаю так:
if(i == 1 && !IsAKeyNG(playerid)) return SendClientMessage(playerid, COLOR_GREY, ""c_error"У вас нет ключа!") - будет работать только с ключом;
if(i == 1 && !IsAArmy(playerid)) return SendClientMessage(playerid, COLOR_GREY, ""c_error"Вы не служите в армии!") - будет работать только у сотрудников армии;
Можете подсказать, как сделать так, чтобы работало ЕСЛИ у вас есть ключ ИЛИ вы состоите в армии?
