RPG Maker Forums

Howdy,
Just yesterday I almost accidentally found a script for a Resident Evil-like menu, with limited inventory, combining, etc... and I need help with some editing, mostly three issues, the first is critical and the other two are just a plus.

The script was a little messy, I don't even know the author because it wasn't signed, and was only partially translated from portoguese to english: here's how it looked like when I first imported the script:

upload_2018-8-9_19-57-10.png
*screen from an older version of my project

Even tho I'm a long time rpg maker user (started with rm2000 and mostly used 2003), when it comes to RGSS I know just enough to barely recognize my a$$ from my elbow, as long as you don't put a hole on my elbow, just to use a colorful example :p .

Also I can speak english ok but I don't know a single word of portoguese, anyway, after installing the script in a brand new project and messing around with it, I was able to make the inventory look the way I wanted:

upload_2018-8-9_20-23-12.png

Windowskin and font are temporary but that's not the problem, that empty box under the inventory box should display the name of the highlighted item, but those of you with a keen eye might I have noticed, it doesn't show anything :(

Basically what I have done is, edit a certain line from this:
Code:
@help_window = RE_Window_Help.new()
to this:
Code:
@help_window = Window_Help.new()
in order to take the help window from the basic tool's script rather than make this script create its own, because the help window from this particular script was messed up (for some reason item description would all stick on one line and basically loop around the screen, messing up the text), and i modified this part:

Code:
#==============================================================================
# ** Window_Help
#------------------------------------------------------------------------------
#  Esta janela exibe explicação de habilidades e itens e outras informações.
#==============================================================================
 
class RE_Window_Help < Window_Base
  #--------------------------------------------------------------------------
  # * Inicialização do objeto
  #     line_number : número de linhas
  #--------------------------------------------------------------------------
  def initialize(line_number = 3)
    super(0, 150, 345, Graphics.height - 150)
  end
  #--------------------------------------------------------------------------
  # * Configuração de texto
  #     text : texto
  #--------------------------------------------------------------------------
  def set_text(text)
    if text != @text
      @text = text
      refresh
    end
  end
  #--------------------------------------------------------------------------
  # * Limpeza
  #--------------------------------------------------------------------------
  def clear
    set_text("")
  end
  #--------------------------------------------------------------------------
  # * Definição de item
  #     item : habilidades, itens, etc.
  #--------------------------------------------------------------------------
  def set_item(item)
    set_text(item ? item.description : "")
    @item = item
  end
  #--------------------------------------------------------------------------
  # * Renovação
  #--------------------------------------------------------------------------
  def refresh
    contents.clear
    if @item != nil
 
      draw_text(5, 70, 150, 50, RE_MENU::Help_desc)
      draw_text(5, 100, 300, 100, @text)
      draw_text(5, 0 , 350, 50, RE_MENU::Help_name + @item.name)
    end
 
  end
end
into this:

Code:
#==============================================================================
# ** Window_Help
#------------------------------------------------------------------------------
#  Esta janela exibe explicação de habilidades e itens e outras informações.
#==============================================================================
 
class RE_Window_Iname < Window_Base
  #--------------------------------------------------------------------------
  # * Inicialização do objeto
  #     line_number : número de linhas
  #--------------------------------------------------------------------------
  def initialize(line_number = 1)
    super(268, 252, 207, 48) # Graphics.height - 384) OTTO
  end
 
  #--------------------------------------------------------------------------
  # * Configuração de texto
  #     text : texto
  #--------------------------------------------------------------------------
  def set_text(text)
    if text != @text
      @text = text
      refresh
    end
  end
  #--------------------------------------------------------------------------
  # * Limpeza
  #--------------------------------------------------------------------------
  def clear
    set_text(" ")
  end
  #--------------------------------------------------------------------------
  # * Definição de item
  #     item : habilidades, itens, etc.
  #--------------------------------------------------------------------------
  def set_item(item)
    set_text(item ? item.description : " ")
    @item = item
  end
 
  #--------------------------------------------------------------------------
  # * Renovação
  #--------------------------------------------------------------------------
  def refresh
    contents.clear
    if @item != nil
      #draw_text(5, 70, 150, 50, RE_MENU::Help_desc)
#~       draw_text(5, -12, 640, 100, @text)
      draw_text(0, 0 , 207, 48, @item.name) #RE_MENU::Help_name + @item.name)
    end
 
  end
end
and basically made the former help window into my own lttile name box, and like I said, the box is there, the item name is not.
This is where my small knowledge pretty much ends: I basically cloned some script lines that refered to the creation and update/refresh of the old help window and modified them to work with the Iname window (which stands for Item name, in my head lol) but clearly I'm doing it wrong since all I get is a big fat CRASH as soon as I open the menu, in game.

upload_2018-8-9_20-56-55.png

dan dan daaaaaaaaan (<- mortal kombat fatality sound)

So, yes, jokes aside my first and most important request is: How can I prevent the crash and show the item name in the box?

Also, since I'm here, there's a small, second issue: the item combine system; wile the system itself works flawlessly, there is a small visual/practical issue that I would like to get rid of: basically when i press OK (enter/spacebar/whatever) on the second Item (after selecting the combine option on one item), the Use/Combine window appears again and I have to select combine again. I would like to bypass this part and go directly to the part where the script checks if the combination is possible or not.

Finally, third Issue: around line 235 I commented out the original string and put this instead: 8 + $game_variables[14]

this is to control how many spaces you have in the inventory, I set it to 8 basic, plus the ability to expand it with a variable, so far so good, however I would like the original string (@data ? @data.size : 1 - which I think means "I'll highlight as many item as you have" *lol*) to be true for the Files menu (which are basically a key items) since there is no limit to how many files you can carry with you.

Here's the full script with my editing (under spoiler):
Code:
#==============================================================================
# ** Scene_Menu
#------------------------------------------------------------------------------
#==============================================================================
module RE_MENU
   
  #--------------------------------------------------------------------------
  # ENGLISH
  #--------------------------------------------------------------------------
  # * how to create a recipe
  # * place Reciepe[a] = [b, c, d]
  # * a is a crescent number
  # * b and c are the items that will be combined
  # * d is the end item
  #--------------------------------------------------------------------------
  # PORTUGUES   
  #--------------------------------------------------------------------------
  # * receitas de combinações de itens
  # * coloque Reciepe[a] = [b, c, d] sendo
  # * a o valor crescente da receita de 1 a sla quantos
  # * b e c o valor dos intens da receitas que vam combinar
  # * d o item que será formado apartir dos outrs
  #--------------------------------------------------------------------------

  Recipe = {}
  Recipe[1] = [12, 13 , 14]
  Recipe[2] = [1, 1, 2]
  #Recipe[3] = [13, 16, 17]
  #Recipe[4] = [15, 14, 17]
  #Recipe[5] = [12, 12, 18]
  #Recipe[6] = [12, 18, 19]
  #--------------------------------------------------------------------------
  # vocabulary
  #--------------------------------------------------------------------------
  Equip = " "
  Discard = " "
  Combine = "Combine"
  Use = "Use"
  Equip = "EQ: "
  Inventary = "Item"
  Key_itens = "Files"
  Help_desc = " "
  Help_name = " "
  Maps = "Maps"

  #--------------------------------------------------------------------------
  # * Combine sond
  #--------------------------------------------------------------------------
  def self.playcombine
      Sound.play_use_item
  end

end

#==============================================================================
# ** Window_Help
#------------------------------------------------------------------------------
#  Esta janela exibe explicação de habilidades e itens e outras informações.
#==============================================================================

class RE_Window_Iname < Window_Base
  #--------------------------------------------------------------------------
  # * Inicialização do objeto
  #     line_number : número de linhas
  #--------------------------------------------------------------------------
  def initialize(line_number = 1)
    super(268, 252, 207, 48) # Graphics.height - 384) OTTO
  end
 
  #--------------------------------------------------------------------------
  # * Configuração de texto
  #     text : texto
  #--------------------------------------------------------------------------
  def set_text(text)
    if text != @text
      @text = text
      refresh
    end
  end
  #--------------------------------------------------------------------------
  # * Limpeza
  #--------------------------------------------------------------------------
  def clear
    set_text(" ")
  end
  #--------------------------------------------------------------------------
  # * Definição de item
  #     item : habilidades, itens, etc.
  #--------------------------------------------------------------------------
  def set_item(item)
    set_text(item ? item.description : " ")
    @item = item
  end
 
  #--------------------------------------------------------------------------
  # * Renovação
  #--------------------------------------------------------------------------
  def refresh
    contents.clear
    if @item != nil
      #draw_text(5, 70, 150, 50, RE_MENU::Help_desc)
#~       draw_text(5, -12, 640, 100, @text)
      draw_text(0, -12 , 207, 48, @item.name) #RE_MENU::Help_name + @item.name)
    end
   
  end
end

#==============================================================================
# ** Window_MenuCommand
#------------------------------------------------------------------------------
#  Esta janela exibe os comandos do menu.
#==============================================================================
class MenuCommand < Window_HorzCommand
  #--------------------------------------------------------------------------
  # * Inicialização da posição do comando de seleção (método da classe)
  #--------------------------------------------------------------------------
  def self.init_command_position
    @@last_command_symbol = nil
  end
  #--------------------------------------------------------------------------
  # * Inicialização do objeto
  #--------------------------------------------------------------------------
  def initialize
    super(268, 72)
  end
  #--------------------------------------------------------------------------
  # * Aquisição da largura da janela
  #--------------------------------------------------------------------------
  def window_width
    return 372
  end

  #--------------------------------------------------------------------------
  # * Aquisição da largura da janela
  #--------------------------------------------------------------------------
  def window_height
    48
  end
  #--------------------------------------------------------------------------
  # * Aquisição do número de linhas exibidas
  #--------------------------------------------------------------------------
  def col_max
    return 4
  end
  #def visible_line_number
   # 3
  #end
  #--------------------------------------------------------------------------
  # * Criação da lista de comandos
  #--------------------------------------------------------------------------
  def make_command_list
    add_main_commands
    add_map_command
    add_game_end_command
  end
  #--------------------------------------------------------------------------
  # * Adição dos comandos principais
  #--------------------------------------------------------------------------
  def add_main_commands
    add_command(RE_MENU::Inventary,   :item,   main_commands_enabled)
    add_command(RE_MENU::Key_itens, :key_item, main_commands_enabled)
  end

  #-------------------------------------------------------------------------
  # not sure wtf im doing lol #OTTO
  #-------------------------------------------------------------------------
  def add_map_command
    add_command(RE_MENU::Maps, :maps, main_commands_enabled) #OTTO
  end
  #--------------------------------------
 
  #--------------------------------------------------------------------------
  # * Definição de habilitação dos comandos principais
  #--------------------------------------------------------------------------
  def main_commands_enabled
    $game_party.exists
  end
  #--------------------------------------------------------------------------
  # * Adição do comando de fim do jogo
  #--------------------------------------------------------------------------
  def add_game_end_command
    add_command(Vocab::game_end, :game_end)
  end
  #--------------------------------------------------------------------------
  # * Definição de resultado ao pressionar o botão de confirmação
  #--------------------------------------------------------------------------
  def process_ok
    @@last_command_symbol = current_symbol
    super
  end
  #--------------------------------------------------------------------------
  # * Definição da janela de itens
  #     item_window : janela de itens
  #--------------------------------------------------------------------------
  def item_window=(item_window)
    @item_window = item_window
    @item_window.category = current_symbol
  end
end

class Window_ItemList < Window_Selectable
  attr_accessor :iname_window  #Thanks TheoAllen
  #--------------------------------------------------------------------------
  # * Inicialização do objeto
  #     x      : coordenada X
  #     y      : coordenada Y
  #     width  : largura
  #     height : altura
  #--------------------------------------------------------------------------
  def initialize(x, y, width, height)
    super(268, 120, 207, 132)
    @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 4
  end

  #--------------------------------------------------------------------------
  # * Aquisição do número máximo de itens
  #--------------------------------------------------------------------------
  def item_max
   case @category
    when :item
     8  + $game_variables[14]
    when :key_item
     @data ? @data.size : 1
    else
     1
   end
  end
 
#~   def item_max
#~    #8 + $game_variables[14]
#~     @data ? @data.size : 1 #Max Inventory Slot? Can I use variable? #OTTO
#~   end
  #--------------------------------------------------------------------------
  # * Aquisição do espaçamento entre os itens
  #--------------------------------------------------------------------------
  def spacing
    return 4
  end

  #--------------------------------------------------------------------------
  # * Aquisição de altura do item
  #--------------------------------------------------------------------------
  def item_height
    36
  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? #or item.is_a?(RPG::Weapon)
    when :key_item
      item.is_a?(RPG::Item) && item.key_item?
    else
      false
    end
  end
  #--------------------------------------------------------------------------
  # * Definição de itens disponíveis para uso
  #--------------------------------------------------------------------------
  def usable?(item)
    if item.is_a?(RPG::Weapon)
      return true
    else
      return $game_party.usable?(item)
    end
    return false
   
  end
  #--------------------------------------------------------------------------
  # * Definição de habilitação do item
  #     item : item
  #--------------------------------------------------------------------------
  def enable?(item)
    #$game_party.usable?(item)
    return true
  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
  #--------------------------------------------------------------------------
  # * desenhar o item
  #--------------------------------------------------------------------------

  def draw_item_name(item, x, y, enabled = true, width = 80)
    return unless item
    draw_icon(item.icon_index, x + 10, y + 6, enabled)
    change_color(normal_color, enabled)
#~     draw_text(x + 5, y + 50, width, line_height, item.name)
  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, true)
      rect.y -= 20
      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) #unless it has some tag in the notes??
  end
  #--------------------------------------------------------------------------
  # * Atualização da janela de ajuda
  #--------------------------------------------------------------------------
  def update_help
    @help_window.set_item(item)
    @help_window.refresh
    return unless @iname_window
    @iname_window.set_item(item)
    @iname_window.refresh
  end

  #--------------------------------------------------------------------------
  # * Update Item Name #OTTO
  #--------------------------------------------------------------------------
#~   def update_iname
#~     @iname_window.set_item(item)
#~     @iname_window.refresh
#~   end
 
  #--------------------------------------------------------------------------
  # * Renovação
  #--------------------------------------------------------------------------
  def refresh
    make_item_list
    create_contents
    draw_all_items
    update_help
#~     update_iname
  end
end

class Comand_itens < Window_Command
  #--------------------------------------------------------------------------
  # * Inicialização do objeto
  #--------------------------------------------------------------------------
  def initialize
    super(168, 120)
    refresh
  end
  #--------------------------------------------------------------------------
  # * Aquisição da largura da janela
  #--------------------------------------------------------------------------
  def window_width
    return 100
  end
  def window_height
    return 76
  end
  def activeCombine=(active)
    @activecombine = active
  end
  def usename=(name)
    @usename = name
  end
  def activeCombine
    return @activecombine
  end
  def usename
    return @usename
  end
  def important=(value)
    @important = value
  end
  def important
    return @important
  end
  def isuse=(value)
    @isuse = value
  end
  def isuse
    return @isuse
  end
  #--------------------------------------------------------------------------
  # * Criação da lista de comandos
  #--------------------------------------------------------------------------
  def make_command_list
    add_command(usename,   :usar,   isuse)
    add_command(RE_MENU::Combine,  :combine,  activeCombine)
