Jump to content
Rpg²S Forum

-Script Per Menù e altro


BloodRain
 Share

Recommended Posts

Menù completo e Negozio

by Moghunter

 

 

Informazioni:

- Animato

- Facile da usare

- Tutto il menù completo

 

Istruzioni:

Copiare la cartella Graphics e lo script sopra Main

 

 

Lista script:

 

MOG Menù Principale (Main Menu):

http://img133.imageshack.us/img133/5181/menu08om8.jpg

 

DEMO

Link 1 (Rapidshare)

http://rapidshare.com/files/27441554/MOG_Scene_Menu.zip.html

Link 2 (Megaupload)

http://www.megaupload.com/?d=EBPR6RYR

 

 

 

MOG Menù Magie (Menu Skill):

http://img149.imageshack.us/img149/9151/menu10po7er4.th.jpg

 

DEMO

Link 1 (Rapidshare)

http://rapidshare.com/files/27441953/MOG_S..._Skill.zip.html

Link 2 (Megaupload)

http://www.megaupload.com/?d=W78O3MUM

 

 

 

MOG Menù Stato e caratteristiche (Menu Status):

http://img101.imageshack.us/img101/7498/menu09fa4wf6.th.jpg

 

DEMO

Link 1 (Rapidshare)

http://rapidshare.com/files/27442106/MOG_S...Status.zip.html

Link 2 (Megaupload)

http://www.megaupload.com/?d=7ZJ1NOG8

 

 

 

MOG Menù dei file di salvataggio e caricamento(Scene File):

http://img183.imageshack.us/img183/7741/scenesaveyl3.th.jpg

 

DEMO

Link 1 (Rapidshare)

http://rapidshare.com/files/27444895/MOG_Scene_File.zip.html

Link 2 (Megaupload)

http://www.megaupload.com/?d=BYX47ZKK

 

 

 

MOG Menù dell'equipaggiamento (Scene Equip):

http://img468.imageshack.us/img468/9767/sceneequipkh8.th.jpg

 

DEMO

Link 1 (Rapidshare)

http://rapidshare.com/files/27445203/MOG_S..._Equip.zip.html

Link 2 (Megaupload)

http://www.megaupload.com/?d=ZUAKIBUM

 

 

 

MOG Negozio (Scene Shop):

http://img179.imageshack.us/img179/6139/shopqf4.th.jpg

DEMO

Link 1 (Rapidshare)

http://rapidshare.com/files/27459018/MOG_Scene_Shop.zip.html

Link 2 (Megaupload)

http://www.megaupload.com/?d=JF8AI3CM

 

 

 

MOG Menù degli Oggetti (Menu ITEM):

http://img135.imageshack.us/img135/7873/itemyh3.th.jpg

DEMO

Link 1 (Rapidshare)

http://rapidshare.com/files/27445537/MOG_Scene_Item.zip.html

Link 2 (Megaupload)

http://www.megaupload.com/?d=IF2W8FC0

 

 

 

Crediti e Ringraziamenti

 

Ruruga

http://ruruga.gozaru.jp/index.html

 

NARAMURA

http://naramura.kdn.ne.jp/

 

Strawberry Quarts

http://stquartz.web.fc2.com/

 

________________________________________

Da rmxp.org

Link to comment
Share on other sites

Ah, si, il Menù di Moghunter, già visto ;). Cmq, bravo, hai postato tutti gli script, così chi volesse usare questo menù ha a disposizione anche tutte la altre varie classi. Bravo :D !

http://th09.deviantart.net/fs26/150/f/2008/091/7/3/Rule_of_Rose__brush__by_maelstromb.png

Coming http://i56.tinypic.com/fu56c6.png Soon...

http://fc06.deviantart.net/fs47/f/2009/163/8/a/Polka_from_Eternal_Sonata_by_oOLuccianaOo.pnghttp://fc00.deviantart.com/fs34/f/2008/306/2/d/Icon_Hojo_by_Sasori_donna.gif

Link to comment
Share on other sites

AnonymeXIV questo menu è stupendo! Solo che io sto usando il VX ora...perchè!!!!

ThE GrEeN gObLiN oN lInE G.D.O. - Bunny Show - Onor

Beck

I've never dreamed before

I'm gonna knock the door

Into the world of perfect free

