🤔 Para Refletir :
"O que e um game dev? Uma miseravel pequena pilha de projetos !"
- codingkitsune

JSON - Alguém poderia me indicar como manipular esses arquivos?

DadoCWB Masculino

Duque
Membro
Membro
"Esto no me gusta"
Juntou-se
02 de Setembro de 2018
Postagens
728
Bravecoins
1.849
Estou tentando manipular os JSON mas não encontro em lugar nenhum uma exlicação didática de como fazer isso.
Quero acessar um MAPA X por meio de script e pegar informações desse mapa dentro da pasta data.
 
O que você quer exatamente? Uma função que abra um arquivo JSON? É do RMMV? Nunca usei ele nem JavaScript, mas uma pesquisa no Google me fez chegar a isso:
https://techoverflow.net/2018/03/30/reading-an-uploaded-file-into-memory-using-pure-javascript/
http://jsfiddle.net/Noitidart/zTe4j/3/
Pelo que entendi, o código para ler um arquivo JSON seria algo como:
Código:
function readJSON() {
    var path = "caminho aqui"
    var reader = new FileReader();
    reader.onload = function (event) {
        var json = JSON.parse(event.target.result)
        // o que vc quer fazer com o json aqui
    };
    reader.readAsText(path);
}
OBS: não testei esse código porque não tenho interpretador de JavaScript aqui, mas é pra ser algo parecido com isso. Qualquer coisa dá uma olhada na documentação das classes FileReader e JSON.
 
DadoCWB comentou:
Estou tentando manipular os JSON mas não encontro em lugar nenhum uma exlicação didática de como fazer isso.
Quero acessar um MAPA X por meio de script e pegar informações desse mapa dentro da pasta data.
Opa tudo bom? Se for o caso de ser RPG MAKER MV, você pode usar o modulo file system do node.js.
Código:
    let fs = require('fs'),
        path = require("path"),
        base = path.dirname(process.mainModule.filename),
        mapPath = path.join(base, 'data/Map001.json');
    if (fs.existsSync(mapPath)) {
        let data = JSON.parse(fs.readFileSync(mapPath, 'utf8'));
        console.log(data);
    }
Se a sua intenção é obter informações por script do mapa seria muito mais facil usar o $dataMap, $dataMapInfos ou $gameMap. Mas cabe a você escolher qual a melhor opção.
 
Vou experimentar esses códigos que vocês estão me sugerindo. Muito obrigado.

Explicando um pouco mais minha dúvida: ao que me parece o $gameMap e $dataMap me possibilitam informações do mapa atual, ou seja, o mapa no qual o jogador se encontra. Eu quero informações de um mapa que não está em execução.

O que exatamente estou tentando programa: Eu tenho 3 mapas e em cada um deles possuo um uma posição x,y do mapa tageada com uma regionId.  Eu quero  ter acesso a localização (x,y) dessa tag independente do mapa que o jogador esteja.

E por que isso? Imagina que a tag=10 esteja na posição x=5,y=5 do mapa 1. O jogador está no mapa 2 e ativa o script de teleporte (que estou criando). Minha intenção é que ele seja teletransportado para o mapa 1 onde na posição que está a tag 10.

Eu poderia informar manualmente a localização da tag no mapa 1, claro, mas fazer isso pra 100 mapas me parece um tanto maçante e pouco elegante. E não serão 4 tags por mapa. 
 
DadoCWB comentou:
Vou experimentar esses códigos que vocês estão me sugerindo. Muito obrigado.

Explicando um pouco mais minha dúvida: ao que me parece o $gameMap e $dataMap me possibilitam informações do mapa atual, ou seja, o mapa no qual o jogador se encontra. Eu quero informações de um mapa que não está em execução.

O que exatamente estou tentando programa: Eu tenho 3 mapas e em cada um deles possuo um uma posição x,y do mapa tageada com uma regionId.  Eu quero  ter acesso a localização (x,y) dessa tag independente do mapa que o jogador esteja.

E por que isso? Imagina que a tag=10 esteja na posição x=5,y=5 do mapa 1. O jogador está no mapa 2 e ativa o script de teleporte (que estou criando). Minha intenção é que ele seja teletransportado para o mapa 1 onde na posição que está a tag 10.

Eu poderia informar manualmente a localização da tag no mapa 1, claro, mas fazer isso pra 100 mapas me parece um tanto maçante e pouco elegante. E não serão 4 tags por mapa.
Vou fazer seu script e lançar nesse tópico
 
Voltar
Topo Inferior