samperonline
Умник
помогите разобраться игрок попадает в тюрьму после ареста (когда гос сотрудники убивают игрока в розыске) он попадает в тюрьму и у него начинается лечение
это спавн в больнице
спавн в тюрьме
это код когда игрок попытается выйти с тюрьмы* чтобы возвращало обратно, и выход из тюрьмы
в public OnPlayerDeath(playerid, killerid, reason) проверка на то чтобы лечение небыло
в том же паблике у меня вот это
пробовал следующее
PlayerInfo[playerid][pMestoJail] = 0 не помогло
потом попробовал так
PlayerInfo[playerid][pHospital] = 1;
тоже не помогло
это спавн в больнице
C++:
if(PlayerInfo[playerid][pHospital] == 1)
{
switch(random(5))
{
case 0: SetSpawnInfoEx(playerid, 1379.7363,824.2398,1049.1451,85.3961);
case 1: SetSpawnInfoEx(playerid, 1380.1393,828.2863,1049.1451,92.7083);
case 2: SetSpawnInfoEx(playerid, 1374.0117,829.5414,1049.1451,269.9389);
case 3: SetSpawnInfoEx(playerid, 1374.0439,826.0952,1049.1451,271.3998);
case 4: SetSpawnInfoEx(playerid, 1374.2838,822.7759,1049.1451,273.7418);
}
SetPlayerInteriorEx(playerid, 1);
SetPlayerVirtualWorldEx(playerid, 1);
return true;
}
C++:
if(PlayerInfo[playerid][pJailed])
{
if(PlayerInfo[playerid][pJailed] == 4)
{
SetSpawnInfoEx(playerid, 766.6920,-68.5695,1001.5692, 177.9913);
SetPlayerInteriorEx(playerid, 7);
SetPlayerVirtualWorldEx(playerid, 7);
}
else if(PlayerInfo[playerid][pMestoJail] == 1)
{
SetSpawnInfoEx(playerid, 264.4434,77.4830,1001.0391,270.1890);
SetPlayerInteriorEx(playerid, 6);
}
else if(PlayerInfo[playerid][pMestoJail] == 2)
{
SetSpawnInfoEx(playerid, 264.9435,82.1367,1001.0391,268.4344);
SetPlayerInteriorEx(playerid, 6);
}
else if(PlayerInfo[playerid][pMestoJail] == 3)
{
SetSpawnInfoEx(playerid, 264.9278,86.5297,1001.0391,268.4343);
SetPlayerInteriorEx(playerid, 6);
}
return true;
}
C++:
if(PlayerInfo[i][pJailed] > 0)
{
if(GetPVarInt(i, "AFK_Time") < 2) {
if(!IsPlayerInRangeOfPoint(i,30.0,766.6920,-68.5695,1001.5692) && PlayerInfo[i][pJailed] == 4 && PlayerInfo[i][pMestoJail] == 0)
{
SetPlayerInteriorEx(i, 7);
SetPlayerVirtualWorldEx(i,7);
SetPPos(i,766.6920,-68.5695,1001.5692);
SetPlayerFacingAngle(i, 177.9913);
}
else if(!IsPlayerInRangeOfPoint(i,10.0,264.4434,77.4830,1001.0391) && PlayerInfo[i][pMestoJail] == 1)
{
SetPlayerInteriorEx(i, 6);
SetPPos(i,264.4434,77.4830,1001.0391);
SetPlayerFacingAngle(i, 270.1890);
}
else if(!IsPlayerInRangeOfPoint(i,10.0,264.9435,82.1367,1001.0391) && PlayerInfo[i][pMestoJail] == 2)
{
SetPlayerInteriorEx(i, 6);
SetPPos(i,264.9435,82.1367,1001.0391);
SetPlayerFacingAngle(i,268.4344);
}
else if(!IsPlayerInRangeOfPoint(i,10.0,264.9278,86.5297,1001.0391) && PlayerInfo[i][pMestoJail] == 3)
{
SetPlayerInteriorEx(i, 6);
SetPPos(i,264.9278,86.5297,1001.0391);
SetPlayerFacingAngle(i, 268.4343);
}
}
if(PlayerInfo[i][pJailTime] > 0) PlayerInfo[i][pJailTime]--;
if(PlayerInfo[i][pJailTime] <= 0)
{
if(PlayerInfo[i][pJailed] == 1)
{
if(PlayerInfo[i][pMestoJail] == 1)
{
SetPPos(i,1545.6829,-1675.5331,13.5608);//Выход Тюрьма
SetPlayerFacingAngle(i, 88.2892);
SetPlayerInteriorEx(i, 0);
SetPlayerVirtualWorldEx(i, 0);
GameTextForPlayer(i, "~g~~h~~h~Freedom", 5000, 1);
SendClientMessage(i, C_ISPOLZUY,"Вы заплатили свой долг обществу, теперь вы свободны!");
}
if(PlayerInfo[i][pMestoJail] == 2)
{
SetPPos(i,1545.6829,-1675.5331,13.5608);//Выход Тюрьма
SetPlayerFacingAngle(i, 88.2892);
SetPlayerInteriorEx(i, 0);
SetPlayerVirtualWorldEx(i, 0);
GameTextForPlayer(i, "~g~~h~~h~Freedom", 5000, 1);
SendClientMessage(i, C_ISPOLZUY,"Вы заплатили свой долг обществу, теперь вы свободны!");
}
if(PlayerInfo[i][pMestoJail] == 3)
{
SetPPos(i,1545.6829,-1675.5331,13.5608);//Выход Тюрьма
SetPlayerFacingAngle(i, 88.2892);
SetPlayerInteriorEx(i, 0);
SetPlayerVirtualWorldEx(i, 0);
GameTextForPlayer(i, "~g~~h~~h~Freedom", 5000, 1);
SendClientMessage(i, C_ISPOLZUY,"Вы заплатили свой долг обществу, теперь вы свободны!");
}
}
else if(PlayerInfo[i][pJailed] == 4)
{
SetPPos(i,1545.6829,-1675.5331,13.5608);//Выход Тюрьма
SetPlayerFacingAngle(i, 88.2892);
SetPlayerInteriorEx(i, 0);
SetPlayerVirtualWorldEx(i, 0);
SendClientMessage(i, 0x33CC00AA,"Вы вышли из деморгана");
}
PlayerInfo[i][pJailTime] = 0;
PlayerInfo[i][pJailed] = 0;
PlayerInfo[i][pMestoJail] = 0;
PlayerInfo[i][pWanted] = 0;
SetPlayerWantedLevel(i, 0);
SetPlayerToTeamColor(i);
}
}
C++:
if(PlayerInfo[playerid][pMember] == 0 && PlayerInfo[playerid][pLeader] == 0 && TeamPain[playerid] == 0 && PlayerInfo[playerid][pJailed] == 0 && gPlayerSpawnCamper[playerid] == 0 && !GetPVarInt(playerid, "on_dmarena")) PlayerInfo[playerid][pHospital] = 1;
в том же паблике у меня вот это
C++:
if(PlayerInfo[playerid][pWanted] > 0 && killerid != INVALID_PLAYER_ID && IsACop(killerid) && TeamPain[playerid] == 0 && !GetPVarInt(playerid, "on_dmarena"))
{
if(PlayerInfo[killerid][pMember] == 1) PlayerInfo[playerid][pMestoJail] = 1;
else if(PlayerInfo[killerid][pMember] == 2) PlayerInfo[playerid][pMestoJail] = 2;
PlayerInfo[playerid][pJailTime] = (PlayerInfo[playerid][pWanted]*600);
SendMes(playerid,COLOR_ORANGE, "Вы посажены в тюрьму на %i секунд!",(PlayerInfo[playerid][pWanted]*600));
SendMes(killerid,C_BLUE, "Вы посадили преступника на %i секунд!",(PlayerInfo[playerid][pWanted]*600));
GiveMoney(killerid, 1);
PlayerInfo[playerid][pCash]-=PlayerInfo[playerid][pWanted];
format(stringer1, sizeof(stringer1), "~r~-$%i", PlayerInfo[playerid][pWanted]);
GameTextForPlayer(playerid, stringer1, 5000, 1);
PlayerInfo[playerid][pWanted] = 0;
PlayerInfo[playerid][pJailed] = 1;
SetPlayerWantedLevel(playerid,0);
SetPlayerHealthAC(playerid, 100.0);
ResetWeapons(playerid);
}
PlayerInfo[playerid][pMestoJail] = 0 не помогло
C++:
if(PlayerInfo[playerid][pMember] == 0 && PlayerInfo[playerid][pLeader] == 0 && PlayerInfo[playerid][pMestoJail] = 0 && TeamPain[playerid] == 0 && PlayerInfo[playerid][pJailed] == 0 && gPlayerSpawnCamper[playerid] == 0 && !GetPVarInt(playerid, "on_dmarena")) PlayerInfo[playerid][pHospital] = 1;
потом попробовал так
PlayerInfo[playerid][pHospital] = 1;
тоже не помогло
C++:
if(PlayerInfo[playerid][pWanted] > 0 && killerid != INVALID_PLAYER_ID && IsACop(killerid) && TeamPain[playerid] == 0 && !GetPVarInt(playerid, "on_dmarena")) PlayerInfo[playerid][pHospital] = 1;
{
if(PlayerInfo[killerid][pMember] == 1) PlayerInfo[playerid][pMestoJail] = 1;
else if(PlayerInfo[killerid][pMember] == 2) PlayerInfo[playerid][pMestoJail] = 2;
PlayerInfo[playerid][pJailTime] = (PlayerInfo[playerid][pWanted]*600);
SendMes(playerid,COLOR_ORANGE, "Вы посажены в тюрьму на %i секунд!",(PlayerInfo[playerid][pWanted]*600));
SendMes(killerid,C_BLUE, "Вы посадили преступника на %i секунд!",(PlayerInfo[playerid][pWanted]*600));
GiveMoney(killerid, 1);
PlayerInfo[playerid][pCash]-=PlayerInfo[playerid][pWanted];
format(stringer1, sizeof(stringer1), "~r~-$%i", PlayerInfo[playerid][pWanted]);
GameTextForPlayer(playerid, stringer1, 5000, 1);
PlayerInfo[playerid][pWanted] = 0;
PlayerInfo[playerid][pJailed] = 1;
SetPlayerWantedLevel(playerid,0);
SetPlayerHealthAC(playerid, 100.0);
ResetWeapons(playerid);
}
Последнее редактирование:
