[Ajuda] Urgente Sistema de Prisгo
#1

Eai Galera, to precisando refazer uma funзгo da minha gm, por exemplo, ela faz com que os players procurados mortos por policias Bope = pBope, PMERJ = pPMERJ e Exercito = pEXERCITO, sejam mandados para cadeia, mais antes funcionava de boas e quando o player morria com 7 estrelas ele ia para o presidio ao contrario ele ia para celas dos interiores das DP, atualmente eu coloquei um presidio na gm, e gostaria de que todos os players fossem direto para o presidio.

Quote:

if(IsPlayerConnected(playerid) && IsPlayerConnected(killerid))
{
if(Player[playerid][pProcurado] >= 1)
{
if(Player[killerid][pPMERJ] >= 1)
{
if(EmTrabalho[killerid] == 1)
{
if(Player[playerid][pPresoPMERJ] >= 1)
{
return 1;
}
GameTextForPlayer(playerid, "~r~Preso!", 2500, 3);
GameTextForPlayer(killerid, "~r~Suspeito abatido!", 2500, 3);
GivePlayerMoney(killerid, 100);
SetPlayerWantedLevel(playerid, 0);
format(string, sizeof(string), "<< O procurado da justiзa %s foi preso pelo Polнcial %s >>", getPName(playerid), getPName(killerid));
SendClientMessageToAll(COR_NEGATIVO,string);

if(Player[playerid][pProcurado] >= 7)
{
Player[playerid][pPresoPMERJ] = 1;
format(string, sizeof(string), "{FF0000}HQ: Todas as unidades: Polнcial {ffffff}%s{FF0000} completou uma sessгo.", getPName(killerid));
SendMessageToCops(COR_ABATIDO, string);
format(string, sizeof(string), "{FF0000}HQ: {ffffff}%s{FF0000} foi Capturado e foi Preso no Presidio.", getPName(playerid));
SendMessageToCops(COR_ABATIDO, string);
Player[playerid][pMaconha] = 0;
Player[playerid][pCocaina] = 0;
Player[playerid][pBalinha] = 0;
Player[playerid][pLanca] = 0;
}
else
{
Player[playerid][pPresoPMERJ] = 1;
format(string, sizeof(string), "{FF0000}HQ: Todas as unidades: Polнcial {ffffff}%s{FF0000} completou uma sessгo.", getPName(killerid));
SendMessageToCops(COR_ABATIDO, string);
format(string, sizeof(string), "{FF0000}HQ: {ffffff}%s{FF0000} foi Capturado e foi Preso no Presidio.", getPName(playerid));
SendMessageToCops(COR_ABATIDO, string);
Player[playerid][pMaconha] = 0;
Player[playerid][pCocaina] = 0;
Player[playerid][pBalinha] = 0;
Player[playerid][pLanca] = 0;
}

if(Player[playerid][pProcurado] == 1){Player[playerid][pTempoPreso] = 180;}
if(Player[playerid][pProcurado] == 2){Player[playerid][pTempoPreso] = 240;}
if(Player[playerid][pProcurado] == 3){Player[playerid][pTempoPreso] = 300;}
if(Player[playerid][pProcurado] == 4){Player[playerid][pTempoPreso] = 400;}
if(Player[playerid][pProcurado] == 5){Player[playerid][pTempoPreso] = 500;}
if(Player[playerid][pProcurado] >= 6){Player[playerid][pTempoPreso] = 900;}
Player[playerid][pProcurado] = 0;

if(Player[killerid][pEXERCITO] >= 1){ TotalDinheiroApreendido[1] += GetPlayerMoney(playerid); TotalPrisoes[1] ++; }
else if(Player[killerid][pBOPE] >= 1){ TotalDinheiroApreendido[2] += GetPlayerMoney(playerid); TotalPrisoes[2] ++; }
else if(Player[killerid][pPMERJ] >= 1){ TotalDinheiroApreendido[3] += GetPlayerMoney(playerid); TotalPrisoes[3] ++; }
SalvarDadosOrgsCops();
}
}
if(Player[killerid][pBOPE] >= 1)
{
if(EmTrabalho[killerid] == 1)
{
if(Player[playerid][pPresoBOPE] >= 1)
{
return 1;
}
GameTextForPlayer(playerid, "~r~Preso!", 2500, 3);
GameTextForPlayer(killerid, "~r~Suspeito abatido!", 2500, 3);
GivePlayerMoney(killerid, 100);
SetPlayerWantedLevel(playerid, 0);
format(string, sizeof(string), "<< O procurado da justiзa %s foi preso pelo Polнcial %s >>", getPName(playerid), getPName(killerid));
SendClientMessageToAll(COR_NEGATIVO,string);

if(Player[playerid][pProcurado] >= 7)
{
Player[playerid][pPresoBOPE] = 1;
format(string, sizeof(string), "{FF0000}HQ: Todas as unidades: Polнcial {ffffff}%s{FF0000} completou uma sessгo.", getPName(killerid));
SendMessageToCops(COR_ABATIDO, string);
format(string, sizeof(string), "{FF0000}HQ: {ffffff}%s{FF0000} foi Capturado e foi Preso no Presidio.", getPName(playerid));
SendMessageToCops(COR_ABATIDO, string);
Player[playerid][pMaconha] = 0;
Player[playerid][pCocaina] = 0;
Player[playerid][pBalinha] = 0;
Player[playerid][pLanca] = 0;
}
else
{
Player[playerid][pPresoBOPE] = 1;
format(string, sizeof(string), "{FF0000}HQ: Todas as unidades: Polнcial {ffffff}%s{FF0000} completou uma sessгo.", getPName(killerid));
SendMessageToCops(COR_ABATIDO, string);
format(string, sizeof(string), "{FF0000}HQ: {ffffff}%s{FF0000} foi Capturado e foi Preso no Presidio.", getPName(playerid));
SendMessageToCops(COR_ABATIDO, string);
Player[playerid][pMaconha] = 0;
Player[playerid][pCocaina] = 0;
Player[playerid][pBalinha] = 0;
Player[playerid][pLanca] = 0;
}

if(Player[playerid][pProcurado] == 1){Player[playerid][pTempoPreso] = 180;}
if(Player[playerid][pProcurado] == 2){Player[playerid][pTempoPreso] = 240;}
if(Player[playerid][pProcurado] == 3){Player[playerid][pTempoPreso] = 300;}
if(Player[playerid][pProcurado] == 4){Player[playerid][pTempoPreso] = 400;}
if(Player[playerid][pProcurado] == 5){Player[playerid][pTempoPreso] = 500;}
if(Player[playerid][pProcurado] >= 6){Player[playerid][pTempoPreso] = 900;}
Player[playerid][pProcurado] = 0;

if(Player[killerid][pEXERCITO] >= 1){ TotalDinheiroApreendido[1] += GetPlayerMoney(playerid); TotalPrisoes[1] ++; }
else if(Player[killerid][pBOPE] >= 1){ TotalDinheiroApreendido[2] += GetPlayerMoney(playerid); TotalPrisoes[2] ++; }
else if(Player[killerid][pPMERJ] >= 1){ TotalDinheiroApreendido[3] += GetPlayerMoney(playerid); TotalPrisoes[3] ++; }
SalvarDadosOrgsCops();
}
}
if(Player[killerid][pEXERCITO] >= 1)
{
if(EmTrabalho[killerid] == 1)
{
if(Player[playerid][pPresoEXC] >= 1)
{
return 1;
}
GameTextForPlayer(playerid, "~r~Preso!", 2500, 3);
GameTextForPlayer(killerid, "~r~Suspeito abatido!", 2500, 3);
GivePlayerMoney(killerid, 100);
SetPlayerWantedLevel(playerid, 0);
format(string, sizeof(string), "<< O procurado da justiзa %s foi preso pelo Polнcial %s >>", getPName(playerid), getPName(killerid));
SendClientMessageToAll(COR_NEGATIVO,string);

if(Player[playerid][pProcurado] >= 7)
{
Player[playerid][pPresoEXC] = 1;
format(string, sizeof(string), "{FF0000}HQ: Todas as unidades: Polнcial {ffffff}%s{FF0000} completou uma sessгo.", getPName(killerid));
SendMessageToCops(COR_ABATIDO, string);
format(string, sizeof(string), "{FF0000}HQ: {ffffff}%s{FF0000} foi Capturado e foi Preso no Presidio..", getPName(playerid));
SendMessageToCops(COR_ABATIDO, string);
Player[playerid][pMaconha] = 0;
Player[playerid][pCocaina] = 0;
Player[playerid][pBalinha] = 0;
Player[playerid][pLanca] = 0;
}
else
{
Player[playerid][pPresoEXC] = 1;
format(string, sizeof(string), "{FF0000}HQ: Todas as unidades: Polнcial {ffffff}%s{FF0000} completou uma sessгo.", getPName(killerid));
SendMessageToCops(COR_ABATIDO, string);
format(string, sizeof(string), "{FF0000}HQ: {ffffff}%s{FF0000} foi Capturado e foi Preso no Presidio.", getPName(playerid));
SendMessageToCops(COR_ABATIDO, string);
Player[playerid][pMaconha] = 0;
Player[playerid][pCocaina] = 0;
Player[playerid][pBalinha] = 0;
Player[playerid][pLanca] = 0;
}

if(Player[playerid][pProcurado] == 1){Player[playerid][pTempoPreso] = 180;}
if(Player[playerid][pProcurado] == 2){Player[playerid][pTempoPreso] = 240;}
if(Player[playerid][pProcurado] == 3){Player[playerid][pTempoPreso] = 300;}
if(Player[playerid][pProcurado] == 4){Player[playerid][pTempoPreso] = 400;}
if(Player[playerid][pProcurado] == 5){Player[playerid][pTempoPreso] = 500;}
if(Player[playerid][pProcurado] >= 6){Player[playerid][pTempoPreso] = 900;}
Player[playerid][pProcurado] = 0;

if(Player[killerid][pEXERCITO] >= 1){ TotalDinheiroApreendido[1] += GetPlayerMoney(playerid); TotalPrisoes[1] ++; }
else if(Player[killerid][pBOPE] >= 1){ TotalDinheiroApreendido[2] += GetPlayerMoney(playerid); TotalPrisoes[2] ++; }
else if(Player[killerid][pPMERJ] >= 1){ TotalDinheiroApreendido[3] += GetPlayerMoney(playerid); TotalPrisoes[3] ++; }
SalvarDadosOrgsCops();
}
}
}
}

