Jump to content

MoonDog

Members
  • Posts

    568
  • Joined

  • Last visited

Posts posted by MoonDog

  1. I usually just place team based spawns only; in order to handle both situations. It's not a HUGE deal in JKA, but it's still a wise practice to carefully consider the amount of space and the layout of your level when placing your spawns. A common mistake for a community made competitive map is misunderstanding the importance of spawn placement.

     

    As for the limit of spawns, I'm not sure. I know the entity limit is 1023( +1 Required Worldspawn ). 

  2. A decompile isn't necessary, unless you need it for education purposes or to more easily get origins. With the state of this community, anyone using a decompile for benign purposes would be shocking.

     

    You can open the .bsp with notepad, search for "worldspawn", and find the entity list that way. Everything from the opening bracket of the world spawn entry 

     

    {

    "classname" "worldspawn"

    }

     

    to the closing bracket of the last entity

     

    example:

    {

    "classname" "your_mom"

    }

     

    needs to be copied out into a new txt file. Simple save that file as the_maps_name.ent. Modify the existing entities or add new ones, keeping to the proper syntax. You can then recompile the .ent file back into the BSP with an onlyents compile on Q3map2.

     

     

    There are a bunch of tutorials out there on how to do this. I like to use Boba Fett's little entity re-wrapper. Just need to setup your paths, and have the .ent file and the .bsp in the same folder as q3map2. Drag and drop the .ent file onto this .bat

     

    @echo off
    cls
    title
    Entity Recompiler - Wrapper made by BobaFett
    echo q3map2 entity recompile wrapper
    echo
    by BobaFett
    echo.
    m:
    cd C:\Program Files\GtkRadiant-1.4
    q3map2.exe -v -game ja -onlyents %1
    echo.
    echo Compiling finished, press any key to close this window
    pause
    >nul

  3. @@Asgarath83, lugormod adds an RPGish element as well as level 4 and 5 force powers. You just need to get away from SP, playing with others in JA especially is way more fun than by yourself.

     

    Gradual or poison is already doable, look at the Noghri weapons.

     

    You bet your ass poison is doable.

     

     

     

    Loop

    //Generated by BehavEd
    
    flush (  );
    rem ( "This script is ran when the player spawns every time" );
    
    loop ( -1.000 )
    {
    	rem ( "This loop sets their parm15 to timer2 and begins the poison loop" );
    	wait ( 1000.000 );
    	set ( /*@SET_TYPES*/ "SET_PARM15", $get( FLOAT, "timer2")$ );
    
    	if ( $get( FLOAT, "SET_PARM3")$, $=$, $1$ )
    	{
    		rem ( "If the player triggered poisonactive, count down their HP" );
    
    		if ( $get( FLOAT, "SET_HEALTH")$, $!$, $100$ )
    		{
    
    			if ( $get( FLOAT, "SET_HEALTH")$, $!$, $0$ )
    			{
    
    				if ( $get( FLOAT, "SET_HEALTH")$, $<$, $0$ )
    				{
    					set ( /*@SET_TYPES*/ "SET_HEALTH", "0" );
    				}
    
    
    				else (  )
    				{
    
    					if ( $get( FLOAT, "SET_HEALTH")$, $>$, $90$ )
    					{
    						set ( /*@SET_TYPES*/ "SET_COUNT", $get( STRING, "SET_HEALTH")$ );
    						set ( $get( FLOAT, "SET_COUNT")$, "-1" );
    						set ( /*@SET_TYPES*/ "SET_HEALTH", $get( FLOAT, "SET_COUNT")$ );
    					}
    
    
    					else (  )
    					{
    
    						if ( $get( FLOAT, "SET_HEALTH")$, $>$, $80$ )
    						{
    							set ( /*@SET_TYPES*/ "SET_COUNT", $get( STRING, "SET_HEALTH")$ );
    							set ( $get( FLOAT, "SET_COUNT")$, "-2" );
    							set ( /*@SET_TYPES*/ "SET_HEALTH", $get( FLOAT, "SET_COUNT")$ );
    						}
    
    
    						else (  )
    						{
    
    							if ( $get( FLOAT, "SET_HEALTH")$, $>$, $70$ )
    							{
    								set ( /*@SET_TYPES*/ "SET_COUNT", $get( STRING, "SET_HEALTH")$ );
    								set ( $get( FLOAT, "SET_COUNT")$, "-3" );
    								set ( /*@SET_TYPES*/ "SET_HEALTH", $get( FLOAT, "SET_COUNT")$ );
    							}
    
    
    							else (  )
    							{
    
    								if ( $get( FLOAT, "SET_HEALTH")$, $>$, $60$ )
    								{
    									set ( /*@SET_TYPES*/ "SET_COUNT", $get( STRING, "SET_HEALTH")$ );
    									set ( $get( FLOAT, "SET_COUNT")$, "-4" );
    									set ( /*@SET_TYPES*/ "SET_HEALTH", $get( FLOAT, "SET_COUNT")$ );
    								}
    
    
    								else (  )
    								{
    
    									if ( $get( FLOAT, "SET_HEALTH")$, $>$, $50$ )
    									{
    										set ( /*@SET_TYPES*/ "SET_COUNT", $get( STRING, "SET_HEALTH")$ );
    										set ( $get( FLOAT, "SET_COUNT")$, "-5" );
    										set ( /*@SET_TYPES*/ "SET_HEALTH", $get( FLOAT, "SET_COUNT")$ );
    
    										else (  )
    										{
    
    											if ( $get( FLOAT, "SET_HEALTH")$, $>$, $40$ )
    											{
    												set ( /*@SET_TYPES*/ "SET_COUNT", $get( STRING, "SET_HEALTH")$ );
    												set ( $get( FLOAT, "SET_COUNT")$, "-6" );
    												set ( /*@SET_TYPES*/ "SET_HEALTH", $get( FLOAT, "SET_COUNT")$ );
    
    												else (  )
    												{
    
    													if ( $get( FLOAT, "SET_HEALTH")$, $>$, $30$ )
    													{
    														set ( /*@SET_TYPES*/ "SET_COUNT", $get( STRING, "SET_HEALTH")$ );
    														set ( $get( FLOAT, "SET_COUNT")$, "-7" );
    														set ( /*@SET_TYPES*/ "SET_HEALTH", $get( FLOAT, "SET_COUNT")$ );
    
    														else (  )
    														{
    
    															if ( $get( FLOAT, "SET_HEALTH")$, $>$, $20$ )
    															{
    																set ( /*@SET_TYPES*/ "SET_COUNT", $get( STRING, "SET_HEALTH")$ );
    																set ( $get( FLOAT, "SET_COUNT")$, "-7" );
    																set ( /*@SET_TYPES*/ "SET_HEALTH", $get( FLOAT, "SET_COUNT")$ );
    
    																else (  )
    																{
    
    																	if ( $get( FLOAT, "SET_HEALTH")$, $>$, $10$ )
    																	{
    																		set ( /*@SET_TYPES*/ "SET_COUNT", $get( STRING, "SET_HEALTH")$ );
    																		set ( $get( FLOAT, "SET_COUNT")$, "-8" );
    																		set ( /*@SET_TYPES*/ "SET_HEALTH", $get( FLOAT, "SET_COUNT")$ );
    
    																		else (  )
    																		{
    
    																			if ( $get( FLOAT, "SET_HEALTH")$, $>$, $1$ )
    																			{
    																				set ( /*@SET_TYPES*/ "SET_COUNT", $get( STRING, "SET_HEALTH")$ );
    																				set ( $get( FLOAT, "SET_COUNT")$, "-10" );
    																				set ( /*@SET_TYPES*/ "SET_HEALTH", $get( FLOAT, "SET_COUNT")$ );
    																			}
    
    																		}
    
    																	}
    
    																}
    
    															}
    
    														}
    
    													}
    
    												}
    
    											}
    
    										}
    
    									}
    
    								}
    
    							}
    
    						}
    
    					}
    
    				}
    
    			}
    
    		}
    
    	}
    
    }
    
    

    Deathscript

    //Generated by BehavEd
    
    rem ( "When the player dies this script runs on them" );
    set ( /*@SET_TYPES*/ "SET_PARM3", "0" );
    rem ( "Clears their parm3 so when they respawn they arent poisoned again" );
    set ( /*@SET_TYPES*/ "SET_DEATHSCRIPT", "NULL" );
    rem ( "Clears their deathscript so no script is ran when they die unless they are poisoned" );

    Poisoner

    //Generated by BehavEd
    
    rem ( "This script poisons the player and should be in a target_scriptrunner" );
    rem ( "make sure the scriptrunner is count -1 and spawnflags 1" );
    rem ( "Make sure whatever you want as the delivery system targets the scriptrunner" );
    
    if ( $get( FLOAT, "SET_PARM3")$, $!$, $1$ )
    {
    	rem ( "parm3 is the poison parameter on all players DONT TRY TO USE IT FOR SOMETHING ELSE" );
    	set ( /*@SET_TYPES*/ "SET_PARM3", "1" );
    	rem ( "Sets the deathscript on the player so they are cleared of poison when they respawn" );
    	set ( /*@SET_TYPES*/ "SET_DEATHSCRIPT", "nopoison" );
    }
    
  4. A lot *could* be done with advanced entity modding on existing SP levels. I think this would be a major waste of time anyway though. You can put a hat on a pig, but it is still a pig.

     

    Icarus is much too weak to script anything approaching good combat. Also, the waypoint/combat point system and AI is atrocious. Pretty much, SP is a wash in terms of revamping the shipped levels. Especially since the source map files are not/will not be in circulation.

     

    When I played JKA, I loved alternate game modes like Siege and CTF. I was never "pro" at either, but I still had the most fun there.

     

     

    I would definitely play again if I saw CTF expanded on and popularized. Fresh levels would be good too. Only if they are very well designed ASYMMETRICAL CTF levels. Many of the custom levels that claim to support CTF are very very very very shitty CTF maps. You can't just slap a couple of fucking flags in a level. 

  5. Whole map is detail brush... only sky and fog is structural. I use func_misc ( i didnt make them solid because i saw in one tutorial that making them solid creates too mamy brushes.)

     

    That is an inefficient way to do visability for a level. It will end up being an FPS and entity nightmare later. Before you worry about anything else, take a few steps back and replan your use of structural vs detail brushes.

     

    This thread contains a lot of information about visibility.  http://www.quake3world.com/forum/viewtopic.php?t=3620

     

    Your playable space is split into leaf nodes by the compiler. A leaf node is defined by the plane of a structural brush. A recursive operation in the BSP phase continues to split volumes into nodes until it has used all the planes of structural brushes in the volumes. The Leaf Nodes in the void are carved away because they are non entity containing hulls.

     

    Where leaf nodes join, portals are created in a .prt file for when visibility is calculated. Where one leaf node sees into another leaf node, all geometry and entities are drawn.

     

    Because everything your map is detail, you basically have giant leaf nodes (A lot of them the 512 x 512 default blocksize) that see into each other. Meaning, no matter where you are all the complex tris, expensive entities and so forth are being rendered. This will cause you a lot of issues with performance. You will also start running into problems with entities being truncated because you are drawing too many at once.

    Boothand likes this
  6. That's the thing, I don't know a dang about modelling.

    And patch meshes?

    I don't think you're going to make that kind of pillars with patch meshes. :S

     

    It's actually pretty easy to use patch meshes in radiant.

     

    Show me a pic of this pillar, and I'll mesh your pillar.

  7. *Bump*

     

    Can CODradiant be used without having Cod 4 installed? I downloaded the mod tools, but it says it *might* not work on vista, which I currently have. So I don't know if my error is because I'm missing COD 4 or because of vista (mss32.dll missing).

    Also, finding very little information about q4radiant/quakeedit. Do you need quake 4 for it?

     

    No, you need to have COD4 installed. It worked on Vista fine for me. You need Quake4 for the built in mod tools.

     

     

     

     

    Compatibility in these editors with GtkRadiant? Could brushwork be done in either editor and taken back and fourth without issues? Will entities come healthy back to GtkRadiant after visualization/brushwork done in COD-/Quake editor?

     

    You can't take a map from GTKRadiant and make it work in CODRadiant, or vice versa. The .map files differ slightly in ways they format the syntax for entities, brushes, and curves.

    Boothand likes this
  8. Oh, in that case. Yes. I use the COD4 mod tools, Hammer Editor and in house development tools at work. I've got the UDK for Unreal Engine 3 that I mess with from time to time, but that is a much more artist friendly set of tools than anything else. Plus, it takes me a long time to get a complex mesh setup with pretty UV's. Most of my time is spent getting rid of bad stretching.

     

    GTKRadiant is something I go back to from time to time at home, but its hard to enjoy because it just isn't as well setup as Hammer or the COD tools when it comes to working fast and efficiently. It needs quite a few things to get to that point. None of those being a light preview. I don't even care about that anymore.

     

    • Alt drag from CoDRadiant
    • A keyboard shortcut for rotate on axis. Plus the keyboard shortcuts for locking on X, Y, and Z respectively. It takes a bit of extra time to go up to a toolbar to click these things
    • Rotation and translation Gizmos in all new versions, not just 1.5.0
    • Hide unselected, instead of trying to work in Regions
    • Z axis cubic clip
    • Measuring tape clip line. (Place points similar to the clipping tool. Except it draws a line and tells you that distance in radiant units.)
    • Some sort of support for model preview in the file dialogue. (CoD tools does this with a special folder that contains jpegs by the same name as the models. If the support for that feature were there, than the modders themselves could do the rest.)
    • More convenient control and drive scheme for the 3D window, not requiring you to move your left hand from that side of the keyboard.
  9. The shader keyword you are looking for is deformVertexes

    http://q3map2.robotrenegade.com/docs/shader_manual/general-directives.html#deformVertexes

     

    Good work on your level. However, from a complete environment standpoint it looks like a good blockout rather than something complete. The texture usage is very samey throughout the shots.

     

    You need to spend more time in other game levels looking at the floors, ceilings and walls asking why and how they look good. Use a lot of industrial reference too. Start getting elements in there to break up that monotony.

    DT. likes this
  10. JKHub is booming, sort of, but over at MBII HQ we're having trouble keeping the mod alive, and in comparison to base JA MP our servers are actually MORE active...

     

     

    Is it booming? I remember actually enjoying posting here at one point in time, and then any positive feelings sharply fell off. Mostly due to the influx of "modders" that can't read or even copy paste from a tutorial and feel the need to blow up your inbox/email.

     

    Then you have staff you have to have a 3 page argument with, showing proof after proof of plagiarism before they'll even consider doing anything(which becomes immediately apparent that the course of action will be nothing). You'll eventually just say fuck it, and stop wasting your time.

     

    So no, it's not "booming".

     

     

    As for the MP, it's an 11 year old game. I'm pretty sure this same exact thread has been posted at least 20 times per year that this game has been around.

×
×
  • Create New...