// ==========================================================
// ФРАКЦИЯ "НЕФОРЫ"
// neform.pwn
// ==========================================================
#define FRACTION_NEFORY 11
#define NEFORY_COLOR 0xB45CFFFF
#define NEFORY_RED 0xFF4444FF
#define NEFORY_GREEN 0x44FF44FF
#define NEFORY_WHITE 0xFFFFFFFF
#define NEFORY_YELLOW 0xFFFF00FF
// Максимальное количество рангов
#define NEFORY_MAX_RANK 10
// ==========================================================
// ДАННЫЕ ИГРОКА
// ==========================================================
enum NEFORY_PLAYER_DATA
{
nFraction,
nRank,
bool:nDuty
};
new NeforyPlayer[MAX_PLAYERS][NEFORY_PLAYER_DATA];
// ==========================================================
// НАЗВАНИЯ РАНГОВ
// ==========================================================
stock Nefory_GetRankName(rank)
{
new name[32];
switch(rank)
{
case 1: format(name, sizeof(name), "Новичок");
case 2: format(name, sizeof(name), "Участник");
case 3: format(name, sizeof(name), "Свой");
case 4: format(name, sizeof(name), "Активист");
case 5: format(name, sizeof(name), "Старший");
case 6: format(name, sizeof(name), "Авторитет");
case 7: format(name, sizeof(name), "Заместитель");
case 8: format(name, sizeof(name), "Правая рука");
case 9: format(name, sizeof(name), "Советник");
case 10: format(name, sizeof(name), "Лидер");
default:
format(name, sizeof(name), "Неизвестно");
}
return name;
}
// ==========================================================
// ПРОВЕРКА ФРАКЦИИ
// ==========================================================
stock bool:IsNefory(playerid)
{
if(!IsPlayerConnected(playerid))
return false;
return NeforyPlayer[playerid][nFraction] == FRACTION_NEFORY;
}
// ==========================================================
// ПРОВЕРКА ПРАВ
// ==========================================================
stock bool:Nefory_HasRank(playerid, rank)
{
if(!IsNefory(playerid))
return false;
return NeforyPlayer[playerid][nRank] >= rank;
}
// ==========================================================
// ДОБАВЛЕНИЕ
// ==========================================================
stock Nefory_SetPlayer(playerid, rank)
{
if(!IsPlayerConnected(playerid))
return 0;
NeforyPlayer[playerid][nFraction] = FRACTION_NEFORY;
NeforyPlayer[playerid][nRank] = rank;
NeforyPlayer[playerid][nDuty] = false;
return 1;
}
// ==========================================================
// УВОЛЬНЕНИЕ
// ==========================================================
stock Nefory_RemovePlayer(playerid)
{
if(!IsPlayerConnected(playerid))
return 0;
NeforyPlayer[playerid][nFraction] = 0;
NeforyPlayer[playerid][nRank] = 0;
NeforyPlayer[playerid][nDuty] = false;
return 1;
}
// ==========================================================
// ФРАКЦИОННЫЙ ЧАТ
// ==========================================================
stock Nefory_Chat(playerid, const message[])
{
if(!IsNefory(playerid))
{
SendClientMessage(playerid, NEFORY_RED,
"Вы не состоите во фракции Нефоры.");
return 0;
}
new name[MAX_PLAYER_NAME];
new text[192];
GetPlayerName(playerid, name, sizeof(name));
format(text, sizeof(text),
"{B45CFF}[НЕФОРЫ] {FFFFFF}%s[%d]: {DDDDDD}%s",
name,
NeforyPlayer[playerid][nRank],
message
);
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(!IsPlayerConnected(i))
continue;
if(IsNefory(i))
SendClientMessage(i, NEFORY_WHITE, text);
}
return 1;
}
// ФРАКЦИЯ "НЕФОРЫ"
// neform.pwn
// ==========================================================
#define FRACTION_NEFORY 11
#define NEFORY_COLOR 0xB45CFFFF
#define NEFORY_RED 0xFF4444FF
#define NEFORY_GREEN 0x44FF44FF
#define NEFORY_WHITE 0xFFFFFFFF
#define NEFORY_YELLOW 0xFFFF00FF
// Максимальное количество рангов
#define NEFORY_MAX_RANK 10
// ==========================================================
// ДАННЫЕ ИГРОКА
// ==========================================================
enum NEFORY_PLAYER_DATA
{
nFraction,
nRank,
bool:nDuty
};
new NeforyPlayer[MAX_PLAYERS][NEFORY_PLAYER_DATA];
// ==========================================================
// НАЗВАНИЯ РАНГОВ
// ==========================================================
stock Nefory_GetRankName(rank)
{
new name[32];
switch(rank)
{
case 1: format(name, sizeof(name), "Новичок");
case 2: format(name, sizeof(name), "Участник");
case 3: format(name, sizeof(name), "Свой");
case 4: format(name, sizeof(name), "Активист");
case 5: format(name, sizeof(name), "Старший");
case 6: format(name, sizeof(name), "Авторитет");
case 7: format(name, sizeof(name), "Заместитель");
case 8: format(name, sizeof(name), "Правая рука");
case 9: format(name, sizeof(name), "Советник");
case 10: format(name, sizeof(name), "Лидер");
default:
format(name, sizeof(name), "Неизвестно");
}
return name;
}
// ==========================================================
// ПРОВЕРКА ФРАКЦИИ
// ==========================================================
stock bool:IsNefory(playerid)
{
if(!IsPlayerConnected(playerid))
return false;
return NeforyPlayer[playerid][nFraction] == FRACTION_NEFORY;
}
// ==========================================================
// ПРОВЕРКА ПРАВ
// ==========================================================
stock bool:Nefory_HasRank(playerid, rank)
{
if(!IsNefory(playerid))
return false;
return NeforyPlayer[playerid][nRank] >= rank;
}
// ==========================================================
// ДОБАВЛЕНИЕ
// ==========================================================
stock Nefory_SetPlayer(playerid, rank)
{
if(!IsPlayerConnected(playerid))
return 0;
NeforyPlayer[playerid][nFraction] = FRACTION_NEFORY;
NeforyPlayer[playerid][nRank] = rank;
NeforyPlayer[playerid][nDuty] = false;
return 1;
}
// ==========================================================
// УВОЛЬНЕНИЕ
// ==========================================================
stock Nefory_RemovePlayer(playerid)
{
if(!IsPlayerConnected(playerid))
return 0;
NeforyPlayer[playerid][nFraction] = 0;
NeforyPlayer[playerid][nRank] = 0;
NeforyPlayer[playerid][nDuty] = false;
return 1;
}
// ==========================================================
// ФРАКЦИОННЫЙ ЧАТ
// ==========================================================
stock Nefory_Chat(playerid, const message[])
{
if(!IsNefory(playerid))
{
SendClientMessage(playerid, NEFORY_RED,
"Вы не состоите во фракции Нефоры.");
return 0;
}
new name[MAX_PLAYER_NAME];
new text[192];
GetPlayerName(playerid, name, sizeof(name));
format(text, sizeof(text),
"{B45CFF}[НЕФОРЫ] {FFFFFF}%s[%d]: {DDDDDD}%s",
name,
NeforyPlayer[playerid][nRank],
message
);
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(!IsPlayerConnected(i))
continue;
if(IsNefory(i))
SendClientMessage(i, NEFORY_WHITE, text);
}
return 1;
}
// ==========================================================
// ПОВЫШЕНИЕ
// ==========================================================
stock Nefory_Promote(playerid, targetid)
{
if(!Nefory_HasRank(playerid, 8))
{
SendClientMessage(playerid, NEFORY_RED,
"Повышать игроков может только руководство.");
return 0;
}
if(!IsNefory(targetid))
{
SendClientMessage(playerid, NEFORY_RED,
"Игрок не состоит во фракции.");
return 0;
}
if(targetid == playerid)
{
SendClientMessage(playerid, NEFORY_RED,
"Нельзя повысить самого себя.");
return 0;
}
new oldrank = NeforyPlayer[targetid][nRank];
if(oldrank >= 9)
{
SendClientMessage(playerid, NEFORY_RED,
"Игрок уже имеет максимальный доступ.");
return 0;
}
if(oldrank + 1 >= NeforyPlayer[playerid][nRank])
{
SendClientMessage(playerid, NEFORY_RED,
"Вы не можете выдать ранг равный или выше своего.");
return 0;
}
NeforyPlayer[targetid][nRank]++;
new message[144];
format(message, sizeof(message),
"Вы повысили игрока до ранга: %s.",
Nefory_GetRankName(
NeforyPlayer[targetid][nRank]
)
);
SendClientMessage(playerid, NEFORY_GREEN, message);
format(message, sizeof(message),
"Вас повысили до ранга: %s.",
Nefory_GetRankName(
NeforyPlayer[targetid][nRank]
)
);
SendClientMessage(targetid, NEFORY_GREEN, message);
return 1;
}
// ==========================================================
// ПОНИЖЕНИЕ
// ==========================================================
stock Nefory_Demote(playerid, targetid)
{
if(!Nefory_HasRank(playerid, 8))
{
SendClientMessage(playerid, NEFORY_RED,
"Недостаточно прав.");
return 0;
}
if(!IsNefory(targetid))
{
SendClientMessage(playerid, NEFORY_RED,
"Игрок не состоит во фракции.");
return 0;
}
if(targetid == playerid)
{
SendClientMessage(playerid, NEFORY_RED,
"Нельзя понизить самого себя.");
return 0;
}
if(NeforyPlayer[targetid][nRank] <= 1)
{
SendClientMessage(playerid, NEFORY_RED,
"У игрока минимальный ранг.");
return 0;
}
if(NeforyPlayer[targetid][nRank] >=
NeforyPlayer[playerid][nRank])
{
SendClientMessage(playerid, NEFORY_RED,
"Нельзя понизить равного или старшего.");
return 0;
}
NeforyPlayer[targetid][nRank]--;
SendClientMessage(playerid, NEFORY_GREEN,
"Игрок был понижен.");
SendClientMessage(targetid, NEFORY_RED,
"Ваш ранг был понижен.");
return 1;
}
// ==========================================================
// УВОЛЬНЕНИЕ
// ==========================================================
stock Nefory_Kick(playerid, targetid)
{
if(!Nefory_HasRank(playerid, 8))
{
SendClientMessage(playerid, NEFORY_RED,
"Недостаточно прав.");
return 0;
}
if(!IsNefory(targetid))
{
SendClientMessage(playerid, NEFORY_RED,
"Игрок не состоит во фракции.");
return 0;
}
if(targetid == playerid)
{
SendClientMessage(playerid, NEFORY_RED,
"Нельзя уволить самого себя.");
return 0;
}
if(NeforyPlayer[targetid][nRank] >=
NeforyPlayer[playerid][nRank])
{
SendClientMessage(playerid, NEFORY_RED,
"Нельзя уволить равного или старшего.");
return 0;
}
Nefory_RemovePlayer(targetid);
SendClientMessage(playerid, NEFORY_GREEN,
"Игрок был уволен из фракции.");
SendClientMessage(targetid, NEFORY_RED,
"Вы были уволены из фракции Нефоры.");
return 1;
}
// ПОВЫШЕНИЕ
// ==========================================================
stock Nefory_Promote(playerid, targetid)
{
if(!Nefory_HasRank(playerid, 8))
{
SendClientMessage(playerid, NEFORY_RED,
"Повышать игроков может только руководство.");
return 0;
}
if(!IsNefory(targetid))
{
SendClientMessage(playerid, NEFORY_RED,
"Игрок не состоит во фракции.");
return 0;
}
if(targetid == playerid)
{
SendClientMessage(playerid, NEFORY_RED,
"Нельзя повысить самого себя.");
return 0;
}
new oldrank = NeforyPlayer[targetid][nRank];
if(oldrank >= 9)
{
SendClientMessage(playerid, NEFORY_RED,
"Игрок уже имеет максимальный доступ.");
return 0;
}
if(oldrank + 1 >= NeforyPlayer[playerid][nRank])
{
SendClientMessage(playerid, NEFORY_RED,
"Вы не можете выдать ранг равный или выше своего.");
return 0;
}
NeforyPlayer[targetid][nRank]++;
new message[144];
format(message, sizeof(message),
"Вы повысили игрока до ранга: %s.",
Nefory_GetRankName(
NeforyPlayer[targetid][nRank]
)
);
SendClientMessage(playerid, NEFORY_GREEN, message);
format(message, sizeof(message),
"Вас повысили до ранга: %s.",
Nefory_GetRankName(
NeforyPlayer[targetid][nRank]
)
);
SendClientMessage(targetid, NEFORY_GREEN, message);
return 1;
}
// ==========================================================
// ПОНИЖЕНИЕ
// ==========================================================
stock Nefory_Demote(playerid, targetid)
{
if(!Nefory_HasRank(playerid, 8))
{
SendClientMessage(playerid, NEFORY_RED,
"Недостаточно прав.");
return 0;
}
if(!IsNefory(targetid))
{
SendClientMessage(playerid, NEFORY_RED,
"Игрок не состоит во фракции.");
return 0;
}
if(targetid == playerid)
{
SendClientMessage(playerid, NEFORY_RED,
"Нельзя понизить самого себя.");
return 0;
}
if(NeforyPlayer[targetid][nRank] <= 1)
{
SendClientMessage(playerid, NEFORY_RED,
"У игрока минимальный ранг.");
return 0;
}
if(NeforyPlayer[targetid][nRank] >=
NeforyPlayer[playerid][nRank])
{
SendClientMessage(playerid, NEFORY_RED,
"Нельзя понизить равного или старшего.");
return 0;
}
NeforyPlayer[targetid][nRank]--;
SendClientMessage(playerid, NEFORY_GREEN,
"Игрок был понижен.");
SendClientMessage(targetid, NEFORY_RED,
"Ваш ранг был понижен.");
return 1;
}
// ==========================================================
// УВОЛЬНЕНИЕ
// ==========================================================
stock Nefory_Kick(playerid, targetid)
{
if(!Nefory_HasRank(playerid, 8))
{
SendClientMessage(playerid, NEFORY_RED,
"Недостаточно прав.");
return 0;
}
if(!IsNefory(targetid))
{
SendClientMessage(playerid, NEFORY_RED,
"Игрок не состоит во фракции.");
return 0;
}
if(targetid == playerid)
{
SendClientMessage(playerid, NEFORY_RED,
"Нельзя уволить самого себя.");
return 0;
}
if(NeforyPlayer[targetid][nRank] >=
NeforyPlayer[playerid][nRank])
{
SendClientMessage(playerid, NEFORY_RED,
"Нельзя уволить равного или старшего.");
return 0;
}
Nefory_RemovePlayer(targetid);
SendClientMessage(playerid, NEFORY_GREEN,
"Игрок был уволен из фракции.");
SendClientMessage(targetid, NEFORY_RED,
"Вы были уволены из фракции Нефоры.");
return 1;
}
// ==========================================================
// DUTY
// ==========================================================
stock Nefory_Duty(playerid)
{
if(!IsNefory(playerid))
{
SendClientMessage(playerid, NEFORY_RED,
"Вы не состоите во фракции.");
return 0;
}
NeforyPlayer[playerid][nDuty] =
!NeforyPlayer[playerid][nDuty];
if(NeforyPlayer[playerid][nDuty])
{
SendClientMessage(playerid, NEFORY_GREEN,
"Вы заступили на службу.");
}
else
{
SendClientMessage(playerid, NEFORY_YELLOW,
"Вы закончили службу.");
}
return 1;
}
// ==========================================================
// КОМАНДЫ
// ==========================================================
// /nf [текст]
CMD:nf(playerid, params[])
{
if(!strlen(params))
{
SendClientMessage(playerid, NEFORY_YELLOW,
"Использование: /nf [сообщение]");
return 1;
}
Nefory_Chat(playerid, params);
return 1;
}
// /neform
CMD:neform(playerid, params[])
{
if(!IsNefory(playerid))
{
SendClientMessage(playerid, NEFORY_RED,
"Вы не состоите во фракции Нефоры.");
return 1;
}
new message[256];
format(message, sizeof(message),
"{B45CFF}=== ФРАКЦИЯ НЕФОРЫ ===\n\
{FFFFFF}Ваш ранг: {B45CFF}%s\n\
{FFFFFF}Номер ранга: {B45CFF}%d\n\
{FFFFFF}Статус: %s",
Nefory_GetRankName(
NeforyPlayer[playerid][nRank]
),
NeforyPlayer[playerid][nRank],
NeforyPlayer[playerid][nDuty]
? ("{44FF44}На службе")
: ("{AAAAAA}Не на службе")
);
ShowPlayerDialog(
playerid,
7000,
DIALOG_STYLE_MSGBOX,
"Нефоры",
message,
"Закрыть",
""
);
return 1;
}
// /nduty
CMD:nduty(playerid, params[])
{
Nefory_Duty(playerid);
return 1;
}
// /ninvite [ID]
CMD:ninvite(playerid, params[])
{
new targetid;
if(sscanf(params, "u", targetid))
{
SendClientMessage(playerid, NEFORY_YELLOW,
"Использование: /ninvite [ID]");
return 1;
}
if(!Nefory_HasRank(playerid, 7))
{
SendClientMessage(playerid, NEFORY_RED,
"Принимать людей могут только руководители.");
return 1;
}
if(!IsPlayerConnected(targetid))
{
SendClientMessage(playerid, NEFORY_RED,
"Игрок не найден.");
return 1;
}
Nefory_SetPlayer(targetid, 1);
SendClientMessage(targetid, NEFORY_GREEN,
"Вы были приняты во фракцию Нефоры.");
SendClientMessage(playerid, NEFORY_GREEN,
"Игрок принят во фракцию.");
return 1;
}
// /nkick [ID]
CMD:nkick(playerid, params[])
{
new targetid;
if(sscanf(params, "u", targetid))
{
SendClientMessage(playerid, NEFORY_YELLOW,
"Использование: /nkick [ID]");
return 1;
}
Nefory_Kick(playerid, targetid);
return 1;
}
// /npromote [ID]
CMD:npromote(playerid, params[])
{
new targetid;
if(sscanf(params, "u", targetid))
{
SendClientMessage(playerid, NEFORY_YELLOW,
"Использование: /npromote [ID]");
return 1;
}
Nefory_Promote(playerid, targetid);
return 1;
}
// /ndemote [ID]
CMD:ndemote(playerid, params[])
{
new targetid;
if(sscanf(params, "u", targetid))
{
SendClientMessage(playerid, NEFORY_YELLOW,
"Использование: /ndemote [ID]");
return 1;
}
Nefory_Demote(playerid, targetid);
return 1;
}
// /nrank [ID] [ранг]
CMD:nrank(playerid, params[])
{
new targetid;
new rank;
if(sscanf(params, "ui", targetid, rank))
{
SendClientMessage(playerid, NEFORY_YELLOW,
"Использование: /nrank [ID] [1-9]");
return 1;
}
if(!Nefory_HasRank(playerid, 8))
{
SendClientMessage(playerid, NEFORY_RED,
"Недостаточно прав.");
return 1;
}
// DUTY
// ==========================================================
stock Nefory_Duty(playerid)
{
if(!IsNefory(playerid))
{
SendClientMessage(playerid, NEFORY_RED,
"Вы не состоите во фракции.");
return 0;
}
NeforyPlayer[playerid][nDuty] =
!NeforyPlayer[playerid][nDuty];
if(NeforyPlayer[playerid][nDuty])
{
SendClientMessage(playerid, NEFORY_GREEN,
"Вы заступили на службу.");
}
else
{
SendClientMessage(playerid, NEFORY_YELLOW,
"Вы закончили службу.");
}
return 1;
}
// ==========================================================
// КОМАНДЫ
// ==========================================================
// /nf [текст]
CMD:nf(playerid, params[])
{
if(!strlen(params))
{
SendClientMessage(playerid, NEFORY_YELLOW,
"Использование: /nf [сообщение]");
return 1;
}
Nefory_Chat(playerid, params);
return 1;
}
// /neform
CMD:neform(playerid, params[])
{
if(!IsNefory(playerid))
{
SendClientMessage(playerid, NEFORY_RED,
"Вы не состоите во фракции Нефоры.");
return 1;
}
new message[256];
format(message, sizeof(message),
"{B45CFF}=== ФРАКЦИЯ НЕФОРЫ ===\n\
{FFFFFF}Ваш ранг: {B45CFF}%s\n\
{FFFFFF}Номер ранга: {B45CFF}%d\n\
{FFFFFF}Статус: %s",
Nefory_GetRankName(
NeforyPlayer[playerid][nRank]
),
NeforyPlayer[playerid][nRank],
NeforyPlayer[playerid][nDuty]
? ("{44FF44}На службе")
: ("{AAAAAA}Не на службе")
);
ShowPlayerDialog(
playerid,
7000,
DIALOG_STYLE_MSGBOX,
"Нефоры",
message,
"Закрыть",
""
);
return 1;
}
// /nduty
CMD:nduty(playerid, params[])
{
Nefory_Duty(playerid);
return 1;
}
// /ninvite [ID]
CMD:ninvite(playerid, params[])
{
new targetid;
if(sscanf(params, "u", targetid))
{
SendClientMessage(playerid, NEFORY_YELLOW,
"Использование: /ninvite [ID]");
return 1;
}
if(!Nefory_HasRank(playerid, 7))
{
SendClientMessage(playerid, NEFORY_RED,
"Принимать людей могут только руководители.");
return 1;
}
if(!IsPlayerConnected(targetid))
{
SendClientMessage(playerid, NEFORY_RED,
"Игрок не найден.");
return 1;
}
Nefory_SetPlayer(targetid, 1);
SendClientMessage(targetid, NEFORY_GREEN,
"Вы были приняты во фракцию Нефоры.");
SendClientMessage(playerid, NEFORY_GREEN,
"Игрок принят во фракцию.");
return 1;
}
// /nkick [ID]
CMD:nkick(playerid, params[])
{
new targetid;
if(sscanf(params, "u", targetid))
{
SendClientMessage(playerid, NEFORY_YELLOW,
"Использование: /nkick [ID]");
return 1;
}
Nefory_Kick(playerid, targetid);
return 1;
}
// /npromote [ID]
CMD:npromote(playerid, params[])
{
new targetid;
if(sscanf(params, "u", targetid))
{
SendClientMessage(playerid, NEFORY_YELLOW,
"Использование: /npromote [ID]");
return 1;
}
Nefory_Promote(playerid, targetid);
return 1;
}
// /ndemote [ID]
CMD:ndemote(playerid, params[])
{
new targetid;
if(sscanf(params, "u", targetid))
{
SendClientMessage(playerid, NEFORY_YELLOW,
"Использование: /ndemote [ID]");
return 1;
}
Nefory_Demote(playerid, targetid);
return 1;
}
// /nrank [ID] [ранг]
CMD:nrank(playerid, params[])
{
new targetid;
new rank;
if(sscanf(params, "ui", targetid, rank))
{
SendClientMessage(playerid, NEFORY_YELLOW,
"Использование: /nrank [ID] [1-9]");
return 1;
}
if(!Nefory_HasRank(playerid, 8))
{
SendClientMessage(playerid, NEFORY_RED,
"Недостаточно прав.");
return 1;
}
if(!IsNefory(targetid))
{
SendClientMessage(playerid, NEFORY_RED,
"Игрок не состоит во фракции.");
return 1;
}
if(rank < 1 || rank > 9)
{
SendClientMessage(playerid, NEFORY_RED,
"Ранг должен быть от 1 до 9.");
return 1;
}
if(rank >= NeforyPlayer[playerid][nRank])
{
SendClientMessage(playerid, NEFORY_RED,
"Нельзя выдать ранг равный или выше своего.");
return 1;
}
NeforyPlayer[targetid][nRank] = rank;
new message[144];
format(message, sizeof(message),
"Вам установлен ранг: %s.",
Nefory_GetRankName(rank)
);
SendClientMessage(targetid, NEFORY_GREEN, message);
SendClientMessage(playerid, NEFORY_GREEN,
"Ранг успешно установлен.");
return 1;
}
{
SendClientMessage(playerid, NEFORY_RED,
"Игрок не состоит во фракции.");
return 1;
}
if(rank < 1 || rank > 9)
{
SendClientMessage(playerid, NEFORY_RED,
"Ранг должен быть от 1 до 9.");
return 1;
}
if(rank >= NeforyPlayer[playerid][nRank])
{
SendClientMessage(playerid, NEFORY_RED,
"Нельзя выдать ранг равный или выше своего.");
return 1;
}
NeforyPlayer[targetid][nRank] = rank;
new message[144];
format(message, sizeof(message),
"Вам установлен ранг: %s.",
Nefory_GetRankName(rank)
);
SendClientMessage(targetid, NEFORY_GREEN, message);
SendClientMessage(playerid, NEFORY_GREEN,
"Ранг успешно установлен.");
return 1;
}
WRIT RP-уникальный крмп проект со своими система,и всем всем,это не копия каковота крмп,а свой комп со своим неповторимым модом,у нас даже фракции свои и все свое
Подписывайтесь на наш тгк!
https://t.me/WritRp
Подписывайтесь на наш тгк!
https://t.me/WritRp
Telegram
Writ Rp - Официальный Канал
Рп проект
Топовая онлайн игра
Топовая онлайн игра
𝑾𝑹i𝑻 𝑺𝑻𝑼𝑫𝑰𝑶 | SAMP/CRMP pinned «САЙТ WRIT SHOP УЖЕ ВЫШЕЛ!! ССЫЛКА:https://writshop.csamp.ru»
Forwarded from XYDOW STUDIO
У меня вообще нет желания что-то делать без актива, все студии, которые сейчас это слушают, пожалуйста, прорекламируйте этот пост, прошу вас будет хоть 30 людей не ботов буду активно чтото делать.
Сливаю для вас приватный мод Ельдара который он продаёт за 300 рублей 💸
Что есть в моде? 🧐
Регистрация GUI
Технический Центр
Стайлинг Центр
Шиномонтажный Центр
Радиалка
Дома + квартиры
Донат
МЧС
ТК
Водолаз
Электрик
Шахта
Завод
Ка$
Кейсы
Блек пасс
Фулл Ворк Организации
Помощник для новичков
🥳 Автор слива = @FilipStudio
Скачать ниже 👇
Что есть в моде? 🧐
Регистрация GUI
Технический Центр
Стайлинг Центр
Шиномонтажный Центр
Радиалка
Дома + квартиры
Донат
МЧС
ТК
Водолаз
Электрик
Шахта
Завод
Ка$
Кейсы
Блек пасс
Фулл Ворк Организации
Помощник для новичков
🥳 Автор слива = @FilipStudio
Скачать ниже 👇