Envision, Create, Share

Welcome to HBGames, a leading amateur game development forum and Discord server. All are welcome, and amongst our ranks you will find experts in their field from all aspects of video game design and development.

Kain Nobel - Test Bed V 1.5

Introduction

I bring to you today, the Kain Nobel Test Bed v 1.5! This project has all of my origional work placed together in one project! This version of the Test Bed features my Custom Menu System, an XP Vehicle script, a custom Debugger and some other stuff. Everything in this project is subject to change, and although most of the stuff is working and functional I may add more features to existing scripts in this project.

Requirements

97% of my scripts don't require the SDK, MACL or Aleworks libraries, however there are scripts that require other scripts in general. When this is the case, if you install one of my scripts in your project, and you don't have something it requires, you'll be notified and the game will be closed. Also, for some systems, I've included a seperate "Plug-In" script, which must be placed below the actual script it belongs to. When using a script's respective Plug-In, the system detects if another script is in existance, and if not it just runs it normally. So the plug-ins can be included, or not included, and the system will still run fine.

Future Versions

Yes, I will be updating this project every few months or so. These are nothing but ideas at the moment, so don't hold me to everything just because I said it. Reguardless, I've always got alot of new things in the works, I do this every day, so you'll be seeing more of me.

There is much that is missing from this project that I am currently working on that didn't get released to the public. For one, I've got a new Message system in the works which will retain all the features of Ccoa's UMS and Dubealex's AMS, with *gasp* cleaner code and less maintanence than ever before! You'll (hopefully) be able to do everything you could do with other message systems, and also it'll have it's own settings menu within the CMS so you can turn facesets on/off, the name box on/off, change font settings and all that fun stuff via the in-game Menu!

Also, with the system, when you call the \name[] function (or the \actor[] or \monster[] function), you won't have to call the face graphic too, it'll automatically apply the face graphic as long as facesets are on and the graphic exists. And, hopefully I'll figure out how to do animated faces, it'll automatically know to animate the face without you having to specify another dreaded call script! I won't know how that all works until I get to it though.

Next order of bussiness, I realise I haven't done too many battle-related scripts, so if anybody has anything special they want as far as battle add-ons (just for the default battle system, for now) then drop me a line. I've been in heavy debate on doing a battle system for awhile, a Tactical BS similar to Gubids... better yet, similiar to the Shining Force II battle system. But that is another venture that I haven't decided to take yet, I don't know if I'll do it or not but something in the back of my mind keeps saying "Do it, do it!" Since I don't know what I'm going to do with the battle system, that is the only reason I haven't made many battle-related scripts.

Lastly, please don't be mistaken, my menu is far from finished! Being the first thing I started with this project, the menu never was completed because I simply got bored with it and kept making new scripts, so it never got polished up like it should've been. But never fear, I will be doing some heavy maintanence to it, it might not even look like the same menu when I'm done with it! If I don't decide to quit working on the existing menu, in the end it shall have a Config section so that everything you can set in the script will also be available to change while in-game!

Probably some other things, go ahead and submit me ideas and requests (but please read my disclaimer as far as making a suggestion or request first, please).

Found A Bug?

Everything in my project has been tested to work together. However, if you've installed one of my scripts in your game, and an error occurs, you'll need to post my script(s), especially since they're subject to change, and whatever else script(s) are in your project so I can pinpoint the error.

In some situations, I'll require you just send me a demo of your game, especially if you're using scripts I haven't created. If it is an error caused by someone else's script, and not mine, you'll have to contact the author of that said script because it is their responsibility to support their own work, not mine (or visit the RGSS support forum). Still, if you believe it was an error on my part, I'll try and see what's wrong and fix it for you.

Have a Request or Suggestion?

Unless this topic goes more than 30 days without a reply, please refrain from PMing me, post your request or suggestion here! Work and kids have me on a short leash when it comes to time, but I might fill a request here or there if I can find time.

Suggestions are always helpful too, even my 'finished' work is still subject to change, so go ahead and post a suggestion if you think it'll be worthwhile.

Demo

Version 1.5
Naramura Facesets (for CMS) (By default it must be in "Graphics/Pictures/Faces", can change in module)

Author's Notes

All of my work is free to use, so long as it is for a Non-Commercial game (please contact me in private for commercial permissions, I'm a nice guy I'll probably grant it). Also, please respect me (or any author) before posting a script from this project on another forum.

Moderators, you automatically have permission to post any of my individual scripts on this forum if you'd like, but please be sure to contact me first because the systems in this project are always being updated! Also, please do NOT post my scripts on any forum other than RMXP without my permission first, and don't forget to credit anybody involved in a script from my project.

