25.10.2013, 21:13
(
Последний раз редактировалось BielCOP; 27.10.2013 в 20:51.
)
bCGz (Sistema de GangZones - Avanзado)
Olб pessoal!Hoje a minha include bCGz serб postada, prestem atenзao pois ela й muito fбcil de ser usada!
Natives
hu3 eu esqueci as mesmas, ta aн as natives:pawn Код:
native bCGz_CriarZona(id,cor,Float:Pos1,Float:Pos2,Float:Pos3,Float:Pos4);
native bCGz_RemoverZona(id);
native bCGz_EsconderZonaPlayer(playerid,id);
native bCGz_EsconderZonaTodos(id);
native bCGz_SetarCorZona(id,cor);
native bCGz_GetarCorZona(id);
native bCGz_PlayerZona(playerid,id);
native bCGz_VeiculoZona(vehicleid,id);
native bCGz_ShowZonaPlayer(playerid,id);
native bCGz_ShowZonaTodos(playerid,id);
native bCGz_PiscarPlayer(playerid,id,cor,tempo);
native bCGz_PiscarTodos(id,cor,tempo);
native bCGz_MaximoZonas();
bCGz_CriarZona
Com esta funзao vocк pode criar uma gangzone!Exemplo de Uso:
pawn Код:
bCGz_CriarZona(0,1234.5678,5678.1234,8765.4321,1526.3647);
bCGz_RemoverZona
Como o prуprio nome sugere, com esta funзao vocк pode deletar uma zona jб criada.Exemplo de Uso:
pawn Код:
bCGz_RemoverZona(0);
bCGz_EsconderZonaPlayer
Este funзao faz vocк esconder a zona para o jogador selecionado.Exemplo de Uso:
pawn Код:
bCGz_EsconderZonaPlayer(playerid,0);
bCGz_EsconderZonaTodos
Com esta funзao citada, vocк pode esconder a zona para todos os jogadores.Exemplo de Uso:
pawn Код:
bCGz_EsconderZonaTodos(0);
bCGz_SetarCorZona
Como o prуprio nome diz, com esta funзao vocк pode mudar a cor de uma gangzone.Exemplo de Uso:
pawn Код:
bCGz_SetarCorZona(0,0xBFBFBFAA);
bCGz_GetarCorZona
Use esta funзao para pegar a cor da gangzone!Exemplo de Uso:
pawn Код:
SetPlayerColor(playerid,bCGz_GetarCorZona(0));
bCGz_PlayerZona
Com esta funзao vocк pode ver se o jogador estб mesmo na gangzone que vocк deseja.Exemplo de Uso:
pawn Код:
if(bCGz_PlayerZona(playerid,0)) { break; }
bCGz_VeiculoZona
A lуgica й a mesma da funзao bCGz_PlayerZona, porйm esta й apenas para veнculos.Exemplo de Uso:
pawn Код:
if(bCGz_VeiculoZona(GetPlayerVehicleID(playerid),0)) { break; }
bCGz_ShowZonaPlayer
A funзao acima й usada para mostrar para um tal jogador a gangzone desejada.Exemplo de Uso:
pawn Код:
bCGz_ShowZonaPlayer(playerid,0);
bCGz_ShowZonaTodos
A funзao acima й usada para mostrar para todos os jogadores a gangzone desejada.Exemplo de Uso:
pawn Код:
bCGz_ShowZonaTodos(0);
bCGz_PiscarPlayer
Bom, esta funзao й usada como uma chamada da funзao GangZoneFlashForPlayer, porйm com um detalhe adicionado:Um tempo para a piscagem!
Exemplo de Uso:
pawn Код:
bCGz_PiscarPlayer(playerid,0,30000);
bCGz_PiscarTodos
A lуgica й a mesma da funзao acima.Exemplo de Uso:
pawn Код:
bCGz_PiscarTodos(0,30000);
bCGz_MaximoZonas
Com esta funзao, vocк pode saber quantas gangzones foram criadas!Exemplo de Uso:
pawn Код:
printf("%d zonas Jб Foram criadas!",bCGz_MaximoZonas());
Finalizando
Este sistema foi feito 100% por mim, sem pedidos de ajuda.Qualquer bug ? Avise-me!
Cуdigo:
pawn Код:
// Zonas
#define Maximo_Zonas 100
enum Zone
{
Float:Local1,
Float:Local2,
Float:Local3,
Float:Local4,
ZonaExiste,
ZonaCor,
ZonaCriada
};
stock Zona[Maximo_Zonas][Zone];
// Funзхes
stock bCGz_CriarZona(id,cor,Float:Pos1,Float:Pos2,Float:Pos3,Float:Pos4)
{
if(Zona[id][ZonaExiste] == 0)
{
Zona[id][ZonaCriada] = GangZoneCreate(Pos1,Pos2,Pos3,Pos4);
Zona[id][ZonaCor] = cor;
Zona[id][ZonaExiste] = 1;
Zona[id][Local1] = Pos1;
Zona[id][Local2] = Pos2;
Zona[id][Local3] = Pos3;
Zona[id][Local4] = Pos4;
}
return 1;
}
stock bCGz_RemoverZona(id)
{
if(Zona[id][ZonaExiste] == 1)
{
GangZoneDestroy(Zona[id][ZonaCriada]);
Zona[id][ZonaExiste] = 0;
Zona[id][ZonaCor] = 0xFF;
Zona[id][Local1] = 0.0;
Zona[id][Local2] = 0.0;
Zona[id][Local3] = 0.0;
Zona[id][Local4] = 0.0;
}
return 1;
}
stock bCGz_EsconderZonaPlayer(playerid,id)
{
if(Zona[id][ZonaExiste] == 1)
{
GangZoneHideForPlayer(playerid,Zona[id][ZonaCriada]);
}
return 1;
}
stock bCGz_EsconderZonaTodos(id)
{
if(Zona[id][ZonaExiste] == 1)
{
GangZoneHideForAll(Zona[id][ZonaCriada]);
}
return 1;
}
stock bCGz_SetarCorZona(id,cor)
{
if(Zona[id][ZonaExiste] == 1)
{
Zona[id][ZonaCor] = cor;
}
return 1;
}
stock bCGz_GetarCorZona(id)
{
if(Zona[id][ZonaExiste] == 1)
{
return Zona[id][ZonaCor];
}
return 0;
}
stock bCGz_PlayerZona(playerid,id)
{
if(Zona[id][ZonaExiste] == 1)
{
new Float:x,Float:y,Float:z; GetPlayerPos(playerid, x, y, z);
if(x >= Zona[id][Local1] && y >= Zona[id][Local2] && x <= Zona[id][Local3] && y <= Zona[id][Local4])
{
return 1;
}
}
return 0;
}
stock bCGz_VeiculoZona(vehicleid,id)
{
if(Zona[id][ZonaExiste] == 1)
{
new Float:x,Float:y,Float:z; GetPlayerVehicle(vehicleid, x, y, z);
if(x >= Zona[id][Local1] && y >= Zona[id][Local2] && x <= Zona[id][Local3] && y <= Zona[id][Local4])
{
return 1;
}
}
return 0;
}
stock bCGz_ShowZonaPlayer(playerid,id)
{
GangZoneStopFlashForPlayer(playerid,Zona[id][ZonaCriada]);
GangZoneHideForPlayer(playerid,Zona[id][ZonaCriada]);
GangZoneShowForPlayer(playerid,Zona[id][ZonaCriada],Zona[id][ZonaCor]);
return 1;
}
stock bCGz_ShowZonaTodos(id,cor)
{
bCGz_SetarCorZona(Zona[id][ZonaCriada],cor);
GangZoneStopFlashForAll(Zona[id][ZonaCriada]);
GangZoneHideForAll(Zona[id][ZonaCriada]);
GangZoneShowForAll(Zona[id][ZonaCriada],Zona[id][ZonaCor]);
return 1;
}
stock bCGz_PiscarPlayer(playerid,id,cor,tempo)
{
if(IsPlayerConnected(playerid))
{
if(Zona[id][ZonaExiste] == 1)
{
GangZoneFlashForPlayer(playerid,Zona[id][ZonaCriada],cor);
SetTimerEx("TempoPiscarPlayer",tempo,0,"id",playerid,Zona[id][ZonaCriada]);
}
}
return 1;
}
stock bCGz_PiscarTodos(id,cor,tempo)
{
if(Zona[id][ZonaExiste] == 1)
{
GangZoneFlashForAll(Zona[id][ZonaCriada],cor);
SetTimerEx("TempoPiscar",tempo,0,"d",Zona[id][ZonaCriada]);
}
return 1;
}
// Usado apenas com o uso de Funзхes
TempoPiscarPlayer(playerid,id);
public TempoPiscarPlayer(playerid,id)
{
GangZoneStopFlashForPlayer(playerid,id);
}
TempoPiscar(id);
public TempoPiscar(id)
{
GangZoneStopFlashForAll(id);
}
Atualizaзao V1.1
° Todos os bugs Foram retirados e nao hб mais erros de compilaзao.° Agora o set / get da gangzone estб bem rбpido.
° Totalmente Otimizada.
O download estб aн acima /\