#~     add_command(RE_MENU::Discard,  :discart,  important)
  end
end
class Scene_Menu < Scene_MenuBase
  #--------------------------------------------------------------------------
  # * Inicialização do processo
  #--------------------------------------------------------------------------
  def start
    super
    create_Help_window
    create_command_window
    create_item_window
    create_Iname_window
    create_status_window
    create_command_itens
    create_Equip_window
    @iscombine = false
    @actor = $game_party.members[0]
  end

  #--------------------------------------------------------------------------
  # * Criação da janela de comando
  #--------------------------------------------------------------------------
  def create_command_window
    @command_window = MenuCommand.new
    @command_window.set_handler(:item,      method(:command_item))
    @command_window.set_handler(:key_item,      method(:command_item))
    @command_window.set_handler(:game_end,  method(:command_game_end))
    @command_window.set_handler(:cancel,    method(:return_scene))
  end
   
  #--------------------------------------------------------------------------
  # * Criação da janela de itens
  #--------------------------------------------------------------------------
  def create_item_window
    wy = @command_window.y + @command_window.height + 100
    wh = Graphics.height - wy
    @item_window = Window_ItemList.new(344, wy, 200, wh)
    @item_window.help_window = @help_window
    @item_window.set_handler(:ok,     method(:on_item_ok))
    @item_window.set_handler(:cancel, method(:on_item_cancel))
    @command_window.item_window = @item_window
    @command_window.item_window = @item_window
  end
  #--------------------------------------------------------------------------
  # * Criação da janela de comando dos intems
  #--------------------------------------------------------------------------
  def create_command_itens
    @command_item = Comand_itens.new
    @command_item.set_handler(:usar,      method(:use_item))
    @command_item.set_handler(:combine,      method(:combine_item))
    @command_item.set_handler(:discart,  method(:discart_item))
    @command_item.set_handler(:cancel,    method(:return_itens))
    @command_item.visible = false
    @command_item.active = false
  end

  #--------------------------------------------------------------------------
  # * Criação das janelas #Position for Status and Equip #OTTO
  #--------------------------------------------------------------------------
  def create_status_window
    @Status_window = Window_Base.new(475,120,165,84)
    @Status_window.contents.clear
