Jump to content
Rpg²S Forum

🏆[V1.6] Sistema degli obiettivi


Holy87
 Share

Recommended Posts

Hmmm no al momento no.

"Io non volevo solo partecipare alle discussioni. Volevo avere il potere di farle fallire" [cit.]

http://holyres.altervista.org/UserBoard/BannerOverdrive35.png
http://holyres.altervista.org/UserBoard/Cap3.png

http://www.indiexpo.net/signature/578.png

Miei script per RPG Maker VX Ace:


*NB Tutti i miei script sono protetti da licenza CC - BY http://i.creativecommons.org/l/by/3.0/88x31.png

Questa licenza permette a terzi di distribuire, modificare, ottimizzare ed utilizzare la tua opera come base, anche commercialmente, fino a che ti diano il credito per la creazione originale. Questa è la più accomodante delle licenze offerte. É raccomandata per la diffusione e l'uso massimo di materiali coperti da licenza.

 

 



I miei tutorial:


Come distribuire il gioco - e anche come creare un'installazione professionale!
RGSS in pillole - Guida completa e facile all'RGSS2 e RGSS3 per novizi ed esperti
Come mappare con VX (e VX Ace) - guida base all'uso degli strumenti del mapping
Loop delle musiche - come tagliarle in modo da far venire musiche continue senza interruzioni finali
Creare backup dei progetti - per evitare di uccidervi dopo un errore che ha fatto perdere tutto!

Link to comment
Share on other sites

  • 5 months later...

Buona sera, stavo testando questo script nel mio progetto quando al solo invio sul comando Obiettivi della schermata del titolo mi appare questo errore

 

http://imgur.com/GRMgcnH

 

Premetto che ho già copiato le immagini in pictures e ho messo anche lo script Universal module. Quale potrebbe essere il problema? dove sbaglio?

Crystal - La minaccia di Ormul


Mapping 90%


Event 90%


Rpg Maker MV


http://www.rpg2s.net/forum/index.php/topic/22099-crystal-la-minaccia-di-ormul/

Link to comment
Share on other sites

Appena torno a casa controllo l'errore.

"Io non volevo solo partecipare alle discussioni. Volevo avere il potere di farle fallire" [cit.]

http://holyres.altervista.org/UserBoard/BannerOverdrive35.png
http://holyres.altervista.org/UserBoard/Cap3.png

http://www.indiexpo.net/signature/578.png

Miei script per RPG Maker VX Ace:


*NB Tutti i miei script sono protetti da licenza CC - BY http://i.creativecommons.org/l/by/3.0/88x31.png

Questa licenza permette a terzi di distribuire, modificare, ottimizzare ed utilizzare la tua opera come base, anche commercialmente, fino a che ti diano il credito per la creazione originale. Questa è la più accomodante delle licenze offerte. É raccomandata per la diffusione e l'uso massimo di materiali coperti da licenza.

 

 



I miei tutorial:


Come distribuire il gioco - e anche come creare un'installazione professionale!
RGSS in pillole - Guida completa e facile all'RGSS2 e RGSS3 per novizi ed esperti
Come mappare con VX (e VX Ace) - guida base all'uso degli strumenti del mapping
Loop delle musiche - come tagliarle in modo da far venire musiche continue senza interruzioni finali
Creare backup dei progetti - per evitare di uccidervi dopo un errore che ha fatto perdere tutto!

Link to comment
Share on other sites

Beccata. Hai messo anche il modulo di supporto richiesto? CLICCAMI

Si l'ho specificato anche nel primo post ;)

 

Appena torno a casa controllo l'errore.

Grazie ma penso di aver appena intuito il problema, ho uno script di Mog, quello delle particelle che scorrono all'infinito sulla schermata di titolo in breve, sicuramente è quello essendo che già in qualche post avete parlato delle incompatibilità degli script Mog. Quindi sarebbe possibile renderlo compatibile anche con qst tipo di script? o più semplicemente si può eliminare il comando nella schermata di titolo e lasciarlo solo nel menù del giocatore così che per sfondo non abbia lo script di mog in piena esecuzione? o farebbe lo stesso problemi? il menù di gioco non è influenzato da nessun script di mog ovviamente. Se ti serve il nome esatto dello script di Mog lo recupero.

Crystal - La minaccia di Ormul


Mapping 90%


Event 90%


Rpg Maker MV


http://www.rpg2s.net/forum/index.php/topic/22099-crystal-la-minaccia-di-ormul/

Link to comment
Share on other sites

Per funzionare servono questi 2 script
1.

#==============================================================================

# +++ MOG - Animated Title A (v2.2) +++
#==============================================================================
# By Moghunter
# http://www.atelier-rgss.com/
#==============================================================================
# Tela de titulo animado, com logo, imagens aleatórias e outros efeitos visuais.
#==============================================================================

#==============================================================================
# IMAGENS NECESSÁRIAS
#==============================================================================
# Serão necessários as seguintes imagens na pasta Graphics/Titles2/
#
# Cursor.png
# Commmand_Name.png (image filename = name of command)
# Particle.png (Opcional)
# Logo.jpg (Opcional)
# Animated.png (Opcional)
#==============================================================================

#==============================================================================
# NOTA 1 - Para definir a imagem de texto basta selecionar no banco de dados
# a imagem do titulo numero 2 (Segunda camada)
#==============================================================================

#==============================================================================
# NOTA 2 - O nome da imagem de comando é iguál ao nome do comando definido
# no banco de dados do Rpg Maker.
#==============================================================================


#==============================================================================
# ● Histórico (Version History)
#==============================================================================
# v 2.2 - Possibilidade de colocar valores de movemento negativo nas partículas.
# v 2.1 - Correção do Bug quando a quantidade de imagens aleatórias é definida
# com a quantidade menor que 1.
# v 2.0 - Adição do Sprite Animado. (Opcional)
# - Adição de cores aleatórias nas partículas.
# - Adição do multiplas camadas de imagens. (Opcional)
# - Adição do efeito Wave no texto do titulo.
# - Opção de definir a velocidade de movimento das partículas.
# - Opção de ativar ou não o tremor na seleção de comando.
#
# v 1.2 - Melhoria no sistema de dispose de imagens.
#
# v 1.1 - Opção de pular o logo ao apertar alguma tecla.
# - Adição de comandos em pictures.
# - Adição de cursor de comando.
#==============================================================================

module MOG_SCENE_TITLE_A

#--------------------------------------------------------------------------
# ▼ LOGO ▼
#--------------------------------------------------------------------------
# Apresenta um Logo ao começar a tela de titulo.
# Será necessário ter a imagem LOGO.jpg (png) na pasta Graphics/Title2
#--------------------------------------------------------------------------
# Ativar Logo
LOGO = true
# Duração do logo.
LOGO_DURATION = 2 #(Sec)

#--------------------------------------------------------------------------
# ▼ RANDOM BACKGROUND ▼
#--------------------------------------------------------------------------
#Definição das pictures.
#--------------------------------------------------------------------------
RANDOM_PICTURES = [
"life_as_ben_menu"
#"Title4","Title5","Title6","Title7"
]
#Tempo de duração para ativar a troca de imagens.
RANDOM_PICTURES_DURATION = 10#(sec)
#Seleção aleatória.
RAMDOM_SELECTION = true
#Velocidade de Scrolling. (Speed X , Speed Y)
RANDOM_PICTURES_SCROLL_SPEED = [0,0]

#--------------------------------------------------------------------------
# ▼ MULTIPLE LAYERS ▼
#--------------------------------------------------------------------------
# Definição de multiplas camadas. * (não há limíte na quantidade de camadas
# usadas)
#--------------------------------------------------------------------------
# MULTIPLE_LAYERS = [ ["A",B,C,D], ["A",B,C,D], ["A",B,C D], ["A",B,C,D ], ....]
#
# A - Nome da imagem.
# B - Velocidade de scroll na horizontal.
# C - Velocidade de scroll na vertical.
# D - Tipo de Blend. (0 - Normal / 2 - Add / 3 - Substract)
#
MULTIPLE_LAYERS = [
["Layer1",1,0,1],
["Layer2",3,0,1],
["Layer3",0,0,0]
# ["Layer4",0,0,0],
# ["Layer5",0,0,0],
# ["Layer6",0,0,0]
]

#--------------------------------------------------------------------------
# ▼ PARTICLES ▼
#--------------------------------------------------------------------------
# Adiciona partículas animadas na tela do titulo.
# Será necessário ter a imagem PARTICLE.png na pasta Graphics/Title2
#--------------------------------------------------------------------------
# Ativar Partículas.
PARTICLE = true
# Ativar Cores Aleatórias.
PARTICLE_RANDOM_COLOR = true
# Definição do tipo de blend. (0,1,2)
PARTICLE_BLEND_TYPE = 1
#Definição do limite de velocidade das partículas.
PARTICLE_MOVEMENT_RANGE_X = 6
PARTICLE_MOVEMENT_RANGE_Y = 6
PARTICLE_ANGLE_RANGE = 2

#--------------------------------------------------------------------------
# ▼ WAVE TITLE ▼
#--------------------------------------------------------------------------
# Ativa o efeito WAVE no texto do titulo, o Texto do titulo é definido
# na camada do titulo 2, que pode ser definido através do banco de dados
#--------------------------------------------------------------------------
#Ativar o efeito do titulo com efeito WAVE.
TITLE_WAVE = true
#Configuração do efeito WAVE
#
# TITLE_WAVE_CONFIG = [ AMP, LENGTH , SPEED]
#
TITLE_WAVE_CONFIG = [3 , 128 , 480]

#--------------------------------------------------------------------------
# ▼ ANIMATED_SPRITE ▼ (Opcional)
#--------------------------------------------------------------------------
# Adiciona um sprite animado no titulo.
# A quantidade de frames é proporcional a largura dividido pela altura
# da imagem, ou seja, não há limite de quantidade de frames e nem de
# tamanho da imagem.
# Será necessário ter a imagem ANIMATED.png (Jpg) na pasta Graphics/Title2
#--------------------------------------------------------------------------
# Ativar Sprite animado.
ANIMATED_SPRITE = false
# Posição do Sprite animado.
ANIMATED_SPRITE_POSITION = [130,150]
# Velocidade da animação
ANIMATED_SPRITE_SPEED = 10
# Tipo de Blend. (0 - Normal / 2 - Add / 3 - Substract)
ANIMATED_SPRITE_BLEND_TYPE = 1
# Definição do zoom,
ANIMATED_SPRITE_ZOOM = 1.5


#--------------------------------------------------------------------------
# ▼ COMMANDS / SELECTION ▼
#--------------------------------------------------------------------------
# Configuração extras da tela de titulo.
#--------------------------------------------------------------------------
# Posição do comando.
COMMANDS_POS = [95, 260]
# Ativar o efeito de tremor ao selecionar o comando.
COMMAND_SHAKE = true
# Definição da posição do cursor.(Para ajustes)
CURSOR_POS = [-42,-7]
# Ativar flash ao mover o comando.
CURSOR_FLASH_SELECTION = true
# Definição da posição do flash.
CURSOR_FLASH_SLECTION_POS = [-180,0]
# Tipo de Blend. (0 - Normal / 2 - Add / 3 - Substract)
CURSOR_FLASH_SLECTION_BLEND_TYPE = 1

end

#==============================================================================
# ■ Window TitleCommand
#==============================================================================
class Window_TitleCommand < Window_Command
attr_reader :list
end

#==============================================================================
# ■ Particle Title
#==============================================================================
class Particle_Title < Sprite

include MOG_SCENE_TITLE_A

#--------------------------------------------------------------------------
# ● Initialize
#--------------------------------------------------------------------------
def initialize(viewport = nil)
super(viewport)
self.bitmap = Cache.title2("Particle_2")
self.tone.set(rand(255),rand(255), rand(255), 255) if PARTICLE_RANDOM_COLOR
self.blend_type = PARTICLE_BLEND_TYPE
@cw = self.bitmap.width
@ch = self.bitmap.height
@nx = PARTICLE_MOVEMENT_RANGE_X
@ny = PARTICLE_MOVEMENT_RANGE_Y
reset_setting
end

#--------------------------------------------------------------------------
# ● Reset Setting
#--------------------------------------------------------------------------
def reset_setting
zoom = (50 + rand(100)) / 100.1
self.zoom_x = zoom
self.zoom_y = zoom
self.x = (rand(680) -32)
self.y = rand(480 + @ch)
self.opacity = 0
self.angle = rand(360)
nx2 = rand(@nx).abs
nx2 = 1 if (@nx != 0 and nx2 < 1)
@speed_x = @nx > 0 ? nx2 : @nx < 0 ? -nx2 : 0
ny2 = rand(@ny).abs
ny2 = 1 if (@ny != 0 and ny2 < 1)
@speed_y = @ny > 0 ? ny2 : @ny < 0 ? -ny2 : 0
@speed_a = [[rand(PARTICLE_ANGLE_RANGE), PARTICLE_ANGLE_RANGE].min, 0].max
end

#--------------------------------------------------------------------------
# ● Dispose
#--------------------------------------------------------------------------
def dispose
super
self.bitmap.dispose
end

#--------------------------------------------------------------------------
# ● Update
#--------------------------------------------------------------------------
def update
super
self.x += @speed_x
self.y -= @speed_y
self.angle += @speed_a
self.opacity += 5
reset_setting if can_reset_setting?
end

#--------------------------------------------------------------------------
# ● Can Reset Setting
#--------------------------------------------------------------------------
def can_reset_setting?
return true if (self.x < -48 or self.x > 592)
return true if (self.y < -48 or self.y > 464)
return false
end
end

#==============================================================================
# ■ Multiple Layers Title
#==============================================================================
class Multiple_Layers_Title

#--------------------------------------------------------------------------
# ● Initialize
#--------------------------------------------------------------------------
def initialize(name = "", scroll_x = 0, scroll_y = 0, blend = 0, index = 0)
@layer = Plane.new
@layer.bitmap = Cache.title1(name.to_s) rescue nil
@layer.bitmap = Bitmap.new(32,32) if @layer.bitmap == nil
@layer.z = 10 + index
@layer.opacity = 0
@layer.blend_type = blend
@scroll_speed = [scroll_x, scroll_y]
end

#--------------------------------------------------------------------------
# ● Dispose
#--------------------------------------------------------------------------
def dispose
@layer.bitmap.dispose
@layer.bitmap = nil
@layer.dispose
end

#--------------------------------------------------------------------------
# ● Update
#--------------------------------------------------------------------------
def update
@layer.opacity += 2
@layer.ox += @scroll_speed[0]
@layer.oy += @scroll_speed[1]
end

