Help aqui com esse script

6 Respostas   248 Visualizações

0 Membros e 1 Visitante estão vendo este tópico.

Nazuska

  • *
  • Posts: 16
  • Ouros: 2
  • Make a Maker and not the creation
Tópico criado em: 01/08/2018 às 15:04 - Última modificação por Corvo em 11/08/2018 às 11:16

Então guys faz um tempo que não uso o editor de scripts então eu me perdi no código pra fazer uma modificação em um script.
Eu estou tentando fazer com que ele funcione quando determinada switch esta ativada

Basicamente estou tentando implementar isso
Código: [Selecionar]
module CONTROL
  SWITCH = 1
end

  if $game_switches[CONTROL::SWITCH] == true

nesse script
Spoiler
[close]

só que eu não lembro como faz, alguém poderia me ajudar plz
desculpa se postei no lugar errado

 

Gabriel

Resposta 1: 01/08/2018 às 15:26

Qual a função desse script? Eu testei aqui e ele só fez deixar a tela do jogo em uma resolução esquisita.

O modo certo de criar a condição seria esse:
Código: (linha 34) [Selecionar]
MEOW_RESIZE.set if $game_switches[CONTROL::SWITCH]Porém existe um problema no que você está tentando fazer, o método set é chamado no início do jogo, antes mesmo de $game_switches existir, então é basicamente impossível fazer essa condição funcionar desta maneira. E outra, justamente por causa disso, mesmo que em determinado momento do jogo você mude o valor da switch designada nada ocorrerá já que o método é chamado apenas uma vez e apenas no começo do jogo.


Nazuska

  • *
  • Posts: 16
  • Ouros: 2
  • Make a Maker and not the creation
Resposta 2: 01/08/2018 às 15:45

Desculpa eu tava na pressa pra fazer esse post ;-;
então por ele deixar em fullscreen o jogo eu queria usar ele mas queria que fosse uma opção dentro do jogo
mas ele remove a janela do game no modo window, eu disse q fazia tempo que não mexia com ruby.
só queria fazer ele funcionar como alternativa no meu projeto pq os scripts de fullscreen que uso todos estão dando trabalho
esse dai é simples mas queria que fosse ativável e desativável

Gabriel

Resposta 3: 01/08/2018 às 15:59

Não sei se é só aqui, mas esse script  buga a resolução em vez de só colocar em fullscreen. Te recomendo fortemente esse aqui, ele a propósito já vem nativamente com uma opção de mudar a tela apertando F5/F6.

Sobre ser ativável ou desativável, depende de como quer que isso funcione, pelo mapa ou pelo menu? Se for pelo menu não tem necessidade de utilizar switch.

Se me passar todos os detalhes faço o esquema para você.


Nazuska

  • *
  • Posts: 16
  • Ouros: 2
  • Make a Maker and not the creation
Resposta 4: 01/08/2018 às 16:08

Já conheço o Fullscreen++ não consigo utilizar ele, quero mesmo que seja um bag mais raiz pra menu customizável sabe, sem ter q apertar pra mudar resolução
esse que vc passou é bom mas aqui ele fica muito doido uma hora abre em full outra em window pra mim não compensa.
esse que passe é melhor pra mim pq ele não precisa redimensionar mapa nem imagens e ele remove o meu terror que são as bordas pretas 

Gabriel

Resposta 5: 01/08/2018 às 16:14

Cara, esse que tu postou deixa a resolução da tela torta.
Quanto ao Fullscreen++ é questão de saber usar apenas, a menos que você mude as dimensões da tela não é preciso mudar nada do projeto padrão ao utilizá-lo. Ele, diferente desse que você postou aqui, redimensiona a tela de forma a aumentar o máximo possível sem estragar a resolução, mantendo a proporção da tela.
Mas tudo bem, se tu prefere a resolução torta, bora lá. Depois vou fazer uma modificação no menu pra tu e posto aqui.


Brandt

Resposta 6: 04/08/2018 às 23:15

Código: [Selecionar]
#==============================================================================
# ■ Meow Face Force Full Screen
#------------------------------------------------------------------------------
# Force the game to run in Full Screen (with no black border)
#==============================================================================
# How to Use:
# Plug & Play, Put this script below Material and above Main
#==============================================================================

MF_GPPSA = Win32API.new('kernel32', 'GetPrivateProfileStringA', 'PPPPLP', 'L')
MF_FW = Win32API.new('user32', 'FindWindow', 'pp', 'l')
MF_SWL = Win32API.new('user32', 'SetWindowLong', 'iii', 'i')
MF_SWP = Win32API.new('user32', 'SetWindowPos', ['l','i','i','i','i','i','p'], 'i')
MF_FWE = Win32API.new('user32', 'FindWindowEx', ['l','l','p','p'], 'i')
MF_GSM = Win32API.new('user32', 'GetSystemMetrics', ['i'], 'i')
MF_AWR = Win32API.new('user32', 'AdjustWindowRectEx', ['p', 'i', 'i', 'i'], 'i')
MF_GWL = Win32API.new('user32', 'GetWindowLong', ['l', 'i'], 'l')

module MEOW_RESIZE
 
  @@fullscreen = false
 
  def self.set
    width = MF_GSM.call(0)
    height = MF_GSM.call(1)
    exwin = MF_FWE.call(0,0,"RGSS Player",0)   
    @@original_style = MF_GWL.call(exwin, -16)
    MF_SWP.call(exwin,0,0,0,width,height,0)
    MF_SWL.call(exwin, -16, 0x14000000)
    @@fullscreen = true
  end
 
  def self.unset
    return unless @@original_style
    exwin = MF_FWE.call(0,0,"RGSS Player",0)
    style = @@original_style
    rect = [0, 0, Graphics.width, Graphics.height].pack('I4')
    MF_AWR.call(rect, style, 0, MF_GWL.call(exwin, -20))
    rect = rect.unpack('I4')
    width = rect[2]
    height = rect[3]
    x = MF_GSM.call(0) / 2 - width / 2
    y = MF_GSM.call(1) / 2 - height / 2
   
    MF_SWP.call(exwin,-1,x,y,width,height,0)
    MF_SWL.call(exwin, -16, style)
    @@fullscreen = false
  end
 
  def self.toggle
    @@fullscreen ? unset : set
  end
end
#==============================================================================
# ** Scene_Menu
#------------------------------------------------------------------------------
#  Esta classe executa o processamento da tela de menu.
#==============================================================================
class Scene_Menu < Scene_MenuBase
  def toggle_fullscreen
    MEOW_RESIZE.toggle
    SceneManager.goto(Scene_Menu)
  end
  #--------------------------------------------------------------------------
  # * Criação da janela de comando
  #--------------------------------------------------------------------------
  alias fullscreen_zoado_create_command_window create_command_window
  def create_command_window
    fullscreen_zoado_create_command_window
    @command_window.set_handler(:fullscreen, method(:toggle_fullscreen))
  end
end
#==============================================================================
# ** Window_MenuCommand
#------------------------------------------------------------------------------
#  Esta janela exibe os comandos do menu.
#==============================================================================
class Window_MenuCommand < Window_Command
  alias fullscreen_add_original_commands add_original_commands
  #--------------------------------------------------------------------------
  # * Adição de comandos próprios
  #--------------------------------------------------------------------------
  def add_original_commands
    fullscreen_add_original_commands
    add_command("Tela Cheia", :fullscreen)
  end
end

Só colar acima do main. Esse script cria uma opção no menu chamada "Tela Cheia" (pra mudar o texto é só ir na linha 85, é importante manter entre aspas) que alterna entre full screen e windowed
~ Masked