#~     @Status_window.draw_actor_face(@actor, 1, 10)
    @Status_window.draw_text(1, -15 , 120, 48, @actor.name)
    @Status_window.draw_actor_hp(@actor, 0, 32, 120)
  end

  def create_Help_window
    @help_window = Window_Help.new() #RE_Window_Help.new()
  end
 
  def create_Iname_window #OTTO
    @ihelp_window = RE_Window_Iname.new()
    @item_window.iname_window = @ihelp_window
  end
 
  def create_Equip_window
    @Equip_window = Window_Base.new(475,204,165,48)
    @Equip_window.contents.clear
    if @actor.equips[0] != nil
      @Equip_window.draw_icon(@actor.equips[0].icon_index, 36, 0, true)
      @Equip_window.draw_text(0, -12 , 120, 48, RE_MENU::Equip)
      #INSERT CURRENT / REMAINING AMMO HERE # OTTO
#~       @Equip_window.draw_text(10, 40 , 150, 50, @actor.equips[0].name)
    end
   
   
  end
  def use_item
    if @item.is_a?(RPG::Weapon)
      @actor.change_equip(0,@item)
      Sound.play_equip
    else
      Sound.play_use_item
      @actor.use_item(@item)
      use_item_to_actors
     
    end
    return_itens
    refresh
    check_common_event
  end
  def use_item_to_actors
    $game_party.members.each do |target|
      @item.repeats.times { target.item_apply(@actor, @item) }
    end
  end
  def check_common_event
    if $game_temp.common_event_reserved?
      SceneManager.goto(Scene_Map)
      @iscombine = false
    end
  end
  def combine_item
    if @iscombine == false
      @iscombine = true
      @combineitem = @item
    else
      recipe = RE_MENU::Recipe
      if @combineitem.id == @item.template_id
        if $game_party.item_number(@item) <= 1
          @combineitem = nil
        end
      end
      if @combineitem != nil
        for x in 1..recipe.size
        recipe1 = recipe[x]
       
          if recipe1[0] == @combineitem.template_id and recipe1[1] == @item.template_id
            @iscombine = false
            combineitens(x)
            break
          elsif recipe1[1] == @combineitem.template_id and recipe1[0] == @item.template_id
            @iscombine = false
            combineitens(x)
            break
          end
        end
      end
      if @iscombine == true
        Sound.play_buzzer
          @iscombine = false
      end
     
    end
    refresh
    return_itens
   
   
  end
  def combineitens(x)
    RE_MENU::playcombine
    $game_party.gain_item(@item, -1, true)
    $game_party.gain_item(@combineitem, -1, true)
    for y in 0..$data_items.size
        novoitem = $data_items[y] if y == RE_MENU::Recipe[x][2]
    end
    $game_party.gain_item(novoitem, 1)
  end
  def discart_item
    $game_party.gain_item(@item, -1, true)
    return_itens
  end
  def return_itens
    @command_item.visible = false
    @command_item.active = false
    @item_window.active = true
    @item_window.refresh
  end
  #--------------------------------------------------------------------------
  # * Item [Confirmação]
  #--------------------------------------------------------------------------
  def on_item_ok
    @item = @item_window.item
    if @item != nil
      if @item.is_a?(RPG::Weapon)
        @command_item.activeCombine = false
        @command_item.usename = RE_MENU::Equip
      else
        @command_item.activeCombine = true
        @command_item.usename = RE_MENU::Use
      end
      if @item.is_a?(RPG::Item) and @item.key_item?
        @command_item.important = false
      else
        @command_item.important = true
      end
      if @item_window.usable?(@item)
        @command_item.isuse = true
      else
        @command_item.isuse = false
      end
     
      @command_item.refresh
      @command_item.visible = true
      @command_item.active = true
    else
      Sound.play_buzzer
      @item_window.active = true
    end
    @help_window.set_item(@item)
  end
  #--------------------------------------------------------------------------
  # * Item [Cancelamento]
  #--------------------------------------------------------------------------
  def on_item_cancel
    @item_window.unselect
    @command_window.activate
    @iscombine = false
  end

  #--------------------------------------------------------------------------
  # * Comando [Item]
  #--------------------------------------------------------------------------
  def command_item
    @command_window.item_window = @item_window
    @item_window.activate
    @item_window.select_last
   
  end
  #--------------------------------------------------------------------------
  # Trying to add a Maps command #OTTO
  #--------------------------------------------------------------------------
  def command_maps
    SceneManager.call(Scene_Map)
  end
  #--------------------------------------------------------------------------
  # * Comando [Fim do Jogo]
  #--------------------------------------------------------------------------
  def command_game_end
    SceneManager.call(Scene_End)
  end
  #--------------------------------------------------------------------------
  # * Comandos individuais [Cancelamento]
  #--------------------------------------------------------------------------
  def on_personal_cancel
    @status_window.unselect
    @command_window.activate
  end

  def refresh
    @actor = $game_party.members[0]
    @item_window.refresh
    @Equip_window.contents.clear
    if @actor.equips[0] != nil
      @Equip_window.draw_icon(@actor.equips[0].icon_index, 36, 0, true)
      @Equip_window.draw_text(0, -12 , 120, 48, RE_MENU::Equip)