end

#==============================================================================
# ■ Scene Title
#==============================================================================
class Scene_Title < Scene_Base
include MOG_SCENE_TITLE_A

#--------------------------------------------------------------------------
# ● Start
#--------------------------------------------------------------------------
def start
super
RPG::BGM.fade(2000)
@logo_active = LOGO
SceneManager.clear
@phase = 1
@phase_time = -1
dispose_title_sprites
create_logo if @logo_active
create_command_window
create_commands
create_background
create_light
create_cursor
create_animated_object
create_flash_select
create_multiple_layers
play_title_music unless @logo_active
end

#--------------------------------------------------------------------------
# ● Create Multiple Layers
#--------------------------------------------------------------------------
def create_flash_select
return if !CURSOR_FLASH_SELECTION
@flash_select = Sprite.new
@flash_select.bitmap = Cache.title2("Cursor2")
@flash_select.z = 99
@flash_select.opacity = 0
@flash_select.blend_type = CURSOR_FLASH_SLECTION_BLEND_TYPE
end

#--------------------------------------------------------------------------
# ● Create Multiple Layers
#--------------------------------------------------------------------------
def create_multiple_layers
@m_layers = []
index = 0
for i in MULTIPLE_LAYERS
@m_layers.push(Multiple_Layers_Title.new(i[0],i[1],i[2],i[3],index))
index += 1
end
end

#--------------------------------------------------------------------------
# ● Create_Logo
#--------------------------------------------------------------------------
def create_animated_object
return if !ANIMATED_SPRITE
@object_index = 0
@object_animation_speed = 0
@object = Sprite.new
@object.z = 98
@object.opacity = 0
@object.blend_type = ANIMATED_SPRITE_BLEND_TYPE
@object.zoom_x = ANIMATED_SPRITE_ZOOM
@object.zoom_y = ANIMATED_SPRITE_ZOOM
@object_image = Cache.title2("Animated")
@object_frame_max = @object_image.width / @object_image.height
@object_width = @object_image.width / @object_frame_max
@object.bitmap = Bitmap.new(@object_width,@object_image.height)
@object.x = ANIMATED_SPRITE_POSITION[0]
@object.y = ANIMATED_SPRITE_POSITION[1]
make_object_bitmap
end

#--------------------------------------------------------------------------
# ● Create_Logo
#--------------------------------------------------------------------------
def create_cursor
@cursor = Sprite.new
@cursor.bitmap = Cache.title2("Cursor")
@cursor.opacity = 0
@cursor.z = 130
@cursor_position = [0,0]
@mx = [0,0,0]
end

#--------------------------------------------------------------------------
# ● Create_Logo
#--------------------------------------------------------------------------
def create_logo
@phase = 0
@logo = Sprite.new
@logo.bitmap = Cache.title2("Logo")
@logo.opacity = 0
@logo_duration = 180 + (LOGO_DURATION * 60)
@logo.z = 200
end

#--------------------------------------------------------------------------
# ● Create Commands
#--------------------------------------------------------------------------
def create_commands
@command_window.visible = false
@commands_index_old = -1
@commands = []
@commands_shake_duration = 0
index = 0
for com in @command_window.list
sprite = Sprite.new
sprite.bitmap = Cache.title2(com[:name].to_s) rescue nil
if sprite.bitmap == nil
sprite.bitmap = Bitmap.new(200,32)
sprite.bitmap.font.size = 24
sprite.bitmap.font.bold = false
sprite.bitmap.font.italic = false
sprite.bitmap.draw_text(0, 0, 200, 32, com[:name].to_s,1)
end
sprite.x = COMMANDS_POS[0] - 100 - (index * 20)
sprite.y = index * 1.25 * sprite.bitmap.height + COMMANDS_POS[1]
sprite.z = 100 + index
sprite.opacity = 0
index += 1
@commands.push(sprite)
end
@command_max = index
end

#--------------------------------------------------------------------------
# ● create_background
#--------------------------------------------------------------------------
def create_background
@rand_title_duration = 120
@old_back_index = 0
@sprite1 = Plane.new
@sprite1.opacity = 0
@sprite1.z = 1
if RAMDOM_SELECTION
execute_random_picture(false)
else
execute_random_picture(true)
end
@sprite2 = Sprite.new
@sprite2.bitmap = Cache.title2($data_system.title2_name)
@sprite2.z = 140
@sprite2.opacity = 0
if TITLE_WAVE
@sprite2.wave_amp = TITLE_WAVE_CONFIG[0]
@sprite2.wave_length = TITLE_WAVE_CONFIG[1]
@sprite2.wave_speed = TITLE_WAVE_CONFIG[2]
end
end

#--------------------------------------------------------------------------
# ● Create Light
#--------------------------------------------------------------------------
def create_light
return unless PARTICLE
@viewport_light = Viewport.new(-32, -32, 600, 480)
@viewport_light.z = 50
@light_bitmap =[]
for i in 0...20
@light_bitmap.push(Particle_Title.new(@viewport_light))
end
end

#--------------------------------------------------------------------------
# ● dispose Background1
#--------------------------------------------------------------------------
def dispose_background1
@sprite1.bitmap.dispose
@sprite1.bitmap = nil
@sprite1.dispose
@sprite1 = nil
end

#--------------------------------------------------------------------------
# ● Dispose Background2
#--------------------------------------------------------------------------
def dispose_background2
if @sprite2.bitmap != nil
@sprite2.bitmap.dispose
@sprite2.bitmap = nil
@sprite2.dispose
@sprite2 = nil
end
end

#--------------------------------------------------------------------------
# ● Dispose Light
#--------------------------------------------------------------------------
def dispose_light
return unless PARTICLE
if @light_bitmap != nil
for i in @light_bitmap
i.dispose
end
@light_bitmap = nil
end
@viewport_light.dispose
end

#--------------------------------------------------------------------------
# ● Dispose Logo
#--------------------------------------------------------------------------
def dispose_logo
return unless @logo_active
@logo.bitmap.dispose
@logo.dispose
end

#--------------------------------------------------------------------------
# ● Dispose Multiple Layers
#--------------------------------------------------------------------------
def dispose_multiple_layers
return if @m_layers == nil
@m_layers.each {|layer| layer.dispose }
end

#--------------------------------------------------------------------------
# ● Terminate
#--------------------------------------------------------------------------
def terminate
super
dispose_title_sprites
end

#--------------------------------------------------------------------------
# ● Dispose Title Sprites
#--------------------------------------------------------------------------
def dispose_title_sprites
return if @cursor == nil
dispose_background1
dispose_background2
dispose_light
dispose_logo
dispose_multiple_layers
@cursor.bitmap.dispose
@cursor.dispose
@cursor = nil
if @flash_select != nil
@flash_select.bitmap.dispose
@flash_select.dispose
end
for com in @commands
com.bitmap.dispose
com.dispose
end
if ANIMATED_SPRITE
@object.bitmap.dispose
@object.dispose
@object_image.dispose
end
end

#--------------------------------------------------------------------------
# ● Update
#--------------------------------------------------------------------------
def update
super
update_logo
update_initial_animation
update_command
update_background
update_light
update_object_animation
update_multiple_layers
end

#--------------------------------------------------------------------------
# ● Update Multiple Layers
#--------------------------------------------------------------------------
def update_multiple_layers
return if @m_layers == nil
@m_layers.each {|layer| layer.update }
end

