[P]remi[O]
Умник
Когда законник убивает игрока с розыском то игрок у которого был розыск не садится в тюрьму,помогите исправить.
PHP:
public OnPlayerDeath(playerid, killerid, reason)
PHP:
if(victimteam >= 4)
{
if(IsPlayerConnected(killerid))
{
new slice = 100; //$100
playercash = GetPlayerMoney(playerid);
if(gTeam[killerid] != 2) { WantedPoints[killerid] += 2; } //+ 2 wanted points
if(SafeTime[playerid] <= 0)
{
if(gTeam[killerid] != gTeam[playerid])
{
if(GetPlayerState(killerid) == 1) PlayerInfo[killerid][pKills] = PlayerInfo[killerid][pKills] + 2;
else PlayerInfo[killerid][pKills]++;
PlayerInfo[playerid][pKills]--;
}
}
if(((gTeam[killerid]) == 1) || ((gTeam[killerid]) == 3 && civnokill) || (gTeam[killerid] == gTeam[playerid] && gTeam[playerid] != 4)) slice = 0;
if(((gTeam[killerid]) != 4) && ((gTeam[killerid]) == gTeam[playerid])) slice = 0;
if(playercash > 0) GivePlayerMoney(playerid, -slice);
else slice = slice+500;
GivePlayerMoney(killerid, slice);
PlayerPlaySound(killerid, 1083, 0.0, 0.0, 0.0);
if(((gTeam[killerid]) == 3) && reason != 49) SetPlayerCriminal(killerid,255, "Убийство первой степени.");
else if(((gTeam[killerid]) == 3) && reason == 49) SetPlayerCriminal(killerid,255, "Ударить и убежать.");
}
}
else if(victimteam == 2)
{
if(IsPlayerConnected(killerid))
{
PlayerInfo[playerid][pKills]--;
if(gTeam[killerid] == 2)//cops kill cop
{
PlayerPlaySound(killerid, 1084, 0.0, 0.0, 0.0);
GivePlayerMoney(killerid, -suecost);
GivePlayerMoney(playerid, suecost+100);//+100pays hospital bill
}
else { }
if(gTeam[killerid] >= 3)
{
WantedPoints[killerid] += 2; //+ 2 wanted points
if(reason != 49) SetPlayerCriminal(killerid,255, "Убийство первой степени");
else if(reason == 49) SetPlayerCriminal(killerid,255, "Ударить и убежать.");
}
if(gTeam[killerid] >= 5 && SafeTime[playerid] <= 0)
{
if(GetPlayerState(killerid) == 1) PlayerInfo[killerid][pKills] = PlayerInfo[killerid][pKills]+2;
else PlayerInfo[killerid][pKills]++;
WantedPoints[killerid]+=2;
}
}
}
else if(victimteam == 3)
{
if(IsPlayerConnected(killerid))
{
if((gTeam[killerid]) == 2)//cops kill civ
{
if(WantedLevel[playerid] < 1)
{
PlayerPlaySound(killerid, 1084, 0.0, 0.0, 0.0);
GivePlayerMoney(killerid, -suecost);
GivePlayerMoney(playerid, suecost+100);//+100pays hospital bill
}
}
else WantedPoints[killerid] += 2;
if(((gTeam[killerid]) >= 3 || (gTeam[killerid]) == 1) && reason != 49) SetPlayerCriminal(killerid,255, "Убийство первой степени");
else if(((gTeam[killerid]) >= 3 || (gTeam[killerid]) == 1) && reason == 49) SetPlayerCriminal(killerid,255, "Ударить и убежать.");
}
}
else if(victimteam == 1)
{
if(IsPlayerConnected(killerid))
{
if((gTeam[killerid]) == 2)//cops kill civ
{
PlayerPlaySound(killerid, 1084, 0.0, 0.0, 0.0);
GivePlayerMoney(killerid, -suecost);
GivePlayerMoney(playerid, suecost+100);//+100pays hospital bill
}
else if((gTeam[killerid]) == 1)//med kill civ
{
PlayerPlaySound(killerid, 1084, 0.0, 0.0, 0.0);
GivePlayerMoney(killerid, -suecost);
GivePlayerMoney(playerid, suecost+100);//+100pays hospital bill
}
else { }
if(((gTeam[killerid]) == 4) && reason != 49) SetPlayerCriminal(killerid,255, "Убийство первой степени");
else if(((gTeam[killerid]) == 3) && reason == 49) SetPlayerCriminal(killerid,255, "Ударить и убежать.");
}
}
if(victimteam >= 3 && WantedPoints[playerid] > 0 && killerteam == 2) SetPlayerFree(playerid,killerid, "Был убит.");
killerid = INVALID_PLAYER_ID;
SetPlayerColor(playerid,COLOR_GRAD2);
return 1;
}
PHP:
stock SetPlayerCriminal(playerid,declare,reason
PHP:
stock SetPlayerCriminal(playerid,declare,reason[])
{
if(IsPlayerConnected(playerid))
{
PlayerInfo[playerid][pCrimes] += 1;
new points = WantedPoints[playerid];
new turned[MAX_PLAYER_NAME];
new turner[MAX_PLAYER_NAME];
new turnmes[128];
new wantedmes[128];
new wlevel;
strmid(PlayerCrime[playerid][pAccusedof], reason, 0, strlen(reason), 255);
GetPlayerName(playerid, turned, sizeof(turned));
if(declare == 255)
{
format(turner, sizeof(turner), "Неизвестно");
strmid(PlayerCrime[playerid][pVictim], turner, 0, strlen(turner), 255);
}
else
{
if(IsPlayerConnected(declare))
{
GetPlayerName(declare, turner, sizeof(turner));
strmid(PlayerCrime[playerid][pVictim], turner, 0, strlen(turner), 255);
strmid(PlayerCrime[declare][pBplayer], turned, 0, strlen(turned), 255);
strmid(PlayerCrime[declare][pAccusing], reason, 0, strlen(reason), 255);
}
}
format(turnmes, sizeof(turnmes), "Вас подали в розыск( %s ). Причина: %s.",reason,turner);
send(playerid, COLOR_LIGHTRED, turnmes);
if(points > 0)
{
new yesno;
if(points == 3) { if(WantedLevel[playerid] != 1) { WantedLevel[playerid] = 1; wlevel = 1; yesno = 1; } }
else if(points >= 4 && points <= 5) { if(WantedLevel[playerid] != 2) { WantedLevel[playerid] = 2; wlevel = 2; yesno = 1; } }
else if(points >= 6 && points <= 7) { if(WantedLevel[playerid] != 3) { WantedLevel[playerid] = 3; wlevel = 3; yesno = 1; } }
else if(points >= 8 && points <= 9) { if(WantedLevel[playerid] != 4) { WantedLevel[playerid] = 4; wlevel = 4; yesno = 1; } }
else if(points >= 10 && points <= 11) { if(WantedLevel[playerid] != 5) { WantedLevel[playerid] = 5; wlevel = 5; yesno = 1; } }
else if(points >= 12 && points <= 13) { if(WantedLevel[playerid] != 6) { WantedLevel[playerid] = 6; wlevel = 6; yesno = 1; } }
else if(points >= 14) { if(WantedLevel[playerid] != 10) { WantedLevel[playerid] = 10; wlevel = 10; yesno = 1; } }
if(WantedLevel[playerid] >= 1) { if(gTeam[playerid] == 3) { gTeam[playerid] = 4; } }
if(yesno)
{
format(wantedmes, sizeof(wantedmes), "Текущий уровень розыска: %d", wlevel);
send(playerid, COLOR_YELLOW, wantedmes);
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(PlayerInfo[i][pMember] == 1||PlayerInfo[i][pLeader] == 1)
{
format(cbjstore, sizeof(turnmes), "HQ: All Units APB: Reporter: %s",turner);
send(i, 0x8D8DFF00, cbjstore);
format(cbjstore, sizeof(turnmes), "HQ: Crime: %s, Suspect: %s",reason,turned);
send(i, 0x8D8DFF00, cbjstore);
}
}
}
}
}
}
}
Последнее редактирование:
