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

#341
AGS Games in Production / Re: Tardigrades ©
Mon 03/06/2019 18:55:34
I would also like to add that the game is not spoiled for people like me who don't watch the show (and also the ones who watch the show but can accept your game as an original work).

I wish you all the best regarding the lawsuit and the development of the game!
#342
In the room_FirstLoad() event of room 3 set a variable, e.g. bool room3_visited = true;

Then in room_AfterFadeIn() of room 1 make a condition like this:

Code: ags
if (room3_visited && player.PreviousRoom == 4) 
  //display message


If the message should appear in room 4, before the player enters room 1, then just use if (room3_visited) //display message before player.ChangeRoom();
#343
Why not just increase some variable everytime the hotspot is searched, if you already have an event for that? Do you really need to count the number of times a key has been pressed?
#344
You may save some work if you do this:

Code: ags

int i;

if (day==false) 
{
  for (i = 0; i < Room.ObjectCount; i++)
    object[i].Tint(10, 10, 200, 70, 40);
}
else 
{
  for (i = 0; i < Room.ObjectCount; i++)
    object[i].RemoveTint();
}

#345
Yes, this looks quite interesting! I'll try out the demo soon.
#346
Cute first game  :)

I'd prefered a faster walking speed and that there'd be no talk-to cursor (which makes the cycling more tedious than necessary).
#347
You can switch between characters using Character.SetAsPlayer(). If they're supposed to walk together use Character.FollowCharacter.
#348
Comrades,

Don't be too hard on Jack. I won't adress her directly because her insecurity in its lowest form expresses itself in seeing „white knighting“ and „cultural marxism“ everywhere. Her delusional belief system even goes as far as stating that a gender applied to you is something „natural“ and comes with your sex while a self imposed gender and pronoun are crazy soviet shenanigans. Jack just wants to speak up against the protected classes on their high horses before it's too late and thus must mandate that others have to believe in it.

In all seriousness though:

I'm glad that the AGS forums are still among the few rather nice places in the net where right-wing conspiracies and hatred (being defended by referring to „freedom of speech“) are not welcomed and don't go unchallenged.

The misogyny, especially as it expresses itself in the internet â€" from hateful comments to all the death threats - is disgusting. Defending all the despicable thoughts and behavior as freedom of speech is a poor disguise. Whining about censorship while spreading the hatred and even turning around the truth by playing the victim is as pathetic as it is common behavior nowadays. Many men babble about being treated unfair while all they really want is to protect their privilege to treat women (and many other people) like shit without having to fear consequences.*

Really, the misogyny is breath-taking.


*This is sometimes described as „These days you are not allowed to say anything that might hurt the feelings of any one“. These are some really hard times...

Edit: Phew! A lot of new comments. Mine may not be up to date ;)
#349
Just set Character.Loop = x and the character changes the loop within the current view.
#350
I'm still curious about this problem and how it got solved  ???
#351
I'm not quite sure what the problem is and what you mean when you say the option box text should not show when the options appear. Or do you mean clicked?

Does the text in the option box appear when you click the dialog option, although you unticked Say? Or do you mean the display commands shouldn't show? Then why not delete them?
#352
I did this in a similar way, also visually disabling the arrow's pushed graphic:

EDIT: Now with proper indentation and comments:
Code: ags

// in rep-exe:

  // up-arrow is enabled
  if (InventoryWindow.TopItem > 0) 
  { 
    Inv_Arrow_Up.NormalGraphic = 145; 
    Inv_Arrow_Up.PushedGraphic = 146; 
  }
  // up-arrow is disabled
  else                             
  { 
    Inv_Arrow_Up.NormalGraphic = 144; 
    Inv_Arrow_Up.PushedGraphic = 144; 
  }
  
  // down-arrow is enabled
  if (InventoryWindow.ItemCount > InventoryWindow.TopItem + 6) 
  { 
    Inv_Arrow_Down.NormalGraphic = 148; 
    Inv_Arrow_Down.PushedGraphic = 149; 
  }
  // down-arrow is disabled
  else                                                         
  { 
    Inv_Arrow_Down.NormalGraphic = 147; 
    Inv_Arrow_Down.PushedGraphic = 147; 
  }


+ 6 is equivalent to + InventoryWindow.ItemsPerRow.
#353
You can use Character.Loop to change a character's loop  ;) You can copy and paste loops by right-clicking it. I don't think you can copy views though.
#354
Well, don't be lazy and don't forget the steps in your image editing process ;)

But as a note: If you don't change the filenames you can quickly re-import all the sprites at once using "import from source".
#355
Quote from: Olleh19 on Fri 22/02/2019 20:02:20
For example in my case, i had three different objects i think it was for the damn screen to turn on (not working but on), turn off (say something "ohh its off now)" and on (ohh now it works *goes onto login page*)".

That doesn't sound like you need three objects. Why not use one object and change it's sprite according to the screen's state? Or are you talking about the on/off-button? If it's just about what the player responds, one hotspot (or object or GUI) is enough, you just have to change what the player says (using a variable).
#356
Hm... I noticed that working with (different) idle views isn't very convinient, especially as can't just check if the player is being idle and for how long.

If I understand you right the three different idle views are supposed to happen one after the other. I tested around a bit and haven't been able to repeat the first idle views 3 times and then have the last one loop endlessly. But I came up with this. The problem is that you need to set the timer exactly so that it matches the time it takes to loop the idle views three times.

Create a global int called idle_timer = 200 (or how long it should take for the first idle view to begin). With normal gamespeed (40 fps), this would mean 5 seconds.
In my code the three idle views are 5,6,7.

Then put this in the global script:

Code: ags

// in game_start:
player.SetIdleView(-1, 0);

// in on_event: (create one if there is none)
function on_event(EventType event, int data) 
{
  // reset timer and view on every room change
  if (event == eEventEnterRoomBeforeFadein) {
    player.SetIdleView(-1, 0);
    idle_timer = 200;
  }
}

// in repeatedly_execute()
  if (idle_timer > 0)
  {
    idle_timer --;
    if (idle_timer == 0)
    {
      if (player.IdleView == -1) 
      {
        player.SetIdleView(5, 0);
        idle_timer = 200; // or how long idle view 5 should be played
      }
      else if (player.IdleView == 5)
      {
        player.SetIdleView(6, 0);
        idle_timer = 200; // or how long idle view 6 should be played
      }
      else if (player.IdleView == 6) player.SetIdleView(7, 0);
    }
  }
  
  // reset the idle view when the player is moving
  if (player.Moving)
  {
    player.SetIdleView(-1, 0);
  }

  // reset timer when the player stands still and no idle animation is running
  if (!player.Moving && !player.Animating && idle_timer == 0)
  {
    idle_timer = 200;
  }
#357
Just set a timer and when it's expired, set the idle view.

If it's supposed to happen in one room, set the timer in room_load. If there's supposed to be a delay everytime the player enters that room, set the idle view to -1 in room_load.
#358
I think in line 5 it's supposed to be bGreenDot.Y:

Code: ags

bGreenDot.X = mouse.x/75 + (BEnemy1.Width) /5;
bGreenDot.Y = mouse.y/75 + (BEnemy1.Width) /5;

#359
You're right Snarky. I just tested it and it worked just fine  ;)
#360
You can only access objects like that in a room's script, not in global. Edit: The problem must be something else.

This should work too btw:

Code: ags
if (GetLocationType(mouse.x, mouse.y) == eLocationObject) Mouse.UseModeGraphic(2);


But, as Danvzare stated in your other thread, you don't need to script anything. Just use the cursor's Animate property.
SMF spam blocked by CleanTalk