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

Corrigir a estrutura desses códigos [RMMV]

Iniciado por Naemegashi Yokohuro, 22/02/2017 às 00:01

Vai dentro da função Coinchange, e coloca na primeira linha dentro dele: var activecoin = 0;
Testa isso e vê o que diz. Pois acho que, mesmo que você tenha definido o activecoin no chamar script, creio que dentro do Coinchange ele não esteja mais encontrando.

Tentei assim e não tinha dado certo, acho que é porque o código estava usando o allcards e allcoins de maneira local.
Funcionou assim:
Cards and Coins.js
var $allcards = new Object();
var $allcoins = new Object();
$allcards = [{name: "Werewolf", atk: 70, def: 30, type:[1,2], atkbuff: 0, defbuff: 0, price: 60}];
$allcoins = [{name: "Ilha", type: 0, mapstrongness:[0], mapweakness:[2], atkbuff: 200, defbuff: 200, backgroundpicture: "Camp Island", coinpicture: "Coin Island", bgm: ["Town1", 90, 100, 0], bgs: ["Sea", 70, 100, 0], price: 110},
                      {name: "Espaço", type: 0, mapstrongness:[1], mapweakness:[0,2,3], atkbuff: 200, defbuff: 200, backgroundpicture: "Camp Space", coinpicture: "Coin Space", bgm: ["Dungeon1", 50, 100, 0], bgs: ["", 0, 0, 0], price: 210}];
[close]

Change Coing.js
function Coinchange() {
  allcards = $allcards;
  allcoins = $allcoins;
    if (allcoins[activecoin].type == 0) {
      for(i = 0; i < 3 ; i++) {
        for (j = 0; j < allcoins[activecoin].mapstrongness.length - 1; j++) {
          if (allcards[enemycards[i]].type.indexOf(j) !== -1) {
            allcards[enemycards[i]].atkbuff = allcoins[activecoin].atkbuff;
            allcards[enemycards[i]].defbuff = allcoins[activecoin].defbuff;
          };
          if (allcards[playercards[i]].type.indexOf(j) !== -1) {
            allcards[playercards[i]].atkbuff = allcoins[activecoin].atkbuff;
            allcards[playercards[i]].defbuff = allcoins[activecoin].defbuff;
          };
        };
        for (j = 0; j < allcoins[activecoin].mapweakness.length - 1; j++) {
          if (allcards[enemycards[i]].type.indexOf(j) !== -1) {
            allcards[enemycards[i]].atkbuff = -allcoins[activecoin].atkbuff;
            allcards[enemycards[i]].defbuff = -allcoins[activecoin].defbuff;
          };
          if (allcards[playercards[i]].type.indexOf(j) !== -1) {
            allcards[playercards[i]].atkbuff = -allcoins[activecoin].atkbuff;
            allcards[playercards[i]].defbuff = -allcoins[activecoin].defbuff;
          };
        };
      };
      $gameScreen.showPicture(1, allcoins[activecoin].backgroundpicture, 0, 0, 0, 100, 100, 255, 0);
      $gameScreen.showPicture(17,	allcoins[activecoin].coinpicture, 0, 409, 331,	100, 100, 255, 0);
      var mapbgm = { name: allcoins[activecoin].bgm[0], volume: allcoins[activecoin].bgm[1],pitch: allcoins[activecoin].bgm[2], pan: allcoins[activecoin].bgm[3]};
      var mapbgs = { name: allcoins[activecoin].bgs[0], volume: allcoins[activecoin].bgs[1],pitch: allcoins[activecoin].bgs[2], pan: allcoins[activecoin].bgs[3]};
      AudioManager.playBgm(mapbgm);
      AudioManager.playBgs(mapbgs);
    };
  };
[close]

Muito obrigado Alisson, finalmente posso continuar meu TCG.

Na verdade o $ não significa nada em javascript, haha' Acho que o problema era que você estava usando variáveis duplicadas xD
Mas pô, estou feliz em ter ajudado. Qualquer coisa só avisar o/