(You ain't no lonely!)

You're gonna say I'm lying

I'm gonna get the chance

I thought a chance is far from me

(You ain't no lonely!) ...

Link to comment
Share on other sites

Sono molti...e a giudicare dalle immagini sono anche belli! Peccato che non li posso utilizzare! Dai tempo al tempo ;)

ThE GrEeN gObLiN oN lInE G.D.O. - Bunny Show - Onor

Beck

I've never dreamed before

I'm gonna knock the door

Into the world of perfect free

(You ain't no lonely!)

You're gonna say I'm lying

I'm gonna get the chance

I thought a chance is far from me

(You ain't no lonely!) ...

Link to comment
Share on other sites

Hai proprio ragione! Io ora sto lavorando con il menu di Moghunter postato da Ally ed il principio di funzionamento è lo stesso! Tutto basato sulle immagini! Non c'è bisogno di conoscere la parte del linguaggio! Solo che quello che sto usando io è personalizzabile solo in parte...il tuo interamente!

ThE GrEeN gObLiN oN lInE G.D.O. - Bunny Show - Onor

Beck

I've never dreamed before

I'm gonna knock the door

Into the world of perfect free

(You ain't no lonely!)

You're gonna say I'm lying

I'm gonna get the chance

I thought a chance is far from me

(You ain't no lonely!) ...

Link to comment
Share on other sites

Però speravo che mi aggiungessero qualche ren visto che sono un bel po' di script

Come ha detto Onor988ThEgReEnGoBlIn dai tempo al tempo, se non ti sono stati ancora donati dei Rens è perchè lo Staff non ha avuto il tempo necessario per aggiungerteli ;). Vedrai che appena lo troveranno, ti saranno aggiunti dei Rens^^.

http://th09.deviantart.net/fs26/150/f/2008/091/7/3/Rule_of_Rose__brush__by_maelstromb.png

Coming http://i56.tinypic.com/fu56c6.png Soon...

http://fc06.deviantart.net/fs47/f/2009/163/8/a/Polka_from_Eternal_Sonata_by_oOLuccianaOo.pnghttp://fc00.deviantart.com/fs34/f/2008/306/2/d/Icon_Hojo_by_Sasori_donna.gif

Link to comment
Share on other sites

posta il link delle risorse che hai donato qui: http://www.rpg2s.net/forum/index.php?showt...amp;#entry75327

 

impariamo a leggere il forum gente u.u

Finrod, GDR PBF

2PV e 1PAEquip: - faretra con 20 frecce- arco lungo- pugnale comune- Armatura di cuoio- Torcia- Cappuccio

Mi sa che è ora di vincere qualche premio per rinnovare questa firma! :3Posizioni raggiunte nei contest

http://rpg2s.net/gif/SCContest3Oct.gifhttp://www.rpg2s.net/awards/bestresourCSist3.jpghttp://www.rpg2s.net/awards/mosthelpful2.jpghttp://www.rpg2s.net/awards/mostpresent2.jpg

 

 

 

Link to comment
Share on other sites

Sì il menù di Moghunter lo avevo aggiunto al mio progetto qualche mese fa.

Avrei voluto postare il sito con tutti gli script di MOG che sono molto belli e animati, ma credo sia spam. :biggrin:

"Quarantadue!" urlò Loonquawl. "Questo è tutto ciò che sai dire dopo un lavoro di sette milioni e mezzo di anni?"

"Ho controllato molto approfonditamente," disse il computer, "e questa è sicuramente la risposta. Ad essere sinceri, penso che il problema sia che voi non abbiate mai saputo veramente qual è la domanda."

 

 

 

Gioco disponibile: Prophecy of Last Era - OPEN SOURCE

 

http://www.mediafire.com/?u6aut42ks12ixgf

 

Puoi utilizzare qualsiasi evento, mappa, chara, grafica, e programmazione contenuta nel gioco-demo.

Nessun diritto di copia.

Hope you enjoy.

http://www.rpg2s.net/awards/bestmusician3.jpg

Link to comment
Share on other sites

Ragazzi qualcuno sarebbe cosi gentile da potermi postare lo script MOG Menù dei file di salvataggio e caricamento(Scene File) e lo script MOG Negozio (Scene Shop): xkè non me li fa aprire e non posso copiare lo script vi prego
Link to comment
Share on other sites

Ecco a te. :tongue:

 

Scene File:

 

 

 

#______________________________________________________________________

_________

# MOG Scene File Ayumi V1.2

#_______________________________________________________________________________

# By Moghunter

# http://www.atelier-rgss.com

#_______________________________________________________________________________

module MOG

#Transition Time.

MSVT = 30

#Transition Type.

MSVTT = "006-Stripe02"

end

$mogscript = {} if $mogscript == nil

$mogscript["menu_ayumi"] = true

###############

# Window_Base #

###############

class Window_Base < Window

def drw_win_file(x,y)

dwf = RPG::Cache.picture("Win_File")

cw = dwf.width

ch = dwf.height

src_rect = Rect.new(0, 0, cw, ch)

self.contents.blt(x , y - ch, dwf, src_rect)

end

def nada

face = RPG::Cache.picture("")

end

def draw_heroface3(actor,x,y)

face = RPG::Cache.picture("Hero_fc3") rescue nada

cw = face.width

ch = face.height

src_rect = Rect.new(0, 0, cw, ch)

self.contents.blt(x , y - ch, face, src_rect)

end

def draw_actor_level6(actor, x, y)

self.contents.font.color = Color.new(0,0,0,255)

self.contents.draw_text(x + 1, y + 1, 32, 32, "Lv")

self.contents.font.color = system_color

self.contents.draw_text(x, y, 32, 32, "Lv")

self.contents.font.color = Color.new(0,0,0,255)

self.contents.draw_text(x + 17, y + 1, 24, 32, actor.level.to_s, 2)

self.contents.font.color = Color.new(255,255,255,255)

self.contents.draw_text(x + 16, y, 24, 32, actor.level.to_s, 2)

end

def draw_actor_name6(actor, x, y)

self.contents.font.color = Color.new(0,0,0,255)

self.contents.draw_text(x + 1, y + 1, 100, 32, actor.name,1)

self.contents.font.color = normal_color

self.contents.draw_text(x, y, 100, 32, actor.name,1)

end

end

############

# Game_Map #

############

class Game_Map

def map_name

@mapinfo = load_data("Data/MapInfos.rxdata") if @mapinfo == nil

return @mapinfo[@map_id].name

end

end

###################

# Window_SaveFile #

###################

class Window_SaveFile < Window_Base

attr_reader :filename

attr_reader :selected

def initialize(file_index, filename)

super(0, 64 + file_index * 138, 640, 240)

self.contents = Bitmap.new(width - 32, height - 32)

self.opacity = 0

@file_index = file_index

@filename = "Save#{@file_index + 1}.rxdata"

@time_stamp = Time.at(0)

@file_exist = FileTest.exist?(@filename)

if @file_exist

file = File.open(@filename, "r")

@time_stamp = file.mtime

@characters = Marshal.load(file)

@frame_count = Marshal.load(file)

@game_system = Marshal.load(file)

@game_switches = Marshal.load(file)

@game_variables = Marshal.load(file)

@game_self_switches = Marshal.load(file)

@game_screen = Marshal.load(file)

@game_actors = Marshal.load(file)

@game_party = Marshal.load(file)

@game_troop = Marshal.load(file)

@game_map = Marshal.load(file)

@total_sec = @frame_count / Graphics.frame_rate

file.close

end

@wiref = 0

refresh

@selected = false

end

def refresh

self.contents.clear

self.contents.font.name = "Georgia"

drw_win_file(0,190)

name = "#{@file_index + 1}"

self.contents.font.color = Color.new(0,0,0,255)

self.contents.draw_text(161, 41, 600, 32, name)

self.contents.font.color = Color.new(255,255,255,255)

self.contents.draw_text(160, 40, 600, 32, name)

@name_width = contents.text_size(name).width

if @file_exist

for i in 0...@characters.size

bitmap = RPG::Cache.character(@characters[0], @characters[1])

cw = bitmap.rect.width / 4

ch = bitmap.rect.height / 4

src_rect = Rect.new(cw * @wiref + 1 , 0, cw, ch)

x = 300 - @characters.size + i * 64 - cw / 4

self.contents.blt(x - 10, 150 - ch, bitmap, src_rect)

x = 116

actors = @game_party.actors

for i in 0...[actors.size, 4].min

x = i * 60

actor = actors

self.contents.font.size = 20

draw_actor_level6(actor, x + 280, 140)

actor = actors[0]

draw_heroface3(actor,160,180)

draw_actor_name6(actor, 160, 155)

self.contents.font.size = 22

end

end

hour = @total_sec / 60 / 60

min = @total_sec / 60 % 60

sec = @total_sec % 60

time_string = sprintf("%02d:%02d:%02d", hour, min, sec)

self.contents.font.color = Color.new(0,0,0,255)

self.contents.draw_text(5, 41, 450, 32, time_string, 2)

self.contents.draw_text(41 , 141, 120 , 32, @game_map.map_name.to_s)

self.contents.font.color = Color.new(255,255,255,255)

self.contents.draw_text(40 , 140, 120 , 32, @game_map.map_name.to_s)

self.contents.draw_text(4, 40, 450, 32, time_string, 2)

end

end

def selected=(selected)

@selected = selected

end

end

##############

# Scene_File #

##############

class Scene_File

def initialize(help_text)

@help_text = help_text

end

def main

@mnback = Plane.new

@mnback.bitmap = RPG::Cache.picture("MN_BK")

@mnback.z = 1

@mnlay = Sprite.new

@mnlay.bitmap = RPG::Cache.picture("Lay_File.PNG")

@mnlay.z = 2

@help_window = Window_Help.new

@help_window.set_text(@help_text)

@help_window.opacity = 0

@savefile_windows = []

for i in 0..2

@savefile_windows.push(Window_SaveFile.new(i, make_filename(i)))

end

@savefile_windows[0]

@file_index = $game_temp.last_file_index

@savefile_windows[@file_index].selected = true

@savefile_windows[0].y = 40

@savefile_windows[1].y= 140

@savefile_windows[2].y= 240

@win_move_time = 0

@win_move = 0

@win_dire = 0

@win_opac = 255

@win1_y = 0

@win2_y = 0

@win3_y = 0

Graphics.transition(MOG::MSVT, "Graphics/Transitions/" + MOG::MSVTT)

loop do

Graphics.update

Input.update

update

if $scene != self

break

end

end

for i in 0..50

@mnback.ox += 1

@savefile_windows[0].x += 10

@savefile_windows[1].x -= 10

@savefile_windows[2].x += 10

for i in @savefile_windows

i.contents_opacity -= 5

end

Graphics.update

end

Graphics.freeze

@help_window.dispose

@mnback.dispose

@mnlay.dispose

for i in @savefile_windows

i.dispose

end

end

def update

@mnback.ox += 1

@win_opac += 3

@win_move_time += 1

if @win_opac > 254

@win_opac = 150

end

if @win_move_time > 60

@win_dire += 1

@win_move_time = 0

end

if @win_dire > 1

@win_dire = 0

end

if @win_dire == 0

@win_move += 1

else

@win_move -= 1

end

if @file_index == 0

@savefile_windows[0].z = 2

@savefile_windows[1].z = 1

@savefile_windows[2].z = 0

@savefile_windows[0].x = @win_move

@savefile_windows[1].x = 0

@savefile_windows[1].x= 0

@savefile_windows[2].x = 0

@savefile_windows[0].contents_opacity = @win_opac

@savefile_windows[1].contents_opacity = 130

@savefile_windows[2].contents_opacity = 130

elsif @file_index == 1

@savefile_windows[0].z = 1

@savefile_windows[1].z = 2

@savefile_windows[2].z = 1

@savefile_windows[0].x = 0

@savefile_windows[1].x = @win_move

@savefile_windows[2].x = 0

@savefile_windows[0].contents_opacity = 130

@savefile_windows[1].contents_opacity = @win_opac

@savefile_windows[2].contents_opacity = 130

else

@savefile_windows[0].z = 0

@savefile_windows[1].z = 1

@savefile_windows[2].z = 2

@savefile_windows[0].x = 0

@savefile_windows[1].x = 0

@savefile_windows[2].x = @win_move

@savefile_windows[0].contents_opacity = 130

@savefile_windows[1].contents_opacity = 130

@savefile_windows[2].contents_opacity = @win_opac

end

@help_window.update

for i in @savefile_windows

i.update

end

if Input.trigger?(Input::C)

on_decision(make_filename(@file_index))

$game_temp.last_file_index = @file_index

return

end

if Input.trigger?(Input::B)

on_cancel

return

end

if Input.repeat?(Input::DOWN)

if Input.trigger?(Input::DOWN) or @file_index < 3

$game_system.se_play($data_system.cursor_se)

@savefile_windows[@file_index].selected = false

@file_index = (@file_index + 1) % 3

@savefile_windows[@file_index].selected = true

return

end

end

if Input.repeat?(Input::UP)

if Input.trigger?(Input::UP) or @file_index > 0

$game_system.se_play($data_system.cursor_se)

@savefile_windows[@file_index].selected = false

@file_index = (@file_index - 1) % 3

@savefile_windows[@file_index].selected = true

return

end

end

end

def make_filename(file_index)

return "Save#{file_index + 1}.rxdata"

end

end

 

 

 

 

Scene shop:

 

 

#______________________________________________________________________

_________

# MOG Scene Shop Felicia V1.4

#_______________________________________________________________________________

# By Moghunter

# http://www.atelier-rgss.com

#_______________________________________________________________________________

module MOG

#Transition Time.

MNSHPT= 30

#Transition Type (Name)

MNSHPTT= "006-Stripe02"

end

$mogscript = {} if $mogscript == nil

$mogscript["menu_shop"] = true

###############

# Window_Base #

###############

class Window_Base < Window

def draw_item_name_ex(item, x, y)

if item == nil

return

end

bitmap = RPG::Cache.icon(item.icon_name)

self.contents.blt(x, y + 4, bitmap, Rect.new(0, 0, 24, 24))

self.contents.font.color = normal_color

self.contents.draw_text(x + 28, y, 150, 32, item.name)

end

def nada

face = RPG::Cache.picture("")

end

def drw_face(actor,x,y)

face = RPG::Cache.picture(actor.name + "_fc") rescue nada

cw = face.width

ch = face.height

src_rect = Rect.new(0, 0, cw, ch)

self.contents.blt(x , y - ch, face, src_rect)

end

end

################

# Win_Shop_Sel #

################

class Win_Shop_Sel < Window_Base

attr_reader :index

def initialize(x, y, width, height)

super(x, y, width, height)

@item_max = 1

@column_max = 1

@index = -1

end

def index=(index)

@index = index

update_cursor_rect

end

def row_max

return (@item_max + @column_max - 1) / @column_max

end

def top_row

return self.oy / 32

end

def top_row=(row)

if row < 0

row = 0

end

if row > row_max - 1

row = row_max - 1

end

self.oy = row * 32

end

def page_row_max

return (self.height - 32) / 32

end

def page_item_max

return page_row_max * @column_max

end

def update_cursor_rect

if @index < 0

self.cursor_rect.empty

return

end

row = @index / @column_max

if row < self.top_row

self.top_row = row

end

if row > self.top_row + (self.page_row_max - 1)

self.top_row = row - (self.page_row_max - 1)

end

cursor_width = self.width / @column_max - 32

x = @index % @column_max * 80

y = @index / @column_max * 32 - self.oy

self.cursor_rect.set(x, y, 32, 32)

end

def update

super

if self.active and @item_max > 0 and @index >= 0

if Input.repeat?(Input::RIGHT)

if @column_max >= 2 and @index < @item_max - 1

$game_system.se_play($data_system.cursor_se)

@index += 1

end

end

if Input.repeat?(Input::LEFT)

if @column_max >= 2 and @index > 0

$game_system.se_play($data_system.cursor_se)

@index -= 1

end

end

end

update_cursor_rect

end

end

######################

# Window_ShopCommand #

######################

class Window_ShopCommand < Win_Shop_Sel

def initialize

super(58, 68, 230, 64)

self.contents = Bitmap.new(width - 32, height - 32)

@item_max = 3

@column_max = 3

@commands = ["", "", ""]

self.index = 0

end

end

##################

# Window_ShopBuy #

##################

class Window_ShopBuy < Window_Selectable

def initialize(shop_goods)

super(-10, 180, 310, 225)

@shop_goods = shop_goods

refresh

self.index = 0

end

def item

return @data[self.index]

end

def refresh

if self.contents != nil

self.contents.dispose

self.contents = nil

end

@data = []

for goods_item in @shop_goods

case goods_item[0]

when 0

item = $data_items[goods_item[1]]

when 1

item = $data_weapons[goods_item[1]]

when 2

item = $data_armors[goods_item[1]]

end

if item != nil

@data.push(item)

end

end

@item_max = @data.size

if @item_max > 0

self.contents = Bitmap.new(width - 32, row_max * 32)

for i in 0...@item_max

draw_item(i)

end

end

end

def draw_item(index)

self.contents.font.name = "Georgia"

self.contents.font.bold = false

item = @data[index]

case item

when RPG::Item

number = $game_party.item_number(item.id)

when RPG::Weapon

number = $game_party.weapon_number(item.id)

when RPG::Armor

number = $game_party.armor_number(item.id)

end

x = 4

y = index * 32

if item.price <= $game_party.gold and number < 99

self.contents.font.color = normal_color

else

self.contents.font.color = disabled_color

end

rect = Rect.new(x, y, self.width - 32, 32)

self.contents.fill_rect(rect, Color.new(0, 0, 0, 0))

bitmap = RPG::Cache.icon(item.icon_name)

opacity = self.contents.font.color == normal_color ? 255 : 128

self.contents.blt(x, y + 4, bitmap, Rect.new(0, 0, 24, 24), opacity)

self.contents.draw_text(x + 28, y, 150, 32, item.name, 0)

self.contents.font.color = Color.new(50,250,150,255)

self.contents.draw_text(x + 150, y, 88, 32, "G", 1)

if item.price <= $game_party.gold

if number < 99

self.contents.font.color = Color.new(200,200,50,255)

else

self.contents.font.color = disabled_color

end

else

self.contents.font.color = Color.new(250,100,50,255)

end

self.contents.draw_text(x + 180, y, 88, 32, item.price.to_s, 2)

end

def update_help

@help_window.set_text(self.item == nil ? "" : self.item.description)

end

end

###################

# Window_ShopSell #

###################

class Window_ShopSell < Window_Selectable

def initialize

super(-10, 180, 305, 225)

@column_max = 1

refresh

self.index = 0

end

def item

return @data[self.index]

end

def refresh

if self.contents != nil

self.contents.dispose

self.contents = nil

end

@data = []

for i in 1...$data_items.size

if $game_party.item_number(i) > 0

@data.push($data_items)

end

end

for i in 1...$data_weapons.size

if $game_party.weapon_number(i) > 0

@data.push($data_weapons)

end

end

for i in 1...$data_armors.size

if $game_party.armor_number(i) > 0

@data.push($data_armors)

end

end

@item_max = @data.size

if @item_max > 0

self.contents = Bitmap.new(width - 32, row_max * 32)

for i in 0...@item_max

draw_item(i)

end

end

end

def draw_item(index)

item = @data[index]

case item

when RPG::Item

number = $game_party.item_number(item.id)

when RPG::Weapon

number = $game_party.weapon_number(item.id)

when RPG::Armor

number = $game_party.armor_number(item.id)

end

if item.price > 0

self.contents.font.color = normal_color

else

self.contents.font.color = disabled_color

end

self.contents.font.name = "Georgia"

x = 4 + index % 1 * (288 + 32)

y = index / 1 * 32

rect = Rect.new(x, y, self.width / @column_max - 32, 32)

self.contents.fill_rect(rect, Color.new(0, 0, 0, 0))

bitmap = RPG::Cache.icon(item.icon_name)

opacity = self.contents.font.color == normal_color ? 255 : 128

self.contents.blt(x, y + 4, bitmap, Rect.new(0, 0, 24, 24), opacity)

self.contents.draw_text(x + 28, y, 150, 32, item.name, 0)

 

self.contents.draw_text(x + 230, y, 16, 32, ":", 1)

self.contents.draw_text(x + 240, y, 24, 32, number.to_s, 2)

end

def update_help

@help_window.set_text(self.item == nil ? "" : self.item.description)

end

end

#####################

# Window_ShopNumber #

#####################

class Window_ShopNumber < Window_Base

def initialize

super(-10, 180, 310, 225)

self.contents = Bitmap.new(width - 32, height - 32)

@item = nil

@max = 1

@price = 0

@number = 1

end

def set(item, max, price)

@item = item

@max = max

@price = price

@number = 1

refresh

end

def number

return @number

end

def refresh

self.contents.clear

self.contents.font.name = "Georgia"

self.contents.font.bold = true

draw_item_name_ex(@item, 4, 66)

self.contents.font.color = Color.new(50,150,250,255)

self.contents.draw_text(185, 66, 32, 32, "x")

self.contents.font.color = normal_color

self.contents.draw_text(208, 66, 24, 32, @number.to_s, 2)

self.cursor_rect.set(304, 66, 32, 32)

total_price = @price * @number

cx = contents.text_size("G").width

self.contents.font.color = Color.new(200,200,50,255)

self.contents.draw_text(4, 160, 228-2, 32, total_price.to_s, 2)

self.contents.font.color = Color.new(50,250,150,255)

self.contents.draw_text(90, 160, 88, 32, "G", 1)

end

def update

super

if self.active

if Input.repeat?(Input::RIGHT) and @number < @max

$game_system.se_play($data_system.cursor_se)

@number += 1

refresh

end

if Input.repeat?(Input::LEFT) and @number > 1

$game_system.se_play($data_system.cursor_se)

@number -= 1

refresh

end

if Input.repeat?(Input::UP) and @number < @max

$game_system.se_play($data_system.cursor_se)

@number = [@number + 10, @max].min

refresh

end

if Input.repeat?(Input::DOWN) and @number > 1

$game_system.se_play($data_system.cursor_se)

@number = [@number - 10, 1].max

refresh

end

end

end

end

#####################

# Window_ShopStatus #

#####################

class Window_ShopStatus < Window_Base

def initialize

super(300, 128, 350, 300)

self.contents = Bitmap.new(width - 32, height - 32)

@item = nil

refresh

end

def refresh

self.contents.clear

self.contents.font.name = "Georgia"

if @item == nil

return

end

if $mogscript["Item_Limit"] == true

case @item

when RPG::Item

number = $game_party.item_number(@item.id)

item_max = MOG::ITEM_LIMIT[@item.id]

when RPG::Weapon

number = $game_party.weapon_number(@item.id)

item_max = MOG::WEAPON_LIMIT[@item.id]

when RPG::Armor

number = $game_party.armor_number(@item.id)

item_max = MOG::ARMOR_LIMIT[@item.id]

end

self.contents.font.color = system_color

self.contents.draw_text(190, 0, 200, 32, "Inventario")

self.contents.font.color = normal_color

if item_max != nil

self.contents.draw_text(230, 0, 80, 32, number.to_s + " / " + item_max.to_s, 2)

else

max_limit = MOG::DEFAULT_LIMIT

self.contents.draw_text(230, 0, 80, 32, number.to_s + " / " + max_limit.to_s, 2)

end

else

case @item

when RPG::Item

number = $game_party.item_number(@item.id)

when RPG::Weapon

number = $game_party.weapon_number(@item.id)

when RPG::Armor

number = $game_party.armor_number(@item.id)

end

self.contents.font.color = system_color

self.contents.draw_text(210, 0, 200, 32, "Inventario")

self.contents.font.color = normal_color

self.contents.draw_text(245, 0, 32, 32, number.to_s, 2)

end

if @item.is_a?(RPG::Item)

return

end

for i in 0...$game_party.actors.size

actor = $game_party.actors

if actor.equippable?(@item)

self.contents.font.color = normal_color

else

self.contents.font.color = disabled_color

end

self.contents.draw_text(65, 0, 100, 32, "Equipped", 2)

drw_face(actor,0 ,80 + 64 * i)

if @item.is_a?(RPG::Weapon)

item1 = $data_weapons[actor.weapon_id]

elsif @item.kind == 0

item1 = $data_armors[actor.armor1_id]

elsif @item.kind == 1

item1 = $data_armors[actor.armor2_id]

elsif @item.kind == 2

item1 = $data_armors[actor.armor3_id]

else

item1 = $data_armors[actor.armor4_id]

end

if actor.equippable?(@item)

if @item.is_a?(RPG::Weapon)

atk1 = item1 != nil ? item1.atk : 0

atk2 = @item != nil ? @item.atk : 0

pdef1 = item1 != nil ? item1.pdef : 0

mdef1 = item1 != nil ? item1.mdef : 0

pdef2 = @item != nil ? @item.pdef : 0

mdef2 = @item != nil ? @item.mdef : 0

self.contents.draw_text(-20, 50 + 64 * i, 112, 32,"Atk", 2)

self.contents.draw_text(70, 50 + 64 * i, 112, 32,"Pdef", 2)

self.contents.draw_text(160, 50 + 64 * i, 112, 32,"Mdef", 2)

change = atk2 - atk1

change2 = pdef2 - pdef1

change3 = mdef2 - mdef1

if atk2 > atk1

self.contents.font.color = Color.new(50,250,150,255)

elsif atk2 == atk1

self.contents.font.color = disabled_color

else

self.contents.font.color = Color.new(250,100,50,255)

end

self.contents.draw_text(20, 50 + 64 * i, 112, 32,sprintf("%d", change), 2)

if pdef2 > pdef1

self.contents.font.color = Color.new(50,250,150,255)

elsif pdef2 == pdef1

self.contents.font.color = disabled_color

else

self.contents.font.color = Color.new(250,100,50,255)

end

self.contents.draw_text(110, 50 + 64 * i, 112, 32,sprintf("%d", change2), 2)

if mdef2 > mdef1

self.contents.font.color = Color.new(50,250,150,255)

elsif mdef2 == mdef1

self.contents.font.color = disabled_color

else

self.contents.font.color = Color.new(250,100,50,255)

end

self.contents.draw_text(200, 50 + 64 * i, 112, 32,sprintf("%d", change3), 2)

end

if @item.is_a?(RPG::Armor)

pdef1 = item1 != nil ? item1.pdef : 0

mdef1 = item1 != nil ? item1.mdef : 0

eva1 = item1 != nil ? item1.eva : 0

pdef2 = @item != nil ? @item.pdef : 0

mdef2 = @item != nil ? @item.mdef : 0

eva2 = @item != nil ? @item.eva : 0

change = pdef2 - pdef1

change2 = mdef2 - mdef1

change3 = eva2 - eva1

self.contents.draw_text(-20, 50 + 64 * i, 112, 32,"Pdef", 2)

self.contents.draw_text(70, 50 + 64 * i, 112, 32,"Mdef", 2)

self.contents.draw_text(160, 50 + 64 * i, 112, 32,"Eva", 2)

if pdef2 > pdef1

self.contents.font.color = Color.new(50,250,150,255)

elsif pdef2 == pdef1

self.contents.font.color = disabled_color

else

self.contents.font.color = Color.new(250,100,50,255)

end

self.contents.draw_text(20, 50 + 64 * i, 112, 32,sprintf("%d", change), 2)

 

if mdef2 > mdef1

self.contents.font.color = Color.new(50,250,150,255)

elsif mdef2 == mdef1

self.contents.font.color = disabled_color

else

self.contents.font.color = Color.new(250,100,50,255)

end

self.contents.draw_text(110, 50 + 64 * i, 112, 32,sprintf("%d", change2), 2)

if eva2 > eva1

self.contents.font.color = Color.new(50,250,150,255)

elsif eva2 == eva1

self.contents.font.color = disabled_color

else

self.contents.font.color = Color.new(250,100,50,255)

end

self.contents.draw_text(200, 50 + 64 * i, 112, 32,sprintf("%d", change3), 2)

end

end

if item1 != nil

if actor.equippable?(@item)

self.contents.font.color = normal_color

else

self.contents.font.color = disabled_color

end

x = 4

y = 64 + 64 * i

bitmap = RPG::Cache.icon(item1.icon_name)

opacity = self.contents.font.color == normal_color ? 255 : 128

self.contents.blt(x + 50, y - 35, bitmap, Rect.new(0, 0, 24, 24), opacity)

self.contents.draw_text(x + 75, y - 40, 212, 32, item1.name)

end

end

end

def item=(item)

if @item != item

@item = item

refresh

end

end

end

##############

# Scene_Shop #

##############

class Scene_Shop

def main

@mshop_back = Plane.new

@mshop_back.bitmap = RPG::Cache.picture("MN_BK2")

@mshop_back.z = 10

@mshop_lay = Sprite.new

@mshop_lay.bitmap = RPG::Cache.picture("Shop_Lay")

@mshop_lay.z = 15

@mshop_com = Sprite.new

@mshop_com.bitmap = RPG::Cache.picture("Shop_Com01")

@mshop_com.z = 20

@help_window = Window_Help.new

@help_window.contents.font.name = "Georgia"

@help_window.y = 413

@command_window = Window_ShopCommand.new

@command_window.visible = false

@gold_window = Window_Gold.new

@gold_window.x = 460

@gold_window.y = -5

@dummy_window = Window_Base.new(0, 128, 640, 352)

@buy_window = Window_ShopBuy.new($game_temp.shop_goods)

@buy_window.active = false

@buy_window.visible = false

@buy_window.help_window = @help_window

@sell_window = Window_ShopSell.new

@sell_window.active = false

@sell_window.visible = false

@sell_window.help_window = @help_window

@number_window = Window_ShopNumber.new

@number_window.active = false

@number_window.visible = false

@status_window = Window_ShopStatus.new

@status_window.visible = false

@help_window.opacity = 0

@status_window.opacity = 0

@sell_window.opacity = 0

@buy_window.opacity = 0

@gold_window.opacity = 0

@command_window.opacity = 0

@number_window.opacity = 0

@dummy_window.opacity = 0

Graphics.transition(MOG::MNSHPT, "Graphics/Transitions/" + MOG::MNSHPTT)

loop do

Graphics.update

Input.update

update

if $scene != self

break

end

end

for i in 0..30

@mshop_back.ox += 1

@help_window.x -= 15

@gold_window.x += 15

@mshop_lay.zoom_x += 0.1

@mshop_lay.opacity -= 10

@command_window.x -= 15

@mshop_com.x -= 15

@buy_window.x -= 20

@sell_window.x -= 20

Graphics.update

end

Graphics.freeze

@help_window.dispose

@command_window.dispose

@gold_window.dispose

@dummy_window.dispose

@buy_window.dispose

@sell_window.dispose

@number_window.dispose

@status_window.dispose

@mshop_back.dispose

@mshop_lay.dispose

@mshop_com.dispose

end

def update

@mshop_back.ox += 1

if @help_window.x < 0

@help_window.x += 10

@help_window.contents_opacity += 10

elsif @help_window.x >= 0

@help_window.x = 0

@help_window.contents_opacity = 255

end

if @sell_window.active == true

@sell_window.visible = true

if @sell_window.x < -10

@sell_window.x += 15

@sell_window.contents_opacity += 10

elsif @sell_window.x >= -10

@sell_window.x = -10

@sell_window.contents_opacity = 255

end

else

if @sell_window.x > -300

@sell_window.x -= 15

@sell_window.contents_opacity -= 10

elsif @sell_window.x <= -300

@sell_window.x = -300

@sell_window.contents_opacity = 0

@sell_window.visible = false

end

end

if @buy_window.active == true

@buy_window.visible = true

if @buy_window.x < -10

@buy_window.x += 15

@buy_window.contents_opacity += 10

elsif @buy_window.x >= -10

@buy_window.x = -10

@buy_window.contents_opacity = 255

end

else

if @buy_window.x > -300

@buy_window.x -= 15

@buy_window.contents_opacity -= 10

elsif @buy_window.x <= -300

@buy_window.x = -300

@buy_window.contents_opacity = 0

@buy_window.visible = false

end

end

if @number_window.active == true

@number_window.visible = true

if @number_window.x < -10

@number_window.x += 15

@number_window.contents_opacity += 10

elsif @number_window.x >= -10

@number_window.x = -10

@number_window.contents_opacity = 255

end

else

if @number_window.x > -300

@number_window.x -= 15

@number_window.contents_opacity -= 10

elsif @number_window.x <= -300

@number_window.x = -300

@number_window.contents_opacity = 0

@number_window.visible = false

end

end

if @number_window.active == false

if Input.trigger?(Input.dir4) or Input.trigger?(Input::C) or

Input.trigger?(Input::L) or Input.trigger?(Input::R)

@help_window.x = -200

@help_window.contents_opacity = 0

end

end

@help_window.update

@command_window.update

@gold_window.update

@dummy_window.update

@buy_window.update

@sell_window.update

@number_window.update

@status_window.update

case @command_window.index

when 0

@mshop_com.bitmap = RPG::Cache.picture("Shop_Com01")

when 1

@mshop_com.bitmap = RPG::Cache.picture("Shop_Com02")

when 2

@mshop_com.bitmap = RPG::Cache.picture("Shop_Com03")

end

if @command_window.active

update_command

return

end

if @buy_window.active

update_buy

return

end

if @sell_window.active

update_sell

return

end

if @number_window.active

update_number

return

end

end

def update_command

if Input.trigger?(Input::B)

$game_system.se_play($data_system.cancel_se)

$scene = Scene_Map.new

return

end

if Input.trigger?(Input::C)

case @command_window.index

when 0

$game_system.se_play($data_system.decision_se)

@command_window.active = false

@dummy_window.visible = false

@buy_window.active = true

@buy_window.refresh

@status_window.visible = true

when 1

$game_system.se_play($data_system.decision_se)

@command_window.active = false

@dummy_window.visible = false

@sell_window.active = true

@sell_window.refresh

when 2

$game_system.se_play($data_system.decision_se)

$scene = Scene_Map.new

end

return

end

end

def update_buy

@status_window.item = @buy_window.item

if Input.trigger?(Input::B)

$game_system.se_play($data_system.cancel_se)

@command_window.active = true

@dummy_window.visible = true

@buy_window.active = false

@status_window.visible = false

@status_window.item = nil

@help_window.set_text("")

return

end

if Input.trigger?(Input::C)

@item = @buy_window.item

if @item == nil or @item.price > $game_party.gold

$game_system.se_play($data_system.buzzer_se)

return

end

case @item

when RPG::Item

number = $game_party.item_number(@item.id)

when RPG::Weapon

number = $game_party.weapon_number(@item.id)

when RPG::Armor

number = $game_party.armor_number(@item.id)

end

if number == 99

$game_system.se_play($data_system.buzzer_se)

return

end

$game_system.se_play($data_system.decision_se)

max = @item.price == 0 ? 99 : $game_party.gold / @item.price

max = [max, 99 - number].min

@buy_window.active = false

@number_window.set(@item, max, @item.price)

@number_window.active = true

end

end

def update_sell

@status_window.item = @sell_window.item

@status_window.visible = true

if Input.trigger?(Input::B)

$game_system.se_play($data_system.cancel_se)

@command_window.active = true

@dummy_window.visible = true

@sell_window.active = false

@status_window.item = nil

@help_window.set_text("")

return

end

if Input.trigger?(Input::C)

@item = @sell_window.item

@status_window.item = @item

if @item == nil or @item.price == 0

$game_system.se_play($data_system.buzzer_se)

return

end

$game_system.se_play($data_system.decision_se)

case @item

when RPG::Item

number = $game_party.item_number(@item.id)

when RPG::Weapon

number = $game_party.weapon_number(@item.id)

when RPG::Armor

number = $game_party.armor_number(@item.id)

end

max = number

@sell_window.active = false

@number_window.set(@item, max, @item.price / 2)

@number_window.active = true

@status_window.visible = true

end

end

def update_number

if Input.trigger?(Input::B)

$game_system.se_play($data_system.cancel_se)

@number_window.active = false

case @command_window.index

when 0

@buy_window.active = true

when 1

@sell_window.active = true

@status_window.visible = false

end

return

end

if Input.trigger?(Input::C)

$game_system.se_play($data_system.shop_se)

@number_window.active = false

case @command_window.index

when 0

$game_party.lose_gold(@number_window.number * @item.price)

case @item

when RPG::Item

$game_party.gain_item(@item.id, @number_window.number)

when RPG::Weapon

$game_party.gain_weapon(@item.id, @number_window.number)

when RPG::Armor

$game_party.gain_armor(@item.id, @number_window.number)

end

@gold_window.refresh

@buy_window.refresh

@status_window.refresh

@buy_window.active = true

when 1

$game_party.gain_gold(@number_window.number * (@item.price / 2))

case @item

when RPG::Item

$game_party.lose_item(@item.id, @number_window.number)

when RPG::Weapon

$game_party.lose_weapon(@item.id, @number_window.number)

when RPG::Armor

$game_party.lose_armor(@item.id, @number_window.number)

end

@gold_window.refresh

@sell_window.refresh

@status_window.refresh

@sell_window.active = true

@status_window.visible = false

end

return

end

end

end

"Quarantadue!" urlò Loonquawl. "Questo è tutto ciò che sai dire dopo un lavoro di sette milioni e mezzo di anni?"

"Ho controllato molto approfonditamente," disse il computer, "e questa è sicuramente la risposta. Ad essere sinceri, penso che il problema sia che voi non abbiate mai saputo veramente qual è la domanda."

 

 

 

Gioco disponibile: Prophecy of Last Era - OPEN SOURCE

 

http://www.mediafire.com/?u6aut42ks12ixgf

 

Puoi utilizzare qualsiasi evento, mappa, chara, grafica, e programmazione contenuta nel gioco-demo.

Nessun diritto di copia.

Hope you enjoy.

http://www.rpg2s.net/awards/bestmusician3.jpg

Link to comment
Share on other sites

  • 5 months later...
  • 7 months later...
una volta che imposti un menù per otto personaggi non ti resta che cambiare le varie cordinate, logicamente con immagini di quelle dimensioni è pressochè impossibile mostrarli in un unica parte di scena si forma sicuramente uno scroll.

http://img256.imageshack.us/img256/7639/ihateyou.gif

Un uomo senza religione è come un pesce senza bicicletta.

http://img18.imageshack.us/img18/3668/decasoft1.png

http://rpg2s.net/gif/SCContest1Oct.gifhttp://rpg2s.net/gif/SCContest2Oct.gifhttp://rpg2s.net/gif/SCContest2Oct.gif

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...