Eu troquei as coordenadas para onde eles iam quando tava com poucas estrelas no caso - de 7 e coloquei as do presidio, mais hoje fui testar com um amigo e percebi que quando vc e preso e depois solto, n pode ser preso de novo vc simplesmente vai pro hospital mesmo sendo morto por policiais.
Quote:

//================================================== ============================//
if(Player[playerid][pPresoPMERJ] == 1)
{
new randcela = random(sizeof(CelaPMERJ));
SetPlayerPos(playerid, CelaPMERJ[randcela][0],CelaPMERJ[randcela][1], CelaPMERJ[randcela][2]);
SetPlayerInterior(playerid, 0);
Player[playerid][InHospital] = false;
SendClientMessage(playerid, COR_NEGATIVO, "LOG- Vocк estб preso. Digite /presos para saber o tempo restante.");
SetPlayerSpecialAction(playerid, SPECIAL_ACTION_CUFFED);
SetPlayerTeam(playerid, 1);
return 1;
}
//================================================== ============================//
if(Player[playerid][pPresoBOPE] == 1)
{
new randcela = random(sizeof(CelaBOPE));
SetPlayerPos(playerid, CelaBOPE[randcela][0],CelaBOPE[randcela][1], CelaBOPE[randcela][2]);
SetPlayerInterior(playerid, 0);
Player[playerid][InHospital] = false;
SendClientMessage(playerid, COR_NEGATIVO, "LOG- Vocк estб preso. Digite /presos para saber o tempo restante.");
SetPlayerSpecialAction(playerid, SPECIAL_ACTION_CUFFED);
SetPlayerTeam(playerid, 1);
return 1;
}
//================================================== ============================//
if(Player[playerid][pPresoEXC] == 1)
{
new randcela = random(sizeof(CelaEXC));
SetPlayerPos(playerid, CelaEXC[randcela][0],CelaEXC[randcela][1], CelaEXC[randcela][2]);
SetPlayerInterior(playerid, 0);
Player[playerid][InHospital] = false;
SendClientMessage(playerid, COR_NEGATIVO, "LOG- Vocк estб preso. Digite /presos para saber o tempo restante.");
SetPlayerSpecialAction(playerid, SPECIAL_ACTION_CUFFED);
SetPlayerTeam(playerid, 1);
return 1;
}
//================================================== ============================//

