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

Kinsoyo RGSS3 Factory - Basic Scripts (Interrompida)

Iniciado por miguel8884, 30/08/2014 às 17:32

30/08/2014 às 17:32 Última edição: 26/02/2015 às 15:07 por miguel8884
Kinsoyo RGSS3 Factory

[box2 class=titlebg title=Descrição]
Essa fábrica eu criei para que vocês possam pedir os scripts que vocês precisam, mas que sejam básicos também, pois ando precisando de ideias! De preferência irei aceitar scripts que envolvam scenes e windows, pois são minhas partes preferidas no rgss3...
[/box2]

[box2 class=titlebg title=Trabalhadores]

Miguel8884| Status: Livre
Exemplos:
Spoiler
Pedidos para:
Spoiler
RMVXACE - Scripts básicos - Scenes e windows(preferência) - Faço imagens, mas nada muito complexo
[close]
[/box2]

[box2 class=titlebg title=Regras]

  • Não aceito mais de um pedido
  • Pedidos muito complexos não serão aceitos
  • Não desrespeite os membros da fábrica
  • Seja claro em seu pedido, o mais claro possível
  • Não faremos as imagens, a não ser que o membro da fábrica aceite fazer as imagens
  • Verifique a quantidade de pedidos incompletos da semana na fila, não serão aceitos mais do que 5 pedidos
[/box2]

[box2 class=titlebg title=Ficha dos pedidos]
Ficha
Membro: Qual membro da fábrica você quer que faça seu pedido
Pedido: Descreva seu pedido, lembre-se, seja o mais claro possível
Imagens: Se o script tiver alguma imagem e o membro que for faze-lo não aceitar fazer as imagens, coloque-as aqui
Algo em que se basear: Se tiver algum script para que o membro se baseie, coloque-o aqui
Complexidade da configuração: A quantidade de configuração no script, se você quiser poder configurar quase que tudo no script, coloque muito, e vice-versa se quiser pouco, isso interfere no tempo de entrega
Tamanho da tela: O tamanho da tela do maker que está usando
[close]
[/box2]

[box2 class=titlebg title=Pedidos concluídos]
Nenhum ainda...
[/box2]

[box2 class=titlebg title=Pedidos em andamento]
[progress=100]Kerton Games - Completo![/progress]
[progress=100]ArrowPotter - Completo![/progress]
[progress=100]Hategum rpg - Completo![/progress]
[progress=100]ArrowPotter - Completo![/progress]
[progress=100]Nick Rock - Completo![/progress]
[progress=100]Equinho - Completo![/progress]
[progress=100]ArrowPotter - Completo![/progress]
[progress=0]KertonGames - Pedido longo![/progress]
[/box2]

[box2 class=titlebg title=Adicional]
Espero que seja útil a vocês, como será útil para mim![/box2]

Membro: Miguel884
Pedido: Preciso de um script que mude a Cena do Save deixa ela simples e com uma váriavel que mostre a porcentagem do jogo.
Imagens: Nenhuma
Complexidade da configuração: Gostaria de uma boa configuração.

Ok...

Bem, é bem fácil seu pedido até, mas a única coisa que gostaria que você especificasse é: como assim mais simples? Se puder fazer um esquema básico no paint ou algo parecido  :blink:

Pedido aceito esperando mais informações

Queria um igual a este, do Star Stealing Prince:

Mas seriam apenas 4 slots mesmo? E quer que adicione suporte para fundo com imagens?

Sim apenas 4 slots, e não nada de fundos.

Pedido completo! Olha eu fiz assim, uma modificação básica, para 4 slots, e para inserir a porcentagem, mas se quiser, posso redimensionar e tirar a opacidade das janelas, para deixar mais parecida com a imagem que me passou! É só colocar o script, configurar do jeito que quiser e testar!

