shape1
shape2
shape3
shape4
shape7
shape8

Вход по пропуску


Статус
Закрыто для дальнейших ответов.

Kostyaev

Магистр
Пользователь
19.07.2014
1 123
274
0
26
В данной теме, написано, как сделать вход куда-либо по пропуску.
Итак, начнём:

) В enum pInfo добавляем:

pPropusk,

2) В public OnPlayerCommandText добавляем:

if(strcmp(cmd, "/givepropusk", true) == 0)
{
if(IsPlayerConnected(playerid))
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))return SendClientMessage(playerid, COLOR_GRAD2, " Используйте: /givepropusk [ид игрока]");
new plo;
plo = ReturnUser(tmp);
if (PlayerInfo[playerid][pLeader] == 1 || PlayerInfo[playerid][pMember] == 1) // Вместо 1 можно указать любой номер фракции, какой вам нужно
{
if(IsPlayerConnected(plo))
{
if(PlayerInfo[plo][pPropusk] == 0) // Если у игрока нету пропуска выполняем действие ниже (выдаём пропуск)
{
PlayerInfo[plo][pPropusk] = 1;// Выдаём пропуск
GetPlayerName(playerid, sendername, sizeof(sendername));
GetPlayerName(plo, giveplayer, sizeof(giveplayer));
format(string, sizeof(string), "Вы выдали %s пропуск",giveplayer);
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
format(string, sizeof(string), "%s выдал вам пропуск",sendername);
SendClientMessage(plo, COLOR_LIGHTBLUE, string);
}
else
{
PlayerInfo[plo][pPropusk] = 0; // если у игрока есть пропуск,то забираем.
GetPlayerName(playerid, sendername, sizeof(sendername));
GetPlayerName(plo, giveplayer, sizeof(giveplayer));
format(string, sizeof(string), "Вы забрали у %s пропуск",giveplayer);
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
format(string, sizeof(string), "%s забрал у вас пропуск",sendername);
SendClientMessage(plo, COLOR_LIGHTBLUE, string);
}
}//not connected
}
else
{
format(string, sizeof(string), " %d такого игрока нету.", plo);
SendClientMessage(playerid, COLOR_GRAD1, string);
}
}
return 1;

3) В public OnPlayerPickUpPickup ищем что-то типа:

else if(pickupid == vhod)
{
SetPlayerPos(playerid, 2568.3000500,-2421.6999500,12.0000000);
SendClientMessage(playerid, 0x33CCFFAA, "Вы вошли в дверь!");
SetPlayerInterior(playerid, 0);
}

После { вставляем:

if(PlayerInfo[playerid][pPropusk] != 1)
return SendClientMessage(playerid, COLOR_GRAD1, "У вас нету пропуска.");

Т.е. Получается так:

else if(pickupid == vhod)
{
if(PlayerInfo[playerid][pPropusk] != 1)
return SendClientMessage(playerid, COLOR_GRAD1, "У вас нету пропуска.");
SetPlayerPos(playerid, 2568.3000500,-2421.6999500,12.0000000);
SendClientMessage(playerid, 0x33CCFFAA, "Вы вошли в дверь!");
SetPlayerInterior(playerid, 0);
}

Вот и всё.

 
Статус
Закрыто для дальнейших ответов.