MarkSchulz
Новичок
Сделал я сток, чтобы сажать игроков, но при вводе команды /jail в консоль сыпятся ошибки(скрин ниже).
Вот код:
Вот код:
PHP:
stock JailPlayer(victim, playerid, jailtime, reason[]) // Сам stock
{
new string1[639], year, month, day, hour, minute, second;
getdate(year, month, day), gettime(hour, minute, second);
GetJail(victim, jJailer) = GetPlayer(playerid, pName);
GetJail(victim, jName) = GetPlayer(playerid, pName);
GetJail(victim, jReason) = reason[50];
GetJail(victim, jJailTime) = gettime() + (jailtime*60);
GetJail(victim, jJailMinutes) = jailtime;
GetJail(victim, jYear) = year;
GetJail(victim, jMonth) = month;
GetJail(victim, jDay) = day;
GetJail(victim, jHour) = hour;
GetJail(victim, jMinute) = minute;
GetJail(victim, jSecond) = second;
GetPlayer(victim, pInJail) = 1;
static const fmt_string1[] = "UPDATE `users` SET injail = '1' WHERE name = '%s' LIMIT 1";
new str1[sizeof(fmt_string1)+1+MAX_PLAYER_NAME];
mysql_format(dbHandle, str1, sizeof(str1), fmt_string1, GetPlayer(victim, pName));
mysql_tquery(dbHandle, str1);
static const fmt_string[] = "INSERT INTO `jaillist` (`jailer`, `name`, `reason`, `minutes`, `jailtime`, `timeleft`, `year`, `month`, `day`, `hour`, `minute`, `second`) VALUE ('%s', '%s', '%s', '%d', '%d', '%d', '%d', '%d', '%d', '%d', '%d', '%d')";
new str[sizeof(fmt_string)+MAX_PLAYER_NAME+MAX_PLAYER_NAME+50+4+10+10+4+2+2+2+2+2];
mysql_format(dbHandle, str, sizeof(str), fmt_string, GetPlayer(playerid, pName), GetPlayer(victim, pName), reason[50], jailtime, GetJail(victim, jJailTime), GetJail(victim, jJailTime), year, month, day, hour, minute, second);
mysql_tquery(dbHandle, str);
GetPlayer(victim, JailTimer) = SetTimerEx("JailTimers", 1000, true, "i", victim);
SetPlayerPos(victim, 1160.7643, 4182.0981, 52.7781+2);
SetPlayerFacingAngle(victim, 68.0790);
SetCameraBehindPlayer(victim);
SetPlayerVirtualWorld(victim, JAIL_VIRT_WORLD);
SetPlayerInterior(victim, 0);
format(string1, sizeof(string1), ""WHITE_COLOR"Вы были посажены в "ADMIN_COLOR"тюрьму"WHITE_COLOR" за нарушение правил сервера.\n");
format(string1, sizeof(string1), "%sСделайте скриншот данного окна "ADMIN_COLOR"(PrtSc)"WHITE_COLOR".\n\n", string1);
format(string1, sizeof(string1), "%sЕсли Вы не согласны с наказанием, то Вы можете подать апелляцию на форум\n", string1);
format(string1, sizeof(string1), "%s"ADMIN_COLOR"(talk.revivalrp.com -> Жалобы -> Жалобы на команду проекта)."ADMIN_COLOR"\n\n", string1);
format(string1, sizeof(string1), "%sИнформация:"ADMIN_COLOR"\n", string1);
format(string1, sizeof(string1), "%s\t* "WHITE_COLOR"Дата выдачи наказания:"ADMIN_COLOR" %d-%02d-%02d %02d:%02d:%02d\n", string1, year, month, day, hour, minute, second);
format(string1, sizeof(string1), "%s\t* "WHITE_COLOR"Срок наказания:"ADMIN_COLOR" %d минут\n", string1, jailtime);
format(string1, sizeof(string1), "%s\t* "WHITE_COLOR"Выдано наказание Администратором:"ADMIN_COLOR" %s\n", string1, GetPlayer(playerid, pName));
format(string1, sizeof(string1), "%s\t* "WHITE_COLOR"Причина наказания:"ADMIN_COLOR" %s", string1, reason[50]);
ShowPlayerDialog(victim, D_NONE, DIALOG_STYLE_MSGBOX, ""ADMIN_COLOR"| "WHITE_COLOR"Информация о наказании(jail)", string1, "Закрыть", "");
}
PHP:
CMD:jail(playerid, params[0]) // Команда
{
if(IsAdmin[playerid] == true)
{
if(GetAdmin(playerid, aLogin) == 0) return SendClientMessage(playerid, -1, ""SILVER_COLOR"[A] Команды Администратора заблокированы. Необходима авторизация: "ADMIN_COLOR"/alogin");
if(GetAdmin(playerid, aAccept) != 1) return SendClientMessage(playerid, -1, ""SILVER_COLOR"[A] У Вас блокировка админ-доступа, "ADMIN_COLOR"/idconfirm"SILVER_COLOR" для подтверждения личности");
}
else
{
printf("");
return 0;
}
if(GetAdmin(playerid, aLevel) >= 5)
{
if(sscanf(params, "dds[50]", params[0], params[1], params[2])) return SendClientMessage(playerid, -1, ""ADMIN_COLOR"* "SILVER_COLOR"Введите: /jail [id игрока] [время 1-2000 / минуты] [причина]");
if(!IsPlayerConnected(params[0])) return SendClientMessage(playerid, -1, ""ERROR_COLOR"* "WHITE_COLOR"Игрока под данным ID нет на сервере");
if(GetPlayer(params[0], pLogged) == false) return SendClientMessage(playerid, -1, ""ERROR_COLOR"*"WHITE_COLOR" Игрок на этапе Авторизации");
if(params[1] > 2000 || params[1] < 1) return SendClientMessage(playerid, -1, ""ERROR_COLOR"* "WHITE_COLOR"Время от 1 до 2000 минуты");
if(GetPlayer(playerid, pInJail) == 1) return SendClientMessage(playerid, -1, ""ERROR_COLOR"*"WHITE_COLOR" Данный игрок уже находится в тюрьме");
JailPlayer(params[0], playerid, params[1], params[2]);
new string[183];
format(string, sizeof(string), ""ERROR_COLOR"Администратор %s посадил в тюрьму игрока %s на %d минут. Причина: %s", GetPlayer(playerid, pName), GetPlayer(params[0], pName), params[1], params[2]);
SendClientMessageToAll(-1, string);
}
return 1;
}
Вложения
-
29.3 KB Просмотры: 37