#===============================================================================
# Kinsoyo Factory - RGSS3 - Miguel8884
# Modificação no Scene_Save
#===============================================================================
module Save_Config
  #--------------------------------------------------------------------------
  # * Configurações
  #--------------------------------------------------------------------------
  # String antes da porcentagem em número ser mostrada #
  Percent_Prefix = "Complete:"
  # String depois da porcentagem em número ser mostrada #
  Percent_Sufix = "%"
  # Texto superior na hora de salvar #
  Help_Text = ""
  # Texto superior na hora de carregar #
  HelpLoad_Text = ""
  # Variável que guarda a porcentagem de completo #
  Percent_Var = 1
  # Largura da janela de porcentagem #
  Percent_Window_Width = 200
  #--------------------------------------------------------------------------
  # * Fim das configurações
  #--------------------------------------------------------------------------
end
# Aqui começa o script #
module DataManager
  #--------------------------------------------------------------------------
  # * Número máximo de arquivos salvos
  #--------------------------------------------------------------------------
  def self.savefile_max
    return 4
  end
end

class Window_PercentGame < Window_Base
  #--------------------------------------------------------------------------
  # * Inicialização do objeto
  #--------------------------------------------------------------------------
  def initialize(x,y,width,var,line_number = 1)
    super(x,y,width,fitting_height(line_number))
    draw_text(0,0,width,24,"#{Save_Config::Percent_Prefix} #{$game_variables[var]}#{Save_Config::Percent_Sufix}")
  end
end

class Window_Help < Window_Base
  #--------------------------------------------------------------------------
  # * Inicialização do objeto
  #     line_number : número de linhas
  #     width       : largura
  #--------------------------------------------------------------------------
  def initialize(line_number = 2,width = Graphics.width)
    super(0, 0, width, fitting_height(line_number))
  end
end

class Scene_File < Scene_MenuBase
  alias gst_fct_sve_start start
  #--------------------------------------------------------------------------
  # * Inicialização do processo
  #--------------------------------------------------------------------------
  def start
    gst_fct_sve_start
    create_percent_window
  end
  #--------------------------------------------------------------------------
  # * Criação da janela de ajuda.
  #--------------------------------------------------------------------------
  def create_help_window
    @help_window = Window_Help.new(1,Graphics.width-Save_Config::Percent_Window_Width)
    @help_window.set_text(help_window_text)
  end
  def create_percent_window
    @percent_window = Window_PercentGame.new(Graphics.width-Save_Config::Percent_Window_Width,0,Save_Config::Percent_Window_Width,Save_Config::Percent_Var)
  end
end

module Vocab
  #--------------------------------------------------------------------------
  # * Vocabulários para janela de salvar e carregar
  #--------------------------------------------------------------------------
  SaveMessage     = Save_Config::Help_Text
  LoadMessage     = Save_Config::HelpLoad_Text
end
# Fim do script #

Membro: Miguel884
Pedido: Preciso de um script que analize a pasta do projeto do jogo, por exemplo se tiver o arquivo "DLC" na pasta do jogo o personagem é teletransportado para tal lugar se não estiver ele é teletransportado para outro lugar, gostaria que aceitasse arquivos do bloco de notas exemplo: DLC.txt
Imagens: Não é necessário
Complexidade da configuração: Queria que tivesse uma Switch que ativasse o sistema.

[box2 class=titlebg title=Pedido]Membro: Miguel884
Pedido: Janela de Itens Customizável parecida com a do próprio RMVXAce, só que com apenas uma coluna de itens e do outro lado uma imagen que representará cada itens.... nada muito grande, que eu possa editar no aproprio script qual imagem será usada para o ID de tal Item ou pelo próprio Database em "Comentário". Também se possível ao invés de uma só coluna, uma grade de itens sem nome, como na imagem:
Spoiler
[close]
1- Imagem que representa o item que deve estar na pasta "Pictures" ou definida no próprio script pelo ID do Item.
2- Detalhes do item que estará na descrição do Item do Database.
3- Nome da janela que pode ser modificado de "Janela de Itens" etc.
4- Pocket é onde seus itens ficam para ser usados
5- Mochila é onde ficam os itens que não serão usados pois estou usando um script de Banco.
6- São itens, queria que eles ficassem em GRADE mas pode ser lista tanto faz.
Imagens:
Spoiler
[close]
Algo em que se basear: Pode se basear no script Window_ItemList:
Window_ItemList
#==============================================================================
# ** Window_ItemList
#------------------------------------------------------------------------------
#  Esta janela exibe a lista de itens possuidos na tela de itens.
#==============================================================================

