Menu

Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Show posts Menu

Topics - monkey0506

#201
Timer v3.01

Due to a recent suggestion by Snarky, I decided to go ahead and update this module, for the first time in six years! Also, the old download links are all dead anyway. So what's new in v3.0? The timers are now completely OO, which means no more mucking about with everything being called on the Timer class.

Code: ags
// room script
Timer tBomb;

function oFuse_Useinv()
{
  if (player.ActiveInventory == iMatch) tBomb.Set(5.0, eTimerSeconds);
}

function room_RepExec()
{
  if (tBomb.IsExpired())
  {
    oBomb.Animate(10, 5); // bomb explosion animation
  }
}


How does it work? Magic, that's how!

Download v3.01

09 August 2013 I've updated this to v3.01, which changes a few things. The first parameter to Timer.Set is now a float to allow setting partial seconds, and there is an optional RoundDirection parameter (following the optional TimerUnit parameter). To pass an integer you can now call Timer.SetInt, or just use IntToFloat. I've added methods Timer.Pause and Timer.UnPause to allow temporarily pausing a timer, and the property Timer.IsPaused to check the current pause state. I've added properties Timer.RunWhileGamePaused and Timer.RunWhileBlocking to give greater control over when the timers are updated (set per instance, defaults are false and true respectively). Finally, Timer.Count was returning the wrong value, so I fixed that bug.

v3.0 Download

Timer v2.01

In making the demo for my Flashlight module, I realized that the way I was storing the timer names was highly susceptible to collision, and that these collisions would result in crashes. This version is merely a fix for this issue.

I've also included a Timer.IsNameValid function for checking timer names for validity. Timer names cannot contain the strings "//TimerStart", "//TimerEnd", nor can they be null or empty Strings. Timer.Set will reject invalid names.

Download Timer v2.01
Read the Timer manual online

Timer v2.0

Now you can create as many timers as you want (:P)! I could have worked this out before, but I was just being lazy, and thinking it through the wrong way. I've rethought this entire module, and I've even completely rewritten it from scratch.

As always, feel free to let me know if you find any issues, or just if you have any comments or questions!

~monkey~

Timer v1.0
I wrote another module. This one basically just gives the user more timers to work with (100 by default). Except that the user can also control whether the timer is updated only while rep_ex is running or while rep_ex_always is running, the timers can be temporarily paused, and you can give the timers names. My original idea was way cooler but it would never work. So...

Mirror v1.0 Thanks Neole!
#202
I've just noticed that you can't compare a null String to anything other than null. Trying to compare them to other Strings (null or non-null; left or right side of the comparison operands) generates a null pointer reference error. I'm not really sure if this is a bug or just me being stupid... :-\

Anyway...if it's at all possible it would be nice if we could compare null Strings to other Strings...
#203
Wouldn't it be nice if we had some way of finding out what the volume was at any given point?
#204
Based on scripts by khnum, the AGSMuse module is designed to emulate the iMuse effect within AGS.

Not entirely sure what iMuse does, I can't guarantee any form of authenticity here, I'm just taking khnum at his word. Basically the module just fades out any currently playing music, and fades in a new track (at the same MIDI/MP3/OGG position or MOD/XM pattern).

The module should support MIDI, MOD, MP3, OGG, and XM sound, though it was only actually tested with MIDI and MP3.

AGS v2.71 or higher is required!

Download the module (Copy and paste!)
Mirror Thanks Neole!
Read the AGSMuse manual online
#205
The RoomInv module has brought up an interesting idea regarding objects. Would it be possible to make (and would anyone find it useful if there was) a DynamicObject type that could be used to create objects dynamically?

My idea for this would be that these objects could be created and linked to any room (perhaps even changing rooms), with all the normal attributes of an Object. These objects wouldn't occupy any of the 20 objects currently allowed per room, and the user would have to remove them manually before exiting the game (much the same as DynamicSprites).

