Mundo Maker
¡Bienvenid@ a Mundo Maker!

¿Quieres aprender todo sobre el RPG Maker?



Regístrate y forma parte de Mundo Maker.

[RMXP] Emoticonos Mejorados

Ver el tema anterior Ver el tema siguiente Ir abajo

RPG Maker XP [RMXP] Emoticonos Mejorados

Mensaje por YoshiGM el 2010-10-17, 20:19

Código:
#=====================================================================
#========
# Emoticon on Event for RMXP Ver. 2.0
#==============================================================================
# By Nechigawara Sanzenin
# Original VX Script by �Enterbrain
# WARNING!! : This script can use on RPG Maker XP Only!! (VX Not Support)
#==============================================================================
#Show Emo on event with easy control
#==============================================================================
#Version Log
#==============================================================================
#2.0 Add Emo name , Change Key Word , Move setting to module EMO
#==============================================================================
=begin

How to Use:
You will add "\Ei[Number Of Emoticon]" or "\En[Name Of Emoticon]" To Script
Control in "Set Move Route".

The Emoticon Picture is in "Graphics\Picture".
when the line number of emoticonset is 1 , Number of Emoticon is 1.
when the line number of emoticonset is 2 , Number of Emoticon is 2.

Row of emoticon are height 32 px
And width 256 px.
frame size is 32*32 px.

You will edit or add Emo name in module EMO.
You can set Emoticon's Picture Name at EMO_NAME.
You can set frame rate at BALLOON_WAIT.

=end
#==============================================================================
module EMO
#Setting
BALLOON_WAIT = 12
EMO_NAME = "Balloon"
#Name data
NAME = {
#Add Name And Number Here
"Surprise" => 1 ,
"Confusion" => 2 ,
"Musical" => 3 ,
"Love" => 4 ,
"Anger" => 5 ,
"Awkward" => 6 ,
"Crushed" => 7 ,
"Silence" => 8 ,
"Creative" => 9 ,
"Zzz" => 10 ,
#End
}
#Change Name to ID
def self.add_id(text)
if NAME.include?(text)
return NAME[text]
else
return 0
end
end
#--------------------------------------------------------------------------
end
#==============================================================================
class Game_Character
#--------------------------------------------------------------------------
attr_accessor :balloon_id
#--------------------------------------------------------------------------
alias inc_initialize initialize
def initialize
inc_initialize
@balloon_id = 0
end
#--------------------------------------------------------------------------
def move_type_custom
# If it is not in the midst of stopping, discontinuance
if jumping? or moving?
return
end
# Until the list of portable command it arrives lastly, the loop
while @move_route_index < @move_route.list.size
# Acquiring portable command
command = @move_route.list[@move_route_index]
# When the command cord/code 0th (list) is last
if command.code == 0
# Option [ repeats operation ] in case of ON
if @move_route.repeat
# The index of the portable route first is reset
@move_route_index = 0
end
# Option [ repeats operation ] in case of OFF
unless @move_route.repeat
# When it is in the midst of movement route forcing
if @move_route_forcing and not @move_route.repeat
# Cancelling forcing the portable route
@move_route_forcing = false
# Return original portable route
@move_route = @original_move_route
@move_route_index = @original_move_route_index
@original_move_route = nil
end
# Clearing stop count
@stop_count = 0
end
return
end
# Portable type command (it moves under? When jump) is
if command.code <= 14
# It diverges with the command cord/code
case command.code
when 1 # It moves down
move_down
when 2 # It moves left
move_left
when 3 # It moves right
move_right
when 4 # It moves up
move_up
when 5 # It moves left-down
move_lower_left
when 6 # It moves right-down
move_lower_right
when 7 # It moves left-up
move_upper_left
when 8 # It moves right-up
move_upper_right
when 9 # It moves random
move_random
when 10 # It moves toward player
move_toward_player
when 11 # It moves away form hero
move_away_from_player
when 12 # It moves forward
move_forward
when 13 # It moves backword
move_backward
when 14 # Jump
jump(command.parameters[0], command.parameters[1])
end
# Option [ when it cannot move, disregard ] with OFF, in case of the failure of movement
if not @move_route.skippable and not moving? and not jumping?
return
end
@move_route_index  = 1
return
end
# In case of weight
if command.code == 15
# Setting weight count
@wait_count = command.parameters[0] * 2 - 1
@move_route_index  = 1
return
end
# In case of command of direction modification type
if command.code >= 16 and command.code <= 26
# It diverges with the command cord/code
case command.code
when 16 # Face down
turn_down
when 17 # Face left
turn_left
when 18 # Face right
turn_right
when 19 # Face up
turn_up
when 20 # Turn 90 right
turn_right_90
when 21 # Turn 90 left
turn_left_90
when 22 # 180 Turn
turn_180
when 23 # Left-right 90 turn
turn_right_or_left_90
when 24 # Face random
turn_random
when 25 # Face to hero
turn_toward_player
when 26 # Face away from hero
turn_away_from_player
end
@move_route_index  = 1
return
end
# In case of other commands
if command.code >= 27
# It diverges with the command cord/code
case command.code
when 27 # Switch ON
$game_switches[command.parameters[0]] = true
$game_map.need_refresh = true
when 28 # Switch OFF
$game_switches[command.parameters[0]] = false
$game_map.need_refresh = true
when 29 # Modification of drift speed
@move_speed = command.parameters[0]
when 30 # Modification of portable frequency
@move_frequency = command.parameters[0]
when 31 # When moving animation ON
@walk_anime = true
when 32 # When moving animation OFF
@walk_anime = false
when 33 # When stepping animation ON
@step_anime = true
when 34 # When stepping animation OFF
@step_anime = false
when 35 # Direction fixing ON
@direction_fix = true
when 36 # Direction fixing OFF
@direction_fix = false
when 37 # Through ON
@through = true
when 38 # Through OFF
@through = false
when 39 # Always on top ON
@always_on_top = true
when 40 # Always on top OFF
@always_on_top = false
when 41 # Graphic modification
@tile_id = 0
@character_name = command.parameters[0]
@character_hue = command.parameters[1]
if @original_direction != command.parameters[2]
@direction = command.parameters[2]
@original_direction = @direction
@prelock_direction = 0
end
if @original_pattern != command.parameters[3]
@pattern = command.parameters[3]
@original_pattern = @pattern
end
when 42 # Modification of opacity
@opacity = command.parameters[0]
when 43 # Modification of synthetic method
@blend_type = command.parameters[0]
when 44 # Play SE
$game_system.se_play(command.parameters[0])
when 45 # Script
script = command.parameters[0].clone
# Emoticon With Name Command
if (/\A\\[Ee]n\[(. ?)\]/.match(script)) != nil then
text = $1
@balloon_id = EMO.add_id(text)
script.gsub!(/\\[Ee]n\[(. ?)\]/) { "" }
end
# Emoticon With ID Command
if (/\A\\[Ee]i\[([0-9] )\]/.match(script)) != nil then
id = $1.to_i
@balloon_id = id
script.gsub!(/\\[Ee]i\[([0-9] )\]/) { "" }
end
# Clear Syntax
script.gsub!(/\\[Ee]n\[(. ?)\]/) { "" }
script.gsub!(/\\[Ee]i\[([0-9] )\]/) { "" }
result = eval(script)
end
@move_route_index  = 1
end
end
end
#--------------------------------------------------------------------------
end
#==============================================================================
class Sprite_Character < RPG::Sprite
#--------------------------------------------------------------------------
BALLOON_WAIT = EMO::BALLOON_WAIT
EMO_NAME = EMO:: EMO_NAME
#--------------------------------------------------------------------------
def initialize(viewport, character = nil)
super(viewport)
@character = character
@balloon_duration = 0
update
end
#--------------------------------------------------------------------------
alias inc_update update
def update
inc_update
# Update Balloon
update_balloon
# Check Balloon
if @character.balloon_id != 0
@balloon_id = @character.balloon_id
start_balloon
@character.balloon_id = 0
end
end
#--------------------------------------------------------------------------
def start_balloon
dispose_balloon
@balloon_duration = 8 * 8  BALLOON_WAIT
@balloon_sprite = Sprite.new(viewport)
@balloon_sprite.bitmap = RPG::Cache.picture(EMO_NAME)
@balloon_sprite.ox = 16
@balloon_sprite.oy = 32
update_balloon
end
#--------------------------------------------------------------------------
def update_balloon
if @balloon_duration > 0
@balloon_duration -= 1
if @balloon_duration == 0
@balloon_id = 0
dispose_balloon
else
@balloon_sprite.x = x
if @tile_id >= 384
he = 32
else
he = self.bitmap.height/4
end
@balloon_sprite.y = y - he
@balloon_sprite.z = z  200
if @balloon_duration < BALLOON_WAIT
sx = 7 * 32
else
sx = (7 - (@balloon_duration - BALLOON_WAIT) / 8) * 32
end
sy = (@balloon_id - 1) * 32
@balloon_sprite.src_rect.set(sx, sy, 32, 32)
end
end
end
#--------------------------------------------------------------------------
def dispose_balloon
if @balloon_sprite != nil
@balloon_sprite.dispose
@balloon_sprite = nil
end
end
#--------------------------------------------------------------------------
end
#==============================================================================

