• Our software update is now concluded. You will need to reset your password to log in. In order to do this, you will have to click "Log in" in the top right corner and then "Forgot your password?".
  • Welcome to PokéCommunity! Register now and join one of the best fan communities on the 'net to talk Pokémon and more! We are not affiliated with The Pokémon Company or Nintendo.

taking script requests

Jeff_PKLight

RMXP User
535
Posts
19
Years
Here's a pokedex script (sorry if I can't post scripts here -virtual-...)

Chrono_Cry made it.
Replace Scene_Menu with this (this menu is by Chrono_Cry)
Code:
#==============================================================================
# ■ Scene_Menu
#------------------------------------------------------------------------------
#==============================================================================

class Scene_Menu
 #Pok?mon Menu - Version 1
 #Developed By Chrono Cry and Scaboon (Same person lol)
 #Changes can easily be made to the scripts and i shall inform you step by step how to.
 def initialize(menu_index = 0)
   @menu_index = menu_index
 end
 #Here is the main line of command it basically makes everything happen
 def main
   # These are the chocies that appear on the menu
   s1 = "Pok?dex"
   s2 = "Pok?mon"
   s3 = "Bag"
   s4 = "Tora"
   s5 = "Save"
   s6 = "Exit"
   @spriteset = Spriteset_Map.new
   @command_window = Window_Command.new(140, [s1, s2, s3, s4, s5, s6]) # This arranges the order of the selection
   @command_window.index = @menu_index
   # -----------------------------------------
   if $game_party.actors.size == 0
     # ===========================
     @command_window.disable_item(0)
     @command_window.disable_item(1)
     @command_window.disable_item(2)
     @command_window.disable_item(3)
   end
   # --------------------------------
   if $game_system.save_disabled
     # ----------------------------
     @command_window.disable_item(4)
   end
   # プレイ時間ウィンドウを作成
   Graphics.transition
   # メインループ
   loop do
     # ゲーム画面を更新
     Graphics.update
     # 入力情報を更新
     Input.update
     # フレーム更新
     update
     # 画面が切り替わったらループを中断
     if $scene != self
       break
     end
   end
   # トランジション準備
   Graphics.freeze
   # ウィンドウを解放
   @spriteset.dispose
   @command_window.dispose
 end
 #--------------------------------------------------------------------------
 # ● フレーム更新
 #--------------------------------------------------------------------------
 def update
   # ウィンドウを更新
   @spriteset.update
   @command_window.update
   # コマンドウィンドウがアクティブの場合: update_command を呼ぶ
   if @command_window.active
     update_command
     return
   end
   # ステータスウィンドウがアクティブの場合: update_status を呼ぶ
   if @status_window.active
     update_status
     return
   end
 end
 #--------------------------------------------------------------------------
 # ● フレーム更新 (コマンドウィンドウがアクティブの場合)
 #--------------------------------------------------------------------------
 def update_command
   # B ボタンが押された場合
   if Input.trigger?(Input::B)
     # キャンセル SE を演奏
     $game_system.se_play($data_system.cancel_se)
     # マップ画面に切り替え
     $scene = Scene_Map.new
     return
   end
   # C ボタンが押された場合
   if Input.trigger?(Input::C)
     # パーティ人数が 0 人で、セーブ、ゲーム終了以外のコマンドの場合
     if $game_party.actors.size == 0 and @command_window.index < 4
       # ブザー SE を演奏
       $game_system.se_play($data_system.buzzer_se)
       return
     end
     # コマンドウィンドウのカーソル位置で分岐
     case @command_window.index
     # The selection below is what happens when a selection is made
     when 0  # Opens up pokedex scene you have to make this yourself i suggest the biestary script
       # 決定  SE を演奏
       $game_system.se_play($data_system.decision_se)
       # アイテム画面に切り替え
       $scene = Scene_MonsterBook.new
     when 1  # This opens up the pokemon scene you will need to make this yourself
       # 決定 SE を演奏
       $game_system.se_play($data_system.decision_se)
       # ゲーム終了画面に切り替え
       $scene = Scene_Pokemon.new
     when 2  # This opens up the item screen
       # 決定 SE を演奏
       $game_system.se_play($data_system.decision_se)
       # ステータスウィンドウをアクティブにする
       $scene = Scene_Item.new
     when 3  # This opens up status screen i recommend you mess around with Window_Status to get what you want it to look like
       # 決定 SE を演奏
       $game_system.se_play($data_system.decision_se)
       # ステータスウィンドウをアクティブにする
       $scene = Scene_Status.new
     when 4  # This brings up save menu
       # セーブ禁止の場合
       if $game_system.save_disabled
         # ブザー SE を演奏
         $game_system.se_play($data_system.buzzer_se)
         return
       end
       # 決定 SE を演奏
       $game_system.se_play($data_system.decision_se)
       # セーブ画面に切り替え
       $scene = Scene_Save.new
     when 5  # This brings up exit choice
       # 決定 SE を演奏
       $game_system.se_play($data_system.decision_se)
       # ゲーム終了画面に切り替え
       $scene = Scene_End.new
     end
     return
   end
 end
 #--------------------------------------------------------------------------
 # ● フレーム更新 (ステータスウィンドウがアクティブの場合)
 #--------------------------------------------------------------------------
 def update_status
   # B ボタンが押された場合
   if Input.trigger?(Input::B)
     # キャンセル SE を演奏
     $game_system.se_play($data_system.cancel_se)
     # コマンドウィンドウをアクティブにする
     @command_window.active = true
     @status_window.active = false
     @status_window.index = -1
     return
   end
   # C ボタンが押された場合
   if Input.trigger?(Input::C)
     # コマンドウィンドウのカーソル位置で分岐
     case @command_window.index
     when 1  # スキル
       # このアクターの行動制限が 2 以上の場合
       if $game_party.actors[@status_window.index].restriction >= 2
         # ブザー SE を演奏
         $game_system.se_play($data_system.buzzer_se)
         return
       end
       # 決定 SE を演奏
       $game_system.se_play($data_system.decision_se)
       # スキル画面に切り替え
       $scene = Scene_Skill.new(@status_window.index)
     when 2  # 装備
       # 決定 SE を演奏
       $game_system.se_play($data_system.decision_se)
       # 装備画面に切り替え
       $scene = Scene_Equip.new(@status_window.index)
     when 3  # ステータス
       # 決定 SE を演奏
       $game_system.se_play($data_system.decision_se)
       # ステータス画面に切り替え
       $scene = Scene_Status.new(@status_window.index)
     end
     return
   end
 end