class Window_ItemList < Window_Selectable
  #--------------------------------------------------------------------------
  # * Inicialização do objeto
  #     x      : coordenada X
  #     y      : coordenada Y
  #     width  : largura
  #     height : altura
  #--------------------------------------------------------------------------
  def initialize(x, y, width, height)
    super
    @category = :none
    @data = []
  end
  #--------------------------------------------------------------------------
  # * Definição de categoria
  #--------------------------------------------------------------------------
  def category=(category)
    return if @category == category
    @category = category
    refresh
    self.oy = 0
  end
  #--------------------------------------------------------------------------
  # * Aquisição do número de colunas
  #--------------------------------------------------------------------------
  def col_max
    return 2
  end
  #--------------------------------------------------------------------------
  # * Aquisição do número máximo de itens
  #--------------------------------------------------------------------------
  def item_max
    @data ? @data.size : 1
  end
  #--------------------------------------------------------------------------
  # * Aquisição das informações do item
  #--------------------------------------------------------------------------
  def item
    @data && index >= 0 ? @data[index] : nil
  end
  #--------------------------------------------------------------------------
  # * Definição de habilitação de seleção
  #--------------------------------------------------------------------------
  def current_item_enabled?
    enable?(@data[index])
  end
  #--------------------------------------------------------------------------
  # * Inclusão do item na lista
  #     item : item
  #--------------------------------------------------------------------------
  def include?(item)
    case @category
    when :item
      item.is_a?(RPG::Item) && !item.key_item?
    when :weapon
      item.is_a?(RPG::Weapon)
    when :armor
      item.is_a?(RPG::Armor)
    when :key_item
      item.is_a?(RPG::Item) && item.key_item?
    else
      false
    end
  end
  #--------------------------------------------------------------------------
  # * Definição de habilitação do item
  #     item : item
  #--------------------------------------------------------------------------
  def enable?(item)
    $game_party.usable?(item)
  end
  #--------------------------------------------------------------------------
  # * Criação da lista de itens
  #--------------------------------------------------------------------------
  def make_item_list
    @data = $game_party.all_items.select {|item| include?(item) }
    @data.push(nil) if include?(nil)
  end
  #--------------------------------------------------------------------------
  # * Retorno à seleção anterior
  #--------------------------------------------------------------------------
  def select_last
    select(@data.index($game_party.last_item.object) || 0)
  end
  #--------------------------------------------------------------------------
  # * Desenho de um item
  #     index : índice do item
  #--------------------------------------------------------------------------
  def draw_item(index)
    item = @data[index]
    if item
      rect = item_rect(index)
      rect.width -= 4
      draw_item_name(item, rect.x, rect.y, enable?(item))
      draw_item_number(rect, item)
    end
  end
  #--------------------------------------------------------------------------
  # * Desenho do número de itens possuido
  #     rect : retângulo
  #     item : item
  #--------------------------------------------------------------------------
  def draw_item_number(rect, item)
    draw_text(rect, sprintf(":%2d", $game_party.item_number(item)), 2)
  end
  #--------------------------------------------------------------------------
  # * Atualização da janela de ajuda
  #--------------------------------------------------------------------------
  def update_help
    @help_window.set_item(item)
  end
  #--------------------------------------------------------------------------
  # * Renovação
  #--------------------------------------------------------------------------
  def refresh
    make_item_list
    create_contents
    draw_all_items
  end
end
[close]
Complexidade da configuração: Quero pode configurar algumas coisas.
[/box2]

Bem, é isso, tentei ser o mais explicativo possível, não precisa fazer tudo (se for fazer) apenas o que puder (desde que possa mostrar a imagem do item)  :ok: Obrigado!

Citação de: KertonGames online 03/09/2014 às 19:52
Membro: Miguel884
Pedido: Preciso de um script que analize a pasta do projeto do jogo, por exemplo se tiver o arquivo "DLC" na pasta do jogo o personagem é teletransportado para tal lugar se não estiver ele é teletransportado para outro lugar, gostaria que aceitasse arquivos do bloco de notas exemplo: DLC.txt
Imagens: Não é necessário
Complexidade da configuração: Queria que tivesse uma Switch que ativasse o sistema.

Olha cara, é um pouco complexo para mim... Eu vou ver se consigo fazer depois de algumas análises. Se eu conseguir eu te aviso por mp.

Citação de: ArrowPotter online 03/09/2014 às 22:02
[box2 class=titlebg title=Pedido]Membro: Miguel884
Pedido: Janela de Itens Customizável parecida com a do próprio RMVXAce, só que com apenas uma coluna de itens e do outro lado uma imagen que representará cada itens.... nada muito grande, que eu possa editar no aproprio script qual imagem será usada para o ID de tal Item ou pelo próprio Database em "Comentário". Também se possível ao invés de uma só coluna, uma grade de itens sem nome, como na imagem:
Spoiler
[close]
1- Imagem que representa o item que deve estar na pasta "Pictures" ou definida no próprio script pelo ID do Item.
2- Detalhes do item que estará na descrição do Item do Database.
3- Nome da janela que pode ser modificado de "Janela de Itens" etc.
4- Pocket é onde seus itens ficam para ser usados
5- Mochila é onde ficam os itens que não serão usados pois estou usando um script de Banco.
6- São itens, queria que eles ficassem em GRADE mas pode ser lista tanto faz.
Imagens:
Spoiler
[close]
Algo em que se basear: Pode se basear no script Window_ItemList:
Window_ItemList
#==============================================================================
# ** Window_ItemList
#------------------------------------------------------------------------------
#  Esta janela exibe a lista de itens possuidos na tela de itens.
#==============================================================================

class Window_ItemList < Window_Selectable
  #--------------------------------------------------------------------------
  # * Inicialização do objeto
  #     x      : coordenada X
  #     y      : coordenada Y
  #     width  : largura
  #     height : altura
  #--------------------------------------------------------------------------
  def initialize(x, y, width, height)
    super
    @category = :none
    @data = []
  end
  #--------------------------------------------------------------------------
  # * Definição de categoria
  #--------------------------------------------------------------------------
  def category=(category)
    return if @category == category
    @category = category
    refresh
    self.oy = 0
  end
  #--------------------------------------------------------------------------
  # * Aquisição do número de colunas
  #--------------------------------------------------------------------------
  def col_max
    return 2
  end
  #--------------------------------------------------------------------------
  # * Aquisição do número máximo de itens
  #--------------------------------------------------------------------------
  def item_max
    @data ? @data.size : 1
  end
  #--------------------------------------------------------------------------
  # * Aquisição das informações do item
  #--------------------------------------------------------------------------
  def item
    @data && index >= 0 ? @data[index] : nil
  end
  #--------------------------------------------------------------------------
  # * Definição de habilitação de seleção
  #--------------------------------------------------------------------------
  def current_item_enabled?
    enable?(@data[index])
  end
  #--------------------------------------------------------------------------
  # * Inclusão do item na lista
  #     item : item
  #--------------------------------------------------------------------------
  def include?(item)
    case @category
    when :item
      item.is_a?(RPG::Item) && !item.key_item?
    when :weapon
      item.is_a?(RPG::Weapon)
    when :armor
      item.is_a?(RPG::Armor)
    when :key_item
      item.is_a?(RPG::Item) && item.key_item?
    else
      false
    end
  end
  #--------------------------------------------------------------------------
  # * Definição de habilitação do item
  #     item : item
  #--------------------------------------------------------------------------
  def enable?(item)
    $game_party.usable?(item)
  end
  #--------------------------------------------------------------------------
  # * Criação da lista de itens
  #--------------------------------------------------------------------------
  def make_item_list
    @data = $game_party.all_items.select {|item| include?(item) }
    @data.push(nil) if include?(nil)
  end
  #--------------------------------------------------------------------------
  # * Retorno à seleção anterior
  #--------------------------------------------------------------------------
  def select_last
    select(@data.index($game_party.last_item.object) || 0)
  end
  #--------------------------------------------------------------------------
  # * Desenho de um item
  #     index : índice do item
  #--------------------------------------------------------------------------
  def draw_item(index)
    item = @data[index]
    if item
      rect = item_rect(index)
      rect.width -= 4
      draw_item_name(item, rect.x, rect.y, enable?(item))
      draw_item_number(rect, item)
    end
  end
  #--------------------------------------------------------------------------
  # * Desenho do número de itens possuido
  #     rect : retângulo
  #     item : item
  #--------------------------------------------------------------------------
  def draw_item_number(rect, item)
    draw_text(rect, sprintf(":%2d", $game_party.item_number(item)), 2)
  end
  #--------------------------------------------------------------------------
  # * Atualização da janela de ajuda
  #--------------------------------------------------------------------------
  def update_help
    @help_window.set_item(item)
  end
  #--------------------------------------------------------------------------
  # * Renovação
  #--------------------------------------------------------------------------
  def refresh
    make_item_list
    create_contents
    draw_all_items
  end
end
[close]
Complexidade da configuração: Quero pode configurar algumas coisas.
[/box2]

Bem, é isso, tentei ser o mais explicativo possível, não precisa fazer tudo (se for fazer) apenas o que puder (desde que possa mostrar a imagem do item)  :ok: Obrigado!

Bem, eu acho que consigo fazer! Pedido aceito!

Oba! Você é o primeiro que aceitou (afinal foi o segundo a quem eu pedi rsrsrs) obrigado!

Citação de: KertonGames online 03/09/2014 às 19:52
Membro: Miguel884
Pedido: Preciso de um script que analize a pasta do projeto do jogo, por exemplo se tiver o arquivo "DLC" na pasta do jogo o personagem é teletransportado para tal lugar se não estiver ele é teletransportado para outro lugar, gostaria que aceitasse arquivos do bloco de notas exemplo: DLC.txt
Imagens: Não é necessário
Complexidade da configuração: Queria que tivesse uma Switch que ativasse o sistema.

Acho que tem um comando no próprio Chamar Script do Ace que faz isso... em sistemas de Menu por Eventos um Comando Verifica se existe o arquivo Save1.rgss3 (acho que é isso) para chamar o Carregar/Salvar. Ai é só trocar o Save1.rgss3 pelo arquivo e talz na consição. Vou ver se acho aqui e dou edit.  :ok:

Eu posso fazer com algumas mudanças? Porque se for fazer igualzinho a o que você pediu, pode dar um trabalho...

Hum? Falou comigo? Ah é que eu estava distraido rsrsrs. Então, pode fazer mudanças sim, o que mais importa é a visualização do item ok?! Valeu!

ArrowPotter seu script está pronto, eu fiz algumas mudanças para facilitar e que eu achei que ficaria bom, então se quiser que mude alguma coisa só falar!

Para colocar a imagem de cada item, vá na aba de itens ou de armas ou de armaduras, e nas notas coloque:

Image=id

No lugar de id você coloca o número da imagem que você configura no próprio script, exemplo

No script eu tenho:

Photos[1] = "Life"

Então no banco de dados eu vou colocar
Image=1

O primeiro id que é 0 no script será utilizado com imagem para todos em que a imagem não for definida no banco de dados.

#===============================================================================
# ** Kynsoyo RGSS3 - Pedido
# Mudança na Scene_Item - Miguel8884
#===============================================================================
module Item_Menu_Conf
  #--------------------------------------------------------------------------
  # * Criação de variável - Não mexa
  #--------------------------------------------------------------------------
  Photo = Array.new
  #--------------------------------------------------------------------------
  # * Imagens
  #--------------------------------------------------------------------------
  # Posições das imagens #
  Images_XY = [310,135]
  #--------------------------------------------------------------------------
  # * Vocabulário
  #--------------------------------------------------------------------------
  # Vocabulário para quantidade de itens #
  Item_Amount_Vocab = "Possui:"
  #--------------------------------------------------------------------------
  # * Imagens que irão ser utilizadas para os itens
  #--------------------------------------------------------------------------
  Photo[0] = ""
  Photo[1] = "Img1"
  #--------------------------------------------------------------------------
  # * Fim das configurações
  #--------------------------------------------------------------------------
end
# Aqui começa o script #
class Window_ItemList < Window_Selectable
  #--------------------------------------------------------------------------
  # * Aquisição de largura do item
  #--------------------------------------------------------------------------
  def item_width
    return 24
  end
  #--------------------------------------------------------------------------
  # * Aquisição de altura do item
  #--------------------------------------------------------------------------
  def item_height
    return 24
  end
  #--------------------------------------------------------------------------
  # * Aquisição do espaçamento entre os itens
  #--------------------------------------------------------------------------
  def spacing
    return 15
  end
  #--------------------------------------------------------------------------
  # * Aquisição do número de colunas
  #--------------------------------------------------------------------------
  def col_max
    return 7
  end
  #--------------------------------------------------------------------------
  # * Desenho de um item
  #     index : índice do item
  #--------------------------------------------------------------------------
  def draw_item(index)
    item = @data[index]
    if item
      rect = item_rect(index)
      rect.width -= 4
      draw_icon(item.icon_index, rect.x, rect.y, enable?(item))
    end
  end
end

class Scene_Item < Scene_ItemBase
  #--------------------------------------------------------------------------
  # * Aliases
  #--------------------------------------------------------------------------
  alias gst_sef_start start
  alias gst_sef_update update
  alias gst_sef_terminate terminate
  #--------------------------------------------------------------------------
  # * Inicialização do processo
  #--------------------------------------------------------------------------
  def start
    gst_sef_start
    create_item_datawindow
  end
  #--------------------------------------------------------------------------
  # * Atualização do processo
  #--------------------------------------------------------------------------
  def update
    gst_sef_update
    @data_window.actual_item = @item_window.item
  end
  #--------------------------------------------------------------------------
  # * Finalização do processo
  #--------------------------------------------------------------------------
  def terminate
    gst_sef_terminate
    @data_window.dispose_images
  end
  #--------------------------------------------------------------------------
  # * Criação da janela de itens
  #--------------------------------------------------------------------------
  def create_item_window
    wy = @category_window.y + @category_window.height
    wh = Graphics.height - wy
    @item_window = Window_ItemList.new(0, wy, Graphics.width-252, wh)
    @item_window.viewport = @viewport
    @item_window.help_window = @help_window
    @item_window.set_handler(:ok,     method(:on_item_ok))
    @item_window.set_handler(:cancel, method(:on_item_cancel))
    @category_window.item_window = @item_window
  end
  #--------------------------------------------------------------------------
  # * Criação da janela dos dados dos itens
  #--------------------------------------------------------------------------
  def create_item_datawindow
    wy = @category_window.y + @category_window.height
    wh = Graphics.height - wy
    @data_window = Window_ItemData.new(@item_window.width,wy,Graphics.width-@item_window.width,wh,@viewport)
    @data_window.viewport = @viewport
  end
end

class Window_ItemData < Window_Base
  attr_accessor :actual_item
  #--------------------------------------------------------------------------
  # * Inicialização do objeto
  #     x        : coordenada X
  #     y        : coordenada Y
  #     width    : largura
  #     height   : altura
  #     viewport : camada
  #--------------------------------------------------------------------------
  def initialize(x,y,width,height,viewport)
    super(x,y,width,height)
    @actual_item = 0
    @image = Sprite.new(viewport)
    refresh
  end
  #--------------------------------------------------------------------------
  # * Atualização do objeto
  #--------------------------------------------------------------------------
  def update
    super
    refresh
  end
  #--------------------------------------------------------------------------
  # * Criação e renovação do conteúdo
  #--------------------------------------------------------------------------
  def refresh
    self.contents.clear
    if @actual_item != 0 and @actual_item != nil
      draw_text(0,210,self.width,24,@actual_item.name)
      draw_text(0,234,self.width,24,"#{Item_Menu_Conf::Item_Amount_Vocab} #{sprintf("%2d",$game_party.item_number(@actual_item))}")
      if @actual_item.note.match(/Image=(\d+)/im)
        image_note = Item_Menu_Conf::Photo[$1.to_i]
      else
        image_note = Item_Menu_Conf::Photo[0]
      end
      @image.bitmap = Cache.picture(image_note)
      @image.x = Item_Menu_Conf::Images_XY[0]
      @image.z = 100
      @image.y = Item_Menu_Conf::Images_XY[1]
    end
  end
  #--------------------------------------------------------------------------
  # * Apagar as imagens
  #--------------------------------------------------------------------------
  def dispose_images
    @image.bitmap.dispose
    @image.dispose
  end
end

# Fim do script #