Página 1 de 1

Como quebrar strings em pontos determinados?

Enviado: Sex Dez 18, 2020 1:37 pm
por Mysterious Stranger
Tarde, galera.

Seguinte, eu estou fazendo um sistema de save que vai salvar uma quantidade grande de informações de uma única entidade. Para otimizar o tempo de salvamento e do tamanho do arquivo gerado, eu queria substituir os dados por códigos simples de números. Por exemplo:
0000.00.000 onde -> 0000 (nome), 00 (local onde está), 000 (cor da roupa), etc... é só um exemplo.

Minha dúvida é a seguinte: qual função posso usar para quebrar essa string na parte dos pontos? Depois de quebrar, posso pegar os pedaços e substituir pelos verdadeiros dados.

Re: Como quebrar strings em pontos determinados?

Enviado: Sex Dez 18, 2020 6:57 pm
por Chuaschinai
Fiz um pequeno exemplo com base no que você disse, onde você pode dividir a string modifica-la e então retornar essa modificação feita novamente para texto.
Fiz na versão 1.4.9999, mas se estiver na versão 2 do Gamemaker, e só importar que ele converte tudo automaticamente.

Há 3 scripts no exemplo:
- StringSplit que divide em array um determinada string com base no símbolo
- StringReplaceInArray que substitui o valor desse array em relação ao index especificado
- ArrayToString que converte o array modificado ou qualquer outro para string, inserindo algum símbolo entre eles
[Exemplo]

Re: Como quebrar strings em pontos determinados?

Enviado: Sáb Dez 19, 2020 12:03 pm
por Mysterious Stranger
grononmc escreveu:Fiz um pequeno exemplo com base no que você disse, onde você pode dividir a string modifica-la e então retornar essa modificação feita novamente para texto.
Fiz na versão 1.4.9999, mas se estiver na versão 2 do Gamemaker, e só importar que ele converte tudo automaticamente.

Há 3 scripts no exemplo:
- StringSplit que divide em array um determinada string com base no símbolo
- StringReplaceInArray que substitui o valor desse array em relação ao index especificado
- ArrayToString que converte o array modificado ou qualquer outro para string, inserindo algum símbolo entre eles
[Exemplo]
Valeu, grononmc.
Eu fui fuçando ontem e achei um código e adaptei para minhas necessidades na parte do split. A lógica ficou similar. Gostei desse código de conversão array to string. Vou usar parte dele. Valeu!
Agora e testar e ver se vai otimizar bem a tarefa de save/load e do tamanho do arquivo.

----------------------

Implementei os códigos. Ficou maravilhoso! Estava demorando 1 minuto para salvar o arquivo. Agora tá levando 9 segundos! E o arquivo baixou de 850kb pra 120kb.

Valeu demais! :blz: