-
Posts
241 -
Joined
-
Last visited
-
Days Won
1
Content Type
Profiles
Forums
Calendar
Posts posted by EmanueleSpeed
-
-
Scusate, sto cercando un tool simile a rpg maker per creare giochi per android.
Ho scaricato questo stencyl, ma lo trovo totalmente diverso..
Mi sono chiesto subito delle domande, esistono script già pronti?
Esiste una guida per imparare ad usare il programma?
Esiste un gioco da cui si può prendere esempio per imparare ad utilizzare il tool?
?__? ?___? ?___?
Ho aperto il programma, crea nuovo game o importa.. mi sono bloccato li'.
Ho cercato dei jrpg da importare ma nisba >_< . Ci sono quei giochini fastidiosi che non mi garbano u.u .
-
Ciao Midi, sto provando il tuo script e devo dire che è una figata assoluta xD
Solo una cosa, però: mi sta dando problemi in una mappa grande perchè se sono per esempio nell'angolo in basso a sinistra e ho la picture lockata, all'inizio è perfetta, ma appena apro e richiudo il menu la picture si sposta totalmente e segue il pg :/
Raxas quando apri e chiudi il menù non ti va poi il gioco a scatti? (e cambia le posizioni delle figure anche). Qualcun'altro può fare qualche prova?
-
Infatti, e una cosa normale per quello non vedevo il problema.
Puoi lasciarlo perfettamente cosi', non complicarti la vita xd.
-
Inseriti 8 frame con 8 pose diverse, accorciati i passi, aumentata leggermente la velocità di movimento ed anche quella dell'animazione delle pose.
Ditemi adesso se va meglio.
L'ombra ancora devo inserirla.. basta creare un cerchio sotto ed il gioco e fatto?
Oppure tiro una riga nera sotto i piedi (sempre trasparente) ditemi voi..
-
Allora dovrei cambiare la grafica della corsa, magari aggiungendo piu' frame.
Si la mappa e' incompleta devo inserire le transenne gli NPC e aumentare la ringhiera XD , volevo solo vedere l'effetto che vi dava.
Per quanto riguarda gli npc, li mettero' fermi cn 2 frame creati dallo stesso disegnatore xd.
Vediamo un po' che pasticcio faro' questa volta xd.
-
Adesso funziona XD , il problema erano i cookie ke
avevo disabilitato.
-
tramite android cosa intendi? tramite il browser android o qualche strana app?
tramite il browser android.
-
Grazie caro :3
Ragazzi ho un problemino: tra un messaggio e l'altro la name box scompare e con essa anche il nome al suo interno (ovviamente nel mio caso la windowskin è disabilitata quindi è trasparente), lo script che utilizzo è questo:
AMS - Advanced Message Script - R4 [update #2]
#===================================================
# ■ AMS - Advanced Message Script - R4 [update #2]
#===================================================
# For more infos and update, visit:
# www.dubealex.com (Creation Asylum)
#
# Edited, Fixed and Enhanced by: Dubealex
# Original Script Core by: XRXS Scripter (Jap Dudes)
# HTML Hexadecimal color feature from: Phylomorphis
#
# Special Thanks:
# Rabu: For enabling the Show Face feature in an encrypted project
#
# To found all my new features, search the following: #NEW
# To configure the button to skip the dialog, search: #SKIP_TEXT_CODE
#
# May 18, 2005
#===================================================
LETTER_BY_LETTER_MODE = true #Set the letter by letter mode ON/OFF
#===================================================
# ▼ CLASS AMS Begins
#===================================================
class AMS
attr_accessor :name_box_x_offset
attr_accessor :name_box_y_offset
attr_accessor :font_type
attr_accessor :name_font_type
attr_accessor :font_size
attr_accessor :name_font_size
attr_accessor :message_box_opacity
attr_accessor :name_box_skin
attr_accessor :name_box_text_color
attr_accessor :message_box_text_color
attr_accessor :message_box_skin
attr_accessor :name_box_width
attr_accessor :name_box_height
attr_accessor :message_width
attr_accessor :message_height
attr_accessor :message_x
attr_accessor :message_y_bottom
attr_accessor :message_y_middle
attr_accessor :message_y_top
attr_accessor :event_message_x_ofset
attr_accessor :event_message_y_ofset
def initialize
@name_box_x_offset = 28 #Choose the X axis offset of the name bos. default= 0
@name_box_y_offset = 27 #Choose the Y axis offset of the name bos. default= -10
@name_box_width = 100 #Choose the width of the Name Box. default= 8
@name_box_height = 100 #Choose the height of the Name Box. default= 26
@font_type = "Raavi" #Choose the Font Name (Case Sensitive) for message box
@name_font_type = "Raavi" #Choose the Font Name (Case Sensitive) for Name Box
@font_size = 31 #Choose the default Font Size for message box text
@name_font_size = 31 #Choose the deafault Font Size for Name Box text
@name_box_text_color=4 #Choose the Text Color of the Name Box
@message_box_text_color=0 #Choose the Text Color of the Message Box
@message_box_opacity = 160 #Choose the opacity of the message window. Default=160
@message_box_skin = "mex" #Choose the WindowSkin for the Message Box
@name_box_skin = "mex" #Choose the WindowSkin for the Name Box
@message_width = 1259 #Choose the width size of the message box. Default=480
@message_height = 120 #Choose the height size of the message box. Default=160
@message_x = 0 #Choose the X position of the message box. Default=80
@message_y_bottom = 358 #Choose the Y bottom position of the message box. Default=304
@message_y_middle = 365 #Choose the Y middle position of the message box. Default=160
@message_y_top = 16 #Choose the Y top position of the message box. Default=16
@event_message_x_ofset = 100 #Choose the X position offset of the event message. Default=0
@event_message_y_ofset = 48 #Choose the Y position offset of the event message. Default=48
end
end
#===================================================
# ▲ CLASS AMS Ends
#===================================================
#===================================================
# ▼ Class Window_Message Begins
#===================================================
class Window_Message < Window_Selectable
alias xrxs9_initialize initialize
def initialize
@alex_skip = true
xrxs9_initialize
if $soundname_on_speak == nil then
$soundname_on_speak = ""
end
$gaiji_file = "./Graphics/Gaiji/sample.png"
if FileTest.exist?($gaiji_file)
@gaiji_cache = Bitmap.new($gaiji_file)
else
@gaigi_cache = nil
end
@opacity_text_buf = Bitmap.new(32, 32)
end
#--------------------------------------------------------------------------
alias xrxs9_terminate_message terminate_message
def terminate_message
if @name_window_frame != nil
@name_window_frame.dispose
@name_window_frame = nil
end
if @name_window_text != nil
@name_window_text.dispose
@name_window_text = nil
end
xrxs9_terminate_message
end
#--------------------------------------------------------------------------
def refresh
self.contents.clear
self.contents.font.color = text_color($ams.message_box_text_color)
self.contents.font.name = $ams.font_type
self.contents.font.size = $ams.font_size
self.windowskin = RPG::Cache.windowskin($ams.message_box_skin)
@x = @y = @max_x = @max_y = @indent = @lines = 0
@face_indent = 0
@opacity = 255
@cursor_width = 100
@write_speed = 0
@write_wait = 0
@mid_stop = false
@face_file = nil
@popchar = -2
if $game_temp.choice_start == 0
@x = 8
end
if $game_temp.message_text != nil
@now_text = $game_temp.message_text
if (/\A\\[Ff]\[(.+?)\]/.match(@now_text))!=nil then
@face_file = $1 + ".png"
@x = @face_indent = 128
if FileTest.exist?("Graphics/Pictures/" + $1 + ".png")
self.contents.blt(16, 16, RPG::Cache.picture(@face_file), Rect.new(0, 0, 96, 96))
end
@now_text.gsub!(/\\[Ff]\[(.*?)\]/) { "" }
end
begin
last_text = @now_text.clone
@now_text.gsub!(/\\[Vv]\[([iiWwAaSs]?)([0-9]+)\]/) { convart_value($1, $2.to_i) }
end until @now_text == last_text
@now_text.gsub!(/\\[Nn]\[([0-9]+)\]/) do
$game_actors[$1.to_i] != nil ? $game_actors[$1.to_i].name : ""
end
#NEW
#Dubealex's Stop Skip Text ON-OFF
@now_text.gsub!(/\\[%]/) { "\100" }
#End new command
#NEW
#Dubealex's Show Monster Name Feature
@now_text.gsub!(/\\[Mm]\[([0-9]+)\]/) do
$data_enemies[$1.to_i] != nil ? $data_enemies[$1.to_i].name : ""
end
#End new command
#NEW
#Dubealex's Show Item Price Feature
@now_text.gsub!(/\\[Pp]rice\[([0-9]+)\]/) do
$data_items[$1.to_i] != nil ? $data_items[$1.to_i].price : ""
end
#End new command
#NEW
#Dubealex's Show Hero Class Name Feature
@now_text.gsub!(/\\[Cc]lass\[([0-9]+)\]/) do
$data_classes[$data_actors[$1.to_i].class_id] != nil ? $data_classes[$data_actors[$1.to_i].class_id].name : ""
end
#End new command
#NEW
#Dubealex's Show Current Map Name Feature
@now_text.gsub!(/\\[Mm]ap/) do
$game_map.name != nil ? $game_map.name : ""
end
#End new command
#NEW
#Dubealex's Choose Name Box Text Color
@now_text.gsub!(/\\[Zz]\[([0-9]+)\]/) do
$ams.name_box_text_color=$1.to_i
@now_text.sub!(/\\[Zz]\[([0-9]+)\]/) { "" }
end
#End new command
name_window_set = false
if (/\\[Nn]ame\[(.+?)\]/.match(@now_text)) != nil
name_window_set = true
name_text = $1
@now_text.sub!(/\\[Nn]ame\[(.*?)\]/) { "" }
end
if (/\\[Pp]\[([-1,0-9]+)\]/.match(@now_text))!=nil then
@popchar = $1.to_i
if @popchar == -1
@x = @indent = 48
@y = 4
end
@now_text.gsub!(/\\[Pp]\[([-1,0-9]+)\]/) { "" }
end
@max_choice_x = 0
if @popchar >= 0
@text_save = @now_text.clone
@max_x = 0
@max_y = 4
for i in 0..3
line = @now_text.split(/\n/)[3-i]
@max_y -= 1 if line == nil and @max_y <= 4-i
next if line == nil
line.gsub!(/\\\w\[(\w+)\]/) { "" }
cx = contents.text_size(line).width
@max_x = cx if cx > @max_x
if i >= $game_temp.choice_start
@max_choice_x = cx if cx > @max_choice_x
end
end
self.width = @max_x + 32 + @face_indent
self.height = (@max_y - 1) * 32 + 64
@max_choice_x -= 68
@max_choice_x -= @face_indent*216/128
else
@max_x = self.width - 32 - @face_indent
for i in 0..3
line = @now_text.split(/\n/)
next if line == nil
line.gsub!(/\\\w\[(\w+)\]/) { "" }
cx = contents.text_size(line).width
if i >= $game_temp.choice_start
@max_choice_x = cx if cx > @max_choice_x
end
end
@max_choice_x += 8
end
@cursor_width = 0
@now_text.gsub!(/\\\\/) { "\000" }
@now_text.gsub!(/\\[Cc]\[([0123456789ABCDEF#]+)\]/) { "\001[#{$1}]" }
@now_text.gsub!(/\\[Gg]/) { "\002" }
@now_text.gsub!(/\\[ss]\[([0-9]+)\]/) { "\003[#{$1}]" }
@now_text.gsub!(/\\[Aa]\[(.*?)\]/) { "\004[#{$1}]" }
#NEW
#Dubealex's Permanent Color Change
@now_text.gsub!(/\\[Cc]olor\[([0-9]+)\]/) do
$ams.message_box_text_color= $1.to_i
@now_text.sub!(/\\[Cc]\[([0-9]+)\]/) { "" }
end
#End of new command
#NEW
#Dubealex's Font Change Feature
@now_text.gsub(/\\[Tt]\[(.*?)\]/) do
buftxt = $1.to_s
$ams.font_type = buftxt
@now_text.sub!(/\\[Tt]\[(.*?)\]/) { "" }
end
#End of new command
@now_text.gsub!(/\\[.]/) { "\005" }
@now_text.gsub!(/\\[|]/) { "\006" }
@now_text.gsub!(/\\[>]/) { "\016" }
@now_text.gsub!(/\\[<]/) { "\017" }
@now_text.gsub!(/\\[!]/) { "\020" }
@now_text.gsub!(/\\[~]/) { "\021" }
@now_text.gsub!(/\\[Ee]\[([0-9]+)\]/) { "\022[#{$1}]" }
@now_text.gsub!(/\\[ii]/) { "\023" }
@now_text.gsub!(/\\[Oo]\[([0-9]+)\]/) { "\024[#{$1}]" }
@now_text.gsub!(/\\[Hh]\[([0-9]+)\]/) { "\025[#{$1}]" }
@now_text.gsub!(/\\[bb]\[([0-9]+)\]/) { "\026[#{$1}]" }
@now_text.gsub!(/\\[Rr]\[(.*?)\]/) { "\027[#{$1}]" }
reset_window
if name_window_set
color=$ams.name_box_text_color
off_x = $ams.name_box_x_offset
off_y = $ams.name_box_y_offset
space = 2
x = self.x + off_x - space / 2
y = self.y + off_y - space / 2
w = self.contents.text_size(name_text).width + $ams.name_box_width + space
h = $ams.name_box_height + space
@name_window_frame = Window_Frame.new(x, y, w, h)
@name_window_frame.z = self.z + 1
x = self.x + off_x + 4
y = self.y + off_y
@name_window_text = Air_Text.new(x, y, name_text, color)
@name_window_text.z = self.z + 2
end
end
reset_window
if $game_temp.choice_max > 0
@item_max = $game_temp.choice_max
self.active = true
self.index = 0
end
if $game_temp.num_input_variable_id > 0
digits_max = $game_temp.num_input_digits_max
number = $game_variables[$game_temp.num_input_variable_id]
@input_number_window = Window_InputNumber.new(digits_max)
@input_number_window.number = number
@input_number_window.x = self.x + 8
@input_number_window.y = self.y + $game_temp.num_input_start * 32
end
end
#--------------------------------------------------------------------------
def update
super
if @fade_in
self.contents_opacity += 24
if @input_number_window != nil
@input_number_window.contents_opacity += 24
end
if self.contents_opacity == 255
@fade_in = false
end
return
end
@now_text = nil if @now_text == ""
if @now_text != nil and @mid_stop == false
if @write_wait > 0
@write_wait -= 0
return
end
text_not_skip = LETTER_BY_LETTER_MODE
while true
@max_x = @x if @max_x < @x
@max_y = @y if @max_y < @y
if (c = @now_text.slice!(/./m)) != nil
if c == "\000"
c = "\\"
end
if c == "\001"
@now_text.sub!(/\[([0123456789ABCDEF#]+)\]/, "")
temp_color = $1
color = temp_color.to_i
leading_x = temp_color.to_s.slice!(/./m)
if leading_x == "#"
self.contents.font.color = hex_color(temp_color)
next
end
if color >= 0 and color <= 7
self.contents.font.color = text_color(color)
end
next
end
if c == "\002"
if @gold_window == nil and @popchar <= 0
@gold_window = Window_Gold.new
@gold_window.x = 560 - @gold_window.width
if $game_temp.in_battle
@gold_window.y = 192
else
@gold_window.y = self.y >= 128 ? 32 : 384
end
@gold_window.opacity = self.opacity
@gold_window.back_opacity = self.back_opacity
end
c = ""
end
if c == "\003"
@now_text.sub!(/\[([0-9]+)\]/, "")
speed = $1.to_i
if speed >= 0 and speed <= 19
@write_speed = speed
end
c = ""
end
if c == "\004"
@now_text.sub!(/\[(.*?)\]/, "")
buftxt = $1.dup.to_s
if buftxt.match(/\//) == nil and buftxt != "" then
$soundname_on_speak = "Audio/SE/" + buftxt
else
$soundname_on_speak = buftxt.dup
end
c = ""
elsif c == "\004"
c = ""
end
if c == "\005"
@write_wait -= 5
c = ""
end
if c == "\006"
@write_wait -= 20
c = ""
end
if c == "\016"
text_not_skip = false
c = ""
end
if c == "\017"
text_not_skip = true
c = ""
end
if c == "\020"
@mid_stop = false
c = ""
end
if c == "\021"
terminate_message
return
end
if c == "\023"
@indent = @x
c = ""
end
if c == "\024"
@now_text.sub!(/\[([0-9]+)\]/, "")
@opacity = $1.to_i
color = self.contents.font.color
self.contents.font.name = $ams.font_type
self.contents.font.size = $ams.font_size
self.contents.font.color = Color.new(color.red, color.green, color.blue, color.alpha * @opacity / 255)
c = ""
end
if c == "\025"
@now_text.sub!(/\[([0-9]+)\]/, "")
self.contents.font.size = [[$1.to_i, 6].max, 32].min
c = ""
end
if c == "\026"
@now_text.sub!(/\[([0-9]+)\]/, "")
@x += $1.to_i
c = ""
end
if c == "\027"
@now_text.sub!(/\[(.*?)\]/, "")
@x += ruby_draw_text(self.contents, @x, @y * line_height + (line_height - self.contents.font.size), $1, @opacity)
if $soundname_on_speak != ""
Audio.se_play($soundname_on_speak)
end
c = ""
end
if c == "\030"
@now_text.sub!(/\[(.*?)\]/, "")
self.contents.blt(@x , @y * line_height + 8, RPG::Cache.icon($1), Rect.new(0, 0, 24, 24))
if $soundname_on_speak != ""
Audio.se_play($soundname_on_speak)
end
@x += 24
c = ""
end
if c == "\n"
@lines += 1
@y += 1
@x = 0 + @indent + @face_indent
if @lines >= $game_temp.choice_start
@x = 8 + @indent + @face_indent
@cursor_width = @max_choice_x
end
c = ""
end
if c == "\022"
@now_text.sub!(/\[([0-9]+)\]/, "")
@x += gaiji_draw(4 + @x, @y * line_height + (line_height - self.contents.font.size), $1.to_i)
c = ""
end
#NEW
#Dubealex's Text Skip On/OFF Command
if c == "\100"
if @alex_skip==false
@alex_skip=true
else
@alex_skip=false
end
c = ""
end
#end of new command
if c != ""
self.contents.draw_text(0+@x, 32 * @y, 40, 32, c)
@x += self.contents.text_size©.width
if $soundname_on_speak != "" then
Audio.se_play($soundname_on_speak)
end
end
#SKIP_TEXT_CODE
# B = Escape, 0 (On The NumPad), X
# C = Enter, Space Bar and C
# A = Shift, Z
if Input.press?(Input::C) # <-- Change the value on that line
if @alex_skip==false
text_not_skip = false
end
end
else
text_not_skip = true
break
end
if text_not_skip
break
end
end
@write_wait -= @write_speed
return
end
if @input_number_window != nil
@input_number_window.update
if Input.trigger?(Input::C)
$game_system.se_play($data_system.decision_se)
$game_variables[$game_temp.num_input_variable_id] =
@input_number_window.number
$game_map.need_refresh = true
@input_number_window.dispose
@input_number_window = nil
end
return
end
if @contents_showing
if $game_temp.choice_max == 0
self.pause = true
end
if Input.trigger?(Input::B)
if $game_temp.choice_max > 0 and $game_temp.choice_cancel_type > 0
$game_temp.choice_proc.call($game_temp.choice_cancel_type - 1)
terminate_message
end
end
if Input.trigger?(Input::C)
if $game_temp.choice_max > 0
$game_system.se_play($data_system.decision_se)
$game_temp.choice_proc.call(self.index)
end
if @mid_stop
@mid_stop = false
return
else
terminate_message
end
end
return
end
if @fade_out == false and $game_temp.message_text != nil
@contents_showing = true
$game_temp.message_window_showing = true
refresh
Graphics.frame_reset
self.visible = true
self.contents_opacity = 255
if @input_number_window != nil
@input_number_window.contents_opacity = 0
end
@fade_in = true
return
end
if self.visible
@fade_out = true
self.opacity -= 48
if self.opacity == 0
self.visible = false
@fade_out = false
$game_temp.message_window_showing = false
end
return
end
end
#--------------------------------------------------------------------------
def get_character(parameter)
case parameter
when 0
return $game_player
else
events = $game_map.events
return events == nil ? nil : events[parameter]
end
end
#--------------------------------------------------------------------------
def reset_window
#MESSAGE_SIZE
#MESSAGE_POSITION
if @popchar >= 0
events = $game_map.events
if events != nil
character = get_character(@popchar)
x = [[character.screen_x - $ams.event_message_x_ofset - self.width / 2, 4].max, 636 - self.width].min
y = [[character.screen_y - $ams.event_message_y_ofset - self.height, 4].max, 476 - self.height].min
self.x = x
self.y = y
end
elsif @popchar == -1
self.x = -4
self.y = -4
self.width = 648
self.height = 488
else
if $game_temp.in_battle
self.y = 16
else
case $game_system.message_position
when 0
self.y = $ams.message_y_top
when 1
self.y = $ams.message_y_middle
when 2
self.y = $ams.message_y_bottom
end
self.x = $ams.message_x
if @face_file == nil
self.width = $ams.message_width
self.x = $ams.message_x
else
if self.width <= 600
self.width = 600
self.x -=60
end
end
self.height = $ams.message_height
end
end
self.contents = Bitmap.new(self.width - 32, self.height - 32)
self.contents.font.color = text_color($ams.message_box_text_color)
self.contents.font.name = $ams.font_type
self.contents.font.size = $ams.font_size
if @face_file != nil
self.contents.blt(16, 16, RPG::Cache.picture(@face_file), Rect.new(0, 0, 96, 96))
end
if @popchar == -1
self.opacity = 255
self.back_opacity = 0
elsif $game_system.message_frame == 0
self.opacity = 255
self.back_opacity = $ams.message_box_opacity
else
self.opacity = 0
self.back_opacity = $ams.message_box_opacity
end
end
#--------------------------------------------------------------------------
def gaiji_draw(x, y, num)
if @gaiji_cache == nil
return 0
else
if @gaiji_cache.width < num * 24
return 0
end
if self.contents.font.size >= 20 and self.contents.font.size <= 24
size = 24
else
size = self.contents.font.size * 100 * 24 / 2200
end
self.contents.stretch_blt(Rect.new(x, y, size, size), @gaiji_cache, Rect.new(num * 24, 0, 24, 24))
if $soundname_on_speak != "" then
Audio.se_play($soundname_on_speak)
end
return size
end
end
#--------------------------------------------------------------------------
def line_height
return 32
if self.contents.font.size >= 20 and self.contents.font.size <= 24
return 32
else
return self.contents.font.size * 15 / 10
end
end
#--------------------------------------------------------------------------
def ruby_draw_text(target, x, y, str,opacity)
sizeback = target.font.size
target.font.size * 3 / 2 > 32 ? rubysize = 32 - target.font.size : rubysize = target.font.size / 2
rubysize = [rubysize, 6].max
opacity = [[opacity, 0].max, 255].min
split_s = str.split(/,/)
split_s[0] == nil ? split_s[0] = "" : nil
split_s[1] == nil ? split_s[1] = "" : nil
height = sizeback + rubysize
width = target.text_size(split_s[0]).width
target.font.size = rubysize
ruby_width = target.text_size(split_s[1]).width
target.font.size = sizeback
buf_width = [target.text_size(split_s[0]).width, ruby_width].max
width - ruby_width != 0 ? sub_x = (width - ruby_width) / 2 : sub_x = 0
if opacity == 255
target.font.size = rubysize
target.draw_text(x + sub_x, y - target.font.size, target.text_size(split_s[1]).width, target.font.size, split_s[1])
target.font.size = sizeback
target.draw_text(x, y, width, target.font.size, split_s[0])
return width
else
if @opacity_text_buf.width < buf_width or @opacity_text_buf.height < height
@opacity_text_buf.dispose
@opacity_text_buf = Bitmap.new(buf_width, height)
else
@opacity_text_buf.clear
end
@opacity_text_buf.font.size = rubysize
@opacity_text_buf.draw_text(0 , 0, buf_width, rubysize, split_s[1], 1)
@opacity_text_buf.font.size = sizeback
@opacity_text_buf.draw_text(0 , rubysize, buf_width, sizeback, split_s[0], 1)
if sub_x >= 0
target.blt(x, y - rubysize, @opacity_text_buf, Rect.new(0, 0, buf_width, height), opacity)
else
target.blt(x + sub_x, y - rubysize, @opacity_text_buf, Rect.new(0, 0, buf_width, height), opacity)
end
return width
end
end
#--------------------------------------------------------------------------
def convart_value(option, index)
option == nil ? option = "" : nil
option.downcase!
case option
when "i"
unless $data_items[index].name == nil
r = sprintf("\030[%s]%s", $data_items[index].icon_name, $data_items[index].name)
end
when "w"
unless $data_weapons[index].name == nil
r = sprintf("\030[%s]%s", $data_weapons[index].icon_name, $data_weapons[index].name)
end
when "a"
unless $data_armors[index].name == nil
r = sprintf("\030[%s]%s", $data_armors[index].icon_name, $data_armors[index].name)
end
when "s"
unless $data_skills[index].name == nil
r = sprintf("\030[%s]%s", $data_skills[index].icon_name, $data_skills[index].name)
end
else
r = $game_variables[index]
end
r == nil ? r = "" : nil
return r
end
#--------------------------------------------------------------------------
def dispose
terminate_message
if @gaiji_cache != nil
unless @gaiji_cache.disposed?
@gaiji_cache.dispose
end
end
unless @opacity_text_buf.disposed?
@opacity_text_buf.dispose
end
$game_temp.message_window_showing = false
if @input_number_window != nil
@input_number_window.dispose
end
super
end
#--------------------------------------------------------------------------
def update_cursor_rect
if @index >= 0
n = $game_temp.choice_start + @index
self.cursor_rect.set(8 + @indent + @face_indent, n * 32, @cursor_width, 32)
else
self.cursor_rect.empty
end
end
end
#=========================================
# ▲ CLASS Window_Message Ends
#=========================================
#=========================================
# ▼ Class Window_Frame Begins
#=========================================
class Window_Frame < Window_Base
def initialize(x, y, width, height)
super(x, y, width, height)
self.windowskin = RPG::Cache.windowskin($ams.name_box_skin)
self.contents = nil
end
#--------------------------------------------------------------------------
def dispose
super
end
end
#=========================================
# ▲ CLASS Window_Frame Ends
#=========================================
#=========================================
# ▼ CLASS Game_Map Additional Code Begins
#=========================================
class Game_Map
#Dubealex's Addition (from XRXS) to show Map Name on screen
def name
$map_infos[@map_id]
end
end
#=========================================
# ▲ CLASS Game_Map Additional Code Ends
#=========================================
#=========================================
# ▼ CLASS Scene_Title Additional Code Begins
#=========================================
class Scene_Title
#Dubealex's Addition (from XRXS) to show Map Name on screen
$map_infos = load_data("Data/MapInfos.rxdata")
for key in $map_infos.keys
$map_infos[key] = $map_infos[key].name
end
#Dubealex's addition to save data from the AMS in the save files
$ams = AMS.new
end
#=========================================
# ▲ CLASS Scene_Title Additional Code Ends
#=========================================
#=========================================
# ▼ CLASS Window_Base Additional Code Begins
#=========================================
class Window_Base < Window
#Dubealex Addition (from Phylomorphis) to use HTML Hex Code Colors
def hex_color(string)
red = 0
green = 0
blue = 0
if string.size != 6
print("Hex strings must be six characters long.")
print("White text will be used.")
return Color.new(255, 255, 255, 255)
end
for i in 1..6
s = string.slice!(/./m)
if s == "#"
print("Hex color string may not contain the \"#\" character.")
print("White text will be used.")
return Color.new(255, 255, 255, 255)
end
value = hex_convert(s)
if value == -1
print("Error converting hex value.")
print("White text will be used.")
return Color.new(255, 255, 255, 255)
end
case i
when 1
red += value * 16
when 2
red += value
when 3
green += value * 16
when 4
green += value
when 5
blue += value * 16
when 6
blue += value
end
end
return Color.new(red, green, blue, 255)
end
#--------------------------------------------------------------------------
def hex_convert(character)
case character
when "0"
return 0
when "1"
return 1
when "2"
return 2
when "3"
return 3
when "4"
return 4
when "5"
return 5
when "6"
return 6
when "7"
return 7
when "8"
return 8
when "9"
return 9
when "A"
return 10
when "B"
return 11
when "C"
return 12
when "D"
return 13
when "E"
return 14
when "F"
return 15
end
return -1
end
end
#=========================================
# ▲ CLASS Window_Base Additional Code Ends
#=========================================
#=========================================
# ▼ Class Air_Text Begins
#=========================================
class Air_Text < Window_Base
def initialize(x, y, designate_text, color=0)
super(x-16, y-16, 32 + designate_text.size * 12, 56)
self.opacity = 0
self.back_opacity = 0
self.contents = Bitmap.new(self.width - 32, self.height - 32)
w = self.contents.width
h = self.contents.height
self.contents.font.name = $ams.name_font_type
self.contents.font.size = $ams.name_font_size
self.contents.font.color = text_color(color)
self.contents.draw_text(0, 0, w, h, designate_text)
end
#--------------------------------------------------------------------------
def dispose
self.contents.clear
super
end
end
#==========================================
# ▲ CLASS Air_Text Ends
#==========================================
#===================================================
# ▼ CLASS Scene_Save Additional Code Begins
#===================================================
class Scene_Save < Scene_File
alias ams_original_write_save_data write_save_data
def write_save_data(file)
ams_original_write_save_data(file)
Marshal.dump($ams, file)
end
end
#===================================================
# ▲ CLASS Scene_Save Additional Code Ends
#===================================================
#===================================================
# ▼ CLASS Scene_Load Additional Code Begins
#===================================================
class Scene_Load < Scene_File
alias ams_original_read_save_data read_save_data
def read_save_data(file)
ams_original_read_save_data(file)
$ams = Marshal.load(file)
end
end
#===================================================
# ▲ CLASS Scene_Load Additional Code Ends
#===================================================
Qualcuno sa come risolvere?
Vi posto anche un video per capire meglio qual è il problema
Spero possiate aiutarmi ^^
Non ho capito il problema, cioè se il messaggio cambia è normale che sparisce anche il nome
. -
Capisco, l'ho rimosso comunque.
Poi ho trovato un modo per rendere più piacevole lo stacco tra un pavimento e l'altro:
http://i.imgur.com/GNcnFM2.png
Inserisci un tappeto e risolvi il problema xd
-
Ragà, stamattina volevo connettermi con il mio account tramite android ma con esito negativo.
Praticamente provo a connettermi, si ricarica la pagina ma non si connette xd .
E' la prima volta che ci provo quindi non sò, anche a voi da questo problema?
-
Complimenti ai vincitori ^^
-
Ragà forse a via di creare quella mappa mi sono intontito xd.
Io il personaggio principale e i tipi fermi sul posto li vedo bene, non vedo bene invece quelli che passeggiano >_< .
Forse si sistemerebbero con un pò di ombra?
Come potrei intervenire?
Si il mio obbiettivo è quello di crearlo tutto in side-scrolling (non sò la parola esatta xd), in genere come valkyrie profile per capirci.
Il pg che sembra correre sul posto può dipendere dal parallax (perchè la velocità l'ho alzata di parecchio) che quando corre il pg esso gli corre dietro mentre sarebbe preferibile che rimarebbe fermo, attualmente ho problemi con il parallax per via della grafica, vedrò se riesco a sistemarlo >_< .
________________________
Vi mostro un'altra mappa, qui il parallax non è scorrevole. Il personaggio lo vedete sempre non uniforme all'immagine?
Sembra sempre correre sul posto? (potrei aumentare un'altro pò la velocità >_<).
-
Titolo e intro della storia spettacolari, complimentoni ^__^ . Tutta la parte grafica è bellissima, poi il racconto della storia iniziale anche u.u . Vai continua cosi' ^^ :happy: .
-
Mi dice video privato! E:3
Lo stava uppando, adesso si vede :) .
-
Mapping, come vi sembra? (sarà cosi').
-
Bella questa, con l'rgss modificato purtroppo il parallax non và, ho provato tutti i parallax esistenti ma nnt. Purtroppo nel gioco utilizzo un pò ovunque i parallax e con quel rgss mi ritrovo tutto nero xd. Ho cercato un fix al problema ma non ho trovato nnt.
Purtroppo sono costretto a ritornare al vecchio script per la risoluzione :( .
-
Mi spiace, non ho più avuto tempo di provare... il fix ci sarà, ma non ti so dire quando. :|
Dovrai avere un po' di pazienza.
Intanto puoi fare tu una prova.
All'inizio dello script, poco sotto le condizioni di utilizzo, ci sono queste due costanti:
UNLOCK_ON_CHANGE = true UNSET_Z_ON_CHANGE = true
Prova a metterle a "false" invece che a "true", e vedi se ti dà ancora problemi.
Per lo scorrimento delle picture, è già presente: basta che usi Muovi Picture nell'evento, e la picture scorrerà.
Attento che però se la picture è ancorata alla mappa, le coordinate X e Y dell'evento corrispondono alla griglia dei tile, non ai pixel.
Quindi per una picture ancorata, se la muovi verso 3, 4 si muoverà verso la casella 3, 4 della mappa (e non 3 px a destra e 4 px in basso).
Non cambia nulla, sempre uguale.. aprendo il menù e chiudendolo inizia ad andare a scatti e spariscono e riappaiono i chara.
Per lo scorrimento intendevo qualcosa come il parallax, vbb fa nnt ^^ .
Np.
-
Si potrebbe inserire anche la funzione dello scorrimento della picture? ^^
Scs se chiedo.. come procede il fix :) ?
-
Mi piace il 7 però come gli altri banner non centrano nnt con rpg maker.
Il 2 ci rientra un pò, però e troppo vuoto non stimola.
Il migliore e sicuramente il 5, c'è solo un problema... Quel B-Skin a destra stona moltissimo >_< .
Non si potrebbe fare una modifica e toglierlo? ( se più persone acconsentono ovviamente).
Opto per il 5.
+5
-
Ho un problema, quando esci dal menù rpg maker va a scatti, i character appaiono e scompaiono.
Provato su un progetto nuovo.
-
L'inizio del menù è perfetto (Compra,Vendi) poi quando selezioni compra rimane molto vuoto come descrizione ecc..
Selezionando compra dovresti far aprire una nuova finestra più grandicella sempre centralmente magari e in una riga
inserire icona - nome costo con la descrizione sempre sopra.
Esempio
____________________________________
| icona nome costo |
| pozione hp 50 |
| pozione mp 150 |
| || |
| |
| |
| |
| |
|___________________________________ |
Comunque se lo lasci cosi' (almeno io) non mi lamento, buono ^^ .
-
Provato, non mi parte lo stesso.
La risoluzione del mio schermo è 1366x768, il massimo consentito dalla scheda video pacco che mi ritrovo in questo cesso di portatile che uso.
Comunque, se non ti importa di infrangere il contratto di licenza che hai accettato all'installazione di rpgmaker (cosa che comunque infrangi usando roba rippata), puoi usare la dll moddata di cui ti parlavo. Purtroppo è la versione 300 e non la 301. Non so esattamente cosa cambi fra le due versioni.
Tieni una demo a 1024x768: http://www.mediafire.com/download/l9knmvghnsd5txg/Project17.rar
Perfetto, funziona come lo script precedente. Solo che questo funziona su tutti i pc (almeno dovrebbe xd). Non capivo perchè non mi cambiasse risoluzione, poi ho cpt che ogni volta che sovrascrivo qualcosa la dll viene sovrascritta ed il gioco parte a 640x480 quindi bisogna risostituirla.
Grazie mille ^_^ .
-
Grazie guardian :) (tengo altri 2 pc a casa, dovrei provare), arkady la risoluzione del tuo monitor quant'è? Puoi provare ad abbassare la risoluzione del game tramite lo script per vedere se si risolve >_< . A quanto pare ci sono problemi per alcuni pc nell'individuare la memoria del pc, almeno cosi' ho letto.
___________
Well, to put it simply, it crashes because of different location of the memory (referring to memory management).
Different specs of computer, especially the OS type and RAM type, could alter how memory should be located.
The unknown scripter doesn't deal with any offset for memory reading purpose, but going straight to changing the value of those memory addresses, so it seems to me that RM stays constant with the memory locations (stable) and it's the different OS that gives different memory location (might lead to potential crash, and the scripter would need to get access to different OS to handle those memory location offsets - tedious work).
Yes, locating memory offsets can be a very tedious work. And even if you're able to locate them, it might only work with your spec of computer. : p
p.s. It is possible to memory hack the DirectX functions, and change it into the compatible OpenGL functions, making RM compatible for iOS, but it would be much less time consuming and more compatible to just create the appropriate DLL files. And this is the first time, I see how memory hex editing is being used to change the window frame instead of the usual (y'know, cheat on the game : p).
___________Traduzione Italiana Google Traslate_________
Beh , per dirla semplicemente , si blocca a causa della diversa posizione della memoria ( con riferimento alla gestione della memoria ) .
Diverse caratteristiche di informatica, in particolare il tipo di sistema operativo e il tipo di RAM , potrebbero alterare come la memoria dovrebbe essere collocato .
Il Scripter sconosciuto non tratta alcun offset per scopo la memoria di lettura, ma andando dritto a cambiare il valore di tali indirizzi di memoria , così sembra a me che RM rimane costante con le locazioni di memoria ( stabile) ed è il diverso sistema operativo che dà posizione diversa memoria ( potrebbe condurre a potenziali crash, e il scripter avrebbe bisogno di avere accesso a differenti sistemi operativi per gestire tali locazione di memoria spostamenti - lavoro noioso ) .
Sì , l'individuazione di offset di memoria può essere un lavoro molto noioso . E anche se siete in grado di localizzarli , potrebbe funzionare solo con il vostro specifiche del computer. : p
post scriptum E 'possibile la memoria hackerare le funzioni DirectX , e cambiare in funzioni OpenGL compatibili , rendendo RM compatibile per iOS , ma sarebbe molto meno tempo e più compatibile solo creare i file DLL appropriati . E questa è la prima volta , vedo come la memoria editing esagonale viene utilizzata per modificare il telaio della finestra al posto del solito ( insomma , imbrogliare sul gioco : p ) .______________________________________
Ps.
Prova ad inserire questo script sopra lo script unlimited resolution http://forums.rpgmakerweb.com/index.php?/topic/17400-hidden-gameexe-crash-debugger-graphical-object-global-reference-ace/
-
Windows 7. Quando ho tempo provo pure su un altro pc.
Non penso che manchi qualcosa come il net framework
Potrei azzardare che il problema abbia a che fare con la scheda video? La mia è proprio il classico modello di scheda integrata Schifo++
Poi non so se la cosa abbia davvero a che fare con la scheda video.
ps: ma la dll che utilizzi (che tra l'altro è quella vecchia e non quella aggiornata: è la RGSS300, non la RGSS301) è quella standard o è stata patchata? No, perché tempo fa mi ero documentato su quello script e c'era chi diceva che funzionava solo con la dll patchata da non mi ricordo chi (che in teoria sarebbe illegale ;) )
Non saprei, credo sia patchata comunque sto leggendo tramite il blog di hime http://www.himeworks.com/2013/10/25/unlimited-resolution/ che lo script contiene molti bug (attualmente nel mio pc funziona perfettamente, magari più avanti man mano creo trovo qualche bug xd) poi ho letto
che l'errore può risolversi avviando il gioco come amministratore, puoi fare una prova per vedere se si risolve.

Cheran e il Libro Magico (Rinnovo Totale)
in Progetti VX e VX-Ace
Posted
mmmm...
Forse cosi' corre troppo xd (La mappa se la mangia in 2 colpi ç_ç).
Vedi un pò
http://www.youtube.com/watch?v=9s8BXRNM5wM&feature=youtu.be