<?xml version="1.0" encoding="UTF-8"?><!-- generator="wordpress.com" -->
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	>

<channel>
	<title>nwn &amp;laquo; WordPress.com Tag Feed</title>
	<link>http://en.wordpress.com/tag/nwn/</link>
	<description>Feed of posts on WordPress.com tagged "nwn"</description>
	<pubDate>Sat, 26 Dec 2009 08:25:30 +0000</pubDate>

	<generator>http://en.wordpress.com/tags/</generator>
	<language>en</language>

<item>
<title><![CDATA[Multiplayer PC Games - Why Neverwinter Nights Works Nicely]]></title>
<link>http://noahms456.wordpress.com/2009/12/25/multiplayer-pc-games-why-neverwinter-nights-works-nicely/</link>
<pubDate>Fri, 25 Dec 2009 08:16:48 +0000</pubDate>
<dc:creator>noahms456</dc:creator>
<guid>http://noahms456.wordpress.com/2009/12/25/multiplayer-pc-games-why-neverwinter-nights-works-nicely/</guid>
<description><![CDATA[Well, playing around with one of my favorite games, NWN.  It&#8217;s an oldie.  But I think it stand]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Well, playing around with one of my favorite games, NWN.  It&#8217;s an oldie.  But I think it stands up quite nicely to new ones.  Why?</p>
<p>1) It ran well on old computers a couple of years ago, and while it&#8217;s simple, it screams on modern machines.</p>
<p>2) The most community made content of any game, I think.</p>
<p>3) Versatile, relatively easy to learn scripting (well, not in my case).  If you can&#8217;t figure it out, then there&#8217;s loads of pre-made scripts and script generators.</p>
<p>4) Pretty cheap, these days!</p>
<p>5) The thing is MP right out of the box!  And the DM client is just about the most useful thing out there.</p>
<p>6) The mapping tools are outrageously simple.</p>
<p>There&#8217;s more, but it&#8217;s late and it&#8217;s Christmas.  Sadly, there are only a few hardcore fans left that play it online.  I still haven&#8217;t gotten to play a CTF module or the Contest of Champions.</p>
<p>Hey, if you read this (ha!), get in touch with me and play some neo-old skool MP DnD!  I got a hankering to try a halfling thief and run around laying traps everywhere and backstabbing!</p>
<p>Oh, and Merry Christmas!</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[The Lack of Tact and Grace in Our Culture, also Summoning Dragons]]></title>
<link>http://noahms456.wordpress.com/2009/12/22/the-lack-of-tack-and-grace-in-our-culture-also-summoning-dragons/</link>
<pubDate>Tue, 22 Dec 2009 06:47:41 +0000</pubDate>
<dc:creator>noahms456</dc:creator>
<guid>http://noahms456.wordpress.com/2009/12/22/the-lack-of-tack-and-grace-in-our-culture-also-summoning-dragons/</guid>
<description><![CDATA[Two things.  Britney Murphy.  I really don&#8217;t give a fuck, except to the eye of a person who de]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Two things.  Britney Murphy.  I really don&#8217;t give a fuck, except to the eye of a person who deals with this kind of thing I might guess at what caused it.  I&#8217;m not her friend or former lover, so I will not Tweet what I think.  It&#8217;s a loss.  The death of anyone before their time is a loss.  I could&#8217;ve waited for a press release, or quietly not said anything at all.  But tweeting the thing is an absolute lapse of good sense and judgement.  For fuck&#8217;s sake, be a grown man and hold your tongue.  You don&#8217;t need to appear like an idiot to the entire world.  Jesus.  At least, don&#8217;t abbreviate your freaking heartfelt condolences.  2day.  Fuck, what has this world come to?  The guy is almost a grown man and probably a millionaire.  I hate California.  Fuck you, Los Angeles.  Yes, I mean it.  Fuck you.</p>
<p>Second, owing to scouring the interwebs, I finally got tag based scripting to work in Neverwinter Nights.  A simple include statement was all that was missing.  Now I can summon dragons at the drop of a doodad.  It&#8217;s kind of fun to watch.  If I were so inclined, I would make a Machinima with the various special effects and whatnot.  I guess I am so inclined, as that&#8217;s why I set out to start the thing in the first place.  Still, watching the thing go down, my heart skipped a beat, because it was clear (from the sound effects) that it worked&#8230;. finally!</p>
<p>The line that was missing was:</p>
<p>#include &#8220;x2_inc_switches&#8221;</p>
<p>Strangely, not included in any tutorials except the last one I checked.  Whew.  Even Lilac_Soul&#8217;s script generator left it out, much to my head scratching and aggravation.  Anyways, my Call of Cthulhu d20 Modern Module is now on track, at long last &#8211; thanks to the NWN community and Meth&#8217;s Sanity Scripts Beta.  Who you are, Meth, I will never know, as the emails bounce back.</p>
<p>Same thing happens for the clever person who coded the &#8220;HL2 Random Map Creator&#8221;.</p>
<p>I mean, hell, it&#8217;s the holidays.  I deserve to be able to tinker around a little.  At least it&#8217;s freaking working.</p>
<p>Merry Christmas &#8211; soon I&#8217;m off to the land of the Mayas.  Not 2day, but soon.  Seriously, I mean it.  Fuck You, Los Angeles.  A breeding ground for senseless assholes.  I guess that&#8217;s true of everywhere.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Kickin' It Old School]]></title>
<link>http://carcerextraho.wordpress.com/2009/12/08/kickin-it-old-school/</link>
<pubDate>Tue, 08 Dec 2009 05:36:43 +0000</pubDate>
<dc:creator>Carcer Extraho</dc:creator>
<guid>http://carcerextraho.wordpress.com/2009/12/08/kickin-it-old-school/</guid>
<description><![CDATA[Yesterday I got out my copy of Neverwinter Nights Diamond Edition, that&#8217;s right: the 2002 rele]]></description>
<content:encoded><![CDATA[Yesterday I got out my copy of Neverwinter Nights Diamond Edition, that&#8217;s right: the 2002 rele]]></content:encoded>
</item>
<item>
<title><![CDATA[Web Tools for Your RPG Campaing- Obsidian Portal]]></title>
<link>http://ruinsofempire.wordpress.com/2009/11/05/web-tools-for-your-rpg-campaing-obsidian-portal/</link>
<pubDate>Thu, 05 Nov 2009 22:04:44 +0000</pubDate>
<dc:creator>ralfast</dc:creator>
<guid>http://ruinsofempire.wordpress.com/2009/11/05/web-tools-for-your-rpg-campaing-obsidian-portal/</guid>
<description><![CDATA[I found (via the Penny Arcade news page) a new web based site for tracking and keeping notes about p]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>I found (via the<a href="http://www.penny-arcade.com/2009/11/2/" target="_blank"> Penny Arcade news page</a>) a new web based site for tracking and keeping notes about pencil-and-paper RPG campaigns. Its called <a href="http://www.obsidianportal.com/" target="_blank">Obsidian Portal.</a> According to their home page:</p>
<blockquote><p><a href="http://vimeo.com/1674068?pg=embed&#38;sec=1674068" target="_blank">Obsidian Portal</a> allows you to create Dungeons and Dragons campaign websites and other tabletop role-playing games. Rather than trying to automate the playing of the game, Obsidian Portal provides tools to help facilitate the storytelling. Every campaign gets a shared blog/wiki to showcase their story, as well as integrated tools to help track NPCs, locations, treasure, and all the other minutae that makes up an RPG. Check out this video for more details.</p></blockquote>
<p>Basically you can upload background information, maps (in jpeg format) and all the minutia of your current campaign. It need not be a D&#38;D campaign or for that matter an RPG at all (great for fantasy/sci-fi world building) and the service is free (although if you want to use the full features you need to &#8220;upgrade&#8221;). So far I found it useful if nothing else a backup for my own files in case the worse happens. For example, I uploaded <a href="http://www.obsidianportal.com/campaign/shattered-shield/maps/show/5303">this map</a> of one of the locations for my upcoming campaign (made with the <a href="http://en.wikipedia.org/wiki/Neverwinter_Nights" target="_blank">Neverwinter Nights 1</a> <a href="http://en.wikipedia.org/wiki/Aurora_Engine" target="_blank">Aurora engine</a>, however my copy of NVW went kaput, so I lost the ability to create more 3D maps!). Feel free check out my campaign page <a href="http://www.obsidianportal.com/campaign/shattered-shield" target="_blank">here.</a></p>
<p>&#160;</p>
<p>And now for some over the top anime action!</p>
<p><span style='text-align:center; display: block;'><object width='425' height='350'><param name='movie' value='http://www.youtube.com/v/6zokOLzDiD8&#038;rel=1&#038;fs=1&#038;showsearch=0&#038;hd=0' /><param name='allowfullscreen' value='true' /><param name='wmode' value='transparent' /><embed src='http://www.youtube.com/v/6zokOLzDiD8&#038;rel=1&#038;fs=1&#038;showsearch=0&#038;hd=0' type='application/x-shockwave-flash' allowfullscreen='true' width='425' height='350' wmode='transparent'></embed></object></span></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Neverwinter Nights in VirtualBox: My Settings]]></title>
<link>http://charly4711.wordpress.com/2009/10/19/neverwinter-nights-in-virtualbox-my-settings/</link>
<pubDate>Mon, 19 Oct 2009 11:27:42 +0000</pubDate>
<dc:creator>Karl H. Beckers</dc:creator>
<guid>http://charly4711.wordpress.com/2009/10/19/neverwinter-nights-in-virtualbox-my-settings/</guid>
<description><![CDATA[Now that I&#8217;ve managed to get my copy of Neverwinter Nights to run in a VirtualBox VM (as detai]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Now that I&#8217;ve managed to get my copy of <strong>Neverwinter Nights</strong> to run in a <strong>VirtualBox</strong> VM (<a href="http://charly4711.wordpress.com/2009/10/17/thanks-virtualbox-for-opengl-support/" target="_blank">as detailed here</a>), I wanted to make sure I got the most bang for my bucks, and played around a bit with a few tunables.</p>
<p>My VirtualBox settings depend a lot on my hardware, of course. In my case it&#8217;s a MacBook Pro with 4 GB of RAM. I initially started granting 2 GB to the VM and trying to measure how much is needed with vmstat while running the game. However, either there is a memory leak in nwmain or the way of measuring vmstat into a file leaks memory somehow (to HDD cache or some such). The measurement had only 400 MB of the 2 GB left after playing and quitting the game only freed up memory to a total of about 900 MB. However, setting the total available memory to <strong>1 GB seems to work nicely</strong>. My settings are like these:</p>

<p>The first thing I do after starting the VM is <strong>turn off host integration for the mouse</strong>. While that generally works quite satisfactorily, with NWN, I can&#8217;t stand it. Because the SDL game tries to mess around with the mouse pointer at a lower level, moving the mouse out of the VM leaves the mouse pointer invisible. When you click on something rendered by the host (say an icon on the backdrop or a window), the mouse pointer becomes visible. If you, then, move back into the VM, you suddenly have two mouse pointers painted one over the other &#8230; rather distracting.</p>
<p>As far as settings in Neverwinter Nights itself are concerned, a resolution of 1400 x 1050 was what I was going for. One word of caution: <strong>&#8220;environment mapping on creatures&#8221; seriously messes up your display</strong>. I started with these settings:</p>
<div id="attachment_187" class="wp-caption aligncenter" style="width: 310px"><a href="http://charly4711.wordpress.com/files/2009/10/video-options1.png"><img class="size-medium wp-image-187" title="Video Options" src="http://charly4711.wordpress.com/files/2009/10/video-options1.png?w=300" alt="Initial Video Options" width="300" height="263" /></a><p class="wp-caption-text">Initial Video Options</p></div>
<div id="attachment_186" class="wp-caption aligncenter" style="width: 310px"><a href="http://charly4711.wordpress.com/files/2009/10/advanced-video-options1.png"><img class="size-medium wp-image-186" title="Advanced Video Options" src="http://charly4711.wordpress.com/files/2009/10/advanced-video-options1.png?w=300" alt="Initial Advanced Video Options" width="300" height="257" /></a><p class="wp-caption-text">Initial Advanced Video Options</p></div>
<p>Those settings worked well for a while. The only thing I noticed were some white polygons here and there, a couple of trees, some carpets, my Paladin mount, nothing terrible. But it turned out that I was quite lagged in situations where a large number of other characters were around. I was looking into my network connection, memory and storage load, but it, quite simply, turned out to be <strong>anti-aliasing</strong>. Turning that off removed any lag for me (that I couldn&#8217;t explain by a major download or some such.) It also doesn&#8217;t impact the look and feel so much IMHO. My current settings, thus, are:</p>
<div id="attachment_185" class="wp-caption aligncenter" style="width: 310px"><a href="http://charly4711.wordpress.com/files/2009/10/video-options-min.png"><img class="size-medium wp-image-185" title="Video Options (min)" src="http://charly4711.wordpress.com/files/2009/10/video-options-min.png?w=300" alt="Current Video Options" width="300" height="198" /></a><p class="wp-caption-text">Current Video Options</p></div>
<div id="attachment_184" class="wp-caption aligncenter" style="width: 310px"><a href="http://charly4711.wordpress.com/files/2009/10/advanced-video-options-min.png"><img class="size-medium wp-image-184" title="Advanced Video Options (min)" src="http://charly4711.wordpress.com/files/2009/10/advanced-video-options-min.png?w=300" alt="Current Advanced Video Options" width="300" height="190" /></a><p class="wp-caption-text">Current Advanced Video Options</p></div>
<p>I don&#8217;t use any of the <a href="http://docs.huihoo.com/sdl/1.2/sdlenvvars.html" target="_blank">SDL environment variables</a> that I used to, anymore. The only thing that I changed in nwn is to remove the game provided SDL libraries from the library path to make it use the newer ones from jaunty. Not sure that makes much of a difference, though.</p>
<p>Anyway, I&#8217;m set. The game hasn&#8217;t crashed ever once in VirtualBox.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Thanks, VirtualBox, for OpenGL support]]></title>
<link>http://charly4711.wordpress.com/2009/10/17/thanks-virtualbox-for-opengl-support/</link>
<pubDate>Sat, 17 Oct 2009 15:29:58 +0000</pubDate>
<dc:creator>Karl H. Beckers</dc:creator>
<guid>http://charly4711.wordpress.com/2009/10/17/thanks-virtualbox-for-opengl-support/</guid>
<description><![CDATA[When an old friend of mine asked whether we wanted to try and play a bit of &#8220;Neverwinter Night]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>When an old friend of mine asked whether we wanted to try and play a bit of &#8220;<strong>Neverwinter Nights</strong>&#8221; again, I had accidentally just read that the game is available on Mac, too, and I embarked on an odyssey to get this to run.</p>
<p>Of course, I still had my whole old NWN Linux installation backed up. So I extracted that again. I imagined, I would just get the latest patch from Bioware, extract the Mac binaries, copy them over and be done with it. That, of course, would have been too easy. I did get the latest patch and extracted the Mac OSX apps. However, they wouldn&#8217;t run. Turned out, I needed some specific libraries from the MacSoft version of the game. The Mac game is no longer for sale, and quite contrary to prices for the PC versions, prices for used Mac versions are pretty high on ebay. So I found the old NWN Tech Demo on the Internet and copied the &#8220;<strong>Bink Carbon Library</strong>&#8221; to my NWN directory and the libraries in the miles/ directory to my miles/ directory. Lo and behold, the game would start, I was overjoyed &#8230; for a while.</p>
<p>A while later it turned out, the game did not run reliably. It took up the habit of crashing on me in the most inconvenient situations. I died a couple of times on both &#8220;<strong>Forgotten Realms Cormyr</strong>&#8221; and &#8220;<strong>World of Greyhawk</strong>&#8221; because the game crashed when I was almost done with some heavy fighting, myself almost spent, I then couldn&#8217;t get a connection again for an hour or more, and eventually got back right into the dungeon nearly dead with all the monsters respawned. No fun at all!</p>
<p>So before diving deeper into any action, I resolved to get a more stable gameplay experience. I tried researching the crash, but all the CrashReporter told me was that it was some sort of rosetta problem. I completely replaced rosetta with the original Leopard CD version. That, at first, seemed to help, but after a while I was getting the same crashes. Then I tried wine, with or without the NWN Wrapper off http://nwn.bioware.com . No luck there.</p>
<p>Finally, I thought, why not use <strong>VirtualBox</strong>? After all, VirtualBox does have <strong>OpenGL</strong> support. So, another attempt:</p>
<p>Install Linux on my recently updated VBox 3.0.8. I only had a gutsy CD ready, so I used that. Installation done, VirtualBox guest additions installed (with message about too old a kernel for DRI), glxgears showed smth., fire up nwn and &#8230; the complete VM crashed &#8230; wow!</p>
<p>So back we go to the VirtualBox documentation to find that <a href="http://www.virtualbox.org/manual/UserManual.html#guestadd-3d" target="_blank">OpenGL support requires kernel version 2.6.27</a>. Gutsy&#8217;s way too old. I update to hardy, to intrepid, reinstall the guest additions and glxinfo shows OpenGL version 2. Try nwn again &#8230; the VM crashes again. That with the docs saying OpenGL has been tested on ubuntu 8.10 (though glxgears was a lot smoother, now.)</p>
<p>Before giving up completely, I upgraded to 9.04 without much hope. I reinstalled the guest additions again, for the sake of completeness fired up nwn, and &#8230;<strong> IT WORKS!!!</strong></p>
<p>I&#8217;ll test this some more and come back with good settings.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Administración web de una base de datos de NWN - Parte 6]]></title>
<link>http://eourus.wordpress.com/2009/10/01/administracion-web-de-una-base-de-datos-de-nwn-parte-6/</link>
<pubDate>Thu, 01 Oct 2009 09:55:54 +0000</pubDate>
<dc:creator>eourus</dc:creator>
<guid>http://eourus.wordpress.com/2009/10/01/administracion-web-de-una-base-de-datos-de-nwn-parte-6/</guid>
<description><![CDATA[Espero que una vez llegado este momento tengáis una idea de como crear secciones nuevas para nuestro]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Espero que una vez llegado este momento tengáis una idea de como crear secciones nuevas para nuestro módulo de administración web y que hayáis captado por lo menos la idea.</p>
<p>Como nunca hay nada mejor que jugar con algo ya hecho, he decidido dejaros unos archivos de ejemplo. Este es el enlace para descargarlo: <a href="http://blog.costadelaespada.com/download/mantenimiento.rar"></a> <a href="http://nwvault.ign.com/View.php?view=Other.Detail&#38;id=1261" target="_blank">http://nwvault.ign.com/View.php?view=Other.Detail&#38;id=1261</a></p>
<p>Aunque dentro del archivo comprimido podréis encontrar una pequeña ayuda para ponerlo en funcionamiento, he decidido copiároslo también por aquí.</p>
<p><!--more--></p>
<p><strong>Resumen del contenido:</strong></p>
<table border="0" cellspacing="2" cellpadding="2" width="100%">
<tbody>
<tr>
<td>/</td>
<td>ficheros del panel de administración</td>
</tr>
<tr>
<td>/css/</td>
<td>hojas de estilos del panel de administración</td>
</tr>
<tr>
<td>/img/</td>
<td>imagenes del panel de administración</td>
</tr>
<tr>
<td>/includes/</td>
<td>includes para el correcto funcionamiento del panel de administración</td>
</tr>
<tr>
<td>/otros/</td>
<td>módlo de prueba y el fichero a importar en el mysql</td>
</tr>
</tbody>
</table>
<p><strong>Requesitos:</strong></p>
<ol>
<li>Servidor Apache o cualquier otro servidor que corra páginas en php.</li>
<li>Servidor de Base de datos Mysql.</li>
<li>Php.</li>
<li>Nwnx2, Neverwinter Nights 1 junto con sus expansiones y actualizaciones, la última versión del CEP. (solo en caso de utilizar los ejemplos).</li>
</ol>
<p><!--more--></p>
<p><strong>Instalación:</strong></p>
<p>Logicamente no voy a mencionar como instalar y configurar el servidor en sí. Doy por sentado que tenemos todos los requisitos funcionando correctamente.</p>
<ol>
<li>Añadir la carpeta mantenimiento en el directorio de nuestra web.</li>
<li>Copiar el módulo de prueba (podéis localizarlo en la carpeta &#8220;otros&#8221;) a su directorio correspondiente dentro de la carpeta del NWN.</li>
<li>Importar el fichero sql a nuestro servidor de mysql.</li>
<li>Establecer los permisos correspondientes en el servidor de mysql y en el fichero del nwnx. En mi caso he usado los siguientes:</li>
</ol>
<p style="margin-left:40px;">- Usuario: pepito</p>
<p>- Password: perez</p>
<p>- Nombre de la base de datos: bdmodulo</p>
<p>* Si deséis cambiarlos por otros, no os olvidéis de cambiarlo también en archivo /includes/conexion.php</p>
<p>Si teneís cualquier duda, sugerencia o problema no dudéis en postearlo.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Administración web de una base de datos de NWN - Parte 5]]></title>
<link>http://eourus.wordpress.com/2009/10/01/administracion-web-de-una-base-de-datos-de-nwn-parte-5/</link>
<pubDate>Thu, 01 Oct 2009 09:54:14 +0000</pubDate>
<dc:creator>eourus</dc:creator>
<guid>http://eourus.wordpress.com/2009/10/01/administracion-web-de-una-base-de-datos-de-nwn-parte-5/</guid>
<description><![CDATA[Llegados a este punto, vamos a ver la parte que más interesa, la visualización de la ficha de los pe]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Llegados a este punto, vamos a ver la parte que más interesa, la visualización de la ficha de los personajes.</p>
<p>He decido no hacer ningún dato modificable, puesto que solo conozco el funcionamiento de Nwn 1, en el cual la mayoría de los datos no afectaría porque se guarda en un archivo con extesión .bic</p>
<p>Tal vez los único que merecerían la pena administrar sería la deidad, áreas visitadas y quest realizadas. Así que esa parte quedará a vuestra elección.</p>
<p>Empecemos con el código.</p>
<p><!--more--></p>
<p><!--more--></p>
<p><strong>Detalle del personaje</strong></p>
<p><strong> Nombre del fichero:</strong> pjmod.php</p>
<p><strong> Ruta: </strong>/mantenimiento</p>
<p><strong> Función: </strong>Mostrará los datos relacionados con el personaje. Por no hacer el código muy lago, he decidido hacerlo en varios includes.</p>
<p><strong> </strong></p>
<p><strong>Código fuente:</strong></p>
<div class="codigo">&#60;?php include(&#8220;includes/conexion.php&#8221;); ?&#62;</p>
<p>&#60;?php include(&#8220;includes/cabecera.php&#8221;); ?&#62;</p>
<p>&#60;?php include(&#8220;includes/cuerposup.php&#8221;); ?&#62;</p>
<p>&#60;h1&#62;Administración &#8211; Cuentas &#8211; Detalle del Personaje&#60;/h1&#62;</p>
<p>&#60;?php</p>
<p>/* Recogemos los parámetros */</p>
<p>if ($_GET['id_pj'] &#60;&#62; &#8220;&#8221;) {</p>
<p>$id_pj = $_GET['id_pj'];</p>
<p>} else {</p>
<p>$error = &#8220;El parámetro no es correcto.&#8221;;</p>
<p>}</p>
<p>/* Comprobamos si existe algún error */</p>
<p>if (!$error) {</p>
<p>/* Sacamos los datos del personaje */</p>
<p>$sql     = &#8220;select * from personajes where id_pj = $id_pj&#8221;;</p>
<p>$rs     = mysql_query($sql,$link);</p>
<p>$total    = mysql_num_rows($rs);</p>
<p>/* Comprobamos si existe el registro */</p>
<p>if ($total == 0) {</p>
<p>?&#62;</p>
<p>&#60;div class=&#8221;error&#8221;&#62;No se encontró el personaje.&#60;/div&#62;</p>
<p>&#60;?php</p>
<p>} else {</p>
<p>$row     = mysql_fetch_array($rs);</p>
<p>?&#62;</p>
<p>&#60;fieldset&#62;</p>
<p>&#60;legend&#62;Datos&#60;/legend&#62;</p>
<p>&#60;table cellpadding=&#8221;2&#8243; cellspacing=&#8221;2&#8243; summary=&#8221;Datos&#8221;&#62;</p>
<p>&#60;tr&#62;</p>
<p>&#60;td style=&#8221;width:15%; font-weight:bold;&#8221;&#62;Nombre:&#60;/td&#62;</p>
<p>&#60;td&#62;&#60;?php echo $row['nombre'];?&#62;&#60;/td&#62;</p>
<p>&#60;/tr&#62;</p>
<p>&#60;tr&#62;</p>
<p>&#60;td style=&#8221;font-weight:bold;&#8221;&#62;Estado:&#60;/td&#62;</p>
<p>&#60;td&#62;</p>
<p>&#60;?php if ($row['online'] == 0) {?&#62;</p>
<p>Offline</p>
<p>&#60;?php } else { ?&#62;</p>
<p>Online</p>
<p>&#60;?php } ?&#62;</p>
<p>&#60;/td&#62;</p>
<p>&#60;/tr&#62;</p>
<p>&#60;/table&#62;</p>
<p>&#60;/fieldset&#62;</p>
<p>&#60;?php include(&#8220;includes/pjcarac.php&#8221;); ?&#62;</p>
<p>&#60;?php include(&#8220;includes/pjestad.php&#8221;); ?&#62;</p>
<p>&#60;?php include(&#8220;includes/pjareasv.php&#8221;); ?&#62;</p>
<p>&#60;?php include(&#8220;includes/pjdiario.php&#8221;); ?&#62;</p>
<p>&#60;?php</p>
<p>}</p>
<p>} else {</p>
<p>?&#62;</p>
<p>&#60;div class=&#8221;error&#8221;&#62;&#60;?php echo $error;?&#62;&#60;/div&#62;</p>
<p>&#60;?php</p>
<p>}</p>
<p>?&#62;</p>
<p>&#60;?php include(&#8220;includes/cuerpoinf.php&#8221;); ?&#62;</p>
<p>&#60;?php include(&#8220;includes/pie.php&#8221;); ?&#62;</p>
</div>
<p><strong>Include de características del personaje</strong></p>
<p><strong> Nombre del fichero:</strong> pjcarac.php</p>
<p><strong> Ruta: </strong>/mantenimiento/includes</p>
<p><strong> Función: </strong>Muestra las características de pj.</p>
<p><strong> </strong></p>
<p><strong>Código fuente:</strong></p>
<div class="codigo">&#60;br&#62;&#60;br&#62;</p>
<p>&#60;fieldset&#62;</p>
<p>&#60;legend&#62;Características&#60;/legend&#62;</p>
<p>&#60;?php</p>
<p>/* Sacamos las características */</p>
<p>$sqlc    = &#8220;select * from caracteristicas where id_pj = $id_pj&#8221;;</p>
<p>$rsc    = mysql_query($sqlc,$link);</p>
<p>$totalc    = mysql_num_rows($rsc);</p>
<p>$rowc    = mysql_fetch_array($rsc);</p>
<p>?&#62;</p>
<p>&#60;table cellpadding=&#8221;2&#8243; cellspacing=&#8221;2&#8243; summary=&#8221;Características&#8221;&#62;</p>
<p>&#60;tr&#62;</p>
<p>&#60;td style=&#8221;width:15%; font-weight:bold;&#8221;&#62;Fuerza:&#60;/td&#62;</p>
<p>&#60;td style=&#8221;width:35%;&#8221;&#62;&#60;?php echo $rowc['fue'];?&#62;&#60;/td&#62;</p>
<p>&#60;td style=&#8221;width:15%; font-weight:bold;&#8221;&#62;PG:&#60;/td&#62;</p>
<p>&#60;td&#62;&#60;?php echo $rowc['pgact'];?&#62; / &#60;?php echo $rowc['pgtotal'];?&#62;&#60;/td&#62;</p>
<p>&#60;/tr&#62;</p>
<p>&#60;tr&#62;</p>
<p>&#60;td style=&#8221;font-weight:bold;&#8221;&#62;Destreza:&#60;/td&#62;</p>
<p>&#60;td&#62;&#60;?php echo $rowc['des'];?&#62;&#60;/td&#62;</p>
<p>&#60;td style=&#8221;font-weight:bold;&#8221;&#62;Edad:&#60;/td&#62;</p>
<p>&#60;td&#62;&#60;?php echo $rowc['fechainicial'];?&#62;&#60;/td&#62;</p>
<p>&#60;/tr&#62;</p>
<p>&#60;tr&#62;</p>
<p>&#60;td style=&#8221;font-weight:bold;&#8221;&#62;Constitución:&#60;/td&#62;</p>
<p>&#60;td&#62;&#60;?php echo $rowc['con'];?&#62;&#60;/td&#62;</p>
<p>&#60;td style=&#8221;width:15%; font-weight:bold;&#8221;&#62;XP:&#60;/td&#62;</p>
<p>&#60;td&#62;&#60;?php echo $rowc['xp'];?&#62;&#60;/td&#62;</p>
<p>&#60;/tr&#62;</p>
<p>&#60;tr&#62;</p>
<p>&#60;td style=&#8221;font-weight:bold;&#8221;&#62;Inteligencia:&#60;/td&#62;</p>
<p>&#60;td&#62;&#60;?php echo $rowc['inte'];?&#62;&#60;/td&#62;</p>
<p>&#60;td style=&#8221;font-weight:bold;&#8221;&#62;Oro:&#60;/td&#62;</p>
<p>&#60;td&#62;&#60;?php echo $rowc['oro'];?&#62;&#60;/td&#62;</p>
<p>&#60;/tr&#62;</p>
<p>&#60;tr&#62;</p>
<p>&#60;td style=&#8221;width:15%; font-weight:bold;&#8221;&#62;Sabiduría:&#60;/td&#62;</p>
<p>&#60;td&#62;&#60;?php echo $rowc['sab'];?&#62;&#60;/td&#62;</p>
<p>&#60;td style=&#8221;font-weight:bold;&#8221;&#62;Deidad:&#60;/td&#62;</p>
<p>&#60;td&#62;</p>
<p>&#60;?php</p>
<p>$id_deidad = $rowc['id_deidad'];</p>
<p>/* Sacamos el dios al que adora */</p>
<p>$sqld    = &#8220;select * from dioses where id_deidad =  $id_deidad&#8221;;</p>
<p>$rsd    = mysql_query($sqld,$link);</p>
<p>$totald    = mysql_num_rows($rsd);</p>
<p>$rowd    = mysql_fetch_array($rsd);</p>
<p>?&#62;</p>
<p>&#60;?php echo $rowd['descripcion'];?&#62;</p>
<p>&#60;/td&#62;</p>
<p>&#60;/tr&#62;</p>
<p>&#60;tr&#62;</p>
<p>&#60;td style=&#8221;font-weight:bold;&#8221;&#62;Carisma:&#60;/td&#62;</p>
<p>&#60;td&#62;&#60;?php echo $rowc['car'];?&#62;&#60;/td&#62;</p>
<p>&#60;td style=&#8221;font-weight:bold;&#8221;&#62;Raza:&#60;/td&#62;</p>
<p>&#60;td&#62;&#60;?php echo $rowc['raza'];?&#62;&#60;/td&#62;</p>
<p>&#60;/tr&#62;</p>
<p>&#60;tr&#62;</p>
<p>&#60;td style=&#8221;width:15%; font-weight:bold;&#8221;&#62;Fortaleza:&#60;/td&#62;</p>
<p>&#60;td&#62;&#60;?php echo $rowc['fortaleza'];?&#62;&#60;/td&#62;</p>
<p>&#60;td style=&#8221;font-weight:bold;&#8221;&#62;Ataque Base:&#60;/td&#62;</p>
<p>&#60;td&#62;&#60;?php echo $rowc['ataquebase'];?&#62;&#60;/td&#62;</p>
<p>&#60;/tr&#62;</p>
<p>&#60;tr&#62;</p>
<p>&#60;td style=&#8221;font-weight:bold;&#8221;&#62;Reflejos:&#60;/td&#62;</p>
<p>&#60;td&#62;&#60;?php echo $rowc['reflejos'];?&#62;&#60;/td&#62;</p>
<p>&#60;td&#62;&#60;/td&#62;</p>
<p>&#60;td&#62;&#60;/td&#62;</p>
<p>&#60;/tr&#62;</p>
<p>&#60;tr&#62;</p>
<p>&#60;td style=&#8221;font-weight:bold;&#8221;&#62;Voluntad:&#60;/td&#62;</p>
<p>&#60;td&#62;&#60;?php echo $rowc['voluntad'];?&#62;&#60;/td&#62;</p>
<p>&#60;td&#62;&#60;/td&#62;</p>
<p>&#60;td&#62;&#60;/td&#62;</p>
<p>&#60;/tr&#62;</p>
<p>&#60;/table&#62;</p>
<p>&#60;/fieldset&#62;</p>
</div>
<p><strong>Include de estadísticas del personaje</strong></p>
<p><strong> Nombre del fichero:</strong> pjestad.php</p>
<p><strong> Ruta: </strong>/mantenimiento/includes</p>
<p><strong> Función: </strong>Muestra las estadísticas de pj.</p>
<p><strong> </strong></p>
<p><strong>Código fuente:</strong></p>
<div class="codigo">&#60;br&#62;&#60;br&#62;</p>
<p>&#60;fieldset&#62;</p>
<p>&#60;legend&#62;Estadísticas&#60;/legend&#62;</p>
<p>&#60;?php</p>
<p>/* Sacamos las estadísticas */</p>
<p>$sqle    = &#8220;select * from estadisticas where id_pj = $id_pj&#8221;;</p>
<p>$rse    = mysql_query($sqle,$link);</p>
<p>$totale    = mysql_num_rows($rse);</p>
<p>$rowe    = mysql_fetch_array($rse);</p>
<p>$xpdm = $rowc['xp'] &#8211; $rowe['xpmonstruos'] &#8211; $rowe['xpquest'] &#8211; $rowe['xpviajes'] &#8211; $rowe['xpfabricar'] ;</p>
<p>?&#62;</p>
<p>&#60;table cellpadding=&#8221;2&#8243; cellspacing=&#8221;2&#8243; summary=&#8221;Características&#8221;&#62;</p>
<p>&#60;tr&#62;</p>
<p>&#60;td style=&#8221;width:25%; font-weight:bold;&#8221;&#62;&#38;nbsp;&#60;/td&#62;</p>
<p>&#60;td style=&#8221;font-weight:bold;&#8221;&#62;%&#60;/td&#62;</p>
<p>&#60;td style=&#8221;font-weight:bold;&#8221;&#62;Total&#60;/td&#62;</p>
<p>&#60;/tr&#62;</p>
<p>&#60;tr&#62;</p>
<p>&#60;td style=&#8221;font-weight:bold;&#8221;&#62;XP por monstruos:&#60;/td&#62;</p>
<p>&#60;td&#62;&#60;?php echo number_format($rowe['xpmonstruos'] * 100 / $rowc['xp'],2,&#8217;,',&#8217;.') ;?&#62;&#60;/td&#62;</p>
<p>&#60;td&#62;&#60;?php echo $rowe['xpmonstruos'];?&#62;&#60;/td&#62;</p>
<p>&#60;/tr&#62;</p>
<p>&#60;tr&#62;</p>
<p>&#60;td style=&#8221;font-weight:bold;&#8221;&#62;XP por quest:&#60;/td&#62;</p>
<p>&#60;td&#62;&#60;?php echo number_format($rowe['xpquest'] * 100 / $rowc['xp'],2,&#8217;,',&#8217;.') ;?&#62;&#60;/td&#62;</p>
<p>&#60;td&#62;&#60;?php echo $rowe['xpquest'];?&#62;&#60;/td&#62;</p>
<p>&#60;/tr&#62;</p>
<p>&#60;tr&#62;</p>
<p>&#60;td style=&#8221;font-weight:bold;&#8221;&#62;XP por DM:&#60;/td&#62;</p>
<p>&#60;td&#62;&#60;?php echo number_format($xpdm * 100 / $rowc['xp'],2,&#8217;,',&#8217;.') ;?&#62;&#60;/td&#62;</p>
<p>&#60;td&#62;&#60;?php echo $xpdm; ?&#62;&#60;/td&#62;</p>
<p>&#60;/tr&#62;</p>
<p>&#60;tr&#62;</p>
<p>&#60;td style=&#8221;font-weight:bold;&#8221;&#62;XP por viajar:&#60;/td&#62;</p>
<p>&#60;td&#62;&#60;?php echo number_format($rowe['xpviajes'] * 100 / $rowc['xp'],2,&#8217;,',&#8217;.') ;?&#62;&#60;/td&#62;</p>
<p>&#60;td&#62;&#60;?php echo $rowe['xpviajes'];?&#62;&#60;/td&#62;</p>
<p>&#60;/tr&#62;</p>
<p>&#60;tr&#62;</p>
<p>&#60;td style=&#8221;font-weight:bold;&#8221;&#62;XP por fabricar:&#60;/td&#62;</p>
<p>&#60;td&#62;&#60;?php echo number_format($rowe['xpfabricar'] * 100 / $rowc['xp'],2,&#8217;,',&#8217;.') ;?&#62;&#60;/td&#62;</p>
<p>&#60;td&#62;&#60;?php echo $rowe['xpfabricar'];?&#62;&#60;/td&#62;</p>
<p>&#60;/tr&#62;</p>
<p>&#60;/table&#62;</p>
<p>&#60;/fieldset&#62;</p>
</div>
<p><strong>Include de áreas visitadas del personaje</strong></p>
<p><strong> Nombre del fichero:</strong> pjareasv.php</p>
<p><strong> Ruta: </strong>/mantenimiento/includes</p>
<p><strong> Función: </strong>Muestra las áreas visitadas por el pj.</p>
<p><strong> </strong></p>
<p><strong>Código fuente:</strong></p>
<div class="codigo">&#60;br&#62;&#60;br&#62;</p>
<p>&#60;fieldset&#62;</p>
<p>&#60;legend&#62;Áreas Visitadas&#60;/legend&#62;</p>
<p>&#60;?php</p>
<p>/* Sacamos las áreas */</p>
<p>$sqlav        = &#8220;select * from areasv where id_pj = $id_pj&#8221;;</p>
<p>$rsav        = mysql_query($sqlav,$link);</p>
<p>$totalav    = mysql_num_rows($rsav);</p>
<p>if (!$totalav) {</p>
<p>?&#62;</p>
<p>&#60;div class=&#8221;error&#8221;&#62;No se encontraron áreas&#60;/div&#62;</p>
<p>&#60;?php</p>
<p>} else {</p>
<p>?&#62;</p>
<p>&#60;ul&#62;</p>
<p>&#60;?php</p>
<p>for ($i=1; $rowav = mysql_fetch_array($rsav); $i++) {</p>
<p>$id_area = $rowav['id_area'];</p>
<p>/* Buscamos la descripción del área */</p>
<p>$sqla    = &#8220;select * from areas where id_area = $id_area&#8221;;</p>
<p>$rsa    = mysql_query($sqla,$link);</p>
<p>$rowa    = mysql_fetch_array($rsa);</p>
<p>?&#62;</p>
<p>&#60;li&#62;&#60;?php echo $rowa['descripcion'];?&#62;&#60;/li&#62;</p>
<p>&#60;?php</p>
<p>}</p>
<p>?&#62;</p>
<p>&#60;/ul&#62;</p>
<p>&#60;?php</p>
<p>}</p>
<p>?&#62;</p>
<p>&#60;/fieldset&#62;</p>
</div>
<p><strong>Include de quest realizadas por el personaje</strong></p>
<p><strong> Nombre del fichero:</strong> pjdiario.php</p>
<p><strong> Ruta: </strong>/mantenimiento/includes</p>
<p><strong> Función: </strong>Muestra las quest realizadas por el pj.</p>
<p><strong> </strong></p>
<p><strong>Código fuente:</strong></p>
<div class="codigo">&#60;br&#62;&#60;br&#62;</p>
<p>&#60;fieldset&#62;</p>
<p>&#60;legend&#62;Quest Realizadas&#60;/legend&#62;</p>
<p>&#60;?php</p>
<p>/* Sacamos las quest realizadas */</p>
<p>$sqld        = &#8220;select * from diario where id_pj = $id_pj&#8221;;</p>
<p>$rsd        = mysql_query($sqld,$link);</p>
<p>$totald        = mysql_num_rows($rsd);</p>
<p>if (!$totald) {</p>
<p>?&#62;</p>
<p>&#60;div class=&#8221;error&#8221;&#62;No se encontraron quest&#60;/div&#62;</p>
<p>&#60;?php</p>
<p>} else {</p>
<p>?&#62;</p>
<p>&#60;ul&#62;</p>
<p>&#60;?php</p>
<p>for ($i=1; $rowd = mysql_fetch_array($rsd); $i++) {</p>
<p>$id_quest = $rowd['id_quest'];</p>
<p>/* Buscamos la descripción de la quest */</p>
<p>$sqlq    = &#8220;select * from quest where id_quest = $id_quest&#8221;;</p>
<p>$rsq    = mysql_query($sqlq,$link);</p>
<p>$rowq    = mysql_fetch_array($rsq);</p>
<p>?&#62;</p>
<p>&#60;li&#62;&#60;?php echo $rowq['descripcion'];?&#62;&#60;/li&#62;</p>
<p>&#60;?php</p>
<p>}</p>
<p>?&#62;</p>
<p>&#60;/ul&#62;</p>
<p>&#60;?php</p>
<p>}</p>
<p>?&#62;</p>
<p>&#60;/fieldset&#62;</p>
</div>
<p><strong> </strong></p>
<p><strong> </strong></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Administración web de una base de datos de NWN - Parte 4]]></title>
<link>http://eourus.wordpress.com/2009/10/01/administracion-web-de-una-base-de-datos-de-nwn-parte-4/</link>
<pubDate>Thu, 01 Oct 2009 09:52:23 +0000</pubDate>
<dc:creator>eourus</dc:creator>
<guid>http://eourus.wordpress.com/2009/10/01/administracion-web-de-una-base-de-datos-de-nwn-parte-4/</guid>
<description><![CDATA[Antes de empezar os recordaré que para los siguientes ejemplos me baso en el anterior manual, ]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Antes de empezar os recordaré que para los siguientes ejemplos me baso en el anterior manual, &#8220;<a href="/2009/10/01/estructura-de-una-base-de-datos-optimizada-aplicada-al-nwn/" target="_self">Estructura de una base de datos optimizada aplicada al NWN</a>&#8220;.</p>
<p>Y ahora, sin más rodeos empezamos a trabajar.</p>
<p><strong>Detalle de la cuenta</strong></p>
<p><strong> Nombre del fichero:</strong> cuentasmod.php</p>
<p><strong> Ruta: </strong>/mantenimiento</p>
<p><strong> Función: </strong>Mostrar los detalles y personajes relacionados con la cuenta.</p>
<p><!--more--></p>
<p><strong> </strong></p>
<p><strong>Código fuente:</strong></p>
<div class="codigo">&#60;?php include(&#8220;includes/conexion.php&#8221;); ?&#62;</p>
<p>&#60;?php include(&#8220;includes/cabecera.php&#8221;); ?&#62;</p>
<p>&#60;?php include(&#8220;includes/cuerposup.php&#8221;); ?&#62;</p>
<p>&#60;h1&#62;Administración &#8211; Cuentas &#8211; Detalle&#60;/h1&#62;</p>
<p>&#60;?php</p>
<p>/* Recogemos los parámetros */</p>
<p>if ($_GET['id_cuenta'] &#60;&#62; &#8220;&#8221;) {</p>
<p>$id_cuenta = $_GET['id_cuenta'];</p>
<p>} else {</p>
<p>$error = &#8220;El parámetro no es correcto.&#8221;;</p>
<p>}</p>
<p>/* Comprobamos si existe algún error */</p>
<p>if (!$error) {</p>
<p>/* Sacamos los datos de la cuenta */</p>
<p>$sql         = &#8220;select * from cuentas where id_cuenta = $id_cuenta&#8221;;</p>
<p>$rs         = mysql_query($sql,$link);</p>
<p>$total    = mysql_num_rows($rs);</p>
<p>/* Comprobamos si existe el registro */</p>
<p>if ($total == 0) {</p>
<p>?&#62;</p>
<p>&#60;div class=&#8221;error&#8221;&#62;No se encontró el usuario.&#60;/div&#62;</p>
<p>&#60;?php</p>
<p>} else {</p>
<p>$row     = mysql_fetch_array($rs);</p>
<p>?&#62;</p>
<p>&#60;fieldset&#62;</p>
<p>&#60;legend&#62;Datos de la cuenta&#60;/legend&#62;</p>
<p>&#60;form method=&#8221;post&#8221; enctype=&#8221;multipart/form-data&#8221; action=&#8221;cuentasmodg.php&#8221;&#62;</p>
<p>&#60;table cellpadding=&#8221;2&#8243; cellspacing=&#8221;2&#8243; summary=&#8221;Datos de Cuentas&#8221;&#62;</p>
<p>&#60;tr&#62;</p>
<p>&#60;td style=&#8221;width:15%; font-weight:bold;&#8221;&#62;Cuenta:&#60;/td&#62;</p>
<p>&#60;td&#62;&#60;?php echo $row['cuenta'];?&#62;&#60;/td&#62;</p>
<p>&#60;/tr&#62;</p>
<p>&#60;tr&#62;</p>
<p>&#60;td style=&#8221;font-weight:bold;&#8221;&#62;Password:&#60;/td&#62;</p>
<p>&#60;td&#62;&#60;input type=&#8221;text&#8221; name=&#8221;password&#8221; value=&#8221;&#60;?php echo $row['password'];?&#62;&#8221; size=&#8221;15&#8243;&#62;&#60;/td&#62;</p>
<p>&#60;/tr&#62;</p>
<p>&#60;tr&#62;</p>
<p>&#60;td style=&#8221;font-weight:bold;&#8221;&#62;Cd-key:&#60;/td&#62;</p>
<p>&#60;td&#62;&#60;?php echo $row['cdkey'];?&#62;&#60;/td&#62;</p>
<p>&#60;/tr&#62;</p>
<p>&#60;tr&#62;</p>
<p>&#60;td style=&#8221;font-weight:bold;&#8221;&#62;Baneado:&#60;/td&#62;</p>
<p>&#60;td&#62;</p>
<p>&#60;select name=&#8221;baneado&#8221;&#62;</p>
<p>&#60;?php</p>
<p>/* Comprobamos si está baneado */</p>
<p>if ($row['baneado'] == 0) {</p>
<p>?&#62;</p>
<p>&#60;option value=&#8221;0&#8243; selected=&#8221;selected&#8221;&#62;No&#60;/option&#62;</p>
<p>&#60;option value=&#8221;1&#8243;&#62;Si&#60;/option&#62;</p>
<p>&#60;?php</p>
<p>} else {</p>
<p>?&#62;</p>
<p>&#60;option value=&#8221;0&#8243;&#62;No&#60;/option&#62;</p>
<p>&#60;option value=&#8221;1&#8243; selected=&#8221;selected&#8221;&#62;Si&#60;/option&#62;</p>
<p>&#60;?php</p>
<p>}</p>
<p>?&#62;</p>
<p>&#60;/select&#62;</p>
<p>&#60;/td&#62;</p>
<p>&#60;/tr&#62;</p>
<p>&#60;tr&#62;</p>
<p>&#60;td&#62;&#60;input type=&#8221;hidden&#8221; name=&#8221;id_cuenta&#8221; value=&#8221;&#60;?php echo $id_cuenta;?&#62;&#8221;&#62;&#60;/td&#62;</p>
<p>&#60;td&#62;&#60;br&#62;&#60;input type=&#8221;submit&#8221; value=&#8221;Actualizar&#8221;&#62;&#60;/td&#62;</p>
<p>&#60;/tr&#62;</p>
<p>&#60;/table&#62;</p>
<p>&#60;/form&#62;</p>
<p>&#60;/fieldset&#62;</p>
<p>&#60;br&#62;&#60;br&#62;</p>
<p>&#60;fieldset&#62;</p>
<p>&#60;legend&#62;Personajes&#60;/legend&#62;</p>
<p>&#60;?php</p>
<p>/* Mostramos los personajes */</p>
<p>$sqlpj        = &#8220;select * from personajes where id_cuenta = $id_cuenta&#8221;;</p>
<p>$rspj        = mysql_query($sqlpj,$link);</p>
<p>$totalpj    = mysql_num_rows($rspj);</p>
<p>/* Comprobamos si existen pjs */</p>
<p>if ($totalpj == 0) {</p>
<p>?&#62;</p>
<p>No se encontraron pjs.</p>
<p>&#60;?php</p>
<p>} else {</p>
<p>?&#62;</p>
<p>&#60;table cellpadding=&#8221;2&#8243; cellspacing=&#8221;2&#8243; summary=&#8221;Listado de Cuentas&#8221;&#62;</p>
<p>&#60;tr&#62;</p>
<p>&#60;td&#62;Nombre&#60;/td&#62;</p>
<p>&#60;td style=&#8221;width:19%; text-align:center;&#8221;&#62;Acciones&#60;/td&#62;</p>
<p>&#60;/tr&#62;</p>
<p>&#60;?php</p>
<p>for ($i=1; $rowpj = mysql_fetch_array($rspj); $i++) {</p>
<p>?&#62;</p>
<p>&#60;tr&#62;</p>
<p>&#60;td&#62;&#60;?php echo $rowpj['nombre']; ?&#62;&#60;/td&#62;</p>
<p>&#60;td style=&#8221;text-align:center;&#8221;&#62;</p>
<p>&#60;a href=&#8221;pjmod.php?id_pj=&#60;?php echo $rowpj['id_pj']; ?&#62;&#8221; class=&#8221;boton&#8221;&#62;Modificar&#60;/a&#62;</p>
<p>&#60;a href=&#8221;pjborrar.php?id_pj=&#60;?php echo $rowpj['id_pj']; ?&#62;&#8221; class=&#8221;boton&#8221;&#62;Eliminar&#60;/a&#62;</p>
<p>&#60;/td&#62;</p>
<p>&#60;/tr&#62;</p>
<p>&#60;?php</p>
<p>}</p>
<p>?&#62;</p>
<p>&#60;/table&#62;</p>
<p>&#60;?php</p>
<p>}</p>
<p>?&#62;</p>
<p>&#60;/fieldset&#62;</p>
<p>&#60;?php</p>
<p>}</p>
<p>} else {</p>
<p>?&#62;</p>
<p>&#60;div class=&#8221;error&#8221;&#62;&#60;?php echo $error;?&#62;&#60;/div&#62;</p>
<p>&#60;?php</p>
<p>}</p>
<p>?&#62;</p>
<p>&#60;?php include(&#8220;includes/cuerpoinf.php&#8221;); ?&#62;</p>
<p>&#60;?php include(&#8220;includes/pie.php&#8221;); ?&#62;</p>
</div>
<p><strong>Eliminar personajes</strong></p>
<p><strong> Nombre del fichero:</strong> pjborrar.php</p>
<p><strong> Ruta: </strong>/mantenimiento</p>
<p><strong> Función: </strong>Borrar el personaje seleccionado.</p>
<p><strong> </strong></p>
<p><strong>Código fuente:</strong></p>
<div class="codigo">&#60;?php include(&#8220;includes/conexion.php&#8221;); ?&#62;</p>
<p>&#60;?php include(&#8220;includes/cabecera.php&#8221;); ?&#62;</p>
<p>&#60;?php include(&#8220;includes/cuerposup.php&#8221;); ?&#62;</p>
<p>&#60;h1&#62;Administración &#8211; Cuentas &#8211; Eliminar Personaje&#60;/h1&#62;</p>
<p>&#60;?php</p>
<p>/* Recogemos los parámetros */</p>
<p>if ($_GET['id_pj'] &#60;&#62; &#8220;&#8221;) {</p>
<p>$id_pj = $_GET['id_pj'];</p>
<p>} else {</p>
<p>$error = &#8220;El parámetro no es correcto.&#8221;;</p>
<p>}</p>
<p>/* Comprobamos si existe algún error */</p>
<p>if (!$error) {</p>
<p>/* Eliminamos el registro */</p>
<p>$sql = &#8220;delete from personajes where id_pj = $id_pj&#8221;;</p>
<p>$rs = mysql_query($sql,$link);</p>
<p>?&#62;</p>
<p>&#60;div class=&#8221;error&#8221;&#62;El personaje se eliminó correctamente.&#60;/div&#62;</p>
<p>&#60;?php</p>
<p>} else {</p>
<p>?&#62;</p>
<p>&#60;div class=&#8221;error&#8221;&#62;&#60;?php echo $error;?&#62;&#60;/div&#62;</p>
<p>&#60;?php</p>
<p>}</p>
<p>?&#62;</p>
<p>&#60;?php include(&#8220;includes/cuerpoinf.php&#8221;); ?&#62;</p>
<p>&#60;?php include(&#8220;includes/pie.php&#8221;); ?&#62;</p>
</div>
<p><strong>Modificar datos de una cuenta</strong></p>
<p><strong> Nombre del fichero:</strong> cuentasmodg.php</p>
<p><strong> Ruta: </strong>/mantenimiento</p>
<p><strong> Función: </strong>Modificar datos de la cuenta seleccionada.</p>
<p><strong> </strong></p>
<p><strong>Código fuente:</strong></p>
<div class="codigo">&#60;?php include(&#8220;includes/conexion.php&#8221;); ?&#62;</p>
<p>&#60;?php include(&#8220;includes/cabecera.php&#8221;); ?&#62;</p>
<p>&#60;?php include(&#8220;includes/cuerposup.php&#8221;); ?&#62;</p>
<p>&#60;h1&#62;Administración &#8211; Cuentas &#8211; Modificar&#60;/h1&#62;</p>
<p>&#60;?php</p>
<p>/* Recogemos los parámetros */</p>
<p>$id_cuenta     = $_POST['id_cuenta'];</p>
<p>$password    = $_POST['password'];</p>
<p>$baneado    = $_POST['baneado'];</p>
<p>/* Modificamos el registro */</p>
<p>$sql = &#8220;UPDATE cuentas SET password=&#8217;$password&#8217;, baneado=&#8217;$baneado&#8217; WHERE id_cuenta = $id_cuenta&#8221;;</p>
<p>$rs = mysql_query($sql);</p>
<p>?&#62;</p>
<p>&#60;div class=&#8221;error&#8221;&#62;La cuenta se modificó correctamente.&#60;/div&#62;</p>
<p>&#60;?php include(&#8220;includes/cuerpoinf.php&#8221;); ?&#62;</p>
<p>&#60;?php include(&#8220;includes/pie.php&#8221;); ?&#62;</p>
</div>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Administración web de una base de datos de NWN - Parte 3]]></title>
<link>http://eourus.wordpress.com/2009/10/01/administracion-web-de-una-base-de-datos-de-nwn-parte-3/</link>
<pubDate>Thu, 01 Oct 2009 09:51:08 +0000</pubDate>
<dc:creator>eourus</dc:creator>
<guid>http://eourus.wordpress.com/2009/10/01/administracion-web-de-una-base-de-datos-de-nwn-parte-3/</guid>
<description><![CDATA[OBTENIENDO CONOCIMIENTOS Antes de empezar a programar no viene nada mal tener algunos enlaces para p]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p><strong>OBTENIENDO CONOCIMIENTOS</strong></p>
<p>Antes de empezar a programar no viene nada mal tener algunos enlaces para poder documentarnos sobre los diferentes lenguajes a utilizar.</p>
<ul>
<li><a href="http://es.php.net/" target="_blank">PHP</a> &#8211; Página Oficial de documentación de php.</li>
<li><a href="http://dev.mysql.com/doc/refman/5.0/es/index.html" target="_blank">MySQL</a> &#8211; Página Oficial de documentación de mysql.</li>
</ul>
<p>Para cualquier otra consulta se recomienda utilizar <a href="http://www.google.es" target="_blank">Google</a>.</p>
<p><!--more--></p>
<p><strong>EMPEZANDO A PROGRAMAR</strong></p>
<p><strong> </strong> Como ejemplo utilizaremos la base de datos creada en el manual de &#8220;<a href="/2009/10/01/estructura-de-una-base-de-datos-optimizada-aplicada-al-nwn/" target="_self">Estructura de una base de datos optimizada aplicada al NWN</a>&#8220;.</p>
<p><strong> </strong></p>
<p><strong>Conexión con la base de datos</strong></p>
<p><strong> Nombre del fichero:</strong> conexion.php</p>
<p><strong> Ruta: </strong>/mantenimiento/includes</p>
<p><strong> Función: </strong>Conectar con la base de datos.</p>
<p><strong> </strong></p>
<p><strong>Código fuente:</strong></p>
<div class="codigo">&#60;?php</p>
<p>function Conectarse() {</p>
<p>$dbhost=&#8221;ipservidor&#8221;;  // host del MySQL (generalmente localhost)</p>
<p>$dbusuario=&#8221;usuario&#8221;;  // aqui debes ingresar el nombre de usuario para acceder a la base</p>
<p>$dbpassword=&#8221;contraseña&#8221;;  // password de acceso para el usuario de la linea anterior</p>
<p>$db=&#8221;nombrebd&#8221;;  // seleccionamos la base con la cual trabajar</p>
<p>if (!($link=mysql_connect($dbhost,$dbusuario,$dbpassword))) {</p>
<p>echo &#8220;Error conectando a la base de datos.&#8221;;</p>
<p>exit();</p>
<p>}</p>
<p>if (!mysql_select_db($db,$link)) {</p>
<p>echo &#8220;Error seleccionando la base de datos.&#8221;;</p>
<p>exit();</p>
<p>}</p>
<p>return $link;</p>
<p>}</p>
<p>session_start();</p>
<p>?&#62;</p>
</div>
<p><strong>Listado de cuentas</strong></p>
<p><strong> Nombre del fichero:</strong> cuentas.php</p>
<p><strong> Ruta: </strong>/mantenimiento</p>
<p><strong> Función: </strong>Mostrar las cuentas y administrarlas.</p>
<p><strong> </strong></p>
<p><strong>Código fuente:</strong></p>
<div class="codigo">&#60;?php include(&#8220;includes/conexion.php&#8221;); ?&#62;</p>
<p>&#60;?php include(&#8220;includes/cabecera.php&#8221;); ?&#62;</p>
<p>&#60;?php include(&#8220;includes/cuerposup.php&#8221;); ?&#62;</p>
<p>&#60;h1&#62;Administración &#8211; Cuentas&#60;/h1&#62;</p>
<p>&#60;?php</p>
<p>/* Consultamos las cuenta */</p>
<p>$sql      = &#8220;select * from cuentas&#8221;;</p>
<p>$rs       = mysql_query($sql,$link);</p>
<p>$total    = mysql_num_rows($rs);</p>
<p>/* Comprobamos si devuelve algún resultado */</p>
<p>if (!$total) {</p>
<p>?&#62;</p>
<p>&#60;div class=&#8221;error&#8221;&#62;No se encontró ningun registro.&#60;/div&#62;</p>
<p>&#60;?php</p>
<p>} else {</p>
<p>?&#62;</p>
<p>&#60;table cellpadding=&#8221;2&#8243; cellspacing=&#8221;2&#8243; summary=&#8221;Listado de Cuentas&#8221;&#62;</p>
<p>&#60;tr&#62;</p>
<p>&#60;td&#62;Cuenta&#60;/td&#62;</p>
<p>&#60;td style=&#8221;width:19%; text-align:center;&#8221;&#62;Acciones&#60;/td&#62;</p>
<p>&#60;/tr&#62;</p>
<p>&#60;?php</p>
<p>/* Mostramos las cuentas */</p>
<p>for ($i=1; $row = mysql_fetch_array($rs); $i++) {</p>
<p>?&#62;</p>
<p>&#60;tr&#62;</p>
<p>&#60;td&#62;&#60;?php echo $row['cuenta']; ?&#62;&#60;/td&#62;</p>
<p>&#60;td style=&#8221;text-align:center;&#8221;&#62;</p>
<p>&#60;a href=&#8221;cuentasmod.php?id_cuenta=&#60;?php echo $row['id_cuenta']; ?&#62;&#8221; class=&#8221;boton&#8221;&#62;Modificar&#60;/a&#62;</p>
<p>&#60;a href=&#8221;cuentasborrar.php?id_cuenta=&#60;?php echo $row['id_cuenta']; ?&#62;&#8221; class=&#8221;boton&#8221;&#62;Eliminar&#60;/a&#62;</p>
<p>&#60;/td&#62;</p>
<p>&#60;/tr&#62;</p>
<p>&#60;?php</p>
<p>}</p>
<p>?&#62;</p>
<p>&#60;/table&#62;</p>
<p>&#60;?php</p>
<p>}</p>
<p>?&#62;</p>
<p>&#60;?php include(&#8220;includes/cuerpoinf.php&#8221;); ?&#62;</p>
<p>&#60;?php include(&#8220;includes/pie.php&#8221;); ?&#62;</p>
</div>
<p><strong>Eliminar cuentas</strong></p>
<p><strong> Nombre del fichero:</strong> cuentasborrar.php</p>
<p><strong> Ruta: </strong>/mantenimiento</p>
<p><strong> Función: </strong>Elimina una cuenta.</p>
<p><strong> </strong></p>
<p><strong>Código fuente:</strong></p>
<div class="codigo">&#60;?php include(&#8220;includes/conexion.php&#8221;); ?&#62;</p>
<p>&#60;?php include(&#8220;includes/cabecera.php&#8221;); ?&#62;</p>
<p>&#60;?php include(&#8220;includes/cuerposup.php&#8221;); ?&#62;</p>
<p>&#60;h1&#62;Administración &#8211; Cuentas &#8211; Eliminar&#60;/h1&#62;</p>
<p>&#60;?php</p>
<p>/* Recogemos los parámetros */</p>
<p>if ($_GET['id_cuenta'] &#60;&#62; &#8220;&#8221;) {</p>
<p>$id_cuenta = $_GET['id_cuenta'];</p>
<p>} else {</p>
<p>$error = &#8220;El parámetro no es correcto.&#8221;;</p>
<p>}</p>
<p>/* Comprobamos si existe algún error */</p>
<p>if (!$error) {</p>
<p>/* Eliminamos el registro */</p>
<p>$sql = &#8220;delete from cuentas where id_cuenta = $id_cuenta&#8221;;</p>
<p>$rs = mysql_query($sql,$link);</p>
<p>?&#62;</p>
<p>&#60;div class=&#8221;error&#8221;&#62;El usuario se eliminó correctamente.&#60;/div&#62;</p>
<p>&#60;?php</p>
<p>} else {</p>
<p>?&#62;</p>
<p>&#60;div class=&#8221;error&#8221;&#62;&#60;?php echo $error;?&#62;&#60;/div&#62;</p>
<p>&#60;?php</p>
<p>}</p>
<p>?&#62;</p>
<p>&#60;?php include(&#8220;includes/cuerpoinf.php&#8221;); ?&#62;</p>
<p>&#60;?php include(&#8220;includes/pie.php&#8221;); ?&#62;</p>
</div>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Administración web de una base de datos de NWN - Parte 2]]></title>
<link>http://eourus.wordpress.com/2009/10/01/administracion-web-de-una-base-de-datos-de-nwn-parte-2/</link>
<pubDate>Thu, 01 Oct 2009 09:49:31 +0000</pubDate>
<dc:creator>eourus</dc:creator>
<guid>http://eourus.wordpress.com/2009/10/01/administracion-web-de-una-base-de-datos-de-nwn-parte-2/</guid>
<description><![CDATA[OBTENIENDO CONOCIMIENTOS Antes de empezar a programar no viene nada mal tener algunos enlaces para p]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p><strong>OBTENIENDO CONOCIMIENTOS</strong></p>
<p>Antes de empezar a programar no viene nada mal tener algunos enlaces para poder documentarnos sobre los diferentes lenguajes a utilizar.</p>
<ul>
<li><a href="http://www.w3.org/MarkUp/">HTML</a> &#8211; Página Oficial de documentación de html.</li>
<li><a href="http://www.w3.org/Style/CSS/" target="_blank">CSS</a> &#8211; Página Oficial de documentación de css.</li>
</ul>
<p>Para cualquier otra consulta se recomienda utilizar <a href="http://www.google.es" target="_blank">Google</a>.</p>
<p><!--more--></p>
<p><strong>Hoja de estilos</strong></p>
<p><strong> Nombre del fichero:</strong> generico.css<br />
<strong> Ruta: </strong>/mantenimiento/css<br />
<strong> Funci&#243;n: </strong>Dar formato a la p&#225;gina web sin afectar a la accesibilidad.<br />
<strong><br />
C&#243;digo fuente:</strong></p>
<div class="codigo">/*************************************************************************************************** <br />
General:<br />
body, form, input, select, textarea, h1, table<br />
***************************************************************************************************/</p>
<p>body { font:11px arial; color:#666; }<br />
form { margin:0px; padding:0px;}<br />
input, select, textarea { border:1px solid #B09D84; background:#EDDDC8; font:11px arial; color:#49300B; }<br />
h1 { font:11px arial; font-weight:bold; color:red; }<br />
table { width:100%; border:0px; }</p>
<p>/*************************************************************************************************** <br />
Identificadores:<br />
contenedor, cabecera, cuerpo, menu, contenido, pie<br />
***************************************************************************************************/</p>
<p>#contenedor { width:775px; magin:auto;&#160; }<br />
&#160; <br />
&#160;&#160; #cabecera { width:775px;&#160; }<br />
&#160;&#160; #cuerpo { width:775px; text-align:justify; margin-top:10px;&#160; }</p>
<p>&#160;&#160;&#160;&#160;&#160; #menu { width:200px; float:left; }<br />
&#160;&#160;&#160;&#160;&#160; #contenido { width:550px; float:right; }</p>
<p>&#160;&#160;&#160; #pie { width:775px; text-align:center; margin-top:10px;&#160; }</p>
<p>/*************************************************************************************************** <br />
Clases:<br />
limpia, boton, error<br />
***************************************************************************************************/</p>
<p>.limpia { clear:both; }<br />
.boton, .boton:hover { border:1px solid #B09D84; color:#000; background:#EDDDC8; padding-left:3px; padding-right:3px; text-decoration:none; }<br />
.error { width:90%; margin:auto; text-align:center; padding-top:100px; }</div>
<p>
<strong>Include de cabecera</strong></p>
<p><strong> Nombre del fichero:</strong> cabecera.php<br />
<strong> Ruta: </strong>/mantenimiento/includes<br />
<strong> Funci&#243;n: </strong>Contiene c&#243;digo html de la parte superior de la web.<br />
<strong><br />
C&#243;digo fuente:</strong></p>
<div class="codigo">&#60;?php<br />
$link = Conectarse();<br />
?&#62;<br />
&#60;!DOCTYPE HTML PUBLIC &#34;-//W3C//DTD HTML 4.01//EN&#34; &#34;http://www.w3.org/TR/html4/strict.dtd&#34;&#62;<br />
&#60;html lang=&#34;es&#34;&#62;<br />
&#60;head&#62;<br />
&#60;meta http-equiv=&#34;Content-Type&#34; content=&#34;text/html; charset=iso-8859-1&#34;&#62;<br />
&#60;meta http-equiv=&#34;Content-Language&#34; content=&#34;es&#34;&#62;<br />
&#60;meta name=&#34;author&#34; content=&#34;Eourus&#34;&#62;<br />
&#60;meta name=&#34;copyright&#34; content=&#34;Eourus&#34;&#62;<br />
&#60;title&#62;Administraci&#243;n&#60;/title&#62;<br />
&#60;link href=&#34;/mantenimiento/css/generico.css&#34; rel=&#34;stylesheet&#34; type=&#34;text/css&#34;&#62;<br />
&#60;/head&#62;<br />
&#60;body&#62;</div>
<p>
<strong>Include de la parte superior del cuerpo</strong></p>
<p><strong> Nombre del fichero:</strong> cuerposup.php<br />
<strong> Ruta: </strong>/mantenimiento/includes<br />
<strong> Funci&#243;n: </strong>Contiene c&#243;digo html de la parte superior del cuerpo de la web.<br />
<strong><br />
C&#243;digo fuente:</strong></p>
<div class="codigo">&#60;div id=&#34;contenedor&#34;&#62;</p>
<p>&#160;&#160;&#160;&#160;&#160; &#60;div id=&#34;cabecera&#34;&#62;Logotipo o cabecera de la web&#60;/div&#62;<br />
&#160;&#160;&#160;&#160;&#160; &#60;div id=&#34;cuerpo&#34;&#62;</p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &#60;div id=&#34;menu&#34;&#62;</p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &#60;ul&#62;<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &#60;li&#62;&#60;a href=&#34;/mantenimiento/cuentas.php&#34;&#62;Cuentas&#60;/a&#62;&#60;/li&#62;<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &#60;li&#62;&#60;a href=&#34;/mantenimiento/copia.php&#34;&#62;Copia de Seguridad&#60;/a&#62;&#60;/li&#62;<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &#60;/ul&#62;</p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &#60;/div&#62;<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &#60;div id=&#34;contenido&#34;&#62;</div>
<p>
<strong>Include de la parte inferior del cuerpo</strong></p>
<p><strong> Nombre del fichero:</strong> cuerpoinf.php<br />
<strong> Ruta: </strong>/mantenimiento/includes<br />
<strong> Funci&#243;n: </strong>Contiene c&#243;digo html de la parte inferior del cuerpo de la web.<br />
<strong><br />
C&#243;digo fuente:</p>
<p></strong></p>
<div class="codigo">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &#60;/div&#62;<br />
&#160;&#160;&#160; &#160;&#160;&#160; &#160;&#160;&#160; &#60;div class=&#34;limpia&#34;&#62;&#60;/div&#62;</p>
<p>&#160;&#160;&#160;&#160;&#160; &#60;/div&#62;</p>
<p>&#60;/div&#62;</p></div>
<p>
<strong>Include del pie</strong></p>
<p><strong> Nombre del fichero:</strong> pie.php<br />
<strong> Ruta: </strong>/mantenimiento/includes<br />
<strong> Funci&#243;n: </strong>Contiene c&#243;digo html del pie de la web.<br />
<strong><br />
C&#243;digo fuente:</p>
<p></strong></p>
<div class="codigo">&#60;div id=&#34;pie&#34;&#62;Copyright Design By Eourus &#169; 2007&#60;/div&#62;</p>
<p>&#60;/body&#62;<br />
&#60;/html&#62;</p>
<p>&#60;?php<br />
/* Cerramos la conexi&#243;n */<br />
mysql_close($link);<br />
?&#62;</div>
<p><strong>P&#225;gina principal</strong></p>
<p><strong> Nombre del fichero:</strong> index.php<br />
<strong> Ruta: </strong>/mantenimiento/<br />
<strong> Funci&#243;n: </strong>Contiene c&#243;digo html la p&#225;gina principal de administraci&#243;n.<br />
<strong><br />
C&#243;digo fuente:</p>
<p></strong></p>
<div class="codigo">&#60;?php include(&#34;includes/conexion.php&#34;); ?&#62;<br />
&#60;?php include(&#34;includes/cabecera.php&#34;); ?&#62;<br />
&#60;?php include(&#34;includes/cuerposup.php&#34;); ?&#62;</p>
<p>&#60;h1&#62;Administraci&#243;n &#8211; Principal&#60;/h1&#62;</p>
<p>Bienvenido/a a al m&#243;dulo de administraci&#243;n para bases de datos de servidores de Neverwinter Nights. Desde aqu&#237; podr&#233;is a&#241;adir, modificar o eliminar registros, as&#237; como realizar copias de seguridad de la base de datos.</p>
<p>&#60;?php include(&#34;includes/cuerpoinf.php&#34;); ?&#62;<br />
&#60;?php include(&#34;includes/pie.php&#34;); ?&#62;</div>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Administración web de una base de datos de NWN - Parte 1]]></title>
<link>http://eourus.wordpress.com/2009/10/01/administracion-web-de-una-base-de-datos-de-nwn-parte-1/</link>
<pubDate>Thu, 01 Oct 2009 09:47:50 +0000</pubDate>
<dc:creator>eourus</dc:creator>
<guid>http://eourus.wordpress.com/2009/10/01/administracion-web-de-una-base-de-datos-de-nwn-parte-1/</guid>
<description><![CDATA[CAPÍTULO 1 &#8211; MOTIVOS Los principales motivos que podemos tener para administrar la base de dat]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p><strong>CAPÍTULO 1 &#8211; MOTIVOS</strong></p>
<p>Los principales motivos que podemos tener para administrar la base de datos del server desde la web serán:</p>
<ul>
<li>Sencillez. Con esto nos ahorraremos de estar toqueteando las base de datos directamente y/o las modificaciones correspondientes en el módulo.</li>
<li>Interactuación entre la web y el módulo.</li>
</ul>
<p><!--more--></p>
<p><strong>CAPÍTULO 2 &#8211; HARDWARE Y SOFTWARE NECESARIO</strong></p>
<p><strong>HARDWARE</strong></p>
<p>Casi cualquier pc nos servirá si deseamos montarlo por nuestra cuenta, por ejemplo en casa. Aunque si no queréis molestaros en estar administrando un server y tenerlo 24 horas encendido y consumiendo un poco de ancho de banda, siempre podéis optar por un servicio de hosting o housing.</p>
<p>Por si sentís curiosidad, yo dispongo de la típica adsl de 3 mb de Telefónica, y las características de mi servidor podeís verlas <a href="http://www.costadelaespada.com/phpsysinfo/" target="_blank">aqui</a>. Aunque el anterior a ese lo he tenido corriendo en un Intel Pentium III a 450 mhz con 256 mb de Ram.</p>
<p><strong> </strong></p>
<p><strong>SOFTWARE</strong></p>
<p>A continuación un listado de lo que yo utilizo:</p>
<ul>
<li><a href="http://es.opensuse.org" target="_blank">Suse Linux 10.2</a>, como sistema operativo en el servidor web.</li>
<li><a href="http://www.apache.org/">Apache</a>, como servidor de páginas web.</li>
<li><a href="http://www.mysql.org/" target="_blank">Mysql</a>, como servidor de bases de datos.</li>
<li><a href="http://www.mysql.com/products/tools/administrator/" target="_blank">Mysql Administrator</a> y <a href="http://www.mysql.com/products/tools/query-browser/" target="_blank">Mysql Query</a>, como cliente de base de datos</li>
<li><a href="http://www.php.net/" target="_blank">Php</a>, como lenguaje de programación.</li>
<li><a href="http://quanta.kdewebdev.org/" target="_blank">Quanta</a> o <a href="http://bluefish.openoffice.nl/index.html" target="_blank">Bluefish</a> como aplicaciones para desarrollar en Linux o <a href="http://www.adobe.com/es/products/dreamweaver/" target="_blank">Dreamwearver</a> para Windows.</li>
<li>Un cliente ftp o ssh, para subir ficheros. Lo dejo a vuestro gusto.</li>
<li><a href="http://www.mozilla-europe.org/es/products/firefox/" target="_blank">Firefox </a>como navegador. Esto también a gusto del consumidor.</li>
</ul>
<p><strong>TECNOLOGÍAS EMPLEADAS</strong></p>
<ul>
<li>SQL</li>
<li>PHP</li>
<li>HTML</li>
<li>CSS</li>
</ul>
<p><strong>CAPÍTULO 3 &#8211; CREACIÓN DE LA ZONA DE ADMINISTRACIÓN</strong></p>
<p><strong>CREANDO LA ESTRUCTURA</strong></p>
<p><strong> </strong></p>
<p>A mi me gusta tener todo muy limpio y ordenado, lo que me ahorra tiempo en futuras modificaciones o ampliaciones.</p>
<p>Listado de directorios que utilizaremos para nuestro ejemplo. Los expongo a continuación:</p>
<ul>
<li>/ &#8211; Esto es la raíz. Logicamente representará al directorio donde queráis almacenar la página web.</li>
<li>/mantenimiento &#8211; El directorio donde irémos almacenando la zona de administración, de esta forma queda separado de la web.<strong> Importante:</strong> aunque no lo toquemos en este manual, este directorio debería de estrar protegido con usuario y contraseña.</li>
<li>/mantenimiento/css &#8211; Almacenará las hojas de estilos.</li>
<li>/mantenimiento/img &#8211; Almacenará las imágenes de la web.</li>
<li>/mantenimiento/includes &#8211; Almacenará los includes.</li>
</ul>
<p>Una vez tengamos los directorios creados, abrimos nuestro editor web y creamos las siguientes páginas (ojo a las rutas):</p>
<ul>
<li>/mantenimiento/index.php &#8211; Página principal de administración.</li>
<li>/mantenimiento/css/generico.css &#8211; Hoja de estilos. Puede darse el caso de que queráis usar varias.</li>
<li>/mantenimiento/includes/cabecera.php &#8211; Parte de la cabecera.</li>
<li>/mantenimiento/includes/cuerposup.php &#8211; Parte superior del cuerpo de la página.</li>
<li>/mantenimiento/includes/cuerpoinf.php &#8211; Parte inferior del cuerpo de la página.</li>
<li>/mantenimiento/includes/pie.php &#8211; Pie de la página.</li>
<li>/mantenimiento/includes/conexion.php &#8211; Incluirá el código para conectar a la base de datos.</li>
</ul>
<p>El hecho de usar varios includes, me ahorra depender de las típicas plantillas de Dreamweaver. Y a la hora de modificar cualquier parte genérica de la web solo tengo que subir dichos includes y no todos los archivos.</p>
<p>Otra de las muchas utilidades de este método es que el código quedá mucho más legible. Podréis ver su funcionamiento en cualquier portal tipo phpnuke o similares.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Estructura de una base de datos optimizada aplicada al NWN]]></title>
<link>http://eourus.wordpress.com/2009/10/01/estructura-de-una-base-de-datos-optimizada-aplicada-al-nwn/</link>
<pubDate>Thu, 01 Oct 2009 09:46:02 +0000</pubDate>
<dc:creator>eourus</dc:creator>
<guid>http://eourus.wordpress.com/2009/10/01/estructura-de-una-base-de-datos-optimizada-aplicada-al-nwn/</guid>
<description><![CDATA[CAPÍTULO 1 &#8211; MOTIVOS Existen varios motivos, pero los más importantes son 2: Reducción de sent]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p><strong>CAPÍTULO 1 &#8211; MOTIVOS</strong></p>
<p>Existen varios motivos, pero los más importantes son 2:</p>
<ul>
<li>Reducción de sentecias sql, lo cual repercute a medio-largo plazo en la velocidad del server.</li>
<li>Limpieza y orden.</li>
</ul>
<p><!--more--></p>
<p><strong>CAPÍTULO 2 &#8211; ESTRUCTURA</strong></p>
<p>Lo primero que tenemos que hacer antes de crearla, es tener bien claro las variables y tener en mente que en un futuro puede ser que deseemos añadir más. Para ello podemos valernos de cualquier procesador de textos o papel y lapiz (como a la antigua usanza).</p>
<p>Una vez que sabemos todos los datos que queremos guardar, deberíamos dividirlos en 2 bloques, datos básicos (requeridos para poder jugar) y datos opcionales o indispensables.</p>
<p>Consejo: A la hora de crear tablas es recomendable que sean de tipo innodb. Esta opción nos dejará trabajar con posibles relaciones. También cabe estudiar el tema de los Procesos Almacenados.</p>
<p><strong>ESTRUCTURA BÁSICA</strong></p>
<p>A continuación muestro como debería de quedar las tablas y/o campos.</p>
<p><strong> Tabla: cuentas</strong></p>
<table style="border:1px solid #666666;width:100%;" border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td style="border-bottom:1px solid #666666;background:#57af6b none repeat scroll 0 50%;color:#ffffff;"><strong>Campo</strong></td>
<td style="border-bottom:1px solid #666666;background:#57af6b none repeat scroll 0 50%;color:#ffffff;"><strong>Tipo</strong></td>
<td style="border-bottom:1px solid #666666;background:#57af6b none repeat scroll 0 50%;color:#ffffff;"><strong>Atributos</strong></td>
<td style="border-bottom:1px solid #666666;background:#57af6b none repeat scroll 0 50%;color:#ffffff;"><strong>Extra</strong></td>
<td style="border-bottom:1px solid #666666;background:#57af6b none repeat scroll 0 50%;color:#ffffff;"><strong>Otros</strong></td>
</tr>
<tr>
<td style="border-bottom:1px solid #666666;">id_cuenta</td>
<td style="border-bottom:1px solid #666666;">int</td>
<td style="border-bottom:1px solid #666666;">unsigned</td>
<td style="border-bottom:1px solid #666666;">auto_increment</td>
<td style="border-bottom:1px solid #666666;">primary key</td>
</tr>
<tr>
<td style="border-bottom:1px solid #666666;">cuenta</td>
<td style="border-bottom:1px solid #666666;">varchar(100)</td>
<td style="border-bottom:1px solid #666666;"></td>
<td style="border-bottom:1px solid #666666;"></td>
<td style="border-bottom:1px solid #666666;"></td>
</tr>
<tr>
<td style="border-bottom:1px solid #666666;">password</td>
<td style="border-bottom:1px solid #666666;">varchar(100)</td>
<td style="border-bottom:1px solid #666666;"></td>
<td style="border-bottom:1px solid #666666;"></td>
<td style="border-bottom:1px solid #666666;"></td>
</tr>
<tr>
<td style="border-bottom:1px solid #666666;">cdkey</td>
<td style="border-bottom:1px solid #666666;">longtext</td>
<td style="border-bottom:1px solid #666666;"></td>
<td style="border-bottom:1px solid #666666;"></td>
<td style="border-bottom:1px solid #666666;"></td>
</tr>
<tr>
<td>baneado</td>
<td>int</td>
<td></td>
<td></td>
<td></td>
</tr>
</tbody>
</table>
<p>Guardará todos los datos básicos referente a las cuentas.</p>
<p><strong> Tabla: personajes </strong></p>
<table style="border:1px solid #666666;width:100%;" border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td style="border-bottom:1px solid #666666;background:#57af6b none repeat scroll 0 50%;color:#ffffff;"><strong>Campo</strong></td>
<td style="border-bottom:1px solid #666666;background:#57af6b none repeat scroll 0 50%;color:#ffffff;"><strong>Tipo</strong></td>
<td style="border-bottom:1px solid #666666;background:#57af6b none repeat scroll 0 50%;color:#ffffff;"><strong>Atributos</strong></td>
<td style="border-bottom:1px solid #666666;background:#57af6b none repeat scroll 0 50%;color:#ffffff;"><strong>Extra</strong></td>
<td style="border-bottom:1px solid #666666;background:#57af6b none repeat scroll 0 50%;color:#ffffff;"><strong>Otros</strong></td>
</tr>
<tr>
<td style="border-bottom:1px solid #666666;">id_pj</td>
<td style="border-bottom:1px solid #666666;">int</td>
<td style="border-bottom:1px solid #666666;">unsigned</td>
<td style="border-bottom:1px solid #666666;">auto_increment</td>
<td style="border-bottom:1px solid #666666;">primary key</td>
</tr>
<tr>
<td style="border-bottom:1px solid #666666;">id_cuenta</td>
<td style="border-bottom:1px solid #666666;">int</td>
<td style="border-bottom:1px solid #666666;">unsigned</td>
<td style="border-bottom:1px solid #666666;"></td>
<td style="border-bottom:1px solid #666666;">relación</td>
</tr>
<tr>
<td style="border-bottom:1px solid #666666;">nombre</td>
<td style="border-bottom:1px solid #666666;">varchar(100)</td>
<td style="border-bottom:1px solid #666666;"></td>
<td style="border-bottom:1px solid #666666;"></td>
<td style="border-bottom:1px solid #666666;"></td>
</tr>
<tr>
<td style="border-bottom:1px solid #666666;">online</td>
<td style="border-bottom:1px solid #666666;">int</td>
<td style="border-bottom:1px solid #666666;"></td>
<td style="border-bottom:1px solid #666666;"></td>
<td style="border-bottom:1px solid #666666;"></td>
</tr>
</tbody>
</table>
<p>Guardará todos los datos básicos referente a los pjs. Relacionada con la tabla cuentas.</p>
<p><strong> </strong></p>
<p><strong>Tabla: server</strong></p>
<table style="border:1px solid #666666;width:100%;" border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td style="border-bottom:1px solid #666666;background:#57af6b none repeat scroll 0 50%;color:#ffffff;"><strong>Campo</strong></td>
<td style="border-bottom:1px solid #666666;background:#57af6b none repeat scroll 0 50%;color:#ffffff;"><strong>Tipo</strong></td>
<td style="border-bottom:1px solid #666666;background:#57af6b none repeat scroll 0 50%;color:#ffffff;"><strong>Atributos</strong></td>
<td style="border-bottom:1px solid #666666;background:#57af6b none repeat scroll 0 50%;color:#ffffff;"><strong>Extra</strong></td>
<td style="border-bottom:1px solid #666666;background:#57af6b none repeat scroll 0 50%;color:#ffffff;"><strong>Otros</strong></td>
</tr>
<tr>
<td style="border-bottom:1px solid #666666;">id_server</td>
<td style="border-bottom:1px solid #666666;">int</td>
<td style="border-bottom:1px solid #666666;">unsigned</td>
<td style="border-bottom:1px solid #666666;">auto_increment</td>
<td style="border-bottom:1px solid #666666;">primary key</td>
</tr>
<tr>
<td style="border-bottom:1px solid #666666;">ano</td>
<td style="border-bottom:1px solid #666666;">int</td>
<td style="border-bottom:1px solid #666666;"></td>
<td style="border-bottom:1px solid #666666;"></td>
<td style="border-bottom:1px solid #666666;"></td>
</tr>
<tr>
<td style="border-bottom:1px solid #666666;">mes</td>
<td style="border-bottom:1px solid #666666;">int</td>
<td style="border-bottom:1px solid #666666;"></td>
<td style="border-bottom:1px solid #666666;"></td>
<td style="border-bottom:1px solid #666666;"></td>
</tr>
<tr>
<td>dia</td>
<td>int</td>
<td></td>
<td></td>
<td></td>
</tr>
</tbody>
</table>
<p>Esta tabla contendría los datos fundamentales para el funcionamiento del servidor. Yo he puesto estos, pero lógicamente se podrían añadir más.</p>
<p><strong>ESTRUCTURA AVANZADA</strong></p>
<p><strong> Tabla: caracteristicas</strong></p>
<table style="border:1px solid #666666;width:100%;" border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td style="border-bottom:1px solid #666666;background:#57af6b none repeat scroll 0 50%;color:#ffffff;"><strong>Campo</strong></td>
<td style="border-bottom:1px solid #666666;background:#57af6b none repeat scroll 0 50%;color:#ffffff;"><strong>Tipo</strong></td>
<td style="border-bottom:1px solid #666666;background:#57af6b none repeat scroll 0 50%;color:#ffffff;"><strong>Atributos</strong></td>
<td style="border-bottom:1px solid #666666;background:#57af6b none repeat scroll 0 50%;color:#ffffff;"><strong>Extra</strong></td>
<td style="border-bottom:1px solid #666666;background:#57af6b none repeat scroll 0 50%;color:#ffffff;"><strong>Otros</strong></td>
</tr>
<tr>
<td style="border-bottom:1px solid #666666;">id_car</td>
<td style="border-bottom:1px solid #666666;">int</td>
<td style="border-bottom:1px solid #666666;">unsigned</td>
<td style="border-bottom:1px solid #666666;">auto_increment</td>
<td style="border-bottom:1px solid #666666;">primary key</td>
</tr>
<tr>
<td style="border-bottom:1px solid #666666;">id_pj</td>
<td style="border-bottom:1px solid #666666;">int</td>
<td style="border-bottom:1px solid #666666;">unsigned</td>
<td style="border-bottom:1px solid #666666;"></td>
<td style="border-bottom:1px solid #666666;">relación</td>
</tr>
<tr>
<td style="border-bottom:1px solid #666666;">fue</td>
<td style="border-bottom:1px solid #666666;">int</td>
<td style="border-bottom:1px solid #666666;"></td>
<td style="border-bottom:1px solid #666666;"></td>
<td style="border-bottom:1px solid #666666;"></td>
</tr>
<tr>
<td style="border-bottom:1px solid #666666;">des</td>
<td style="border-bottom:1px solid #666666;">int</td>
<td style="border-bottom:1px solid #666666;"></td>
<td style="border-bottom:1px solid #666666;"></td>
<td style="border-bottom:1px solid #666666;"></td>
</tr>
<tr>
<td style="border-bottom:1px solid #666666;">con</td>
<td style="border-bottom:1px solid #666666;">int</td>
<td style="border-bottom:1px solid #666666;"></td>
<td style="border-bottom:1px solid #666666;"></td>
<td style="border-bottom:1px solid #666666;"></td>
</tr>
<tr>
<td style="border-bottom:1px solid #666666;">inte</td>
<td style="border-bottom:1px solid #666666;">int</td>
<td style="border-bottom:1px solid #666666;"></td>
<td style="border-bottom:1px solid #666666;"></td>
<td style="border-bottom:1px solid #666666;"></td>
</tr>
<tr>
<td style="border-bottom:1px solid #666666;">sab</td>
<td style="border-bottom:1px solid #666666;">int</td>
<td style="border-bottom:1px solid #666666;"></td>
<td style="border-bottom:1px solid #666666;"></td>
<td style="border-bottom:1px solid #666666;"></td>
</tr>
<tr>
<td style="border-bottom:1px solid #666666;">car</td>
<td style="border-bottom:1px solid #666666;">int</td>
<td style="border-bottom:1px solid #666666;"></td>
<td style="border-bottom:1px solid #666666;"></td>
<td style="border-bottom:1px solid #666666;"></td>
</tr>
<tr>
<td style="border-bottom:1px solid #666666;">pgact</td>
<td style="border-bottom:1px solid #666666;">int</td>
<td style="border-bottom:1px solid #666666;"></td>
<td style="border-bottom:1px solid #666666;"></td>
<td style="border-bottom:1px solid #666666;"></td>
</tr>
<tr>
<td style="border-bottom:1px solid #666666;">pgtotal</td>
<td style="border-bottom:1px solid #666666;">int</td>
<td style="border-bottom:1px solid #666666;"></td>
<td style="border-bottom:1px solid #666666;"></td>
<td style="border-bottom:1px solid #666666;"></td>
</tr>
<tr>
<td style="border-bottom:1px solid #666666;">fechainicial</td>
<td style="border-bottom:1px solid #666666;">int</td>
<td style="border-bottom:1px solid #666666;"></td>
<td style="border-bottom:1px solid #666666;"></td>
<td style="border-bottom:1px solid #666666;"></td>
</tr>
<tr>
<td style="border-bottom:1px solid #666666;">xp</td>
<td style="border-bottom:1px solid #666666;">int</td>
<td style="border-bottom:1px solid #666666;"></td>
<td style="border-bottom:1px solid #666666;"></td>
<td style="border-bottom:1px solid #666666;"></td>
</tr>
<tr>
<td style="border-bottom:1px solid #666666;">oro</td>
<td style="border-bottom:1px solid #666666;">int</td>
<td style="border-bottom:1px solid #666666;"></td>
<td style="border-bottom:1px solid #666666;"></td>
<td style="border-bottom:1px solid #666666;"></td>
</tr>
<tr>
<td style="border-bottom:1px solid #666666;">id_deidad</td>
<td style="border-bottom:1px solid #666666;">int</td>
<td style="border-bottom:1px solid #666666;"></td>
<td style="border-bottom:1px solid #666666;"></td>
<td style="border-bottom:1px solid #666666;">relación</td>
</tr>
<tr>
<td style="border-bottom:1px solid #666666;">raza</td>
<td style="border-bottom:1px solid #666666;">varchar(100)</td>
<td style="border-bottom:1px solid #666666;"></td>
<td style="border-bottom:1px solid #666666;"></td>
<td style="border-bottom:1px solid #666666;"></td>
</tr>
<tr>
<td style="border-bottom:1px solid #666666;">fortaleza</td>
<td style="border-bottom:1px solid #666666;">int</td>
<td style="border-bottom:1px solid #666666;"></td>
<td style="border-bottom:1px solid #666666;"></td>
<td style="border-bottom:1px solid #666666;"></td>
</tr>
<tr>
<td style="border-bottom:1px solid #666666;">reflejos</td>
<td style="border-bottom:1px solid #666666;">int</td>
<td style="border-bottom:1px solid #666666;"></td>
<td style="border-bottom:1px solid #666666;"></td>
<td style="border-bottom:1px solid #666666;"></td>
</tr>
<tr>
<td style="border-bottom:1px solid #666666;">voluntad</td>
<td style="border-bottom:1px solid #666666;">int</td>
<td style="border-bottom:1px solid #666666;"></td>
<td style="border-bottom:1px solid #666666;"></td>
<td style="border-bottom:1px solid #666666;"></td>
</tr>
<tr>
<td>ataquebase</td>
<td>int</td>
<td></td>
<td></td>
<td></td>
</tr>
</tbody>
</table>
<p>Esta tabla albergaría las características de la ficha de los pjs. Si en un futuro se quieren introducir más variables en ellas no abría problema. Mantendrá relación con la tabla de personajes y la tabla de dioses.</p>
<p><strong> Tabla: areas</strong></p>
<table style="border:1px solid #666666;width:100%;" border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td style="border-bottom:1px solid #666666;background:#57af6b none repeat scroll 0 50%;color:#ffffff;"><strong>Campo</strong></td>
<td style="border-bottom:1px solid #666666;background:#57af6b none repeat scroll 0 50%;color:#ffffff;"><strong>Tipo</strong></td>
<td style="border-bottom:1px solid #666666;background:#57af6b none repeat scroll 0 50%;color:#ffffff;"><strong>Atributos</strong></td>
<td style="border-bottom:1px solid #666666;background:#57af6b none repeat scroll 0 50%;color:#ffffff;"><strong>Extra</strong></td>
<td style="border-bottom:1px solid #666666;background:#57af6b none repeat scroll 0 50%;color:#ffffff;"><strong>Otros</strong></td>
</tr>
<tr>
<td style="border-bottom:1px solid #666666;">id_area</td>
<td style="border-bottom:1px solid #666666;">int</td>
<td style="border-bottom:1px solid #666666;">unsigned</td>
<td style="border-bottom:1px solid #666666;">auto_increment</td>
<td style="border-bottom:1px solid #666666;">primary key</td>
</tr>
<tr>
<td style="border-bottom:1px solid #666666;">ref</td>
<td style="border-bottom:1px solid #666666;">varchar(100)</td>
<td style="border-bottom:1px solid #666666;"></td>
<td style="border-bottom:1px solid #666666;"></td>
<td style="border-bottom:1px solid #666666;"></td>
</tr>
<tr>
<td>descripcion</td>
<td>longtext</td>
<td></td>
<td></td>
<td></td>
</tr>
</tbody>
</table>
<p>Esta tabla almacenará todas las referencias de las áreas actuales y futuras junto con el nombre de cada una de ellas.</p>
<p><strong> Tabla: quest</strong></p>
<table style="border:1px solid #666666;width:100%;" border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td style="border-bottom:1px solid #666666;background:#57af6b none repeat scroll 0 50%;color:#ffffff;"><strong>Campo</strong></td>
<td style="border-bottom:1px solid #666666;background:#57af6b none repeat scroll 0 50%;color:#ffffff;"><strong>Tipo</strong></td>
<td style="border-bottom:1px solid #666666;background:#57af6b none repeat scroll 0 50%;color:#ffffff;"><strong>Atributos</strong></td>
<td style="border-bottom:1px solid #666666;background:#57af6b none repeat scroll 0 50%;color:#ffffff;"><strong>Extra</strong></td>
<td style="border-bottom:1px solid #666666;background:#57af6b none repeat scroll 0 50%;color:#ffffff;"><strong>Otros</strong></td>
</tr>
<tr>
<td style="border-bottom:1px solid #666666;">id_quest</td>
<td style="border-bottom:1px solid #666666;">int</td>
<td style="border-bottom:1px solid #666666;">unsigned</td>
<td style="border-bottom:1px solid #666666;">auto_increment</td>
<td style="border-bottom:1px solid #666666;">primary key</td>
</tr>
<tr>
<td style="border-bottom:1px solid #666666;">ref</td>
<td style="border-bottom:1px solid #666666;">varchar(100)</td>
<td style="border-bottom:1px solid #666666;"></td>
<td style="border-bottom:1px solid #666666;"></td>
<td style="border-bottom:1px solid #666666;"></td>
</tr>
<tr>
<td style="border-bottom:1px solid #666666;">descripcion</td>
<td style="border-bottom:1px solid #666666;">longtext</td>
<td style="border-bottom:1px solid #666666;"></td>
<td style="border-bottom:1px solid #666666;"></td>
<td style="border-bottom:1px solid #666666;"></td>
</tr>
<tr>
<td>activa</td>
<td>int</td>
<td></td>
<td></td>
<td></td>
</tr>
</tbody>
</table>
<p>Almacenará todas las referencias y nombres descriptivos de las quest. Opcinalmente, yo he decidido poner una campo más para poder activarlas y desactivarlas en caso de que no funcionen bien o cualquier otro problema que surja con ellas.</p>
<p><strong> Tabla: diario</strong></p>
<table style="border:1px solid #666666;width:100%;" border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td style="border-bottom:1px solid #666666;background:#57af6b none repeat scroll 0 50%;color:#ffffff;"><strong>Campo</strong></td>
<td style="border-bottom:1px solid #666666;background:#57af6b none repeat scroll 0 50%;color:#ffffff;"><strong>Tipo</strong></td>
<td style="border-bottom:1px solid #666666;background:#57af6b none repeat scroll 0 50%;color:#ffffff;"><strong>Atributos</strong></td>
<td style="border-bottom:1px solid #666666;background:#57af6b none repeat scroll 0 50%;color:#ffffff;"><strong>Extra</strong></td>
<td style="border-bottom:1px solid #666666;background:#57af6b none repeat scroll 0 50%;color:#ffffff;"><strong>Otros</strong></td>
</tr>
<tr>
<td style="border-bottom:1px solid #666666;">id_diario</td>
<td style="border-bottom:1px solid #666666;">int</td>
<td style="border-bottom:1px solid #666666;">unsigned</td>
<td style="border-bottom:1px solid #666666;">auto_increment</td>
<td style="border-bottom:1px solid #666666;">primary key</td>
</tr>
<tr>
<td style="border-bottom:1px solid #666666;">id_pj</td>
<td style="border-bottom:1px solid #666666;">int</td>
<td style="border-bottom:1px solid #666666;">unsigned</td>
<td style="border-bottom:1px solid #666666;"></td>
<td style="border-bottom:1px solid #666666;">relación</td>
</tr>
<tr>
<td>id_quest</td>
<td>int</td>
<td>unsigned</td>
<td></td>
<td>relación</td>
</tr>
</tbody>
</table>
<p>En esta tabla se guardarán las quest hechas por los pjs. Mantendrá relación con la tabla de personajes y la tabla de quest.</p>
<p><strong> Tabla: areasv</strong></p>
<table style="border:1px solid #666666;width:100%;" border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td style="border-bottom:1px solid #666666;background:#57af6b none repeat scroll 0 50%;color:#ffffff;"><strong>Campo</strong></td>
<td style="border-bottom:1px solid #666666;background:#57af6b none repeat scroll 0 50%;color:#ffffff;"><strong>Tipo</strong></td>
<td style="border-bottom:1px solid #666666;background:#57af6b none repeat scroll 0 50%;color:#ffffff;"><strong>Atributos</strong></td>
<td style="border-bottom:1px solid #666666;background:#57af6b none repeat scroll 0 50%;color:#ffffff;"><strong>Extra</strong></td>
<td style="border-bottom:1px solid #666666;background:#57af6b none repeat scroll 0 50%;color:#ffffff;"><strong>Otros</strong></td>
</tr>
<tr>
<td style="border-bottom:1px solid #666666;">id_areasv</td>
<td style="border-bottom:1px solid #666666;">int</td>
<td style="border-bottom:1px solid #666666;">unsigned</td>
<td style="border-bottom:1px solid #666666;">auto_increment</td>
<td style="border-bottom:1px solid #666666;">primary key</td>
</tr>
<tr>
<td style="border-bottom:1px solid #666666;">id_pj</td>
<td style="border-bottom:1px solid #666666;">int</td>
<td style="border-bottom:1px solid #666666;">unsigned</td>
<td style="border-bottom:1px solid #666666;"></td>
<td style="border-bottom:1px solid #666666;">relación</td>
</tr>
<tr>
<td>id_area</td>
<td>int</td>
<td>unsigned</td>
<td></td>
<td>relación</td>
</tr>
</tbody>
</table>
<p>Guardará las áreas visitadas por los pjs. Mantendrá relación con la tabla personajes y areas.</p>
<p><strong> Tabla: estadisticas</strong></p>
<table style="border:1px solid #666666;width:100%;" border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td style="border-bottom:1px solid #666666;background:#57af6b none repeat scroll 0 50%;color:#ffffff;"><strong>Campo</strong></td>
<td style="border-bottom:1px solid #666666;background:#57af6b none repeat scroll 0 50%;color:#ffffff;"><strong>Tipo</strong></td>
<td style="border-bottom:1px solid #666666;background:#57af6b none repeat scroll 0 50%;color:#ffffff;"><strong>Atributos</strong></td>
<td style="border-bottom:1px solid #666666;background:#57af6b none repeat scroll 0 50%;color:#ffffff;"><strong>Extra</strong></td>
<td style="border-bottom:1px solid #666666;background:#57af6b none repeat scroll 0 50%;color:#ffffff;"><strong>Otros</strong></td>
</tr>
<tr>
<td style="border-bottom:1px solid #666666;">id_estad</td>
<td style="border-bottom:1px solid #666666;">int</td>
<td style="border-bottom:1px solid #666666;">unsigned</td>
<td style="border-bottom:1px solid #666666;">auto_increment</td>
<td style="border-bottom:1px solid #666666;">primary key</td>
</tr>
<tr>
<td style="border-bottom:1px solid #666666;">id_pj</td>
<td style="border-bottom:1px solid #666666;">int</td>
<td style="border-bottom:1px solid #666666;">unsigned</td>
<td style="border-bottom:1px solid #666666;"></td>
<td style="border-bottom:1px solid #666666;">relación</td>
</tr>
<tr>
<td style="border-bottom:1px solid #666666;">xpmonstruos</td>
<td style="border-bottom:1px solid #666666;">int</td>
<td style="border-bottom:1px solid #666666;"></td>
<td style="border-bottom:1px solid #666666;"></td>
<td style="border-bottom:1px solid #666666;"></td>
</tr>
<tr>
<td style="border-bottom:1px solid #666666;">xpviajes</td>
<td style="border-bottom:1px solid #666666;">int</td>
<td style="border-bottom:1px solid #666666;"></td>
<td style="border-bottom:1px solid #666666;"></td>
<td style="border-bottom:1px solid #666666;"></td>
</tr>
<tr>
<td style="border-bottom:1px solid #666666;">xpfabricar</td>
<td style="border-bottom:1px solid #666666;">int</td>
<td style="border-bottom:1px solid #666666;"></td>
<td style="border-bottom:1px solid #666666;"></td>
<td style="border-bottom:1px solid #666666;"></td>
</tr>
<tr>
<td>xpquest</td>
<td>int</td>
<td></td>
<td></td>
<td></td>
</tr>
</tbody>
</table>
<p>Aqui almacenaremos cualquier variable que nos sirva para las estadísticas. Se le podrán ir añadiendo más.</p>
<p><strong> Tabla: dioses</strong></p>
<table style="border:1px solid #666666;width:100%;" border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td style="border-bottom:1px solid #666666;background:#57af6b none repeat scroll 0 50%;color:#ffffff;"><strong>Campo</strong></td>
<td style="border-bottom:1px solid #666666;background:#57af6b none repeat scroll 0 50%;color:#ffffff;"><strong>Tipo</strong></td>
<td style="border-bottom:1px solid #666666;background:#57af6b none repeat scroll 0 50%;color:#ffffff;"><strong>Atributos</strong></td>
<td style="border-bottom:1px solid #666666;background:#57af6b none repeat scroll 0 50%;color:#ffffff;"><strong>Extra</strong></td>
<td style="border-bottom:1px solid #666666;background:#57af6b none repeat scroll 0 50%;color:#ffffff;"><strong>Otros</strong></td>
</tr>
<tr>
<td style="border-bottom:1px solid #666666;">id_deidad</td>
<td style="border-bottom:1px solid #666666;">int</td>
<td style="border-bottom:1px solid #666666;">unsigned</td>
<td style="border-bottom:1px solid #666666;">auto_increment</td>
<td style="border-bottom:1px solid #666666;">primary key</td>
</tr>
<tr>
<td style="border-bottom:1px solid #666666;">ref</td>
<td style="border-bottom:1px solid #666666;">varchar(100)</td>
<td style="border-bottom:1px solid #666666;"></td>
<td style="border-bottom:1px solid #666666;"></td>
<td style="border-bottom:1px solid #666666;"></td>
</tr>
<tr>
<td>descripcion</td>
<td>longtext</td>
<td></td>
<td></td>
<td></td>
</tr>
</tbody>
</table>
<p>Aquí incluiremos el listado de dioses.</p>
<p><strong>CAPÍTULO 3 &#8211; OTRAS ALTERNATIVAS</strong></p>
<p><strong> </strong>Si sois de los que no os gustan tener muy estructurada la base de datos pero no queréis renuncionar a tenerla optimizada, siempre podéis juntar con la tabla de personajes aquellas tablas que solo van a tener un registro por pj.</p>
<p>Por ejemplo: Los campos de las tablas estadisticas y características podrían agregarse a la de personajes.</p>
<p>Y con éste último capítulo doy por concluido este tutorial. Espero que veáis en él un ejemplo a seguir.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Lyssa's Tale Chapter One Part Two]]></title>
<link>http://taholtorf.wordpress.com/2009/08/29/lyssas-tale-chapter-one-part-two/</link>
<pubDate>Sat, 29 Aug 2009 14:27:05 +0000</pubDate>
<dc:creator>Zodi</dc:creator>
<guid>http://taholtorf.wordpress.com/2009/08/29/lyssas-tale-chapter-one-part-two/</guid>
<description><![CDATA[Soon my days and nights became one, only broken twice a day when the mistress of the house came to f]]></description>
<content:encoded><![CDATA[Soon my days and nights became one, only broken twice a day when the mistress of the house came to f]]></content:encoded>
</item>
<item>
<title><![CDATA[Lyssa's Tale Chapter One Part One]]></title>
<link>http://taholtorf.wordpress.com/2009/08/27/lyssas-tale-chapter-one-part-one/</link>
<pubDate>Fri, 28 Aug 2009 05:07:25 +0000</pubDate>
<dc:creator>Zodi</dc:creator>
<guid>http://taholtorf.wordpress.com/2009/08/27/lyssas-tale-chapter-one-part-one/</guid>
<description><![CDATA[Before you sink yourself into Lyssa&#8217;s Tale I would like to discuss something serious for a bri]]></description>
<content:encoded><![CDATA[Before you sink yourself into Lyssa&#8217;s Tale I would like to discuss something serious for a bri]]></content:encoded>
</item>
<item>
<title><![CDATA[Postmortem: The Etilica Soulflash – Part II]]></title>
<link>http://dancingelephants.wordpress.com/2009/07/06/postmortem-the-etilica-soulflash-%e2%80%93-part-ii/</link>
<pubDate>Mon, 06 Jul 2009 05:31:37 +0000</pubDate>
<dc:creator>Dave</dc:creator>
<guid>http://dancingelephants.wordpress.com/2009/07/06/postmortem-the-etilica-soulflash-%e2%80%93-part-ii/</guid>
<description><![CDATA[Continued from part I &#8211; (I realized that I&#8217;d never finished the Etilica Soulflash story)]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Continued from <a href="http://dancingelephants.wordpress.com/2009/02/04/postmortem-the-etilica-soulflash-part-i/">part I</a> &#8211; (I realized that I&#8217;d never finished the Etilica Soulflash story)</p>
<p>When the soulflash went live on Etilica and the lore changes went into the documentation, along with a note on the forums detailing how death worked. There was uproar!</p>
<p>Generally, Etilica&#8217;s community fell into three camps:</p>
<p><strong>1 &#8211; </strong>Those who did not think too much about the ramifications of everyone respawning &#8211; or were okay with it &#8211; and just found it kind of cool to find dead bodies from player character now and then.  If you were on the server during off hours when it was very quiet and happened to be in a far flung zone, coming across a shell from a respawn hours ago was a concrete sign that you were not alone.  Also, PCs could get a small amount of experience from cremating a shell and it served as a roleplay device</p>
<p><strong>2 &#8211; </strong>Those who did not think too much about the ramifications of everyone respawning &#8211; or were okay with it &#8211; and were simply happy to rezz shells and do bizarre things with them.  It quickly became de rigueur for evil characters to rezz shells of fallen enemies to mock them.  The whole &#8220;turn your worst enemy’s cast off corpse into your mindless, living zombie butler&#8221; was part of the intent of the system and I heard that my own character&#8217;s shell was used for precisely this kind of roleplay.  I was also given vague hearsay warnings about inappropriate usage, but was never told the details. </p>
<p><strong>3- </strong>The last group was the ones who were not okay with the everyone respawn lore.  They were extremely vocal about it.  They were completely fine with the fact that their character was more or less immortal.  What bothered them was the fact that slaying the orc king would now seem utterly pointless because he returned to life.  They would be trapped in a groundhog day scenario forever. </p>
<p>They had something of a point.  The problem was this was in fact already the case.  There were a number of repeatable quests where the PCs had to kill named villains and bring back their heads/rings/etc. or rescue the children that they had kidnapped.  Everyone conveniently overlooked the fact that these named villains &#8211; whose lairs we would probably now call raid instances &#8211; would probably be reset and ready to fight again even before their ring was turned into the quest giver.  Where is the closure in rescuing the children when you go back out and there they are again?  This is a problem that every PW, from the small text MUDs to WoW experiences.  Players consume content.  In the absence of compelling GM activity and in the absence of player driven roleplay plots, players will grind and run quests during quiet times.  But this is another problem for another time.</p>
<p>These resistant players were correct about the groundhog day effect.  The problem was that they were not really thinking through the effect of having a sub-population that was effectively immune to death, while the rest were.  And for the record, if a god restores you to life every time you die, you are pretty fucking immune to death.  They despaired at the pointlessness of it all.  I despaired at the thought that the logical way to play the alternative out would be to effectively turn most NPCs into second class citizens at best and slaves at worst with the respawners as a divinely chosen aristocracy.  Eventually I implemented a compromise.  Everyone &#8211; PC and NPC alike &#8211; still soulflashed.  All PCs and 10% of NPCs (all named bosses and 10% of spawns) also took their gear to the fuge plane.  There people were destined to be respawned and were collectively the immortals.  With such people, the shell left behind was naked.  The rest of the NPCs left their gear behind when they soulflashed.  They were truly dead.  It was a sloppy compromise and I was never really happy with it; not least because I still had to paper over the cracks in the lore and pretend that human nature was not at play here and that the world would not develop a caste system.  Nevertheless, the changes did not go over well and some people left.  Ironically, one of the most vocal of the resistant players was a member of the dev team.  He had ignored the posts on the builder forums leading up to the insertion of the new death system/lore into the world and only spoke up afterwards. </p>
<p>I took two lessons away from this:</p>
<p><strong>1- </strong>&#8220;Everyone Respawns&#8221; is not an acceptable alternative to &#8220;Only Players Respawn&#8221;.  Some players will happily ignore the knock on effects of their own serial resurrection, while getting hot and bothered about NPC resurrection.  This reality and consideration of possible alternatives eventually led to <a href="http://dancingelephants.wordpress.com/2009/06/25/the-hsm-heroes-not-serial-martyrs-manifesto/">HSM</a>. </p>
<p><strong>2 &#8211; </strong>In addition to being competent team players, devs actually have to participate in the developer discussions.  This is kind of ironic in a way as &#8211; at least at the level of technical skill required to work on NWN1 &#8211; all development PW discussions are essentially <a href="http://en.wikipedia.org/wiki/Colour_of_the_bikeshed">bike shed discussions</a>.  Users don&#8217;t pontificate about ERP software, but they&#8217;ll do so endlessly about PWs.  On the forums, they&#8217;ll give unsolicited advice on changes to the world that are either technically impossible to implement or miss the point of the world&#8217;s vision.  If they are not posting on the forums, they are blogging.  I know this phenomenon quite well.  Over on <a href="http://projectangela.org/forum/index.php">Project Angela</a>, the brainstorming discussions of what was to eventually become the <a href="http://projectangela.org/forum/index.php?topic=662.0">Memotica design language</a> were full of debate.  I had trouble keeping up sometimes.  When the discussions reached the advanced stage where deep thought was required in solving tricky design problems, I found myself being the only meaningful participant as often as not.  When it came to actually doing the grunt work in the formal language design and writing the interpreter, I was completely alone. </p>
<p>In the case of that guy on Etilica, I still don’t know why he did not know what was going on. </p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Negative World Notes]]></title>
<link>http://iheartsl.com/2009/07/05/negative-world-notes/</link>
<pubDate>Sun, 05 Jul 2009 15:12:29 +0000</pubDate>
<dc:creator>Prad Prathivi</dc:creator>
<guid>http://iheartsl.com/2009/07/05/negative-world-notes/</guid>
<description><![CDATA[There&#8217;s something very odd about Hamlet Au&#8217;s rather negative article regarding Second Li]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p><img class="alignright size-medium wp-image-1740" title="sl6b mainstage" src="http://www.metaversallyspeaking.com/wp-content/uploads/2009/07/sl6b-mainstage1-300x237.jpg" alt="sl6b mainstage" width="300" height="237" />There&#8217;s something very odd about Hamlet Au&#8217;s <a href="http://nwn.blogs.com/nwn/2009/07/quiet-sl6b.html" target="_blank">rather negative article</a> regarding Second Life&#8217;s 6th Birthday celebrations. He made no effort to report the event, and it doesn&#8217;t matter how you sugar coat it, it is one of the biggest grid events in Second Life. So for a blogger like Hamlet to slate it after the event, and leaving his events correspondent to cover it smacks of some underlying ill-felt reasons. Perhaps he didn&#8217;t get his backstage pass or something? I&#8217;m not sure, but he certainly dropped several rungs on the &#8220;journalistic&#8221; ladder with that one.</p>
<p>SL6B is a celebration of community &#8211; it&#8217;s created and managed by the residents themselves for other residents to enjoy. I spent hundreds of hours working on my builds for the event for the community to enjoy, and did so at my own expense &#8211; it&#8217;s voluntary, and hence a freebie. That&#8217;s right &#8211; Prad Prathivi gave the grid a huge frickin freebie.</p>
<p>Why so? Because I love the collaborative ethos behind a community event like SL6B. It&#8217;s about people from all around the globe who share in common this virtual world, and they come together to create something which isn&#8217;t for financial gains, but to simply show &#8220;This is what Second Life is to me&#8221;. In a virtual world that has more than its fair share of sex and commercialism, it&#8217;s nice to be able to explore a place where products are constantly being pushed into your face. It&#8217;s nice to see the diversity and learn about what other people use SL for, and seeing the grid from another perspective.</p>
<p>Hamlet Au decides to base his &#8220;SL6B=Fail&#8221; article on statistics that only a minor proportion of residents went to see the sims. Which may well be true, but it&#8217;s 17,000+ people who participated in a resident-run grid event. If a resident doesn&#8217;t want to attend, then bully for them. I don&#8217;t care why someone does or doesn&#8217;t go to the events &#8211; it&#8217;s not about how many people are drawn to it. SL6B&#8217;s success was never to pack every sim with as many people as it could manage. It was to create an event which had a strong theme and to bring in a diverse range of exhibitors to showcase their talents and demonstrate what the future of virtual worlds meant to them.</p>
<p>Sure, in events like these, there&#8217;s always going to be a couple who will miss the point. But on the whole, I was very impressed with many of the exhibitors I saw across the party sims.</p>
<p><a href="http://www.metaversallyspeaking.com/articles/business/sl6b/negative-world-notes" target="_self">Read the rest of this article over at Metaversally Speaking..</a></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Neverwinter Nights from 1C]]></title>
<link>http://lgbalukation.wordpress.com/2009/06/30/neverwinter-nights-from-1c/</link>
<pubDate>Tue, 30 Jun 2009 01:44:08 +0000</pubDate>
<dc:creator>LG.BALUKATION</dc:creator>
<guid>http://lgbalukation.wordpress.com/2009/06/30/neverwinter-nights-from-1c/</guid>
<description><![CDATA[В минувшее воскресенье заходил в Айсберг глянуть чего нынче продают и купил себе лицензионный Neverw]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>В минувшее воскресенье заходил в Айсберг глянуть чего нынче продают и купил себе <a href="http://games.1c.ru/neverwinter/">лицензионный</a> Neverwinter Nights. Игрушка старая, просто интересно было как её наши официально издали (спустя туеву хучу лет после выхода в мире и у пиратов) ну и м/б лицковый ключик пригодится&#8230;<br />
<!--more--><br />
Итак, в конце июня 2002 года Infrogames (ныне часть Atari) выпустила очередной шедевр от BioWare (принадлежащей EA). В те далёкие годы на территории РФ игру &#8220;перевели и издали&#8221; местные конторы (Фаргус, 7Волк и некоторые другие). А вот в марте 2007 года 1С всё-таки соизволила выпустить диски, которые я и купил на выходных.</p>
<p>Прекрасно, что сам разработчик не ограничился выбросом игры издателю, а сделал основательный проект и достаточно долго его поддерживал. Вместе с игрой был выпущен редактор, вскоре были выпущены версии игры для Linux и Mac, спустя некоторое время были открыты спецификации на форматы файлов для движка и это позволило энтузиастам написать свободный аналог редактора для Linux/Mac и множество просто мелких тулз различной степени полезности. К игре было выпущено два крупных дополнения и несколько мелких (премиум-модули), наличие редактора и тулз позволило игрокам самим создавать модули &#8211; есть несколько весьма крупных и интересных проектов. BioWare же тем временем активно поддерживала модостроителей, выпуская время-от-времени патчи (последний &#8211; 1.69 &#8211; прошлое лето), вносящие новые фичи в движёк. Когда-то я уже <a href="http://lgbalukation.wordpress.com/2007/07/19/respect/">постил об этом</a>.</p>
<p>Кстати, Aurora Engine оказался очень удачной разработкой &#8211; его улучшенные версии использовались потом в паре StarWars, NWN2, Ведьмак. Дизайн и реализацию NWN даже использовали в обучении созданию игр (в пендосии есть универы с лекциями и по этой дисциплине).</p>
<p>В России достаточно любителей хороших РПГ, так что игра у нас получила не плохое распространение даже без официального издателя и соответственно всяких там реклам да прочей лажи. У нас есть прекрасное сообщество модостроителей, где можно почитать связанные новости, статьи/уроки или просто пообщаться на форуме/чате. Вовремя выходят переводы таких важных штук как changelog&#8217;и патчей и собстно сами изменения в патчах &#8211; т. е. помимо древних пиратских, есть и постоянно обновляемый фанатский перевод последних версий игры и редактора. Так что несколько лет назад, я благодаря хорошим людям с одного некогда хорошего форума (да-да, были в Питере времена&#8230;) разжился Diamond-изданием игры со всеми аддонами и некоторыми премиум-модулями, а эта штука прекрасно обновлялась и русифицировалась. Некоторые проблемы с ключиками решались их генератором, впрочем я обычно бродил в одиночку.</p>
<p>Этой ночью решил глянуть чего же такого издала 1С. Там правда вендовая версия, а паскольку венды у меня нет &#8211; пришлось смотреть в wine. Смотры несколько затянулись, ведь оторваться я смог только пройдя Академию&#8230; Выяснилось, что 1С издала обычный комплект игры (как был у оригинала &#8211; 3 диска), обновлённый до версии 1.66 (примерно с этой версии игра уже не требует комакт-диска при полной установке и вроде как её же издали за бугром в Diamond Edition). Язык при установке не спрашивают &#8211; это локализация, но ключик-то ессно универсальный, так что при желании можно просто взять где-нить оригинальный клиент и &#8230; Перевод несколько отличается от устоявшегося фанатского, игра полностью на русском (текст, озвучка, заставки), перевели даже AD&#38;D (я встречал фанатские вариации, где для ясности давались в скобках и оригинальные названия навыков и т. п., а то оно дофига рознится иногда). В общем, погонял некоторое время в wine вендовый клиент и вполне доволен результатом, на нативной венде может и полезут какие фирмовые глюки, но в линуксе всё работает +)<br />
Кстати линукс-клиент доступен нахаляву, а т. к. русский вроде сделан без сомнительного изврата, вполне можно будет просто поставить его, используя русские диски и играть нативно. Так что издание нормальное, жаль появилась поздно и сейчас мало кому уже интересно.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[It is never just a game]]></title>
<link>http://dancingelephants.wordpress.com/2009/06/29/it-is-never-just-a-game/</link>
<pubDate>Mon, 29 Jun 2009 17:12:13 +0000</pubDate>
<dc:creator>Dave</dc:creator>
<guid>http://dancingelephants.wordpress.com/2009/06/29/it-is-never-just-a-game/</guid>
<description><![CDATA[I keep track of several roleplay PWs on various platforms. One of them is Arelith, an NWN1 world. I ]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>I keep track of several roleplay PWs on various platforms.  One of them is Arelith, an NWN1 world.  I highly respect the team that built and maintains the world.  Their world is a mod of a seven year old game that last had an expansion nearly five years ago, yet the community is still healthy and active.  </p>
<p>One <a href="http://arelith.com/phpBB3/viewtopic.php?f=2&#38;t=2370">thread</a> on its forums however caught my eye, because it is about a design decision that makes me cringe.  Like most NWN PWs, Arelith is a diku style world with a serial martyrdom death system.  It has the slight variant to this that a dead character can either respawn, or wait until someone brings their corpse somewhere to be raised.  If they are revived, they escape the death penalty that would otherwise have been applied.  So far, this is typical NWN and there are many variants on this theme; some of which leave the player’s camera at the scene of death and others that move the camera to a death plane, leaving the corpse behind that can be revived.  In NWN, the camera is tied to the PC avatar, so the latter is usually accomplished by moving the avatar to another location and leaving a corpse object behind.  In Arelith’s case, the corpse object can be picked up and it can also be destroyed.  The owner of the dead character currently gets a message indicating whenever their corpse has been picked up, dropped or destroyed, but not who did it.  If the corpse has been destroyed, the destroyer gets a skull, a small amount of money and the “victim” loses his/her get out of jail free card and must take the respawn penalty.  </p>
<p>This is where the fun begins.  There is a mechanism where one player can make gain by inflicting other players with a perceived loss.</p>
<p>I’m not privy to the motivations for that design, though I suspect a pen and paper (PnP) D&#38;D influence.  Most likely, the convincing arguments were on a gamist and/or simulationist basis.  In the former case, the idea that someone would want to avoid the “legitimate” penalty for failure is anathema.  In the latter case, there is a realism factor in carrying corpses.  I’m not actually interested in the specifics of the system or in the reasoning behind it so much as in the effect on the players.  Some players have little or no advancement motive.  If the player does not derive pleasure from counting points, grinding is a job; an entry level, low pay, low status job and loss of avatar capital is akin to not being paid for putting in your hours at McDonalds.  Such players will go to great lengths to avoid a death penalty.  If there is a way for them to avoid it by waiting for a rez, then they will do so.  </p>
<p>If another player comes along and takes away that escape clause, it will cause distress.  There are lots of arguments that the whole thing is entirely appropriate because it is in character (IC) and that it is just a game, so nobody should get worked up.  Such arguments forget a little aspect of human psychology.  When people feel that another player – as a player &#8211; has screwed them – as a player – over, then what is IC and what is metagaming simply does not matter.  It does not matter if that player feels that it is entirely legitimate that the victim accepts the penalty.  The victim feels that they are losing hours of grinding at the hands of another player; especially as it is not on a consensual basis.  It is as if someone jumped on their sand castle and losing your sand castle this way is never just a game.  </p>
<p>If you wanted to create a gameplay mechanic tailor made for griefing, you could do little better than Arelith’s corpse bashing, except perhaps by adding permadeath to the mix.  Well, you could remove the message that a character’s corpse has been destroyed, causing them to wait in vain.  </p>
<p>Anyone who has ever read through Nick Yee’s <a href="http://www.nickyee.com/daedalus/archives/001298.php?page=10">excellent work researching MMO player motivations</a> may have caught the fact that the roleplay motivations are quite independent from other motivations.  They might also have noticed that the roleplayer motivations are held more often by females and older players and the competition tends to be a motive for younger, male, players.  In short, though you can’t make the blanket statement that roleplayers are carebears, the transect between the darkfall playerbase and the roleplayer motivation is only a fraction of the roleplay crowd.  If your world is Darkfall meets roleplay and you are building for those players whole like to be IC while they gank people, then you can just tell the victim that he is being a whiney carebear and be done with it.  Otherwise you have to do your best to &#8220;goon proof&#8221; your world.</p>
<p>There is a general rule that 1% of the population is sociopathic.  This does not mean that they are raving serial murderers, but it means that at least one percent of the population – a subset composed almost entirely of males, so 2% of all men – lack empathy.  Some are simply indifferent to the needs of others.  Others actively enjoy inflicting anguish.  The anonymity of online games is an attractant to these people in the same way that sweets attract bears at a campsite; so we have to reckon that our sociopath fraction is higher than 1%.  Even if there was no gain to the character that destroyed the corpse, such people will derive pleasure from it for its own sake.   That world <a href="http://arelith.com/phpBB3/viewtopic.php?f=2&#38;t=2445">currently has a problem</a> with a griefer who repeated returns despite being repeatedly being banned.  If he were more sophisticated, he’d not be attacking live characters, but instead anonymously bashing corpses.    Such an individual could operate indefinitely, cause a great deal of psychological harm and never be caught.  How many such individuals are currently operating this way on Arelith, using the IC cover that their character is evil?  In addition to the bona fide sociopaths, a sizable portion of the playbase will not be averse to putting the screws to someone outside their <a href="http://www.cracked.com/article_14990_what-monkeysphere.html">monkeysphere</a> if there was something to be gained from it.  They’ll give plausible IC justifications of course, but the fact is that they – as players &#8211; are <a href="http://en.wikipedia.org/wiki/Prisoner's_dilemma">defecting</a> when they harm other players in a non consensual way.  This may sound strange coming from a advocate of strong IC systems, but “it is IC” can also be used as a pretext for a player to be a wanker.  A “be nice” rule is meaningless in such an environment.  </p>
<p>With this in mind, consider that your highly networked players are statistically more likely to be older females.  40 year old librarians who live with three cats and can name every character from the Wheel of Time series are a bit more likely to end up victimized by such a scheme than to be perpetrators.  It is a hard fact that some of your players – the highly networked ones &#8211; are simply more valuable to the health of your community than others.  These people won’t say a word, they’ll just leave for greener pastures and their friends will eventually follow them.  This has happened before.  I’ve spoken to one roleplay NWN2 PW admin who had his playerbase decimated by a something awful faction moving in.  (Edit) Some of them (SA people/goons) seem to be excellent roleplayers, but they’ll still leave your world as a bloody, empty corpse if they don’t like it; and still might anyway even if they do.  (/Edit)  Now imagine if goons invaded your world?  Do you have any systems that can abused to empty it?</p>
<p>The question I’d have for the server admin is whether he/she has an overview of the usage patterns of this bashing feature.  Any time you have a gameplay feature that can be abused, you should assume that it will be and closely monitor it.  The best way would be logging corpse related actions (perp playername &#38; character name, victim playername and character name, the races of the two, was it bashed?  Dropped into a container?  Rezzed?  Etc.) to a database and periodically pull it into Excel to data mine it in a pivot table.  Such surveys would tell the server management who is doing what and under what conditions and would let them easily root out abuses of the system.  </p>
<p>As for player behavior, he/she should also consider game theory and that if there is a gain and no penalty for defecting, eventually defecting will become the norm.  He should resist <a href="http://arelith.com/phpBB3/viewtopic.php?f=12&#38;t=2395">calls</a> to exacerbate the problem by removing the message that the corpse has been destroyed and instead give a clear indication of who picked the body up and what they did with it (e.g. if it was put down and where or put into another container).  Such accountability may be metagaming, but by exposing players to a possible <a href="http://en.wikipedia.org/wiki/Tit_for_tat">tit-for-tat retaliation</a> if they defect, it enforces the be nice rule.  </p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[RPG-Bioware releases Dragon Age System Requirements!]]></title>
<link>http://blueturtlecafe.wordpress.com/2009/06/17/rpg-bioware-releases-dragon-age-system-requirements/</link>
<pubDate>Wed, 17 Jun 2009 11:51:05 +0000</pubDate>
<dc:creator>blueturtlecafe</dc:creator>
<guid>http://blueturtlecafe.wordpress.com/2009/06/17/rpg-bioware-releases-dragon-age-system-requirements/</guid>
<description><![CDATA[BioWare takes the opportunity to reveal the full system requirements for the PC edition of the upcom]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>BioWare takes the opportunity to reveal the full system requirements for the    <a style="border-bottom:.075em solid #99cc33!important;font-weight:normal!important;font-size:100%!important;text-decoration:underline!important;color:#99cc33!important;background-color:transparent!important;background-image:none;padding:0 0 1px!important;" href="http://www.actiontrip.com/rei/comments_news.phtml?id=061709_4#" target="_blank">PC</a> edition of the upcoming RPG, Dragon Age: Origins. Check it out:</p>
<blockquote><p><strong>Windows XP Minimum Specifications </strong></p>
<p>OS: <a style="border-bottom:.075em solid #99cc33!important;font-weight:normal!important;font-size:100%!important;text-decoration:underline!important;color:#99cc33!important;background-color:transparent!important;background-image:none;padding:0 0 1px!important;" href="http://www.actiontrip.com/rei/comments_news.phtml?id=061709_4#" target="_blank">Windows XP</a> with SP3<br />
CPU: <a style="border-bottom:.075em solid #99cc33!important;font-weight:normal!important;font-size:100%!important;text-decoration:underline!important;color:#99cc33!important;background-color:transparent!important;background-image:none;padding:0 0 1px!important;" href="http://www.actiontrip.com/rei/comments_news.phtml?id=061709_4#" target="_blank">Intel</a> Core 2 (or equivalent) running at 1.4Ghz or greater<br />
AMD X2 (or equivalent) running at 1.8Ghz or greater<br />
RAM: 1GB or more<br />
Video: ATI <a style="border-bottom:.075em solid #99cc33!important;font-weight:normal!important;font-size:100%!important;text-decoration:underline!important;color:#99cc33!important;background-color:transparent!important;background-image:none;padding:0 0 1px!important;" href="http://www.actiontrip.com/rei/comments_news.phtml?id=061709_4#" target="_blank">Radeon</a> X850 128MB or greater<br />
<a style="border-bottom:.075em solid #99cc33!important;font-weight:normal!important;font-size:100%!important;text-decoration:underline!important;color:#99cc33!important;background-color:transparent!important;background-image:none;padding:0 0 1px!important;" href="http://www.actiontrip.com/rei/comments_news.phtml?id=061709_4#" target="_blank">NVIDIA</a> GeForce 6600 GT 128MB or greater<br />
<a style="border-bottom:.075em solid #99cc33!important;font-weight:normal!important;font-size:100%!important;text-decoration:underline!important;color:#99cc33!important;background-color:transparent!important;background-image:none;padding:0 0 1px!important;" href="http://www.actiontrip.com/rei/comments_news.phtml?id=061709_4#" target="_blank">DVD</a> ROM (Physical copy)<br />
20 GB HD space</p>
<p><strong>Windows Vista Minimum Specifications</strong></p>
<p>OS: Windows <a style="border-bottom:.075em solid #99cc33!important;font-weight:normal!important;font-size:100%!important;text-decoration:underline!important;color:#99cc33!important;background-color:transparent!important;background-image:none;padding:0 0 1px!important;" href="http://www.actiontrip.com/rei/comments_news.phtml?id=061709_4#" target="_blank">Vista</a> with SP1<br />
CPU: Intel Core 2 (or equivalent) running at 1.6Ghz or greater<br />
AMD X2 (or equivalent) running at 2.2GHZ or greater<br />
RAM: 1.5 GB or more<br />
Video: ATI Radeon X1550 256MB or greater<br />
NVIDIA <a style="border-bottom:.075em solid #99cc33!important;font-weight:normal!important;font-size:100%!important;text-decoration:underline!important;color:#99cc33!important;background-color:transparent!important;background-image:none;padding:0 0 1px!important;" href="http://www.actiontrip.com/rei/comments_news.phtml?id=061709_4#" target="_blank">GeForce</a> 7600 GT 256MB or greater<br />
DVD ROM (Physical copy) 20 GB HD space</p>
<p><strong>Recommended Specifications </strong></p>
<p>CPU: Intel Core 2 Quad 2.4Ghz Processor or equivalent<br />
RAM: 4 GB (Vista) or 2 GB (XP)<br />
Video: ATI 3850 512 MB or greater<br />
NVIDIA 8800GTS 512 MB or greater<br />
DVD ROM (Physical copy)<br />
20 GB HD space</p>
<p>The Turtle can not wait for this one folks! Very excited</p></blockquote>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[MMORPG- Top 10 MMO's of All Time]]></title>
<link>http://blueturtlecafe.wordpress.com/2009/06/10/mmorpg-top-10-mmos-of-all-time/</link>
<pubDate>Wed, 10 Jun 2009 16:51:13 +0000</pubDate>
<dc:creator>blueturtlecafe</dc:creator>
<guid>http://blueturtlecafe.wordpress.com/2009/06/10/mmorpg-top-10-mmos-of-all-time/</guid>
<description><![CDATA[Top 10 mmo&#8217;s all time 1.Everquest- Since it&#8217;s release in march of 1999 it has defined th]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Top 10 mmo&#8217;s all time</p>
<p>1.Everquest- Since it&#8217;s release in march of 1999 it has defined the genre of what we call MMO&#8217;s. The WOW of it&#8217;s day.Everquest has had far reaching influence from WOW to it&#8217;s own sequel EQ2. No other MMO has had the impact on the industry as EVERquest.Spawning countless spin offs on multiple platforms and across all media. Now running in it&#8217;s 10th year and showing no signs of stopping.This really is the number one.</p>
<p>http://everquest.station.sony.com/</p>
<p>2.Ultima Online-The grand-daddy of all graphical mmo&#8217;s. Released even before the mighty Everquest (1997) Ultima Online was the first mmo to reach 100,000 subscribers. Ultima online is a sandbox type game allowing the player to create craft train and fight. The game is noteworthy for it&#8217;s PvP.It is still played today by thousands of players.</p>
<p>http://www.uoherald.com/news/</p>
<p>3.Asheron&#8217;s Call- Some would  agrue for this to be the number one spot on our list. Boasting highly original monsters and game design this ancient game is still running today with a rabid fan-base. Many elements of Asheron&#8217;s Call were radically different from most mmo&#8217;s including a world that was not divided into level zones. Also the character&#8217;s level doesnt determine the out come of a battle but the skill and gear of the player does. (At the time that was unique) The Vassal system was a great addition as well. Asheron&#8217;s Call was and is a more complex offering than most other games on the market.</p>
<p>http://ac.turbine.com/</p>
<p>4.World of Warcraft- World of Warcraft. What can be said about the 800 pound gorilla of MMO&#8217;s. Played by more than 11.5 million people today, even after being on the market for 5 years now, this game is an unstoppable force in the industry. Hardcore gamers and Hardcore MMOers may scoff at having this game at  number 4 but it deserves it.  Blizzard does what they always do in game design. They take a genre that people like and polish it, make it run on anything and make it accessible to everyone. MMO&#8217;s before Warcraft were looked at as a more hardcore, elitist genre occupied by uber gamers with uber amounts of time to spend on them. Warcraft removed alot of the time sinks required by most MMO&#8217;s. World of Warcraft has opened the doors for a new generation of MMOers. They brought in people who have never gamed much less MMOed.That is the sign of something special. WOW indeed.</p>
<p>http://worldofwarcraft.com</p>
<p>5.Dark Age of Camelot- DAoC is still the Turtles pick for how to do PvP in an mmo right. It was not a free for all but a structured world were Realms fought Realms and what you did in player combat mattered. The game stuck a little too close to the fantasy staples in PvE but the classes, the world and the combat was and is still a cut above what many games,including Mythic&#8217;s own Warhammer(sorry fans), attempt today. If you like PvP and have not played Dark Age of Camelot do it now. Seriously go do it.Now. GO!</p>
<p>http://www.darkageofcamelot.com/</p>
<p>6.Final Fantasy IX- Bringing the detail of the Final Fantasy universe to the mmo space was a challenging task but one that Square was able to do. Not only on the PC but also onto consoles. The game is a grouping mmo all the way and makes to bones about it. Solo friendly it is not but that is a design choose that has served them well.With the recent reveal of FFXIV online the future of this game could be in trouble.</p>
<p>http://www.playonline.com/ff11us/index.shtml</p>
<p>7.City of Heroes- The first real super hero MMO came out and from the begining became the darling of the MMO world. With the best character creation system on the market you were really able to create the super hero of your comic geek dreams.The mission structure is perfectly contructed like you are playing a comic book. With the addition of the Villians game and user generated content this game still has legs but is going to see formitable competition from the likes of Champions Online and DC universe Online.</p>
<p>http://www.cityofheroes.com/</p>
<p>8.Runescape-Arguably the second biggest MMO in the world with a reported 8.5 million players. What is amazing about that number is they have no players in Asia. The area that encompasses the most of Blizzards WOW subs. This is the largest free to play mmo in the world. Featuring realtime combat and no classes to pick when creating a character. Players are given freedoms that many pay to play games cant offer. Running in Java the game runs on basically any computer which, I am sure, does&#8217;nt hurt it&#8217;s numbers.Runescape,like Everquest and WOW, is responsible for thousands of gamers being introduced into the world of MMO&#8217;s.</p>
<p>http://www.runescape.com/</p>
<p>9.EVE- Hands down the best space/sim mmo on the planet. With a depth that scares lesser gamers this MMO is a masterpiece of design and execution.More of a true virtual world than most games. With great politics and graphics you really feel a sense of immersion not felt in other games. The developer CCP is one of the best developers of MMO&#8217;s ever. They are a company that takes the concerns of their players serious. If you have not played EVE go do so right now!</p>
<p>http://www.eveonline.com/</p>
<p>10.Guild Wars-I know alot of people do not consider Guild Wars to be a &#8216;real MMO&#8217; but I think it. You play on line,group with other people, do quests, it has PvE and PvP it has classes and skills and dungeons. I say if Dungeons and Dragons Online is an MMO than so is Guild Wars. What makes Guild Wars such a great game was how many things about standard MMO&#8217;s they took a chance to change. Sure the level cap was too low but with a new game released every so often,which could be played without the one before it new content was not a problem. They took a chance with no subscription fee and it payed off selling millions. They added the ability to hire party members if you did not have friends to play with. They took a chance with making everything outside of towns instanced so that you and yours could go adventure with griefers or wait. The highly anticipated Guild Wars 2 will be coming soon and looks to follow in the footsteps of the first games.</p>
<p>http://www.guildwars.com/</p>
<p>Well there you have it friends. Blueturtlecafe&#8217;s list of the top ten MMO&#8217;s of all time. There were some notable selections left off the list and a couple honorable mentions that I list below. There were also some arguments as to the placement of some of these either higher or lower but in the end I am happy with the list. Any comments are highly encouraged and please, let the Turtle know what your top ten list is in the comments. Thanks for reading!</p>
<p>Honorable mentions:</p>
<p>1. Star Wars Galaxies- if it had stayed the way it was before the changes it would be in the Turtle&#8217;s top 5 but after the changes it does not make it to the top ten.Still if your a die-hard Star Wars fan you should at least experience it.</p>
<p>2.Everquest 2- Say what you will about this &#8217;sequel&#8217; but the amount of content in this game is staggering. Plus the variety of locals and the quality of the sound and graphics for a 5 year old game is still on par with the best out there. With more voice overs than anyother MMO out today, this game was a little ahead of it&#8217;s self and had the dubious honor of releasing so close to World of Warcraft.<br />
3.Lineage 2- This game has alot of content and alot of options for the player to experience. If only the game was not so grind heavy.</p>
<p>4. Lord of the Rings Online- Great production values, solid game mechanics and possibly the best Lore of any game out there.  A solid, if uninspired, AAA MMO.</p>
<p>5. Neverwinter Nights- I know this is not an MMO but Neverwinter Nights allowed the player to create an mini MMO with the Aurora toolset that Bioware provided. Hundreds if not thousands of persistant world servers are around and played today. Providing everything a commercial MMO has to offer. With recent rumors of a possible NWN MMO being released in 2011 (as the Turtle was kind enough to let you know about <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />   Those fans may yet get their wish of a true Neverwinter Nights MMO.</p>
<p>6. Vanguard- After one of the worst launches in MMO history this game has actually been able to pull itself up and dust off most of those nasty bugs and become a solid MMO experience. With a huge, non-instanced world, a ton of classes and races and flying mounts this game is one of the best pure group dungeon cralwers around today.</p>
<p>finally..7. Age of Conan- This game is another MMO that suffered from a bad launch. It has made great strides to please it&#8217;s fans and has since added alot of the promised features at launch. With arguably the best graphics in the genre and a brutal in your face type of realtime combat it offers a different take on the standard fantasy mmo.</p>
<p>Well thats all for now Turtle-heads I will be back next week with the next top 10 list so stay tuned and please feel free to leave your comments!</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Games-Neverwinter Nights The MMO!]]></title>
<link>http://blueturtlecafe.wordpress.com/2009/06/09/games-neverwinter-nights-the-mmo/</link>
<pubDate>Tue, 09 Jun 2009 20:50:02 +0000</pubDate>
<dc:creator>blueturtlecafe</dc:creator>
<guid>http://blueturtlecafe.wordpress.com/2009/06/09/games-neverwinter-nights-the-mmo/</guid>
<description><![CDATA[A couple of weeks ago, we posted word that recent Atari acquisition Cryptic Studios was working on b]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>A couple of weeks ago, we posted word that recent Atari acquisition Cryptic Studios was <a href="http://weblogs.variety.com/the_cut_scene/2009/05/atari-president-steps-down-vultures-circle.html">working on breathing life</a> into several Atari legacy titles. Now we’ve got a few more details to share.</p>
<p>Sources tell us that the developer is working on a massively multiplayer online (MMO) version of “Neverwinter Nights” with an eyed 2011 release.<a href="http://weblogs.variety.com/.a/6a00d8341bfc7553ef01156ff03212970c-pi"></a></p>
<p>Details about the project are unavailable, naturally, as it is an unannounced title. But this reportedly was the primary reason Atari was interested in acquiring Cryptic late last year. (The developer is currently working on “Champions Online” and “Star Trek Online”.)</p>
<p>Based on the third edition Dungeon and Dragons rules, “NWN” is a well-loved franchise. The first installment of the role-playing game was developed by fan-favorite Bioware in 2002. A sequel, developed by Obsidian Entertainment, came out in 2006 to slightly less favorable, but still solid, reviews.</p>
<p>Part of what made the game unique was its robust multiplayer component. Many players built persistent worlds, capable of hosting up to 75 players – in essence, mini MMOs of their own.</p>
<p>The new game represents a very big bet for Atari – perhaps as big as the company’s continued existence.</p>
<p>MMOs take a lot of time to develop properly and cost a lot of money to create. And Atari’s cashflow problems are well known. The company could currently be financing the game with the recent sale of its of a sales, marketing and retail distribution business to Namco Bandai.</p>
<p>Once it’s finished, though, things get even harder, as the “Neverwinter Nights” MMO will face some stiff competition.</p>
<p>“World of Warcraft” holds the dominant position in the MMO genre by a country mile, with over 10 million subscribers. The MMO graveyard is filled with titles that have tried to go up against it (see <a href="http://weblogs.variety.com/the_cut_scene/2009/05/the-matrix-gets-unplugged.html">“The Matrix Online,”</a> “Tabula Rasa,” etc.)</p>
<p>Additionally, with Bioware now owned by Electronic Arts, the company will not have any hand in the game’s creation, which could cause doubt among the franchise’s fans.</p>
<p>The Turtle is a huge fan of Neverwinter Nights. The first game is my all time favorite rpg and I am very excited if not a bit hesitant about this one.</p>
<p>What say you? Does a “Neverwinter Nights” MMO hold appeal for you? And does Bioware’s lack of involvement make you wary? Sound off in the comments below.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Ulduar10 and the joys a playing a cleric]]></title>
<link>http://krismaz.wordpress.com/2009/05/22/ulduar10-and-the-joys-a-playing-a-cleric/</link>
<pubDate>Fri, 22 May 2009 00:12:44 +0000</pubDate>
<dc:creator>krismaz</dc:creator>
<guid>http://krismaz.wordpress.com/2009/05/22/ulduar10-and-the-joys-a-playing-a-cleric/</guid>
<description><![CDATA[So, just time for a short bit of rambling. Today i did the first part Ulduar10 with my guild, and i ]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>So, just time for a short bit of rambling.</p>
<p>Today i did the first part Ulduar10 with my guild, and i was completely amazed at how ridiculously easy it was. Compared to Ulduar25, it&#8217;s really a walk in the park. We managed to down every boss from from Flame Leviathan up to Auriaya(though we skipped Ignis, we didn&#8217;t bother clearing the thrash) without anyone dying. Ulduar simply shouldn&#8217;t be That easy&#8230; way to go get free epix.</p>
<p>After Ayrayay we made the mistake at attempting to do Thorim Hard-mode, and spent a couple of hours wiping on him. We nearly managed to get him down even though our setup was far from perfect, and we haven&#8217;t got super duper gear&#8230; again way too easy for an Ulduar Hard-mode.</p>
<p>In other news. I&#8217;ve gotten a bit further on my cleric in NWN, and I&#8217;m lvl 6 now&#8230; As far as I&#8217;ve gotten so far, Clerics are simply owerpowered. All i have to to is keep all my buffs up (+2 ench on wep, +2 AC,+1d6+3 fire dam on hit,+str,+wis,+cha,+agi)&#8230;All this, along with my new magic belt (+1AC, 5/- dmg reduction to slash/bludg.) makes me nearly invulnerable to normal mobs,  due to the fact that they nearly never hit me(AC24 atm), and when they do, the damage is negligible. The only thing I&#8217;m afraid of is spellcasters, but I&#8217;m sure I&#8217;ll find a way to deal with them soon.</p>
<p>That&#8217;s it&#8230; next post will probably be about NotherHack if everything goes as planned.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[]]></title>
<link>http://krismaz.wordpress.com/2009/05/18/38/</link>
<pubDate>Sun, 17 May 2009 22:12:04 +0000</pubDate>
<dc:creator>krismaz</dc:creator>
<guid>http://krismaz.wordpress.com/2009/05/18/38/</guid>
<description><![CDATA[Hi As you might have noticed, nothing much is happening around here&#8230; and the reason is&#8230; ]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Hi</p>
<p>As you might have noticed, nothing much is happening around here&#8230; and the reason is&#8230; nothing much is happening&#8230;</p>
<p>I&#8217;m in the middle of my exams, which means I&#8217;m doing nothing&#8230; literally nothing&#8230; I know i should be reading, but i simply can&#8217;t muster the will to conquer my laziness and get some work done.</p>
<p>I&#8217;ve been spending the last few days reading and playing on my computer. I managed to get my hands on Neverwinter Nights, and started an evil cleric, which is very cool. I haven&#8217;t got very far yet, and has only just cleared the prison area. In doing so i realised just hov much the game expects you to be using a henchman, since the last level of the prison features a SPOILERSPOILERSPOILER foe that has the ability to chain-stun you&#8230;that made the encounter pretty tough until i realised i had a spell called Clarity, which grants immunity to stun and confusion (another ability of this foe).</p>
<p>In other news: I&#8217;ve started going through the Warhammer 40K rulebook(s), since i plan on playing a few games with a friend. I have no intention on buying and painting all the models though, but I&#8217;ll make do with some classic Warhammer stand-ins. I&#8217;m probably going to be playing Tyranids, as they seem really interesting an customizable.</p>
<p>And that&#8217;s about it, cya in some other post.</p>
</div>]]></content:encoded>
</item>

</channel>
</rss>