end

Replace Window_Command with this:
Code:
#==============================================================================
# ■ Window_Command edited by Chrono Cry
#------------------------------------------------------------------------------
class Window_Command < Window_Selectable
 #--------------------------------------------------------------------------
 #--------------------------------------------------------------------------
 def initialize(width, commands)
   # This defines the position of the command bar
   super(500, 0, width, commands.size * 32 + 32)
   @item_max = commands.size
   @commands = commands
   self.contents = Bitmap.new(width - 32, @item_max * 32)
   self.contents.font.name = $fontface
   self.contents.font.size = $fontsize
   refresh
   self.index = 0
 end
 #--------------------------------------------------------------------------
 #--------------------------------------------------------------------------
 def refresh
   self.contents.clear
   for i in 0...@item_max
     draw_item(i, normal_color)
   end
 end
 #--------------------------------------------------------------------------
 #--------------------------------------------------------------------------
 def draw_item(index, color)
   self.contents.font.color = color
   rect = Rect.new(4, 32 * index, self.contents.width - 8, 32)
   self.contents.fill_rect(rect, Color.new(0, 0, 0, 0))
   self.contents.draw_text(rect, @commands[index])
 end
 #--------------------------------------------------------------------------
 #--------------------------------------------------------------------------
 def disable_item(index)
   draw_item(index, disabled_color)
 end
end

