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

Messages - Crimson Wizard

#13521
I had Views with 19 loops  :) and it did not crash.
#13522
I honestly can't guess what may be wrong in your code... anyway, that is the code I used in my own game a while ago (and it worked perfectly):

Code: ags

oWave1.X = oWave1.X + 1;
if (oWave1.X == 0) oWave1.X = -76;


NOTE: initial position of oWave was -2.
So, it go from -2 to 0, then to -76 and from -76 to 0 and then repeated last move forever.
#13523
Quote from: BubbleMonkey on Thu 08/04/2010 23:10:17
I tried searching for Directx9 on my computer, and it said something about "Windows Aero". I changed the theme to Windows 7 Basic, but I don't think that did anything. The game still runs as slowly as it did before. What exactly is Direct-draw? Do I have to download it or something?

Erm... DirectDraw is a graphic library that Windows uses since Win95. Windows Vista has DirectDraw 10, Win7 should have DD 11 (as far as I know). It is certainly already installed on your computer with Windows.

What Danman meant, try to change graphic driver option in AGS game setup. Initially DirectDraw 5 is set. Try setting Direct3D 9.

Important note though, that older AGS games may not have this setting (not sure... well, honestly I don't know how old game must be).

QuoteI chose 320X200 because it said it was the fastest
I guess you may ignore that line about "fastest". I always set at least x2 or even x3 scaling and it plays good for me. At least, I doubt it may be cause of your problem.
#13524
From what youve said I understood that you want to have 2 type of fonts - smaller fonts and larger fonts (in case player have difficulties to read).
So, you can create 2 types of fonts: small and large ones, based on same font.

I don't see why you can't do this, for the result would be the same as if that option was switchable in game.
#13525
Quote from: Gepard on Thu 08/04/2010 14:49:58
Wow! That is pretty handy. I replaced all I could with these pointers and I will replace the enemyx too. However, I need to use the pointers in room scripts too. How can I import them in script header?
Not sure what you mean... Did you make them global?
You can import/export pointers as well as other variables.
#13526
Quote from: Dualnames on Thu 08/04/2010 02:16:38
Crimson: With all the respect 7 days a skeptic interface felt rather too much.

Ah, I forgot to mention, that it would be better if verb list was context-sensitive.
Anyway, it is the interface I am now trying in my own project, "Open Eyes" (context-sensitive verb menu opened by left click (left-click - since characters cannot walk in my game ;))). We'll see if people like it.
#13527
Yeah, remember, parametrization (look up in the PM I wrote you some time ago  ;)).

By the way, I believe that if you'll follow Khris's suggestion, you can also use
e1.x instead of enemyx.

Don't limit yourself to only these changes, seek for more things you can simplify this way.

Oh, yes, and - if maximal enemies number is 2, then using two separate pointers is OK. However, if you consider using multiple enemies in battle, maybe it would be easier to create an enemies array:
Code: ags

Character * enemies[MAX_ENEMIES]; // static array

or
Code: ags

Character * enemies[]; // dynamic array
#13528
Unless I got something wrong... yes, you can change the font right in game.

Game.NormalFont = eAnotherNormalFont;
Game.SpeechFont = eAnotherSpeechFont;

etc.

HINT: You can also use this in multi-language games. I used this once in English/Russian version of Awakener (switched fonts at game start depending on chosen language).
#13529
I think it is not the amount of verbs, but the implementation that may either favor or annoy.
For example, I always hated classic Sierra interface, because it sometimes required lots of verb switching while character found himself in various dangerous situations. I hated Lucas Arts multi-verb interface much less, because usually you had enough time to choose verbs there.

Speaking of favorites, I like 2 types of interfaces:
1. Two button interface already mentioned above - left button interacts/right button examines. It's fast to use and easy to get used to. Good for games with simple interactions.
2. The interface introduced in 7 Days a Skeptic (and maybe in some other games which I simply don't remember) where you click on the object and a verbs GUI opens, which also contains your inventory. In fact, I believe that is the best multiverb solution I ever saw. It allows more complicated puzzles than 2 buttons interface, while is much more convenient and flexible than classic Sierra and Lucas Arts ones; and it does not require to click'n'hold mouse button like LA Verb GUI a la MI3.

That's my opinion.
#13530
Quote from: ProgZmax on Thu 08/04/2010 00:55:14
Edit:  Could you upload to a site that is English and doesn't require you to install any suspect addons to download a file?  Mediafire will do in a pinch.
While I completely agree with the point, I must note (since I have a knowledge of that nuisance) that you are not oblidged to install that. You can unclick the checkbox under download link, if I remember correctly (but yeah, still something annoying).
#13531
Well, I guess that unhandled even can be caused by mouse-clicking on something?
In which case you can do standart GetAtScreenXY for Hotspot, Object and Character.
#13532
Pleeeease, add zoom in slider to GUI editor, pleeeeease. I am half-blind from this goddamn computer already, and I have to bring my face close to monitor when aligning tiny controls for low-res games. Pleeeeease, I will be nagging until you implement this, oh Chris Jones.  :P
#13533
I guess you can write a generic handling in on_mouse_click event. Ofcourse actual implementation depends on how your global script looks like, do you like adding more functions to be called from mouse_click function, etc, but anyway here's a simple example:


Code: ags

function on_mouse_click(MouseButton button)
{

......
 if (button == eMouseLeftInv)
 {
   if (GetGlobalInt(60)>0) {
     int charsell = ItemOwner();
     InventoryItem * iItem = InventoryItem.GetAtScreenXY(mouse.x, mouse.y);
 
       if (ItemOwner()==0) {
		player.LoseInventory (iItem);
		character[INV1].AddInventory (iItem);
	  value1 += iItem.GetProperty ("VALUE");
       }

       if (ItemOwner()==21) {
		character[INV1].LoseInventory (iItem);
		player.AddInventory (iItem);
	  value1 -= iItem.GetProperty ("VALUE");
       }

       if (ItemOwner()==22) {
		character[INV2].LoseInventory (iItem);
		character[INV3].AddInventory (iItem);
	  value2 -= iItem.GetProperty ("VALUE");
       }

       if (ItemOwner()==23) {
		character[INV3].LoseInventory (iItem);
		character[INV2].AddInventory (iItem);
	  value2 += iItem.GetProperty ("VALUE");
       }

   }
 }
......


}
#13534
It was difficult for me to consider which are his eyes at first glance :).
At first I decided that those blue/grey thingies are his eyes and brown thingies are brows. Then I thought that perhaps brown thingies are his eyes, and he's just smirking on something ;), in which case blue/grey thingies are some sort of... err... I dunno what...
#13535
Quote from: Mr. Matti on Tue 06/04/2010 15:47:02
Quote from: Crimson Wizard on Tue 06/04/2010 15:10:42
1. When inventory item is selected, check mouse coordinates and compare them with inventory window positions.

Hm, that's quite simple and would've worked for me too. Haven't thought of that.

Haha, actually I like your suggestion more, Mr. Matti ;) Looks more beautful code-wise.
#13536
I see two possibilities here.
1. When inventory item is selected, check mouse coordinates and compare them with inventory window positions.
2. Check which character owns selected item.

The second could work if all items are unique though... so I guess first variant is better in your case.
#13537
Quote from: Moldawsky on Tue 06/04/2010 13:48:42
One question about gif.
Can i use animated gif files for background?

PS
I tryed this, but animation is not playing. Maybe error or corrupted gif?
What you should understand, basically, it is not GIF that plays animation. It is program that plays animation, described in GIF. If and only if the program is able to play animation, it will play it. If there's no such possibility implemented in program, it will only show first frame of GIF.

Besides, AFAIK, when anything is imported in AGS, it becomes BMP. If it was animated GIF, all animation is discarded.

To answer your question about more advanced background animation - you can either draw new frames manually using DynamicSprites and DrawingSurfaces, as was mentioned above, or using a large Object or even Character, which covers all room; such object can have unlimited animation (manual states though that this may slow game down).
#13538
You can also make him start into non-existing Room 0 and teleport to current room when needed using cCharacter.ChangeRoom() function. In this case you won't need to set Clickable property on/off.
#13539
Quote from: Ben304 on Mon 05/04/2010 14:14:44
You do realize you can check the picture's properties and find that it is called "http://blacktreeuk.net/2d/dirty_harry.jpg" right?

:P
Cheater!
#13540
Quote from: Mark Borg on Mon 05/04/2010 13:58:56
haha...well the fact that no-one seems to know who this iconic cinema character and actor is means a the picture is a big Fail! I couldnt make is Magnum .44 any bigger without it looking silly LOL
Magnum .44? So, it is Clint Eastwood? "Dirty Harry", no?  ::) but it was my first guess.
SMF spam blocked by CleanTalk