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

#81
Hello! Is It possible to use Game.DoOnceOnly more than once in Repeatedly Execute? I could not figure out what I was doing wrong with the script below, there was a (Global) variable check and when it was correct, nothing happened. So eventually I removed the latter DoOnceOnly and made a variable for it instead and now everything works.

But I'm not certain that was the root of what fixed it. To elaborate, when testing it, if I set the game up to execute the first command (the first DoOnceOnly below), first- then everything worked. However if I approached the game play to where the game executes the second instance of DoOnceOnly first, then it would not work, the character wouldn't speak etc.

To summarize if my problem is not related to DoOnceOnly, I am a bit lost. I've tried a few things like making the second command an If statement instead of Else If, playing around with variations of the same basic command for checking inventory, making a variable for when the player takes the inventory item I need to check and checking the variable both with and instead of the inventory item and finally I can't use Room First Load because this needs to take place after the first visit.

Anyway I had said up top I found a work around for this, and I did however I have swappable player characters and sometimes they split up so I'm going to need figure out why this isn't working for the near future :) thank you for any advice!

Room Script
Code: ags
function room_RepExec()
{
    if (player == cEgo1 && Game.DoOnceOnly("Split Up"))
  {
    Wait(20);
    cEgo2.Say("Words.");
    cEgo1.SetAsPlayer();
    cEgo2.ChangeRoom(20, 90, 150, eDirectionLeft);
  }  
   else if (player == cEgo2 && Game.DoOnceOnly("Gave Hat") && player.HasInventory(iHatGlow) == true)
  {
    cEgo2.Say("Words.");
    cEgo1.SetAsPlayer();
    Hathandoff = true;
  }
}
#82
Love Rellax (Thank you!). I have a question, I have one scene which for comedic timing requires very fast cuts, immediate back and fourth between two players trading off as SetAsPlayer. It works w the default/stock AGS settings but with Rellax it’s so smooth, the comedic timing is lost.

Is there a way to disable Rellax during a function/midway in a rooms script? It tried
Code: ags
Rellax.EnableSmoothCam = false;

But it doesn’t then use default AGS camera movement so it no longer targets/tracks the set player.

I also tried
Code: ags
Rellax.CameraLookAheadX = 100;

With various numerical values, the idea was to move it so fast to the newly set player that it would look like a quick cut. No luck though.

Finally I tried making a duplicate/identical room just for the part I need quick cuts and even with enablesmoothcam off at room load, AGS’s default camera movement isn’t kicking in.

So long short, is there a way, even if it’s with default/stock AGS camera commands, to have Rellax working in a room and then for one segment, have it “off” for quick camera cuts? Alternatively, instead of turning it off and using AGS commands, perhaps Rellax can do quick cuts with a setting?

Thank you for any tips!
#83
I will try that this evening, thank you!! :)

EDIT: That worked! Thank you and to anyone using 3.5(+) here’s the gSave.guf, gLoad.guf and ASS.scm files, converted for use in 3.5 (tested working in 3.5.27)

https://www.dropbox.com/s/q40w5i4jcrqibxd/AGS_ASS_module.zip?dl=0
#84
I’m getting a strange error saying the GUI scripts require a newer version of AGS and I’m on 3.5.27...

Does anyone know what I might be able to do? :)
#85
Ah hidden in plain sight. Thank you Khris! I need to curb my tendency to look for overly specific solutions and recall what works for all.
I appreciate you mate!
#86
I need to remove the option to talk to a character after talking to the character once. So basically I don’t want the player to able to talk to the character again after their dialog has been run.

I had used option-off-forever but as I’m sure you know that just causes a crash when you try to talk to the character a second time. I’d like it so if you try to talk a second time the game returns nothing, no dialog, no message etc.

Thank you for any help, I couldn’t find anything on disabling dialog after it’s been run but my apologies if this has been covered :)
#87
Update- I ended up just going w a GUI which in hindsight I should have just done right away! Anyway thanks, hope everyone is well :)
#88
Thank you! I suppose I should elaborate, I’d like the dialog-option font and the display font to be different. The font I want to use for display i’d actually not mind as the dialog/normal font however it doesn’t scale to less than 8 in size and due to its design it’s like 4 pixels too large for the built-in dialog choice gui (unless there’s a way to manually increase the height in which the screen is blacked out for text?).

So anyway sticking with the original question, I’m thinking setting Display to use speech font instead of normal font would be ideal if possible.

If it’s not and I can’t manually increase the size of the screen that dialog choices take up either, then I suppose I could perhaps use a custom GUI....
#89
Long story short, I’d like to use the game’s Speech font for when a message is said through the Display(); command.
Is there a way to change what font the display command uses?

I’m wondering if I could do something like this
Code: ags


//global script

FontType displayfont[];

void SetFont(?) {
  
}


As you can already tell, that’s a only a quater of a total shot in the dark. Thanks for any help!
#90
Thanks mate I had missed the name change info! I posted that because my game in progress (being made in 3.5 latest) didn’t work in the previous shell which is from the 3.4.4 build  (download posted on page 1 from someone’s google drive). I tried it as ac2game.dat, ac2.dat and game.ags. But it does work in the 3.5 build (the link I posted). So I mainly just posted that so that if anyone is working on a game in 3.5 and it won’t work in the old 3.4.4 wrapper, they can download my 3.5 wrapper and it should work :)
#91
Here’s a build from the 3.5 release, I tested my game which is being made in 3.5 (patch 7) and it works (OSX 10.15.7).
It seems it wants the .exe renamed to game.ags instead of ac2game.dat (or ac2.dat), but once you rename it just right/control click on AGS.app then put the files in Contents > Resources

https://www.dropbox.com/s/u4bewlhouh2muqt/AGS%203.5%20Mac.zip?dl=0
#92
Thank you so so much Arj0n and Wizard, you are amazing. It’s quite a community here thanks to mates like you both.

Arj0n, thank you so much for the code, it works wonderfully (of course)! Really kind of you to take time out of your day and write that all out :)

Wizard, thank you so much as well- I’ll keep all that close to mind going forward, I’m sure I’ll need it again soon! In fact the next puzzle slash ‘thing I haven’t done yet’ is an inventory combining puzzle (with 5 different items) and I’m sure I’ll need to keep track of where everything is, so thanks again that will really be of help to know.
#93
I’ve searched for a long while on the forums and in the manual as I’m sure this is covered somewhere but alas, I can’t find anything or figure it out!

So I need to use two inventory items on one hotspot to make a fire.

Use matches with hotspot
Use lighter fluid w hotspot
Hotspot becomes visible and animates

I don’t want to combine the items if I can avoid it. So how do I add an inventory item to a hotspot, take the inventory item away w LoseInventory and then when the second item is used, tell AGS to go ahead and make the hotspot (fire) visible?

Also I don’t need the player to use one item before the other, either the matches or fluid can be used first.

The roadblock I’m hitting in my ideas and similar issues that I did see posted is regarding hasinventory. Because I’d like the inventory item to be gone after one use, checking the inventory status doesn’t help since the player could have already say, used the fluid (on the hotspot) and therefore won’t have the fluid on them anymore.

Thank you so much for any help. Here is the code I used that for several reasons will not work, using activeinventory and not hasinventory, not combining them if this was the route I wanted (it’s not) and so on. I guess I just wanted to show I’m trying and to give whoever reads this an idea of what’s happening. Thank you :)
Code: ags
 
function hFirepit_UseInv()
//This very obviously wont work unless I have the player combine them which i'm trying to avoid
{
  if (cEgo1.ActiveInventory == iFluid && cEgo1.ActiveInventory == iMatches)
  {
    cEgo1.Say("Alight let's make a fire!");
    cEgo1.FaceDirection(eDirectionUp);
    oFire.Visible = true;
    oFire.SetView(VFIRE);
    oFire.Animate(0, 4, eRepeat, eNoBlock, eForwards);
  }
  else if (cEgo1.ActiveInventory == iFluid)
  {
    cEgo1.Say("I still need something to ignite it with.");
  }
  else if (cEgo1.ActiveInventory == iMatches)
  {
    cEgo1.Say("I'm going to need something to help start the fire. The wood is too damp.");
  }
}
#94
In case a google search landed you here, if you’ve extracted a Sierra SCI font and changing .fon to .ttf doesn’t work and changing “1807.fon” to “font.1807” (for example) doesn’t work then simply use Radients awesome program FontEdit. Load the .fon file and it’ll save as the AGS font format .wfn and it’ll work :)

FontEdit - https://www.adventuregamestudio.co.uk/forums/index.php?topic=23521.0
#95
Thank you so very much Crimson, I truly appreciate the time you take to help all of us noobs. Your advice and tips have helped me countless times- from the advice you just gave me to the dozens of times you and Khris have replied to others in threads that have helped me. I appreciate you mate! Also my apologies for the delay in responding, I had a rather unfortunate ear infection I was dealing with.

I’ll take your advice and just try different approaches to ending and starting days, it is certainly nice to have options :) And thank you for the example code on inventory, that makes it clear and easy to understand how to handle things as I’m just beginning my second day or case or scene (whatever!).

Thanks again mate, cheers
#96
Apologies, I’m looking for ideas or tips from anyone who has perhaps done something similar in that they had a game that took place in different days (like Gabriel Knight 1) or took place in on a case by case basis and how they handled ending a day. Right now I’m thinking a cutscene room with text could do the job but I suppose a question I have is should I transition to that cutscene from the final sequence (the code I posted) and then from the cutscene script, transition to the new room/day?

If I were to do it that way that raises another question in how would I assign inventory items from the first day that I want them to start the next day with? Example would be in Day 1 the character acquires say a battery, a jar and a pen. On Day 2 I’d like them to start with just the pen. The catch being I don’t want them to start Day 1 with the pen (so player starts with object would be false) because they have to find it in Day 1.

Thanks for any advice:)
#97
What’s the best way to handle changing a room without having the character(s) exit the room?

My game takes place primarily in single room “days” or levels or cases etc. At the end of a day there’s a small sequence once the final puzzle is solved (see example script) and I’m looking for tips on how I should go about achieving a nice fade out and fade in to the next day or case, once that sequence is completed. Note that at least 2 characters will need to go into the new room together (there’s two main characters).

Thank you for any advice!

Code: ags


function hWall_UseInv()
{
  if (cEgo1.ActiveInventory == iChalk && oGlitterFire.Visible) 
 {
    cEgo1.Walk(211, 172, eBlock, eWalkableAreas);
    cEgo1.LockViewFrame(VEGO1CHALK, 0, 0);
    Wait(40);
    oGlitterFire.Visible = true;
    Wait(40);
    cEgo1.UnlockView(eStopMoving);
    Wait(40);
    cEgo1.Walk(140, 172, eBlock, eWalkableAreas);
    Wait(40);
    cGhost1.SetAsPlayer();
    Wait(80);
    cGhost1.Say("Dialogue.");
    cEgo2.Say("Dialogue.");
    cGhost1.Say("Dialogue.");
    cEgo2.FaceCharacter(cEgo1);
    cGhost1.Walk(190, 172, eBlock, eAnywhere);
    cGhost1.LockViewFrame(VGHOST1BACK, 0, 0);
    Wait(40);
    cGhost1.Transparency = 50;
    Wait(20);
    cGhost1.Transparency = 100;
    oChalkwall.SetView(VCHALKWALL);
    oChalkwall.Animate(0, 3, eOnce, eBlock, eForwards);
    oChalkwall.Transparency = 100;
    oGlitterFire.Visible = false;
    cEgo1.FaceCharacter(cGirl1);
    Wait(40);
    //cEgo1.ChangeRoom(2, 200, 160, eDirectionRight);
    //cEgo2.ChangeRoom(2, 205, 160, eDirectionLeft);
   }
  
  else cEgo1.Say("Dialogue.");
  
  }


#98
It's been a while and I'm late to the party- does anyone have a working link for the DOTT font? So much thanks if so:)
#99
Engine Development / Re: AGS engine iOS port
Sat 08/10/2016 18:42:42
Also you do not need to have a jailbroken device however if you don't, you'll need to purchase a IPA installer such as iPastore or (preferably) Zeusmos. There are alternatives to those as well with a quick Google search but I recommend one of the two.
#100
Engine Development / Re: AGS engine iOS port
Sat 08/10/2016 18:40:40
Send me a PM with your email address and I'll send you an unsigned IPA of AGS 3.3.0. It works with most games on every device I've tried (iPhone 6+, iPad Pro etc- not sure about iPhone 7). It doesn't seem to work however with large games such as Primordia, Shardlight and Kathy Rain- the prior two I can confirm do work on Android. Also I don't want to violate any rules here or disrespect Janet and Dave so let me know if this is a no-no! Finally and as always please use a Purchased copy of the game to support our wonderful community:)
SMF spam blocked by CleanTalk