Sharki
Новичок
Здравствуйте, заметил проблему с CMD:arrest. Вся система ареста игроков работает нормально, только, после того как игрок был посажен за решётку с помощью команды /arrest, при перезаходе игрока на сервер - он появляется не в тюрьме, а на спавне/доме.
Помогите решить проблему, спасибо!
Помогите решить проблему, спасибо!
PHP:
CMD:arrest(playerid, params[])
{
if(IsCop(playerid) || player[playerid][pmember] == 4 && member_form{playerid} == true)
{
if(sscanf(params,"i", params[0])) return
SCM(playerid, COLOR_YELLOW, !"[ПОДСКАЗКА]: {FFFFFF}Введите команду /arrest [ID]");
if(!IsPlayerConnected(params[0]))
{
PlayerPlaySound(playerid, 31203, 0.0, 0.0, 0.0);
SCM(playerid, COLOR_RED, !"[ОШИБКА]: {B4B4B4}Игрок не найден!");
return true;
}
if(login_check{params[0]} == false)
{
PlayerPlaySound(playerid, 31203, 0.0, 0.0, 0.0);
SCM(playerid, COLOR_RED, !"[ОШИБКА]: {B4B4B4}Игрок не авторизован!");
return true;
}
if(params[0] == playerid)
{
PlayerPlaySound(playerid, 31203, 0.0, 0.0, 0.0);
SCM(playerid, COLOR_RED, !"[ОШИБКА]: {B4B4B4}Вы указали свой ID!");
return true;
}
if(player[params[0]][pwanted] == 0)
{
PlayerPlaySound(playerid, 31203, 0.0, 0.0, 0.0);
SCM(playerid, COLOR_RED, "[ОШИБКА]: {B4B4B4}Игрок должен находиться в розыске!");
return true;
}
if(plot_check{params[0]} == false)
{
PlayerPlaySound(playerid, 31203, 0.0, 0.0, 0.0);
SCM(playerid, COLOR_RED, "[ОШИБКА]: {B4B4B4}Игрок не числится в списке подозреваемых!");
return true;
}
if(GetDistanceBetweenPlayers(playerid, params[0]) > 7.0)
{
PlayerPlaySound(playerid, 31203, 0.0, 0.0, 0.0);
SCM(playerid, COLOR_RED, !"[ОШИБКА]: {B4B4B4}Игрок далеко от вас!");
return true;
}
switch(player[playerid][pmember])
{
case 1:
{
if(!IsPlayerInRangeOfPoint(playerid, 30.0, 247.0862,79.2242,1003.6406))
{
PlayerPlaySound(playerid, 31203, 0.0, 0.0, 0.0);
SCM(playerid, COLOR_RED, "[ОШИБКА]: {B4B4B4}Вы не в полицейском участке!");
return true;
}
SetPlayerPos(params[0], 264.1721,77.7296,1001.0391);
SetPlayerFacingAngle(params[0], 269.3602);
Freeze(params[0], 1);
SetPlayerWantedLevel(params[0], 0);
switch(player[params[0]][pwanted])
{
case 1: player[params[0]][parrest_time] = 1200;
case 2: player[params[0]][parrest_time] = 2400;
case 3: player[params[0]][parrest_time] = 3600;
case 4: player[params[0]][parrest_time] = 4800;
case 5: player[params[0]][parrest_time] = 6000;
case 6: player[params[0]][parrest_time] = 7200;
}
SavePlayer(params[0], "Arrest Time", player[params[0]][parrest_time], "d");
if(follow_id[playerid] == params[0])
{
follow_id[playerid] = -1;
follow_id[params[0]] = -1;
GameTextForPlayer(params[0],"~g~unfollow", 5000, 3);
GameTextForPlayer(playerid,"~g~unfollow", 5000, 3);
plot_check{params[0]} = false;
follow_check{params[0]} = false;
TogglePlayerControllable(params[0], 1);
KillTimer(follow_timer[params[0]]);
}
player[params[0]][pwanted] = 0;
SetCameraBehindPlayer(params[0]);
SetPlayerSpecialAction(params[0],SPECIAL_ACTION_NONE);
RemovePlayerAttachedObject(params[0], 0);
handcuffs_check{params[0]} = false;
plot_check{params[0]} = false;
PlayerTextDrawShow(params[0], shelf_time_td[params[0]]);
jail_timer[params[0]] = SetTimerEx("@_UnArrestTimer", 1000, false, "i", params[0]);
static const fmt_str_50[] = "%s заключён под стражу сотрудником полиции %s";
new string_50[sizeof(fmt_str_50)+MAX_PLAYER_NAME*2-3];
format(string_50, sizeof(string_50), fmt_str_50
,
GN(params[0]),
GN(playerid)
);
MembersCop(0xFF5252FF, string_50);
}
case 2:
{
if(!IsPlayerInRangeOfPoint(playerid, 30.0, 219.5400,109.9767,999.0156))
{
PlayerPlaySound(playerid, 31203, 0.0, 0.0, 0.0);
SCM(playerid, COLOR_RED, "[ОШИБКА]: {B4B4B4}Вы не в полицейском участке!");
return true;
}
SetPlayerPos(params[0], 214.9153,109.5791,999.0156);
SetPlayerFacingAngle(params[0], 1.2141);
Freeze(params[0], 1);
SetPlayerWantedLevel(params[0], 0);
switch(player[params[0]][pwanted])
{
case 1: player[params[0]][parrest_time] = 1200;
case 2: player[params[0]][parrest_time] = 2400;
case 3: player[params[0]][parrest_time] = 3600;
case 4: player[params[0]][parrest_time] = 4800;
case 5: player[params[0]][parrest_time] = 6000;
case 6: player[params[0]][parrest_time] = 7200;
}
SavePlayer(params[0], "Arrest Time", player[params[0]][parrest_time], "d");
if(follow_id[playerid] == params[0])
{
follow_id[playerid] = -1;
follow_id[params[0]] = -1;
GameTextForPlayer(params[0],"~g~unfollow", 5000, 3);
GameTextForPlayer(playerid,"~g~unfollow", 5000, 3);
plot_check{params[0]} = false;
follow_check{params[0]} = false;
TogglePlayerControllable(params[0], 1);
KillTimer(follow_timer[params[0]]);
}
player[params[0]][pwanted] = 0;
SetCameraBehindPlayer(params[0]);
SetPlayerSpecialAction(params[0],SPECIAL_ACTION_NONE);
RemovePlayerAttachedObject(params[0], 0);
handcuffs_check{params[0]} = false;
plot_check{params[0]} = false;
PlayerTextDrawShow(params[0], shelf_time_td[params[0]]);
jail_timer[params[0]] = SetTimerEx("@_UnArrestTimer", 1000, false, "i", params[0]);
static const fmt_str_50[] = "%s заключён под стражу сотрудником полиции %s";
new string_50[sizeof(fmt_str_50)+MAX_PLAYER_NAME*2-3];
format(string_50, sizeof(string_50), fmt_str_50
,
GN(params[0]),
GN(playerid)
);
MembersCop(0xFF5252FF, string_50);
}
case 3:
{
if(!IsPlayerInRangeOfPoint(playerid, 30.0, 198.3940,157.9389,1003.0234))
{
PlayerPlaySound(playerid, 31203, 0.0, 0.0, 0.0);
SCM(playerid, COLOR_RED, "[ОШИБКА]: {B4B4B4}Вы не в полицейском участке!");
return true;
}
SetPlayerPos(params[0], 197.5288,174.8450,1003.0234);
SetPlayerFacingAngle(params[0], 357.7671);
Freeze(params[0], 1);
SetPlayerWantedLevel(params[0], 0);
switch(player[params[0]][pwanted])
{
case 1: player[params[0]][parrest_time] = 1200;
case 2: player[params[0]][parrest_time] = 2400;
case 3: player[params[0]][parrest_time] = 3600;
case 4: player[params[0]][parrest_time] = 4800;
case 5: player[params[0]][parrest_time] = 6000;
case 6: player[params[0]][parrest_time] = 7200;
}
SavePlayer(params[0], "Arrest Time", player[params[0]][parrest_time], "d");
if(follow_id[playerid] == params[0])
{
follow_id[playerid] = -1;
follow_id[params[0]] = -1;
GameTextForPlayer(params[0],"~g~unfollow", 5000, 3);
GameTextForPlayer(playerid,"~g~unfollow", 5000, 3);
plot_check{params[0]} = false;
follow_check{params[0]} = false;
TogglePlayerControllable(params[0], 1);
KillTimer(follow_timer[params[0]]);
}
player[params[0]][pwanted] = 0;
SetCameraBehindPlayer(params[0]);
SetPlayerSpecialAction(params[0],SPECIAL_ACTION_NONE);
RemovePlayerAttachedObject(params[0], 0);
handcuffs_check{params[0]} = false;
plot_check{params[0]} = false;
PlayerTextDrawShow(params[0], shelf_time_td[params[0]]);
jail_timer[params[0]] = SetTimerEx("@_UnArrestTimer", 1000, false, "i", params[0]);
static const fmt_str_50[] = "%s заключён под стражу сотрудником полиции %s";
new string_50[sizeof(fmt_str_50)+MAX_PLAYER_NAME*2-3];
format(string_50, sizeof(string_50), fmt_str_50
,
GN(params[0]),
GN(playerid)
);
MembersCop(0xFF5252FF, string_50);
}
case 4:
{
if(!IsPlayerInRangeOfPoint(playerid, 20.0, 198.4007,179.1959,1003.0308))
{
PlayerPlaySound(playerid, 31203, 0.0, 0.0, 0.0);
SCM(playerid, COLOR_RED, "[ОШИБКА]: {B4B4B4}Вы не в федеральном участке!");
return true;
}
SetPlayerPos(params[0], 197.5288,174.8450,1003.0234);
SetPlayerFacingAngle(params[0], 357.7671);
Freeze(params[0], 1);
SetPlayerWantedLevel(params[0], 0);
switch(player[params[0]][pwanted])
{
case 1: player[params[0]][parrest_time] = 1200;
case 2: player[params[0]][parrest_time] = 2400;
case 3: player[params[0]][parrest_time] = 3600;
case 4: player[params[0]][parrest_time] = 4800;
case 5: player[params[0]][parrest_time] = 6000;
case 6: player[params[0]][parrest_time] = 7200;
}
SavePlayer(params[0], "Arrest Time", player[params[0]][parrest_time], "d");
player[params[0]][pwanted] = 0;
SetCameraBehindPlayer(params[0]);
SetPlayerSpecialAction(params[0],SPECIAL_ACTION_NONE);
RemovePlayerAttachedObject(params[0], 0);
handcuffs_check{params[0]} = false;
plot_check{params[0]} = false;
PlayerTextDrawShow(params[0], shelf_time_td[params[0]]);
jail_timer[params[0]] = SetTimerEx("@_UnArrestTimer", 1000, false, "i", params[0]);
static const fmt_str_50[] = "%s заключён под стражу сотрудником FBI %s";
new string_50[sizeof(fmt_str_50)+MAX_PLAYER_NAME*2-3];
format(string_50, sizeof(string_50), fmt_str_50
,
GN(params[0]),
GN(playerid)
);
MembersCop(0xFF5252FF, string_50);
}
}
}
else
{
PlayerPlaySound(playerid, 31203, 0.0, 0.0, 0.0);
SCM(playerid, COLOR_RED, !"[ОШИБКА]: {B4B4B4}Вы не уполномочены использовать данную команду!");
return true;
}
return true;
}