Reply
#2

Quote:
Originally Posted by Traal
Посмотреть сообщение
Eai Galera, to precisando refazer uma funзгo da minha gm, por exemplo, ela faz com que os players procurados mortos por policias Bope = pBope, PMERJ = pPMERJ e Exercito = pEXERCITO, sejam mandados para cadeia, mais antes funcionava de boas e quando o player morria com 7 estrelas ele ia para o presidio ao contrario ele ia para celas dos interiores das DP, atualmente eu coloquei um presidio na gm, e gostaria de que todos os players fossem direto para o presidio.




Eu troquei as coordenadas para onde eles iam quando tava com poucas estrelas no caso - de 7 e coloquei as do presidio, mais hoje fui testar com um amigo e percebi que quando vc e preso e depois solto, n pode ser preso de novo vc simplesmente vai pro hospital mesmo sendo morto por policiais.
Traal vocк pode estar se equivocando na hora da liberaзгo dos presos, se possнvel nos passe a callback de libertaзгo dos mesmos.

Ficamos no aguardo
Reply
#3

use pastebin '-'

Nгo deveria responder esse topico por causa da pergunta mas...
faзa um algoritmo que o jogador й setado o respawn para esse local e permanece por um tempo determinado ou do jeito que voce quizer, e depois desse tempo ele й retirado do local.
Reply
#4

