[AJUDA/DESAFIO] Funзгo Pra Editar Mapa -
dudaefj - 13.02.2012
Ae galera
Bom, й algo relativamente simples, mas ta me dando um bom trabalho, entгo resolvi passar para todos como desafio e ver se alguйm consegue resolver =)
to tentando fazer uma pista de corrida com pneus, mas qro fazer com precisгo de verdade e nгo apenas ficar pondo os pneus com a imprecisгo do mouse.
Entгo quero criar uma funзгo que dado uma coordenada:
(por exemplo: (-1102.0000, -1040.0000, 128.1900))
a funзгo deve criar uma circunferкncia de pneus um do lado do outro com um raio dado
obs.: cada pneu individual tem raio 1
obs2.: ID do pneu: 1327
Caso alguйm nгo tenha entendido, vai um exemplo
eu jб criei uma funзгo que cria pneus em linha reta em um dado eixo (esse й fбcil nй rsrsrs)
Код:
stock Reta(Float:X,Float:Y,Float:Z,eixo,quantidade)
{
switch(eixo)
{
case -2:
for(new i = quantidade; i > 0; i--)
printf("CreateDynamicObject(1327,%f,%f,%f,0,90,0);",X,Y-2*i,Z);
case -1:
for(new i = quantidade; i > 0; i--)
printf("CreateDynamicObject(1327,%f,%f,%f,0,90,0);",X-2*i,Y,Z);
case 1:
for(new i = quantidade; i > 0; i--)
printf("CreateDynamicObject(1327,%f,%f,%f,0,90,0);",X+2*i,Y,Z);
case 2:
for(new i = quantidade; i > 0; i--)
printf("CreateDynamicObject(1327,%f,%f,%f,0,90,0);",X,Y+2*i,Z);
}
}
Bom, essa funзгo й simples
agora to tentando fazer uma funзгo que cria pneus em uma circunferкncia, dado o raio e as coordenadas do centro
Vou continuar tentando...
Mas serб que alguйm consegue?
Re: [AJUDA/DESAFIO] Funзгo Pra Editar Mapa -
CyNiC - 13.02.2012
Basta adaptar para objetos:
http://pastebin.com/YjBapCMf
Re: [AJUDA/DESAFIO] Funзгo Pra Editar Mapa -
dudaefj - 13.02.2012
verdade
desse jeito sai fбcil, sу uma leve trigonometria pra descobrir o angulo que nesse caso nгo vai sair tггo fбcil qto no seu exemplo
to pensando aqui tb
acho que outra soluзгo seria considerar o primeiro pneu no eixo X, tirando entгo facilmente a coordenada de seu vetor (R,0)
ae por rotaзгo de vetor sai facinho tbm
o mais trabalhoso seria tambйm encontrar o valor do вngulo por trigonometria, mas acho que isso й inevitбvel =\
@edit
Код:
x += (distance * floatsin(-a, degrees));
y += (distance * floatcos(-a, degrees));
nгo seria
Код:
x += (distance * floatcos(-a, degrees));
y += (distance * floatsin(-a, degrees));
?
Re: [AJUDA/DESAFIO] Funзгo Pra Editar Mapa -
CyNiC - 13.02.2012
https://sampwiki.blast.hk/wiki/GetObjectRot
O parвmetro "Rotz" equivale ao parвmetro "Angle" da funзгo GetPlayerFacingAngle.
Re: [AJUDA/DESAFIO] Funзгo Pra Editar Mapa -
dudaefj - 13.02.2012
Quote:
Originally Posted by CyNiC
|
isso eu sei
mas nгo me ajuda em nada lol
й lei dos cossenos pra encontrar o вngulo entre 2 pneus concecutivos
й isso que eu qro, nгo a rotaзгo dele em relaзгo ao N
Re: [AJUDA/DESAFIO] Funзгo Pra Editar Mapa -
Kmatsu - 13.02.2012
Nao sei ser й exatamente isso que vocк quer... Use o Tool Box do mta
[ame]http://www.youtube.com/watch?v=ZF1D5KQiMiw[/ame]
Nao tenho link de download.. mas creio eu que seja facil achar
Re: [AJUDA/DESAFIO] Funзгo Pra Editar Mapa -
dudaefj - 13.02.2012
Quote:
Originally Posted by Kmatsu
|
pow, nao conhecia essa tool box, deve ajudar bastante =)
mas ainda qro tentar resolver esse problema uhauha
mas agora acho q ta facinho...
Re: [AJUDA/DESAFIO] Funзгo Pra Editar Mapa -
dudaefj - 13.02.2012
Quote:
Originally Posted by RoamBR
Para isso й melhor o RCG, o toolbox nгo tem a flexibilidade de ser utilizado com qualquer objeto, jб o RCG irб fazer uma repetiзгo com qualquer objeto.
Se vocк modificasse o Toolbox para ele rodar com os objetos e os parвmetros dos pneus iria ser muito ъtil para vocк.
|
TollBox e RCG
vo ver os dois dps
@Edit2
Код:
stock Circunferencia(Float:Xo,Float:Yo,Float:Zo,raio)
{
new Float:Teta = acos(1-floatdiv(2,floatpower(raio,2)));
new Float:X,Float:Y;
new lala = 1;
while(Teta < 360)
{
X = Xo + raio*floatcos(Teta,degrees);
Y = Yo + raio*floatsin(Teta,degrees);
lala++;
Teta = lala*acos(1-floatdiv(2,floatpower(raio,2)));
printf("CreateDynamicObject(1327,%f,%f,%f,0,90,0);",X,Y,Zo);
}
}
eis a funзгo
funcionando 100% certinho xD
agradeзo a quem ajudo
dps tento fazer com vetor tbm xD