Доступ к готовым решениям

Переход в группу "Пользователь"

300.00 ₽
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info

Мануал Простенький университет для РП мода Mysql R31

Статус
В этой теме нельзя размещать новые ответы.

14\88

Новичок
Добрый вечер господа! Вылаживаю вам свою систему университета Mysql r31, делайте под свой. Хейтеры лесом:ay:.

СКРИНШОТЫ ВОТ:
Залил на RGHOT т.к интернет портит качество, и ничего не видно. " "​


Создаем переменные:
Код:
// TODO: Переменные университета
new BotTeacher, BotReception;
new UniversitetJoin[MAX_PLAYERS];
new UniversitetSdacha[MAX_PLAYERS];
new UniversitetStats[MAX_PLAYERS][3];
new UniversitetKurs[MAX_PLAYERS];
new UniversitetSdachaStep[MAX_PLAYERS];
new UniversitetPoliceBookStep[MAX_PLAYERS];
new UniversitetAnswer[MAX_PLAYERS];
// Количесвто очков для получение диплома
new PoliceDiplomBal = 15; // Диплом полиции
new MedicDiplomBal = 15; // Диплом медика
new MayorDiplomBal = 15; // Диплом юриста

Ко всем командам:
Позже закину на dc_cmd


Код:
// TODO: /diplom cmd
    else if(!strcmp(cmd, "/diplom", true)){
        tmp = strtok(cmdtext, idx);
		if(!strlen(tmp) || !isNumeric(tmp)) return SendClientMessage(playerid,CGRAY,"/diplom [ID игрока]");
		new actplayerid = strval(tmp);
		if(!IsPlayerConnected(actplayerid)) return SendClientMessage(playerid,CGRAY,"Неверный ID игрока");
		if(GetPlayerDistanceToPlayer(playerid,actplayerid) > 3.0 || GetPlayerVirtualWorld(playerid) != GetPlayerVirtualWorld(actplayerid)) return SendClientMessage(playerid,CGRAY,"Вы далеко друг от друга");
        new str[256], str1[128], policedip[32], mayordip[32], medicdip[32];
        new the_player;
        tmp = strtok(cmdtext, idx);
        if(!strlen(tmp)) {
            the_player = playerid;
        } else {
            the_player = ReturnUser(tmp);
        }
        if(UniversitetStats[playerid][0])
            policedip = "{22AA22}[получен]";
        else
            policedip = "{CC0000}[не получен]";
        if(UniversitetStats[playerid][1])
            mayordip = "{22AA22}[получен]";
        else
            mayordip = "{CC0000}[не получен]";
        if(UniversitetStats[playerid][2])
            medicdip = "{22AA22}[получен]";
        else
            medicdip = "{CC0000}[не получен]";
        new mes[64];
		format(mes,sizeof(mes),"достал диплом и показал его %s'y",pData[actplayerid][pNickname]);
		MeAction(playerid,mes);
        format(str, sizeof(str), "{FFFFFF}Диплом полицейского %s\n{FFFFFF}Диплом юриста %s\n{FFFFFF}Диплом врача %s", policedip, mayordip, medicdip);
        format(str1, sizeof(str1), "{0099CC}Дипломы гражданина %s", pData[playerid][pNickname]);
        ShowPlayerDialog(the_player, 24133, DIALOG_STYLE_MSGBOX, str1, str, "Закрыть", "");
    }
В конец мода:

Код:
// TODO: UniversitetKuratorMenu(playerid)
forward UniversitetKuratorMenu(playerid);
public UniversitetKuratorMenu(playerid){
    new str[400];
    new policedip[32], medicdip[32], mayordip[32];
    if(UniversitetStats[playerid][0])
        policedip = "{22aa22}[получен]";
    else
        policedip = "";
    if(UniversitetStats[playerid][1])
        mayordip = "{22aa22}[получен";
    else
        mayordip = "";
    if(UniversitetStats[playerid][2])
        medicdip = "{22aa22}[получен]";
    else
        medicdip = "";
    format(str, sizeof(str), "{0099CC}>\t{FFFFFF}Диплом врача%s\n{0099CC}>\t{FFFFFF}Диплом юриста%s\n{0099CC}>\t{FFFFFF}Диплом следователя%s", medicdip, mayordip, policedip);
    ShowPlayerDialog(playerid, 24004, DIALOG_STYLE_LIST, "{0099CC}Выберите курс", str, "Выбрать", "Отмена");
}
// TODO: PoliceBook()
forward PoliceBook(playerid, step);