nгo postei nada sobre a liberaзгo dos presos cara, eu postei a funзгo que prende e o lugar para onde eles vao, a liberaзгo dos presos e feita depois que o tempo acaba, mais esta ai.
Quote:

@TimerOneSecond()
{
gSeconds++;
gSecondsCurTime ++;
gettime(ClockTime[tHour], ClockTime[tMinute], ClockTime[tSecond]);
getdate(ClockTime[dYear], ClockTime[dMonth], ClockTime[dDay]);

format(Clock,64,"%d", ConnectedPlayers(), GetMaxPlayers());
TextDrawSetString(Serverlogo20, Clock);

for(new i; i <= HighestID; i++)
{
if(IsPlayerConnected(i))
{
Player[i][pOnlineTime] += 1;

if(Player[i][ResetMessages] <= gSecondsCurTime)
{
Player[i][Messages] = 0;
}

if(Player[i][pTempoPreso] == 1 || Player[i][pTempoPreso] == 0)
{
if(Player[i][pPresoPMERJ] >= 1 || Player[i][pPresoBOPE] >= 1 || Player[i][pPresoEXC] >= 1 || Player[i][pPresoADM] >= 1)
{
Player[i][pPresoPMERJ] = 0;
Player[i][pPresoBOPE] = 0;
Player[i][pPresoEXC] = 0;
Player[i][pPresoADM] = 0;
SpawnPlayer(i);
SetPlayerInterior(i, 0);
Player[i][pTempoPreso] = 0;
SetPlayerSpecialAction(i, SPECIAL_ACTION_NONE);
ResetPlayerTeam(i);
}
}
else if(Player[i][pTempoPreso] >= 1)
{
Player[i][pTempoPreso] -= 1;
}

GetPlayerPos(i, Posicoes[i][0], Posicoes[i][1], Posicoes[i][2]);
if(Posicoes[i][0] == Posicoes[i][3] && Posicoes[i][1] == Posicoes[i][4] && Posicoes[i][2] == Posicoes[i][5])
{
TAFK[i] += 1;
if(TAFK[i] >= TEMPO_AFK)
{
TAFK[i] = 0;
SendClientMessage(i, COR_NEGATIVO, "LOG- Vocк foi kikado por estar parado muito tempo!");
Kick(i);
}
}
else
{
Posicoes[i][3] = Posicoes[i][0];
Posicoes[i][4] = Posicoes[i][1];
Posicoes[i][5] = Posicoes[i][2];
TAFK[i] = 0;
}
}
}
}

Reply
#5

Quote:
Originally Posted by BykiLler
Посмотреть сообщение
use pastebin '-'

Nгo deveria responder esse topico por causa da pergunta mas...
faзa um algoritmo que o jogador й setado o respawn para esse local e permanece por um tempo determinado ou do jeito que voce quizer, e depois desse tempo ele й retirado do local.
se n deveria responder, й simples n responda. o sistema eu ja tenho so preciso refaze-lo de modo que mande todos que forem presos tanto com 7 ou menos estrelas para as celas do presidio.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)