12.04.2010, 02:20
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...!
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.
Sistema de quando o player morre sai da prisao.
Sistema de Prisao.
Aguardando respostas...
- 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");
}
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...