I understand this raises some issues, which is why I ask, would the value of this suggestion's implementation paired with any support outweigh the complications of implementing it?
#206
The RoomInv module emulates your character's inventory functionality for rooms themselves. You can drop off an item into a room, leave, and then come back for it later! You can even optionally use a Character to emulate an "object" in the room so the player can see the dropped items within the room itself.

Requires AGS v3.0.1 or higher!

Download
Mirror on Brinkster (load http://www27.brinkster.com/meleepta/ first)

Archived Versions
Mirror v2.0 Thanks Candle!
Mirror v1.0 Thanks Neole!
#207
General Discussion / RAM vs CPU
Thu 19/10/2006 05:55:50
Okay I feel somewhat silly asking this, but I want serious answers. I've been trying to convince my stepdad that we need to upgrade our computer (custom built) for a while now, primarily focusing on the RAM because we only have an embarassing 512 MB.

However these last few days our CPU seems to have been getting overloaded a lot. The computer has been freezing...a lot more than usual...and when pulling up the dreaded "Windows Task Manager" it shows that our CPU is being used at 100% of its capacity.

Our CPU is a 2.4 GHz Intel Celeron, and like I said, we have 512 MB of RAM. So the question is this: Which should be upgraded first? I realize that everything the computer does has to be passed through the CPU, but it seems to me that upgrading the RAM would help take some of the pull off the CPU itself. To be perfectly honest I know a lot more about software than I do hardware...and we've all seen how much I know about software ;)

Another thing that needs to be upgraded is our graphics card as apparently ATI's All-In-Wonder RADEON card isn't compatible with pretty much any game ever made ever...but that's a different story.
#208
I dunno if this is really a good idea or not, but the idea (literally) just occurred to me, that perhaps if there was some type of version checking available to the autocomplete parser, we could create functions that would only autocomplete based on whether a certain version of AGS (or higher) was being used.

Now clearly it wouldn't be backwards compatible, but I think there could be uses for it in the future. For example, it could be used in correlation with the #ifver directive. Depending on how AGS continues to evolve, it could help to provide more backward-compatible autocompletion of certain user-created functions.

My idea was something like $AUTOCOMPLETEIGNORE$, $AUTOCOMPLETESTATICONLY$, $AUTOCOMPLETENOINHERIT$, etc., etc. and all those other autocomplete settings.

For the current and even the next version of AGS it wouldn't really bear much relevance...but like I said...we've got to think about the future.

Lol. Thanks for reading my ramblings.

[EDIT:]

Hmm...I actually realized that I kept going on about this in the 2.72 beta thread and Chris said that perhaps autocomplete could be made to pick up on the #ifver directives, but it wasn't high priority.

Still...I'd like to see something happen with the autocomplete. I know there's a lot of stuff that probably more important to some people...but I'd just really like this. :D

Anyway, maybe we can get a tracker entry going? Please? Thanks ;)
#209


Okay, at this point I'm only asking about one thing. The shoe. You can feel free to comment on anything else, but this is part of a larger project I'm working on (not dreadfully larger...I'm just coloring in a few images I've drawn). This is my first time to really take the time to try and do something like this (coloring a pencil'd image properly), so please try not to be too harsh.

I'm asking specifically about the shoe because...I'm not sure if it fits. I mean...I really want him to have Converses (which in case you couldn't tell is supposed to be the type of shoe he's wearing), but that's not what I originally drew (I'm pretty crap with shoes...they always come out big and cartoony and clowny...). In the end what I did for this shoe was I actually found an image on Google, shrank it down, and traced over it for the outline. And now it doesn't seem like it fits into the image.

It could just be the fact that I know he didn't originally have Converses and that I didn't actually draw the shoe, but that's why I'm asking.

As for the black outline around his arms, he's supposed to be wearing a fishnet-mesh sort of shirt underneath his other shirt...but I'm not really sure how to work that out. Anybody with any comments/ideas/paintovers is welcome to help.

Thanks as always for any comments. Oh...and also I have this one that includes the girl (but no shoe for the guy):



