Salvar coordenada em unica variavel - MateusCandido - 10/05/2021
Gostaria de saber se é possivel salvar toda uma coordenada em apenas 1 variável para depois reutilizar?
Como por exemplo, ao invés de fazer assim:
Código: new Float:Variavel[3];
Variavel[0] = 100.0;
Variavel[1] = 200.0;
Variavel[2] = 300.0;
CreateObject(Variavel[0], Variavel[1], Variavel[2]);
Fazer assim:
Código: new Float:Variavel[3];
Variavel[3] = { 100.0, 200.0, 300.0 };
CreateObject(Variavel[0], Variavel[1], Variavel[2]);
Queria saber se tem como, pois preciso fazer um sistema que vai utilizar muitas coordenadas, e assim reduziria o codigo, mas sempre que eu tento fazer desta segunda forma recebo erros falando que precisa ser string ou que o valor da array não esta de acordo com a definição.
RE: Salvar coordenada em unica variavel - Burunu - 10/05/2021
(10/05/2021 14:09)MateusCandido Escreveu: Gostaria de saber se é possivel salvar toda uma coordenada em apenas 1 variável para depois reutilizar?
Como por exemplo, ao invés de fazer assim:
Código: new Float:Variavel[3];
Variavel[0] = 100.0;
Variavel[1] = 200.0;
Variavel[2] = 300.0;
CreateObject(Variavel[0], Variavel[1], Variavel[2]);
Fazer assim:
Código: new Float:Variavel[3];
Variavel[3] = { 100.0, 200.0, 300.0 };
CreateObject(Variavel[0], Variavel[1], Variavel[2]);
Queria saber se tem como, pois preciso fazer um sistema que vai utilizar muitas coordenadas, e assim reduziria o codigo, mas sempre que eu tento fazer desta segunda forma recebo erros falando que precisa ser string ou que o valor da array não esta de acordo com a definição.
É possível sim! Além disso, é possível salvar mais de uma posição(X,Y,Z) em apenas uma variável.
Ex:
Código PHP: new Float:Variavel[8][3] = { {1518.3596,-1459.9932,9.5000}, {1606.9006,-1427.1610,13.4378}, {1641.3010,-1304.1602,15.7496}, {1641.3010,-1304.1602,15.7496}, {1852.5596,-1226.3092,17.5544}, {1772.5421,-1166.5100,23.6560}, {1671.8254,-1159.1508,23.6563}, {1599.1776,-1009.4454,23.9063} };
RE: Salvar coordenada em unica variavel - MateusCandido - 11/05/2021
(10/05/2021 15:59)Burunu Escreveu: (10/05/2021 14:09)MateusCandido Escreveu: Gostaria de saber se é possivel salvar toda uma coordenada em apenas 1 variável para depois reutilizar?
Como por exemplo, ao invés de fazer assim:
Código: new Float:Variavel[3];
Variavel[0] = 100.0;
Variavel[1] = 200.0;
Variavel[2] = 300.0;
CreateObject(Variavel[0], Variavel[1], Variavel[2]);
Fazer assim:
Código: new Float:Variavel[3];
Variavel[3] = { 100.0, 200.0, 300.0 };
CreateObject(Variavel[0], Variavel[1], Variavel[2]);
Queria saber se tem como, pois preciso fazer um sistema que vai utilizar muitas coordenadas, e assim reduziria o codigo, mas sempre que eu tento fazer desta segunda forma recebo erros falando que precisa ser string ou que o valor da array não esta de acordo com a definição.
É possível sim! Além disso, é possível salvar mais de uma posição(X,Y,Z) em apenas uma variável.
Ex:
Código PHP: new Float:Variavel[8][3] = { {1518.3596,-1459.9932,9.5000}, {1606.9006,-1427.1610,13.4378}, {1641.3010,-1304.1602,15.7496}, {1641.3010,-1304.1602,15.7496}, {1852.5596,-1226.3092,17.5544}, {1772.5421,-1166.5100,23.6560}, {1671.8254,-1159.1508,23.6563}, {1599.1776,-1009.4454,23.9063} };
Sim, eu faço uso de matrizes, só que eu preciso definir as coordenadas após criar a array...
Estou fazendo assim:
Código: //Fora da chave
new Float:Var[1][3];
//Dentro da chave
Var[1][3] = { {100.0, 200.0, 300.0} };
Porém sempre recebo "(error) array index out of bounds" e "(error) must be assigned to an array"
RE: Salvar coordenada em unica variavel - ipsLuan - 13/05/2021
Use como exemplo:
Código PHP: new Float:Rotas_Plantar[][11] = { {-2501.8293,-2580.5286,70.2651}, {-2497.5786,-2580.3533,70.4259}, {-2490.8821,-2580.6663,70.6557}, {-2487.6008,-2580.6702,70.7743}, {-2485.4519,-2583.6624,70.7321}, {-2490.4270,-2585.0120,70.4979}, {-2484.4314,-2587.9077,70.5988}, {-2494.3198,-2589.3127,70.1846}, {-2502.8594,-2586.8796,69.9731}, {-2496.6804,-2583.9797,70.3130} }
new rand = random(sizeof(Rotas_Plantar));
SetPlayerCheckpoint(playerid, Rotas_Plantar[rand][0], Rotas_Plantar[rand][1], Rotas_Plantar[rand][2], 1.0);
RE: Salvar coordenada em unica variavel - MateusCandido - 17/05/2021
(13/05/2021 08:57)ipsLuan Escreveu: Use como exemplo:
Código PHP: new Float:Rotas_Plantar[][11] = { {-2501.8293,-2580.5286,70.2651}, {-2497.5786,-2580.3533,70.4259}, {-2490.8821,-2580.6663,70.6557}, {-2487.6008,-2580.6702,70.7743}, {-2485.4519,-2583.6624,70.7321}, {-2490.4270,-2585.0120,70.4979}, {-2484.4314,-2587.9077,70.5988}, {-2494.3198,-2589.3127,70.1846}, {-2502.8594,-2586.8796,69.9731}, {-2496.6804,-2583.9797,70.3130} }
new rand = random(sizeof(Rotas_Plantar));
SetPlayerCheckpoint(playerid, Rotas_Plantar[rand][0], Rotas_Plantar[rand][1], Rotas_Plantar[rand][2], 1.0);
Você passou exatamente a mesma coisa que o rapaz de cima falou, eu sei usar matrizes desta forma, mas eu preciso setar as informações APÓS criar a matriz e não quando crio ela.
|