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 - stryker

#1
Hi all.
Here's the new "Opensource Discworld-like Interface System" version. Now it's almost identical to the original Disworld system.

Here's some features that costed me hours of hard work! (new version's ones come first):

- The Mighty Resizable Inventory Screen System
- Objects names label optimized (now it appears upon objects)
- Inventory items disappear from inventory when "picked up" by the pointer, and reappear when dropped back (really nice feature that gives you the impression you are really picking the item from your pokets)
- Dragging inventory
- Events are now non-blocking: player can stop the interacion to perform another one even if  the character is already walking to the hotspot, just like in DW and Lucas adventures (it was hard to script, but it worth the work: it gives the player the impression he has much more control on the character

Read the txt file inside the .rar to learn how to add items interaction and objects labels.

Hope this helps.

(i'm going on vacantion for a week in Amsterdam, so I'll reply from next saturday on)


http://riccardofarina.altervista.org/altro/ODIS1.2.rar

(right-click and save as)
#2
Hi!
I used to write on these forum long time ago, when I was developing Opensource Discworld Interaction System (ODIS, maybe someone remembers it). Now i'm back and i'm working on a new version, even more similar to the original Discworld system.
I'm very glad SetGUIObjectSize has been added to ags, because it is indispensable to crate a resizable inventory like the one in Discworld.
The problem is: it doesn't work for the inventory windows.
I mean, i wrote all the code to do a resizable inventory GUI (that includes may gui objects, like the inventory itself, the status bar etc), and it works fine. The other objects in the GUI resizes as well, so you can se, just like in the normal windows in Windows (heh), the GUI itself changing size as you drag the bottom-right corner, and the various object in it following the resize. TheÃ,  only object that wont resize is the inventory.
To be more specific: the inventory resizes, but the inv objects in it stays in the same position, they don't reposition to fit the new inventory size, so the resize is totally futile. Even if you resize the inventory to be very small, you can still see all the inv objects, just you can't click the ones out of the inventory.

So, is there a way to resize the inventory AND make the inv objects in it "recognize" the new size?

I'll past the code I used (even I'm pretty sure it is not a code error).


Ã,  if (resize == 1) {
Ã,  Ã,  SetGUISize(INVENTORYA,mouse.x-guix,mouse.y-guiy);
Ã,  Ã,  SetGUISize(INVENTORYB,mouse.x-guix,mouse.y-guiy);
Ã,  Ã,  SetGUIObjectPosition(INVENTORYA,2,mouse.x-guix+10,mouse.y-guiy+10);
Ã,  Ã,  SetGUIObjectSize(INVENTORYA,0,mouse.x-guix+2,17);
Ã,  Ã,  SetGUIObjectSize(INVENTORYA,1,mouse.x-guix+15,mouse.x-guix+15);
Ã,  Ã,  }


resize == 1 is when the handle in the bottom-right corner is pressed
guix and guiy are the coordinates for the top left corner of the GUI
obj 0 is the status bar
obj 1 is the inventory
obj 2 is the bottom-right handle


Thankyou and sorry for the crappy english


ps: RefreshInventory doesn't slove it.
#3
I'm working on the next version of Opensource Discworld Interface System (version 1.1 aviable on announcements forum). There are some things that can't be done because of the lack of some AGS commands. Of course a lot of the following features could be useless for the others, so just check which ones can be useful for everybody and let me know if you're going to add them on the next ags version.

- SetGUIObjectSize (with the recent SetGUISize I added the resizabile inventory window like the one in DW, but without the ObjectSize command is useless, because inventory itself remains the same size)
- GetInvItemPic (there is a Set, but not a Get. This one is to make the active inventory pic transparent and get the original sprite to be used as cursor, like in DW. It gives the feel you really take the object from the inv and carry it on the cursor)

The following ones are not commands, so I don't think their implementation will worth the work, but i'm posting them anyway (who knows?):
- multiple inventory support (a single player can have many inventories with different obects for each one. This would be cool i.e. if a player has a trunk or something where he can keep all the things he doesn't want to carry around)
- foreground GUI click event (treat the border lines (and maybe 2 or 3 pixels around them to make the click of a single-pixel line not so annoying) like a GUI object, so it's triggered by the GetGUIObjectAt command)

that's all, I think.

The biggest problem (but I don't thik this will never be sloved) it's to make the object names label appearing upon every obect, and not mouse following or blocked in a specified location of the screen. But I can't think a way to emulate this on AGS engine (if anyone has suggestion, just post!)

thanks
#4
Advanced Technical Forum / Font editor?
Wed 10/09/2003 20:53:27
I downloaded SCI studio but it's nearly impossible to use. It crashes very very often when I use the font editing feature.

Is there any other program to make my own sci fonts?
#5
I don't know if this belongs here, but i just finished a new version of my interaction system. This looks much closer to the discworld one. Some new stuff added in this version:

- Left/right/double click world interaction optimized (now identical to DW)
- Left/right/double click inventory interaction optimized (now identical to DW)
- Dragging inventory optimized (that was hard!)
- on_event ADD_INVENTORY script added: new items are automatically set active like in DW
- Dialog system added (to be optimized: it's Lucas-style)
- Mouse cursor disappears while talking/animating just like in DW
- Events are now non-blocking: player can stop the interacion to perform another one even if  the character is already walking to the hotspot, just like in DW and Lucas adventures
- Characters interactions are handled non-standard style: player charatcer doesn't
 automatically walk to characters before start interaction
- Random messages on look player character, just like in DW

Hope this is helpful, I think this (the discworld one) is one of the most user-friendly and easy-to-learn interfaces ever made.
I'm pretty proud of the "non blocking" action stuff because gives the feel of more control on the character. And I'm proud of the advanced dragging too, because of my lacks in mathematic/scripting skills; this is a great achievement for me (just look at the code to see why :).

http://helcaraxe.altervista.org/ODIS1.1.zip
right-click and save as

if the above doesn't work:
http://www.eleycis.zapto.org/repository/guis/ODIS1.1.zip
thanks moresco for hosting!
#6
Hints & Tips / Pleurghburg: dark ages
Thu 28/08/2003 22:45:33
I'm stuk! It's the 3rd night, and I'm in the park, in front of the house on the isle (now with the lights turned on). The FBI guy is in the hospital, the panther is gone, I made a spyglass with lenses and the card pipe, but now I'm really stuck because I can't find a way to fix the spyglass (on the rock I think). I checked in the general store and in evry room of the game but I really can't find anything!

thanx!
#7
Let's suppose I set a global var to 1 in AGS editor, let's say I call it "box open" because it turns 1 when a box is opened by player.
Now I have to run a SCRIPT (not a normal interaction with conditional) that does something if global var is 0, and something else if it's 1.

My question is: how to handle conditionals in script? How can I put in the code "if box open is 1 then do this"? I tried with:
if (box open == 1)
but it doesn't work. It doesn't work too if I use
if (1 == 1)
(box open is the global var n. 1). I also tried:
if (GetGlobalInt(1)==1)
but it doesn't work as well.

It can be done? How?

thanx


oh and another question that doesn't concern the topic: there is no "display speech" command in the list in ags editor interactions. is that right? that's strange.
#8
I don't mean the multi-inventory support (I don think it's possibile with the actual version of AGS), but the way you can take items from inventory.
In discworld when you pick an item from inventory to use it, the inventory just disappears and appears only on the cursor.
I attempted to simulate this stuff on my interaction system, but I don't know even if it's possibile.
I attempted two eays, and both are laking somewhere:

1) the more simple. set active inventory the item i just clicked, and delete it from inventory, hoping that it remains on the cursor. it is not: the active inventory MUST be an item you have in the inventory (maybe it should be changed on the next version of AGS?)

2) the more complex: change the image of item i picked to a "trasparent" one, and change it back when you put it back in the inventory, but this way doesn'to work too. The image on the cursor will change too and you will have an invisible cursor.

Any idea?

thanx
#9
Beginners' Technical Questions / GUI order
Sun 10/08/2003 22:29:44
Maybe it's a stupid question, but is there any way to change the GUI order after they had been created?
I noticed that newest GUIS (with higher number) are displayed OVER oldest ones in the game, so che GUI order is VERY important. Sadly, i noticed too there is no way to change the GUI order (make GUI1 to be GUI3 and so on) without manually change and re-do the GUIs.
Am i right?
Is the thing scheduled for the future?
#10
Hi all,
for many reasons i had to turn on the "handle inventory clicks in scripts" options, to make more customizable invenotry events.
Everything works fine BUT the MODE_USEINV thing. For now (it's only a test, to find out how the hell that USEINV works) i made the rightclick call the MODE_LOOK (and it works), and the leftclick call the MODE_USEINV, but it doesn't work. when the inventory pops up the mouse is already in USEINV (4) mode, but when i leftclick on an inventory objects it does nothing: the pointer keeps look like an hand, and doesn't pick up the object from the inventory.

this is the code in on_mouse_click:

else if (button==RIGHTINV) RunInventoryInteraction(game.inv_activated,1);
     
 else if (button==LEFTINV) RunInventoryInteraction(game.inv_activated,MODE_USEINV);


what i'm missing?

thankyou

(sorry for my english)
#11
Hi all, i'm trying to make a diskworld-like interface (double-click event, inv pop up, inv dragging, and all). This stuff is very difficult to me (i just started some days ago, i'm not very scripting-skilled), so i want to be certain that there are no other similar projects around to download to skip that huge work.

thankyou
SMF spam blocked by CleanTalk