Special Thanks

SephirothSpawn, Trickster & MACL Authors
Deke (for Crafting System, (labeled "[CMS]::Crafting" in my CMS))
Blizzard (for Party System, (labeled "[CMS]::Party" in my CMS))
Poccil (for Composit Windowskin section of Kain Nobel's CMS Module)
Ccoa (Her UMS and Advanced Weather Script are featured in the demo)
RPG Advocate (One of my scripts, which I learned to do from his site)
Near Fantastica (His Lighting Effects Script is featured in the demo)
Lambchop & Inquisitor (For their world map/vehicle graphics used in demo)
Naramura (Her facesets are used with my Custom Menu System)
Toby (He's the true author of Smooth Scrolling, please don't credit me for that)
Woratana (Although removed from CMS, his Text Reader works with my Mission Manager)
gRaViJa (For the Finger graphic used in Arrow Above Head script)
mega_man_axe (Some of his BGM is used in my demo)
kevin5475845 (The RPGXP BGM in real instruments, featured in demo)
The RPG Maker Community (all members who've helped and inspired me to try)
 
I'm reserving this post, I want it seperate from the opening post, so please leave this be, I did it on purpose. I'll be listing the scripts used in this project (over time) and screenshots of different scripts and systems in action.

Standard Dev Kit

-[SDK-0]::Documentation
-[SDK-1]::Standard Fixes
-[SDK-2]::Game/Sprite Objects
-[SDK-3]::Scene_Base Classes
-[SDK-4]::Scene_Base Input

Aleworks Library Stuff

-[Aleworks]::Library (used for Registry handling)
-[Aleworks]::Input (will be used more often)
-[Aleworks]::Keys Module (will be used more often)
-[Aleworks]::Enter Hero Name (just there for fun)
-[Aleworks]::Enter Password (just there for fun)
-[Aleworks]::Input Number (just there for fun)

Method & Class Library - List of what I use

-[MACL]::RGSS.Map
-[MACL]::MInterpreter
-[MACL]::Event_Spawner

Kain Nobel's Unoffical MACL Methods

-[MACL]::RGSS.RTP
-[MACL]::RGSS.Map
-[MACL]::RGSS.Party

Custom Menu System - Components

-[CMS]::Window_Base+
-[CMS]::Game Objects
-[CMS]::Window Objects
-[CMS]::Items
-[CMS]::Skills
-[CMS]::Equip
-[CMS]::Status
-[CMS]::Mission (not finished)
-[CMS]::Party - by Blizzard (with CMS plug-ins)
-[CMS]::Save/Load
-[CMS]::Crafting (and Recipes) - by Deke (with CMS plug-ins)
-[CMS]::Debug
-[CMS]::Battle Enhancements

Kain Nobel's RGSS Scripts

-[KN]::Intro/Splash Screen
-[KN]::Toggle Full Screen
-[KN]::8 Directional Movement
-[KN]::Player Track X/Y (to variables)
-[KN]::Player Run
-[KN]::Player Jump
-[KN]::Player Cycle
-[KN]::Player Move Delay
-[KN]::Player/Event Steps
-[KN]::Acquired Item Window
-[KN]::Auto-Switches
-[KN]::Auto-Variables
-[KN]::Advanced Debug - System
-[KN]::Advanced Debug - Plug-Ins
-[KN]::Advanced Timer
-[KN]::Custom Shop
-[KN]::MapName HUD
-[KN]::Enemy = Actor (not finished)
-[KN]::Auto-Level Enemies
-[KN]::Msg Back Script
-[KN]::Smooth Scrolling (This isn't really my script, I'll have to update the credits, sorry)
-[KN]::Check Priorty (snippet from Poccil)
-[KN]::Arrow Over Head
-[KN]::XP Vehicle System
-[KN]::XP Vehicle Plug-Ins
-[KN]::Pause Script (not finished)

Other Author's Scripts

-[KN]::Smooth Scrolling (This is by Toby, not me)
-[Ccoa]::Universal Message Script
-[Ccoa]::Advanced Weather
-[Near]::Lighting Effects
 
You got some nice stuff here! Just a few things:
1. This is really a problem with Aleworks, I guess, but when I ran the game I had an error on line 387, 3 arguments for 2. I just deleted the ',72' and it worked after that. It may be because I have my sixaxis plugged in(mouse batteries died, so I'm using that with joy2key for mouse).
2. Also, the party cycler doesn't like the R button, because it doesn't appear to do anything, but after a few presses the character goes blank. Then when you hit L, it throws a nomethoderror on line 105 for game_class. It looks like it's just deleting characters but not adding them back in to the @actors array right.
 
w00t, i'm credited. I almost forgot how i helped :p
I'm gonna download it, my examinations are over so i have some time for rmxp again.
 
Um... question. D: I'm noob at scripting, and been trying to figure this out for the past... 30 minutes? ._. But how would I go about removing Alchemy from the game completely? D: I deleted the other scripts related to it from CMS: Main... but then Equip becomes sklls, while Skills does NOTHING. :/ I don't know what I'm doing wrong, and I hope someone understands? ._.;;
 
I've actually changed over the whole entire system to the new CMS module and don't support the old version anymore because it simply sucks, too much crap to search through and I don't remember how it worked exactly anyway.

http://www.mediafire.com/?sharekey=a721 ... b9a8902bda

Here, this is the new version. Hopefully you use SDK because it requires SDK, mainly the Scene_Base stuff. If not, you'll just have to change all the CMS variable stuff manually in your script (example CMS::Opacity is now CMS.opacity, CMS.apply_windowskin is now CMS.windowskin, etc)

First step, go into 'CMS.Module' and look for @index = {} its a hash. Just delete the hash key for "Crafting" or "Alchemy" or whatever it's called from that hash, and update the index numbers respectively.

Next, go into 'CMS.Main' and go to 'Scene_Menu -> def main_command_window', and delete "Alchemy" from the []. This is the command list for the main command window (I'll be changing this later on to be handled through the CMS module.)

Lastly, scroll down to the 'update_command' and 'update_status' and you should be able to figure out the rest, believe me its 100% easier than the old version.

Code:
when CMS.index["Scene"][0] ; CMS.goto("Scene" [,actor] )

Have fun, let me know if you need anything else. :thumb:
 

buran

Member

hey I have a bug. I use the RTH ABS v2.5. then put the script when smooth scrolling no event more work, appears only the graph.
Please, how to fix this bug?

-------------------
Sorry about my English, I'm Brazilian ^-^"
 
Erm... Is there a list of all the features anywhere? I like what I'm seeing so far, but some of the doors lead me places they shouldn't and stuff like that...
 
There's some really great scripts in this, but there's a bug in your newest demo(if it is ment to be a demo). I've downlowded it, and extracted it, and when I run the game it comes up with an error message saying
'RTP KAIN NOBLE not found'.
So I opened up the project, deactivated that RTP, ran it again, and then it can't find half the graphics.

Other than that, good stuff.
 
@buran: Its because Game_Map's update method is overwritten in both scripts, so I just had to merge them so the smooth scroll section is part of the RTHABS now. Here, replace your "RTHABS - Game_Map - update" with this (or place it in a new section below the origional) As this is an origional system without SDK, it would've been impossible to alias them together.

Code:
#==============================================================================
# Game_Map
#------------------------------------------------------------------------------
# Esta classe engloba o mapa. Isso determina o Scroll e a determinante de 
# passagem. Se refere a $game_map para as instâncias desta classe.
#==============================================================================
module MapScroll
  Start = 24
  Speed = 24
end

class Game_Map
  #-----------------------------------------------------------------------------
  # * Alias Listings
  #-----------------------------------------------------------------------------
  alias_method :scroll_start_game_map_setup,      :setup
  #-----------------------------------------------------------------------------
  # * Setup Method (*Aliased*)
  #-----------------------------------------------------------------------------
  def setup(map_id)
    @scroll_start     = MapScroll::Start
    @scroll_speed     = MapScroll::Speed    
    scroll_start_game_map_setup(map_id)
    @scroll_remain_x  = 0
    @scroll_remain_y  = 0
    @scroll_speed_x   = 0
    @scroll_speed_y   = 0
    @scroll_adjust_x  = 0
    @scroll_adjust_y  = 0
  end
  #--------------------------------------------------------------------------
  # * Start Scroll
  #     direction : scroll direction
  #     distance  : scroll distance
  #     speed     : scroll speed
  #--------------------------------------------------------------------------
  def start_scroll(direction, distance, speed)
    distance          = distance.ceil * 128
    @scroll_direction = direction
    @scroll_speed     = speed
    @scroll_rest      = distance
    case @scroll_direction
    when 2 ; scroll_down(@scroll_rest)
    when 4 ; scroll_left(@scroll_rest)
    when 6 ; scroll_right(@scroll_rest)
    when 8 ; scroll_up(@scroll_rest)
    end
  end
  #--------------------------------------------------------------------------
  # * Scroll Down
  #     distance : scroll distance
  #--------------------------------------------------------------------------
  def scroll_down(distance)
    distance = distance.ceil
    if scrolling? then @scroll_speed_y = 2 ** @scroll_speed
    else
      if distance.ceil % 4 == 0 then @scroll_speed_y = distance.ceil
      elsif distance.ceil % 4 <= 2 then @scroll_speed_y = distance.ceil - distance.ceil % 4
      else @scroll_speed_y = distance.ceil + (4 - (distance.ceil % 4)) end
    end
    unless @display_y + @scroll_remain_y + distance > (self.height - 15) * 128
      @scroll_remain_y += distance
    end
  end
  #--------------------------------------------------------------------------
  # * Scroll Left
  #     distance : scroll distance
  #--------------------------------------------------------------------------
  def scroll_left(distance)
    distance = distance.ceil
    if scrolling? then @scroll_speed_x = 2 ** @scroll_speed
    else
      if distance.ceil % 4 == 0 then @scroll_speed_x = distance.ceil
      elsif distance.ceil % 4 <= 2 then @scroll_speed_x = distance.ceil - distance.ceil % 4
      else @scroll_speed_x = distance.ceil + (4 - (distance.ceil % 4)) end
    end
    unless @display_x - @scroll_remain_x - distance < 0
      @scroll_remain_x -= distance
    end
  end
  #--------------------------------------------------------------------------
  # * Scroll Right
  #     distance : scroll distance
  #--------------------------------------------------------------------------
  def scroll_right(distance)
    distance = distance.ceil
    if scrolling? then @scroll_speed_x = 2 ** @scroll_speed
    else
      if distance.ceil % 4 == 0    ; @scroll_speed_x = distance.ceil
      elsif distance.ceil % 4 <= 2 ; @scroll_speed_x = distance.ceil - distance.ceil % 4
      else @scroll_speed_x = distance.ceil + (4 - (distance.ceil % 4))
      end
    end
    unless @display_x + @scroll_remain_x + distance > (self.width - 20) * 128
      @scroll_remain_x += distance
    end
  end
  #--------------------------------------------------------------------------
  # * Scroll Up
  #     distance : scroll distance
  #--------------------------------------------------------------------------
  def scroll_up(distance)
    distance = distance.ceil
    if scrolling? then @scroll_speed_y = 2 ** @scroll_speed
    else
      if distance.ceil % 4 == 0    ; @scroll_speed_y = distance.ceil
      elsif distance.ceil % 4 <= 2 ; @scroll_speed_y = distance.ceil - distance.ceil % 4
      else @scroll_speed_y = distance.ceil + (4 - (distance.ceil % 4)) end
    end
    unless @display_y - @scroll_remain_y - distance < 0
      @scroll_remain_y -= distance
    end
  end
  #--------------------------------------------------------------------------
  # - Atualização do Frame
  #--------------------------------------------------------------------------
  def update
    # Atualizar o mapa se necessário
    if $game_map.need_refresh
      refresh
    end
    # Se estiver ocorrendo o scroll
    if @scroll_rest > 0 then @scroll_rest -= 2 ** @scroll_speed end
    if @scroll_remain_x > 0
      if @scroll_remain_x <= @scroll_speed_x * @scroll_start
        old_display_x = @display_x
        @scroll_adjust_x += @scroll_speed
        distance = [@scroll_speed_x - @scroll_adjust_x, 4].max
        unless @display_x + distance > (self.width - 20) * 128
          @display_x += distance
        end
        @scroll_remain_x += old_display_x - @display_x
        if @scroll_remain_x < 0 then @scroll_remain_x = 0 end
      else
        @scroll_adjust_x = 0
        if @display_x + @scroll_speed_x > (self.width - 20) * 128
          @display_x = (self.width - 20) * 128
          @scroll_remain_x = 0
        else
          @display_x += @scroll_speed_x
          @scroll_remain_x -= @scroll_speed_x
        end
      end
    elsif @scroll_remain_x < 0
      if @scroll_remain_x >= -@scroll_speed_x * @scroll_start
        old_display_x = @display_x
        @scroll_adjust_x += @scroll_speed
        distance = [@scroll_speed_x - @scroll_adjust_x, 4].max
        unless @display_x - distance < 0
          @display_x -= distance
        end
        @scroll_remain_x += old_display_x - @display_x
        if @scroll_remain_x > 0 then @scroll_remain_x = 0 end
      else
        @scroll_adjust_x = 0
        if @display_x - @scroll_speed_x < 0
          @display_x = 0
          @scroll_remain_x = 0
        else
          @display_x -= @scroll_speed_x
          @scroll_remain_x += @scroll_speed_x
        end
      end
    else ; @scroll_adjust_x = 0
    end
    if @scroll_remain_y > 0
      if @scroll_remain_y <= @scroll_speed_y * @scroll_start
        old_display_y = @display_y
        @scroll_adjust_y += @scroll_speed
        distance = [@scroll_speed_y - @scroll_adjust_y, 4].max
        unless @display_y + distance > (self.height - 15) * 128
          @display_y += distance
        end
        @scroll_remain_y += old_display_y - @display_y
        if @scroll_remain_y < 0 then @scroll_remain_y = 0 end
      else
        @scroll_speed_accel_y = 0
        if @display_y + @scroll_speed_y > (self.height - 15) * 128
          @display_y = (self.height - 15) * 128
          @scroll_remain_y = 0
        else
          @display_y += @scroll_speed_y
          @scroll_remain_y -= @scroll_speed_y
        end
      end
    elsif @scroll_remain_y < 0
      if @scroll_remain_y >= -@scroll_speed_y * @scroll_start
        old_display_y = @display_y
        @scroll_adjust_y += @scroll_speed
        distance = [@scroll_speed_y - @scroll_adjust_y, 4].max
        unless @display_y - distance < 0
          @display_y -= distance
        end
        @scroll_remain_y += old_display_y - @display_y
        if @scroll_remain_y > 0 then @scroll_remain_y = 0 end
      else
        @scroll_speed_accel_y = 0
        if @display_y - @scroll_speed_y < 0
          @display_y = 0
          @scroll_remain_y = 0
        else
          @display_y -= @scroll_speed_y
          @scroll_remain_y += @scroll_speed_y
        end
      end
    else @scroll_adjust_y = 0
    end
    @screen_events.clear
    # Atualizar Evento do mapa
    for k, event in @events
      if event.in_screen?
        @screen_events[k] = event
      end
    end
    for event in @screen_events.values
      next if event.nil?
      event.update
    end
    for event in @items_events + @shoot_events
      next if event.nil?
      event.update
    end
    # Atualizar Evento Comum do mapa
    for common_event in @common_events.values
      common_event.update
    end
    if @need_refresh_item
      item_event_refresh
    end
    if @need_refresh_shoot
      shoot_event_refresh
    end
    # Controlar scroll da Névoa
    @fog_ox -= @fog_sx / 8.0
    @fog_oy -= @fog_sy / 8.0
    # Controlar a mudança de cor de Névoa
    if @fog_tone_duration >= 1
      d = @fog_tone_duration
      target = @fog_tone_target
      @fog_tone.red = (@fog_tone.red * (d - 1) + target.red) / d
      @fog_tone.green = (@fog_tone.green * (d - 1) + target.green) / d
      @fog_tone.blue = (@fog_tone.blue * (d - 1) + target.blue) / d
      @fog_tone.gray = (@fog_tone.gray * (d - 1) + target.gray) / d
      @fog_tone_duration -= 1
    end
    # Controlar a mudança de nível de opacidade de Névoa
    if @fog_opacity_duration >= 1
      d = @fog_opacity_duration
      @fog_opacity = (@fog_opacity * (d - 1) + @fog_opacity_target) / d
      @fog_opacity_duration -= 1
    end
  end
end

@fmalust: Thanks, I'm glad you like it.

@Sparx-1: Sorry, there just a bunch of maps from old projects I threw together. Most of the scripts have instructions and are fairly simple to use, I'll be sure to include more instructions in the next version.

@fox5: Just download the old project, then paste the new Scripts.rxdata into it. You can save the old Scripts.rxdata if you want, because the new one is SDK and the old one isn't. Please note the new version isn't an 'official' release, I just uploaded it because the menu is slightly simpler to modify in the new version.

Sorry the project isn't more organized, I was mostly focusing on the scripts and not really the maps. Next time I'll try to make a proper demo, alot of stuff is still being worked out for the next version which might not be done for at least another month with work 'n all.

BTW, anybody experiencing problems entering, exiting then trying to re-enter vehicles afterwards? I didn't have a problem with it prior to the release of the project, I'm trying to figure out how to fix the bug, just wondering if anybodys experiencing the same problem? I don't know if its my script, or the Event_Spawner or maybe even the new RGSS102E dll I recently installed.
 

Thank you for viewing

HBGames is a leading amateur video game development forum and Discord server open to all ability levels. Feel free to have a nosey around!

Discord

Join our growing and active Discord server to discuss all aspects of game making in a relaxed environment. Join Us

Content

  • Our Games
  • Games in Development
  • Emoji by Twemoji.
    Top