Then create a new script, ex. Pokedex, above Main in the Script Editor.
Code:
# Originally released by: momomo?
# Removal of comments and fix: Matte


module Enemy_Book_Config
DROP_ITEM_NEED_ANALYZE = false 
EVA_NAME = "Evasion" 
SHOW_COMPLETE_TYPE = 3  
end

class Game_Temp
attr_accessor :enemy_book_data
alias temp_enemy_book_data_initialize initialize
def initialize
  temp_enemy_book_data_initialize
  @enemy_book_data = Data_MonsterBook.new
end
end

class Game_Party
attr_accessor :enemy_info 
#--------------------------------------------------------------------------
alias book_info_initialize initialize
def initialize
  book_info_initialize
  @enemy_info = {}
end
#--------------------------------------------------------------------------
def add_enemy_info(enemy_id, type = 0)
  case type
  when 0
    if @enemy_info[enemy_id] == 2
      return false
    end
    @enemy_info[enemy_id] = 1
  when 1
    @enemy_info[enemy_id] = 2
  when -1
    @enemy_info[enemy_id] = 0
  end
end
#--------------------------------------------------------------------------
def enemy_book_max
  return $game_temp.enemy_book_data.id_data.size - 1
end
#--------------------------------------------------------------------------
def enemy_book_now
  now_enemy_info = @enemy_info.keys
  no_add = $game_temp.enemy_book_data.no_add_element
  new_enemy_info = []
  for i in now_enemy_info
    enemy = $data_enemies[i]
    next if enemy.name == ""
    if enemy.element_ranks[no_add] == 1
      next
    end
    new_enemy_info.push(enemy.id)
  end
  return new_enemy_info.size
end
#--------------------------------------------------------------------------
def enemy_book_complete_percentage
  e_max = enemy_book_max.to_f
  e_now = enemy_book_now.to_f
  comp = e_now / e_max * 100
  return comp.truncate
end
end

class Interpreter
def enemy_book_max
  return $game_party.enemy_book_max
end
def enemy_book_now
  return $game_party.enemy_book_now
end
def enemy_book_comp
  return $game_party.enemy_book_complete_percentage
end
end

class Scene_Battle
alias add_enemy_info_start_phase5 start_phase5
def start_phase5
  for enemy in $game_troop.enemies
    unless enemy.hidden
      $game_party.add_enemy_info(enemy.id, 0)
    end
  end
  add_enemy_info_start_phase5
end
end

class Window_Base < Window

 def initialize(x, y, width, height)
  super()
  self.contents = Bitmap.new(width - 32, height - 32)
  self.contents.font.name = $fontface
  @windowskin_name = $game_system.windowskin_name
  self.windowskin = RPG::Cache.windowskin(@windowskin_name)
  self.x = x
  self.y = y
  self.width = width
  self.height = height
  self.z = 100
end
#--------------------------------------------------------------------------
def draw_enemy_drop_item(enemy, x, y)
  self.contents.font.color = normal_color
  self.contents.font.name = $fontface
  treasures = []
  if enemy.item_id > 0
    treasures.push($data_items[enemy.item_id])
  end
  if enemy.weapon_id > 0
    treasures.push($data_weapons[enemy.weapon_id])
  end
  if enemy.armor_id > 0
    treasures.push($data_armors[enemy.armor_id])
  end
  if treasures.size > 0
    item = treasures[0]
    bitmap = RPG::Cache.icon(item.icon_name)
    opacity = 255
    self.contents.blt(x, y + 4, bitmap, Rect.new(0, 0, 24, 24), opacity)
    name = treasures[0].name
  else
    self.contents.font.color = disabled_color
    self.contents.font.name = $fontface
    name = "No Item"
  end
  self.contents.draw_text(x+28, y, 212, 32, name)
end
#--------------------------------------------------------------------------
def draw_enemy_book_id(enemy, x, y)
  self.contents.font.color = normal_color
  self.contents.font.name = $fontface
  id = $game_temp.enemy_book_data.id_data.index(enemy.id)
  self.contents.draw_text(x, y, 32, 32, id.to_s)