#--------------------------------------------------------------------------
# ● Make Object bitmap
#--------------------------------------------------------------------------
def make_object_bitmap
@object.bitmap.clear
src_rect_back = Rect.new(@object_width * @object_index, 0,@object_width,@object_image.height)
@object.bitmap.blt(0,0, @object_image, src_rect_back)
end

#--------------------------------------------------------------------------
# ● Update Object Animation
#--------------------------------------------------------------------------
def update_object_animation
return if !ANIMATED_SPRITE
@object.opacity += 2
@object_animation_speed += 1
if @object_animation_speed > ANIMATED_SPRITE_SPEED
@object_animation_speed = 0
@object_index += 1
@object_index = 0 if @object_index >= @object_frame_max
make_object_bitmap
end
end

#--------------------------------------------------------------------------
# ● Update Cursor Position
#--------------------------------------------------------------------------
def update_cursor_position
@cursor.opacity += 5
execute_animation_s
execute_cursor_move(0,@cursor.x,@cursor_position[0] + @mx[1])
execute_cursor_move(1,@cursor.y,@cursor_position[1])
end

#--------------------------------------------------------------------------
# ● Execute Animation S
#--------------------------------------------------------------------------
def execute_animation_s
@mx[2] += 1
return if @mx[2] < 4
@mx[2] = 0
@mx[0] += 1
case @mx[0]
when 1..7; @mx[1] += 1
when 8..14; @mx[1] -= 1
else
@mx[0] = 0
@mx[1] = 0
end
end

#--------------------------------------------------------------------------
# ● Execute Cursor Move
#--------------------------------------------------------------------------
def execute_cursor_move(type,cp,np)
sp = 5 + ((cp - np).abs / 5)
if cp > np
cp -= sp
cp = np if cp < np
elsif cp < np
cp += sp
cp = np if cp > np
end
@cursor.x = cp if type == 0
@cursor.y = cp if type == 1
end

#--------------------------------------------------------------------------
# ● Update Logo
#--------------------------------------------------------------------------
def update_logo
return if @phase != 0
loop do
break if @logo_duration == 0
execute_logo
Graphics.update
Input.update
end
play_title_music
end

#--------------------------------------------------------------------------
# ● Execute Logo
#--------------------------------------------------------------------------
def execute_logo
if @logo_duration > 120 and (Input.trigger?(:C) or Input.trigger?(:B))
@logo_duration = 120
end
@logo_duration -= 1
if @logo_duration > 120
@logo.opacity += 5
else
@logo.opacity -= 5
end
if @logo.opacity <= 0
@logo_duration = 0
@phase = 1
end
end

#--------------------------------------------------------------------------
# ● Update Background
#--------------------------------------------------------------------------
def update_background
@sprite1.ox += RANDOM_PICTURES_SCROLL_SPEED[0]
@sprite1.oy += RANDOM_PICTURES_SCROLL_SPEED[1]
@sprite2.opacity += 2
@sprite2.update
return if RANDOM_PICTURES.size < 1
@rand_title_duration -= 1
if @rand_title_duration <= 0
@sprite1.opacity -= 5 unless RANDOM_PICTURES.size < 2
else
@sprite1.opacity += 5
end
return if @sprite1.opacity != 0
execute_random_picture
end

#--------------------------------------------------------------------------
# ● Execute Random Picture
#--------------------------------------------------------------------------
def execute_random_picture(initial = false)
@rand_title_duration = [[60 * RANDOM_PICTURES_DURATION, 9999].min, 60].max
if @sprite1.bitmap != nil
@sprite1.bitmap.dispose
@sprite1.bitmap = nil
end
if RAMDOM_SELECTION
rand_pic = rand(RANDOM_PICTURES.size)
if rand_pic == @old_back_index
rand_pic += 1
rand_pic = 0 if rand_pic >= RANDOM_PICTURES.size
end
@old_back_index = rand_pic
else
@old_back_index += 1 unless initial
@old_back_index = 0 if @old_back_index >= RANDOM_PICTURES.size
end
pic = RANDOM_PICTURES[@old_back_index]
@sprite1.bitmap = Cache.title1(pic) rescue nil
@sprite1.bitmap = Cache.title1("") if @sprite1.bitmap == nil
end

#--------------------------------------------------------------------------
# ● Update Light
#--------------------------------------------------------------------------
def update_light
return unless PARTICLE
if @light_bitmap != nil
for i in @light_bitmap
i.update
end
end
end

#--------------------------------------------------------------------------
# ● Update Initial Animation
#--------------------------------------------------------------------------
def update_initial_animation
return if @phase != 1
@phase_time -= 1 if @phase_time > 0
if @phase_time == 0
@phase = 2
@phase_time = 20
end
for i in @commands
index = 0
if i.x < COMMANDS_POS[0]
i.x += 5 + (2 * index)
i.opacity += 10
if i.x >= COMMANDS_POS[0]
i.x = COMMANDS_POS[0]
i.opacity = 255
if @phase_time < 15 / 2
@phase_time = 15
end
end
end
index += 1
end
end

#--------------------------------------------------------------------------
# ● Update Command
#--------------------------------------------------------------------------
def update_command
return if @phase != 2
update_command_slide
update_cursor_position
update_flash_select
end

#--------------------------------------------------------------------------
# ● Update Command Slide
#--------------------------------------------------------------------------
def update_command_slide
if @commands_index_old != @command_window.index
@commands_index_old = @command_window.index
@commands_shake_duration = 30
if @flash_select != nil
@flash_select.opacity = 255
end
end
return if @commands_shake_duration == 0
@commands_shake_duration -= 1 if @commands_shake_duration > 0
@commands_shake_duration = 0 if !COMMAND_SHAKE
for i in @commands
if (i.z - 100) == @command_window.index
i.opacity += 10
@cursor_position = [COMMANDS_POS[0] + CURSOR_POS[0],i.y + CURSOR_POS[1]]
i.x = COMMANDS_POS[0] + rand(@commands_shake_duration)
else
i.opacity -= 7 if i.opacity > 100
i.x = COMMANDS_POS[0]
end
end
end

#--------------------------------------------------------------------------
# ● Update Flash Select
#--------------------------------------------------------------------------
def update_flash_select
return if !CURSOR_FLASH_SELECTION
@flash_select.opacity -= 8
@flash_select.x = @cursor_position[0] + CURSOR_FLASH_SLECTION_POS[0]
@flash_select.y = @cursor_position[1] + CURSOR_FLASH_SLECTION_POS[1]
end

end

$mog_rgss3_animated_title_a = true

 

 

 

e questo

#==============================================================================

# +++ MOG - Wallpaper EX (V1.1) +++
#==============================================================================
# By Moghunter
# http://www.atelier-rgss.com
#==============================================================================
# - Adiciona um papel de parede e adiciona alguns efeitos animados.
#==============================================================================
# Para mudar de papel de parede no meio do jogo basta usar o código abaixo.
#
# $game_system.wallpaper = "FILE_NAME"
#
#==============================================================================
# E para mudar de velocidade de scroll use o código abaixo.
#
# $game_system.wallpaper_scroll = [ SPEED_X, SPEED_Y]
#
#==============================================================================
# Serão necessários os seguintes arquivos na pasta GRAPHICS/SYSTEM.
#
# Menu_Particles.png
# wallpaper
#
#==============================================================================
# ● Histórico (Version History)
#==============================================================================
# v 1.1 - Melhoria no sistema de dispose de imagens.
#==============================================================================
module MOG_WALLPAPER_EX
#Ativar Particulas animadas.
PARTICLES = true
#Numero de particulas.
NUMBER_OF_PARTICLES = 15
#Deslizar a imagem de fundo.
BACKGROUND_SCROLL_SPEED = [0,1]
#Definição da opacidade das janelas.
WINDOW_OPACITY = 40
end

