Obsession 3 Report post Posted August 31, 2009 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
Nisage 31 Report post Posted August 31, 2009 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..... 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. 2 Obsession and FranklinX reacted to this Share this post Link to post Share on other sites
Obsession 3 Report post Posted September 1, 2009 + 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