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

Moonpearl

Member
  • Content Count

    495
  • Joined

  • Last visited

  • Days Won

    17

Everything posted by Moonpearl

  1. We can't answer your question because, as your describe your problem, it's not a matter of what code you wrote (proof is, it works), but where you put it. Most probably you've put it in some refresh method, which is good, but you have to tell your scene to call this method in order to refresh the window's contents (the point to the refresh method is to be not called on each and every frame, in order to avoid slowdowns). Check if you call this method properly on the appropriate occasion. Note: your Rect should be (0, 0, 24, 24), you'll miss the top row and leftmost column of the picture otherwise.
  2. Well, at least you can make a replacement. Set up a parallel event which tests if your player is moving, if so, have the program choose a random number between 1 and 30 (or whatever value) and check if it's 1. If so, make another random number and choose a monster to battle according to that new number.
  3. In love with the dynamic lighting I scripted.

    1. kellessdee

      kellessdee

      make a vid, I'd love to see it in action.

    2. kellessdee
    3. Moonpearl

      Moonpearl

      I'd love to but I can't get a single softawre to video capture my screen properly (without heavy lag or otherwise extremely poor quality). You'll see it in my next project demo (hopefully coming soon).

  4. Here's an untested try from the top of my head. # ID of the game switch holding whether to disable game over SW_DISABLE_GAMEOVER = 2 # ID of the game switch holding whether game over has just been bypassed SW_GAMEOVER = 3 class Scene_Gameover class << self alias old_new new def new(*args) if $game_switches[sW_DISABLE_GAMEOVER] $game_switches[sW_GAMEOVER] = true return Scene_Map.new end return old_new(*args) end end end If everything goes according to plan, you just have to set the switch #2 (change number in the script if you wish) as "Disable gameover" and set it to ON whenever you wish to avoid gameover, OFF otherwise. Whenever gameover is bypassed that way, it returns to the map instead and sets the switch #3 (change number in the script if you wish) to ON, so you just have to set a common event as "Autorun", activating on switch #3 (don't forget to set that switch back to OFF inside said common event). Tell me if it works properly/satisfies your needs.
  5. People don't get how their stupidity may hurt others.

    1. Jon Bon

      Jon Bon

      Agreed, where, who what? You make such vague statements, without even giving a non specific example. Your comments can actually be potentially hurtful, making people think they are doing things they are not. Making a statement such as this without giving an example doesn't teach anyone anything, and there for isn't beneficial to anyone. I think your statement describes itself.

    2. Marked

      Marked

      A bit harsh there jon lol sometimes in frustration we just wana make vague statements so, even though no one really knows the details, we've told someone.

       

      From my point of view statues are supposed to be useless anyway. I plan to remove them from the main page to curb discussion outside of topics, in the hope of increasing discussion.

    3. Jon Bon

      Jon Bon

      I agree I thought the same thing afterwards. But I stand by it, I know he's smarter than that, and think the comment was equally hurtful as helpful. I agree kinda. Keep status updates, remove commenting to them, re-add wall comments.

    4. Show next comments  36 more
  6. Some people amaze me with how creative they can be in doing useless stuff.

    1. Jon Bon

      Jon Bon

      Heh, can we get an example?

  7. Well, that's an interesting case of female roleplaying versus male roleplaying. Not trying to sound sexist (on the contrary since I have a preference for the female style myself) but I've noticed that women are much more diplomatic than men in RPGs - when presented with a problem to solve, men will try anything with what they have at hand, while women will seek assistance. Not trying to say women can't do anything without help, but rather that men are somewhat autistic. More seriously, this difference of style also shows very much in the game master's choices. Male GM tend to present their player much more with fights and puzzles, not necessarily the "thug" type, but the type you can potentially solve alone. On the other hand, female GM will rather introduce social problems, where the key is really to work as a team or gain NPCs' trust. So I can easily imagine how your sister was feeling somewhat out of place in such a full of testosterone scenario, and tried something inappropriate in the eyes of the GM (though reasoning kobolds actually seems a bit extreme, I as a GM would be glad if I had players who try to pass monsters with something different than brute force for once). Absolutely, another piece of fine parody if you ask me. How have you been blunt? Maybe I replied inadequately, but I'm honestly glad to be told I speak good English in regards of France's dramatic level. And I'm the one saying France's level is dramatic. It kinda angers me when people around me tell me I'm so odd to even like English, whereas they're the ones who have a problem. That's another reason, by the way, why I'm perfectly okay with having an untranslated blog in English - that will force some to make an effort, it's for their own good.
  8. Un boulet dans le groupe! (A Drag in the Party!) This one tells the story of a witch who gets all members from her party killed one after another out of clumsiness. Another reccurring situation from table top RPGs, pushed to the extreme.
  9. Well, math is tricky because looks are deceiving. When it looks easy, it's often complicated in actuality, and vice-versa. What gets people stuck on such a problem is not its intrinsic difficulty, but rather, that they freak out and persuade themselves they can't do it before even trying. If you set aside the fact that this equation rearrangement looks difficult and try to solve it as though it was 2x + 3 = 5, it's actually very easy (technically speaking it's middle school level - not to offend anyone, I mean everyone gets stuck on simple problems, it's well known that humans create their own difficulties sometimes). And giving some math teaching in real life serves me well I guess.
  10. RMXP's graphic engine has awfully poor performances... At least it forces me to optimize my scripts to the fullest.

    1. Bigace360

      Bigace360

      Talking about everything moving slow, then yes

  11. It was my pleasure to share it with you. :) Yes it is, thanks for the comment. It feels especially nice since French people suck at anything related to foreign languages. Guys from French game-making communities come crying to me because my blog's in English and they can't read it. Also, the other day, my pupils were frightened to see me read The Hunger Games in original version, they thought I was going on a bad trip or something. One of them told me "woah, you're crazy", I answered "nope, I'm bilingual, that's a different type of illness".
  12. I was listening to that song the other day and thought I might share it with you guys since it's in French and you probably don't know about it. History Those songs were written by John Lang (aka Pen Of Chaos) and sometimes friends of his who form the Naheulband. The idea originated from Pen Of Chaos's "Le donjon de Naheulbeuk" (Naheulbeuk's Dungeon), an audio webseries which is a parody of classical table top RPGs such as Dungeons & Dragons. Now it's somewhat part of the French RPG folklore. Since Pen Of Chaos is also a musician, he wrote a couple of songs which often mix traditional themes with funny lyrics. La compagnie du chien rugissant (The Company of the Roaring Dog) This songs deals with a wide-spread cliché for uninspired RPGs game masters - the mysterious-looking cloaked man who comes to meet the characters inside an inn to offer them a quest. In this song, the characters get carried away and kill the quest provider because his offer wasn't interesting enough. It is sung on the Scarborough Fair traditional theme. [media]http://www.youtube.com/watch?v=0KvVikD__XI[/media] Here are the lyrics, translated by myself.
  13. Goooot it! Just to say, I've never done math in English, so I'll be using the words that seem appropriate to me, I hope it all makes sense. Base expression r(s) = r(0) + D/E * ( r(0) - r(D) ) * (1 - t© ) First distribute (D/E) over ( r(0) - r(D) ) r(s) = r(0) + ( D/E * r(0) - D/E * r(D) ) * (1 - t© ) Then distribute (1 - t© ) over ( D/E * r(0) - D/E * r(D) ) r(s) = r(0) + D/E * r(0) * (1 - t© ) - D/E * r(D) * (1 - t© ) Then factorize by r(0) r(s) = r(0) * (1 + D/E * (1 - t© ) ) - D/E * r(D) * (1 - t© ) Add D/E * r(D) * (1 - t© ) to both sides r(s) + D/E * r(D) * (1 - t© ) = r(0) * (1 + D/E * (1 - t© ) ) Divide both sides by (1 + D/E * (1 - t© ) ) (r(s) + D/E * r(D) * (1 - t© ) ) / (1 + D/E * (1 - t© ) ) = r(0) This is your goal expression (even though it's much less readable, but you can trust me on this one). Feed me with more equations anytime.
  14. Basically, what interests us is achieved by writing the following: class Stuff class << self alias old_new new def new(*args) # Do stuff, then return the result of the original method, that is the new object to be created old_new(*args) end end end What this does is define the 'new' method of the class (rather than an hypothetical 'new' method for the objects which belong to this class). More generally, this code: class Stuff class << self def method # Do stuff end end end Allows to make the following call: Stuff.method That is, you're calling the method directly from the class, no need to create an instance of it. Furthermore, the following: object = Stuff.new object.method Would result in a 'no method' error, because 'method' is defined for the Stuff class itself, not its instances. Does that make any sense at all?
  15. Well, I have some sort of an aesthetical concern when programming - I like getting what I'm aiming at in the most simple, economical way there can be. Making loads of copy/paste from the base engine just to modify a few lines did not sound right, so I tried and find an alternative solution to that. Besides, I like making things that fit anywhere, and frequent compatibility issues with external scripts (of which authors are not always as concerned as I am with external compatibility) encourage me to always try harder and harder to avoid them. I'm an artist at heart, more than an engineer. Most programmers don't care how they did if the result is achieved, but as far as i'm concerned, what thrills me is not getting things to work, but getting things to work in an elegant and smart way.
  16. Well, an application of metaprogramming is exactly what I explained above to both you and Kell. Metaprogramming is basically programming the programming language, i.e. you take core features from the programming language and mess with them. For instance, each class's 'new' method is meant to create a new object of this class, but you may redefine it to have the class do something else instead (or in addition). A simple example is a skip title script (mine works on this very idea) - instead of modifying what's around the Scene_Title class (that is, wherever Scene_Title#new is invoked), you modify the Scene_Title#new method instead, having it check whether this is the very first scene to be called, and if so, return a new Scene_Map object instead of a Scene_Title object. Aside from showing off your knowledge of Ruby, the benefit you draw from this technique is that you may somehow manipulate objects' behavior before they were even created, without altering anything in the rest of the program. This is especially useful for custom scripting in RPG Maker because scripters do not necessarily communicate with each other and it's not uncommon to find scripts that are incompatible because either of them rewrites a part of the other. By doing what I did with the ACMS, for instance, you highly minimize this risk because you do not need rewrite the part where objects call each others - in other words, you don't alter the caller, only the called one. I hope this helps clarify things a little, it's kinda hard to explain.
  17. It's true that using metaprogramming is not mandatory if you're at your own CMS and wish to do everything "from scratch". The reason I did this is because I wanted my ACMS to only reshape the menus graphically speaking. All scenes actually still work on their base code, meaning you can use a modified version of a menu scene along with the ACMS with no need to modify the latter. To achieve this, since I couldn't make any modifications to the way scenes work, and thus how they call each others, I had to work out a way to pass some code to the current scene whenever a new one was called. If you want to see how I managed this, please download the ACMS's script bundle from my blog and take a look at the Scene_Menu_Super and Scene_Menu_Base entries. I'll be glad to post some details if needed, but for now I think i have to go to sleep...
  18. I only had a single contact with Kiriashi. He sent me an e-mail with heartily appreciation, which made me join this community, and also encouraged me to come back to game development after a long time off. If it wasn't for him, I wouldn't be there and most of my works would still lie dormant in a corner of my mind. I guess he didn't even have the chance to read my reply... Farewell Kiriashi, I hope you're at peace, wherever you might be.
  19. What you're asking for is especially tricky. I managed to do it with my Animated CMS, but it took my every metaprogramming skills to achieve this. The problem is that, when you changes menus, you're calling for a different scene, automatically "activating" the new menu and thus trashing the previous one. Well then, what you would want to do is have the current scene continue and execute some code before the new scene takes its place. What I did roughly is bypass the 'new' method, which is supposed to make the target menu, and have it do stuff before actually making it. If you're interested, I'm okay to share the technique, but as I told you, you have to know this isn't for the faint-hearted.
  20. When asked examples of use for his script, that guy keeps on replying it's up to us to figure out. WTF?

    1. Polraudio

      Polraudio

      I know exactly what you mean. Normally i give up. Some people just cant be helped.

    2. Moonpearl

      Moonpearl

      I get your point, but isn't that the oddest behavior, posting a script and insisting on how much useless it is and stating it was shared just in case it might interest someone?

    3. kellessdee

      kellessdee

      Writing a script that you can't give an example of usage, is odd (well, I can't imagine writing code without reason; even if it's simply a feasibility study it has reason). Sharing because it had a use (to the writer) in case someone else may find it useful (even if it's not really), not so much. Sharing is caring!

    4. Show next comments  36 more
  21. A priori it's not a problem with Minkoff's animated battlers system since it does only change the way things are displayed. The battle itself is still processed by the default scripts, unless you use a custom battle system.
  22. Well, one of the two characters does display properly, so obviously the script is working, you just have bad settings. Search in the constants for something like "battler display as character", you should find the ID of the character that displays the way you want there.
  23. Oh, I see what you mean kell. Yes, the Script Manager itself (that is, the program) is searched inside the shared folder - which allows to avoid making copies, and makes only a single .RB file to replace whenever an update is available). But the Script Manager will in turn look inside both the shared folder and the project's Scripts folder. This loader is meant to just load the Script Manager and let it handle everything.
  24. As I just said, you need to change the path constant inside the loader, from RGSS's default installation path to yours, and it should work just fine.
  25. Oh, is this about the Script Manager then? Well you're not quite right kellessdee, it does look into both the shared folder and the project's Scripts folder. You can try and remove all scripts you use from the shared folder and put them into the project's Scripts folder instead and see for yourself. Actually, what it does is that, when loading a shared bundle, it also looks in the project's Scripts folder in order to find hypothetical alternate versions of the files that are to be loaded, and loads them instead. So, in short, it loads both folders the exact same way, only the project's scripts take precedence over the shared ones. So if I understand correctly, your edit essentially does nothing more. The actual true weakness of the current Script Manager, in my opinion, is that it assumes the RTP path to be the default one, instead of looking in the registry to find the actual path - and now I think of it, it might be the issue Heretic ran into. Well then, I thought it was not a big deal since one can easily change the path constant from the default loader. Guess I'll have to take a shot at that.
×
×
  • Create New...