#==============================================================================
# ■ Game_System
#==============================================================================
class Game_System

attr_accessor :wallpaper
attr_accessor :wallpaper_scroll

#--------------------------------------------------------------------------
# ● Initialize
#--------------------------------------------------------------------------
alias mog_wallpaper_initialize initialize
def initialize
mog_wallpaper_initialize
@wallpaper = "Wallpaper"
@wallpaper_scroll = MOG_WALLPAPER_EX::BACKGROUND_SCROLL_SPEED
end

end

#==============================================================================
# ■ Menu Particles
#==============================================================================
class Menu_Particles < Sprite

#--------------------------------------------------------------------------
# ● Initialize
#--------------------------------------------------------------------------
def initialize(viewport = nil)
super(viewport)
self.bitmap = Cache.system("Menu_Particles")
reset_setting(true)
end

#--------------------------------------------------------------------------
# ● Reset Setting
#--------------------------------------------------------------------------
def reset_setting(start)
zoom = (50 + rand(100)) / 100.1
self.zoom_x = zoom
self.zoom_y = zoom
self.x = rand(544)
if start
self.y = rand(416 + self.bitmap.height)
else
self.y = 416 + rand(32 + self.bitmap.height)
end
self.opacity = 0
self.blend_type = 1
@speed_x = 0
@speed_y = [[rand(3), 3].min, 1].max
@speed_a = 0#rand(3)
end

#--------------------------------------------------------------------------
# ● Dispose
#--------------------------------------------------------------------------
def dispose
super
self.bitmap.dispose
end

#--------------------------------------------------------------------------
# ● Update
#--------------------------------------------------------------------------
def update
super
self.x += @speed_x
self.y -= @speed_y
self.angle += @speed_a
self.opacity += 5
reset_setting(false) if self.y < 0
end

end


#==============================================================================
# ■ LAYOUT_EX
#==============================================================================
module WALLPAPER_EX

include MOG_WALLPAPER_EX

#--------------------------------------------------------------------------
# ● Start
#--------------------------------------------------------------------------
def start
super
create_particles
end

#--------------------------------------------------------------------------
# ● Set Window OPACITY
#--------------------------------------------------------------------------
def set_window_opacity
instance_variables.each do |varname|
ivar = instance_variable_get(varname)
if ivar.is_a?(Window)
ivar.opacity = WINDOW_OPACITY
end
end
end

#--------------------------------------------------------------------------
# ● Create Particles
#--------------------------------------------------------------------------
def create_particles
return unless PARTICLES
dispose_menu_particles
@particle_viewport = Viewport.new(-32, -32, 576, 448)
@particle_bitmap =[]
for i in 0...NUMBER_OF_PARTICLES
@particle_bitmap.push(Menu_Particles.new(@particle_viewport))
end
end

#--------------------------------------------------------------------------
# ● Create Background
#--------------------------------------------------------------------------
def create_background
@background_sprite = Plane.new
@background_sprite.bitmap = Cache.system($game_system.wallpaper) rescue nil
@background_sprite.bitmap = SceneManager.background_bitmap if @background_sprite.bitmap == nil
end

#--------------------------------------------------------------------------
# ● Dispose Light
#--------------------------------------------------------------------------
def dispose_menu_particles
return unless PARTICLES
if @particle_bitmap != nil
@particle_bitmap.each {|sprite| sprite.dispose}
@particle_viewport.dispose
@particle_bitmap = nil
end
end

#--------------------------------------------------------------------------
# ● Dispose Background
#--------------------------------------------------------------------------
def dispose_background
return if @background_sprite == nil
@background_sprite.bitmap.dispose
@background_sprite.dispose
@background_sprite = nil
end

#--------------------------------------------------------------------------
# ● Terminate
#--------------------------------------------------------------------------
def terminate
super
dispose_menu_particles
end

#--------------------------------------------------------------------------
# ● Update
#--------------------------------------------------------------------------
def update
super
update_background
update_particle
end

#--------------------------------------------------------------------------
# ● Update Background
#--------------------------------------------------------------------------
def update_background
@background_sprite.ox += $game_system.wallpaper_scroll[0]
@background_sprite.oy += $game_system.wallpaper_scroll[1]
end

#--------------------------------------------------------------------------
# ● Update Particle
#--------------------------------------------------------------------------
def update_particle
return unless PARTICLES
@particle_bitmap.each {|sprite| sprite.update }
end

end

#==============================================================================
# ● Scene Menu
#==============================================================================
class Scene_Menu < Scene_MenuBase
include WALLPAPER_EX

#--------------------------------------------------------------------------
# ● Start
#--------------------------------------------------------------------------
alias mog_layout_ex_start start
def start
mog_layout_ex_start
set_window_opacity
end
end

#==============================================================================
# ● Scene Item
#==============================================================================
class Scene_Item < Scene_ItemBase
include WALLPAPER_EX

#--------------------------------------------------------------------------
# ● Start
#--------------------------------------------------------------------------
alias mog_layout_ex_start start
def start
mog_layout_ex_start
set_window_opacity
end
end

#==============================================================================
# ● Scene Skill
#==============================================================================
class Scene_Skill < Scene_ItemBase
include WALLPAPER_EX

#--------------------------------------------------------------------------
# ● Start
#--------------------------------------------------------------------------
alias mog_layout_ex_start start
def start
mog_layout_ex_start
set_window_opacity
end
end

#==============================================================================
# ● Scene Equip
#==============================================================================
class Scene_Equip < Scene_MenuBase
include WALLPAPER_EX

#--------------------------------------------------------------------------
# ● Start
#--------------------------------------------------------------------------
alias mog_layout_ex_start start
def start
mog_layout_ex_start
set_window_opacity
end
end

#==============================================================================
# ● Scene Status
#==============================================================================
class Scene_Status < Scene_MenuBase
include WALLPAPER_EX

#--------------------------------------------------------------------------
# ● Start
#--------------------------------------------------------------------------
alias mog_layout_ex_start start
def start
mog_layout_ex_start
set_window_opacity
end
end

#==============================================================================
# ● Scene File
#==============================================================================
class Scene_File < Scene_MenuBase
include WALLPAPER_EX

#--------------------------------------------------------------------------
# ● Start
#--------------------------------------------------------------------------
alias mog_layout_ex_start start
def start
mog_layout_ex_start
set_window_opacity
end
end

#==============================================================================
# ● Scene End
#==============================================================================
class Scene_End < Scene_MenuBase
include WALLPAPER_EX

#--------------------------------------------------------------------------
# ● Start
#--------------------------------------------------------------------------
alias mog_layout_ex_start start
def start
mog_layout_ex_start
set_window_opacity
end
end

#==============================================================================
# ● Window SaveFile
#==============================================================================
class Window_SaveFile < Window_Base