end
#--------------------------------------------------------------------------
def draw_enemy_name(enemy, x, y)
  self.contents.font.color = normal_color
  self.contents.font.name = $fontface
  self.contents.draw_text(x, y, 152, 32, enemy.name)
end
#--------------------------------------------------------------------------
def draw_enemy_graphic(enemy, x, y, opacity = 255)
  bitmap = RPG::Cache.battler(enemy.battler_name, enemy.battler_hue)
  cw = bitmap.width
  ch = bitmap.height
  src_rect = Rect.new(0, 0, cw, ch)
  x = x + (cw / 2 - x) if cw / 2 > x
  self.contents.blt(x - cw / 2, y - ch, bitmap, src_rect, opacity)
end
#--------------------------------------------------------------------------
def draw_enemy_exp(enemy, x, y)
  self.contents.font.color = system_color
  self.contents.font.name = $fontface
  self.contents.draw_text(x, y, 120, 32, "EXP")
  self.contents.font.color = normal_color
  self.contents.font.name = $fontface
  self.contents.draw_text(x + 120, y, 36, 32, enemy.exp.to_s, 2)
end
#--------------------------------------------------------------------------
def draw_enemy_gold(enemy, x, y)
  self.contents.font.color = system_color
  self.contents.font.name = $fontface
  self.contents.draw_text(x, y, 120, 32, $data_system.words.gold)
  self.contents.font.color = normal_color
  self.contents.font.name = $fontface
  self.contents.draw_text(x + 120, y, 36, 32, enemy.gold.to_s, 2)
end
end

class Game_Enemy_Book < Game_Enemy
#--------------------------------------------------------------------------
def initialize(enemy_id)
  super(2, 1)
  @enemy_id = enemy_id
  enemy = $data_enemies[@enemy_id]
  @battler_name = enemy.battler_name
  @battler_hue = enemy.battler_hue
  @hp = maxhp
  @sp = maxsp
end
end

class Data_MonsterBook
attr_reader :id_data
#--------------------------------------------------------------------------
def initialize
  @id_data = enemy_book_id_set
end
#--------------------------------------------------------------------------
def no_add_element
  no_add = 0
  for i in 1...$data_system.elements.size
    if $data_system.elements[i] =~ /Monster Book/
      no_add = i
      break
    end
  end
  return no_add
end
#--------------------------------------------------------------------------
def enemy_book_id_set
  data = [0]
  no_add = no_add_element
  for i in 1...$data_enemies.size
    enemy = $data_enemies[i]
    next if enemy.name == ""
    if enemy.element_ranks[no_add] == 1
      next
    end
    data.push(enemy.id)
  end
  return data
end
end


class Window_MonsterBook < Window_Selectable
attr_reader   :data
#--------------------------------------------------------------------------
def initialize(index=0)
  super(0, 64, 640, 416)
  @column_max = 2
  @book_data = $game_temp.enemy_book_data
  @data = @book_data.id_data.dup
  @data.shift
  @item_max = @data.size
  self.index = 0
  refresh if @item_max > 0
end
#--------------------------------------------------------------------------
def data_set
  data = $game_party.enemy_info.keys
  data.sort!
  newdata = []
  for i in data
    next if $game_party.enemy_info[i] == 0
    if book_id(i) != nil
      newdata.push(i)
    end
  end
  return newdata
end
#--------------------------------------------------------------------------
def show?(id)
  if $game_party.enemy_info[id] == 0 or $game_party.enemy_info[id] == nil
    return false
  else
    return true
  end
end
#--------------------------------------------------------------------------
def book_id(id)
  return @book_data.index(id)
end
#--------------------------------------------------------------------------
def item
  return @data[self.index]
end
#--------------------------------------------------------------------------
def refresh
  if self.contents != nil
    self.contents.dispose
    self.contents = nil
  end
  self.contents = Bitmap.new(width - 32, row_max * 32)
  if @item_max > 0
    for i in 0...@item_max
     draw_item(i)
    end
  end
