Я буду использовать тему Регистрация на диалог системе
Для начала создадим переменные
В onPlayerJoin(playerid) { вставим
users[playerid].leader <- 0; users[playerid].member <- 0; users[playerid].rang <- 0;
Далее в onPlayerRegister(playerid,password)
iniFile.setKey("Stats", "Leader", "0");
iniFile.setKey("Stats", "Member", "0");
iniFile.setKey("Stats", "Rang", "0");В onPlayerLogin(playerid,password)
users[playerid].leader = iniFile.getKey("Stats", "Leader").tointeger();
users[playerid].member = iniFile.getKey("Stats", "Member").tointeger();
users[playerid].rang = iniFile.getKey("Stats", "Rang").tointeger();В savePlayers()
iniFile.setKey("Stats", "Leader", users[i].leader.tostring());
iniFile.setKey("Stats", "Member", users[i].member.tostring());
iniFile.setKey("Stats", "Rang", users[i].rang.tostring());Сейчас сделаем команду чтобы дать лидерку
Для этого в onPlayerCommand(playerid, command)
if(cmd[0] == "/makeleader")
{
if(users[playerid].admin != 5) return sendPlayerMessage(playerid, "[Ошибка] У Вас нет прав использовать эту команду",COLOR_RED);
if(cmd.len() < 3) return sendPlayerMessage(playerid, "[Ошибка] Использовать /leader [id игрока] [id организации]",COLOR_RED);
local id = cmd[1].tointeger();
if(!isPlayerConnected(id)) return sendPlayerMessage(playerid, "[Ошибка] Игрока не подключен к серверу",COLOR_RED);
if(users[id].leader != 0) return sendPlayerMessage(playerid, "[Ошибка] Игрок уже является лидером",COLOR_RED);
if(users[id].leader == 0)
{
local orgname, org = cmd[2].tointeger();
users[id].leader = org;
users[id].member = org;
users[id].rang = 5;
savePlayers();
if(org == 4) { orgname = "FDLC" }
// else if(org == 1) { orgname = "PDLC" }
sendPlayerMessage(id, " Поздравляем вы стали лидером "+orgname, COLOR_LEMON);
sendPlayerMessage(playerid, " Вы назначили "+id+" лидером "+orgname, COLOR_LEMON);
onSpawn(id);
}
}Можно также сделать рацию
if(cmd[0] == "/r")
{
local rang;
local text = command.slice(cmd[0].len()+1, command.len());
if(cmd.len() < 2) return sendPlayerMessage(playerid, "[Ошибка] Использовать /r [текст]",COLOR_RED);
if(users[playerid].member == 4)
{
switch(users[playerid].rang)
{
case 0: rang = "Стажер";
case 1: rang = "Рядовой";
case 2: rang = "Сержант";
case 3: rang = "Капитан";
case 4: rang = "Майор";
case 5: rang = "Полковник";
}
sendFamilyMessage(4, "[FF6347AA][R]["+rang+"]"+getPlayerName(playerid)+": [FFFFFFAA]"+text, COLOR_WHITE);
}
}Сделаем спавн в Пожарной части
В onPlayerSpawn(playerid)
Немного изменим код, после else if(Logged[playerid] == 1)
if(users[playerid].member == 4)
{
setPlayerColorName(playerid);
setPlayerCoordinates(playerid, 1101.108887, 1735.013794, 10.531218);
}
else
{
setPlayerColorName(playerid);
setPlayerCoordinates(playerid, 1054.174438, -544.445007, 19.206417);
}Сделаем цвет фракции
Создадим функцию
function setPlayerColorName(playerid)
{
switch(users[playerid].member)
{
case 0: return setPlayerColor(playerid, COLOR_WHITE);
case 4: return setPlayerColor(playerid, COLOR_TOMATO);
}
}И в конце мода
function sendFamilyMessage(family, string, color)
{
for(local i = 0; i < getPlayers().len(); i++)
{
if(users[i].member == family) sendPlayerMessage(i, string, color, true);
}
}Во второй части сделаем Автомобили и далее в третей работу(Случайные пожары)


