- Código:
//-- Fiz um código rápido só para ilustrar
LVAR_INT n, array[3]
LVAR_TEXT_LABEL casa
REPEAT 3 n
STRING_FORMAT casa "casa%i" n
IF NOT READ_INT_FROM_INI_FILE "cleo\arquivo.ini", "config", $casa, array[n]
array[n] = 0
ENDIF
ENDREPEAT

- CloudScripter CLEO - Avançado
- Nick anterior : Israel
Título : Baiano
Mensagens : 858
Reputação : 138
Desde : 22/09/2015
O tópico está incompleto ?
Apenas "to com problema neste $casa" não faz o menor sentido...
Apenas "to com problema neste $casa" não faz o menor sentido...
______________________________
Everyone gonna remember my name !
Bom, não entendi direito, mas, já tentou printar o "n" e o "$casa"? Para ver o que está acontecendo (Coloque um wait 2000 dentro do loop para poder ler todos os prints corretamente dentro do jogo)
______________________________

Modifico quase qualquer coisa. :)
------------------>>>http://gtamodvicio.blogspot.com/ <<<------------------

Meu PC:
- Spoiler:
Configurações PC:
*Processador: Intel Core i7 4790K 4.00GHz LGA1150
*Placa Mãe: GIGABYTE GA-H97M-D3H Intel (LGA1150)
*HD: 1TB Seagate Barracuda 64MB Sata III 7200RPM (2x - RAID 0)
*HD²: SAMSUNG M3 Externo USB 5400RPM 1TB
*Placa de vídeo: Nvidia GTX660 2GB DDR5 192bit EVGA
*RAM: 8GB DDR3 1600MHZ Kingston HYPER X BEAST (2x4GB)
*Fonte: Corsair 600W Reais CX600M Modular - CP-9020060-WW (80 Plus Bronze)
*Gabinete: Gabinete Raidmax Super Hurricane Branco - 248WB
*Monitor: LG 23MP55HQ Full HD HDMI 23'
Esta completo, mas esta meio vago mesmo. no ini estaria
Ai era para nesta parte STRING_FORMAT casa "casa%i" n a label casa juntar com o n e formar casa1, casa2, casa3... e jogar onde esta $casa
isto funciona assim
mas não funciona assim
sem repeat fazendo um por um seria assim

- Código:
[config]
casa1=50
casa2=38
casa3=43
Ai era para nesta parte STRING_FORMAT casa "casa%i" n a label casa juntar com o n e formar casa1, casa2, casa3... e jogar onde esta $casa
isto funciona assim
- Código:
PRINT_FORMATTED_NOW "%d" 2000 $casa
mas não funciona assim
- Código:
READ_INT_FROM_INI_FILE "cleo\arquivo.ini", "config", $casa, array[n]
sem repeat fazendo um por um seria assim
- Código:
READ_INT_FROM_INI_FILE "cleo\arquivo.ini", "config", "casa1", array[1]
READ_INT_FROM_INI_FILE "cleo\arquivo.ini", "config", "casa2", array[2]
READ_INT_FROM_INI_FILE "cleo\arquivo.ini", "config", "casa3", array[3]

- CloudScripter CLEO - Avançado
- Nick anterior : Israel
Título : Baiano
Mensagens : 858
Reputação : 138
Desde : 22/09/2015
REPEAT começa de 0 e não de 1, não lembro se tá no tutorial mas deve tá.
______________________________
Everyone gonna remember my name !
- Código:
PRINT_FORMATTED_NOW "%d" 2000 $casa
Casa é texto, %d é para inteiro, precisa ser %s

______________________________

Modifico quase qualquer coisa. :)
------------------>>>http://gtamodvicio.blogspot.com/ <<<------------------

Meu PC:
- Spoiler:
Configurações PC:
*Processador: Intel Core i7 4790K 4.00GHz LGA1150
*Placa Mãe: GIGABYTE GA-H97M-D3H Intel (LGA1150)
*HD: 1TB Seagate Barracuda 64MB Sata III 7200RPM (2x - RAID 0)
*HD²: SAMSUNG M3 Externo USB 5400RPM 1TB
*Placa de vídeo: Nvidia GTX660 2GB DDR5 192bit EVGA
*RAM: 8GB DDR3 1600MHZ Kingston HYPER X BEAST (2x4GB)
*Fonte: Corsair 600W Reais CX600M Modular - CP-9020060-WW (80 Plus Bronze)
*Gabinete: Gabinete Raidmax Super Hurricane Branco - 248WB
*Monitor: LG 23MP55HQ Full HD HDMI 23'
@Fabio escreveu:
- Código:
PRINT_FORMATTED_NOW "%d" 2000 $casa
Casa é texto, %d é para inteiro, precisa ser %s
![]()
por falta de atenção errei ai ao editar aqui mesmo, mas o probleminha é nesta parte
acho que não é este símbolo $ que usa ali

