14\88
Новичок
Добрый вечер господа! Вылаживаю вам свою систему университета Mysql r31, делайте под свой. Хейтеры лесом:ay:.
Создаем переменные:
Ко всем командам:
Позже закину на dc_cmd
В конец мода:
СКРИНШОТЫ ВОТ:
Залил на RGHOT т.к интернет портит качество, и ничего не видно. "
Залил на 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"
Чтобы видеть скрытое содержание Зарегистрируйтесь на форуме!
"
Последнее редактирование:
