Jump to content

NAB622

Members
  • Posts

    519
  • Joined

  • Last visited

Everything posted by NAB622

  1. We learn by doing, and that goes for me too!
  2. Actually, that's okay to do for most edits. Certain things like lightmaps have to be compiled, so recompile your map and reload the level in-game, and you should see the changes. That's probably why it suddenly started working for you.
  3. Ah, sorry, I misunderstood your issue then. Can you post a screenshot?
  4. Autosprite2 works across the longest axis of a surface . Try making your surface rectangular instead of square.
  5. Here's what I would do..... I would make the candle flames a separate texture on a pure black background, add them as a separate stage to your shader, and use blendFunc GL_ONE GL_ONE on them so they blend properly with the environment. For the candlesticks, remove the blendFunc, and use an alphaFunc to mask them. I haven't written shaders in forever, so I can't write an example, but if memory serves, the landing pad texture at the center of mp/ffa5 is a great example of alphaFunc in action if you need it.
  6. Can you post the image as well? If it's just a flame, forget using alpha and just use blendFunc GL_ONE GL_ONE.
  7. /developer 1 is a CVar that needs manually typed into the in-game console, not added to the script. It will show the execution of the script as it goes, making troubleshooting much easier. It likely won't help me very much, but it could help someone more experienced with single player scripts to determine the problem. If you're using something as a template, I would suggest reverting to that method, since ultimately I'm just shooting from the hip. The suggestion for /developer 1 and the print blocks remains a good idea, though.
  8. I don't work with single player, so this might be wrong, but I believe you can remove the "Affect" block, and check the "runonactivator" flag on the target_scriptrunner. I can verify that it does work that way in multiplayer. To further troubleshoot, I would add a few print blocks to the script, set /developer 1 in-game, and see if the prints show up in the console. That should help you determine exactly where the failure is.
  9. Assuming SoundGroup is not a thing.....a simple script and a series of target_speaker entities is 100% the cleanest way to go. If you want to set up an entity system to play random sounds without a script, use some kind of a trigger (I'll use trigger_once here), target_delay, target_random and target_relay. trigger_once | | v target_delay <--------| | | |-------> target_relay | | v target_random | ------------------------------- | | | v v v target_speaker target_speaker target_speaker Target_delay has a random key, use that to create your randomization. Edit: A side effect of this setup is that the trigger_once will also trigger the target_random, since they'll end up with the same targetname. All it will do is trigger a sound immediately before the delay takes place, so it's not a problem, just something to be aware of.
  10. Target_speaker is buggy as hell. Several of the parameters don't work. I don't think the wait key does anything on them, either. You might be better off using target_delay or a script to fire it every few seconds or whatever. In fact, if you're looking for random sounds, that wouldn't be a bad idea, in my opinion. I've never heard of SoundGroup before....is that even a thing in Jedi Outcast/Academy?? It looks like your Radiant is set up for Voyager: Elite Force, judging by the Borg reference. Try changing it to Jedi Academy and see what happens.
  11. Are you modifying the base game's assets1-4 files? Definitely don't do that. It's just asking for trouble.
  12. For numerous reasons, don't edit a PK3 directly. Use a project folder to contain your mod, and create a new PK3 when you want to test it. Or if you want, you can start the game with sv_pure 0 and it will also load assets directly from the base folder as well, which is great for testing mods. I've never heard of files going missing from a PK3, but due to the nature of how ZIP files work, it is a bad idea to ever edit one. I've seen them bloat for no reason, and I've seen them take forever to do a simple edit. Never seen files go missing, but it wouldn't surprise me.
  13. My recommendation: make the shaft any shape you like, but make the door square. The physics engine in JA will bug out like crazy if you try to rotate a cylindrical door around the player. Believe me, I've tried. It's not worth the effort. If you want to time the movement of the door with the elevator, you may want to look into scripting the movement. Edit: As far as cutting the shaft, you're probably looking for the clipper tool. If the button is missing or you can't find it, press X.
  14. Eh, consider me a "Wannabe" as far as Radiant is concerned. I have my own set of annoyances with it, and yes, it's very slow to edit many things. But since you've used a different editor, I was curious what parts of Radiant specifically bothered you, compared to the other editor.
  15. You've made me curious, how is GTK hard? I'm not saying it isn't, I'm just genuinely curious what parts bother you.
  16. Well, I thought this was common knowledge, but I guess it isn't. The title of this tutorial says it all - you can make ASE models using nothing but GTKRadiant and a simple trick. Before we get into details, I'll start out by giving you the advantages of using ASE models over MD3s: • ASE models do not need UV mapped. They get textured like everything else in Radiant. • Because they reference the original textures, this can reduce load times. Think about it - if your map already uses the textures you apply to your model, it has no new textures to load! • ASE models do not have the "always drawn" glitch that MD3 models do. This saves a few FPS. • ASE models zip up very nicely, since it's just a text file. • You can use curve patches in your ASE models. • Making an ASE in Radiant is just as accurate as making an MD3 in a professional program. I know what you're thinking - Radiant's grid is not small enough. Just trust me on this, I'll explain it later on. It's actually more accurate to make a model in Radiant, because you are forced to snap everything to the grid, meaning no offset origins. Now, to be fair, there are a few downsides: • Since there is no UV mapping, you can't get quite as much texture variety. • You can't use these models for anything else in JA - just map objects. • Misc_model is the ONLY entity that can use ASE models. Everything else requires an MD3 model. This includes the model2 key on func_ entities. This will be short and sweet, so let's cut to the chase. Start GTKRadiant. Once it is open, you need to ingrain this message into your head: Build everything at least four times as large as you want it to be! This is important! The entire process hinges on this. Not only will it be easier to edit, but this is what enables you to make higher detail models. In Radiant, you will see the origin (0, 0, 0) point of the grid. This is where the base of the misc_model will be. Build your model anywhere on the grid. You'll have to move it at the end, though. For this tutorial, I'm going to pull up an old, somewhat lame model I made of a lantern. Click here to download the lantern's source files. I would suggest following along with them the first time around, and once you get the hang of this, you can do it on your own. Don't forget to add lantern.shader to shaderlist.txt if you use this example! Not the best model, but it worked for what I needed. Anyway, here's a look at the grid view. Check out the scaling: As you can see, this thing is MONSTROUS. That's because I made it 10 times bigger than I wanted it to be. Notice that the textures are stretched large on it as well. There is a reason for this. <a name="important" style="color: rgb(238, 255, 255); font-family: 'Times New Roman'; text-align: -webkit-center; background-color: rgb(0, 0, 90); font-size: medium; ">IMPORTANT: Your model must have AT LEAST one structural brush somewhere on it. This is easy to cheat on - just add a structural brush of caulking in a random location. It won't affect your model in any way, and it's invisible, so it doesn't matter where. In the lantern example, I made everything detail except the stem of the lantern. I don't know why I bothered, but I did. If you fail to do this, no ase file will be created and no warnings will be given. Additionally: You need to get the origin at the correct spot. This is critical! You can't put the origin in the middle of the model, or it won't work properly. Whatever part of this model will be attached to something is where the origin in Radiant must be. To put it simply: If your model is going to hang from the ceiling, you need to make the top of your model touch the map's origin in Radiant (The lantern is a good example of this). If it's going to sit on the ground, you need to make it touch the bottom. If it's going to hang on a wall, you need the origin to be against the side of your model that will be against the wall. You'll see why this is important. Now, let's convert this into an ASE model. I use Yzmo's .map to .ase Converter Utility to create ASEs, but you can also do it with q3map2GUI, q3map2build, or even just with cmd.exe and q3map2.exe if you like. I'm going to use the .map to .ase converter, because it's easiest to explain and use. Once you have it downloaded and installed, read on. Once the program is running, click the settings button and give the program the paths to q3map2.exe file and your GameData/base/maps folder. Uncheck the Make Window Semi Transparent box if you like, then click ok. You should see this: Now for the juicy part. Make sure the .map you want to convert is in your GameData/maps folder. Now, just type the name of your .map file (minus the .map extension) into the first box. You can leave the second one blank if you like. Press enter and watch it go. Open up your GameData/Maps folder. You should see two new files: lantern.srf and lantern.ase. Delete the .srf file and copy the .ase file to whatever folder you want. I'll copy it to GameData/models/mymap as an example. If you do not see any files, make sure you read the warnings above and try again. We're almost done. Now we just need to add the model to our map. Load up whatever map you want to add this model to. Find where you want to place the model, right-click on the grid and create a misc_model. Note: misc_model_static does not work with ASE models! When opening the model, You'll have to change the format to .ASE to see it: Once you get the model loaded, you should see it's massive bulk eat up a ton of space in your map. We're going to fix that next. With the model still selected, press N to bring up the entity window. Depending on what scale you built your model to, you'll have to scale it differently. If you made your model four times the size you wanted, you'll need to enter: Key: modelscale Value: .25 If you built it to a scale of ten, like I did, you'll need to enter: Key: modelscale Value: .1 If you built it to a scale of two, you would enter: Key: modelscale Value: .5 Here's what the entity should look like if you built it on a scale of 10: For extra realism, you can also check the "lighted" checkbox. If you do not have a "lighted" checkbox, you need Darth G's updated entity definitions. Here's what it looks like with the correct modelscale value: Much nicer, isn't it? Few things in closing. Instead of using the modelscale key, you can use modelscale_vec and give it three different values (.4 .8 2) and scale it on each axis individually. Also, instead of using the angle key to rotate your model, you can use the angles key to rotate it on every axis individually as well (20 45 90). Thanks for reading this tutorial, and I hope it helps you in one way or another!
  17. If I recall correctly, bots will use anything they come into contact with automatically. If there is a flag to use for that, I am not aware of it and I did not save the source page, so your best bet would be to check with one of the coders and see if they know.
  18. So what are botroutes? To put it simply, botroutes are a path of waypoints that bots will follow. (Pretty babyish way to put it...) These waypoints are numbered so they each have a unique ID. Bots can follow these waypoints going forward through the numbers or backward, unless you specify otherwise (special case covered at the bottom of the page). If you make the paths correctly, this will tell the bots how find their way around the map. Botrouting is done trough the Jedi Academy/Jedi Outcast game console. Start the game, then open the console by pressing Shift + ~. Start your map by typing: /devmap [your map name here] I'm sure you knew that command already, but it's necessary for this. There are a number of commands you will use to make and save your botroutes. The most commonly used ones, and really the only ones you should ever need, are listed below: /developer 1 /bot_wp_edit 1 /bot_wp_add /bot_wp_rem /bot_wp_save Once your map has loaded, open your game's console again and enter the following three commands: /developer 1 /bot_wp_edit 1 /devmap [your map name here] DO NOT FORGET to restart your map! You need to do so to enter bot route editing mode! The picture below shows the game console window open with the commands that I entered circled in red. Then, I restarted the map by doing the /devmap [map name here] command again. Once your map has reloaded, you are ready to begin making your botroutes! This is quite easy, as I said above. When you add a point, it will be added where your player is standing. When you delete them, it moves in reverse order, deleting the most recent one you made and going back to the first one. With that knowledge in mind, stand somewhere in your map and then type in bot_wp_add. You should see some zeros begin floating up from the ground, like so:. You have just created your first waypoint! Whenever a bot is near this point, it will stay near it and look for another close waypoint, or an object that it wants to pick up. But one waypoint won't do you a whole lot of good! What if the bot spawns in another room and can't see your waypoint? The only way to solve this is to finish creating a path that covers all the major areas of your map. If you have unconnectable rooms or areas, you CAN disconnect your bot route and make a second one inside that building or room...but it doesn't work as well as having one continuous route that goes through the whole map. So, continue your bot routes! Take it in any direction you like. But remember this: Keep your waypoints fairly close together. If the bot can't see the next waypoint, it will randomly run around looking for it. That is most definitely NOT what you want to have happen. I don't know what the upper limit is on waypoints. I have had more than 1400 in a map at once with no trouble but I DID crash the game by going silly and making half a million of them. So don't be too generous with them, either. Anyways, keep adding waypoints all around the map. If you get tired of typing the commands out all the time or using the up and down arrows to scroll through your most recent console commands, then you can bind them to keys on your keyboard like so: /bind f4 bot_wp_add /bind f6 bot_wp_rem By using this system, you can stand where you want to add a waypoint to your botroute file, and then push f4 to add it. If you want to remove the last waypoint you placed, press f6 to delete it. Pretty easy, huh? Please note that I DO NOT recommend doing what I did in the picture below! It is for ILLUSTRATION PURPOSES ONLY! Basically, what I did there is run in a circle and push the button I bound to bot_wp_add repeatedly. This made an incredibly USELESS system of waypoints that will send bots running in circles like people gone mentally mad. While it may be amusing to watch, it's not very fun to fight. But let's just say I wanted to keep this. If I want to save these useless bot routes, then I would open up the console again (Shift + ~) and then type the following command: /bot_wp_save If you have a lot of separate areas with the botroutes not connected to each other, your game will lock up for a few moments. DON'T PANIC! Eventually, it will tell you that it reconnected some points or that it can't connect them, as shown below: If the game crashes when you save your botroutes, don't worry; it happens sometimes. Now, let's retrieve your botroute file. If you have Jedi Academy/Outcast in windowed mode, minimize it, just in case they didn't save right. Then open up your Academy/Outcast game's 'gamedata/base' folder. Inside this folder you should see a new folder called 'botroutes'. Inside this folder should be your botroute file. It should have the same name as your map with a file extension of .wnt on it. Note: If you have Japlus, Lugormod, Makermod or anything else installed, your botroute file will be inside of a folder with your mod name inside of your gamedata folder. So if I had Japlus installed, it would be in my gamedata/japlus/botroutes folder. That's it. All you need to do now is grab that .wnt file and put it into your map's pk3, inside of a botroutes folder. Another note: If you have a mod installed and had to take the botroutes from that mod's folder, ignore it! Just put it inside of a 'botroutes' folder inside of the pk3. Tips for efficient botrouting: • If you want the bots to walk around more like a real client, use your mouse and walk around your map where you want the bots to go, pushing the button you bound to 'add waypoint' every couple of seconds. There are a few special things you can do with botroutes, too. My source on the following is: http://jediknight3.f...aypointTutorial /bot_wp_addflagged You can use this with arguments to give bots more interesting behaviors. A more exhaustive list is given from the source I used (link is above). Basically, you type /bot_wp_addflagged in your console, then put a space and add the letter abbreviation for whatever behavior(s) you want the bot to do at this waypoint. You can mix and match them any way you like. j - This makes a bot jump while it tries to get to the waypoint with this flag on it. d - This makes a bot crouch and walk to this waypoint. x - This forces a bot to move FORWARD in the waypoint index to find the next point. y - This forces a bot to move BACKWARD in the waypoint index to the previous waypoint. So if I wanted to add a waypoint that made a bot jump to reach it, I would type the following in my console: /bot_wp_addflagged j And if I wanted to force a bot to move forward in the waypoint index and crouch as it moved, I would enter this: /bot_wp_addflagged dx That's it! You should be able to start your map and play on it with bots that find their own way around! However, don't forget the MOST important part of making any mods - TEST YOUR WORK! Always, ALWAYS, test your work before releasing it on the internet. You don't want to make yourself look bad. :]
  19. NAB622

    BSP Menu

    This is what the BSP menu will look like when we're done: This will be quick and dirty, so let's just cut to the chase. When GTKRadiant runs a compile, it will start a separate program called "Q3map2.exe" and tell it what to do. Q3map2 is your standard Quake 3 compiler, and it suits its purpose well. When you compile a map, the compiler has to do three separate stages: The BSP stage, where it places all the brushes and entities (this is the only necessary stage) The visibility stage (VIS for short) The lightmap stage. If you have BSP monitoring turned on, GTKRadiant will watch the compile as it goes and notify you of any errors that are found. If it is turned off, then Radiant will just blindly tell the compiler to run. You should ALWAYS have BSP Monitoring on, UNLESS IT CAN'T FINISH COMPILES. Otherwise, you won't get notified of critical errors. Anyways, if you go to File > Project settings, you'll see this window. Right now, you don't really need to worry about anything but the bottom half of the window. (You know, the part that has the complicated things in it.) First off, and this is very important, MAKE SURE YOU ARE SET FOR MULTIPLAYER MAPPING MODE, not single player mapping mode. You're going to delete all the compiles that are displayed, BUT, you first need to get something! Open up one of the compiles that are displayed in the window already. You should see something that looks like this: This is the first thing you need to know: Copy and paste that filepath into the "q3map2 folder's filepath" text box below. Q3map2 folder's filepath (including the .exe's name): (feature only availble at this link) Next, open up Notepad. You need to find a second filepath in the same command. This will be the path to your GameData folder. Here it is: Copy and paste that into the text box below: Gamedata folder filepath: (feature only availble at this link) YOUR FILEPATHS WILL BE DIFFERENT THAN MINE. Don't use the ones in the images above, because I can just about guarantee you that you're not using them. Also note that you are NOT linking to a .exe file in the second path - you're just giving the compiler a filepath to use. You do need the name of the .exe file in the first one. Once you have both put both filepaths into the text boxes above, click the create button to create your compile codes. For those who are curious, no, I can't use your filepaths to hack you. That information is completely irrelevant to getting inside your compupter. Kind of a stupid question, but I've been asked similar things before... Once you have created your compile codes, select the compile options in Radiant's Project Settings window one at a time, and click the remove button to delete them, shown below: (Note: If you ever want to map for single player mode, You need to leave the single player compiles! They all have "(single)" at the beginning of their name. All other compiles can go, but if you really want to, you can keep them.) Now, click the "Add..." button. A new window will pop up, which looks like this: Once you have given your filepaths up above and hit the "create" button, all the compiles will be listed below. The names are listed in green, and the actual compile commands will be listed in the text boxes underneath them. In case it's not obvious, you will be putting all 9 compiles into the "Add Command" window, one-by-one, putting the compile name in the "menu text" field and the text that was generated will go into the "command" field, like so: Your turn. This doesn't take long, really. :] Congratulations, you made it! You can mix and match the order of these compiles any way you like. However, you have one last thing to do. Restart Radiant to get the list to appear in the proper order. You are done! Give yourself a knuckle sandwich on the back, you deserve it. : > To use these compiles, you can either choose one of the "final" options, which will automatically do whatever it says after that in the name, or you can pick and choose what you want to do. If you want to do a lightmap or a vis compile, you MUST do a bsp stage first. If you update your .map file, you will have to redo your bsp compile. Fast VIS is a fast type of VIS compile, full VIS can take hours (even days!) to complete but gives much better results (if you did your structural brushes well). The lightmap stage is just a normal lightmap stage, but the lightmap low memory stage is for computers with very little RAM available. It will take longer, but it will get the job done.
  20. NAB622

    Mapping Errors List

    I stumbled across a saved copy of the old LucasForums list of mapping errors buried on an old HDD. I gave the info some updates and formatted it a little more usefully - hopefully it can help someone! http://nab622.com/tutorials/MappingErrors.html You can also link someone to a specific error on the list, which should save people the trouble of looking through the entire thing. Most importantly: if anything is inaccurate or outdated, please let me know! I did not write most of the info and I wasn't sure what needed changed. Compile Time Errors Radiant Errors Run-Time Errors
  21. Brushes As stated above, brushes are (usually) visible in a map. Almost any shape can be made with one or multiple brushes. The most complex shape you can possibly imagine can probably be created by several brushes, with some inaccuracies here and there. For starters, let's just make the most basic shape in the Quake III arena, a cube. Open GTKRadiant. Open any map (This tutorial opens the map "t3_rift_sample.map"). In the picture above, there are eight brushes, one entity, an angle arrow and three entity connection lines visible. Eight brushes (Seven rock-textured brushes and one trigger-textured brush) One entity (A light entity) One angle arrow (Side view) Three connection lines (Once you turn to the side, you will see there are actually four of them, but that doesn't matter) There is also something in every map known as the origin. Please pay careful attention to this term. In case you don't know, an origin is the point where something begins or where it comes from. All maps are laid out on a coordinate system, so there are positive numbers and negative numbers on all 3 axes. There is one point where they all meet, and that point has the coordinates < 0, 0, 0 >. This is known as the origin of the map (it is at the very center, if you haven't guessed). Everything else in the q3 engine has an origin, too, but for brushes, you don't need to worry about them too much. Radiant takes care of them for you. Entities are another story. Take a look around, and familiarize yourself with what you see. The brushes make up the tunnel the player starts in. The light entity changes the brightness and color of these brushes. The angle arrow is coming from the info_player_start entity, and that will be covered later. Finally, the connection lines are indicating that one interactive object is connected to another interactive object. If anything confuses you, and some of it should, it will be covered. Hang in there! Let's go over the very first thing in what was mentioned - brushes. They are everywhere. In quake, you will use them more than anything else to make a map. There are a few basic concepts you need to understand about these useful little things, though. If you've ever worked with 3d programs before, you may have used vertices, or vertexes (Pronounced: VER-tis-eez and VER-tex-ez, respectively) to drag things around. If so, you're one step ahead. A brush is made up of several vertexes, with lines, called edges, stretched between them. When you select a brush in GTKRadiant, these edges are outlined in white for you to see. To illustrate this, here are two brushes with only their vertices and edges showing. The first one is a simple cube: And here's a more complex brush: In these pictures, the vertices are the small green dots you see, and the edges are the white lines. Now, if you're new to the 3D realm, you're probably wondering what this has to do with making a visible object. In between the edges, the Quake III graphics engine makes a straight plane called a brush face. These faces are visible toward the outside of the brush only (There is one exception, covered in the next tutorial) and they can have a texture or a shader applied to them to make them look however you want them to. If you didn't understand any of that, don't worry one bit! You'll get the hang of things once you see how it's done. Moving Brushes So, back to the map we loaded up. We have some brushes, entities, an angle arrow and a few connection lines. For now, let's do something with one of the brushes. If you remember from the previous tutorial, to select a brush, you hold down the shift key and left-click on it. Go ahead and select one of them. • Select the brush shown below. Notice that on your grid, there is now a dashed line outlining the brush you just selected, and its edges are now visible as white lines in the 3D view. Note: By default, the brush selection colors are yellow, but if you read the GTKRadiant setup page, as I recommend, it shows you how to change it to red, which is much easier to see. You can use either the grid or the 3D view to manipulate a brush, but using the 3D view is EXTREMELY inaccurate. Always, ALWAYS, use the grid. Now to actually do something to this brush. • Click in the middle of the bush on your grid view and drag it a little to left and up. Do you see what happened in your 3d view as you dragged it? If you drag too far, Radiant may shoot your grid away from under your cursor, scrolling your grid outside the maximum bounds of the map and halfway to infinity before you can stop it. If this happens to you, press Ctrl + Z to undo the move that you did, then press Ctrl + Tab three times to get your grid back to your selection, and with the view on the same setting as it was before. Once you have everything back, try again. If you wish to drag something off the side of the grid to scroll the grid and move as you go, make your grid size smaller first so that it doesn't happen again. It should be pretty obvious what happened. The brush moved a little in the direction that you dragged it. As usual, if it's not exact, don't work yourself up over it. Everybody will get different results depending on what they do. Something else you should notice is that on Radiant's title bar, there is now an asterisk ( * ) after the map's name: This asterisk indicates that the map has had some changes made to it and has not been saved since then. While this is a nice little feature, it is not fully reliable. When you are working with entities and change their properties, the title bar will not show the asterisk. You probably don't have any idea what that means, so just take my advice for now and don't trust it. Also, if at any point you think your work needs saved, save it. Always save often - Radiant can crash unexpectedly. This map, however, doesn't need saved. You may want to use the original later, so let's just play around and not save anything. So, that's pretty basic, huh? You can now select brushes and move them around. If you are confused about anything, please, by all means, go over the process again, or use the chat box on the left (if you have frames enabled) to ask a question about it. Once you feel comfortable, continue on. Creating Brushes Now, let's try creating brushes. It may take a bit of time to figure out how to do it and what's going on, so to keep things simple, I'm going to open up a new map to do this, by going to the file menu and choosing new map. Radiant should tell you that you will lose your changes to the map. Press OK to continue, because you don't need to save what was changed. Finally, you will notice in your texture window that the textures from t3_rift_sample.map are still loaded. Since you won't be needing them, press the u button to unload them. Your texture window should now be completely empty. Now, all we're going to do is click in the empty grid view and drag the cursor across the area shown below: Once you have clicked and dragged from the circle to the tip of the arrow in the last picture, you will see this: You've just created a brush. The problem is, you can see it on your 2d view just fine, but you can't see it in the 3d view. There's a simple explanation: When you make a new brush, you are only dragging it on two of three dimensions. There is still a third dimension that must come from somewhere. GTKRadiant automatically uses the size and origin of the previously selected brush, which in our case was the brush we moved in t3_rift_sample.map. If we hadn't selected any brushes before this point, it would have used the current grid size to make the new brush, and it would have been at the center of the map. If it is at the center, don't worry; just follow along. Since the brush we selected in t3_rift_sample.map was far, far above the map's origin, and since Radiant is using the previously selected brush for the origin of your third axis, it naturally follows that the brush you created will appear at the same spot on whatever axis you are not dragging it by. Resizing Brushes Sorry about the LOOONG wait getting the rest of this tutorial up...I was very busy with TPC V3. I'll finish this up now. Resizing brushes is a tad tricky at first, but it must become second nature to you. The concept is pretty simple. With the brush you created in the step above still selected, click and drag from the red circle to the end of the arrow in the picture below: You should see this as your result: Notice how the brush dragged in a straight line. This is because of where you clicked. If you click inside the brush, it will move wherever you drag it. But if you click outside the brush, the way it resizes varies depending on where you clicked. The picture below simplifies what I just said above; it shows you what spots to click for the results you want: Basically, if you click outside the straight edge of a brush, it will only let you resize it on that direction. But if you click outside the corner of a brush, you have free reign over both edges on that corner. Experiment with this a little until you get the concept. This also applies to many-sided brushes. Make sure you understand this concept, because things are about to get interesting. Make your brush 8-sided. (Ctrl + 8 or go to the brush menu and choose 8 sided.) You will see this: This creates rather interesting dragging - you now have to carefully watch where you click. Here is what the 'drag zones' look like: That's proabably very scary and confusing. Let me illustrate it. Look at the picture below - click inside the red circle and drag where the arrow shows (You won't make it all the way): If your grid view moved, press Ctrl + tab three times to get back to the same view on the selected brush. What happened? You should now see this: It would appear that one of your brush faces has just disappeared! This is quite useful for making architecture and other tasks. However, there is something important you must remember: That brush face has NOT disappeared! It is still there, and GTKRadiant has not lost track of where it is. This can cause random errors like "SV_SetBrushModel: NULL" if you don't take care of it. The only fix is to run a brush cleanup. To help the example along, deselect the brush (ESC key). Run a brush clean up (this button): When you have run the cleanup, you will see a message in the console, and you will also see that the brush has been selected: The brush was reselected to tell you what brushes were changed, and the message in the console "1 invalid/duplicate planes removed" tells you that it found one invalid or duplicate plane. In our case, it was an invalid plane, and Radiant will no longer remember it. This tutorial really doesn't say much about brush resizing and all. Sorry about that, but it's best learned on your own. Good luck getting it down. I know you will, given time. It took me a while. Final Note As a final note on resizing and moving brushes: make sure you remember you have three different axes you are dealing with. Use your 3d view to know what it looks like and all is well. Simple Entities This will be a simple tutorial on entities. I will be writing an advanced entities tutorial and a scripting tutorial, hopefully within a week or two. Hang in there! So, to start, let's define what an entity is. In Quake III, an entity is anything that creates interractivity between the players and the map. For instance, spawn points are entities. They tell the game where you can spawn into the game when you first join or after you have died. Also, the spectator position and angle is entity controlled. Guns, ammo, force boons, doors...they're all entities. So, we're going to start with the very basics and do some simple things for now. Making Entities If you're going to use entities, you need to know how to make them first. This is really simple. Just find the location on the grid you want to create an entity at, right-click on the grid, and you will see this menu pop up: Don't be intimidated by the long list. This is where the (limited) power Q3 has is stored. You'll find out as we go along. Everything is categorized by what it does, so it's not very hard to understand. For now, we'll make an 'info_player_deathmatch'. • Right-click in the grid view • In the list the pops up, hover your mouse over the info line • Another list will pop up - click info_player_deathmatch You should see a pink box/rectangle appear on the grid view, centered where you had right-clicked. If you can see it in the 3d view, you will see a pink rectangle, taller than it is wide. This entity is the exact height of a player. This is because an info_player_deathmatch entity acts as a spawn point in FFA mode. A player will spawn here when they join the game or die. You can have as many of these as you like in a map, and the more the better. JA servers can hold 32 players, and you don't want any spawn frags. Granted, most servers won't have 32 players on it at once, but still, it's a good idea to plan for it.
  22. Window Setup When you have opened GTKRadiant, you SHOULD see something like this: The tall, thin window on the far left side, I do not use, because I have never figured out it's name or it's purpose. The view with the gridlines and numbers is what I call the grid view. (How creative!) There are two windows on the right side. The top one is called the 3d view, and the one on the bottom is called the texture window. The small window on the very bottom is the console output window, but that's not very important just yet. You may also have noticed that you can resize these windows by putting your cursor in the space between them, then clicking and dragging them. I would resize them the following way: The tall window on the left side should be almost completely gone (it does have some uses, but I just need a little tiny bit for them). The Grid View should extend to a little less than half the screen's width. The 3d View should take up more than half the vertical space, leaving the texture window with barely less than half. The Console Output window should have three to five lines of text visible. If you would like to enable a few cool features in Radiant or you are having errors with the 3d display window, click here for suggestions. Please note that the higher your screen resolution is, the more you will be able to see, which may help your mapping efficiency. My screen's resolution is set for 1920 x 1200, and I can see plenty with Radiant in full screen mode. I notice a big difference when I switch to a 1024 x 768 display. It's livable, but you should put your resolution up as high as your screen can go (as long as you can still read it). Open a map Click the open icon to open a map file. Radiant 1.4 has many sample maps included with it, and I would highly recommend downloading it to get them. Raven has released some of the JA maps as open-source, so you can have fun with them. You can open whatever map you want, but for sentimental reasons, I'll open FFA5 for this tutorial. • Click the open button, then go into the 'mp' folder. Open the map 'ffa5_sample.map.' Once the map is opened, Radiant should look somewhat like this: This should be self-explanatory, but I'll make sure it's clear. The 3d view shows you the current product. The big problem is that RADIANT CANNOT SHOW LIGHTING. If you click on a light entity, it will show you the area the light will affect, but it will NOT show your lighting. The Console Output Window will show you what Radiant has been doing to load the map. Usually, you will see a lot of textures being loaded as the map loads, and every once in a while, you will probably see a message that says "Warning: brush plane with no normal". For now, if you see it, just ignore it. We'll get there later. The Grid View shows you lines where the brushes, curve patches and entities are. This is also what you will use to resize things and move them around. (If you decide to use the 3d view for doing that, more power to you, but it's very hard to do and quite unpredictable sometimes.) Right-clicking in this window will also give you options for creating or modifying entities. The Texture Window shows the textures your map is currently using. If you are modifying anything, this makes it easy to find a texture you are already using, and if you want to use another texture that isn't currently used, you can open the texture set that contains it (more on that later). So you've opened a map. Big deal. But before you can get into anything really fun, you need to learn how to move around. Moving Around In order to display a 3d image, Radiant has to set up an imaginary 'camera.' This camera is displayed on the Grid View as a blue diamond shape with two blue lines coming out of it. The diamond shape is the camera itself, and the two lines indicate where the camera is pointing (in the picture, the camera is pointing towards the top of the picture). The camera can move through anything in your 3d creations (nothing is solid to it), but when the camera moves inside of a brush, it (the brush) will disappear. Now it is time to move the camera. • Right-click your mouse anywhere in the 3d View. Your pointer will disappear, and a small crosshair will appear in the middle of the 3d view. You can now rotate the camera around by moving the mouse. When you want to stop rotating the camera and get your pointer back, just right-click again. • To move the imaginary camera around within the map, you can do one of two things. If you have a 3-button mouse, you can use your scroll wheel to go forward and backward. If you don't have one, then the up and down arrows will move the camera forward and backward. If you are also rotating the camera, the camera will move in the direction the camera is aimed. Otherwise, it will move straight forward or straight backward. Some questions can be raised about how to move around in delicate areas. If things are bunched up too close together, how would you get the camera between them? There are two ways. You can hide one or more of the brushes (more on that later), or you can strafe the camera into the area. Note: Camera strafing in this way does not work in GTKRadiant 1.5! To strafe the camera, right-click in the 3d view, hold down the Ctrl key and move the mouse around. You should notice that the camera isn't rotating, but it is moving. If you were lined up sideways with the area you wanted to get the camera into, you could hold down Ctrl and then slide right in. As stated above, this does NOT work in Radiant 1.5. In 1.5, you would use the greater than and less than symbols on the keyboard to go sideways. This is actually one of the main reasons I prefer using 1.4 (I'm picky). Another more interesting way to move the camera around is to hold down the Ctrl key and middle click in the grid view where you want to place the camera. This is especially effective in rather large maps, as you can get places almost instantly, without waiting for the camera to crawl through and/or between hallways to a destination. Usage of the grid view will be covered next. You can now go anywhere and look at anything inside any map! The Grid View Before you can do anything to your map, you need to know how to use the Grid View to move, resize and create things. It's quite simple, but it is another vital skill that you cannot do without. First, you need to know how to move the grid view around to see the entire map. It's easy enough; just hold down the right mouse button and move it around. Your pointer will disappear, and the grid view will move. When you are done moving, let go of the right mouse button and you will get your pointer back again. That's great, but you can't see enough to do a whole lot, can you? There's an answer for that, too. If you have a 3-button mouse, then you can use your scroll wheel to zoom in and out. If you do not have a 3-button mouse, then you can use the delete and insert keys to zoom in and out, respectively. • Right-click and hold to move the grid view around. • The scroll wheel on your mouse will zoom in and out, or you can use the insert and delete keys. Note: To use the scroll wheel to zoom in and out in the grid view, you don't have to be clicking anything. Just put the pointer over the grid view. You've probably also noticed that the grid view is 'looking down' on the map. Maps can't just be made by looking down on them. In reality, there are three dimensions, referred to as x, y, and z. In the top left corner of GTKRadiant's grid view, you will see a small angle symbol with two of the dimensions listed. The dimension that is not listed is the one you are looking from. To change between the different axes on the grid view, push Ctrl + tab or push the xyz button on the toolbar. One final thing about the grid view. As you've noticed, the blocks on the grid are a pretty decent size, but it is just large enough to make high-precision mapping nearly impossible. Radiant lets you change the size of the grid blocks to suit your needs. • Use any of the number buttons above the letters on the keyboard (1, 2, 3, 4, 5, 6, 7, 8 & 9) to change the grid setting, or go to the grid menu and choose a size.Note also that pushing 0 will toggle between showing and hiding the gridlines to make it easy to see very detailed work. If you want to increase or decrease the grid size and don't care to know where it's at, use the [ and ] buttons to do it. That's about it for the grid view. It's very simple to learn and easy to use. Learn to do it well and you're well on your way to some good mapping! Selecting Brushes Besides moving the camera, working with brushes is the most important thing you can learn in Radiant. Brushes are used for most visible objects in a map, and being able to easily manipulate and stretch them is crucial to your success as a mapper. GTKRadiant follows the same select-then-do pattern as the rest or the computer world does, so it's quite simple to use. Also, remember that the term brush is the Quake 3 engine's term for a solid 3d object. First, let's select an existing brush from the map that was opened earlier. • If you want to be choosy, move the camera around until you see something you want to select. Hold down the shift key, then click on the brush you want to select. You probably won't be able to tell where the different brushes are, but don't worry about it. Just click randomly on a wall. You should see the part you clicked on become a shade of red and have a white outline. If it is visible in the grid view, it will be outlined in yellow (or, if you changed it earlier, it will bed reddish-orange). It is selected. Select another brush using the same method. Keep selecting things until you have a bunch of brushes selected. Now, shift click on one of the ones you already have selected. It will be deselected, and the red shade and white border will disappear. Also note that the outline on the grid view will disappear too (as it should). Now let's say you don't want that selection any more. • To deselect everything you have selected, press the Esc key. All selections will disappear! This is one of the most important things you can learn in Radiant, so it is imperative that you get it right, and that you learn all the tricks involved with it. Next, let's try drag selecting a bunch of brushes. •In the 3d View, Hold in the shift key, then hold down the left mouse button and drag the cursor over a bunch of brushes. This is a quick and useful method for making large selections. Still, if you wanted to select an entire map, or most of it, that might take a while. Or will it? • Press the i key on the keyboard. This will invert your selection. Every brush you had selected is now deselected, and everything else in the entire map is selected. This is useful in many ways. First off, if you want to select an entire map, just deselect everything and then invert your selection. You can move the entire map anywhere you want on the grid, delete it, resize it (although that's not a good idea) and many other things. Also, if you want to hide all but a certain few brushes for easy editing or CSG subtracting, you can select the brushes you want to edit, invert your selection, and then hide the unwanted brushes (more on hiding next, andCSG subtracting later). When dealing with brush entities, using Ctrl + Alt + left click on a brush will select the entire brush entity. This is quite useful when moving things around. That's a bit ahead of where we are now, so it will also be brought back up in the next tutorial. Hiding and Showing Brushes Sometimes, to see or edit things easier, it may be necessary to hide some brushes from view. This is a very common scenario during highly detailed work, but you should know it whether you do detailed work or not. • Select as many brushes as you like. • Now push the h key. The brush(es) will disappear. • To make the hidden brushes visible again, push shift + h. There are several things you should know about hiding brushes. First off, you can hide as many brushes as you want at any given time. Also, you can hide them at different times. You don't have to hide them, then unhide and rehide all over again. Also, and most importantly, inverting selections will NOT affect hidden brushes. This means a couple things: • If you are moving an entire map around, make SURE that you don't have any brushes hidden, or they will be missed during the move. • You can use this to your advantage to select only certain parts of a map, as shown below. • Select some brushes. • Push the i key to invert the selection. • Now push h to hide all the selected brushes. If you were going to do some in-depth editing on that door, you could now do it without seeing everything else in the way. It is much easier to edit the door correctly. That's pretty much all you need to know to get off to a good start in GTKRadiant! If you are confused at all, reread the tutorial, and if that doesn't help, there is a chat box and an entire forum for you to post questions, comments and missed material. Have fun, and don't be shy; you can sign up on the forum anyway for just some plain old fun chat. Hope you have fun mapping, and that you give it your best shot!
  23. As far as MP3 goes, it looks like you're doing everything correctly. After thinking about it for a second.....you said this is a sound effect, right? Try exporting it as a WAV file. MP3 is meant for music, and sounds should be WAV.
  24. This is highly unlikely, as most video media is sampled at 48000 hz or higher. As far as I know, 44100 hz is only used for CDs these days. That said, if you are exporting from Audacity, make sure the project (Not the audio) is set to 44100 hz, or it will automatically resample to something else on you. The project sample rate can be found in the bottom left corner of the screen. Are you splitting the stereo track to mono before exporting it? This might help: https://manual.audacityteam.org/man/splitting_and_joining_stereo_tracks.html If none of the above helps, post a screenshot of your file in Audacity, and we'll try and dissect the problem.
×
×
  • Create New...