end
#--------------------------------------------------------------------------
def draw_item(index)
  enemy = $data_enemies[@data[index]]
  return if enemy == nil
  x = 4 + index % 2 * (288 + 32)
  y = index / 2 * 32
  rect = Rect.new(x, y, self.width / @column_max - 32, 32)
  self.contents.fill_rect(rect, Color.new(0, 0, 0, 0))
  self.contents.font.color = normal_color
  self.contents.font.name = $fontface
  draw_enemy_book_id(enemy, x, y)
  if show?(enemy.id)
    self.contents.draw_text(x + 28+16, y, 212, 32, enemy.name, 0)
  else
    self.contents.draw_text(x + 28+16, y, 212, 32, "-----", 0)
    return
  end
  if analyze?(@data[index])
    self.contents.font.color = text_color(3)
    self.contents.font.name = $fontface
    self.contents.draw_text(x + 256, y, 24, 32, "Cancel", 2)
  end
end
#--------------------------------------------------------------------------
def analyze?(enemy_id)
  if $game_party.enemy_info[enemy_id] == 2
    return true
  else
    return false
  end
end
end


class Window_MonsterBook_Info < Window_Base
include Enemy_Book_Config
#--------------------------------------------------------------------------
def initialize
  super(0, 0+64, 640, 480-64)
  self.contents = Bitmap.new(width - 32, height - 32)
end
#--------------------------------------------------------------------------
def refresh(enemy_id)
  self.contents.clear
  self.contents.font.name = $fontface
  self.contents.font.size = 22
  enemy = Game_Enemy_Book.new(enemy_id)
  draw_enemy_graphic(enemy, 96, 240+48+64, 200)
  draw_enemy_book_id(enemy, 4, 0)
  draw_enemy_name(enemy, 48, 0)
  draw_actor_hp(enemy, 288, 0)
  draw_actor_sp(enemy, 288+160, 0)
  draw_actor_parameter(enemy, 288    ,  32, 0)
  self.contents.font.color = system_color
  self.contents.draw_text(288+160, 32, 120, 32, EVA_NAME)
  self.contents.font.color = normal_color
  self.contents.draw_text(288+160 + 120, 32, 36, 32, enemy.eva.to_s, 2)
  draw_actor_parameter(enemy, 288    ,  64, 3)
  draw_actor_parameter(enemy, 288+160,  64, 4)
  draw_actor_parameter(enemy, 288    ,  96, 5)
  draw_actor_parameter(enemy, 288+160,  96, 6)
  draw_actor_parameter(enemy, 288    , 128, 1)
  draw_actor_parameter(enemy, 288+160, 128, 2)
  draw_enemy_exp(enemy, 288, 160)
  draw_enemy_gold(enemy, 288+160, 160)
  if analyze?(enemy.id) or !DROP_ITEM_NEED_ANALYZE
    self.contents.draw_text(288, 192, 96, 32, "Drop Item")
    draw_enemy_drop_item(enemy, 288+96+4, 192)
    self.contents.font.color = normal_color
  end
end
#--------------------------------------------------------------------------
def analyze?(enemy_id)
  if $game_party.enemy_info[enemy_id] == 2
    return true
  else
    return false
  end
end
end