- Código:
REPEAT 3 n
STRING_FORMAT casa "casa%i" n
READ_INT_FROM_INI_FILE "cleo\arquivo.ini", "config", $casa, array[n]
ENDREPEAT
@Um Geek escreveu:@Fabio escreveu:
- Código:
PRINT_FORMATTED_NOW "%d" 2000 $casa
Casa é texto, %d é para inteiro, precisa ser %s
![]()
por falta de atenção errei ai ao editar aqui mesmo, mas o probleminha é nesta parte
acho que não é este símbolo $ que usa ali![]()
- Código:
REPEAT 3 n
STRING_FORMAT casa "casa%i" n
READ_INT_FROM_INI_FILE "cleo\arquivo.ini", "config", $casa, array[n]
ENDREPEAT
Eu acho que é esse símbolo sim, já tentou printar o resultado do array[n] depois do read ini?

- Código:
READ_INT_FROM_INI_FILE "cleo\arquivo.ini", "config", "casa1", array[1]
READ_INT_FROM_INI_FILE "cleo\arquivo.ini", "config", "casa2", array[2]
READ_INT_FROM_INI_FILE "cleo\arquivo.ini", "config", "casa3", array[3]
Deveria começar do 0.
Portanto deveria ser assim:
- Código:
[config]
casa0=50
casa1=38
casa2=43
E:
- Código:
READ_INT_FROM_INI_FILE "cleo\arquivo.ini", "config", "casa0", array[0]
READ_INT_FROM_INI_FILE "cleo\arquivo.ini", "config", "casa1", array[1]
READ_INT_FROM_INI_FILE "cleo\arquivo.ini", "config", "casa2", array[2]
______________________________

Modifico quase qualquer coisa. :)
------------------>>>http://gtamodvicio.blogspot.com/ <<<------------------

Meu PC:
- Spoiler:
Configurações PC:
*Processador: Intel Core i7 4790K 4.00GHz LGA1150
*Placa Mãe: GIGABYTE GA-H97M-D3H Intel (LGA1150)
*HD: 1TB Seagate Barracuda 64MB Sata III 7200RPM (2x - RAID 0)
*HD²: SAMSUNG M3 Externo USB 5400RPM 1TB
*Placa de vídeo: Nvidia GTX660 2GB DDR5 192bit EVGA
*RAM: 8GB DDR3 1600MHZ Kingston HYPER X BEAST (2x4GB)
*Fonte: Corsair 600W Reais CX600M Modular - CP-9020060-WW (80 Plus Bronze)
*Gabinete: Gabinete Raidmax Super Hurricane Branco - 248WB
*Monitor: LG 23MP55HQ Full HD HDMI 23'
Era exatamente este o problema, comecei outro script do zero só para ver isto, como não existia o array[0] o resultado ficava assim e atrapalhava os outros seguidos
Valeu mesmo pela ajuda vocês dois
Editado
troquei o REPEAT pelo bom e velho WHILE que pode começar de onde eu quiser, problema resolvido, tão bobo que senti vergonha agora

Valeu mesmo pela ajuda vocês dois

Editado
- Código:
LVAR_INT slot[10], sltRnd, slt, numSlot
LVAR_TEXT_LABEL slotAct
slt = 1
IF NOT READ_INT_FROM_INI_FILE "cleo\IdSummoner.ini" "SLOT" "COUNT" numSlot
numSlot = sltRnd
ENDIF
wait 4000
WHILE slt < numSlot
STRING_FORMAT slotAct "SLOT%i" slt
IF NOT READ_INT_FROM_INI_FILE "cleo\IdSummoner.ini" "SLOT" $slotAct slot[slt]
//GENERATE_RANDOM_INT_IN_RANGE 400, 611, sltRnd
slot[slt] = 0 // sltRnd
ENDIF
PRINT_FORMATTED_NOW "SLOT%d = %d" 2000 slt slot[slt]
wait 2000
slt++
ENDWHILE
troquei o REPEAT pelo bom e velho WHILE que pode começar de onde eu quiser, problema resolvido, tão bobo que senti vergonha agora

Eu já era difícil usar "for to" no Sanny Builder (que é um REPEAT mais dinâmico), imagina eu usar REPEAT no GTA3script! Acho que muito raramente eu usarei. WHILE é fofo.
- NexScripter CLEO - Intermediário
- Mensagens : 1240
Reputação : 99
Desde : 04/03/2013
Idade : 20
Você pode começar do 1 mas ainda sim quando declarar um array com x índices, vai começar do índice 0 ate o índice x-1 então é melhor se acostumar a sempre começar do 0 mesmo se não fica uma variável (array[0]) sem uso...@Um Geek escreveu:troquei o REPEAT pelo bom e velho WHILE que pode começar de onde eu quiser
Observação:
- Código:
GENERATE_RANDOM_INT_IN_RANGE 400, 611, sltRnd
Tanto o início do 0 quanto esse detalhe do RANDOM estão citados no tutorial.
O script estava correto na medida do que aprendi, o erro estava no ini que comecei do 1 então não deu muito certo. na verdade nem precisava em mudar o repeat por while, era só reeditar o ini, mas já dominei esta parte agora

Permissão deste fórum:
Você não pode responder aos tópicos neste fórum
|
|