[Ajuda] Sistema de prisao 100% -
juniorjg - 12.04.2010
Bom galera meu problema й o seguinte eu tenho um sistema de prisгo aqui que esta junto com o meu fs de adm so que o sistema esta muito noob Tipo se o player morrer elee sai da cadeia e tem como elee usar comando dentro da prisao a e eu estarei postando meu sistema se alguem poder me ajudar colocando essas coisas para mim nelee ficarei grato...!
- 1° Ajuda ao consertar a questao do player poder usar comandos dentro da prisгo.
- 2° Ajuda ao consertar a questao do player morrer e sai da prisao.
Obs: Eu quero a ajuda para poder acoplar o sistema que estarei postando no meu sistema de prisao.
Sistema de nгo usar comandos dentro da prisao.
pawn Код:
if (Presos[playerid] == 1)
{
return SendClientMessage(playerid, COR, "Vocк estб preso e nгo pode usar comandos");
}
Sistema de quando o player morre sai da prisao.
pawn Код:
//no topo
new bool:EstaPreso[MAX_PLAYERS] = false;
//No comando de prender ou no local onde faz com que o player fique preso:
EstaPreso[playerid] = true;
//No OnPlayerDeath e onde vocк quer que verifique que ele estб preso:
if(EstaPreso[playerid])
{
SetPlayerPos(playerid,.......);
SendClientMessage(playerid, COLOR_LIGHTRED, "Sentenзa incompleta,Vocк voltou para Prisгo");
return 1;
}
Sistema de Prisao.
pawn Код:
if(strcmp(cmd, "/prender", true) == 0)
{
if (AccountInfo[playerid][AdminLevel] >= 2)
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, ORANGE, "USO: /prender [ID] [Motivo]");
return 1;
}
giveplayerid = ReturnUser(tmp);
if(IsPlayerConnected(giveplayerid))
{
if(giveplayerid != INVALID_PLAYER_ID)
{
if(AccountInfo[giveplayerid][Jail] == 0)
{
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, player, sizeof(player));
new length = strlen(cmdtext);
while ((idx < length) && (cmdtext[idx] <= ' '))
{
idx++;
}
new offset = idx;
new reason[256];
while ((idx < length) && ((idx - offset) < (sizeof(reason) - 1)))
{
reason[idx - offset] = cmdtext[idx];
idx++;
}
reason[idx - offset] = EOS;
if(!strlen(reason))
{
SendClientMessage(playerid, ORANGE, "USO: /prender [ID] [Motivo]");
return 1;
}
format(string, sizeof(string), "Vocк foi preso pelo admin %s. Motivo: %s", player, reason);
SendClientMessage(giveplayerid, ADMIN_RED, string);
format(string, sizeof(string), "-| Administrador %s te prendeu %s. [ Motivo: %s ] |-",player ,giveplayer, reason);
SendClientMessageToAll(ADMIN_RED,string);
AccountInfo[giveplayerid][Jail] = 1;
OnPlayerJailed(giveplayerid);
return 1;
}
else
{
SendClientMessage(playerid, RED, "Jogador esta preso!");
}
}
else
{
format(string, sizeof(string), "%d nгo й um jogador ativo.", giveplayerid);
SendClientMessage(playerid, RED, string);
}
}
else
{
format(string, sizeof(string), "%d nгo й um jogador ativo.", giveplayerid);
SendClientMessage(playerid, RED, string);
}
}
else
{
format(string, sizeof(string), "Vocк nгo й um administrador com o nнvel exigido.");
SendClientMessage(playerid, RED, string);
}
return 1;
}
if(strcmp(cmd, "/soltar", true) == 0)
{
if (AccountInfo[playerid][AdminLevel] >= 3 || IsPlayerAdmin(playerid))
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, ORANGE, "USO: /soltar [ID]");
return 1;
}
giveplayerid = ReturnUser(tmp);
if(giveplayerid != INVALID_PLAYER_ID)
{
if(AccountInfo[giveplayerid][Jail] == 1)
{
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
printf("[ADMIN NEWS]: Admin %s soltou %s.", sendername, giveplayer);
format(string, sizeof(string), "-| Administrador %s soltou %s |-",sendername, giveplayer);
SendClientMessageToAll(ADMIN_RED,string);
AccountInfo[giveplayerid][Jail] = 0;
OnPlayerUnjailed(giveplayerid);
}
else
{
SendClientMessage(playerid, RED, "O Jogador nгo esta preso!");
}
}
else
{
format(string, sizeof(string), "%d nгo й um jogador ativo.", giveplayerid);
SendClientMessage(playerid, RED, string);
}
}
else
{
SendClientMessage(playerid, RED, "Vocк nгo tem admin level exigido.");
}
return 1;
}
Aguardando respostas...
Re: [Ajuda] Sistema de prisao 100% -
russo666 - 12.04.2010
Em relaзгo ao usar comandos dentro da prisгo repara aqui:
pawn Код:
AccountInfo[giveplayerid][Jail] = 1;
e repara no teu
pawn Код:
if (Presos[playerid] == 1)
{
return SendClientMessage(playerid, COR, "Vocк estб preso e nгo pode usar comandos");
}
Em relaзгo ao morrer e sair da prisгo eu nгo estou muito familiarizado com isso mas sempre podes usar algo do tipo como em cima. Nгo poder usar o comando /kill na prisгo. Repara no que te escrevi em cima e deves lб chegar.
Re: [Ajuda] Sistema de prisao 100% -
Ritz - 12.04.2010
pawn Код:
public OnPlayerSpawn(playerid)
{
if (AccountInfo[playerid][Jail] == 1)
{
OnPlayerJailed(playerid);
SendClientMessage(playerid, COLOR_LIGHTRED, "Sentenзa incompleta,Vocк voltou para Prisгo");
}
return 1;
}
Nгo percebi bem, mas acho que й disto que precisas.
Re: [Ajuda] Sistema de prisao 100% -
juniorjg - 12.04.2010
C:\Documents and Settings\Juniior\Desktop\Server 0.3a Gta Dos Loucos\filterscripts\Adm.pwn(406) : error 017: undefined symbol "Presos"
C:\Documents and Settings\Juniior\Desktop\Server 0.3a Gta Dos Loucos\filterscripts\Adm.pwn(406) : warning 215: expression has no effect
C:\Documents and Settings\Juniior\Desktop\Server 0.3a Gta Dos Loucos\filterscripts\Adm.pwn(406) : error 001: expected token: ";", but found "]"
C:\Documents and Settings\Juniior\Desktop\Server 0.3a Gta Dos Loucos\filterscripts\Adm.pwn(406) : error 029: invalid expression, assumed zero
C:\Documents and Settings\Juniior\Desktop\Server 0.3a Gta Dos Loucos\filterscripts\Adm.pwn(406) : fatal error 107: too many error messages on one line
Re: [Ajuda] Sistema de prisao 100% -
Ritz - 12.04.2010
Modifiquei o de cima, quanto ao de usar comandos:
pawn Код:
if (AccountInfo[playerid][Jail] == 1)
{
return SendClientMessage(playerid, COR, "Vocк estб preso e nгo pode usar comandos");
}
Re: [Ajuda] Sistema de prisao 100% -
juniorjg - 12.04.2010
pawn Код:
public OnPlayerSpawn(playerid)
{
if (AccountInfo[playerid][Jail] == 1)
{
OnPlayerJailed(playerid);
SendClientMessage(playerid, RED, "Sentenзa incompleta,Vocк voltou para Prisгo");
}
return 1;
}
Coloquei tudo certo mas o player ainda quando spawna dentro da prisao elee й solto...
Alguma ideeia oque pode ta causando isso?
Obs: Meu sistema de prisao esta junto com o sistema de adm que esta fora do gm tem alguma coisa a ver?
Alguem ajuda por favor