class Scene_MonsterBook
include Enemy_Book_Config
#--------------------------------------------------------------------------
def main
  $game_temp.enemy_book_data = Data_MonsterBook.new
  @title_window = Window_Base.new(0, 0, 640, 64)
  @title_window.contents = Bitmap.new(640 - 32, 64 - 32)
  @title_window.contents.draw_text(4, 0, 320, 32, "Monster Book", 0)
  if SHOW_COMPLETE_TYPE != 0
    case SHOW_COMPLETE_TYPE
    when 1
      e_now = $game_party.enemy_book_now
      e_max = $game_party.enemy_book_max
      text = e_now.to_s + "/" + e_max.to_s
    when 2
      comp = $game_party.enemy_book_complete_percentage
      text = comp.to_s + "%"
    when 3
      e_now = $game_party.enemy_book_now
      e_max = $game_party.enemy_book_max
      comp = $game_party.enemy_book_complete_percentage
      text = e_now.to_s + "/" + e_max.to_s + " " + comp.to_s + "%"
    end
    if text != nil
      @title_window.contents.draw_text(320, 0, 288, 32,  text, 2)
    end
  end
  @main_window = Window_MonsterBook.new
  @main_window.active = true
  @info_window = Window_MonsterBook_Info.new
  @info_window.z = 110
  @info_window.visible = false
  @info_window.active = false
  @visible_index = 0
  Graphics.transition
  loop do
    Graphics.update
    Input.update
    update
    if $scene != self
      break
    end
  end
  Graphics.freeze
  @main_window.dispose
  @info_window.dispose
  @title_window.dispose
end
#--------------------------------------------------------------------------
def update
  @main_window.update
  @info_window.update
  if @info_window.active
    update_info
    return
  end
  if @main_window.active
    update_main
    return
  end
end
#--------------------------------------------------------------------------
def update_main
  if Input.trigger?(Input::B)
    $game_system.se_play($data_system.cancel_se)
    $scene = Scene_Map.new
    return
  end
  if Input.trigger?(Input::C)
    if @main_window.item == nil or @main_window.show?(@main_window.item) == false
      $game_system.se_play($data_system.buzzer_se)
      return
    end
    $game_system.se_play($data_system.decision_se)
    @main_window.active = false
    @info_window.active = true
    @info_window.visible = true
    @visible_index = @main_window.index
    @info_window.refresh(@main_window.item)
    return
  end
end
#--------------------------------------------------------------------------
def update_info
  if Input.trigger?(Input::B)
    $game_system.se_play($data_system.cancel_se)
    @main_window.active = true
    @info_window.active = false
    @info_window.visible = false
    return
  end
  if Input.trigger?(Input::C)
    return
  end
  if Input.trigger?(Input::L)
    $game_system.se_play($data_system.decision_se)
    loop_end = false
    while loop_end == false
      if @visible_index != 0
        @visible_index -= 1
      else
        @visible_index = @main_window.data.size - 1
      end
      loop_end = true if @main_window.show?(@main_window.data[@visible_index])
    end
    id = @main_window.data[@visible_index]
    @info_window.refresh(id)
    return
  end
  if Input.trigger?(Input::R)
    $game_system.se_play($data_system.decision_se)
    loop_end = false
    while loop_end == false
      if @visible_index != @main_window.data.size - 1
        @visible_index += 1
      else
        @visible_index = 0
      end
      loop_end = true if @main_window.show?(@main_window.data[@visible_index])
    end
    id = @main_window.data[@visible_index]
    @info_window.refresh(id)
    return
  end
end
end
 

Datriot

Tachikama!!!
2,203
Posts
19
Years
That's a very good script! Thanks!