#--------------------------------------------------------------------------
# ● Initialize
#--------------------------------------------------------------------------
alias mog_wallpaper_initialize initialize
def initialize(height, index)
mog_wallpaper_initialize(height, index)
self.opacity = WALLPAPER_EX::WINDOW_OPACITY if can_opacity_window?
end

#--------------------------------------------------------------------------
# ● Can Opacity Window
#--------------------------------------------------------------------------
def can_opacity_window?
return true
end
end

$mog_rgss3_wallpaper_ex = true

 

Edited by Sunrise

Crystal - La minaccia di Ormul


Mapping 90%


Event 90%


Rpg Maker MV


http://www.rpg2s.net/forum/index.php/topic/22099-crystal-la-minaccia-di-ormul/

Link to comment
Share on other sites

Se non l'hai già fatto prova a mettere gli script di Holy sotto quelli di Mog, altrimenti l'unica soluzione è modificare il codice di uno dei due script (teoricamente quello di mog, che non usa gli alias).
In questo caso però tanto vale togliere lo script di Mog che è a dir poco SUPERFLUO.
Azzo ci fate con title di questo tipo?

Lui li programma ad hoc per i suoi progetti, ci butta su qualche personalizzazione e li mette in rete.

Personalmente mi sono sempre riprogrammato i title da solo, a fargli fare stretto stretto quello che vi serve sono due righe di codice.

Link to comment
Share on other sites

Bravo mog, come sempre è un emerito c***one, crede che esistono solo i suoi script. Fa una riscrittura completa di Start in Scene_Title, cancellando tutti gli altri script. Metti quello degli obiettivi sotto quello di MogHunter come ha suggerito Buddy, dovrebbe funzionare.

Edited by Holy87

"Io non volevo solo partecipare alle discussioni. Volevo avere il potere di farle fallire" [cit.]

http://holyres.altervista.org/UserBoard/BannerOverdrive35.png
http://holyres.altervista.org/UserBoard/Cap3.png

http://www.indiexpo.net/signature/578.png

Miei script per RPG Maker VX Ace:


*NB Tutti i miei script sono protetti da licenza CC - BY http://i.creativecommons.org/l/by/3.0/88x31.png

Questa licenza permette a terzi di distribuire, modificare, ottimizzare ed utilizzare la tua opera come base, anche commercialmente, fino a che ti diano il credito per la creazione originale. Questa è la più accomodante delle licenze offerte. É raccomandata per la diffusione e l'uso massimo di materiali coperti da licenza.

 

 



I miei tutorial:


Come distribuire il gioco - e anche come creare un'installazione professionale!
RGSS in pillole - Guida completa e facile all'RGSS2 e RGSS3 per novizi ed esperti
Come mappare con VX (e VX Ace) - guida base all'uso degli strumenti del mapping
Loop delle musiche - come tagliarle in modo da far venire musiche continue senza interruzioni finali
Creare backup dei progetti - per evitare di uccidervi dopo un errore che ha fatto perdere tutto!

Link to comment
Share on other sites

Bravo mog, come sempre è un emerito c***one, crede che esistono solo i suoi script. Fa una riscrittura completa di Start in Scene_Title, cancellando tutti gli altri script. Metti quello degli obiettivi sotto quello di MogHunter come ha suggerito Buddy, dovrebbe funzionare.

 

Ho cancellato uno dei due script di Mog, quello che mi importava meno, quello con animazioni nel menù di gioco che non ero nemmeno sicura di lasciare, mentre quello che modifica il menù del titolo mi piace e l'ho lasciato, ho messo il tuo sotto il suo e funziona, non da nessun errore per ora, poi testerò meglio provando a conquistare i trofei ecc

 

PS: non so bene cosa vuol dire fare una scrittura completa di Start in scene_title xD perchè ancora riesco a fare solo stupide modifiche agli script che uso, tradurli e personalizzarli seguendo le indicazioni sullo script stesso, come mettere "ShowTitle = false" invece di true nel tuo script per far comparire "obbiettivi" solo nel menu di gioco.

 

Grazie tante ad entrambi =) !

Crystal - La minaccia di Ormul


Mapping 90%


Event 90%


Rpg Maker MV


http://www.rpg2s.net/forum/index.php/topic/22099-crystal-la-minaccia-di-ormul/

Link to comment
Share on other sites

Ho cancellato uno dei due script di Mog, quello che mi importava meno, quello con animazioni nel menù di gioco che non ero nemmeno sicura di lasciare, mentre quello che modifica il menù del titolo mi piace e l'ho lasciato, ho messo il tuo sotto il suo e funziona, non da nessun errore per ora, poi testerò meglio provando a conquistare i trofei ecc

 

PS: non so bene cosa vuol dire fare una scrittura completa di Start in scene_title xD perchè ancora riesco a fare solo stupide modifiche agli script che uso, tradurli e personalizzarli seguendo le indicazioni sullo script stesso, come mettere "ShowTitle = false" invece di true nel tuo script per far comparire "obbiettivi" solo nel menu di gioco.

 

Grazie tante ad entrambi =) !

Significa che uno script ha delle istruzioni suddivise in funzioni (metodi). Anche RPG Maker ha delle funzioni, come quella che carica tutta la grafica della schermata del titolo, ad esempio. Altri script se messi sotto aggiungono altri comandi a queste funzioni con gli alias. Il ruby legge dall'alto verso il basso, quindi se un altro script ridefinisce tutta la funzione, cancella tutte le modifiche che fanno tutti gli script prima di lui. Quindi è bene che gli script con meno compatibilità vengano messi più in alto possibile.

"Io non volevo solo partecipare alle discussioni. Volevo avere il potere di farle fallire" [cit.]

http://holyres.altervista.org/UserBoard/BannerOverdrive35.png
http://holyres.altervista.org/UserBoard/Cap3.png

http://www.indiexpo.net/signature/578.png

Miei script per RPG Maker VX Ace:


*NB Tutti i miei script sono protetti da licenza CC - BY http://i.creativecommons.org/l/by/3.0/88x31.png

Questa licenza permette a terzi di distribuire, modificare, ottimizzare ed utilizzare la tua opera come base, anche commercialmente, fino a che ti diano il credito per la creazione originale. Questa è la più accomodante delle licenze offerte. É raccomandata per la diffusione e l'uso massimo di materiali coperti da licenza.

 

 



I miei tutorial:


Come distribuire il gioco - e anche come creare un'installazione professionale!
RGSS in pillole - Guida completa e facile all'RGSS2 e RGSS3 per novizi ed esperti
Come mappare con VX (e VX Ace) - guida base all'uso degli strumenti del mapping
Loop delle musiche - come tagliarle in modo da far venire musiche continue senza interruzioni finali
Creare backup dei progetti - per evitare di uccidervi dopo un errore che ha fatto perdere tutto!

Link to comment
Share on other sites

  • 3 months later...

ciao ragazzi

premetto che non sono molto pratico, avrei due domandine da fare...
questo script funziona ed è molto carino... però volevo chiedervi due cose da renderlo più performante secondo i miei gusti ovviamente.

1) Dopo aver raggiunto un obiettivo il punteggio aumenta, ma se faccio nuova o carica partita il punteggio resta sempre uguale, non si azzera (con nuova partita)
e di conseguenza risulta la quest completata. cosa dovrei fare per farla azzerare una volta che qualcuno inizi una nuova partita? cosa devo modificare?

2) vorrei aggiungere dei premi speciali quando qualcuno raggiunge un tot punti, cosa dovrei usare? switch o variabili? ho provato ma non riesco (sono una pippa)

Spero di essere stato chiaro
Grazie

Link to comment
Share on other sites

ciao ragazzi

premetto che non sono molto pratico, avrei due domandine da fare...

questo script funziona ed è molto carino... però volevo chiedervi due cose da renderlo più performante secondo i miei gusti ovviamente.

 

1) Dopo aver raggiunto un obiettivo il punteggio aumenta, ma se faccio nuova o carica partita il punteggio resta sempre uguale, non si azzera (con nuova partita)

e di conseguenza risulta la quest completata. cosa dovrei fare per farla azzerare una volta che qualcuno inizi una nuova partita? cosa devo modificare?

 

2) vorrei aggiungere dei premi speciali quando qualcuno raggiunge un tot punti, cosa dovrei usare? switch o variabili? ho provato ma non riesco (sono una pippa)

 

Spero di essere stato chiaro

Grazie

 

  1. Gli obiettivi vengono salvati in un salvataggio "globale", proprio perché magari ci sono obiettivi come "finisci il gioco con il finale buono" e "finisci il gioco con il finale cattivo" che ovviamente non puoi sbloccare entrambi in una sola partita. E se ci fai caso, su Steam, PlayStation XBox e tutti gli obiettivi restano sbloccati anche se fai una nuova partita.
  2. Dipende. Vuoi aggiungere dei premi nel momento in cui il giocatore ha sbloccato l'obiettivo, o vuoi un punto di scambio dove il giocatore può scambiare punti con oggetti speciali?

"Io non volevo solo partecipare alle discussioni. Volevo avere il potere di farle fallire" [cit.]

http://holyres.altervista.org/UserBoard/BannerOverdrive35.png
http://holyres.altervista.org/UserBoard/Cap3.png

http://www.indiexpo.net/signature/578.png

Miei script per RPG Maker VX Ace:


*NB Tutti i miei script sono protetti da licenza CC - BY http://i.creativecommons.org/l/by/3.0/88x31.png

Questa licenza permette a terzi di distribuire, modificare, ottimizzare ed utilizzare la tua opera come base, anche commercialmente, fino a che ti diano il credito per la creazione originale. Questa è la più accomodante delle licenze offerte. É raccomandata per la diffusione e l'uso massimo di materiali coperti da licenza.

 

 



I miei tutorial:


Come distribuire il gioco - e anche come creare un'installazione professionale!
RGSS in pillole - Guida completa e facile all'RGSS2 e RGSS3 per novizi ed esperti
Come mappare con VX (e VX Ace) - guida base all'uso degli strumenti del mapping
Loop delle musiche - come tagliarle in modo da far venire musiche continue senza interruzioni finali
Creare backup dei progetti - per evitare di uccidervi dopo un errore che ha fatto perdere tutto!

Link to comment
Share on other sites

 

  1. Gli obiettivi vengono salvati in un salvataggio "globale", proprio perché magari ci sono obiettivi come "finisci il gioco con il finale buono" e "finisci il gioco con il finale cattivo" che ovviamente non puoi sbloccare entrambi in una sola partita. E se ci fai caso, su Steam, PlayStation XBox e tutti gli obiettivi restano sbloccati anche se fai una nuova partita.
  2. Dipende. Vuoi aggiungere dei premi nel momento in cui il giocatore ha sbloccato l'obiettivo, o vuoi un punto di scambio dove il giocatore può scambiare punti con oggetti speciali?

 

L'idea del punto di scambio mi sembra fantastica e sarebbe anche un motivo in più per completare gli obiettivi é.è

I miei script per RPG Maker Vx Ace:

 

 

 

 

Link to comment
Share on other sites

 

  1. Gli obiettivi vengono salvati in un salvataggio "globale", proprio perché magari ci sono obiettivi come "finisci il gioco con il finale buono" e "finisci il gioco con il finale cattivo" che ovviamente non puoi sbloccare entrambi in una sola partita. E se ci fai caso, su Steam, PlayStation XBox e tutti gli obiettivi restano sbloccati anche se fai una nuova partita.
  2. Dipende. Vuoi aggiungere dei premi nel momento in cui il giocatore ha sbloccato l'obiettivo, o vuoi un punto di scambio dove il giocatore può scambiare punti con oggetti speciali?

 

Ciao

 

1) ipotizziamo che un giocatore completi determinati obbiettivi e riceve 100 punti, da utilizzare per "comprare" i premi o riceverli come nel caso 2...

se uno inizia una nuova partita l obbiettivo rimane sbloccato ma i punti si azzerrano, oppure iniziando una nuova partita si ritrova 100 punti?

il problema nasce poiche utilizzando un tot di punti il giocatore può prendere armi ecc non presenti magari nello shop, quindi consumando tali punti

nella nuova partita essendo già sbloccati questi obbiettivi non avrà la possibilità di comprare questi items tramite obbiettivi...questa è la mia domanda..

spero di essere stato chiaro...se no bisognerebbe fare che ad un tot di punti equivale un determinato premio e nonostante si inizi una nuova partita quel premio non si possa prendere se non è presente anche una determinata condizione (variabile) cosi che l eroe magari a livello 3 non possa prendere un arma di 100 punti acquisiti tramiti l obbiettivi del valore pari ad un arma di livello 15....come fare????

2) tutte e due le idee sono carine.... il secondo metodo citato da te viene utilizzato nel gioco BRAVE FRONTIER (per smartphone) dove superando delle missioni

secondarie ricevi punti per acquistare pozioni sfere ecc... il primo invece che ho descritto io basta raggiungere la quest richiesta e ricevi il premio...

Se mi spieghi tutte e due i casi meglio :P cosi valuto e poi decido quale fare... anche se il tuo metodo credo sia più performante...

Grazie

Link to comment
Share on other sites

È un problema che si risolve facilmente. Basta memorizzare in una variabili i punti spesi, e quelli disponibili li ricavi da punti totali - punti spesi. Così a ogni nuova partita avrai tutti i punti accumulati che potrai spendere di nuovo. I punti totali sbloccati li ricavi da H87_Achievements.gained_points. Invece di far scendere i punti degli obiettivi (cosa impossibile) fai salire la variabile punti spesi, quindi il giocatore vedrà quelli disponibili (nella partita attuale) con il valore punti ottenuti - punti spesi.

"Io non volevo solo partecipare alle discussioni. Volevo avere il potere di farle fallire" [cit.]

http://holyres.altervista.org/UserBoard/BannerOverdrive35.png
http://holyres.altervista.org/UserBoard/Cap3.png

http://www.indiexpo.net/signature/578.png

Miei script per RPG Maker VX Ace:


*NB Tutti i miei script sono protetti da licenza CC - BY http://i.creativecommons.org/l/by/3.0/88x31.png

Questa licenza permette a terzi di distribuire, modificare, ottimizzare ed utilizzare la tua opera come base, anche commercialmente, fino a che ti diano il credito per la creazione originale. Questa è la più accomodante delle licenze offerte. É raccomandata per la diffusione e l'uso massimo di materiali coperti da licenza.

 

 



I miei tutorial:


Come distribuire il gioco - e anche come creare un'installazione professionale!
RGSS in pillole - Guida completa e facile all'RGSS2 e RGSS3 per novizi ed esperti
Come mappare con VX (e VX Ace) - guida base all'uso degli strumenti del mapping
Loop delle musiche - come tagliarle in modo da far venire musiche continue senza interruzioni finali
Creare backup dei progetti - per evitare di uccidervi dopo un errore che ha fatto perdere tutto!

