slonplutalov
Умник
У меня ворота-бункер в зоне 51
Добавляем форварды
Добавляем new
В public OnGameModeInit()
Добавляем объекты
В public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
Добавляем диалог
Добавляем паблик
Добавляем паблик
Добавляем команду
Все, если что то забыл, дополню, скажите если не будет работать
Добавляем форварды
PHP:
forward BunkerClose();//таймер
forward IsAtCandyBunker(playerid);//место ввода пароля
PHP:
new bunkers;
new bunkpass;
new bunker;
new bunker1;
PHP:
bunkers = 0;
new bpass = 1000000 + random(10000000);//рандомный пароль мин 1000000 макс 10000000
bunkpass = bpass;//устанавливаем пароль
PHP:
bunker = CreateObject(2927,215.87713623,1875.73901367,13.93899250,0.00000000,0.00000000,0.00000000); //object(a51_blastdoorr) (1)
bunker1 = CreateObject(2927,211.80000305,1875.73901367,13.93899250,0.00000000,0.00000000,180.00000000); //object(a51_blastdoorr) (2)
CreateObject(2190,209.73933411,1876.87145996,13.28450108,0.00000000,0.00000000,96.00000000); //object(pc_1) (1)
PHP:
if (newkeys == 16)
{
if (IsAtCandyBunker(playerid))
{
TogglePlayerControllable(playerid, 1);
new strina[256];
format(strina,sizeof(strina),"Введите пароль",PlayerInfo[playerid][pAccount]);
ShowPlayerDialog(playerid,135,DIALOG_STYLE_INPUT,strina,"Введите пароль от бункера","Ввел","Отмена");//ID диалога вставьте свой(тут 135)
}
}
PHP:
if(dialogid == 135)//Ваш диалог
{
if(response == 1)
{
if(!strlen(inputtext))
{
SendClientMessage(playerid,COLOR_GREY,"Вы не ввели пароль");
PlayerPlaySound(playerid, 1055, 0.0, 0.0, 0.0);
return 1;
}
new vvel;
vvel = strval(inputtext);
if(vvel == bunkpass)
{
if(bunkers == 0)
{
MoveObject(bunker, 219.97000122,1875.73901367,13.93899250,1);
MoveObject(bunker1, 207.80000305,1875.73901367,13.93899250,1);
PlayerPlaySound(playerid, 1056, 0.0, 0.0, 0.0);
SendClientMessage(playerid, COLOR_YELLOW,"Бункер открыт на 10 секунд");
if(statusa >= 25)
{
statusa -= 25;
}
bunkers = 1;
SetTimer("BunkerClose", 10000, 0);
}
}
else
{
SendClientMessage(playerid, COLOR_RED,"Пароль неверен");
PlayerPlaySound(playerid, 1055, 0.0, 0.0, 0.0);
}
}
}
PHP:
public BunkerClose()
{
MoveObject(bunker, 215.87713623,1875.73901367,13.93899250,1);
MoveObject(bunker1, 211.80000305,1875.73901367,13.93899250,1);
if(statusa <= 75 && bunkers == 1)
{
statusa += 25;
}
bunkers = 0;
return 1;
}
PHP:
public IsAtCandyBunker(playerid)
{
if(IsPlayerInRangeOfPoint(playerid, 2, 210.4791,1877.2212,13.1406)) return 1;
else return 0;
}
PHP:
if(!strcmp(cmdtext, "/bpass", true)) //команду можете изменить на свою
{
if(PlayerInfo[playerid][pLeader] == 19 || PlayerInfo[playerid][pAdmin] > 0)//Можете изменить условие, у меня: Лидер 19(зона 51) и админы
{
format(string, sizeof(string), "Пароль бункера: %d", bunkpass);
SendClientMessage(playerid, COLOR_WHITE, string);
return 1;
}
}
Все, если что то забыл, дополню, скажите если не будет работать
Последнее редактирование:
