05.07.2012, 02:13
Esse seu cуdigo nгo vai dar problema por causa do -1 ?
Terminei a funзгo para completar o circulo:
Esta funзгo й similar as gang zones circulas. Porйm preenche totalmente o circulo!
Porque 6.28? Porque й o dobro do PI oras! PI й a principal relaзгo numйrica com cнrculos, para manipulaзгo deles torna-se obrigatуrio o uso de PI
Porque 10.0? Porque й o tamanho de cada GZ unitбria, para formar o circulo.
Isto pode ser adaptado a text draws, tornando MUITOO ъtil este calculo para quem deseja fazer desenhos e coisas do tipo Eu usei um trecho de cуdigo parecido para fazer um circulo de fogo ao redor do jogador (estilo filme). Mas vocк pode achar outras utilidades Tambйm jб fiz um coraзгo usando 2 bolas e uma linha reta
Exemplo:
Para checar se o cara estб dentro do circulo basta usar:
IsPlayerInRangeOfPoint(playerid, 100.0, 0.1, 0.1, 0.1);
0.1 й as coordenadas que coloquei na funзгo. 100.0 й o nosso radius que й o centro do circulo.
Por Bruno da Silva
Terminei a funзгo para completar o circulo:
Gang Zonas Redondas
Esta funзгo й similar as gang zones circulas. Porйm preenche totalmente o circulo!
pawn Код:
stock GangZoneRedonda(Float:raio, Float:x , Float:y, color, gzs = 20) {
static
Float:gz_X,
Float:gz_Y,
Float:gz_XZ,
Float:gz_YZ,
gzIndenti;
for(new i; i < gzs; i++){
gz_YZ = i/(float(gzs))*6.28;
gz_Y = floatsin(gz_YZ, radian) * raio + y;
gz_X = floatcos(gz_YZ, radian) * raio + x;
gz_XZ = floatcos((i+gzs/2)/(float(gzs))*6.28, radian) * raio + x ;
gzIndenti = GangZoneCreate(gz_X, gz_Y, gz_XZ, gz_Y+(raio)/2);
GangZoneShowForAll(gzIndenti, color);
}
return gzIndenti;
}
Porque 10.0? Porque й o tamanho de cada GZ unitбria, para formar o circulo.
Isto pode ser adaptado a text draws, tornando MUITOO ъtil este calculo para quem deseja fazer desenhos e coisas do tipo Eu usei um trecho de cуdigo parecido para fazer um circulo de fogo ao redor do jogador (estilo filme). Mas vocк pode achar outras utilidades Tambйm jб fiz um coraзгo usando 2 bolas e uma linha reta
Exemplo:
Quote:
GangZoneRedonda(100.0, 0.1,0.1, 0xFF0000FF,200); |
IsPlayerInRangeOfPoint(playerid, 100.0, 0.1, 0.1, 0.1);
0.1 й as coordenadas que coloquei na funзгo. 100.0 й o nosso radius que й o centro do circulo.
Por Bruno da Silva