I'm pretty much done with her for now...so you can pick her apart however you'd like. ;)

Also...I feel that perhaps the difference in the eyes makes it seem like they aren't supposed to be in the same style/theme...really they aren't. They were drawn as separate entities, but I'm combining them together for their similarities...not their differences. Of course there could be some chance that they look similar enough that I'm just being silly.
#210
I just checked my email...and I got a wonderful letter:
yu_yu80@bk.ru to me    Hide options     2:24 pm (1 hour ago)
From: yu_yu80@bk.ru <yu_yu80@bk.ru>   
Reply-To: zayka_80@bk.ru
To: monkey.05.06@gmail.com
Date: Sep 29, 2006 2:24 PM
Subject: Hello
Reply | Reply to all | Forward | Print | Add sender to Contacts list | Delete this message |
Report phishing | Show original | Message text garbled?

Hi!!!

How are you? My name is Yuliya. I am 26 years old. I live in
Russia, city Yoshkar-Ola. I am cheerful woman, and like to do many things
as sport, camping, go to the cinema, theatre etc. In a word I like to do
all what like all people. I work in marketing structure on sale of cosmetics.
My dream this travel abroad. I know the english language well enough..
I began to study english language approximately one year ago.
I wish tell to you history which have pushed me write to
you. 8 months ago I have got acquainted with the man from other country by
name Kevin. During this time we had good relations. We have understood
that our relations become serious and we have decided to meet in his country.
I wrote the application for reception the visa.
I waited reception of the visa approximately half of year. All time I kept in
touch with Kevin through the internet and often called to each other. I
and Kevin waited reception of the visa to our meeting. I have received
the invitation from the ambassador for reception of the visa.
My director has given me long-term holiday from work and I have gone to
Moscow to receive the visa. I informed good news to Kevin, but he has
answered, that does not want our meeting.
He played with me. He has informed that has the wife with
two children and at all has no plans to meet me. I was not ready to such
turn of events. I could not think what even after 8 months of
acquaintance he can so unscrupulously act with me. Now I am in Moscow
trip to Moscow and reception of visa. I do not want that all was gone
for nothing and will be glad if my visa will be useful to our meeting.
I could arrive already through 4-5 days, but a problem in that that
now I have no man which would like my arrival. Probable it will silly
sound but if you will be interested in a meeting with the good woman I
shall like to meet you sometime soon! As Kevin was dishonest with me I
have decided to find the man which is interested to meet the woman from
Russia. I do not know your ideas about my letter, but it would be fine
if we could meet and have some weeks or months together. On my trip I want to
receive rest from my work and a life in Russia. Also the basic purpose
for the future it is search good men for serious attitudes which go to a
marriage. I have no children, but I want to have children in the future.
I am the mature woman and ready to creation of family with good man. I
do not know what you really search in the future but if we could meet I
shall be happy to discuss with you more about our meeting. What are you
going to do this time? It would be fine if we could meet, do
friendship or more than simply friendship. I shall be happy if you also
have a free time and we could meet soon. I do not know your interests,
but anyhow write to me back and I shall tell to you more about myself.
Write to me all that you want. Maybe we have similar plans and it will
be interesting to us together.

You can write all that you want. Ask any questions which interest you.
Write to me back and I shall tell more about myself and send more my
photos.

Please, write to me back on my regular e-mail: yu_yu80@bk.ru
Have a good day,

Yuliya
I don't know anyone from Russia. I live in Texas, USA. How I'm expected to take this seriously...I don't really know. To me it sounds like your run-of-the-mill scam-in-the-making. I say, sure, come on over, and so she says she needs money? I don't know. I just have a hard time not laughing at this.

I also noticed that the Reply-to address isn't the one the message was sent from. That also struck me as a bit odd.

