Mas dá para ver que você não colocou os chars criados num array, você criou todos eles na mesma variável,
cballas
, tem que guardar todos num array para poder rodar eles de novo.cballas
, tem que guardar todos num array para poder rodar eles de novo.NeverGrinch_ escreveu: ↑23 Jul 2019, 02:32Is there any way to declare them like this?
Código: Selecionar tudo
array[5] = {1000.0, 2.0, 3.4, 7.0, 50.0}
Sim, mas já pensou em...?Such02 escreveu: ↑22 Jun 2019, 11:33SpoilerAbrirCódigo: Selecionar tudo
SCRIPT_START { LVAR_INT vars[5] LVAR_INT n GENERATE_RANDOM_INT_IN_RANGE 0 100 vars[0] WAIT 3000 WHILE NOT vars[0] = 12 WAIT 0 IF vars[0] > 12 vars[0] -= 1 ENDIF IF vars[0] < 12 vars[0] += 1 ENDIF ENDWHILE REPEAT 5 n vars[n] = vars[0] ENDREPEAT PRINT_FORMATTED_NOW "Todas as variaveis sao 12: %i %i %i %i %i" 10000 vars[0] vars[1] vars[2] vars[3] vars[4] } SCRIPT_END
Creio que consegui achar uma funcionalidade para a variáveln
, da uma olhada ae.
Código: Selecionar tudo
REPEAT 5 n
WHILE NOT vars[n] = 12
IF vars[n] > 12
vars[n] -= 1
ENDIF
IF vars[n] < 12
vars[n] += 1
ENDIF
ENDWHILE
ENDREPEAT
n
? Você nunca mudou o valor dela, sempre será 0.Sim, isto já foi explicado.Gabriel Pinheiro escreveu: ↑19 Dez 2018, 19:29O repeat é tipo um for... Mas algo que me deixou curioso é se não é preciso inicializar as posições da array, elas já ficam com um valor crescente automaticamente ?
Tópico antigo: http://brmodstudio.forumeiros.com/t6065-16-arrays
Arrays são muito opcionais e você pode não querer usar, mas várias vezes você pode preferir para deixar seu script mais bonito e organizado, e principalmente, diminuir (e muito) a quantidade de linhas, assim deixando o código melhor para ser lido.Concluindo este parte você irá:
Saber dizer o que é, a utilidade e como usar arrays;
Fazer um exercício usando arrays.
Código: Selecionar tudo
LVAR_FLOAT coord[3]
Código: Selecionar tudo
SCRIPT_START
{
LVAR_FLOAT coord[3]
LVAR_INT scplayer
WAIT 3000
GET_PLAYER_CHAR 0 scplayer
GET_CHAR_COORDINATES scplayer coord[0] coord[1] coord[2]
PRINT_FORMATTED_NOW "%.3f %.3f %.3f" 5000 coord[0] coord[1] coord[2]
}
SCRIPT_END
coord
é um array com 3 elementos (uma lista de 3 itens, em palavras mais fáceis).coord[0]
) colocamos a coordenada X, no segundo elemento ("coord[1]") a coordenada Y, e terceiro a Z.0
, ou seja, 3 itens são: [0]
, [1]
e [2]
.Código: Selecionar tudo
SCRIPT_START
{
LVAR_FLOAT x y z
LVAR_INT scplayer
WAIT 3000
GET_PLAYER_CHAR 0 scplayer
GET_CHAR_COORDINATES scplayer x y z
PRINT_FORMATTED_NOW "%.3f %.3f %.3f" 5000 x y z
}
SCRIPT_END
[ ]
, e este número pode ser uma variável! Código: Selecionar tudo
SCRIPT_START
{
LVAR_FLOAT x y z
LVAR_INT chars[10]
LVAR_INT n
LVAR_INT scplayer
WAIT 3000
GET_PLAYER_CHAR 0 scplayer
GET_CHAR_COORDINATES scplayer x y z
REPEAT 10 n
y += 1.0
CREATE_RANDOM_CHAR x y z chars[n]
ENDREPEAT
REPEAT 10 n
SET_CHAR_HEALTH chars[n] 5000
ENDREPEAT
}
SCRIPT_END
REPEAT
aqui!10
chars, e eles estão todos dentro do array chars
.5000
em todos — melhor que qualquer hospital de saúde pública.Código: Selecionar tudo
SET_CHAR_HEALTH chars[0] 5000 // primeiro char
SET_CHAR_HEALTH chars[1] 5000 // primeiro char
(...)
Código: Selecionar tudo
n = 0
SET_CHAR_HEALTH chars[n] 5000 // primeiro char
n += 1
SET_CHAR_HEALTH chars[n] 5000 // segundo char
(...)
REPEAT
. Lembra de como o REPEAT
funciona? Expliquei na parte anterior!vars[5]