Confira o Videos Épicos #45!
8 Respostas   1205 Visualizações
0 Membros e 1 Visitante estão vendo este tópico.
## x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x## Event Captions Script v0.6 - SourceCode# Adaptado do curso de RGSS3 do Khas -> http://arcthunder.blogspot.com## Para usar coloque um comentário em seus eventos com: cmd:nome=O TíTULO QUE VOCÊ QUISER## x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x#module EventCaptions #cor da fonte FontColor = Color.new(255,255,255) #nome da fonte FontName = "Verdana" #fonte negrito? FontBold = true #tamanho da fonte FontSize = 14 #posição em relação ao evento OffSet = 48 #somente quando o jogador ficar sobre o evento OnlyOnPlayerTouch = true endclass Spriteset_Map alias capchars_initialize initialize alias capchars_dispose dispose alias capchars_update update def initialize create_names capchars_initialize end def update capchars_update update_names end def dispose capchars_dispose dispose_names end def create_names @names = [] for event in $game_map.events.values next if event.list == nil for command in event.list next if command.code != 108 if command.parameters[0].include?("cmd:nome=") name = command.parameters[0].sub("cmd:nome=","") @names.push(Sprite_Name.new(event,name)) end end end end def update_names for sprite in @names sprite.update end end def dispose_names for sprite in @names sprite.dispose end @names.clear end endclass Sprite_Name < Sprite def initialize(event, name) super(nil) @event = event @name = name if EventCaptions::OnlyOnPlayerTouch == false if self.bitmap == nil self.bitmap = Bitmap.new(120,20) else self.bitmap.clear end self.ox = 60 self.z = 999 self.bitmap.font.size = EventCaptions::FontSize self.bitmap.font.bold = EventCaptions::FontBold self.bitmap.font.name = EventCaptions::FontName self.bitmap.font.color = EventCaptions::FontColor self.bitmap.draw_text(0,0,120,20,@name,1) end end def update super self.x = @event.screen_x self.y = @event.screen_y - EventCaptions::OffSet #verifica se a opcao de on player touch esta ativa #entao verifica se a posicao do player é igual a do evento #só desenha o texto se o player estiver com x e y igual #ao evento if EventCaptions::OnlyOnPlayerTouch if @event.x == $game_player.x and @event.y == $game_player.y if self.bitmap == nil self.bitmap = Bitmap.new(120,20) else self.bitmap.clear end self.ox = 60 self.z = 999 self.bitmap.font.size = EventCaptions::FontSize self.bitmap.font.bold = EventCaptions::FontBold self.bitmap.font.name = EventCaptions::FontName self.bitmap.font.color = EventCaptions::FontColor self.bitmap.draw_text(0,0,120,20,@name,1) else if self.bitmap != nil self.bitmap.clear end end end end def dispose self.bitmap.dispose self.bitmap = nil super endend
Primeiramente,parabéns pelo Script,é bom ter novos scripter's rondando por aqui!Script muito bom,talvez use,talvez não.Quem sabe né? XD!Obs:Icone do tópico errado hein.
## x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x## Event Captions Script - SourceCode# Adaptado do curso de RGSS3 do Khas -> http://arcthunder.blogspot.com## Para usar coloque um comentário em seus eventos com: cmd:nome=[i]O TíTULO QUE VOCÊ QUISER[/i]## x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x#module EventCaptions #cor da fonte FontColor = Color.new(255,255,255) #nome da fonte FontName = "Verdana" #fonte negrito? FontBold = true #tamanho da fonte FontSize = 14 #posição em relação ao evento OffSet = 48 endclass Spriteset_Map alias capchars_initialize initialize alias capchars_dispose dispose alias capchars_update update def initialize @names = [] $game_map.events.values.each { |event| next if event.list.nil? for command in event.list next unless command.code == 108 @names.push(Sprite_Name.new(event, String($1))) if command.parameters[0].match(/cmd:nome=([^>]*)/im) end } capchars_initialize end def update capchars_update @names.each(&:update) end def dispose capchars_dispose @names.each(&:dispose) @names.clear end endclass Sprite_Name < Sprite def initialize(event, name) super(nil) self.bitmap = Bitmap.new(120,20) @event = event self.ox = 60 self.z = 999 self.bitmap.font.size = EventCaptions::FontSize self.bitmap.font.bold = EventCaptions::FontBold self.bitmap.font.name = EventCaptions::FontName self.bitmap.font.color = EventCaptions::FontColor self.bitmap.draw_text(0,0,120,20,name,1) end def update super self.x = @event.screen_x self.y = @event.screen_y - EventCaptions::OffSet end def dispose self.bitmap.dispose super endend
Legal.. mas para o caso de estudos.. veja como você poderia ter feito o script :Código: [Selecionar]## x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x## Event Captions Script - SourceCode# Adaptado do curso de RGSS3 do Khas -> http://arcthunder.blogspot.com## Para usar coloque um comentário em seus eventos com: cmd:nome=[i]O TíTULO QUE VOCÊ QUISER[/i]## x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x#module EventCaptions #cor da fonte FontColor = Color.new(255,255,255) #nome da fonte FontName = "Verdana" #fonte negrito? FontBold = true #tamanho da fonte FontSize = 14 #posição em relação ao evento OffSet = 48 endclass Spriteset_Map alias capchars_initialize initialize alias capchars_dispose dispose alias capchars_update update def initialize @names = [] $game_map.events.values.each { |event| next if event.list.nil? for command in event.list next unless command.code == 108 @names.push(Sprite_Name.new(event, String($1))) if command.parameters[0].match(/cmd:nome=([^>]*)/im) end } capchars_initialize end def update capchars_update @names.each(&:update) end def dispose capchars_dispose @names.each(&:dispose) @names.clear end endclass Sprite_Name < Sprite def initialize(event, name) super(nil) self.bitmap = Bitmap.new(120,20) @event = event self.ox = 60 self.z = 999 self.bitmap.font.size = EventCaptions::FontSize self.bitmap.font.bold = EventCaptions::FontBold self.bitmap.font.name = EventCaptions::FontName self.bitmap.font.color = EventCaptions::FontColor self.bitmap.draw_text(0,0,120,20,name,1) end def update super self.x = @event.screen_x self.y = @event.screen_y - EventCaptions::OffSet end def dispose self.bitmap.dispose super endend
Legal, também aprendi com as aulas do Khas, a única coisa que eu vi de problema aí é que está praticamente igual ao do Khas, você mudou tipo, seis linhas, nem o comentário é diferente do script dele, mas, de qualquer forma, já é um começo... seria legal poder configurar a fonte pelos comentários no evento também (um desafio aí pra você treinar)