Announcement

Collapse
No announcement yet.

Nomonsters in Qrack.

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

  • Nomonsters in Qrack.

    Does anyone know why the nomonsters command fails to work in Qrack? I set it to "1", and all the monsters are still there. Come to think of it, I never did find a proper command in Quake that allowed me to kill all the monsters in a map. Is there such a command?

  • #2
    Originally posted by Quake Console Commands Reference
    nomonsters
    Status: Disabled

    Type: Toggle

    Default: 0

    Description: Toggle the presence of monsters on the map.

    Note: This command is supposed to remove all of the monsters from the map but it does not seem to work. You can use the notarget command instead, which will allow you to keep the monsters on the map but they will not react to the player.
    Quake Console Commands: nomonsters

    I guess the nomonsters cvar never worked and won't work in any engine.

    It probably exists to allow QuakeC access to a cvar to not spawn monsters, but isn't actually coded in the progs.dat to use it.

    Likewise, there isn't a command that will kill all the monsters in a map.

    If you have an engine + mod combo that actual uses nomonsters, that would be interested to see. I bet LordHavoc has a few things like that in DPMod.
    Quakeone.com - Being exactly one-half good and one-half evil has advantages. When a portal opens to the antimatter universe, my opposite is just me with a goatee.

    So while you guys all have to fight your anti-matter counterparts, me and my evil twin will be drinking a beer laughing at you guys ...

    Comment


    • #3
      One of the mission packs has a impulse command that kills ALL the monsters in the map. I will look up which one and what impulse it was.

      Edit:
      Scourge of Armagon - impulse 205

      Comment


      • #4
        R00k, perhaps this could be an added feature in Qrack?

        Comment


        • #5
          Would be a nice additon to ALL engines - just to test triggers and all that are SP specific without monsters in the way. For now you always could just use the Scorge of Armagon Mission Pack and use this command. Since it has all of Quake 1's entities it will work just fine

          Comment


          • #6
            This isn't an engine thing, this is a QuakeC thing.

            If what you say is true about Armagon supporting a kill all monsters impulse, someone could more than likely add that feature to the standard Q1 QuakeC and recompile.

            The engine does not control game logic. It controls things like rendering, effects, input, model types and such. Game logic is QuakeC and progs.dat


            Armagon QuakeC source code: http://www.quake-1.com/files/sourcec...devkit-all.zip
            Standard id1 progs.dat QuakeC: http://www.quake-1.com/files/sourcec...s/progs106.zip
            FTEQCC QuakeC compiler: http://www.inside3d.com/frikbot/frikqcc/

            You could dig through Armagon's QuakeC and find where and how impulse 206 is killing all the monsters, add it to standard id1 progs.dat QuakeC, recompile with FTEQCC and replace the progs.dat in pak0.pak and viola!
            Quakeone.com - Being exactly one-half good and one-half evil has advantages. When a portal opens to the antimatter universe, my opposite is just me with a goatee.

            So while you guys all have to fight your anti-matter counterparts, me and my evil twin will be drinking a beer laughing at you guys ...

            Comment


            • #7
              Hello Baker,

              I did it for you:


              I ported over the "impulse 205" (= Kill All Monsters) cheat for:
              - original Quake
              - Mission Pack 2: DoE

              Now it works in those games as well.

              I added it in my "small mod compilation", so it only works for DarkPlaces.



              If you have other engines, simply add this to your weapons.qc:

              void() Genocide =
              {
              local entity head;

              if (deathmatch || coop)
              return;
              bprint("Genocide!\n");
              head = nextent(world);
              while (head!=world)
              {
              if ((head.health > 0) && (head.flags & FL_MONSTER))
              {
              T_Damage(head,world,world,head.health+10);
              }
              head = nextent(head);
              }
              };
              and under void() ImpulseCommands, add this:
              if ( self.impulse == 205 )
              Genocide();

              I did this for you: klick (engine independent)


              Kind Regards,
              Seven
              Last edited by Seven; 03-11-2011, 12:13 PM. Reason: exchanged the links to a new Mod-Version 2.5

              Comment


              • #8
                Well, there ya go Lightning Hunter --- Seven made it happen

                And something fun to throw into the next news update.
                Quakeone.com - Being exactly one-half good and one-half evil has advantages. When a portal opens to the antimatter universe, my opposite is just me with a goatee.

                So while you guys all have to fight your anti-matter counterparts, me and my evil twin will be drinking a beer laughing at you guys ...

                Comment


                • #9
                  Originally posted by Baker View Post
                  Well, there ya go Lightning Hunter --- Seven made it happen

                  And something fun to throw into the next news update.
                  I actually already coded it into my own mods once ooppee told me about that impulse command, but thanks anyway Seven.

                  I now use the alias "Genocide" to kill all monsters.

                  Comment


                  • #10
                    err, Baker, fteqcc isn't actually frikqcc. just thought I'd point that out. Either is sufficient for the purposes of this topic, but you're still mixing up projects!
                    Some Game Thing

                    Comment


                    • #11
                      I was under the assumption that nomonsters didnt really 'not spawn monsters on a map', as I want it to, but actually wont allow monsters to attack you until you attack them first. Meaning, they just acted like you werent there.

                      Edit: hmm guess not that either...
                      www.quakeone.com/qrack | www.quakeone.com/cax| http://en.twitch.tv/sputnikutah

                      Comment


                      • #12
                        Nope that whole "monsters wont attack you until you attack them first" is covered by "notarget"

                        The genocide is very useful. I personally would love to see a "delete" command. Whatever is in your crosshair gets deleted without alerting other monsters. Would be awesome for model testing - sometimes hard to find a monster that you can test without alerting others near by.

                        Comment


                        • #13
                          Originally posted by Spike View Post
                          err, Baker, fteqcc isn't actually frikqcc. just thought I'd point that out. Either is sufficient for the purposes of this topic, but you're still mixing up projects!
                          And that's what happens when you take 30 seconds to copy a link and blow it....

                          Correct link to FTEQCC:

                          FTE QuakeWorld - Browse /QCC GUI/3343 at SourceForge.net

                          [To anyone who doesn't who, Spike is the author of the fteqcc compiler.]
                          Quakeone.com - Being exactly one-half good and one-half evil has advantages. When a portal opens to the antimatter universe, my opposite is just me with a goatee.

                          So while you guys all have to fight your anti-matter counterparts, me and my evil twin will be drinking a beer laughing at you guys ...

                          Comment


                          • #14
                            the unsolvable problem with nomonsters is that you often need to kill them to get something else to trigger, and you may need to kill them at the proper time for a set of triggers to work.
                            I expect id maps will generally not care if all kills are triggered at spawn time, so its only custom maps that will have any unsolvable issues with it.
                            Some Game Thing

                            Comment


                            • #15
                              Originally posted by ooppee View Post
                              I personally would love to see a "delete" command. Whatever is in your crosshair gets deleted without alerting other monsters. Would be awesome for model testing - sometimes hard to find a monster that you can test without alerting others near by.
                              I've done this. It's pretty effective. The main trick is to create a seperate function that doesn't go throw W_Attack(), because one of the first lines in that function updates self.show_hostile, which is the variable that makes monsters angry at you.

                              Here's my version:

                              Code:
                              void()	W_Kill = {
                              	local vector org;
                              
                              	makevectors	(self.v_angle);
                              	org = self.origin + '0 0 16';
                              
                              	traceline (org, org + v_forward*2000, FALSE, self);
                              
                              	if (trace_ent.takedamage)
                              		T_Damage (trace_ent, self, self, 2000);
                              
                              	WriteByte (MSG_BROADCAST, SVC_TEMPENTITY);
                              	WriteByte (MSG_BROADCAST, TE_TAREXPLOSION); // in DP, try 70
                              	WriteCoord (MSG_BROADCAST, trace_endpos_x);
                              	WriteCoord (MSG_BROADCAST, trace_endpos_y);
                              	WriteCoord (MSG_BROADCAST, trace_endpos_z);
                              
                              	self.weapon = IT_SHOTGUN;
                              	W_SetCurrentAmmo();
                              	player_shot1 ();
                              	sound (self, CHAN_AUTO, "weapons/lstart.wav", 1, ATTN_NORM);
                              	self.attack_finished = time + 0.6;
                              }
                              And then all you need to do is trigger it with your method of choice. An impulse is probably the easiest way in unmodified engines (see above for how), but as my "map testing mod" requires DarkPlaces, I just check for .button3 instead.
                              16:03:04 <gb> when I put in a sng, I think I might need nails
                              16:03:30 <gb> the fact that only playtesting tells me that probably means that my mind is a sieve

                              Comment

                              Working...
                              X