O TEMA DO FÓRUM ESTÁ EM MANUTENÇÃO. FEEDBACKS AQUI: ACESSAR

Conversão de códigos RGSS3 para Javascript

Iniciado por Lucas Riot, 16/07/2018 às 01:17

16/07/2018 às 01:17 Última edição: 07/12/2018 às 08:52 por Corvo
Hello makers!
Gostaria de saber como ficaria a conversão dos códigos abaixo do RGSS3 para Javascript:
Spoiler
$game_variables[5] = ($game_party.members()[0] ? $game_party.members()[0].name : "-")
$game_variables[6] = ($game_party.members()[1] ? $game_party.members()[1].name : "-")
$game_variables[7] = ($game_party.members()[2] ? $game_party.members()[2].name : "-")
$game_variables[8] = ($game_party.members()[3] ? $game_party.members()[3].name : "-")
[close]

Spoiler
$game_variables[9] = $game_party.members()[1]
[close]

Condições > script
Spoiler
map_skills = [
  [1, 1, 12],    # 1: Eric
  [3, 0, 11],    # 2: Nathalie
]

id = $game_variables[9].id
map = map_skills[id-1]

$game_variables[10] = map[0]
$game_variables[11] = map[1]
$game_variables[12] = map[2]
[close]

Eu encontrei alguns códigos predefinidos nesse site https://kinoar.github.io/rmmv-doc-web/index.html
Mas como nunca mexi, fiquei com dúvidas.
Se alguém puder ajudar, agradeço ^^
Conheça o meu Projeto - Humanelfo ~ Um Segredo Vai Te Libertar

Aqui tem uma lista com os script calls do MV.


Não me lembro se as propriedades são as mesmas no MV pois faz tempo que não mexo na engine, mas a sintaxe de Javascript é assim:

$gameVariables[5] = $gameParty.members[0] !== null ? $gameParty.members[0].name : "-";

$gameVariables[9] = $gameParty.members[1];

var mapSkills = [
    [1, 1, 12], // 1: Eric
    [3, 0, 11], // 2: Nathalie
];

var id = $gameVariables[9].id;
var map = mapSkills[id - 1];

$gameVariables[10] = map[0];
$gameVariables[11] = map[1];
$gameVariables[12] = map[2];

Citação de: Sotelie online 16/07/2018 às 09:22
Não me lembro se as propriedades são as mesmas no MV pois faz tempo que não mexo na engine, mas a sintaxe de Javascript é assim:

$gameVariables[5] = $gameParty.members[0] !== null ? $gameParty.members[0].name : "-";

$gameVariables[9] = $gameParty.members[1];

var mapSkills = [
    [1, 1, 12], // 1: Eric
    [3, 0, 11], // 2: Nathalie
];

var id = $gameVariables[9].id;
var map = mapSkills[id - 1];

$gameVariables[10] = map[0];
$gameVariables[11] = map[1];
$gameVariables[12] = map[2];

Oi! Obrigado por responder.
Eu ainda esqueci um código em condição que seria:
$game_variables[9].is_a?(Game_Actor)

Pois sem ele ainda tá dar o erro Syntax Error Unexpected end of input, daí para eu dizer que funcionou tudo, faltaria essa parte.


Conheça o meu Projeto - Humanelfo ~ Um Segredo Vai Te Libertar

var isActor = $gameVariables[9] instanceof GameActor

Citação de: Sotelie online 16/07/2018 às 17:05
var isActor = $gameVariables[9] instanceof GameActor

Então, eu testei tudo e dá um erro. Vou te explicar o que eu quero fazer para você ter ideia.
Seria um sistema de SkillTree onde leve o jogador para mapas onde os personagens podem destravar habillidades/magias. Cada personagem tem um mapa diferente (ao todo 4 personagens), após ele terminar de destravar as habilidades, ele voltaria ao mapa/fase em que estava.
Defini algumas variáveis:
Spoiler
[close]
Mapas:
Spoiler
[close]

Começando com Evento Comum eu estabeleci alguns comandos como você pode conferir abaixo:
Spoiler
[close]

A ação desse processo começa no evento em um mapa qualquer.
Spoiler
[close]

Ao falar com o NPC, uma janela de escolhas é mostrada para o jogador selecionar qual mapa skill do persoagem ele vai querer. Como no momento só tem o Haroldo jogável, só aparece o nome dele nas escolhas, se você tiver mais personagens na equipe, os nomes vão aparecer. Até aí está tudo funcionando.
Spoiler
[close]

O problema ocorre quando o jogador seleciona o personagem, ao invés de ser teletransportado para o seu mapa skill, o jogo dá crash.
Spoiler
[close]

Bom, neste caso o que estaria dando de errado no processamento do evento comum?
Agradeço desde já.  :ok:
Conheça o meu Projeto - Humanelfo ~ Um Segredo Vai Te Libertar

Em experiências anteriores eu não curti muito chamar blocos de script no meio dos eventos, parecia causar mais erros, mas pode ser só frescura minha pq eu não gosto da leitura, acho mais difícil que os comandos de eventos e mais fáceis de errar tb. Nesse teu exemplo é tudo praticamente atribuição de variável então acho que da pra usar de boas o comando de evento de setar valor d variavel e escolher a opçao script.

Quanto ao erro que aparece, tenta ver o que mostra na janela de debug, são avisos geralmente muito melhores que essas mensagens bizarras q dão na tela.

A única coisa q eu consigo imaginar que esteja dando problema aí é aquela declaração do mapSkills.
Está assim:
var mapSkills = [
    [1, 1, 12],
    [3, 0, 11],
];
eu acho que aquela virgula no "[3, 0, 11]," não existe. seria assim:
var mapSkills = [
    [1, 1, 12],
    [3, 0, 11]
];
Mas tb não sei como funciona os comandos que você usa depois. aquele map = mapSkill não sei se funciona pq nunca precisei atribuir um array assim. podes tentar usar diretamente o mapSkills pra setar as variáveis.

Como pelo começo do post vc parecia não manjar d javascript, tu pode colocar vários console.log("insira um texto aqui"); pra testar se o código ta executando direito, da pra exibir as variáveis nesse comando tipo assim console.log("id: " + id);