#~       @Equip_window.draw_text(10, 40 , 150, 50, @actor.equips[0].name)
    end
    @Status_window.contents.clear
#~     @Status_window.draw_actor_face(@actor, 1, 10)
    @Status_window.draw_text(1, -15 , 120, 48, @actor.name)
    @Status_window.draw_actor_hp(@actor, 100, 40, 120)
  end
end

To make it work without crash you have to comment out the following lines:
355, 356, 357, 358, 368
otherwise you get the crash error shown in the screenshot.

Thanks in advance to anyone who will look into it, and sorry for the long post.

PS: does anyone know the name of the author? I would like to - at the very least - credit him/her.

Latest Threads

Latest Profile Posts

Day 9 of giveaways! 8 prizes today :D
He mad, but he cute :kaopride:

Our latest feature is an interview with... me?!

People4_2 (Capelet off and on) added!

Just beat the last of us 2 last night and starting jedi: fallen order right now, both use unreal engine & when I say i knew 80% of jedi's buttons right away because they were the same buttons as TLOU2 its ridiculous, even the same narrow hallway crawl and barely-made-it jump they do. Unreal Engine is just big budget RPG Maker the way they make games nearly identical at its core lol.

Forum statistics

Threads
106,040
Messages
1,018,476
Members
137,824
Latest member
dobratemporal
Top