EDIT:Help! Your menu works fine apart from the Pokemon and Poke'dex menus, whenever I type them in it comes up with some error, and I have created the script that you make above main, what's the problem? :(
 
Last edited:

BlackCharizard

Black Charizard
148
Posts
18
Years
Virtual, I sorta think I know what 2 do to make it move. U have to put something like
press left
if facing left
then move_left
then like if not face left (or something)
then turn_left

So then you only turn unless u are already facing in that direction. I can figure it out, but I dont know where to put it, cause there are different script areas where there's a lot of moving things. Do you know hwich part it is that has the Hero's movement? Also do u know where the key commands are in the scripts. Thabnks for All that and thanks in advance for all the help!! It's great to know that someone is so dedicated to helping people!!

Oh and Jeff, How do we set the pokedex to a specific number of pokes. Oh and when I try it, I just get an unknown error at the start that has a bunch ? marks. Might be better to PM me.
 
Last edited:

Jeff_PKLight

RMXP User
535
Posts
19
Years
I think something's wrong with Chrono Cry's menu. Just use -virtual-'s and when you see this:

Code:
when  "Pokedex"
       $game_system.se_play($data_system.decision_se)
       $scene = Scene_Map.new

Change it to this:

Code:
when "Pokedex"  # Opens up pokedex scene you have to make this yourself i suggest the biestary script
       # 決定  SE を演奏
       $game_system.se_play($data_system.decision_se)
       # アイテム画面に切り替え
       $scene = Scene_Monsterbook.new

It should work now...
 
1,279
Posts
20
Years
I get an error saying:
Error said:
????? 'PokeMenu*' ? 170 ??? NameError ????????

Uninitialized constant Scene_Menu::Scene_Monsterbook
I couldn't work it out.. Can you help me? Line 170 is when
"Pokedex" # Opens up pokedex scene you have to make this yourself i suggest the biestary script
# 決定 SE を演奏
$game_system.se_play($data_system.decision_se)
# アイテム画面に切り替え
$scene = Scene_Monsterbook.new
Much appreciated :D
 

BlackCharizard

Black Charizard
148
Posts
18
Years
Well, jeff wrote that one incorrectly. He mean to type "when 1" although he put pokedex, but thats cause at the beginning of the script it tellls the game that 1 = pokedex. aanyway, you were supposed to put
Code:
when 1 # Opens up pokedex scene you have to make this yourself i suggest the biestary script
# 決定 SE を演奏
$game_system.se_play($data_system.decision_se)
# アイテム画面に切り替え
$scene = Scene_Monsterbook.new
Anyway, that still desn't work. I get the same unknown error. Hmmm... I've chhecked a few things, and now am completely stumped. Dont know wuts wrong...

Also, In Game_Player, you can find a code that tells how to move your character that looks like this:
Code:
  #--------------------------------------------------------------------------
  # ● フレーム更新
  #--------------------------------------------------------------------------
  def update
    # ローカル変数に移動中かどうかを記憶
    last_moving = moving?
    # 移動中、イベント実行中、移動ルート強制中、
    # メッセージウィンドウ表示中のいずれでもない場合
    unless moving? or $game_system.map_interpreter.running? or
           @move_route_forcing or $game_temp.message_window_showing
      # 方向ボタンが押されていれば、その方向へプレイヤーを移動

      case Input.dir4
      when 2
        move_down
      when 4
        move_left
      when 6
        move_right
      when 8
        move_up
      end
    end

Anyway, that is what must be edited to allow your charatcer to turn and stay in the same tile unless u r already facing ni the direction indicated. U know liike in R/S/E/FR/LG where u tap the directional button and the guy/girl turns slightly, THAT!
Anyway, I've come up with this: (NOTE: THIS IS NOT A REAL WORKIN SCRIPT!!)
Code:
  #--------------------------------------------------------------------------
  # ● フレーム更新
  #--------------------------------------------------------------------------
  def update
    # ローカル変数に移動中かどうかを記憶
    last_moving = moving?
    # 移動中、イベント実行中、移動ルート強制中、
    # メッセージウィンドウ表示中のいずれでもない場合
    unless moving? or $game_system.map_interpreter.running? or
           @move_route_forcing or $game_temp.message_window_showing
      # 方向ボタンが押されていれば、その方向へプレイヤーを移動

      case Input.dir4
      when 2
        hero facing_down
         move_down
      when 4
        hero facing_left
         move_left
      when 6
        hero facing_right
         move_right
      when 8
        hero facing_up
         move_up
         
      when 2
        turn_down
      when 4
        turn_left
      when 6
        turn_right
      when 8
        turn_up
      end
    end
If anywone knows what I did wrong, please tell me. I think it something else, not "facing_up, down, left, right" I think kits another word, not facing, but I dont know wut. Thanks!
Oh, and Virtual, If u dont want this here, I will edit it out of my post, If u tell me!
 
1,279
Posts
20
Years
I think it should be more like this:
Code:
  #--------------------------------------------------------------------------
  # ● フレーム更新
  #--------------------------------------------------------------------------
  def update
    # ローカル変数に移動中かどうかを記憶
    last_moving = moving?
    # 移動中、イベント実行中、移動ルート強制中、
    # メッセージウィンドウ表示中のいずれでもない場合
    unless moving? or $game_system.map_interpreter.running? or
           @move_route_forcing or $game_temp.message_window_showing
      # 方向ボタンが押されていれば、その方向へプレイヤーを移動

      case Input.dir4
      when 2
        if hero facing_down
         move_down
        else
         turn_down
        end
      when 4
        if hero facing_left
         move_left
        else
         turn_left
        end
      when 6
        if hero facing_right
         move_right
        else
         turn_right
        end
      when 8
        if hero facing_up
         move_up
        else
         turn_up
        end
      end
    end
 
Last edited:

Blizzy

me = Scripter.new("Noob")
492
Posts
19
Years
Demonic Budha said:
Hey me again.
according to the member list there isnt anyone name "rataime" on theses forums?
you have to look on rmxp.net forums for that
BlackCharizard said:
Virtual, I sorta think I know what 2 do to make it move. U have to put something like
press left
if facing left
then move_left
then like if not face left (or something)
then turn_left.
i already did that, but if you face left, it automaticly moves left.
 
15
Posts
18
Years
  • Seen May 29, 2007
Hey there -virtual-,

I added the scripts from this post:
http://www.pokecommunity.com/showpost.php?p=1257385&postcount=5
and this one:
http://www.pokecommunity.com/showpost.php?p=1264077&postcount=27

I called the first script (On page 1) 'Game_Temp' (Without the ' '), and the second script 'Game_Temp 2'

Then I got this error after selecting "New Game" (In the Testing Window as usual):

???? 'Game_Temp' ? 5 ??? SystemStackError ?????????
stack level too deep

Here is a picture by the way to help out in understanding:

Any ideas on what could be the problem?
 
401
Posts
19
Years
  • Age 29
  • Seen Dec 4, 2016
i think this is pretty simple, could you make me a script that shows the people in your party but in a class called Pokemon. And can you put it in the pokemon table?
 

Blizzy

me = Scripter.new("Noob")
492
Posts
19
Years
agentalexandre12 said:
i think this is pretty simple, could you make me a script that shows the people in your party but in a class called Pokemon. And can you put it in the pokemon table?
just open the original rmxp menu, and check right menu
(with the people in it), i think that is what you want.

Shinra said:
Hey there -virtual-,

I called the first script (On page 1) 'Game_Temp' (Without the ' '), and the second script 'Game_Temp 2'

Any ideas on what could be the problem?
yeah, i know what it is.
you need to merge the alias initialize_old initialize
from the menu and from the trainercard

it's all in the demo.

@to all:
i've made a demo with includes:
-menu
-trainercard
-pokedex (the script posted by jeff_pklight)
-choices in new window.
-module window (my module to create windows, but that doesn't matter)

some scripts have a * or **
* means it's added, and you can modify it.
** means it's added, but don't remove or add anything!
Enjoy :)
 
Last edited:

Jeff_PKLight

RMXP User
535
Posts
19
Years
Wow, great way to put it all together -virtual-! :) Btw, does the reflection script work for characters beside the hero as well?
 

Blizzy

me = Scripter.new("Noob")
492
Posts
19
Years
Jeff_PKLight said:
Wow, great way to put it all together -virtual-! :) Btw, does the reflection script work for characters beside the hero as well?
i have no idea. you should ask that to rataime
 
401
Posts
19
Years
  • Age 29
  • Seen Dec 4, 2016
hey i found the thing i was looking for, when i press esc it still shows the window but i can stilll move about.
 
Last edited:

Demonic Budha

semi-good RMXPer (not script)
192
Posts
18
Years
thx to all who helped me find the reflection script.
now i have another request,
are you able to edit the reflection script so that the
reflection is rippled when reflected in water?

basiclly like on pokemon FR/LG

Thx in advance
Demonic Budha
 
Back
Top