Link to comment
Share on other sites

È un problema che si risolve facilmente. Basta memorizzare in una variabili i punti spesi, e quelli disponibili li ricavi da punti totali - punti spesi. Così a ogni nuova partita avrai tutti i punti accumulati che potrai spendere di nuovo. I punti totali sbloccati li ricavi da H87_Achievements.gained_points. Invece di far scendere i punti degli obiettivi (cosa impossibile) fai salire la variabile punti spesi, quindi il giocatore vedrà quelli disponibili (nella partita attuale) con il valore punti ottenuti - punti spesi.

ok perfetto con la teoria ci siamo :D ora dovrei provare con la pratica... vediamo che riesco a fare creando questa variabile...anche se non sono pratico. :Z

ci smanetto un po :P

Link to comment
Share on other sites

È un problema che si risolve facilmente. Basta memorizzare in una variabili i punti spesi, e quelli disponibili li ricavi da punti totali - punti spesi. Così a ogni nuova partita avrai tutti i punti accumulati che potrai spendere di nuovo. I punti totali sbloccati li ricavi da H87_Achievements.gained_points. Invece di far scendere i punti degli obiettivi (cosa impossibile) fai salire la variabile punti spesi, quindi il giocatore vedrà quelli disponibili (nella partita attuale) con il valore punti ottenuti - punti spesi.

 

Ciao a tutti, premetto che non sono capace, quindi non uccidetemi :blush: mi date una mano nella compilazione? le variabili devo farle partire all inizio del gioco e lasciarle su inizio automatico, chiuderle con uno switch oppure devo inserirle nell evento comune?

 

<> Variabile: [0026: puntispesi] = 0
<> Variabile: [0027: puntiattuali] = H87_Achievements.gained_points (cosi va bene?)
<> Variabile: [0028: puntidisponibili] = [0027: puntiattuali] - [0026: puntispesi] (cosi va bene?)
<> Messaggio: Salve come posso aiutarti?
<> Mostra scelta: arma1 50 punti - arma2 100 punti - arma3 100 punti - arma4 200 punti
<> Quando arma1:
<> IF: Se Variabile [0027: puntiattuali] >= 50 (cosa devo scrivere qui?)
<> Messaggio: Hai acquistato arma1
<> Cambia Oggetti: [arma1], + 1
<> Variabile: [0026: puntispesi] + 50
<> IF: Se Variabile [0027: puntiattuali] < 50 (cosa devo scrivere qui?)
<> Messaggio: non hai abbastanza punti.
<> Quando arma2:
<> IF: Se Variabile [0027: puntiattuali] >= 100 punti (cosa devo scrivere qui?)
<> Messaggio: Hai acquistato arma2
<> Cambia Oggetti: [arma2], + 1
<> Variabile: [0026: puntispesi] + 100
<> IF: Se Variabile [0027: puntiattuali] < 100 punti (cosa devo scrivere qui?)
<> Messaggio: non hai abbastanza punti.
<> Quando arma3:
<> IF: Se Variabile [0027: puntiattuali] >= 100 punti (cosa devo scrivere qui?)
<> Messaggio: Hai acquistato arma3
<> Cambia Oggetti: [arma3], + 1
<> Variabile: [0026: puntispesi] + 100
<> IF: Se Variabile [0027: puntiattuali] < 100 punti (cosa devo scrivere qui?)
<> Messaggio: non hai abbastanza punti.
<> Quando arma4:
<> IF: Se Variabile [0027: puntiattuali] >= 200 punti (cosa devo scrivere qui?)
<> Messaggio: Hai acquistato arma4
<> Cambia Oggetti: [arma4], + 1
<> Variabile: [0026: puntispesi] + 200
<> IF: Se Variabile [0027: puntiattuali] < 200 punti (cosa devo scrivere qui?)
<> Messaggio: non hai abbastanza punti.
<>
: END
<>
: END
Edited by reppolo
Link to comment
Share on other sites

Variabile: [0026: puntispesi] = 0

È inutile che ad inizio gioco inizializzi la variabile, è già 0.

Per il resto sembra andare bene.

"Io non volevo solo partecipare alle discussioni. Volevo avere il potere di farle fallire" [cit.]

http://holyres.altervista.org/UserBoard/BannerOverdrive35.png
http://holyres.altervista.org/UserBoard/Cap3.png

http://www.indiexpo.net/signature/578.png

Miei script per RPG Maker VX Ace:


*NB Tutti i miei script sono protetti da licenza CC - BY http://i.creativecommons.org/l/by/3.0/88x31.png

Questa licenza permette a terzi di distribuire, modificare, ottimizzare ed utilizzare la tua opera come base, anche commercialmente, fino a che ti diano il credito per la creazione originale. Questa è la più accomodante delle licenze offerte. É raccomandata per la diffusione e l'uso massimo di materiali coperti da licenza.

 

 



I miei tutorial:


Come distribuire il gioco - e anche come creare un'installazione professionale!
RGSS in pillole - Guida completa e facile all'RGSS2 e RGSS3 per novizi ed esperti
Come mappare con VX (e VX Ace) - guida base all'uso degli strumenti del mapping
Loop delle musiche - come tagliarle in modo da far venire musiche continue senza interruzioni finali
Creare backup dei progetti - per evitare di uccidervi dopo un errore che ha fatto perdere tutto!

Link to comment
Share on other sites

<> Variabile: [0026: puntispesi] = 0

È inutile che ad inizio gioco inizializzi la variabile, è già 0.

Per il resto sembra andare bene.

Ciao

mi da il seguente errore

script 'game interpreter' line 543 syntax error occurred.

unexpected ':' , expecting ']'

[0003:puntiattuali] - [0002:puntispesi]

Link to comment
Share on other sites

Ciao

mi da il seguente errore

script 'game interpreter' line 543 syntax error occurred.

unexpected ':' , expecting ']'

[0003:puntiattuali] - [0002:puntispesi]

Ma mica quella roba l'hai messa da script!? Guarda che devi fare tutto dai comandi evento!

"Io non volevo solo partecipare alle discussioni. Volevo avere il potere di farle fallire" [cit.]

http://holyres.altervista.org/UserBoard/BannerOverdrive35.png
http://holyres.altervista.org/UserBoard/Cap3.png

http://www.indiexpo.net/signature/578.png

Miei script per RPG Maker VX Ace:


*NB Tutti i miei script sono protetti da licenza CC - BY http://i.creativecommons.org/l/by/3.0/88x31.png

Questa licenza permette a terzi di distribuire, modificare, ottimizzare ed utilizzare la tua opera come base, anche commercialmente, fino a che ti diano il credito per la creazione originale. Questa è la più accomodante delle licenze offerte. É raccomandata per la diffusione e l'uso massimo di materiali coperti da licenza.

 

 



I miei tutorial:


Come distribuire il gioco - e anche come creare un'installazione professionale!
RGSS in pillole - Guida completa e facile all'RGSS2 e RGSS3 per novizi ed esperti
Come mappare con VX (e VX Ace) - guida base all'uso degli strumenti del mapping
Loop delle musiche - come tagliarle in modo da far venire musiche continue senza interruzioni finali
Creare backup dei progetti - per evitare di uccidervi dopo un errore che ha fatto perdere tutto!

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...