Jump to content
New account registrations are disabed. This website is now an archive. Read more here.
Obsession

[XP] Emoticon Script

Recommended Posts

I've seen alot of projects around using emoticons. I'm curious to know if there is a way to do this effectively, just like in RPG maker VX. I've searched high and low for one, its not urgent, but it would be nice if their was one.

Share this post


Link to post
Share on other sites

There is an Emoticon Animation Sheet. I've used it for one XP game that was never finished :( I had almost every Emotion all set up. I liked the "Sweatdrop" one the most, the way it sounded, though the "Anger" was funny as well :P

 

Edit: Good knews, I found the script :) Give me a few moments to get it into here (for some reason, the codeboxes hate me :( )

 

 

#===============================================================#
#>>>>>>>>>>>>>>>>>>>>>>>>>>>>SCRIPT<<<<<<<<<<<<<<<<<<<<<<<<<<<<<#
#===============================================================#
#                                                               #
#                        Emotions Script                        #
#                by Ánemus (www.arcadiumrpg.net)                #
#                                                               #
#  This script shows emotions over the player or over the other #
#                     characters of the map.                    #
#                                                               #
#                  $scene.emotion(id,ev,image)                  #
#                                                               #
#           For any comments: anemus@arcadiumrpg.net            #
#                                                               #
#===============================================================#
#>>>>>>>>>>>>>>>>>>>>>>>>>>>SETTINGS<<<<<<<<<<<<<<<<<<<<<<<<<<<<#
#===============================================================#
#                                                               #
# Number of Repetitions or LOOP:                                #
# That's the number of times the animation of the emotion will  #
# repeat. I recomend 1, because bigger numbers are just way to  #
# repetitive.                                                   #
LOOP = 1
#                                                               #
# Delay:                                                        #
# That's the slowness of the animation. I recomend 3 or 4,      #
# smaller numbers are like flashes, so they aren't really       #
# useful.                                                       #
DELAY = 4
#                                                               #
# Deafult file for emotions:                                    #
# This is a tool to make it easier to use, this way you just    #
# write the id of the animation and the event where you want to #
# show it.
DEFAULTFILE = "Balloon"
#                                                               #
#===============================================================#
#>>>>>>>>>>>>>>>>>>>>>>>>>INSTRUCTIONS<<<<<<<<<<<<<<<<<<<<<<<<<<#
#===============================================================#
#                                                               #
# Whenever you want to use it just use Call Script command      #
# then write:                                                   #
# $scene.emotion(id, ev, image)                                 #
# Being id the number of the emotion in the file (the top one is#
# the 0 and the lowest one the 9), ev the event over which you  #
# are showing the emotion (being -1 for the player and any      #
# other number for events, and image, that is the image file    #
# that you are using for the emotions. This file is to be placed#
# on Pictures folder and should be 256x320 px.                  #
#                                                               #
# Some tips:                                                    #
# If you are using the emotion file specified in DEFAULTFILE    #
# you dont need to include it in the sentence.                  #
# $scene.emotion(id, ev)                                        #
# Now if you are using the default file and also placing the    #
# emotion on the main character, the sentence is reduced to:    #
# $scene.emotion(id)                                            #
#                                                               #
#===============================================================#
#>>>>>>>>>>>>>>>>>>>>>>>>>>>>>END<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<#
#===============================================================#

#===============================================================#
#>>>>>>>>>>>>>>>>>>>>>>>>>>>>CODE<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<#
#===============================================================#
class Sprite_Character < RPG::Sprite
 alias :old_updateEmo :update
 def update
   old_updateEmo
   if @frames != nil
     @pic.x = (@character.screen_x + 5)
     @pic.y = (@character.screen_y - @ph - @ch.to_i+2)
     if @frames > (1 + LOOP*7)*DELAY
       @pic.zoom_x = 0.6
       @pic.zoom_y = 0.6
       @pic.opacity = 100
       @frames -= 1
       return
     elsif @frames > (LOOP*7)*DELAY
       @pic.zoom_x = 1
       @pic.zoom_y = 1
       @pic.opacity = 255
       @frames -= 1
       @iframe = 1
       @gota = 0
       return
     elsif @frames == 0
       @frames = nil
       @pic.bitmap.dispose
       @pic.dispose
       @picid = nil
       return
     else
       @pic.bitmap.clear
       @pic.bitmap.blt(0,0,RPG::Cache.picture(@picig),Rect.new(@iframe*32, @picid*32, 32, 32))
       @pic.zoom_x = 1
       @pic.zoom_y = 1
       @pic.opacity = 255
       @frames -= 1
       if @gota == DELAY
         @iframe += 1
         if @iframe > 7
           @iframe = 1
         end
         @gota = 0
       end
       @gota +=1
     end
   end
 end
 def emotion (id,ig="Balloon",wt=false)
   if !FileTest.exist?("Graphics/Pictures/"+ig+".png")
     return 0
   end
   @frames = (2 + LOOP*7)*DELAY
   @picid = id > 9 ? 9 : id
   @picig = ig
   @pic = Sprite.new
   @pic.bitmap = Bitmap.new(32,32)
   @pic.bitmap.blt(0, 0, RPG::Cache.picture(@picig), Rect.new(0,32*@picid,32,32))
   @pic.ox = @pic.bitmap.width / 2
   @pic.oy = @ph = @pic.bitmap.height / 2 
   @pic.z = 100
   if wt 
     return @frames
   else
     return 0
   end
 end
 def dispose
   super
   if @pic != nil
     @pic.bitmap.dispose
     @pic.dispose
   end
 end
end
class Spriteset_Map
 def emotion (id,ev=-1,ig=DEFAULTFILE,wt=false)
   if ev.to_i > -1
     @frames = @character_sprites[ev].emotion (id,ig,wt)
   else
     @frames = @character_sprites[@character_sprites.size - 1].emotion(id,ig,wt)
   end
   return @frames
 end
end
class Scene_Map
 def emotion (id,ev=-1,ig=DEFAULTFILE,wt=false)
   $game_system.map_interpreter.wait_count = @spriteset.emotion (id,ev,ig,wt)
 end
end
class Interpreter
 def wait_count=(frames)
   @wait_count = frames.to_i
 end
end

 

You'll need the EmotionIcon Picture from VX.....

ballooniv9.png

How to use the script.....

Save this file in the Pictures folder of you project with the name Balloon.png (you can change the name, but don't forget to then change it on the DEFAULT constant. It's Balloon.png no balloon.png. (Case Sensitive apparently)

[warn]The ID of the Event is not the one you see on the name (like EV001) or the info bar at the bottom right of the map editor of the RPGMaker XP. If it says it is 1, it is 0 (substract 1). Player is identified as -1.[/warn]

Also the name of the creator of the script: Ánemus.

I think that'll do.

 

Edit 2: I think somethings wrong with the Warning Box, some kind of picture isn't showing.

Share this post


Link to post
Share on other sites

+ Reputation

 

Just given you some rep for that. Thanks for the script. I'll fiddle around with it, see what works and maybe even implement it. Thanks.

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...