30.04.2010, 15:39
Tenta isso
ja tem 3 comando remover todas Barreiras e retirar a sua barreira
pawn Код:
if(strcmp(cmdtext, "/barreira", true)==0 || strcmp(cmdtext, "/br", true)==0)
{
if (PlayerInfo[playerid][pMembro] != 1 && PlayerInfo[playerid][pLider] != 1 && PlayerInfo[playerid][pMembro] != 2 && PlayerInfo[playerid][pLider] != 2 && PlayerInfo[playerid][pMembro] != 17 && PlayerInfo[playerid][pLider] != 17) return SendClientMessage(playerid, COLOR_GREY, "Voce nao e COP!");
if (PlayerInfo[playerid][pRoadblock] != 0) return SendClientMessage(playerid, COLOR_GREY, "Vocк sу pode implantar 1 barreira em uma hora, /rb - para remover uma existente.");
if (roadblocktimer != 0) return SendClientMessage(playerid, COLOR_GREY, "Por Favor... Espere Antes de Criar Outra Barreira!");
new Float:X, Float:Y, Float:Z, Float:A;
GetPlayerPos(playerid, X, Y, Z);
GetPlayerFacingAngle(playerid, A);
PlayerInfo[playerid][pRoadblock] = CreateObject(981, X, Y, Z, 0.0, 0.0, A+180);
SetPlayerPos(playerid, X, Y, Z+4);
GameTextForPlayer(playerid, "~w~Barreira ~r~Criada", 5000, 5);
SendClientMessage(playerid, COLOR_GREEN, "Barreira Implantada... Use /rb Para Remover e Poder Criar Mais!.");
roadblocktimer = 1;
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "Estado: Um barreira foi bem plantada por %s, e estб marcada por um checkpoint no Mapa.", sendername);
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(PlayerInfo[i][pMembro] == 1 || PlayerInfo[i][pLider] == 1)
{
SetPlayerCheckpoint(playerid, X, Y, Z-10, 1.0);
SendClientMessage(i, TEAM_BLUE_COLOR, string);
if (PlayerInfo[i][pCargo] >= 5 && PlayerInfo[i][pMembro] || PlayerInfo[i][pLider] == 1)
{
SendClientMessage(i, COLOR_YELLOW, "Voce pode remover todas as barreiras usando /rmbr");
}
}
}
}
SetTimer("ResetRoadblockTimer", 60000, false);
return 1;
}
if(strcmp(cmdtext, "/removerbarrera", true)==0 || strcmp(cmdtext, "/rb", true)==0)
{
if (PlayerInfo[playerid][pMembro] != 1 && PlayerInfo[playerid][pLider] != 1 && PlayerInfo[playerid][pMembro] != 2 && PlayerInfo[playerid][pLider] != 2 && PlayerInfo[playerid][pMembro] != 17 && PlayerInfo[playerid][pLider] != 17)
{
SendClientMessage(playerid, COLOR_GREY, "Voce nao e COP!");
return 1;
}
if (PlayerInfo[playerid][pCargo] < 5)
{
SendClientMessage(playerid, COLOR_GREY, "Voce precisa no minimo cargo 5 para poder remover as barreiras!");
return 1;
}
if (PlayerInfo[playerid][pRoadblock] == 0)
{
SendClientMessage(playerid, COLOR_GREY, "Voce retirou todas as barreiras!");
return 1;
}
RemoveRoadblock(playerid);
SendClientMessage(playerid, COLOR_GREEN, "Barreiras removidas com suscesso.");
return 1;
}
if(strcmp(cmdtext, "/removerbr", true)==0 || strcmp(cmdtext, "/rmbr", true)==0)
{
if (PlayerInfo[playerid][pCargo] >= 5 && PlayerInfo[playerid][pMembro] || PlayerInfo[playerid][pLider] == 1 || PlayerInfo[playerid][pLider] == 2 || PlayerInfo[playerid][pLider] == 17)
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(PlayerInfo[i][pRoadblock] != 0)
{
RemoveRoadblock(i);
}
}
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "Estado: Todas as barreiras foram retiradas por: %s.", sendername);
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(PlayerInfo[i][pMembro] == 1 || PlayerInfo[i][pLider] == 1 || PlayerInfo[i][pMembro] == 2 || PlayerInfo[i][pLider] == 2 || PlayerInfo[i][pMembro] == 17 || PlayerInfo[i][pLider] == 17)
{
SendClientMessage(i, TEAM_BLUE_COLOR, string);
}
}
}
}
else
{
SendClientMessage(playerid, COLOR_GREY, "Vocк precisa ser cargo 5+ ou um lнder da polнcia para remover todos os bloqueios!");
}
return 1;
}