SHININGRIVER'S PROFILE
I do freelance photoshop and writing in my free time. I'm also a computer programmer.
Search
Filter
Transfer function
I've been trying to use the rightclick->transfer event on VX Ace to create a transfer when a player steps on a tile... Is it possible to activate this only if the player came from a specific direction? For example, it will only activate if the player came from the left side of the tile, and will not if he came from other sides.
Selecting an item
Yeah, I'm the one who made this. I'm still trying to grasp the language. I've taken a look at the Window_Selectable class enough that I could get an item displayed... but it's somewhat delayed XD
Selecting an item
Alter Legend - Download Finally Available!
author=Incarnateauthor=shiningriverCan't help you there, the file is the size that it is. maybe download it some where with faster internet, throw it on a usb and then bring it to your computer at home! :)
The download size is too big, I'm having trouble downloading the whole thing.
Umm... could you split it up? maybe around 150-200 MB per part? sorry bout that. T___T
Alter Legend - Download Finally Available!
Selecting an item
I'm having trouble with displaying the selected item. What's happening is that the window displays the item selected previously, not the item currently selected. For example:
1st iteration: Selected option 2, displays nil
2nd iteration: Selected option 1, displays option 2
3rd iteration: Selected option 5, displays option 1
4th iteration: Selected option 4, displays option 5
and so forth.
The item being displayed is the selected item from Window_PartyList, and is displayed on Window_Header2.
Please help me... T___T
1st iteration: Selected option 2, displays nil
2nd iteration: Selected option 1, displays option 2
3rd iteration: Selected option 5, displays option 1
4th iteration: Selected option 4, displays option 5
and so forth.
The item being displayed is the selected item from Window_PartyList, and is displayed on Window_Header2.
Please help me... T___T
#============================================================================== # Class Scene_Fusion < Scene_MenuBase # This class is for displaying the Fusion screen. All options should # open the next screen, Scene_Fusion2 #============================================================================== class Scene_Fusion < Scene_MenuBase def start super # Fusion 1 @header1 = Window_Header.new(0, 0, Graphics.width, 132) @list1 = Window_PartyList.new(0, 132, Graphics.width) @list1.set_handler(:ok, method(:continue)) @list1.set_handler(:cancel, method(:return_scene)) # Fusion 2 @header2 = Window_Header2.new(0, 0, Graphics.width, 132) @list2 = Window_PartyList2.new(0, 132, Graphics.width) @list2.set_handler(:ok, method(:continue)) @list2.set_handler(:cancel, method(:return_scene)) # Setup Fusion 1 as the start point @list1.activate # Activate the first list. @list2.deactivate # Deactivate the second list. @list2.hide @header2.hide # Hide the second list and header. end def continue @list1.deactivate @list1.hide @header1.hide @list2.show $selected = @list1.selected @header2.show @list2.activate end end #============================================================================== # Class Window_Header < Window_Base # This class displays the options at the top. #============================================================================== class Window_Header < Window_Base def initialize(x, y, width, height) super self.opacity = 0 draw_headers @opening = @closing = false end #def initialize def dispose contents.dispose unless disposed? super end #def dispose def draw_headers line_height = 16 change_color(system_color) draw_text(30, 0, 250, line_height, "Select First Demon") draw_text(30, 40, 85, line_height, "Race") draw_text(120, 40, 85, line_height, "Name") draw_text(265, 40, 85, line_height, "LV") for i in 1..10 eval("draw_text(300+(30*#{i-1}), 0, 30, 10, #{i})") end # for change_color(normal_color) end #def draw_headers end #class Window_Header #============================================================================== # Class Window_Header2 < Window_Base # This class displays the options at the top. #============================================================================== class Window_Header2 < Window_Base def initialize(x, y, width, height) super self.opacity = 0 #$selected = $list1.selected draw_headers @opening = @closing = false end #def initialize def dispose contents.dispose unless disposed? super end #def dispose def draw_headers line_height = 16 change_color(system_color) draw_text(30, 0, 250, line_height, "Select Second Demon") draw_text(400, 0, 300, line_height, $selected.class.name) # draw_text(450, 0, 300, line_height, $selected.level) draw_text(30, 40, 85, line_height, "Race") draw_text(120, 40, 85, line_height, "Name") draw_text(265, 40, 85, line_height, "LV") draw_text(420, 40, 85, line_height, "Result") change_color(normal_color) end #def draw_headers end #class Window_Header2 #============================================================================== # Class Window_PartyList < Window_Selectable # This class displays the list of party members. Should not include the # main actor. #============================================================================== class Window_PartyList < Window_Selectable def initialize(x, y, width) super(x, y, width, Graphics.height - y) self.opacity = 0 data = [] self.index = 0 #Do not include the main actor! activate refresh end #def initialize def item_max @data ? @data.size : 1 end #def item_max def make_item_list @data = $game_party.members.compact @data.delete_at(0) #Ensures that the first party member isn't bothered. end #def make_item_list def draw_item(index) line_height = 16 item = @data[index] if item rect = item_rect_for_text(index) #draw_text(rect, item.id) draw_text_ex(0, rect.y, item.id) #draw_text_ex(rect.x + 15, rect.y, item.class.name) draw_text_ex(30, rect.y, item.class.name) #draw_text_ex(rect.x + 100, rect.y, item.name) draw_text_ex(120, rect.y, item.name) #draw_text_ex(rect.x + 180, rect.y, item.level) draw_text_ex(265, rect.y, item.level) for i in 1..10 if index==i-1 #If same actor, cannot be fused eval("draw_text(300+(30*#{i-1}), rect.y, 30, line_height, '-')") elsif item.class == @data[i-1].class #else if same class, cannot be fused eval("draw_text(300+(30*#{i-1}), rect.y, 30, line_height, 'No')") else #else, can be fused eval("draw_text(300+(30*#{i-1}), rect.y, 30, line_height, 'Yes')") #@data[i-1].set_handler(:ok, SceneManager.call(Scene_Fusion2)) end #end if else end #end for end #end if end #def draw_item #def selected(value) # @selected = value #end def refresh contents.clear make_item_list create_contents draw_all_items end #def refresh def selected #return @data[self.index] if @data[self.index] $selected = @data[1] else $selected = @data[self.index] end end #def selected end #class Window_PartyList #============================================================================== # Class Window_PartyList2 < Window_Selectable # This class displays the list of party members. Should not include the # main actor. #============================================================================== class Window_PartyList2 < Window_Selectable def initialize(x, y, width) super(x, y, width, Graphics.height - y) self.opacity = 0 data = [] #$resultClass = Table.new(37,37) $resultClass = [] self.index = 0 #Do not include the main actor! initializeTable activate refresh end #def initialize def initializeTable $resultClass[0] = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1] # Avatar $resultClass[1] = [37, 6, 6, 22, 20, 24, 16, 14, 24, 30, 15, 32, 14, 19, 29, 29, 14, 5, 24, 9, 22, 5, 14, 29, 19, 34, 34, 5, 5, 22, 10, 31, 5, 20, 6] # Avian $resultClass[2] = [6, 37, 15, 22, 11, 29, 11, 5, 29, 24, 6, 24, 3, 22, 6, 3, 25, 6, 23, 1, 22, 5, 7, 6, 11, 22, 24, 24, 32, 3, 1, 20, 22, 29, 25] # Beast $resultClass[3] = [6, 15, 37, 11, 2, 1, 20, 19, 11, 11, 9, 29, 34, 1, 20, 34, 34, 29, 1, 30, 35, 2, 29, 15, 9, 1, 34, 14, 1, 9, 7, 7, 19, 16, 10] # Brute $resultClass[4] = [22, 22, 11, 37, 22, 35, 25, 14, 25, 21, 3, 22, 34, 23, 6, 30, 13, 22, 11, 7, 11, 29, 14, 11, 22, 22, 14, 31, 3, 22, 17, 17, 30, 14, 11] # Deity $resultClass[5] = [20, 11, 2, 22, 37, 24, 32, 24, 29, 22, 7, 31, 31, 22, 34, 9, 10, 22, 24, 31, 4, 9, 24, 22, 32, 31, 31, 26, 26, 22, 32, 31, 22, 30, 24] # Divine $resultClass[6] = [24, 29, 1, 35, 24, 37, 10, 24, 1, 31, 24, 32, 14, 5, 7, 2, 29, 24, 9, 22, 22, 11, 24, 1, 29, 5, 13, 24, 24, 3, 5, 2, 19, 1, 29] # Dragon $resultClass[7] = [16, 11, 20, 25, 32, 10, 37, 23, 10, 3, 16, 29, 29, 15, 10, 34, 29, 6, 9, 2, 22, 15, 14, 20, 11, 30, 14, 19, 34, 34, 16, 31, 23, 15, 1] # Entity $resultClass[8] = [14, 5, 19, 14, 24, 24, 23, 37, 24, 22, 23, 5, 4, 23, 14, 5, 4, 31, 22, 31, 14, 14, 14, 5, 4, 1, 32, 5, 14, 26, 26, 31, 14, 4, 24] # Fairy $resultClass[9] = [24, 29, 11, 25, 29, 1, 10, 24, 37, 6, 10, 11, 17, 4, 3, 20, 25, 15, 24, 16, 35, 32, 35, 34, 29, 16, 17, 19, 3, 3, 34, 30, 23, 2, 19] # Fallen $resultClass[10] = [30, 24, 11, 21, 22, 31, 3, 22, 6, 37, 7, 15, 32, 32, 31, 9, 25, 31, 3, 3, 4, 20, 14, 11, 17, 32, 13, 23, 24, 2, 26, 2, 23, 7, 21] # Femme $resultClass[11] = [15, 6, 9, 3, 7, 24, 16, 23, 10, 7, 37, 24, 34, 23, 30, 9, 13, 24, 23, 3, 34, 15, 22, 6, 21, 24, 13, 24, 10, 9, 34, 31, 22, 1, 4] # Fiend $resultClass[12] = [32, 24, 29, 22, 31, 32, 29, 5, 11, 15, 24, 37, 32, 5, 5, 9, 32, 16, 24, 15, 7, 32, 24, 32, 29, 24, 31, 26, 24, 22, 26, 22, 22, 7, 32] # Foul $resultClass[13] = [14, 3, 34, 34, 31, 14, 29, 4, 17, 32, 34, 32, 37, 30, 25, 34, 4, 32, 10, 16, 11, 34, 32, 32, 4, 31, 32, 10, 10, 34, 17, 17, 30, 3, 29] # Fury $resultClass[14] = [19, 22, 1, 23, 22, 5, 15, 23, 4, 32, 23, 5, 30, 37, 23, 15, 30, 15, 22, 34, 11, 23, 32, 5, 23, 5, 22, 32, 22, 15, 5, 31, 5, 30, 19] # Genma $resultClass[15] = [29, 6, 20, 6, 34, 7, 10, 14, 3, 31, 30, 5, 25, 23, 37, 6, 25, 5, 35, 2, 9, 29, 11, 3, 19, 24, 23, 24, 5, 1, 32, 22, 19, 32, 14] # Ghost $resultClass[16] = [29, 3, 34, 30, 9, 2, 34, 5, 20, 9, 9, 9, 34, 15, 6, 37, 3, 11, 6, 10, 30, 32, 11, 32, 10, 30, 10, 5, 7, 15, 11, 5, 5, 30, 2] # Haunt $resultClass[17] = [14, 25, 34, 13, 10, 29, 29, 4, 25, 25, 13, 32, 4, 30, 25, 3, 37, 29, 10, 16, 32, 34, 32, 11, 35, 31, 32, 4, 4, 34, 13, 10, 30, 21, 21] # Hero $resultClass[18] = [5, 6, 29, 22, 22, 24, 6, 31, 15, 31, 24, 16, 32, 15, 5, 11, 29, 37, 5, 15, 22, 26, 24, 31, 31, 24, 31, 26, 5, 22, 29, 26, 6, 1, 29] # Holy $resultClass[19] = [24, 23, 1, 11, 24, 9, 9, 22, 24, 3, 23, 24, 10, 22, 35, 6, 10, 5, 37, 1, 3, 23, 1, 6, 9, 28, 34, 6, 22, 9, 1, 10, 22, 9, 6] # Jaki $resultClass[20] = [9, 1, 30, 7, 31, 22, 2, 31, 16, 3, 3, 15, 16, 34, 2, 10, 16, 15, 1, 37, 15, 15, 11, 11, 34, 22, 31, 31, 6, 34, 11, 15, 22, 7, 15] # Jirae $resultClass[21] = [22, 22, 35, 11, 4, 22, 22, 14, 35, 4, 34, 7, 11, 11, 9, 30, 32, 22, 3, 15, 37, 29, 3, 23, 13, 22, 13, 5, 10, 9, 34, 17, 22, 32, 3] # Kishin $resultClass[22] = [5, 5, 2, 29, 9, 11, 15, 14, 32, 20, 15, 32, 34, 23, 29, 32, 34, 26, 23, 15, 29, 37, 14, 30, 11, 24, 31, 6, 6, 26, 10, 20, 14, 16, 11] # Lady $resultClass[23] = [14, 7, 29, 14, 24, 24, 14, 14, 35, 14, 22, 24, 32, 32, 11, 11, 32, 24, 1, 11, 3, 14, 37, 14, 22, 24, 22, 5, 11, 11, 24, 11, 22, 17, 25] # Megami $resultClass[24] = [29, 6, 15, 11, 22, 1, 20, 5, 34, 11, 6, 32, 32, 5, 3, 32, 11, 31, 6, 11, 23, 30, 14, 37, 10, 32, 31, 5, 9, 2, 0, 26, 5, 9, 22] # Night $resultClass[25] = [19, 11, 9, 22, 32, 29, 11, 4, 29, 17, 21, 29, 4, 23, 19, 10, 35, 31, 9, 34, 13, 11, 22, 10, 37, 32, 32, 10, 10, 34, 25, 23, 14, 35, 6] # Omega $resultClass[26] = [34, 22, 1, 22, 31, 5, 30, 1, 16, 32, 24, 24, 31, 5, 24, 30, 31, 24, 28, 22, 22, 24, 24, 32, 32, 37, 32, 1, 22, 11, 5, 7, 22, 10, 10] # Raptor $resultClass[27] = [34, 24, 34, 14, 31, 13, 14, 32, 17, 13, 13, 31, 32, 22, 23, 10, 32, 31, 34, 31, 13, 31, 22, 31, 32, 32, 37, 31, 13, 29, 14, 14, 5, 32, 17] # Seraph $resultClass[28] = [5, 24, 14, 31, 26, 24, 19, 5, 19, 23, 24, 26, 10, 32, 24, 5, 4, 26, 6, 31, 5, 6, 5, 5, 10, 1, 31, 37, 0, 2, 10, 6, 22, 6, 24] # Snake $resultClass[29] = [5, 32, 1, 3, 26, 24, 34, 14, 3, 24, 10, 24, 10, 22, 5, 7, 4, 5, 22, 6, 10, 6, 11, 9, 10, 22, 13, 0, 37, 22, 7, 5, 22, 30, 25] # Touki $resultClass[30] = [22, 3, 9, 22, 22, 3, 34, 26, 3, 2, 9, 22, 34, 15, 1, 15, 34, 22, 9, 34, 9, 26, 11, 2, 34, 11, 29, 2, 22, 37, 29, 15, 26, 29, 3] # Tyrant $resultClass[31] = [10, 1, 7, 17, 32, 5, 16, 26, 34, 26, 34, 26, 17, 5, 32, 11, 13, 29, 1, 11, 34, 10, 24, 0, 25, 5, 14, 10, 7, 29, 37, 5, 14, 20, 25] # Vile $resultClass[32] = [31, 20, 7, 17, 31, 2, 31, 31, 30, 2, 31, 22, 17, 31, 22, 5, 10, 26, 10, 15, 17, 20, 11, 26, 23, 7, 14, 6, 5, 15, 5, 37, 22, 10, 21] # Wargod $resultClass[33] = [5, 22, 19, 30, 22, 19, 23, 14, 23, 23, 22, 22, 30, 5, 19, 5, 30, 6, 22, 22, 22, 14, 22, 5, 14, 22, 5, 22, 22, 26, 14, 22, 37, 14, 14] # Wilder $resultClass[34] = [20, 29, 16, 14, 30, 1, 15, 4, 2, 7, 1, 7, 3, 30, 32, 30, 21, 1, 9, 7, 32, 16, 17, 9, 35, 10, 32, 6, 30, 29, 20, 10, 14, 37, 3] # Yoma $resultClass[35] = [6, 25, 10, 11, 24, 29, 1, 24, 19, 21, 4, 32, 29, 19, 14, 2, 21, 29, 6, 15, 3, 11, 25, 22, 6, 10, 17, 24, 25, 3, 25, 21, 14, 3, 37] # Elements $resultClass[36] = [6, 25, 10, 11, 24, 29, 1, 24, 19, 21, 4, 32, 29, 19, 14, 2, 21, 29, 6, 15, 3, 11, 25, 22, 6, 10, 17, 24, 25, 3, 25, 21, 14, 3, 37] end def item_max @data ? @data.size : 1 end #def item_max def make_item_list @data = $game_party.members.compact @data.delete_at(0) #Ensures that the first party member isn't bothered. end #def make_item_list def draw_item(index) item = @data[index] if item rect = item_rect_for_text(index) draw_text(rect, item.id) draw_text_ex(rect.x + 15, rect.y, item.class.name) draw_text_ex(rect.x + 100, rect.y, item.name) draw_text_ex(rect.x + 180, rect.y, item.level) #Compute the resulting demon #draw_text_ex(rect.x + 350, rect.y, show_result(item.id, index)) # @classid = $resultClass[$selected.class-1][item.class_id-1] # draw_text_ex(rect.x + 350, rect.y, $data_classes[@classid].name) end #end if end #def draw_item #should print out the resulting demon. #def show_result(item, index) # return $resultClass[item][index] #end #show_result def refresh contents.clear make_item_list create_contents draw_all_items end #def refresh #set handler for showing the next screen end #class Window_PartyList2
Trihan's "Make me a script" topic!
Hi, how's it going so far?
I'm having difficulty trying to display the item selected from one screen to be displayed to another... here's the code that I have
I'm trying to get the item selected from Window_PartyList1 to be displayed on Header2.
I'm having difficulty trying to display the item selected from one screen to be displayed to another... here's the code that I have
#============================================================================== # Class Scene_Fusion < Scene_MenuBase # This class is for displaying the Fusion screen. All options should # open the next screen, Scene_Fusion2 #============================================================================== class Scene_Fusion < Scene_MenuBase def start super # Fusion 1 @header1 = Window_Header.new(0, 0, Graphics.width, 132) @list1 = Window_PartyList.new(0, 132, Graphics.width) @list1.set_handler(:ok, method(:continue)) @list1.set_handler(:cancel, method(:return_scene)) # Fusion 2 @header2 = Window_Header2.new(0, 0, Graphics.width, 132) @list2 = Window_PartyList2.new(0, 132, Graphics.width) @list2.set_handler(:ok, method(:continue)) @list2.set_handler(:cancel, method(:return_scene)) # Setup Fusion 1 as the start point @list1.activate # Activate the first list. @list2.deactivate # Deactivate the second list. @list2.hide @header2.hide # Hide the second list and header. end def continue @list1.deactivate @list1.hide @header1.hide @list2.show @header2.show @list2.activate end end #============================================================================== # Class Window_Header < Window_Base # This class displays the options at the top. #============================================================================== class Window_Header < Window_Base def initialize(x, y, width, height) super self.opacity = 0 draw_headers @opening = @closing = false end #def initialize def dispose contents.dispose unless disposed? super end #def dispose def draw_headers line_height = 16 change_color(system_color) draw_text(30, 0, 250, line_height, "Select First Demon") draw_text(30, 40, 85, line_height, "Race") draw_text(120, 40, 85, line_height, "Name") draw_text(265, 40, 85, line_height, "LV") for i in 1..10 eval("draw_text(300+(30*#{i-1}), 0, 30, 10, #{i})") end # for change_color(normal_color) end #def draw_headers end #class Window_Header #============================================================================== # Class Window_Header2 < Window_Base # This class displays the options at the top. #============================================================================== class Window_Header2 < Window_Base def initialize(x, y, width, height) super self.opacity = 0 draw_headers @opening = @closing = false end #def initialize def dispose contents.dispose unless disposed? super end #def dispose def selected(value) @selected = value end #def selected def draw_headers line_height = 16 change_color(system_color) draw_text(30, 0, 250, line_height, "Select Second Demon") draw_text(420, 0, 300, line_height, $selected.class) draw_text(30, 40, 85, line_height, "Race") draw_text(120, 40, 85, line_height, "Name") draw_text(265, 40, 85, line_height, "LV") draw_text(420, 40, 85, line_height, "Result") change_color(normal_color) end #def draw_headers end #class Window_Header2 #============================================================================== # Class Window_PartyList < Window_Selectable # This class displays the list of party members. Should not include the # main actor. #============================================================================== class Window_PartyList < Window_Selectable def initialize(x, y, width) super(x, y, width, Graphics.height - y) self.opacity = 0 data = [] self.index = 0 #Do not include the main actor! activate refresh end #def initialize def item_max @data ? @data.size : 1 end #def item_max def make_item_list @data = $game_party.members.compact @data.delete_at(0) #Ensures that the first party member isn't bothered. end #def make_item_list def draw_item(index) line_height = 16 item = @data[index] if item rect = item_rect_for_text(index) #draw_text(rect, item.id) draw_text_ex(0, rect.y, item.id) #draw_text_ex(rect.x + 15, rect.y, item.class.name) draw_text_ex(30, rect.y, item.class.name) #draw_text_ex(rect.x + 100, rect.y, item.name) draw_text_ex(120, rect.y, item.name) #draw_text_ex(rect.x + 180, rect.y, item.level) draw_text_ex(265, rect.y, item.level) for i in 1..10 if index==i-1 #If same actor, cannot be fused eval("draw_text(300+(30*#{i-1}), rect.y, 30, line_height, '-')") elsif item.class == @data[i-1].class #else if same class, cannot be fused eval("draw_text(300+(30*#{i-1}), rect.y, 30, line_height, 'No')") else #else, can be fused eval("draw_text(300+(30*#{i-1}), rect.y, 30, line_height, 'Yes')") #@data[i-1].set_handler(:ok, SceneManager.call(Scene_Fusion2)) end #end if else end #end for end #end if end #def draw_item #def selected(value) # @selected = value #end def refresh contents.clear make_item_list create_contents draw_all_items end #def refresh def selected #return @data[self.index] $selected = @data[self.index] end #def selected end #class Window_PartyList #============================================================================== # Class Window_PartyList2 < Window_Selectable # This class displays the list of party members. Should not include the # main actor. #============================================================================== class Window_PartyList2 < Window_Selectable def initialize(x, y, width) super(x, y, width, Graphics.height - y) self.opacity = 0 data = [] resultClass = [] self.index = 0 #Do not include the main actor! activate refresh resultClass[0] = nil #resultClass for Deity Fusions: resultClass[1] = {3, 5, 5, 4, 9, 10, 8, 9, 7, 5} #resultClass for Fairy Fusions: resultClass[2] = {6, 5, 3, 2, 2, 6, 8, 9, 7, 2} end #def initialize def item_max @data ? @data.size : 1 end #def item_max def make_item_list @data = $game_party.members.compact @data.delete_at(0) #Ensures that the first party member isn't bothered. end #def make_item_list def draw_item(index) item = @data[index] if item rect = item_rect_for_text(index) draw_text(rect, item.id) draw_text_ex(rect.x + 15, rect.y, item.class.name) draw_text_ex(rect.x + 100, rect.y, item.name) draw_text_ex(rect.x + 180, rect.y, item.level) #Compute the resulting demon draw_text_ex(rect.x + 350, rect.y, show_result(item, index)) end #end if end #def draw_item #should print out the resulting demon. def show_result(item, index) return @result[item.id][index] end #show_result def refresh contents.clear make_item_list create_contents draw_all_items end #def refresh def selected(value) @selected = value end #set handler for showing the next screen end #class Window_PartyList2
I'm trying to get the item selected from Window_PartyList1 to be displayed on Header2.
The Long Long Road.
Trihan's "Make me a script" topic!
Okay, so it's quite difficult... haha...
I'm having problems transitioning to another screen. What I want to accomplish is that all of the options call another screen (Scene_Fusion2). But I also want to get Scene_Fusion2 to display what you have selected from the previous screen (Scene_Fusion1).
Additionally, I am not able to exclude the main actor (the very first actor) no matter what method I try.
I'm having problems transitioning to another screen. What I want to accomplish is that all of the options call another screen (Scene_Fusion2). But I also want to get Scene_Fusion2 to display what you have selected from the previous screen (Scene_Fusion1).
Additionally, I am not able to exclude the main actor (the very first actor) no matter what method I try.
#============================================================================== # Class Scene_Fusion < Scene_MenuBase # This class is for displaying the first Fusion screen. All options should # open the next screen, Scene_Fusion2 #============================================================================== class Scene_Fusion < Scene_MenuBase def start super @header_window = Window_Header.new(0, 0, Graphics.width, 50) @list_window = Window_PartyList.new(0, 50, Graphics.width) @list_window.set_handler(:cancel, method(:return_scene)) end #def start end #class Scene_Fusion #============================================================================== # Class Scene_Fusion2 < Scene_MenuBase # This class is for displaying the second Fusion screen. All options should # open the next screen, displaying the status of the resulting demon #============================================================================== class Scene_Fusion2 < Scene_MenuBase def start super @header_window2 = Window_Header2.new(0, 0, Graphics.width, 50) @list_window2 = Window_PartyList2.new(0, 50, Graphics.width) @list_window2.set_handler(:cancel, method(:return_scene)) end #def start end #class Scene_Fusion2 #============================================================================== # Class Window_Header < Window_Base # This class displays the options at the top. #============================================================================== class Window_Header < Window_Base def initialize(x, y, width, height) super self.windowskin = Cache.system("Window") self.opacity = 0 update_padding update_tone create_contents draw_headers @opening = @closing = false end #def initialize def dispose contents.dispose unless disposed? super end #def dispose def draw_headers change_color(system_color) draw_text(25, 0, 250, line_height, "Select First Demon") draw_text(25, 25, 85, line_height, "Race") draw_text(110, 25, 85, line_height, "Name") draw_text(190, 25, 85, line_height, "LV") for i in 1..6 eval("draw_text(220+(50*#{i}), 0, 30, line_height, #{i})") end # for change_color(normal_color) end #def draw_headers end #class Window_Header #============================================================================== # Class Window_Header2 < Window_Base # This class displays the options at the top. #============================================================================== class Window_Header2 < Window_Base def initialize(x, y, width, height) super self.windowskin = Cache.system("Window") self.opacity = 0 update_padding update_tone create_contents draw_headers @opening = @closing = false end #def initialize def dispose contents.dispose unless disposed? super end #def dispose def draw_headers change_color(system_color) draw_text(25, 0, 250, line_height, "Select Second Demon") draw_text(25, 25, 85, line_height, "Race") draw_text(110, 25, 85, line_height, "Name") draw_text(190, 25, 85, line_height, "LV") draw_text(300, 25, 85, line_height, "Result") change_color(normal_color) end #def draw_headers end #class Window_Header2 #============================================================================== # Class Window_PartyList < Window_Selectable # This class displays the list of party members. Should not include the # main actor. #============================================================================== class Window_PartyList < Window_Selectable def initialize(x, y, width) super(x, y, width, Graphics.height - y) self.opacity = 0 data = [] self.index = 0 #Do not include the main actor! activate refresh end #def initialize def item_max @data ? @data.size : 1 end #def item_max def make_item_list @data = $game_party.members.compact end #def make_item_list def draw_item(index) item = @data[index] if item rect = item_rect_for_text(index) draw_text(rect, item.id) draw_text_ex(rect.x + 15, rect.y, item.class.name) draw_text_ex(rect.x + 100, rect.y, item.name) draw_text_ex(rect.x + 180, rect.y, item.level) for i in 1..6 if index==i-1 #If same actor, cannot be fused eval("draw_text(220+(50*#{i}), rect.y, 30, line_height, '-')") elsif item.class == @data[i-1].class #else if same class, cannot be fused eval("draw_text(220+(50*#{i}), rect.y, 30, line_height, 'No')") else #else, can be fused eval("draw_text(220+(50*#{i}), rect.y, 30, line_height, 'Yes')") #set call handler end #end if else end #end for end #end if end #def draw_item def refresh contents.clear make_item_list create_contents draw_all_items end #def refresh #set handler for showing the next screen end #class Window_PartyList #============================================================================== # Class Window_PartyList2 < Window_Selectable # This class displays the list of party members. Should not include the # main actor. #============================================================================== class Window_PartyList2 < Window_Selectable def initialize(x, y, width) super(x, y, width, Graphics.height - y) self.opacity = 0 data = [] self.index = 0 #Do not include the main actor! activate refresh end #def initialize def item_max @data ? @data.size : 1 end #def item_max def make_item_list @data = $game_party.members.compact end #def make_item_list def draw_item(index) item = @data[index] if item rect = item_rect_for_text(index) draw_text(rect, item.id) draw_text_ex(rect.x + 15, rect.y, item.class.name) draw_text_ex(rect.x + 100, rect.y, item.name) draw_text_ex(rect.x + 180, rect.y, item.level) for i in 1..6 if index==i-1 #If same actor, cannot be fused eval("draw_text(220+(50*#{i}), rect.y, 30, line_height, '!')") elsif item.class == @data[i-1].class #else if same class, cannot be fused eval("draw_text(220+(50*#{i}), rect.y, 30, line_height, 'No')") else #else, can be fused eval("draw_text(220+(50*#{i}), rect.y, 30, line_height, 'Yes')") @data[i-1].set_handler(:ok, SceneManager.call(Scene_Fusion2)) #set call handler end #end if else end #end for end #end if end #def draw_item def refresh contents.clear make_item_list create_contents draw_all_items end #def refresh end #class Window_PartyList2
Trihan's "Make me a script" topic!
author=Trihan
The best thing to do is to recreate the enemy list window from part 2 of my Slip into Ruby article, but rather than draw enemy.name, make an array for the player names and use that as the data instead.
That works. I did some editing here and there, but it now works.
I guess I have to wait for part 3 to handle events associated with those items. :-)