In any case...it made me smile. :=
#211
Okay, I'm working with textual overlays (again)...and I've noticed some interesting behavior. Overlays with low width parameters (I actually only tested it (by accident) with 0 and (on purpose) 1) seem to take some sort of internally-defined default width. I can't seem to find anything mentioning this, though it is interesting...what exactly is the width that this defaults to?
#212
I tried to make the subject as insightful as possible as for what it is I'm asking, which is basically...how (if possible) can one determine when the interactions invoked by ProcessClick (also InventoryItem.RunInteraction as InventoryItems are ignored by ProcessClick) are finished executing? ProcessClick (at least in my trials appears to) returns immediately leaving me no way to know when it's really done.

So...anyone have any ideas?

Really what I'm looking to do is this:

Code: ags
// summa-sorta pseudo code!
lblVerbbar.TextColor = 13; // highlight color
if (button == eMouseLeftInv) inventory[game.inv_activated].RunInteraction(mouse.Mode);
else ProcessClick(mouse.Mode);
lblVerbbar.TextColor = 31055; // normal color


Except...as I said...ProcessClick returns immediately, so the label color is restored as soon as...well...as soon as now. Which isn't what I want. But it wouldn't really be reasonable to...well...try adding the color change to the end of every interaction. o.0

Thanks for any info.
#213
I've been looking at unhandled_event, and I think it could use some reworking. Basically, I think it would work best if unhandled_event was defined like this:

Code: ags
function unhandled_event(LocationType type, CursorMode mode)


That way the user could use any cursor mode for any unhandled interaction (presumably it would never be called for modes such as eModePointer and eModeWait, but it would be called for Cursor mode 8, 9, 10, etc.). Of course this brings up the point that nothing and inventory items would be indiscernible from each other...which is why I'd also like to suggest that a value (eLocationInventory(Item)) be added to the LocationType enumeration. Game.GetLocationName returns the name of InventoryItems, so I think it would be reasonable for GetLocationType to discern between nothing and InventoryItems.

Thanks.
#214
Okay, I know there's already a few of these out there, but I've been working on this for a while, and well...I'm ready to unleash it upon you (although there are a few minor problems, it's nothing big enough to crash the game or anything like that).

I call it the MonkeyTemplate. It's a module. It's a template. It's based on the CD-version of the enhanced SCUMM GUI for The Secret of Monkey Island. And I made it.

Download the template
Download the module by itself

If you download the module by itself, you will also need the following:

Download the MonkeyTemplate GUIs (exported GUI file) OR Download the MonkeyTemplate GUIs (exported GUE files)
Download the Properties v2.0 module
Download the ScrollingDialog v1.21 module (no longer required as of 0.82 (though still included in the template))
These are all already included into the template.

Also, the module requires the cursor modes to be set to specific values. These can be found in the MonkeyTemplate Manual. The cursor modes are already set in the template.

Known issues:

- There should be an option to disable the mouse during the background speech. Easy to implement, but not worth reuploading everything (again o.0) and having to change the post and technically it would mean that I should update version info and stuff...and...It'll be in the next version :=
- There are some graphical issues to speak of. Such as, Guybrush's speech views could use a bit of work as they don't look right (in fact, the side views aren't right at all).

Known bugs:

- The label bar doesn't highlight correctly during handled interactions.
- Keypresses aren't allowed during character speech (AGS standard).

Fixed as of v0.83

Okay...I think that's everything.

[EDIT:]

Forgot...this requires AGS 2.72 or higher.

14 September 2006 - Update to v0.82:

Removed MonkeyTemplate.InteractionAvailable and renamed MonkeyTemplate.InteractionAvailableAtXY, added MonkeyTemplate.MouseMode, removed "Interaction*Available" properties, it is now handled internally. Fixed bug with MonkeyTemplate.SetDefaultInteraction not working correctly for objects in other rooms. Player is now placed on walkable area upon entering a room. The template now contains proper sprites for the Guybrush character. Removed dependency on ScrollingDialog module (though it is still included in the template). And corrected the entry under Caveats which said cursor 4 had to be named "UseGiveInv" (it should be "UseGivInv" as "UseGiveInv" is too long).

19 September 2006

I have a bad habit of doing this. I release a module, and then that just gives me the incentive to work on it fixing things so it gets to the point I'm releasing a new version every day...lol. Version 0.83 is up now...it fixes the label not highlighting properly, and I've implemented a MonkeyTemplate.Say function for background speech with animation (so keypresses / mouseclicks are allowed). So...why is this version 0.83 instead of 1.0 then? Well...so far I've been the only one to test this version...and there's still some minor graphical issues in the template. Also, I'd like to implement the win room into the template at some point. Well, I guess that's all for now then.
#215
It's been around since...as long as I can remember, it's hidden from the autocomplete, and it's not documented, however all over the forums it's been said you can use Character.on to (un)hide a character (by setting it to 1 or 0).

I was just curious...in my pseudo-insomniac state...why hasn't this ever been implemented into a Character.Visible property? I assume, based on the fact it's hidden and undocumented, that it's used internally by AGS, but if we're telling people it's safe to use it, wouldn't these both serve the same end-purpose?

Well...that's all really. Thanks.
#216
I have a problem. On my GUI there is a two pixel gap between each item, however, if I set InvWindow.ItemWidth to the appropriate width (38 pixels), the items are displayed out of the grid and actually touching each other. If I set InvWindow.ItemWidth to 40 then the item actually shows up as being two pixels wider than it should be (i.e., the status bar registers the item while the cursor is over the gap (which should be nothing)).

So...if there was some sort of InvWindow.ColumnSpacing property, I could easily just set that. And of course there would need to be an InvWindow.RowSpacing property too.

But...as soon as this stuff gets done in the oven I'm off to bed...
#218
I've been working on designing a logo for my band...okay so my band is me and a couple of friends that don't play any instruments...but...hell...I write songs and I sing...so...screw you. :P

Hehehe...anyway...we'd like to start a band, and we have a name, a drum set, and a singer/songwriter, but that's about all we have. Except I've been working on this logo. I know it needs some more work, but I figured I'd post it here to see what you all think:



(Thank goodness for ImageShack ;) --My webhost seems to have deleted my account ahead of schedule :'(--)

Anyway, before you go clicking that I should warn you that the full-size image is 1004x1296 pixels, so don't go loading it unless your internet connection can handle it :)

I know that the top-right corner, the edge of the rose is crap but that's easy enough to fix.

But any C&C is welcome. Some things I'd specificially like to note include that the rose image in the background was hijacked from here to which I quickly applied a poor hue/saturation adjustment, however if we pretend that it looks stylized and that it was therefore on purpose we'd all be much happier 8); "Ashes" looks somewhat to be made of stone or some such. I was attempting ash, but my original plan to make it "dust-in-the-wind" style ashes fell through when I realized I had no idea how to achieve that effect, and neither did Google. Also it appears to be glowing a lot; and, finally, the black outline doesn't match up properly everywhere, specifically where the 'f' loops around the 'A', but the method I used was a lot nicer than trying to pixel in a proper one by hand.

So....with all that said...what do you think?
#219
There's been a couple of situations where I have wanted to set a Button to use it's PushedGraphic when it isn't actually pushed, so to achieve this I have to store the NormalGraphic, set the NormalGraphic to the PushedGraphic, and then set the NormalGraphic back when I'm done with it.

Okay, it's not exactly difficult to work around, it would just be easier if we had something like Button.UseGraphic(int slot) and Button.UseDefaultGraphic().
#220
Okay, I noticed while browsing the forums that:

1) I have a post count listed on each of my posts and,
2) That post count is "leet"

I can only assume based on my l337haxx1ng sk1llz that this means I have one thousand, three hundred, and thirty-seven posts.

But this...is just a tad bit odd I thought. That screenshot is 100% completely unedited. And I have "leet" posts. Seems a bit off-key for the AGS forums, but, what the heck. :=

[EDIT:]

And I now have 1338 posts...almost makes me want to delete this just to make it come back. :D....almost.
SMF spam blocked by CleanTalk