Announcement

Collapse
No announcement yet.

new to Quake Mapping, Have a question

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • new to Quake Mapping, Have a question

    I created a cliff and my player flew off the side but didn't die...health went to 25%. I have noticed on some boards that the player will die instantly or over the course of some time...

    I know there is a feature with the lava etc where you can set the hurt rate to 100 and such

    My brother said that I should be able to set an instant kill flag or something, I found a flag tab and it is a bunch of check boxes and I have not seen anything like that in those tabs.

    Anyway, just thought I would ask...

    EARP

  • #2
    Well, I have used tigger_hurt
    I want the player to fall to the ground though then die when he hits the ground, not always right away....

    Comment


    • #3
      Figured it out but my player isn't animated like it usually is, body parts flying all over the place from being destroyed...

      Comment


      • #4
        set damage on the trigger_hurt really high, like 200 or a million. What you described you want is a gib. In order to gib the player...I forget how it goes but make it give a lot of damage at once and it will work.

        You could probably also get rid of the trigger and make the cliff higher. I can't remember if fall damage is exponential. You should find that out before you make the cliff higher. If fall damage is proportionate to fall distance, find out how much and you will even know how high to make the cliff.
        Last edited by MadGypsy; 05-08-2014, 05:04 PM.
        http://www.nextgenquake.com

        Comment


        • #5
          It's really hard to get the player to die from fall damage alone in Quake.

          Trigger_hurt is the right thing.

          If you want to be sure that the player dies, put several trigger_hurt above each other. You could probably also avoid the gibbing like that (just subtract 20 health with each trigger, and have one at the bottom of the stack that does like 900 damage just to make sure.)

          You could also write a new trigger that kills, but does not gib the player. You would need QuakeC for that.
          Scout's Journey
          Rune of Earth Magic

          Comment


          • #6
            Out-of-the-box Quake has a single falling damage of 5, no matter the height. You can literally make a map 10,000 Quake units tall, spawn at the top, jump, and upon landing you will still have 95 health left. I added "exponential" falling damage (reads player's current jumpflag value upon landing) in my mod for realistic falling damage, which instead of dealing tremendous damage, sets armor and health to zero to avoid gibbing (but not always zero depending on height, there are some heights you can survive). Although I suppose I could revisit the function and use an actual exponential damage equation, I think fteqcc recognizes powers. I know frikqcc doesn't. I'll have to check.

            Anyway, the whole point is, yes you will need to add trigger_hurt at the bottom of the pit, like gypsy and g_b said, to ensure player death.
            'Replacement Player Models' Project

            Comment


            • #7
              Humm at one point I created a very tall cliff jumped off and had 25% health left but could not die. So just used trigger_hurt. Thanks for your feedback golden_boy, madgypsy, dutch...

              EARP

              Comment


              • #8
                I like what GB said about falling through multiple trigger_hurts. To me, that was an original idea with a sprinkle of out-of-the-box thinking.

                @dutch

                The player only falls at one speed. This means you could maybe use time to determine the distance of the fall, but I'm not sure how you would start the counter. I'm so out of touch with QC, I feel like I've forgotten damn near everything. I vaguely remember something about being able to check if the player is touching the ground (FL_ONGROUND? or summin), but you would have to run that check infinitely and often to determine if the player is falling.

                Overall it's probably easier to just do this on a per map basis and address all the spots in your map where a life threatening fall could occur with triggers. This way you don't have some listener never-endingly waiting for an event that may not even happen.

                Did you know you can just drop ODE.dll in the darkplaces folder and instantly have some physics? I'd bet some respectable change that FTE is the same or comparable. Maybe physics could spit out some math on your landing that could be converted to damage.

                You can literally make a map 10,000 units tall
                maybe in DP or FTE using map2 compilers. I believe 4096 is the map max. I'm positive something very similar to what I just said is at least true for multi-player.

                ---

                Every script language understands powers it just depends on how you want to get them.

                Code:
                float() function pow(float num, float pow)
                {	float sum = 1;
                	while(pow)
                	{
                		sum = sum*num;
                		pow = pow-1;
                	}
                	return sum;
                }
                I probably messed up the "QC" of my example cause I have seriously forgotten QC syntax but the concept is accurate.
                Last edited by MadGypsy; 05-09-2014, 05:53 PM.
                http://www.nextgenquake.com

                Comment


                • #9
                  The player only falls at one speed. This means you could maybe use time to determine the distance of the fall, but I'm not sure how you would start the counter. I'm so out of touch with QC, I feel like I've forgotten damn near everything. I vaguely remember something about being able to check if the player is touching the ground (FL_ONGROUND? or summin), but you would have to run that check infinitely and often to determine if the player is falling.
                  You could probly run this check with a combo of negative z velocity and !FL_ONGROUND statement. I'm going to have a jump/fall animation, I could run a counter in a frame function to avoid endlessly running it. And yeah, I think you're right on the 4096 QU limit in vanilla engines. I made falling test map that would have crashed an old engine.

                  Did you know you can just drop ODE.dll in the darkplaces folder and instantly have some physics? I'd bet some respectable change that FTE is the same or comparable. Maybe physics could spit out some math on your landing that could be converted to damage.
                  No, I didn't, badass. Checking out that link right now...

                  Every script language understands powers it just depends on how you want to get them.
                  Dammit, it's the little out-of-the-box thinking I'm still trying to hone. This is a learning process in how to think, just as much as it is about the language itself. Thanks man. Gonna go play with the fall function some more.

                  @EARP:

                  Here's a portion of the PlayerPostThink() physics function from the original Quake source regarding player damage for falling:

                  // check to see if player landed and play landing sound
                  if ((self.jump_flag < -300) && (self.flags & FL_ONGROUND) && (self.health > 0))
                  {
                  if (self.watertype == CONTENT_WATER)
                  sound (self, CHAN_BODY, "player/h2ojump.wav", 1, ATTN_NORM);
                  else if (self.jump_flag < -650)
                  {
                  T_Damage (self, world, world, 5);
                  sound (self, CHAN_VOICE, "player/land2.wav", 1, ATTN_NORM);
                  self.deathtype = "falling";
                  }
                  else
                  sound (self, CHAN_VOICE, "player/land.wav", 1, ATTN_NORM);

                  self.jump_flag = 0;
                  }

                  if (!(self.flags & FL_ONGROUND))
                  self.jump_flag = self.velocity_z;
                  As you can see, a certain z velocity will initiate the "hmm" noise from the player and deal no damage. Any z velocity greater than 650 (or to be accurate, less than -650...remember, it's a downwards velocity) will only deal 5 damage. This is always a constant value, regardless of height. Are you sure you weren't already low on health before the fall?
                  'Replacement Player Models' Project

                  Comment


                  • #10
                    Dammit, it's the little out-of-the-box thinking I'm still trying to hone.
                    Just so you know DPextensions contains just about every math function you could ever need and I would be really surprised if FTEextension doesn't as well. As a matter of fact it would be absolutely ludicrous if FTE didn't support them so Imma just say it does. Spike is too good to overlook better math possibilities in his engine. Especially since I'm pretty sure that these guys are sharing code to some degree OR using code that others have written which is easy to plug in.

                    Of course I am just referring to certain extras, I'm not implying that these excellent engine developers are just compiling other peoples tidbits into a full and final result.

                    This is a learning process in how to think, just as much as it is about the language itself.
                    I think it's safe to assume that we ALL go through that realization. One way to combat it though is to keep this mentality "Doesn't exist? I'll write my own" It is almost always possible to write your own. I'll tell you another thing, writing all these parsers has changed the way I think. Look at my millisecond parser and look at the QC one. The QC one is the raw instructions, hand typed, "be this". Mine harnesses the overall algorithm of possibilities. Its a generification of each step and barely does more than insinuate the math.

                    QC is not a good language to practice this type of thinking. The code is too linear, you have to explain every last thing in detail or the code just breaks. Actually, I would go as far as to say that QC is a bad language to learn programming with. It forces you to program in like a caveman way. It's only my opinion, but I would assert that it is far more productive to learn a real programming language and then visit QC as almost a novelty.

                    I haven't messed with Classes in QC yet so maybe that version has a bit more to offer or maybe they just created one more type (class) and it's nothing but QC wrapped in an object... who's to say. I'll check it out one day.
                    Last edited by MadGypsy; 05-11-2014, 02:59 PM.
                    http://www.nextgenquake.com

                    Comment


                    • #11
                      @Dutch I may have been low on health before the fall I would have to check it again

                      A lot of that you have been discussing is over my head

                      Comment

                      Working...
                      X