05.09.2010, 03:24
Bom galera й o seguinte to com um problema de bug no meu server quando os Policiais dao /br (barreira)ela aparece fala que foi criada mas nгo aparece fica invisivel as veses й presiso da gmx no server pra volta funcionar e tals tipo as veses dando um simples /sinc resolve e tambйm com os pregos ta esse bug tals mas as veses й complicado vo coloca abaicho o COD ajuda =D.
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~Criada", 5000, 5);
SendClientMessage(playerid, COLOR_GREEN, "Barreira Implantada... Use /rb Para Remover e Poder Criar Mais!.");
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);
}
}
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);
}
}
}
}
else
{
SendClientMessage(playerid, COLOR_GREY, "Vocк precisa ser cargo 4+ ou um lнder da polнcia para remover todos os bloqueios!");
}
return 1;
}
if(strcmp(cmdtext, "/removerprego", true)==0 || strcmp(cmdtext, "/rp", 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, "Voce nao e COP!");
return 1;
}
if (PlayerInfo[playerid][pCargo] < 1)
{
SendClientMessage(playerid, COLOR_GREY, "Voce precisa no minimo cargo 5 para poder remover os pregos!");
return 1;
}
if (PlayerInfo[playerid][pRoadPregos] == 0)
{
SendClientMessage(playerid, COLOR_GREY, "Voce retirou todos os pregos!");
return 1;
}
RemoveRoadPregos(playerid);
SendClientMessage(playerid, COLOR_GREEN, "Pregos removidos com suscesso.");
return 1;
}
if(strcmp(cmdtext, "/removerpr", true)==0 || strcmp(cmdtext, "/rmpr", true)==0)
{
if (PlayerInfo[playerid][pCargo] >= 4 && 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][pRoadPregos] != 0)
{
RemoveRoadPregos(i);
}
}
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "Estado: Todas os pregos 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 pregos!");
}
return 1;
}
if(strcmp(cmdtext, "/Prego", true)==0 || strcmp(cmdtext, "/pr2", 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] != 25 && PlayerInfo[playerid][pLider] != 25) return SendClientMessage(playerid, COLOR_GREY, "Voce nao e COP!");
if (PlayerInfo[playerid][pRoadPregos] != 0) return SendClientMessage(playerid, COLOR_GREY, "Vocк sу pode implantar 1 prego por hora, /rp - para remover existente.");
new Float:X, Float:Y, Float:Z, Float:A;
GetPlayerPos(playerid, X, Y, Z);
GetPlayerFacingAngle(playerid, A);
PlayerInfo[playerid][pRoadPregos] = CreateObject(2892, X, Y, Z-1, 0.0, 0.0, A+180);
SetPlayerPos(playerid, X, Y, Z);
GameTextForPlayer(playerid, "~w~Pregos ~r~Criados", 5000, 5);
SendClientMessage(playerid, COLOR_GREEN, "Pregos Implantados... Use /rb Para Remover e Poder Criar Mais!.");
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "Estado: Um prego foi bem plantado 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 todos os pregos usando /rmpr");
}
}
}
}
return 1;
}