iddevnet/quake4/LevelEditor_BasicRoom.html

270 lines
31 KiB
HTML
Raw Permalink Normal View History

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
<meta name="robots" content="index,nofollow">
<title>LevelEditor BasicRoom - Quake 4 SDK Documentation</title>
<script type="text/javascript" src="wiki/common/js/common.js"></script>
<script type="text/javascript">
<!--// common functions
// We keep here the state of the search box
searchIsDisabled = false;
function searchChange(e) {
// Update search buttons status according to search box content.
// Ignore empty or whitespace search term.
var value = e.value.replace(/\s+/, '');
if (value == '' || searchIsDisabled) {
searchSetDisabled(true);
} else {
searchSetDisabled(false);
}
}
function searchSetDisabled(flag) {
// Enable or disable search
document.getElementById('fullsearch').disabled = flag;
document.getElementById('titlesearch').disabled = flag;
}
function searchFocus(e) {
// Update search input content on focus
if (e.value == 'Search') {
e.value = '';
e.className = '';
searchIsDisabled = false;
}
}
function searchBlur(e) {
// Update search input content on blur
if (e.value == '') {
e.value = 'Search';
e.className = 'disabled';
searchIsDisabled = true;
}
}
function actionsMenuInit(title) {
// Initialize action menu
for (i = 0; i < document.forms.length; i++) {
var form = document.forms[i];
if (form.className == 'actionsmenu') {
// Check if this form needs update
var div = form.getElementsByTagName('div')[0];
var label = div.getElementsByTagName('label')[0];
if (label) {
// This is the first time: remove label and do buton.
div.removeChild(label);
var dobutton = div.getElementsByTagName('input')[0];
div.removeChild(dobutton);
// and add menu title
var select = div.getElementsByTagName('select')[0];
var item = document.createElement('option');
item.appendChild(document.createTextNode(title));
item.value = 'show';
select.insertBefore(item, select.options[0]);
select.selectedIndex = 0;
}
}
}
}
//-->
</script>
<link rel="stylesheet" type="text/css" charset="utf-8" media="all" href="wiki/modern/css/common.css">
<link rel="stylesheet" type="text/css" charset="utf-8" media="screen" href="wiki/modern/css/screen.css">
<link rel="stylesheet" type="text/css" charset="utf-8" media="print" href="wiki/modern/css/print.css">
<link rel="stylesheet" type="text/css" charset="utf-8" media="projection" href="wiki/modern/css/projection.css">
<!-- css only for MSIE browsers -->
<!--[if IE]>
<link rel="stylesheet" type="text/css" charset="utf-8" media="all" href="wiki/modern/css/msie.css">
<![endif]-->
<link rel="Start" href="./Quake4SDK.html">
2021-04-10 13:40:18 +00:00
<link rel="Alternate" title="Wiki Markup" href="./LevelEditor_BasicRoom?action=raw">
<link rel="Alternate" media="print" title="Print View" href="./LevelEditor_BasicRoom?action=print">
<link rel="Appendix" title="image01.jpg" href="./LevelEditor_BasicRoom?action=AttachFile&amp;do=view&amp;target=image01.jpg">
<link rel="Appendix" title="image02.jpg" href="./LevelEditor_BasicRoom?action=AttachFile&amp;do=view&amp;target=image02.jpg">
<link rel="Appendix" title="image03.jpg" href="./LevelEditor_BasicRoom?action=AttachFile&amp;do=view&amp;target=image03.jpg">
<link rel="Appendix" title="image04.jpg" href="./LevelEditor_BasicRoom?action=AttachFile&amp;do=view&amp;target=image04.jpg">
<link rel="Appendix" title="image05.jpg" href="./LevelEditor_BasicRoom?action=AttachFile&amp;do=view&amp;target=image05.jpg">
<link rel="Appendix" title="image06.jpg" href="./LevelEditor_BasicRoom?action=AttachFile&amp;do=view&amp;target=image06.jpg">
<link rel="Appendix" title="image07.jpg" href="./LevelEditor_BasicRoom?action=AttachFile&amp;do=view&amp;target=image07.jpg">
<link rel="Appendix" title="image08.jpg" href="./LevelEditor_BasicRoom?action=AttachFile&amp;do=view&amp;target=image08.jpg">
<link rel="Appendix" title="image09.jpg" href="./LevelEditor_BasicRoom?action=AttachFile&amp;do=view&amp;target=image09.jpg">
<link rel="Appendix" title="image10.jpg" href="./LevelEditor_BasicRoom?action=AttachFile&amp;do=view&amp;target=image10.jpg">
<link rel="Appendix" title="image11.jpg" href="./LevelEditor_BasicRoom?action=AttachFile&amp;do=view&amp;target=image11.jpg">
<link rel="Appendix" title="image12.jpg" href="./LevelEditor_BasicRoom?action=AttachFile&amp;do=view&amp;target=image12.jpg">
<link rel="Search" href="./FindPage.html">
<link rel="Index" href="./TitleIndex.html">
<link rel="Glossary" href="./WordIndex.html">
<link rel="Help" href="./HelpOnFormatting.html">
</head>
<body lang="en" dir="ltr">
<div id="header">
<div id="logo"><a href="./Quake4SDK.html"><img src="wiki/common/moinmoin.png" alt="MoinMoin Logo"></a></div>
<form id="searchform" method="get" action="">
<div>
<input type="hidden" name="action" value="fullsearch">
<input type="hidden" name="context" value="180">
<label for="searchinput">Search:</label>
<input id="searchinput" type="text" name="value" value="" size="20"
onfocus="searchFocus(this)" onblur="searchBlur(this)"
onkeyup="searchChange(this)" onchange="searchChange(this)" alt="Search">
<input id="titlesearch" name="titlesearch" type="submit"
value="Titles" alt="Search Titles">
<input id="fullsearch" name="fullsearch" type="submit"
value="Text" alt="Search Full Text">
</div>
</form>
<script type="text/javascript">
<!--// Initialize search form
var f = document.getElementById('searchform');
f.getElementsByTagName('label')[0].style.display = 'none';
var e = document.getElementById('searchinput');
searchChange(e);
searchBlur(e);
//-->
</script>
2021-04-10 13:40:18 +00:00
<ul id="username"><li><a href="./LevelEditor_BasicRoom?action=login" id="login">Login</a></li></ul>
<div id="locationline">
<ul id="pagelocation">
2021-04-10 13:40:18 +00:00
<li><a class="backlink" title="Click to do a full-text search for this title" href="./LevelEditor_BasicRoom?action=fullsearch&amp;value=linkto%3A%22LevelEditor+BasicRoom%22&amp;context=180">LevelEditor BasicRoom</a></li>
</ul>
</div>
<ul id="navibar">
<li class="wikilink"><a href="./GettingStarted.html">GettingStarted</a></li><li class="wikilink"><a href="./ScriptFile.html">ScriptFile</a></li><li class="wikilink"><a href="./MakeAMod.html">MakeAMod</a></li><li class="wikilink"><a href="./LevelEditor.html">LevelEditor</a></li><li class="wikilink"><a href="./FXEditor.html">FXEditor</a></li><li class="wikilink"><a href="./GUIEditor.html">GUIEditor</a></li><li class="wikilink"><a href="./Sounds.html">Sounds</a></li><li class="wikilink"><a href="./Animations.html">Animations</a></li><li class="wikilink"><a href="./ArtReference.html">ArtReference</a></li><li class="wikilink"><a href="./DownloadableContent.html">DownloadableContent</a></li><li class="wikilink"><a href="./RecentChanges.html">RecentChanges</a></li><li class="wikilink"><a href="./FindPage.html">FindPage</a></li><li class="wikilink"><a href="./HelpContents.html">HelpContents</a></li><li class="current"><a href="./LevelEditor_BasicRoom.html">LevelEditor BasicRoom</a></li>
</ul>
<div id="pageline"><hr style="display:none;"></div>
2021-04-10 13:40:18 +00:00
<ul class="editbar"><li><span class="disabled">Immutable Page</span></li><li><a href="./LevelEditor_BasicRoom?action=info">Info</a></li><li><a href="./LevelEditor_BasicRoom?action=AttachFile">Attachments</a></li><li>
<form class="actionsmenu" method="get" action="">
<div>
<label>More Actions:</label>
<select name="action"
onchange="if ((this.selectedIndex != 0) &&
(this.options[this.selectedIndex].disabled == false)) {
this.form.submit();
}
this.selectedIndex = 0;">
<option value="raw">Raw Text</option>
<option value="print">Print View</option>
<option value="RenderAsDocbook">Render as Docbook</option>
<option value="refresh">Delete Cache</option>
<option value="show" disabled class="disabled">------------</option>
<option value="SpellCheck">Check Spelling</option>
<option value="LikePages">Like Pages</option>
<option value="LocalSiteMap">Local Site Map</option>
<option value="show" disabled class="disabled">------------</option>
<option value="RenamePage" disabled class="disabled">Rename Page</option>
<option value="DeletePage" disabled class="disabled">Delete Page</option>
<option value="show" disabled class="disabled">------------</option>
<option value="MyPages">My Pages</option>
<option value="SubscribeUser">Subscribe User</option>
<option value="show" disabled class="disabled">------------</option>
<option value="Despam">Remove Spam</option>
<option value="PackagePages">Package Pages</option>
</select>
<input type="submit" value="Do">
</div>
<script type="text/javascript">
<!--// Init menu
actionsMenuInit('More Actions:');
//-->
</script>
</form>
</li></ul>
</div>
<div id="page" lang="en" dir="ltr">
<div dir="ltr" id="content" lang="en"><span class="anchor" id="top"></span>
<span class="anchor" id="line-1"></span><p class="line867">
<h1 id="head-134357f7f886fe88707e0393fd01f115f790d947">Q4Radiant Introduction - Build a Basic Room</h1>
<span class="anchor" id="line-2"></span><span class="anchor" id="line-3"></span><p class="line867">
<h2 id="head-a38c2fbb5c2736fa8e49906954ba5bd6816f70c0">Introduction to Q4Radiant</h2>
<span class="anchor" id="line-4"></span><p class="line874">This tutorial assumes a two mouse button configuration. <span class="anchor" id="line-5"></span><span class="anchor" id="line-6"></span><p class="line867"><img class="attachment" src="./LevelEditor_BasicRoom_01.jpg" title="attachment:image01.jpg" /> <span class="anchor" id="line-7"></span><span class="anchor" id="line-8"></span><p class="line862">Dont be alarmed that yours looks different, you can shuffle windows around to get a workspace that works best just by dragging and resizing the windows. Colors customization can be accessed through the top menu “Misc &gt; Colors” <span class="anchor" id="line-9"></span><span class="anchor" id="line-10"></span><ol type="1"><li>Main View This is where most of your work is done. You can use “ctrl-tab” to toggle between your side, front, and top views. Note when you hit ctrl-tab that the text indicator in the top left changes to show you what view youre currently looking at. <span class="anchor" id="line-11"></span></li><li>3D Preview Window You can view your work here as well as preview lights in this window. <span class="anchor" id="line-12"></span></li><li>Entity/Media/Texture/Console Window Select one of the tabs to view the appropriate information. <span class="anchor" id="line-13"></span></li><li>Z Window Used primarily for moving and sizing geometry vertically. <span class="anchor" id="line-14"></span></li><li>Status Bar Displays important information such as xy position, grid settings, and texture lock. Important items to note: <span class="anchor" id="line-15"></span><ol type="a"><li><p class="line891"><em>G</em> - Grid size 8.00 is 8x8, etc <span class="anchor" id="line-16"></span><span class="anchor" id="line-17"></span></li><li class="gap"><p class="line891"><em>R</em> - Rotation Lock <span class="anchor" id="line-18"></span><span class="anchor" id="line-19"></span></li><li class="gap"><p class="line891"><em>L</em> - Texture lock modes. Textures stay locked to your brush as you either move them "M" or rotate them "R." Turn this off if you do not wish the texture to stay with the object as you move it. <span class="anchor" id="line-20"></span><span class="anchor" id="line-21"></span></li></ol></li></ol><p class="line867">
<h2 id="head-63df94e0f62c022cb9a776ad9da442f999f089ef">Other Information</h2>
<span class="anchor" id="line-22"></span><p class="line874">The blue Z in the middle of the main view is used in conjunction with the Z Window. You can move this around using shift-middle click and if you have brushes intersecting it vertically they will show up in your Z Window. Its used more or less as a guide so you can see where your floor and ceilings are in the Z Window. <span class="anchor" id="line-23"></span><span class="anchor" id="line-24"></span><p class="line874">The small diamond with the lines extending from it is your current position and view in 3D space. The lines extending is your view direction. Youll see more of how this works later as you build your first room but for now just keep in mind its your view. <span class="anchor" id="line-25"></span><span class="anchor" id="line-26"></span><p class="line867">
<h2 id="head-abbad348a9f4a18e490f688708dbd84da0cb2a89">A Basic Room</h2>
<span class="anchor" id="line-27"></span><p class="line874">Radiant has a nonstandard interface for moving about in 3D space but after some time youll find that its really quite simple and very fast. After completeing this tutorial you should have a basic understanding on how to create and resize brushes as well as move the 3D view around. <span class="anchor" id="line-28"></span><span class="anchor" id="line-29"></span><p class="line874">To start left click in the 2D main view and draw out a square. <span class="anchor" id="line-30"></span><span class="anchor" id="line-31"></span><p class="line867"><img class="attachment" src="./LevelEditor_BasicRoom_02.jpg" title="attachment:image02.jpg" /> <span class="anchor" id="line-32"></span><span class="anchor" id="line-33"></span><p class="line874">Youve just created a brush. If you release the mouse button you can still resize the selected brush by left clicking outside the brush on the particular side you wish to resize and drag it where you need to. If you left click inside the bounds of the brush you can move the brush around. <span class="anchor" id="line-34"></span><span class="anchor" id="line-35"></span><p class="line874">To deselect the brush hit “Escape.” To select the brush again use shift-left click. <span class="anchor" id="line-36"></span><span class="anchor" id="line-37"></span><p class="line874">If you accidentally created another brush after deselecting your first brush you can delete it first by selecting it, shift-left click, and then hitting “Backspace.” <span class="anchor" id="line-38"></span><span class="anchor" id="line-39"></span><p class="line874">Now that your brush is created you probably want to look at it better in the 3D view to see exactly what youve made. To do this there are several keys for navigation: <span class="anchor" id="line-40"></span><span class="anchor" id="line-41"></span><ul><li style="list-style-type:none">C Move Up <span class="anchor" id="line-42"></span>D Move Down <span class="anchor" id="line-43"></span>A Rotate Up <span class="anchor" id="line-44"></span>Z Rotate Down <span class="anchor" id="line-45"></span>Arrows Move <span class="anchor" id="line-46"></span><span class="anchor" id="line-47"></span></li></ul><p class="line874">Using these you can rotate and look around at your newly created brush. <span class="anchor" id="line-48"></span><span class="anchor" id="line-49"></span><p class="line874">Now that youve got your first brush created lets go ahead and turn it into something. This first brush will be our floor for your first room. <span class="anchor" id="line-50"></span><span class="anchor" id="line-51"></span><p class="line874">Next we need to build up one of the walls for your room. Make sure your brush is deselected and then draw out a new brush making sure that it touches the floor: <span class="anchor" id="line-52"></span><span class="anchor" id="line-53"></span><p class="line867"><img class="attachment" src="./LevelEditor_BasicRoom_03.jpg" title="attachment:image03.jpg" /> <span class="anchor" id="line-54"></span><span class="anchor" id="line-55"></span><p class="line874">While the brush is still selected hit ctrl-tab to switch to a side view and drag the upper edge of the brush up. Once satisified with the height, hit ctrl-tab twice more to return to the top view. You should have a view similar to something like this: <span class="anchor" id="line-56"></span><span class="anchor" id="line-57"></span><p class="line867"><img class="attachment" src="./LevelEditor_BasicRoom_04.jpg" title="attachment:image04.jpg" /> <span class="anchor" id="line-58"></span><span class="anchor" id="line-59"></span><p class="line874">In the grid view it looks the same as before but in the 3D view we now have what appears to be a wall. In order to complete the room well need a few more walls. You can accomplish this in one of two ways. The first way is to simply deselect the brush and draw a new wall. Youll notice that if you do this, the new brush has the same height as
<h2 id="head-269df2cfdb7ba2f482278db0d717d9b93bfbaf15">Save Your Work (Often)</h2>
<span class="anchor" id="line-90"></span><p class="line874">Time to save your map. Save it in q4base/maps/tutorial/room.map (you may need to create the “maps” and “tutorial” directories as needed). You can save it anywhere you want within maps, but it has to be somewhere in q4base/maps in order for the game to load it. <span class="anchor" id="line-91"></span><span class="anchor" id="line-92"></span><p class="line867">
<h2 id="head-3fc88b12d9879179725fd02e845f2848f692deed">Basic Texture Manipulation</h2>
<span class="anchor" id="line-93"></span><p class="line874">Being able to move and resize textures is a key aspect of building your level. Youll notice in the example map the edges of the plating panel doesnt line up with the corner of the room. To fix this first well have to turn on Texture Lock in the preferences: <span class="anchor" id="line-94"></span><span class="anchor" id="line-95"></span><p class="line874">Hit “P” for Preferences and then select “Snap T To Grid.” Make sure this is checked and select ok. What this does is allows you to move textures based on your grid size. More on grid sizes later. <span class="anchor" id="line-96"></span><span class="anchor" id="line-97"></span><p class="line874">With the one wall selected, hold shift and hit an arrow button. Youll notice the texture begins to shift. You can use this to line up the edges of your textures with your world architecture: <span class="anchor" id="line-98"></span><span class="anchor" id="line-99"></span><p class="line867"><img class="attachment" src="./LevelEditor_BasicRoom_08.jpg" title="attachment:image08.jpg" /> <span class="anchor" id="line-100"></span><span class="anchor" id="line-101"></span><p class="line874">To further expand on texture manipulation and grid sizes lets build a pillar somewhere in the room. To do this, lets make the pillar 64x64 units. One way to do this is to draw it out on our current grid size to be the size that we want, or we can switch the grid to a larger size to make sure our brush is exactly the size we want it. <span class="anchor" id="line-102"></span><span class="anchor" id="line-103"></span><p class="line874">Hit “7” on your keyboard. The minor grid lines should disappear and leave you with just the major grid lines. You are now on the 64x64 grid. Draw a new brush somewhere in your room. Youll notice that you have to draw it slightly bigger for it to appear and itll snap to these larger grid lines. Hit the number “4” to go back to the 8x8 grid and youll see all the minor grid lines appear. <span class="anchor" id="line-104"></span><span class="anchor" id="line-105"></span><p class="line874">Play with the numbers 1-7 to view the different grid sizes available to you. <span class="anchor" id="line-106"></span><span class="anchor" id="line-107"></span><p class="line874">Finish your pillar by selecting it and using either the Z Window or using ctrl-tab to switch views to stretch it out vertically: <span class="anchor" id="line-108"></span><span class="anchor" id="line-109"></span><p class="line867"><img class="attachment" src="./LevelEditor_BasicRoom_09.jpg" title="attachment:image09.jpg" /> <span class="anchor" id="line-110"></span><span class="anchor" id="line-111"></span><p class="line874">Now were going to need to texture this pillar with a cool pillar texture to make it look interesting. To do this, load the common_walls directory the same way that we loaded them in previous. Select a texture that looks like itll fit on the pillar: <span class="anchor" id="line-112"></span><span class="anchor" id="line-113"></span><p class="line867"><img class="attachment" src="./LevelEditor_BasicRoom_10.jpg" title="attachment:image10.jpg" /> <span class="anchor" id="line-114"></span><span class="anchor" id="line-115"></span><p class="line874">Weve now got a pillar set up. If you wanted to get a bit more in depth you can also select faces to texture them differently. To do this you can ctrl-shift-left click on any surface in the 3D window and select it. Do this on one of the faces of the pillar and then once its selected, select a new Texture in the Texture window: <span class="anchor" id="line-116"></span><span class="anchor" id="line-117"></span><p class="line867"><img class="attachment" src="./LevelEditor_BasicRoom_11.jpg" title="attachment:image11.jpg" /> <span class="anchor" id="line-118"></span><span class="anchor" id="line-119"></span><p class="line874">You can transfer this texture to other faces as well. Without having to select each face indivi
<h2 id="head-b81bb6fa272c5ed723ac0b24e5d73bf84c07ccbb">Basic Lighting &amp; Entity Placement</h2>
<span class="anchor" id="line-124"></span><p class="line862">Given that lights are entities well cover both quickly in the same group. To drop any entity in the game (an entity could be spawn points, lights, or creatures for example) right click in the 2D window. A menu will appear. Select “Info &gt; info_player_start from the list. <span class="anchor" id="line-125"></span><span class="anchor" id="line-126"></span><p class="line874">There will now be a player start somewhere in your map. This is where the player spawns so its important to make sure this is inside your room somewhere. Go ahead and move it like you would a brush into your room and align it with the floor. <span class="anchor" id="line-127"></span><span class="anchor" id="line-128"></span><p class="line867"><img class="attachment" src="./LevelEditor_BasicRoom_12.jpg" title="attachment:image12.jpg" /> <span class="anchor" id="line-129"></span><span class="anchor" id="line-130"></span><p class="line874">Add a light to the scene to allow the player to see his surroundings. Right click in the main view again and select “Light.” A light will now be somewhere in the map, move this light inside of the box room. <span class="anchor" id="line-131"></span><span class="anchor" id="line-132"></span><p class="line874">Hit F3 and your 3D preview will turn into a preview of what your room will look like in game. Go ahead and move the light around to get a placement that youd like. <span class="anchor" id="line-133"></span><span class="anchor" id="line-134"></span><p class="line867">
<h2 id="head-fa01edadd731fc7a3add51a06eb044156af4bff7">Compiling &amp; Running the Map</h2>
<span class="anchor" id="line-135"></span><p class="line862">Save the map and select BSP &gt; BSP from the menu. The editor will compile your map in a few short seconds and then youll be done. When the console is done writing out all the files go ahead and hit F2 to load a window copy of the game. <span class="anchor" id="line-136"></span><span class="anchor" id="line-137"></span><p class="line874">For simplicity sake were going to run the map using the F2 button. This can be unstable however and it is a lot safer to run two copies of the game (one editor, one windowed game instance) and then just tab between the two for testing or building. <span class="anchor" id="line-138"></span><span class="anchor" id="line-139"></span><p class="line874">Load your map using the map command: <span class="anchor" id="line-140"></span>map yourmapname” <span class="anchor" id="line-141"></span><span class="anchor" id="line-142"></span><p class="line874">If you saved it in the same spot as described in this tutorial it would be: <span class="anchor" id="line-143"></span>“map tutorial/room.map” <span class="anchor" id="line-144"></span><span class="anchor" id="bottom"></span></div><p id="pageinfo" class="info" lang="en" dir="ltr">LevelEditor BasicRoom (last edited 2005-11-15 14:40:21 by <span title="CoreyPeters @ 24-179-217-25.dhcp.mdsn.wi.charter.com[24.179.217.25]"><a class="nonexistent" href="./CoreyPeters.html" title="CoreyPeters @ 24-179-217-25.dhcp.mdsn.wi.charter.com[24.179.217.25]">CoreyPeters</a></span>)</p>
<div id="pagebottom"></div>
</div>
<div id="footer">
2021-04-10 13:40:18 +00:00
<ul class="editbar"><li><span class="disabled">Immutable Page</span></li><li><a href="./LevelEditor_BasicRoom?action=info">Info</a></li><li><a href="./LevelEditor_BasicRoom?action=AttachFile">Attachments</a></li><li>
<form class="actionsmenu" method="get" action="">
<div>
<label>More Actions:</label>
<select name="action"
onchange="if ((this.selectedIndex != 0) &&
(this.options[this.selectedIndex].disabled == false)) {
this.form.submit();
}
this.selectedIndex = 0;">
<option value="raw">Raw Text</option>
<option value="print">Print View</option>
<option value="RenderAsDocbook">Render as Docbook</option>
<option value="refresh">Delete Cache</option>
<option value="show" disabled class="disabled">------------</option>
<option value="SpellCheck">Check Spelling</option>
<option value="LikePages">Like Pages</option>
<option value="LocalSiteMap">Local Site Map</option>
<option value="show" disabled class="disabled">------------</option>
<option value="RenamePage" disabled class="disabled">Rename Page</option>
<option value="DeletePage" disabled class="disabled">Delete Page</option>
<option value="show" disabled class="disabled">------------</option>
<option value="MyPages">My Pages</option>
<option value="SubscribeUser">Subscribe User</option>
<option value="show" disabled class="disabled">------------</option>
<option value="Despam">Remove Spam</option>
<option value="PackagePages">Package Pages</option>
</select>
<input type="submit" value="Do">
</div>
<script type="text/javascript">
<!--// Init menu
actionsMenuInit('More Actions:');
//-->
</script>
</form>
</li></ul>
<ul id="credits">
<li><a href="http://moinmoin.wikiwikiweb.de/">MoinMoin Powered</a></li><li><a href="http://www.python.org/">Python Powered</a></li><li><a href="http://validator.w3.org/check?uri=referer">Valid HTML 4.01</a></li>
</ul>
</div>
</body>
</html>