Jump to content

Kayzee

Member
  • Content Count

    3,603
  • Joined

  • Last visited

  • Days Won

    267

Kayzee last won the day on August 17

Kayzee had the most liked content!

About Kayzee

  • Rank
    FAIRY DUST! FAIRY DUST FOR EVERYONE! WHEE!
  • Birthday 07/27/1979

Profile Information

  • Gender
    Not Telling
  • Location
    Fairyland!
  • Interests
    cute things, fairies, snuggles, kisses, fairy dust, naughty fun time

RPG Maker Information

  • RM Skill -
    Coder

Recent Profile Visitors

37,408 profile views
  1. Actually it's pretty easy in audacity to find loop point numbers, you just need to set the selection position display to do "start and length of selection" and to display in samples, but yeah it's still a bit of a pain in the ass. I find that I actually don't actually have to use them very often, but I make my own music for my game and a lot of my music is structured to avoid loop points. Of course, you could just change the sound file's sampling rate which would change the pitch without changing the loop points or the file size, but I don't think audacity really has that option. I think you can use the Change Speed effect and then resample but I am not sure about the math on that and I am not sure I trust how exact it would be. But if you are just going to use one pitch per sound file anyway, I think I will try and mode the jukebox for you anyway sometime soon, and just have it remember the v volume/pitch settings of the first time it's played. Don't think this is a good general solution though. The other option I guess would maybe be to put the pitch change you want in the .OGG metadata and figure out how to read .OGG metadata in ruby.
  2. Sure I guess if you assumed each bit of music and/or sound would always be played with one and only one pitch, but you know what they say about assuming things right? :P See, here is the thing: The volume and pitch setting can be set differently every time the song is played, and are kinda intended as special effects. I suppose it could create a new jukebox track for each track/pitch combo it encountered, but what would it call them? The other way is to have a giant cumbersome list of what the correct pitches are for each track to play at. None of these solutions are very satisfactory. Though there is a pretty simple way to solve this problem... One which requires no scripting what so ever! Just get Audacity (which you probobly already have anyway) and use the Change Speed effect to make all the tracks sound just the way you want them to normally sound. You can set the volume and do other things too! It makes everything so much simpler that way I think. :3 All that being said, it might be neat to have a volume and pitch slider for the jukebox that can be used to play tracks in different ways, just for fun.
  3. I still need to really look into that script, or make my own version. I was planning on having a jukebox thing somewhere in my game anyway, so it's on my todo list for sure. Though are you just planning on having a big list of pitches for each track?
  4. Oh darn... I was just looking at the minimap script you sent me and it seems it probobly won't work with my way of doing masks after all. :( Well not unless the whole thing is redone anyway. It's possible to make a map script that does the mask effect, but it would probably need to be a whole new script. I somehow thought the script was simpler then it actually is. I thought it mostly just loaded a bitmap image and displayed it, but it also has a bunch of other sprites and stuff so, yeah. My mask trick is really really limited sometimes, but it's the only way I know of to do masks with RGSS...
  5. Hmmm... Think you could send me a widdle example project of that script via PM or something? Like I said, all the links I found are broken and I would like to see how a working setup for that script works with the needed images and all.
  6. Hehe, I like to help people when I can! :3 *sprinkles fairy dust on you*
  7. Normally the game uses RPG::AudioFile subclasses (like RPG::BGM) to hold data about volume and pitch, and those classes call the Audio module to play themselves. The way Yanfly's system options volume settings work is to adjust the volume automatically as the RPG::AudioFile subclasses play themselves, but the jukebox script just uses the Audio module directly so it completely bypasses yanfly's script actually... May look into it more later. How isn't it working? The tricky bit is step 2, because you can't just create a sprite for that mask. Instead you have to draw it on top of the map's bitmap (or a copy of the map's bitmap). It won't work otherwise. Remember Bitmaps and Sprites are different things! A Bitmap is the image you want to draw, a Sprite is where and how the game should draw it. I will have to look over that script in detail later I think.
  8. Nope, only one. Doing this for every other number to check for x and exactly x results isn't nearly as useful as you might think.. Plus, if they wrote a method for every number, that would be a lot of methods! :3 If you want to check for an exact number, you are better off using "return a.count" to just get the number of matches. Hehe, I was using Khas Awesome Light Effects at one point, but I was never really happy with it's terms of service and I ended up needing to heavily modify it so much to get it to work the way I wanted anyway, so I eventually scraped the whole thing and wrote my own lighting/effect script from scratch. XD Only thing missing is the real time shadow effects Khas Awesome Light Effects has, which are honestly slow as heck and don't look all that great, so no big loss in my eyes. I also use the same script for a fog effect in one area. Not sure if it looks that great, as is though: Edit: Oh also, for reference, most of my dungeon areas also are covered by a 'fog of war' effect which hides unexplored tiles in addition to lighting. Here is a shot of my foresty area with the lighting script disabled:
  9. Yeah I figured that is what you meant. :3 I just mean you can't easily just make an image to use as a mask because you can't copy channels form one image to another. You would either have to clear the transparent bits line per line, or do tricks with additive blending. Here look I made this thing to show you what I mean: This is the only good way I have found to do masks in VX Ace. Oh oops. I was saying addictive instead of additive... Silly Kayzee they aren't the same word at all! I mean a sprite with a blend_type of 1 okay? >w< Er, anyway, I am not exactly sure how that minimap script works and most of the links on that page are dead, so I don't think I can help code it right now, but the basic idea is something I have done before. For example, the glow effects on my title sequence near the start of this video (after I am done talking about 21 seconds in) Is done by hiding a repeating plane behind a mask and additivly blending the background on top of it (uses quite a bit of subtractive blending too). Never tried it on a ui element though. :O
  10. Unbelievably enough, it actually is that simple! You can also use "return a.none?" to make it require that you not have any of the item IDs and "return a.one?" to make it require that you have exactly one and only one of the item ids, but I don't think they are as useful as any? and all? really. Also if you use "return a.select" instead of giving you a true or false answer for if you have the ids, it will give you an array of the ids that match what you have which can be handy in some situations. Unfortunately, there is really no easy way to make masks in VX Ace. I managed to make some mask-like effects using subtractive and addictive blending, but it pretty much only works in some situations.
  11. Well, sorta... you could call it like hasitem?(*(20..30)) to 'splat' the range in as arguments (this is just like how *args 'splats' the arguments to an array), but I think it's more flexible to use this: class Game_Interpreter def hasitem?(*args) a = [] args.each do |arg| if arg.is_a?(Enumerable) a |= arg.to_a else a.push(arg) end end return a.any? {|id| $game_party.has_item?($data_items[id], false)} end end # Game_Interpreter It's more complex , but it lets you use hasitem?(1..6, 8, 20..30) or whatever. There might be an easier way to do this, not sure.
  12. Uh, you can't use || that way. If you wanted to check multiple things you would need to do the full check, not just the id. Like this: $game_party.has_item?($data_items[1]) || $game_party.has_item?($data_items[2]) || $game_party.has_item?($data_items[3]) || $game_party.has_item?($data_items[4]) Which would be a pain, and you don't know how many things to check in this case anyway. Anyway, off the top of my head, here is how I would do it: class Game_Interpreter def hasitem?(*args) return args.any? {|id| $game_party.has_item?($data_items[id], false)} end end # Game_Interpreter Methods like .any? are very useful because you can give them a block of code to check each member of an array with! This is called a Closure, and while they can get sort of hard to explain, this is a pretty simple one. The block of code is passed one argument which we "bind' to a variable by surrounding the name we want to use with | |. For .any? it steps though each member of an array passing that member to a block, then if the result is true it returns true, if not it checks the next member of the array and if it runs out of members it returns false. TL;DR: Code you can pass code to is neat!
  13. I decided to put some music I made for my game up on Soundcloud. I have used it before to share a track or two to people privately but I put a bunch of stuff as public today.

     

    I just figured since I haven't been working on my game much lately I might as well upload some of the music that I feel kinda proud of, just so something I have been working on is out there somewhere.

    1. Show previous comments  2 more
    2. Rikifive

      Rikifive

      Oh now it works. 🤔

      Sounds nice, really RPG'ish. 👍

    3. Kayzee

      Kayzee

      Awww, shucks... Glad you like um! :3

    4. PhoenixSoul

      PhoenixSoul

      Loving this for certain.

  14. Better late than never? 😅

    Happy birthday! I hope you had a wonderful day! 🎉 😀

    1. Kayzee

      Kayzee

      Hehe, Thank you very much! <3

  15. Kayzee

    Math teacher incomming (Fr/En)

    I am glad your class allows people to find other ways to learn! No matter what you do not everyone will be good at learning the same way, and that's always a problem with any school program. Still, no reason not to do your best! I am rooting for you! Hmmm... Now that I think about it, I think the best thing that games could offer education is that a games are both a lesson and a test. Most of the time in classrooms it seems people are doing either one or the other but not both, either sitting there trying to pay attention to what is taught, or stressing out while they try to recall the exact bit of information they need to pass. With a game people do both at once in cycles... Uncovering more and more knowledge as they fiddle with things which in turns lets therm figure out how to get to the next stage. That makes it much more satisfying and engaging then staying up all night studying everything and then trying to recall everything while being under stress from being forced to preform. Just food for thought.
×