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

#41
Wow, thanks Khris. That's amazing how you can churn out these formulas like that.  :-D
#42
Well, maybe you can help me figure out this one module in particular. If so, I *might* be able to fix the rest of it.
Most of them I have figured out how to get working, but the Scroll Room module is giving me tons of errors. It seems like a silly thing to be stuck on, but I really need it for my outdoor rooms in order to give it an "unlimited space" feel. Definitely not the smoothest solution, but it works. I'm sure there must be a simple way to do the same thing-in fact I read something yesterday about using eNextscreentransitioninstant-but I'm not sure how to do it.
The first error message I get involved AGS_MAX_CHARACTERS, which I know is obsolete now, and I know I found a workaround before, but I forget now what I did. And then I get more error messages after that, but a lot of it is outdated terms being used.

We honestly should update some of these modules for the newer versions and re-release them for other beginners. I bet there are a lot of people out there who would appreciate it. It would probably prevent a lot of future frustration and maybe ignite some more interest in the editor. Most of the modules just give you error messages when you try to download them now. I'm sure that's off-putting to anybody who's new to using AGS and doesn't know how to script.

It's sad when you look back on the games and memories you cherished growing up and get a bunch of error messages every time you try to relive them. That's been happening to me a lot now when ever I try to share one of my old games with my son. Especially a lot of the things available from third party developers, it's just gone now. I always thought technology would make it possible for us to archive our legacies for future generations forever. But it turns out things decay in cyberspace just like everywhere else. I'm surprised nobody took the time to try to preserve these things they worked so hard on. //nostalgic rant
#43
Well, there are a few reasons. For one thing, all the modules I am using were written for 2.72 or earlier, and it's a real pain trying to get them to work with AGS 3. Some of them I can't get to work at all, and I'm not skilled enough to know how to code an alternative. I'm also a lot more familiar with 2.72, since that's what I used back when I was... I can't believe it's been this long, but back when I was 13. I get confused a lot because I can't find things where I think they should be. It's just causing me so much extra work between those two problems that I just decided I might as well just use the old version. At least for this part, anyway. I already started it in AGS 3, but I'm planning on making several "episodes" and adding more content as I go. I'm not sure, I might end up using version 4 the most once I get the hang of it, for all I know.  :tongue:
#44
I am revamping my combat system in my RPG. I am using the Pixel Perfect Collision module, and I currently have it rigged so that when an enemy touches the player, they receive damage. What I want is for the player to have to attack the enemy before they touch them. I have them equip a sword and use it on the enemy to attack, but I want it so that they have to get close enough before they can use it-but not close enough for them to touch the enemy, thus incurring damage. Just within range so they can swing the sword and hit the target. How do I script this? (P.S. Right now I'm using AGS 2.72)
#45
Absolutely. I love the 80's feel. A Twin Peaks game would be weird. Sounds interesting.
Lol, the Futurama is spot on.
Anyways, sounds cool. If you decide to take this project on, best of luck to you  8-)
#46
Ok, let me try playing again later today and I'll try to clarify some points.  :-D
#47
Interesting idea. Personally I've always thought remaking old classic adventure games that are IMO perfect in their own way as they are seems like a waste of time, especially when you could make something original, or even a sequel, but to each their own. AI is a very interesting tool and it could be a used for a lot of different applications. For me, making games is just a hobby that I like to dabble in that inspires me to get better at art while I'm studying to be a tattoo artist, so it would kind of defeat the purpose for me. But I'll admit at times I've been very tempted to just type something in to an AI generator and get instant results, lol.

Anyway, I think a project based on this could be really cool, whatever it is you decide to make with it.
#48
Thanks, I'll try that out.
One more thing: How do I get the cursor to change when it's over a button?
#49
Quote from: Khris on Mon 15/07/2024 15:03:16So to get this straight:

- When the room in entered, you randomly set Greed to 1, 2 or 3.
- Next you start dialogs that reduce Greed by 1 multiple times
- But when Greed goes down to 0, you're not getting the line about the demon being defeated?

The first thing you need to check is that your room_RepExec is linked to the room event*, since unlike on_event, it actually needs to be linked or AGS will simply ignore it.

In the long run however you should use a function to reduce the variable which then also checks if it reached 0, because this check doesn't have to run 40 times per second. A related issue with your current code is that if you fix it, AGS will now keep displaying the message, leaving you unable to do anything else.

(* if this turns out to be the issue here, we need to think of a way to clarify and really emphasize this mechanism in the manual, given how often it still stumps beginners)

Duh!  (roll)
Wow, sorry, that was dumb of me. I guess I just was so used to doing everything in Global Script that I didn't think about having to link it in the room editor... nor the fact that it'd run indefinitely. I need more sleep.
Oh well. Thanks for being patient with me and helping me work out all the many bugs in my script.
I fixed it now, I used DoOnceOnly, and it works fine. I was also a little bit unsure of what function to put it under, do you think there is a better function I could put the check in?
I think the reduction itself would have to be triggered by the dialog script somehow to make the battle work as intended, but if there's a less clunky way to do this that I'm overlooking, that would certainly make things simpler...
#50
Thank you... I fixed that. Unfortunately, it's still not working! And my friend is getting very upset at me for spending all day coding when I said I'd help clean today. I thought it'd be a simple fix  (laugh)
Life...

EDIT:
Also changed the repeatedly execute function... still didn't solve the problem
Code: ags
 // room script file

function on_event(int event, int data)
{
    if (event == eEventEnterRoomBeforeFadein)
    {
        aCantrell_manic_dance.Play();
        int ran=Random(2);
 if (ran==0) { Greed++; cAngel2.ChangeRoom(5); }
 if (ran==1) { Greed += 2; Demon2.ChangeRoom(5); }
 if (ran==2) { Greed += 3; cDemon.ChangeRoom(5); }
    }
}

function room_RepExec()
{ if (Greed == 0)  {
    cAngel2.ChangeRoom (1); cEgo.ChangeRoom (1); cDemon.ChangeRoom (1);  Display("The demon has been defeated!"); 
} 
} 
#51
Quote from: Khris on Mon 15/07/2024 10:04:31If you declare a variable in the room script, it only exists in that room.
Since the dialog line that reduces Fear doesn't throw an error, my guess is you declared Fear twice. Which means you're working with two separate variables which just happen to have the same name.

To create an actual global variable, either use the global variables pane, or export/import it.
That is exactly what I already figured. The only problem is I already tested it and took out the line where I declare it (I already added it to the global pane), but it didn't change anything.  :-\
EDIT: Yep, just tested it again with another variable to make sure it wasn't just being wonky because I defined it in the room, and it still doesn't work for some reason.

Updated code:
Code: ags
// room script file

function on_event(int event, int data)
{
    if (event == eEventEnterRoomBeforeFadein)
    {
        aCantrell_manic_dance.Play();
        int ran=Random(2);
if (ran==0) cAngel2.ChangeRoom(5); Greed++;
if (ran==1) cEgo.ChangeRoom(5);  Greed += 2;
if (ran==2) cDemon.ChangeRoom(5); Greed += 3;
    }
}

function repeatedly_execute()
{ if (Greed == 0)

  {
    cAngel2.ChangeRoom (1); cEgo.ChangeRoom (1); cDemon.ChangeRoom (1);  Display("The demon has been defeated!"); 
} 
}

Code: ags
// Dialog script file
@S  // Dialog startup entry point
Angel: &2 "And the earth was without form, and void; and darkness was upon the face of the deep. And the Spirit of God moved upon the face of the waters."
    Display("The demon writhes in agony!"); 
    GiveScore(1);
    bGenesis1V2.Visible = true; 
    Greed--;
stop
#52
Hello,
So I'm working on making an RPG-like style game in AGS, and I'm done (hopefully) with almost all the tricky parts of coding, but I have one last snag left that is overwhelming me.

I'm trying to write the battle system, which is a little bit unconventional. Instead of Health or Stamina or any of the typical stats you find in most RPGs, the characters have either Vices or Virtues. There are 30 of each, with 30 that correspond to it on the enemy team-for instance, Greed/Charity, Fear/Faith, etc.

To defeat your opponent, you need to enter specific verses or spells into the text parser. Each time one is entered, it decreases the relevant Vice or Virtue by 1. Each character has a specific number of each Vice or Virtue, and once it hits 0 the character dies. So, for instance, if you encounter a Demon with a value of 4 Fear and 3 Greed, you need to recite 4 verses about having Faith and 3 verses about having Charity to defeat it.

Anyway, I thought I figured it out, but the script is not doing anything when I trigger the 3 dialog scripts. What am I doing wrong?

Code: ags
// room script file
int Fear;

function on_event(int event, int data)
{
    if (event == eEventEnterRoomBeforeFadein)
    {
        aCantrell_manic_dance.Play();
        int ran=Random(2);
if (ran==0) cAngel2.ChangeRoom(5); Fear += 1;
if (ran==1) cEgo.ChangeRoom(5); Fear += 2;
if (ran==2) cDemon.ChangeRoom(5); Fear += 3;
    }
}

function repeatedly_execute()
{ if (Fear == 0)

  {
    cAngel2.ChangeRoom (1); cEgo.ChangeRoom (1); cDemon.ChangeRoom (1);  Display("The demon has been defeated!"); 
} 
}

And the dialog script:
Code: ags
// Dialog script file
@S  // Dialog startup entry point
Angel: &1 "In the Beginning, God created the Heaven and the Earth."
    Display("The demon writhes in agony!"); 
    GiveScore(1);
    bGenesis1V1.Visible = true; 
    Fear -= 1;
stop
(plus 3 other scripts like it)

Also, how do I get my cursor to animate or change when it's over a button, and not just over hotspots? I can't find the answer anywhere.

Thank you.
#53
Wow, this is so cool! I love the idea of a Lovecraftian AGS game, and it's so awesome that you made an RPG with AGS, as that's what I've been trying to do. Really good job! Love the feel.

A few suggestions:
Maybe it's just me, but I found it a little bit confusing in some places.
1. When you are choosing your character and you are picking supplies, it would be good to know roughly how much of each item you should aim for, and knowing when you'll be given a chance to get more items and how you can acquire more points would be handy.
2. Once I used up all my points and I was .5 points over the limit, it no longer told me how much each item cost by hovering over it, it just said 0 points, which made it difficult to figure out which item I should put back.
3. I couldn't figure out how the battle worked? Also, saying "press the LMB" took me a second to realize you meant left mouse button. :P And even though I pressed it, it didn't do anything-then I realized, second time around, that I needed to buy ammo, which was a little unclear the first time. Maybe I'm just unfamiliar with these kinds of games. But perhaps you should give a confirmation message before the game starts if the player didn't buy all the equipment they will likely need, like, "You didn't pack enough ammo/ropes/etc. Are you sure you want to continue?" I see the warning message at the top, but it's easy to overlook the details if you -think- you got everything.
4. Both times around (though I was on limited time and sort of rushed through playing) I didn't figure out how to buy rope?
5. A couple times, I reached an obstacle (landslide or abyss) and said "go back", but I got across anyway. The first time my character was able to just get around it by walking on the wall surrounding the tile, and the second time I pushed go back, my character automatically crossed instead.

Overall though, really amazing work! I'll play a little more once I have some spare time. :) Looking forward to seeing the end result. 
#54
Like a chatbot in AGS. That's cool, I was thinking about implementing something like this in my game in the future, and I thought I'd do what Khris said, just program the chatbot separately and then link it up with the game.
Anyway, I'm working on a similar project where I have to input massive amounts of text, so keep me up to date on how you're making progress. I'd like to see what you come up with.
#55
Thanks for the help!

Still working out the best way to go about doing this... Gosh, I've been feeling foggy lately.  ???
But I've made a little progress.  8-) I'll let you know when I have more questions.... Much obliged
#56
Hello,
I am working on an RPG where you have to exorcise or summon demons using a memorized scripture or incantation.
I am using the Text Parser template as the base for my game. The idea being that the player has to type in the required verses to make the character say them, which causes damage to the demon.
The problem I am having is; the text parser is only one line long, and the verses are often much longer than what will fit in the box.
I redesigned the parser GUI to be much bigger, and adjusted the font size, and changed the resolution of my game, but there still isn't enough space in the box for some of the longer verses to fit, unless I shrink the font way too small to read comfortably.
And as I understand it, there's no way to make a line break in the parser without submitting the entry. There was a LineBreak module, but the link is broken.
Is there a way around this, or do I just have to work with what I have?

I would prefer there to be a way to type out a full paragraph, instead of a single line. If it were possible, it would be nice to be able to type out the verse and have the character say it as it's being typed... but I'm just thinking of ways to make the text fit. I wonder if there was a way to make the font shrink as I type more? So it is legible unless I start running out of room?
Anyway, I am sure I will have more questions as I go. I am a newbie at this.  :-D
Your input is much appreciated.

EDIT: I think I solved the problem, by painstakingly downloading free fonts until I found one that would fit into the text parser better without losing legibility. However, I would still like to hear any suggestions anyone may have about how they'd go about implementing this general idea. Thanks
SMF spam blocked by CleanTalk