public PoliceBook(playerid, step){
	new string[1024];
    switch(step){
        case 0:
            {
                if(UniversitetStats[playerid][0]) return SendClientMessage(playerid,CGRAY,"У Вас уже есть диплом следователя.");
                UniversitetPoliceBookStep[playerid] = 0;
                strcat(string, "{FFFFFF}Полицейский должен быть вежлив, адекватен, знать и соблюдать РП и УК,\n");
                strcat(string, "помогать товарищу если он в беде и помогать гражданину если тому требуется помощь.\n\n");
                strcat(string, "{0099CC}Полицейским запрещается:\n");
                strcat(string, "{FFFFFF}1. Использовать свои уполномочия в личных целях\n");
                strcat(string, "2. Уходить с постов, заданий и патрулей\n");
                strcat(string, "3. Давать розыск невинному гражданину\n");
                strcat(string, "{0099CC}Обязанности полицейских:\n");
                strcat(string, "{FFFFFF}1. Полицейский обязан задержать нарушителя\n");
                strcat(string, "2. Полицейский обязан следить за порядком на посту или в штате\n");
                strcat(string, "3. Полицейский обязан выезжать на вызов\n");
                strcat(string, "{0099CC}Обязанности офицеров:\n");
                strcat(string, "{FFFFFF}1. Офицер обязан дать подчиненным задание (распределить по постам и т.д)\n");
                strcat(string, "2. Офицер обязан следить за работой подчиненных");

                ShowPlayerDialog(playerid, 24005, DIALOG_STYLE_MSGBOX, "{0099CC}Обязаности полицейских", string, "Дальше", "Назад");
            }
        case 1:
            {
                UniversitetPoliceBookStep[playerid] = 1;
                strcat(string, "{0099CC}Устав полиции:\n");
                strcat(string, "{FFFFFF}1. Устав Полиции является документом, регламентирующим деятельность сотрудников полиции\n");
                strcat(string, "2. Устав Полиции утверждается Президентом штата.\n");
                strcat(string, "3. В случае нарушения Конституции, законов или Устава полиции\n");
                strcat(string, "сотрудник полиции несет ответственность, установленную законодательством и уставу.\n\n");
                strcat(string, "{0099CC}Оружие:\n");
                strcat(string, "{FFFFFF}1. За выданное оружие, сотрудник отвечает своей должностью.\n");
                strcat(string, "2. Сотрудник полиции должен уметь правильно обращаться с оружием.\n");
                strcat(string, "3. Запрещено использовать оружие в личных целях.\n");
                strcat(string, "4. Запрещено использовать табельное оружие против безоружных людей.\n");
                strcat(string, "5. Запрещено носить оружие в открытом виде. Разрешено доставать оружие только тогда, когда это необходимо.\n");
                strcat(string, "6. Запрещено угрожать невинным гражданам оружием.");
                ShowPlayerDialog(playerid, 24005, DIALOG_STYLE_MSGBOX, "{0099CC}Устав и оружие", string, "Дальше", "Назад");
            }
        case 2:
            {
                UniversitetPoliceBookStep[playerid] = 2;
                strcat(string, "{0099CC}Регламентация деятельности сотрудника полиции:\n");
                strcat(string, "{FFFFFF}1. Деятельность сотрудника полиции должна основываться на положениях Уголовного Кодекса штата\n");
                strcat(string, "и положениях о работе участка полиции, в который он зачислен.\n");
                strcat(string, "2. Сотрудник Полиции в процессе своей деятельности должен вести себя вежливо\n");
                strcat(string, "и корректно по отношению ко всем, без исключения, гражданам.\n");
                strcat(string, "3. Сотрудники обязаны соблюдать тайну следствия, кроме санкционированной его руководством\n");
                strcat(string, "передачи секретной информации мэру Штата, Суду и другим органам власти, непосредственно по запросу.\n\n");
				strcat(string, "{0099CC}Обыск человека.\n");
                strcat(string, "{FFFFFF}1. Сотрудник полиции имеет право обыскать человека, если он, на его взгляд, подозрительный.\n");
                strcat(string, "2. Перед обыском, сотрудник полиции обязан зачитать права подозреваемому.\n");
                strcat(string, "3. Перед обыском, сотрудник обязан представиться и показать свое удостоверение.\n");
                strcat(string, "4. Право на обыск имеет любой полицейский, любой должности.");
				ShowPlayerDialog(playerid, 24005, DIALOG_STYLE_MSGBOX, "{0099CC}Деятельность и обыск", string, "Дальше", "Назад");
            }
        default:
            {
                PoliceTest(playerid, 0);
            }
    }
    return 1;
}
forward PoliceTest(playerid, step);
public PoliceTest(playerid, step){
	new string[1000];
	switch(step){
        case 0:
            {
                UniversitetSdachaStep[playerid] = 0;
                UniversitetSdacha[playerid] = 0;
                strcat(string, "{0099CC}Начало теста\n");
                strcat(string, "{FFFFFF}Тест будет из 3 вопросов\n");
                strcat(string, "За каждый правильный ответ даёться 5 балов\n");
                strcat(string, "Для успешной здачи екзамена, вам необходимо 15 балов\n\n");
                strcat(string, "Вы уверены что желаете начать тест?");
                ShowPlayerDialog(playerid, 24008, DIALOG_STYLE_MSGBOX, "{0099CC}Начало теста", string, "Начать", "Назад");
            }
		case 1:
			{
                UniversitetSdachaStep[playerid] = 1;
                UniversitetAnswer[playerid] = 3;
/*0*/           strcat(string, "Вариант ответа\n");
/*1*/           strcat(string, "Вариант ответа 1\n");
/*2*/           strcat(string, "Вариант ответа 2\n");
/*3*/           strcat(string, "Вариант ответа 2");
                ShowPlayerDialog(playerid, 24009, DIALOG_STYLE_LIST, "{0099CC}Какие обязаности полицейского?", string, "Ответить", "Выйти");
			}
        case 2:
            {
                UniversitetSdachaStep[playerid] = 2;
                UniversitetAnswer[playerid] = 1;
/*0*/           strcat(string, "Вариант ответа 1\n");
/*1*/           strcat(string, "Вариант ответа 2\n");
/*2*/           strcat(string, "Вариант ответа 3\n");
/*3*/           strcat(string, "Вариант ответа 4");
                ShowPlayerDialog(playerid, 24009, DIALOG_STYLE_LIST, "{0099CC}Устав и оружие полиции", string, "Ответить", "Выйти");
            }
        case 3:
            {
                UniversitetSdachaStep[playerid] = 3;
                UniversitetAnswer[playerid] = 1;
/*0*/           strcat(string, "Вариант ответа 1\n");
/*1*/           strcat(string, "Вариант ответа 2\n");
/*2*/           strcat(string, "Вариант ответа 3\n");
/*3*/           strcat(string, "Вариант ответа 4");
                ShowPlayerDialog(playerid, 24009, DIALOG_STYLE_LIST, "{0099CC}Устав и оружие полиции", string, "Ответить", "Выйти");
            }
        case 4:
            {
                UniversitetSdachaStep[playerid] = 0;
                TestEnd(playerid);
            }
        default:
            {
                string = "Вы действительно хотите прекратить сдачу екзамена?";
                ShowPlayerDialog(playerid, 24010, DIALOG_STYLE_MSGBOX, "{0099CC}Прекращение теста", string, "Прекратить", "Отмена");
            }
	}
    return 1;
}
forward TestEnd(playerid);
public TestEnd(playerid){
    new kurs = UniversitetKurs[playerid];
    if((kurs == 0 && UniversitetSdacha[playerid] >= PoliceDiplomBal) || (kurs == 1 && UniversitetSdacha[playerid] >= MayorDiplomBal) || (kurs == 2 && UniversitetSdacha[playerid] >= MedicDiplomBal)){
        if(!UniversitetStats[playerid][kurs]){
            UniversitetStats[playerid][kurs] = 1;
            UniversitetSaveProfile(playerid);
            SendClientMessage(playerid, COLOR_DEFAULT, "[Куратор] {FFFFFF}Поздравляем ты успешно прошёл тест.\n");
            SendClientMessage(playerid, COLOR_DEFAULT, "[Куратор] {FFFFFF}Как награду за то что ты его прошёл\n");
            SendClientMessage(playerid, COLOR_DEFAULT, "[Куратор] {FFFFFF}Тебе будет начислена степендия в размере {22aa22}$500\n");
            SendClientMessage(playerid, COLOR_DEFAULT, "[Куратор] {FFFFFF}Желаю тебе успехов!");
        }
    } else {
        SendClientMessage(playerid, COLOR_DEFAULT, "[Куратор] {FFFFFF}К сожелению ты не сдал тест\n");
        SendClientMessage(playerid, COLOR_DEFAULT, "[Куратор] {FFFFFF}Готовся лучше и у тебя получиться его сдать\n");
        SendClientMessage(playerid, COLOR_DEFAULT, "[Куратор] {FFFFFF}Желаю тебе успехов!");
    }
}
forward UniversitetLoadProfile(playerid);
public UniversitetLoadProfile(playerid){
    new sql[128];
    mysql_format(connects, sql, sizeof(sql), "SELECT `id`, `police`, `medic`, `medic`, `username` FROM `univer_stats` WHERE `username` = '%s'", pData[playerid][pNickname]);
    mysql_function_query(connects, sql, true, "UniversitetProfileStats", "i", playerid);
    return 1;
}
forward UniversitetProfileStats(playerid);
public UniversitetProfileStats(playerid){
    new tmp[2], rows, fields;
    cache_get_data(rows, fields);
    if(rows){
        cache_get_field_content(0, "police", tmp), UniversitetStats[playerid][0] = strval(tmp);
        cache_get_field_content(0, "mayor",  tmp), UniversitetStats[playerid][1] = strval(tmp);
        cache_get_field_content(0, "medic",  tmp), UniversitetStats[playerid][2] = strval(tmp);
    } else {
        UniversitetStats[playerid][0] = 0; // police
        UniversitetStats[playerid][1] = 0; // mayor
        UniversitetStats[playerid][2] = 0; // medic
    }
    return 1;
}
forward UniversitetSaveProfile(playerid);
public UniversitetSaveProfile(playerid){
    new sql[128];
    mysql_format(connects, sql, sizeof(sql), "SELECT `username` FROM `univer_stats` WHERE `username` = '%s'",  pData[playerid][pNickname]);
    print(sql);
    mysql_function_query(connects, sql, true, "UpdateUniverData", "i", playerid);
    return 1;
}
forward UpdateUniverData(playerid);
public UpdateUniverData(playerid){
    new rows, fields;
    new sql[400];
    cache_get_data(rows, fields);
    if(rows){
        mysql_format(connects, sql, sizeof(sql), "UPDATE `univer_stats` SET `police` = '%d', `mayor` = '%d', `medic` = '%d' WHERE `username` = '%s'",  UniversitetStats[playerid][0],  UniversitetStats[playerid][1],  UniversitetStats[playerid][2],  pData[playerid][pNickname]);
        mysql_function_query(connects, sql, false, "", "");
    } else {
        mysql_format(connects, sql, sizeof(sql), "INSERT INTO `univer_stats` SET `police` = '%d', `mayor` = '%d', `medic` = '%d', `username` = '%s'", UniversitetStats[playerid][0],  UniversitetStats[playerid][1],  UniversitetStats[playerid][2],  pData[playerid][pNickname]);
        mysql_function_query(connects, sql, false, "", "");
    }
    return 1;
}
forward AltPress(playerid);
public AltPress(playerid){
    if(IsPlayerInRangeOfPoint(playerid, 5, 1410.5369, -1917.2421, 1227.8143)){ // TODO: Рецепшн Университета
        new string[400];
        if(!UniversitetJoin[playerid]){
            strcat(string, "{FFFFFF}Добро пожаловать в Национальный Университет города {0099CC}Лос Сантос\n");
            strcat(string, "{FFFFFF}Все выпускники Университета получают квалификацию {DDDDDD}Младший специалист.\n\n");
            strcat(string, "{FFFFFF}В стенах нашего учебного заведения готовят кадры по специальностям: \n");
            strcat(string, "Правоведение, Полиция, Здравохранение\n");
            strcat(string, "Наши выпускники, могут устроиться в мерию и полицию, министерство здравохранения.\n");
            strcat(string, "{FFFFFF}Желаете ли вы пройти обучение?");
            strcat(string, "{CCCCCC}[!]Получение диплома специалиста, даёт возможность быстрее вступить во фракцию");
            ShowPlayerDialog(playerid, 24001,  DIALOG_STYLE_MSGBOX, "Национальный Университет", string, "Далье", "Не хочу");
        } else {
            string = "{FFFFFF}Забрать документы и покинуть учёбное заведение?";
            ShowPlayerDialog(playerid, 24003,  DIALOG_STYLE_MSGBOX, "Национальный Университет", string, "Да", "Не хочу");
        }
    }
    else if(IsPlayerInRangeOfPoint(playerid, 3, 1388.4946,-1905.4871,1224.9241)){ // TODO: Куратор Университета
        UniversitetKuratorMenu(playerid);
    }
}

Пикап входа:

Код:
{1428.8066,-1917.0264,1227.8778, 90.0} вход в инту(вирт мир 1)
Скачайте, и подключите инклуд " "

Код:
#include "univer.inc"
Запихайте в свою БД данный файл " "​
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу