bCGz (Sistema de GangZones - Avanзado) -
BielCOP - 25.10.2013
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();
Obrigado tonisantolia (sumido kk')!
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:
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);
Obs: Apуs setar a cor, vocк precisa mostrar a gangzone para todos com o uso da funзao
bCGz_ShowZonaTodos ou
bCGz_ShowZonaPlayer.
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:
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);
O cуdigo acima faz a gangzone piscar por 30 segundos e logo apуs para!
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 /\
Re: bCGz (Sistema de GangZones - Avanзado) -
Catchorro - 25.10.2013
Legal muito bom '-'
Re: bCGz (Sistema de GangZones - Avanзado) -
ipsBruno - 25.10.2013
"bCGz_SetarCorZona(id,cor)"
Nгo funciono assim, precisa dar um Hide e depois um Show para o player. Tб errado, arruma isto ai.
Respuesta: bCGz (Sistema de GangZones - Avanзado) -
DanDRT - 25.10.2013
Tu ta falando de criar uma include assim?
Re: bCGz (Sistema de GangZones - Avanзado) -
ipsBruno - 25.10.2013
Toda essa include desotimizada e gigantesca sу por causa das funзхes "SetarCor e GetarCor" o resto tem nativamente em SAMP. Alias, o negуcio das cores que por hб caso estгo bugadas tambйm.
Eu nгo usaria.
Re: bCGz (Sistema de GangZones - Avanзado) -
tonisantolia - 25.10.2013
Precisa por mais informaзхes no post de como utilizar cada funзгo em vez de sу mostrar exemplos..
Exemplo:
pawn Код:
GangZoneCreate(Float:minx, Float:miny, Float:maxx, Float:maxy);
E Nгo acho que seja uma include avanзada
Mesmo assim .. Bom trabalho
Gostei da ideia.
Respuesta: bCGz (Sistema de GangZones - Avanзado) -
DanDRT - 25.10.2013
essa include й a mesma coisa de usar as funзхes nativas do samp com a funзгo do bruno, achei que ficaria melhor.
Re: bCGz (Sistema de GangZones - Avanзado) -
Dolby - 25.10.2013
Vocк basicamente renomeou as funзхes, e adicionou uma pra obter a cor...
Enfim, apesar de ter muita falatуria, muita bagunзa e pouca utilidade, Parabйns.
E uma dica: Pequenas funзхes como bCGz_ShowZonaPlayer poderiam ter sido feitas utilizando macros.
Re: bCGz (Sistema de GangZones - Avanзado) -
BielCOP - 25.10.2013
Se tu diz... kk'
Tб nervoso comigo por causa daquilo lб ?
Й bom parar com essa zuera que deus tб vendo .-.
#Tуpico:
Pessoal, por favor, caso achem bugs, me reportem para que nao haja mais problemas quanto ao uso da mesma!
Respuesta: bCGz (Sistema de GangZones - Avanзado) -
ipsBruno - 25.10.2013
Eu jб achei um bug e falei.
Nгo tб alterando a cor da GZ.
"bCGz"