🤔 Para Refletir :
"Água mole em pedra dura tanto bate até que fura... Bem, exceto se você alterar as configurações de resistência elemental do seu projeto!"
- Moge

oque é isso? (error em script RGSS3)

Estado
Tópico fechado. Não é possível fazer postagens nela.

sir helix

Cidadão
Membro
Membro
Juntou-se
30 de Julho de 2015
Postagens
198
Bravecoins
0
na moral
index.php

 

Anexos

Veja o que o erro diz. "Undefined local variable or method". Quer dizer que você tá usando algum nome (de variável ou método) que não foi definido, e o interpretador/compilador não sabe o que é. No seu caso, é o "input", termo que não existe. Você provavelmente queria o "Input" (i maiúsculo), esse sim existe. Além disso, não tenho certeza, mas até onde eu lembro o ":a" deveria ser ":A". Muito cuidado com essas letras maiúscula/minúscula, Ruby é sensível a isso :x

(algo me diz também que aquele "bgm" tbm deveria ser maiúsculo. Enfim, se acontecer mais algum erro desses, cê já sabe o que é xD)
 
Pretty-Belle comentou:
Veja o que o erro diz. "Undefined local variable or method". Quer dizer que você tá usando algum nome (de variável ou método) que não foi definido, e o interpretador/compilador não sabe o que é. No seu caso, é o "input", termo que não existe. Você provavelmente queria o "Input" (i maiúsculo), esse sim existe. Além disso, não tenho certeza, mas até onde eu lembro o ":a" deveria ser ":A". Muito cuidado com essas letras maiúscula/minúscula, Ruby é sensível a isso :x

(algo me diz também que aquele "bgm" tbm deveria ser maiúsculo. Enfim, se acontecer mais algum erro desses, cê já sabe o que é xD)
... então era só isso... já ia desistindo de scripter por causa disso XD
mas... quando eu pressiono a tecla "S" não toca a musica eu já tentei com bgm em letras maiúsculas e não funfo
 
sir helix comentou:
Pretty-Belle comentou:
Veja o que o erro diz. "Undefined local variable or method". Quer dizer que você tá usando algum nome (de variável ou método) que não foi definido, e o interpretador/compilador não sabe o que é. No seu caso, é o "input", termo que não existe. Você provavelmente queria o "Input" (i maiúsculo), esse sim existe. Além disso, não tenho certeza, mas até onde eu lembro o ":a" deveria ser ":A". Muito cuidado com essas letras maiúscula/minúscula, Ruby é sensível a isso :x

(algo me diz também que aquele "bgm" tbm deveria ser maiúsculo. Enfim, se acontecer mais algum erro desses, cê já sabe o que é xD)
... então era só isso... já ia desistindo de scripter por causa disso XD
mas... quando eu pressiono a tecla "S" não toca a musica eu já tentei com bgm em letras maiúsculas e não funfo


helix quando tiver dúvidas quanto alguns comandos, nada melhor do que olhar os outros scripts padrões do maker XD

Lá dá pra você ter ideia de como foi feito e aplicar a seu modo.

Boa sorte \o/
 
Olha, eu vou tentar responder meio nas sombras mesmo, pq não sei exatamente como funciona RGSS3, e faz mais de um ano que eu toquei esses scripts :x
Mas eu vou listar as possíveis causas desse problema:
1) Você só chama o "update" uma vez. Como essa é uma classe nova, tenho a impressão que o sistema do RM não detecta que esse "update" é para ser chamado todo frame. Tenta colocar esse código dentro do método update do player, em vez de criar uma classe nova. Esse eu tenho certeza que ele chama todo frame. (é o script Game_Player, se não me engano)
2) Se liga nas teclas. ":S" não significa que é a tecla S, esse S aí é só uma "chave" para se referir a uma tecla qualquer. Eu não lembro quais são as teclas padrão, mas se vc rodar o jogo e apertar Esc dá para configurá-las. Por ex, por padrão o ":X" se refere à tecla A, não à tecla X.

Sabe o que você pode fazer também, que é muito útil? Debugar. O comando "puts" imprime uma string no console (você tem que habilitar a opção de abrir o console). Então se eu escrever puts "blablabla" dentro desse método update é para a string "blablabla" aparecer lá. Se ela aparecer várias vezes, é porque o método tá sendo chamado todo frame como deveria, mas se só aparecer uma vez, é porque só chamou uma vez mesmo.
 
Tome cuidado com um detalhe: Ruby (assim como muitas outras linguagens de programação) são caso-sensível (case-sensitive), ou seja, "audio" e "Audio" não são a mesma coisa.

Enfim, então, por partes:

1: O correto é "Input" (com o "i" maiúsculo), mas isso já foi corrigido pela Pretty-Belle e pelo jeito você também corrigiu.

2: Como a Pretty também falou, :S (e lembrando que é S maiúsculo, não minúsculo - novamente, ":s" e ":S" são coisas diferentes!) não significa a letra S do teclado, e sim em relação à tecla S definida no gamepad que o RPG Maker usa de referência (não sei por que, trabalhar com ASCII e mapeamento é bem mais simples do que pensar em gamepads). Perceba que S no RPG Maker é na verdade a tecla Y do teclado. Pressione F1 quando estiver testando seu jogo para ver essas teclas:
Cs5IDct.png


Veja na documentação quanto às teclas (a página está em inglês, só para avisar): http://www.rpg-maker.fr/dl/monos/aide/vx/index.html?page=source%2Frgss%2Fgc_sprite.html

3: Como falei, não seria "audio.play_bgm", e sim "Audio.play_bgm". Não deu erro aí provavelmente porque nunca passou no teste do "if Input.trigger?(:s)", por conta dos dois motivos acima ;)
 
Estado
Tópico fechado. Não é possível fazer postagens nela.
Voltar
Topo Inferior