Crear uno nuevo sobre MAIN y nombrarlo como sea y le ponen el script.

Necesitan esta imagen:



Para llamar al script, tienen que escribir esto:

\Ei[Número del Emoticon] o \En[Nombre del Emoticon]

Por ejemplo el signo de Admiración seria el 1, el signo de pregunta el 2 y asi seguidamente.

Saludos :)
avatar
YoshiGM
Iniciado
Iniciado

0/3

Créditos 22

Gracias : 2

Volver arriba Ir abajo

RPG Maker XP Re: [RMXP] Emoticonos Mejorados

Mensaje por CoolChainy el 2010-10-23, 12:00

Ahhh, de Nechigawara, menudo scripter ese, es muy bueno. Buscaba la versión de VX, a ver si la veo :) De todas formas este me le guardo en mi recopilación personal.

Buen aporte.
avatar
CoolChainy
Iniciado
Iniciado

0/3

Créditos 21

Gracias : 2

Volver arriba Ir abajo

RPG Maker XP Re: [RMXP] Emoticonos Mejorados

Mensaje por orochii el 2010-10-23, 13:31

Mm pero ... Como pregunta curiosa, ¿tienen algún problema los emotíconos del vx? En fin.
Es muy buen script, y bastante fácil de usar :D. Creo que los tiempos de imagen / animación de batalla / charas sobre héroe terminaron al menos en el xp jajajá. Nah seguro que ya ni se hace ... casi jajajá.

Excelente aporte YoshiGM y gracias a Nechigawara por el script,
Orochii Zouveleki
avatar
orochii
Reportero

0/3

Créditos 7614

Gracias : 415

Volver arriba Ir abajo

RPG Maker XP Re: [RMXP] Emoticonos Mejorados

Mensaje por Alex_Game_Maker el 2016-03-01, 22:13

Se que esto es viejo, pero pido AYUDA!!!
me da error
????? 'Emoticon on Event' ? 310 ??? NoMethodError ????????

undefined method `-' for nil:NilClass
avatar
Alex_Game_Maker
Soñador
Soñador

0/3

Créditos 210

Gracias : 22

Volver arriba Ir abajo

RPG Maker XP Re: [RMXP] Emoticonos Mejorados

Mensaje por Contenido patrocinado


Contenido patrocinado


Volver arriba Ir abajo

Ver el tema anterior Ver el tema siguiente Volver arriba


Permisos de este foro:
No puedes responder a temas en este foro.