Здравствуйте уважаемые пользователи портала.
Буквально сегодня нашел очень интересную систему.
Данная система позволяет выдавать инструкторам доступ к получению прав.
В принципе почти как на УРМ.
Приступим!
В enum pInfo добавим:
pLicDostup,
Далее в OnPlayerRegister добавим:
format(var, 32, "LicDostup=%d\n",PlayerInfo[playerid][pLicDostup]);fwrite(hFile,var);//Доступ к получению прав
Далее добавим сами команды на выдачу/отнятие справки.
if(strcmp(cmd, "/spravka", true) == 0)
{
if(IsPlayerConnected(playerid))
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, "Используйте: /spravka [playerid/PartOfName]");
return true;
}
new para1;
para1 = ReturnUser(tmp);
tmp = strtok(cmdtext, idx);
if(PlayerInfo[playerid][pMember] == 11 || PlayerInfo[playerid][pLeader] == 11)//Проверка на фракцию инструкторов, заменяйте на свое
{
if(IsPlayerConnected(para1))
{
if(para1 != INVALID_PLAYER_ID)
{
GetPlayerName(para1, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
PlayerInfo[para1][pLicDostup] = 1;
format(string, sizeof(string), "%s дал Вам доступ на получение прав", sendername);
SendClientMessage(para1, COLOR_WHITE, string);
format(string, sizeof(string), "Вы дали доступ на получение прав %s", giveplayer);
SendClientMessage(playerid, COLOR_WHITE, string);
}
}
}
else
{
SendClientMessage(playerid, COLOR_GRAD1, "Вы не инструктор!);
}
}
return true;
}
//===========================================================================
if(strcmp(cmd, "/unspravka", true) == 0)
{
if(IsPlayerConnected(playerid))
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, "Используйте: /unspravka [playerid/PartOfName]");
return true;
}
new para1;
para1 = ReturnUser(tmp);
tmp = strtok(cmdtext, idx);
if(PlayerInfo[playerid][pMember] == 11 || PlayerInfo[playerid][pLeader] == 11)//Проверка на фракцию инструкторов, заменяйте на свое
{
if(IsPlayerConnected(para1))
{
if(para1 != INVALID_PLAYER_ID)
{
GetPlayerName(para1, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
PlayerInfo[para1][pLicDostup] = 0;
format(string, sizeof(string), "%s забрал у Вас справку об обучении в Автошколе", sendername);
SendClientMessage(para1, COLOR_WHITE, string);
format(string, sizeof(string), "Вы забрали справку об обучении у %s", giveplayer);
SendClientMessage(playerid, COLOR_WHITE, string);
}
}
}
else
{
SendClientMessage(playerid, COLOR_GRAD1, "Вы не инструктор!);
}
}
return true;
}
В команду выдачи прав, добавим проверку на наличие справки.
if(PlayerInfo[para1][pLicDostup] != 1) return SendClientMessage(playerid -1, "У него отсутствует справка");
Автор: _TKILLAH_
P.S.Эта система схожа с системой на УРМ. Можно доделать ее.
Буквально сегодня нашел очень интересную систему.
Данная система позволяет выдавать инструкторам доступ к получению прав.
В принципе почти как на УРМ.
Приступим!
В enum pInfo добавим:
pLicDostup,
Далее в OnPlayerRegister добавим:
format(var, 32, "LicDostup=%d\n",PlayerInfo[playerid][pLicDostup]);fwrite(hFile,var);//Доступ к получению прав
Далее добавим сами команды на выдачу/отнятие справки.
if(strcmp(cmd, "/spravka", true) == 0)
{
if(IsPlayerConnected(playerid))
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, "Используйте: /spravka [playerid/PartOfName]");
return true;
}
new para1;
para1 = ReturnUser(tmp);
tmp = strtok(cmdtext, idx);
if(PlayerInfo[playerid][pMember] == 11 || PlayerInfo[playerid][pLeader] == 11)//Проверка на фракцию инструкторов, заменяйте на свое
{
if(IsPlayerConnected(para1))
{
if(para1 != INVALID_PLAYER_ID)
{
GetPlayerName(para1, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
PlayerInfo[para1][pLicDostup] = 1;
format(string, sizeof(string), "%s дал Вам доступ на получение прав", sendername);
SendClientMessage(para1, COLOR_WHITE, string);
format(string, sizeof(string), "Вы дали доступ на получение прав %s", giveplayer);
SendClientMessage(playerid, COLOR_WHITE, string);
}
}
}
else
{
SendClientMessage(playerid, COLOR_GRAD1, "Вы не инструктор!);
}
}
return true;
}
//===========================================================================
if(strcmp(cmd, "/unspravka", true) == 0)
{
if(IsPlayerConnected(playerid))
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, "Используйте: /unspravka [playerid/PartOfName]");
return true;
}
new para1;
para1 = ReturnUser(tmp);
tmp = strtok(cmdtext, idx);
if(PlayerInfo[playerid][pMember] == 11 || PlayerInfo[playerid][pLeader] == 11)//Проверка на фракцию инструкторов, заменяйте на свое
{
if(IsPlayerConnected(para1))
{
if(para1 != INVALID_PLAYER_ID)
{
GetPlayerName(para1, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
PlayerInfo[para1][pLicDostup] = 0;
format(string, sizeof(string), "%s забрал у Вас справку об обучении в Автошколе", sendername);
SendClientMessage(para1, COLOR_WHITE, string);
format(string, sizeof(string), "Вы забрали справку об обучении у %s", giveplayer);
SendClientMessage(playerid, COLOR_WHITE, string);
}
}
}
else
{
SendClientMessage(playerid, COLOR_GRAD1, "Вы не инструктор!);
}
}
return true;
}
В команду выдачи прав, добавим проверку на наличие справки.
if(PlayerInfo[para1][pLicDostup] != 1) return SendClientMessage(playerid -1, "У него отсутствует справка");
Автор: _TKILLAH_
P.S.Эта система схожа с системой на УРМ. Можно доделать ее.
Последнее редактирование модератором: