11.09.2010, 01:34
aqui estб os tipos de remover barreiras do meu gm
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 && PlayerInfo[playerid][pMembro] != 3 && PlayerInfo[playerid][pLider] != 3 && PlayerInfo[playerid][pMembro] != 25 && PlayerInfo[playerid][pLider] != 25) return SendClientMessage(playerid, COLOR_GREY, "Vocк nгo й 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.");
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~Colocada", 5000, 5);
SendClientMessage(playerid, COLOR_GREEN, "Barreira implantada com sucesso, USE: /rbr ou /removerbarreira Para remove-la.");
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, "Vocк pode remover todas as barreiras usando /rmbr");
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 && PlayerInfo[playerid][pMembro] != 3 && PlayerInfo[playerid][pLider] != 3 && PlayerInfo[playerid][pMembro] != 25 && PlayerInfo[playerid][pLider] != 25)
{
SendClientMessage(playerid, COLOR_GREY, "Vocк nгo й COP!");
return 1;
}
if (PlayerInfo[playerid][pCargo] < 1)
{
SendClientMessage(playerid, COLOR_GREY, "Vocк precisa no minimo cargo 1 para poder remover as barreiras!");
return 1;
}
if (PlayerInfo[playerid][pRoadblock] == 0)
{
SendClientMessage(playerid, COLOR_GREY, "Vocк retirou a sua barreira!");
return 1;
}
RemoveRoadblock(playerid);
SendClientMessage(playerid, COLOR_GREEN, "Barreira removida com suscesso.");
return 1;
}
if(strcmp(cmdtext, "/removerbr", true)==0 || strcmp(cmdtext, "/rmbr", true)==0)
{
if (PlayerInfo[playerid][pCargo] >= 4 && PlayerInfo[playerid][pMembro] || PlayerInfo[playerid][pLider] == 1 || PlayerInfo[playerid][pLider] == 2 || PlayerInfo[playerid][pLider] == 17 || PlayerInfo[playerid][pLider] == 3 || PlayerInfo[playerid][pLider] == 25)
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(PlayerInfo[i][pRoadblock] != 0)
{
RemoveRoadblock(i);
return 1;
}
}
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 || PlayerInfo[i][pMembro] == 25 || PlayerInfo[i][pLider] == 25)
{
SendClientMessage(i, TEAM_BLUE_COLOR, string);
return 1;
}
}
}
}
else
{
SendClientMessage(playerid, COLOR_GREY, "Vocк precisa ser cargo 4+ ou um lнder da polнcia para remover todos os bloqueios!");
return 1;
}
}