Skip to content

Instantly share code, notes, and snippets.

@ziggi
Last active October 11, 2017 07:54
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ziggi/70e8e61b59c34df3eed8 to your computer and use it in GitHub Desktop.
Save ziggi/70e8e61b59c34df3eed8 to your computer and use it in GitHub Desktop.
Organization System
#include <a_samp>
#define ORGANIZATION_MAX_NAME 32
#define ORGANIZATION_MAX_RANK_NAME 32
enum {
ORGANIZATION_NONE,
ORGANIZATION_LSPD,
ORGANIZATION_FBI,
ORGANIZATION_AVIA,
ORGANIZATION_MHLS,
ORGANIZATION_LCN,
ORGANIZATION_YAKUZA,
ORGANIZATION_LSCH,
ORGANIZATION_LSARMY,
ORGANIZATION_SFPD,
ORGANIZATION_INSTRUCTORS,
ORGANIZATION_BALLAS,
ORGANIZATION_VAGOS,
ORGANIZATION_RUSSIAN_MAFIA,
ORGANIZATION_GROVE_STREET,
ORGANIZATION_LS_NEWS,
ORGANIZATION_AZTECAS,
ORGANIZATION_RIFA,
ORGANIZATION_AREA51,
ORGANIZATION_LVPD
}
static const organization_name[][ORGANIZATION_MAX_NAME] = {
"LSPD",
"FBI",
"Авианосец",
"Мин.Здрав LS",
"LCN",
"Yakuza",
"Мэрия ЛС",
"Армия ЛС",
"SFPD",
"Инструкторы",
"Ballas",
"Vagos",
"Русская Мафия",
"Grove Street",
"LS NEWS",
"The Aztecas",
"The Rifa",
"Зона 51",
"LVPD"
};
static const rank_name[][][ORGANIZATION_MAX_RANK_NAME] = {
// LSPD
{
"Кадет",
"Офицер",
"Мл. Сержант",
"Сержант",
"Ст. Сержант",
"Прапорщик",
"Ст. Прапорщик",
"Мл. Лейтенант",
"Лейтенант",
"Ст. Лейтенант",
"Капитан",
"Майор",
"Подполковник",
"Полковник",
"Шериф",
""
},
// FBI
{
"Стажёр",
"Агент",
"Старший агент",
"Специальный агент",
"Начальник секции",
"Инспектор",
"Зам. директора",
"Директор",
"",
"",
"",
"",
"",
"",
"",
""
},
// Авианосец
{
"Юнга",
"Матрос",
"Ст. Матрос",
"Старшина",
"Гл. Старшина",
"Боцман",
"Прапорщик",
"Мичман",
"Ст. Мичман",
"Мл. Лейтенант",
"Лейтенант",
"Ст. Лейтенант",
"Капитан-лейтенант",
"Контр-адмирал",
"Вице-адмирал",
"Адмирал"
},
// Больница ЛС
{
"Интерн",
"Санитар",
"Мед.брат",
"Нарколог",
"Психолог",
"Хирург",
"Зам.Глав.Врача",
"Глав. Врач",
"",
"",
"",
"",
"",
"",
"",
""
},
// LCNN
{
"Новицио",
"Ассосиато",
"Сомбаттенте",
"Солдато",
"Боец",
"Сотто-Капо",
"Капо",
"Младший Босс",
"Консильери",
"Дон",
"",
"",
"",
"",
"",
""
},
// Yakuza
{
"Вакасю",
"Кёдай",
"Сятейгасира",
"Вакагасира",
"Со-хобунтё",
"Камбу",
"Оядзи",
"Cайко комон",
"Оябун-кобун",
"Кумитё",
"",
"",
"",
"",
"",
""
},
// Мэрия ЛС
{
"Адвокат",
"Судья",
"Охранник",
"Нач.Охраны",
"Депутат",
"Министр",
"Советник",
"Зам. мэра",
"Мэр",
"",
"",
"",
"",
"",
"",
""
},
// Армия ЛС
{
"Рядовой",
"Ефрейтор",
"Младший сержант",
"Сержант",
"Старший сержант",
"Старшина",
"Прапорщик",
"Старший прапорщик",
"Младший лейтенант",
"Лейтенант",
"Старший лейтенант",
"Капитан",
"Майор",
"Подполковник",
"Полковник",
"Генерал"
},
// SFPD
{
"Кадет",
"Офицер",
"Мл. Сержант",
"Сержант",
"Ст. Сержант",
"Прапорщик",
"Ст. Прапорщик",
"Мл. Лейтенант",
"Лейтенант",
"Ст. Лейтенант",
"Капитан",
"Майор",
"Подполковник",
"Полковник",
"Шериф",
""
},
//Инстуркторы
{
"Стажёр",
"Экзаменатор",
"Инструктор",
"Кординатор",
"Мл. менеджер",
"Старший менеджер",
"Директор",
"",
"",
"",
"",
"",
"",
"",
"",
""
},
// The Ballas
{
"Блайд",
"Младший Нига",
"Крэкер",
"Гун брo",
"Ап Бро",
"Гангстер",
"Федерал Блок",
"Фолкс",
"Райч Нига",
"Биг Вилли",
"",
"",
"",
"",
"",
""
},
// Los Santos Vagos
{
"Новато",
"Бандито",
"Сольдадо",
"Эстимадо",
"Амиго",
"Асесино",
"Асесор",
"Лидер V.E.G.",
"Падрино",
"Падре",
"",
"",
"",
"",
"",
""
},
// Russian Mafia
{
"Шнырь",
"Фраер",
"Бык",
"Барыга",
"Блатной",
"Свояк",
"Браток",
"Вор",
"Вор в законе",
"Авторитет",
"",
"",
"",
"",
"",
""
},
// Grove Street
{
"Отсутсвует",
"Плэйя",
"Хастла",
"Килла",
"Юонг",
"Гангста",
"О.Г.",
"Мобста",
"Де Кинг",
"Легенд",
"Мэд Дог",
"",
"",
"",
"",
""
},
//LS News
{
"Стажер",
"Фотограф.",
"Папарацци",
"Журналист",
"Редактор",
"Главный редактор",
"",
"",
"",
"",
"",
"",
"",
"",
"",
""
},
// Varios Los Aztecas
{
"Перро",
"Тирадор",
"Геттор",
"Лас Геррас",
"Мирандо",
"Сабио",
"Инвасор",
"Тесосеро",
"Нестро",
"Падре",
"",
"",
"",
"",
"",
""
},
// The Rifa
{
"Новато",
"Ладрон",
"Амиго",
"Мачo",
"Джуниор",
"Эрмано",
"Бандидо",
"Ауторидад",
"Аджунто",
"Падре",
"",
"",
"",
"",
"",
""
},
// Зона 51
{
"Рядовой",
"Ефрейтор",
"Младший сержант",
"Сержант",
"Старший сержант",
"Старшина",
"Прапорщик",
"Старший прапорщик",
"Младший лейтенант",
"Лейтенант",
"Старший лейтенант",
"Капитан",
"Майор",
"Подполковник",
"Полковник",
"Генерал"
}
};
stock GetOrganizationName(orgid, result[], length = sizeof(result))
{
result[0] = '\0';
orgid--;
if (orgid < 0 || orgid >= sizeof(organization_name)) {
return 0;
}
strcat(result, organization_name[orgid], length);
return 1;
}
stock GetOrganizationRankName(orgid, rankid, result[], length = sizeof(result))
{
result[0] = '\0';
orgid--;
rankid--;
if (orgid < 0 || orgid >= sizeof(organization_name) || rankid < 0 || rankid >= sizeof(rank_name[])) {
return 0;
}
if (rank_name[orgid][rankid][0] == '\0') {
return 0;
}
strcat(result, rank_name[orgid][rankid], length);
return 1;
}
main() {
new
name[64],
result;
result = GetOrganizationName(ORGANIZATION_FBI, name, sizeof(name));
printf("%d: %s", result, name);
result = GetOrganizationRankName(ORGANIZATION_FBI, 15, name, sizeof(name));
if (!result) {
strcat(name, "Отсутсвует");
}
printf("%d: %s", result, name);
result = GetOrganizationRankName(ORGANIZATION_FBI, 7, name, sizeof(name));
printf("%d: %s", result, name);
result = GetOrganizationRankName(ORGANIZATION_FBI, 8, name, sizeof(name));
printf("%d: %s", result, name);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment