Announcement

Collapse
No announcement yet.

My custom weapon models are acting weird.

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

  • My custom weapon models are acting weird.

    3rd topic.
    Anyways, I got Steam version and my models are doing this:

    What have I tried:
    1. Adding models to PAK0.PAK
    2. Adding models to own pak called PAK2.PAK
    Help please.

  • #2
    delete id1/glquake/*.ms2
    Some Game Thing

    Comment


    • #3
      Now I feel like a retard.

      ^
      Thanks anyways.

      Comment


      • #4
        And the last dumb question - I don't have qbsp or whatever in my folders, where should it be located?

        Comment


        • #5
          You can put the map compiling tools wherever you like. It all depends on what works best for you. Myself, I keep them in quake/id1/maps, so that I don't have to worry about dealing with adding them to %Path%.
          Intelligence is knowing that there is an 'i' in "community".
          Wisdom is knowing that there is no 'i' in "community".

          Comment


          • #6
            tools are not part of the game distribution, you need to download them separately.
            Scout's Journey
            Rune of Earth Magic

            Comment


            • #7
              Thank you, but I still got one question. Probably the last one.
              How do I set entity's health? I want to have some dead grunts on my map ( already dead. )

              Comment


              • #8
                maybe, just maybe you could get away with this by simply adding a health key to the entity with a value of 0. That's the uber simple solution but it might not work like you hope.
                http://www.nextgenquake.com

                Comment


                • #9
                  Huh, that's what I tried, but I'm still not sure. I'll test it.

                  Comment


                  • #10
                    Wouldn't work.

                    Comment


                    • #11
                      Originally posted by MadGypsy View Post
                      maybe, just maybe you could get away with this by simply adding a health key to the entity with a value of 0. That's the uber simple solution but it might not work like you hope.
                      That won't work for 2 reasons.

                      1: Any key that isn't specified in the map is assumed to have a value of 0 anyway.

                      2: The value of the health key is blindly overwritten to 30 in the entitiy's spawn function.

                      So, there is at least one way to do what you require. The simplest seems to be post #8 in this thread, although there's another method at #36 which is considerably more complicated.

                      However, there is a 3rd method, if you don't mind some weirdness with your monsther count: First create your grunt roughly where you want it to die, and then give it the following settings:
                      Code:
                      "armortype" "1"
                      "armorvalue" "-29"
                      With that, the monster will die after taking 1 damage. Then just arrange for the monster to be hurt somehow. Most methods for this will be rather loud, but if noise isn't an issue, then a classic info_notnull explosion is pretty light on resources.
                      Code:
                      "classname" "info_notnull"
                      "think" "OgreGrenadeExplode"
                      "nextthink" "1.5"
                      And place it about 64 units away from the monster's origin (or 48 away from the edge of the bbox).
                      Intelligence is knowing that there is an 'i' in "community".
                      Wisdom is knowing that there is no 'i' in "community".

                      Comment


                      • #12
                        According to post #8, the simplest is just to spawn model with specified frame?

                        Comment


                        • #13
                          maybe, just maybe you could get away with this by simply adding a health key to the entity with a value of 0. That's the uber simple solution but it might not work like you hope.
                          I hadn't tested it or looked at any QC. It just came to mind as a potential possibility as I was on my way out the door for work. Honestly, I would just make a custom entity that takes two parameters... a model and a frame. If the model is going to be spawned dead, it doesn't really have to count as an actual "monster" you just need a dead looking model. So why not treat a monster like a decoration and skip all the health,etc stuff?
                          http://www.nextgenquake.com

                          Comment


                          • #14
                            Maybe something like this.

                            whatever.qc
                            Code:
                            vector vector_null;
                            
                            float(string str) check_string =
                            {	if( ( str == string_null ) || ( str == "" ) ) return FALSE;
                            	return TRUE;
                            };
                            
                            float(vector vec) check_bounds =
                            {	if( ( vec == vector_null ) || ( vec == '0 0 0' ) ) return FALSE;	
                            	return TRUE;
                            };
                            
                            .vector neg_pnt;
                            .vector pos_pnt;
                            
                            void(string err)error_thingamajig =
                            {	[COLOR="DimGray"]//I'm aware of strcat()[/COLOR]
                            	dprint("PHUQUP: an exception was thrown by ");
                            	dprint(self.classname);
                            	dprint(" at ");
                            	dprint(vtos(self.origin));
                            	dprint("\n");
                            	dprint(err);
                            	dprint("\n");
                            };
                            
                            void() model_instance =
                            {	[COLOR="DimGray"]//make sure all required fields are provided[/COLOR]
                            	if( !check_string(self.model) )  
                            	{	error_thingamajig("Error: You have to provide a model path");
                            		return; [COLOR="DimGray"]//LOL![/COLOR]
                            	}
                            
                            	if( !check_bounds(self.neg_pnt) || !check_bounds(self.pos_pnt) ) 
                            	{	error_thingamajig("Error: You have to provide min/max bounding box points");
                            		return;
                            	}
                            	
                            	[COLOR="DimGray"]//it got this far. make it so[/COLOR]
                            	precache_model(self.model);
                            	setmodel(self, self.model);
                            	setorigin(self, self.origin);
                            	setsize(self, self.neg_pnt, self.pos_pnt);
                            	self.solid = SOLID_BBOX; [COLOR="DimGray"]//_NOT[/COLOR]
                            	self.movetype = MOVETYPE_NONE; 
                            	self.takedamage = DAMAGE_AIM;
                            
                            	if(!self.frame)
                            		self.frame = 0;
                            
                            	[COLOR="DimGray"]//final test[/COLOR]
                            	if( !droptofloor() )  
                            		error_thingamajig("Error: It fell through the map (I think)");
                            };
                            entities.ent (<classes> in here </classes>)
                            Code:
                            <point name="model_instance" color="0 0 0.5" box="-16 -16 -24 16 16 32">
                            	<string key="model" name="model" value="ex: progs/model.mdl">relative path to model</string>
                            	<integer key="frame" name="frame" value="0">frame number</integer>
                            	<real3 key="neg_pnt" name="mins">bounding box min extents, relative to origin</real3>
                            	<real3 key="pos_pnt" name="maxs">bounding box max extents, relative to origin</real3>
                            </point>
                            completely untested
                            Last edited by MadGypsy; 10-28-2013, 01:22 AM.
                            http://www.nextgenquake.com

                            Comment


                            • #15
                              psst... objerror is your friend.
                              Some Game Thing

                              Comment

                              Working...
                              X