<?xml version="1.0" encoding="utf-8" ?>
<?xml-stylesheet href="http://rss.egloos.com/style/blog.xsl" type="text/xsl" media="screen"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
	<title>장난감</title>
	<link>http://hugyup.egloos.com</link>
	<description>레고를 좋아했던 소년이였다.
지금도 그런걸 좋아한다.
sunuo &amp; q3</description>
	<language>ko</language>
	<pubDate>Mon, 19 Feb 2007 12:07:20 GMT</pubDate>
	<generator>Egloos</generator>
	<image>
		<title>장난감</title>
		<url>http://pds3.egloos.com/logo/200611/15/06/d0042406.gif</url>
		<link>http://hugyup.egloos.com</link>
		<width>50</width>
		<height>61</height>
		<description>레고를 좋아했던 소년이였다.
지금도 그런걸 좋아한다.
sunuo &amp; q3</description>
	</image>
  	<item>
		<title><![CDATA[ mysql add ]]> </title>
		<link>http://hugyup.egloos.com/939747</link>
		<guid>http://hugyup.egloos.com/939747</guid>
		<description>
			<![CDATA[ 
  <p>#!/bin/sh </p><p>BIN=/usr/local/mysql/bin</p><p>printf "ID를 입력하세요. : "<br />
read DB<br />
USER=$DB<br />
printf "Password를 입력하세요. : "<br />
read PASS</p><p>cat &gt; mysql.user &lt;&lt; __eof__<br />
#CREATE database ${DB};<br />
insert into user (Host,User,Password) <br />
values('localhost','${USER}',password('${PASS}'));<br />
insert into db values<br />
('localhost','${DB}','${USER}',<br />
'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y');<br />
CREATE database ${DB};<br />
__eof__</p><p>mysql -u root -p mysql -vvv &lt; mysql.user<br />
${BIN}/mysqladmin -u root -p reload <br />
</p>			 ]]> 
		</description>
		<category>sh</category>

		<comments>http://hugyup.egloos.com/939747#comments</comments>
		<pubDate>Mon, 19 Feb 2007 12:06:47 GMT</pubDate>
		<dc:creator>흑엽</dc:creator>
	</item>
	<item>
		<title><![CDATA[ wt ]]> </title>
		<link>http://hugyup.egloos.com/939677</link>
		<guid>http://hugyup.egloos.com/939677</guid>
		<description>
			<![CDATA[ 
  mkdir /mnt/1;mkdir /mnt/2<br />
smbmount //hugyup/e /mnt/1<br />
smbmount //hugyup/f /mnt/2<br />
find ./ -name *.jpg &gt; jpglist<br />
cat jpglist |sed -e 's/^\.\///g' -e 's/\//./g' -e 's/^/\/mnt\/2\/newdb\//g' &gt; newjpglist<br />
grep 1995 jpglist&nbsp; &gt; o1995<br />
grep 1996 jpglist&nbsp; &gt; o1996<br />
grep 1997 jpglist&nbsp; &gt; o1997<br />
grep 1998 jpglist&nbsp; &gt; o1998<br />
grep 1999 jpglist&nbsp; &gt; o1999<br />
grep 1995 newjpglist |sed -e 's/newdb\//newdb\/1995\//g' &gt; mv1995<br />
grep 1996 newjpglist |sed -e 's/newdb\//newdb\/1996\//g' &gt; mv1996<br />
grep 1997 newjpglist |sed -e 's/newdb\//newdb\/1997\//g' &gt; mv1997<br />
grep 1998 newjpglist |sed -e 's/newdb\//newdb\/1998\//g' &gt; mv1998<br />
grep 1999 newjpglist |sed -e 's/newdb\//newdb\/1999\//g' &gt; mv1999<br />
<br />
cd /mnt/2/newdb/<br />
mkdir 1995;mkdir 1996;mkdir 1997;mkdir 1998;mkdir 1999<br />
ls -l<br />
합계 3<br />
drwxr-xr-x&nbsp;&nbsp;&nbsp; 1 root&nbsp;&nbsp;&nbsp;&nbsp; root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 512&nbsp; 7월 10 18:59 ./<br />
drwxr-xr-x&nbsp;&nbsp;&nbsp; 1 root&nbsp;&nbsp;&nbsp;&nbsp; root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 512&nbsp; 7월 10 18:59 ../<br />
drwxr-xr-x&nbsp;&nbsp;&nbsp; 1 root&nbsp;&nbsp;&nbsp;&nbsp; root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 512&nbsp; 7월 10 18:59 1995/<br />
drwxr-xr-x&nbsp;&nbsp;&nbsp; 1 root&nbsp;&nbsp;&nbsp;&nbsp; root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 512&nbsp; 7월 10 18:59 1996/<br />
drwxr-xr-x&nbsp;&nbsp;&nbsp; 1 root&nbsp;&nbsp;&nbsp;&nbsp; root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 512&nbsp; 7월 10 18:59 1997/<br />
drwxr-xr-x&nbsp;&nbsp;&nbsp; 1 root&nbsp;&nbsp;&nbsp;&nbsp; root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 512&nbsp; 7월 10 18:59 1998/<br />
drwxr-xr-x&nbsp;&nbsp;&nbsp; 1 root&nbsp;&nbsp;&nbsp;&nbsp; root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 512&nbsp; 7월 10 18:59 1999/<br />
여기까지 기반환경 만드는부분...<br />
=========정리된 잡지jpg파일리스트 를 통해서 1년간분량만 추출하여 기호화 복사 통합 작업 (chmv)<br />
#!/bin/sh<br />
Count=`wc -l $1|awk {'print $1'}`<br />
Start=0<br />
while [ $Start -lt $Count ]<br />
do<br />
Start=`echo $Start+1|bc`<br />
cp `head -$Start $1|tail -1` `head -$Start $2|tail -1`<br />
done<br />
<br />
=========잡지 한부 분량씩 통합. (sumdellist)<br />
#!/bin/sh&nbsp; <br />
rm -f .tmpsumlist<br />
rm -f sumlist<br />
<br />
cat $1|grep <a href="file://.001/">\\.001</a> &gt; .tmpsumlist<br />
Start=0<br />
Count=`wc -l .tmpsumlist|awk {'print $1'}`<br />
while [ $Start -lt $Count ]<br />
do<br />
Start=`echo $Start+1|bc`<br />
sum=`head -$Start .tmpsumlist|tail -1`<br />
sum=`echo ${sum##*/}`<br />
echo ${sum%%.0*} &gt;&gt; sumlist<br />
done<br />
#cat sumlist |sed -e 's/\/mnt\/2\/newdb\/1995\///g' &gt; sumlist<br />
Start=0<br />
Count=`wc -l sumlist|awk {'print $1'}`<br />
while [ $Start -lt $Count ]<br />
do<br />
Start=`echo $Start+1|bc`<br />
sum=`head -$Start sumlist|tail -1`<br />
cat $sum.* &gt;&gt; sum.$sum.TXT<br />
done<br />
rm -f .tmpsumlist<br />
=========테이타베이스 형태로 변환 그리고 파트별 인덱스 기호 수정 및 초과.. (zeros)<br />
#!/bin/sh<br />
Year=`sed -e 's/^19//g' year`<br />
ls |grep ^sum\\.|sed -e 's/*$//g' &gt; sumlist2<br />
echo $Year<br />
Start=0<br />
Count=`wc -l sumlist2|awk {'print $1'}`<br />
cat sum.* &gt; /dev/null<br />
while [ $Start -lt $Count ]<br />
do<br />
Start=`echo $Start+1|bc`<br />
perl -p -e 's/\n/\\r\\n/g' `head -$Start sumlist2|tail -1` &gt; .tmpfile<br />
cat .tmpfile &gt; `head -$Start sumlist2|tail -1`<br />
sed -e 's/\* 1995\.95/\* 1995\./g' -e 's/\.JPG \*/쪽분량 */g' -e 's/^M//g' -e 's/'\''/'\\\\\\\\\\\\\''/g' `head -$Start sumlist2|tail -1` &gt; .tmpfile<br />
cat .tmpfile &gt; `head -$Start sumlist2|tail -1`<br />
done<br />
rm -f .tmpfile<br />
========제로보드 데이터 형태로 바꾸기 위해 지금까지 가공한 텍스트를 sql 표준 퀴리문으로 변환 (make)<br />
#!/bin/sh<br />
Start=0<br />
Count=`wc -l sumlist|awk {'print $1'}`<br />
while [ $Start -lt $Count ]<br />
do<br />
Start=`echo $Start+1|bc`<br />
File=`head -$Start sumlist|tail -1`<br />
echo "INSERT INTO zetyx_board_awake VALUES ("$Start",1,-"$Start",0,0,0,0,0,0,1,1,'"`cat sum.$File.TXT`"','1.1.1.1','6d790ed71ec3d3a4','성우','','','"`echo $File |sed -e 's/\.95/\./g'`"','','',1,'','','','','','','',0,0,1026367476,0,0,0,'','');"<br />
done<br />
<br />
mysql데이타 베이스 형태로 복구<br />
debian:/var/www/sql# sh make&nbsp; &gt;avatar.sql<br />
debian:/var/www/sql#<br />
debian:/var/www/sql#<br />
debian:/var/www/sql# mysql -uavatar -p avatar &lt; avatar.sql 			 ]]> 
		</description>
		<category>sh</category>

		<comments>http://hugyup.egloos.com/939677#comments</comments>
		<pubDate>Mon, 19 Feb 2007 11:38:15 GMT</pubDate>
		<dc:creator>흑엽</dc:creator>
	</item>
	<item>
		<title><![CDATA[ 아파치 가상호스트 로그분석 ]]> </title>
		<link>http://hugyup.egloos.com/939533</link>
		<guid>http://hugyup.egloos.com/939533</guid>
		<description>
			<![CDATA[ 
  sum<br />
#!/bin/sh<br />
<br />
INTS=`cat $1|awk {'print $10'}|grep [0-9]`<br />
echo $INTS|tr " " +|bc<br />
#bc &lt;&lt;!go! &gt; CNT <br />
#$SUM<br />
#quit<br />
#!go!<br />
<br />
<br />
#END<br />
<br />
vhostlognodomain<br />
#!/bin/sh<br />
#rm -f&nbsp; .nodomain<br />
#rm -f&nbsp; .nteenuser<br />
ls -l /home/nteen/hosting|grep ^l|awk {'print $9'}&nbsp; &gt; .nodomain<br />
ls -l /home/nteen/members|grep ^d|awk {'print $9'}&nbsp; &gt; .nteenuser<br />
COUNT=`wc -l .nodomain|awk {'print $1'}|xargs echo 1+|bc`<br />
START=1<br />
while [ "$START" != "$COUNT" ]; do<br />
NOWUSER=`head -$START .nodomain|tail -1`<br />
cat $1|egrep " /hosting/$NOWUSER/| /$NOWUSER/"&nbsp; &gt; $NOWUSER.$3<br />
START=`echo $START+1|bc`<br />
done<br />
<br />
<br />
COUNT=`wc -l .nteenuser|awk {'print $1'}|xargs echo 1+|bc`<br />
START=1<br />
while [ "$START" != "$COUNT" ]; do<br />
NOWUSER=`head -$START .nteenuser|tail -1`<br />
cat $2|egrep " /$NOWUSER/"&nbsp; &gt; $NOWUSER.nteen.$3<br />
START=`echo $START+1|bc`<br />
done<br />
<br />
<br />
vhostlogrep<br />
#!/bin/sh<br />
rm -f .lists<br />
rm -f .list<br />
ls ./$2 &gt; .lists<br />
cat .lists|sed -e 's/^.\///g'&nbsp; &gt; .list<br />
COUNT=`wc -l .list|awk {'print $1'}|xargs echo 1+|bc`<br />
START=1<br />
while [ "$START" != "$COUNT" ]; do <br />
NOWFILE=`head -$START .list|tail -1`<br />
egrep $1 $NOWFILE &gt; $NOWFILE.$3<br />
START=`echo $START+1|bc`<br />
done<br />
<br />
<br />
vhostlogsee<br />
#!/bin/sh<br />
rm -f .filelist<br />
ls -Sl $1 &gt; .filelist<br />
COUNT=`wc -l .filelist|awk {'print $1'}|xargs echo 1+|bc`<br />
START=1<br />
printf "LOGSIZE\t\tLOGNAME\t\t\tLOGLINE\t\tLOGTRANS\tSECOND\n"<br />
while [ "$START" != "$COUNT" ]; do<br />
NOWFILE=`head -$START .filelist|tail -1`<br />
CKFILE=`echo $NOWFILE|awk {'print $9'}`<br />
TRANS=`cat $CKFILE.sum`<br />
SECOND=`echo $TRANS/86400|bc`<br />
printf "`echo $NOWFILE|awk {'print $5'}` $CKFILE\t\t`wc -l $CKFILE|awk {'print $1'}`&nbsp;&nbsp; $TRANS&nbsp; $SECOND\n"<br />
START=`echo $START+1|bc`<br />
done<br />
<br />
<br />
vhostlogsum<br />
#!/bin/sh<br />
rm -f .lists<br />
rm -f .list<br />
ls ./$1 &gt; .lists<br />
cat .lists|sed -e 's/^.\///g'&nbsp; &gt; .list<br />
COUNT=`wc -l .list|awk {'print $1'}|xargs echo 1+|bc`<br />
START=1<br />
while [ "$START" != "$COUNT" ]; do <br />
NOWFILE=`head -$START .list|tail -1`<br />
./sum.s $NOWFILE &gt; $NOWFILE.$2<br />
START=`echo $START+1|bc`<br />
done<br />
<br />
&nbsp;			 ]]> 
		</description>
		<category>sh</category>

		<comments>http://hugyup.egloos.com/939533#comments</comments>
		<pubDate>Mon, 19 Feb 2007 10:44:43 GMT</pubDate>
		<dc:creator>흑엽</dc:creator>
	</item>
	<item>
		<title><![CDATA[ 과부하 프로세서 체크 ]]> </title>
		<link>http://hugyup.egloos.com/939506</link>
		<guid>http://hugyup.egloos.com/939506</guid>
		<description>
			<![CDATA[ 
  <p>#!/bin/sh<br />
</p><p>DATE=`date +"%m %e"`<br />
OLDDAY=`echo $DATE|awk {'print $2'}`<br />
OLDMON=`echo $DATE|awk {'print $1'}`</p><p>#---------------------------------------------<br />
if [ ! -f log ]; then<br />
touch log<br />
fi</p><p>OLD=`ls -l log|awk '{print $5}'`<br />
#---------------------------------------------<br />
&nbsp;&nbsp;&nbsp; while [ 0 ];do</p><p>DATE=`date +"%m %e %T"`<br />
NOWMON=`echo $DATE|awk {'print $1'}`<br />
NOWDAY=`echo $DATE|awk {'print $2'}`<br />
NOWTIME=`echo $DATE|awk {'print $3'}`<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if [ "$OLDDAY" != "$NOWDAY" ];then<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mv ./log ./log.$OLDMON.$OLDDAY<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; fi</p><p><br />
#-----------------------------------------------------<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ps axuwf|awk&nbsp; '{str i;if($3 &gt; 10){printf ("%s\n",$i)};}' &gt;&gt;log<br />
NOW=`ls -l log|awk '{print $5}'`<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if [ "$NOW" -gt "$OLD" ];then<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; echo "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TIME $NOWTIME"&gt;&gt; log<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" &gt;&gt;log<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; fi<br />
sleep 1<br />
OLD=`ls -l log|awk '{print $5}'`<br />
#------------------------------------------------------<br />
OLDMON=$NOWMON<br />
OLDDAY=$NOWDAY<br />
done</p><p>&nbsp;</p>			 ]]> 
		</description>
		<category>sh</category>

		<comments>http://hugyup.egloos.com/939506#comments</comments>
		<pubDate>Mon, 19 Feb 2007 10:37:01 GMT</pubDate>
		<dc:creator>흑엽</dc:creator>
	</item>
	<item>
		<title><![CDATA[ 전송량 체크 ]]> </title>
		<link>http://hugyup.egloos.com/939498</link>
		<guid>http://hugyup.egloos.com/939498</guid>
		<description>
			<![CDATA[ 
  <p>#!/bin/sh</p><p>Time=300<br />
Neweth=0</p><p>DATE=`date +"%m %e"`<br />
Oldmon=`echo $DATE|awk {'print $1'}`<br />
Oldday=`echo $DATE|awk {'print $2'}`</p><p>#---------------------------------------------<br />
#날짜 채크 초기화 끝</p><p>if [ ! -f log ]; then<br />
touch log<br />
fi</p><p>#---------------------------------------------<br />
#무한루프의 시작</p><p>&nbsp;&nbsp;&nbsp; while [ 0 ];do</p><p>&nbsp;&nbsp;&nbsp; DATE=`date +"%m %e %T"`<br />
&nbsp;&nbsp;&nbsp; Nowmon=`echo $DATE|awk {'print $1'}`<br />
&nbsp;&nbsp;&nbsp; Nowday=`echo $DATE|awk {'print $2'}`<br />
&nbsp;&nbsp;&nbsp; Nowtime=`echo $DATE|awk {'print $3'}`<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if [ "$Oldday" != "$Nowday" ];then<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mv ./log ./log.$Oldmon.$Oldday<br />
&nbsp;&nbsp;&nbsp; fi<br />
#---------------------------------------------<br />
#날짜 채크 끝 본문 코드 시작</p><p>&nbsp;&nbsp;&nbsp; Oldeth=$Neweth</p><p>&nbsp;&nbsp;&nbsp; Neweth=`cat /proc/net/dev|grep eth0|awk '{print $9}'` <br />
&nbsp;&nbsp;&nbsp; echo `echo $Neweth-$Oldeth|bc`/$Time|bc|xargs echo $Nowtime &gt;&gt; log<br />
&nbsp;&nbsp;&nbsp; sleep $Time</p><p>&nbsp;&nbsp;&nbsp; Oldmon=$Nowmon<br />
&nbsp;&nbsp;&nbsp; Oldday=$Nowday<br />
&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; done<br />
</p>			 ]]> 
		</description>
		<category>sh</category>

		<comments>http://hugyup.egloos.com/939498#comments</comments>
		<pubDate>Mon, 19 Feb 2007 10:35:50 GMT</pubDate>
		<dc:creator>흑엽</dc:creator>
	</item>
	<item>
		<title><![CDATA[  K D-Day 프로젝트 ]]> </title>
		<link>http://hugyup.egloos.com/771170</link>
		<guid>http://hugyup.egloos.com/771170</guid>
		<description>
			<![CDATA[ 
  <p><span style="FONT-FAMILY: Arial">&nbsp;</span><strong><span style="COLOR: #5493b4; FONT-FAMILY: Arial">K D-Day 프로젝트</span></strong></p><p><span style="FONT-FAMILY: Arial">K D-Day 프로젝트는 현재 D-Day Normandy라는 게임에 소스를 개조하여 최적화, 기능을 덧붙인 MOD를 만들기 위한 프로젝트입니다.&nbsp; </span></p><p><span style="FONT-FAMILY: Arial">푸성귀님께서 하시는&nbsp;프로젝트입니다.</span></p><p><span style="FONT-FAMILY: Courier">cvs -d :pserver:anonymous@kldp.net:/cvsroot/kdday checkout </span><a href="http://kldp.net/plugins/scmcvs/cvsweb.php/KDDAY-UNSTABLE/?cvsroot=kdday"><span style="COLOR: #5493b4">KDDAY-UNSTABLE/</span></a></p><p><a href="http://kldp.net/plugins/scmcvs/cvsweb.php/KDDAY-UNSTABLE/?cvsroot=kdday"><span style="COLOR: #5493b4">KDDAY-UNSTABLE/</span></a></p><p>은&nbsp;닷넷 2003과 gcc로 컴파일 가능한 kldp에서 진행하는&nbsp;<span style="FONT-FAMILY: Arial">&nbsp;<strong><span style="COLOR: #5493b4">K D-Day </span></strong></span>프로젝트 소스다.</p><p>cd src;make</p><p>so파일들 생성</p><p>디데이 윈도우용에서 *.so파일을 전부 지운 다음. 새로운 so를&nbsp;복사한다.</p><p>리눅용&nbsp; quake2코어로 뛰우면 땡</p>			 ]]> 
		</description>
		<category>q3</category>

		<comments>http://hugyup.egloos.com/771170#comments</comments>
		<pubDate>Fri, 05 Jan 2007 02:36:11 GMT</pubDate>
		<dc:creator>흑엽</dc:creator>
	</item>
	<item>
		<title><![CDATA[ runuo npc만들기. ]]> </title>
		<link>http://hugyup.egloos.com/670695</link>
		<guid>http://hugyup.egloos.com/670695</guid>
		<description>
			<![CDATA[ 
  <p>울티마 온라인 npc 대화</p><p>&nbsp;</p><p>&nbsp;</p><p>1. npc에 휴대폰에 저장된&nbsp;지인들 이름을 xml로 적용(남여만 구분)</p><p>2. 지인들의 전화번호및 개인&nbsp;정보를 mdb에 만듬...</p><p>3. c#코드로 mdb의 정보를 검색해서 간단한 대화를 할수 있게 만듬;;.</p><p>public virtual void OnSpeech( SpeechEventArgs e )<br />
&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;if ( e.Mobile.Alive &amp;&amp; e.Mobile.InRange( m_Mobile.Location, 3 ) &amp;&amp; m_Mobile.IsHumanInTown() )<br />
&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;</p><p>&nbsp;&nbsp;&nbsp;&nbsp;//흑엽<br />
&nbsp;&nbsp;&nbsp;&nbsp;String Spe = e.Speech;<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;if (Spe.Equals(m_Mobile.Name)) // **<br />
&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;m_Mobile.Say( "어쩌라고~어쩌라고~말을해~"+e.Mobile.Name+"...벙어리야?기죽었어?그런거야??");<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;if (Spe.Equals(m_Mobile.Name +" ?")) // *?*<br />
&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;string strAccessConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=gugalnpc.mdb";</p><p>&nbsp;&nbsp;&nbsp;&nbsp;string strAccessSelect = "select 소개 from whoami WHERE 이름 like '%" + m_Mobile.Name + "%'";</p><p>&nbsp;&nbsp;&nbsp;&nbsp;// 데이터 집합을 만들어 Categories 테이블을 추가합니다.<br />
&nbsp;&nbsp;&nbsp;&nbsp;DataSet myDataSet = new DataSet();<br />
&nbsp;&nbsp;&nbsp;&nbsp;OleDbConnection myAccessConn = null;<br />
&nbsp;&nbsp;&nbsp;&nbsp;try<br />
&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;myAccessConn = new OleDbConnection(strAccessConn);<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;catch(Exception ex)<br />
&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Console.WriteLine("Error: Failed to create a database connection. \n{0}", ex.Message);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return;<br />
&nbsp;&nbsp;&nbsp;&nbsp;}</p><p>&nbsp;&nbsp;&nbsp;&nbsp;try<br />
&nbsp;&nbsp;&nbsp;&nbsp;{<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;OleDbCommand myAccessCommand = new OleDbCommand(strAccessSelect,myAccessConn);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;OleDbDataAdapter myDataAdapter = new OleDbDataAdapter(myAccessCommand);</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;myAccessConn.Open();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;myDataAdapter.Fill(myDataSet,"whoami");</p><p>&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;catch (Exception ex)<br />
&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Console.WriteLine("Error: Failed to retrieve the required data from the DataBase.\n{0}", ex.Message);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return;<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;finally<br />
&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;myAccessConn.Close();<br />
&nbsp;&nbsp;&nbsp;&nbsp;}</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int Count = myDataSet.Tables["whoami"].Rows.Count;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (Count == 0)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_Mobile.Say( false,"헐..." + m_Mobile.Name + "씨는 육가네 자기소개db에 없군요&nbsp; 어쩌라고~" + e.Mobile.Name +"씨");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;//행에있는 데이타출력함<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DataRowCollection dra = myDataSet.Tables["whoami"].Rows;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_Mobile.Say(false,dra[0][0].ToString());<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</p><p>&nbsp;&nbsp;&nbsp;}&nbsp;</p><p>&nbsp;</p><p>&nbsp;</p><p><br />
&nbsp;&nbsp;&nbsp;&nbsp;if (Spe.Equals(m_Mobile.Name +" .")) // *?*<br />
&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;string strAccessConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=gugalnpc.mdb";</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;string strAccessSelect = "select 답글 from whoami WHERE 이름 like '%" + m_Mobile.Name + "%'";</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// 데이터 집합을 만들어 Categories 테이블을 추가합니다.<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DataSet myDataSet = new DataSet();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;OleDbConnection myAccessConn = null;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;try<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;myAccessConn = new OleDbConnection(strAccessConn);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;catch(Exception ex)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Console.WriteLine("Error: Failed to create a database connection. \n{0}", ex.Message);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;try<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;OleDbCommand myAccessCommand = new OleDbCommand(strAccessSelect,myAccessConn);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;OleDbDataAdapter myDataAdapter = new OleDbDataAdapter(myAccessCommand);</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;myAccessConn.Open();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;myDataAdapter.Fill(myDataSet,"whoami");</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;catch (Exception ex)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Console.WriteLine("Error: Failed to retrieve the required data from the DataBase.\n{0}", ex.Message);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;finally<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;myAccessConn.Close();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int Count = myDataSet.Tables["whoami"].Rows.Count;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (Count == 0)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_Mobile.Say( false,m_Mobile.Name + "씨는 육가네 자기소개의 답글이 없군요");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;//행에있는 데이타출력함<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DataRowCollection dra = myDataSet.Tables["whoami"].Rows;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_Mobile.Say(false,dra[0][0].ToString());<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</p><p>&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;</p><p>&nbsp;</p><p><br />
&nbsp;&nbsp;&nbsp;if (Spe.Equals(m_Mobile.Name +" ,")) // *?*<br />
&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;string strAccessConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=gugalnpc.mdb";</p><p>&nbsp;&nbsp;&nbsp;&nbsp;string strAccessSelect = "select 이름,구분,폰,집,메모 from phone WHERE 이름 like '%" + m_Mobile.Name + "%'";</p><p>&nbsp;&nbsp;&nbsp;&nbsp;// 데이터 집합을 만들어 Categories 테이블을 추가합니다.<br />
&nbsp;&nbsp;&nbsp;&nbsp;DataSet myDataSet = new DataSet();<br />
&nbsp;&nbsp;&nbsp;&nbsp;OleDbConnection myAccessConn = null;<br />
&nbsp;&nbsp;&nbsp;&nbsp;try<br />
&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;myAccessConn = new OleDbConnection(strAccessConn);<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;catch(Exception ex)<br />
&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Console.WriteLine("Error: Failed to create a database connection. \n{0}", ex.Message);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return;<br />
&nbsp;&nbsp;&nbsp;&nbsp;}</p><p>&nbsp;&nbsp;&nbsp;&nbsp;try<br />
&nbsp;&nbsp;&nbsp;&nbsp;{<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;OleDbCommand myAccessCommand = new OleDbCommand(strAccessSelect,myAccessConn);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;OleDbDataAdapter myDataAdapter = new OleDbDataAdapter(myAccessCommand);</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;myAccessConn.Open();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;myDataAdapter.Fill(myDataSet,"whoami");</p><p>&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;catch (Exception ex)<br />
&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Console.WriteLine("Error: Failed to retrieve the required data from the DataBase.\n{0}", ex.Message);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return;<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;finally<br />
&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;myAccessConn.Close();<br />
&nbsp;&nbsp;&nbsp;&nbsp;}</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int Count = myDataSet.Tables["whoami"].Rows.Count;<br />
&nbsp;&nbsp;&nbsp;&nbsp;if (Count == 0)<br />
&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;m_Mobile.Say( false,m_Mobile.Name + "씨는 검색못해요~");<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;else<br />
&nbsp;&nbsp;&nbsp;&nbsp;{//칼럼네임출력함<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DataColumnCollection drc = myDataSet.Tables["whoami"].Columns;<br />
&nbsp;&nbsp;&nbsp;&nbsp;//행에있는 데이타출력함<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DataRowCollection dra = myDataSet.Tables["whoami"].Rows;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;string Info=null;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;foreach (DataRow dr in dra)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int i = 0;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;foreach (DataColumn dc in drc)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// 열 첨자를 출력한 다음 해당 열의 이름 및 데이터 형식도<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// 출력합니다.<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Info += dc.ColumnName.ToString()+": "+ dr[i].ToString()+"\n";<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;i++;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_Mobile.Say(false,Info);<br />
&nbsp;&nbsp;&nbsp;&nbsp;}</p>			 ]]> 
		</description>
		<category>sunuo</category>

		<comments>http://hugyup.egloos.com/670695#comments</comments>
		<pubDate>Tue, 12 Dec 2006 04:37:57 GMT</pubDate>
		<dc:creator>흑엽</dc:creator>
	</item>
	<item>
		<title><![CDATA[ 닷넷 2003에서 ioquake의 컴파일 ]]> </title>
		<link>http://hugyup.egloos.com/667198</link>
		<guid>http://hugyup.egloos.com/667198</guid>
		<description>
			<![CDATA[ 
  공개된 퀘3소스로<br />
mp3, ogg, openal, 데모 avi녹화등등을 지원되게 개조된 버전<br />
<a href="http://ioquake3.org/?page=get&amp;method=source">http://ioquake3.org/?page=get&amp;method=source</a>&nbsp;ioquake<br />
ioquake1.34 Branch Revision 892를 받았다.<br />
<br />
윈도우용 svn은<br />
<a href="http://tortoisesvn.net/downloads">http://tortoisesvn.net/downloads</a><br />
<br />
<br />
컴파일중 qcommon.h의 에러시...<br />
code/qcommon/q_shared.h에서 아래의 "-&gt;"부분을 추가 편집 한다<br />
<br />
typedef unsigned __int32 uint32_t; <br />
typedef unsigned __int16 uint16_t; <br />
typedef unsigned __int8 uint8_t; <br />
-&gt; # if _MSC_VER &gt;= 1300 <br />
-&gt; # include &lt;io.h&gt; <br />
-&gt; # else <br />
-&gt; typedef long intptr_t; <br />
-&gt; # endif <br />
# endif <br />
#endif <br />
<br />
<br />
<br />
openal 은 여기에서....<br />
<a href="http://www.openal.org/downloads.html">http://www.openal.org/downloads.html</a><br />
<br />
<br />
이것을 설치한다.<br />
<br />
Windows: <br />
<br />
<ul><li><a href="http://developer.creative.com/articles/article.asp?cat=1&amp;sbcat=31&amp;top=38&amp;aid=45">OpenAL 1.1 SDK for Windows</a> </li></ul><p>닷넷 2003로&nbsp;열은&nbsp;quake의&nbsp;llb 와 include를 설치한 SDK위치로 잡아준다.</p><p>c/c++ -&gt;일반 -&gt; 추가포함디렉토리 =&nbsp;include<br />
링커 -&gt;일반 -&gt; 추가 라이브러리 디렉토리 = lib</p>			 ]]> 
		</description>
		<category>q3</category>

		<comments>http://hugyup.egloos.com/667198#comments</comments>
		<pubDate>Mon, 11 Dec 2006 06:34:28 GMT</pubDate>
		<dc:creator>흑엽</dc:creator>
	</item>
	<item>
		<title><![CDATA[ 퀘2모드 d-day서버 무한부활 스크립트-_-; ]]> </title>
		<link>http://hugyup.egloos.com/555480</link>
		<guid>http://hugyup.egloos.com/555480</guid>
		<description>
			<![CDATA[ 
  <a href="http://dday.qt.to/">http://dday.qt.to/</a>에서<br />
d-day라는 퀘2모드의 상설서버를 관리하던중.<br />
<br />
&nbsp;메모리 누수 문제잡기전에;;;<br />
&nbsp;툭하면&nbsp;죽는 서버 <br />
&nbsp;&nbsp;&nbsp; 로깅과함께.<br />
&nbsp;&nbsp;&nbsp; 3초안에 체크해서 다시뛰우는 셀 스크립트를 만들었습니다.;;;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 타 게임서버에 응용할수 있을꺼 같습니다;<br />
<br />
<br />
#!/bin/sh<br />
#초기실행<br />
nohup ./r1q2ded +set dedicated 1 +set deathmatch 1 +set game dday +exec server.cfg &amp;<br />
<br />
DATE=`date +"%m %e"` #create old time<br />
Oldmon=`echo $DATE|awk {'print $1'}`<br />
Oldday=`echo $DATE|awk {'print $2'}`<br />
#new log file create<br />
if [ ! -f check.log ]; then<br />
touch check.log<br />
fi<br />
while [ 0 ]<br />
do<br />
&nbsp;&nbsp;&nbsp; #create old time<br />
&nbsp;&nbsp;&nbsp; DATE=`date +"%m %e %T"`<br />
&nbsp;&nbsp;&nbsp; Nowmon=`echo $DATE|awk {'print $1'}`<br />
&nbsp;&nbsp;&nbsp; Nowday=`echo $DATE|awk {'print $2'}`<br />
&nbsp;&nbsp;&nbsp; #Nowtime은 로그 내용을 위해 만듬<br />
&nbsp;&nbsp;&nbsp; Nowtime=`echo $DATE|awk {'print $3'}`<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #24시간 지났을때는 로그 백업<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if [ "$Oldday" != "$Nowday" ];then<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mv ./check.log ./check.log.$Oldmon.$Oldday<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; fi<br />
#프로세스 살아 있는지 체크<br />
temp1=`ps -ef |grep gm | grep r1q2ded | awk '{print $8}' | sed /grep/d`<br />
&nbsp;#프로세서가 null이라면<br />
&nbsp;if [ -z "$temp1" ] ; then<br />
&nbsp;&nbsp;# 예) *****15:45:30 = server down*****<br />
&nbsp;&nbsp;echo $Nowtime" = server down" &gt;&gt; check.log<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cd /home/gm/r1q2ded<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;#cp ./maplistboom.ini&nbsp; ./dday/maplist.ini<br />
&nbsp;&nbsp;nohup ./r1q2ded +set dedicated 1 +set deathmatch 1 +set game dday +exec serverboom.cfg &amp;<br />
&nbsp;else<br />
&nbsp;&nbsp;echo $Nowtime" = 정상가동중" &gt;&gt; check.log<br />
&nbsp;fi<br />
&nbsp;&nbsp;&nbsp; #현제time을 old time으로 <br />
&nbsp;&nbsp;&nbsp; Oldmon=$Nowmon<br />
&nbsp;&nbsp;&nbsp; Oldday=$Nowday<br />
#체크간격 3초<br />
sleep 3<br />
done<br />
exit 0 			 ]]> 
		</description>
		<category>q3</category>

		<comments>http://hugyup.egloos.com/555480#comments</comments>
		<pubDate>Wed, 15 Nov 2006 10:44:59 GMT</pubDate>
		<dc:creator>흑엽</dc:creator>
	</item>
	<item>
		<title><![CDATA[ 억억;;하던 공개된 퀘3 엔진 ]]> </title>
		<link>http://hugyup.egloos.com/555397</link>
		<guid>http://hugyup.egloos.com/555397</guid>
		<description>
			<![CDATA[ 
  한참된 이야기 지만....<br />
요즘 이것에 관심이^^;<br />
<br />
1. 카멕이 vc7용으로 공개해서. 닷넷2003에서 에러없이 컴파일 됩니다.<br />
<br />
2. 컴파일된 dll을 baseq3에 넣고 옵션을 이렇게 주면.<br />
quake3.exe +set sv_pure 0 +set vm_cgame 0 +set vm_game 0 +set vm_ui 0<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pak안에 vm이 아닌 dll을 읽어 옴니다;;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 몇개 수정하고<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;간단한걸 몰라서 씨름한 기억이;;;<br />
<br />
<br />
3. 소스코드에 대한 전체적인 설명을<br />
pangde께서&nbsp;해주셨네요...감사! <br />
<br />
빌드에 빠져있는 ui가 팀아레나..<br />
<br />
<br />
이하<br />
pangde님 이글 내용^^<br />
<span style="FONT-SIZE: 100%; FONT-FAMILY: Trebuchet MS"><span style="FONT-SIZE: 100%; COLOR: #33ff33; FONT-FAMILY: Trebuchet MS">http://pangde.egloos.com/tb/1107476</span></span><br />
=============<br />
<br />
botlib - 인공지능 플레이어인 Bot의 인공지능에 관한 라이브러리. aas라는 자체 bot을 위한 데이타 파일을 읽고 장애물을 피해가는 최단경로나 채팅에 관한 내용들이 담겨져있다.<br />
<br />
cgame - 퀘이크3 게임에 관한 클라이언트측 모드 소스. 총이나 로켓을 쏠때 어떻게 이펙트를 보여줄것인가 등 패킷에 담겨져 있는 정보를 어떻게 표현할것인가에 대한 내용이 담겨져있다.<br />
<br />
game - 퀘이크3 게임에 관한 서버측 모드 소스. 총이나 로켓을 쏴서 상대가 맞으면 헬쓰가 얼마나 깍이고, 죽으면 스코어가 어떻게 되고 등 서버측에서 어떻게 처리할것인가에 내용이 담겨져있다.<br />
<br />
q3_ui - 퀘이크3 게임에 관한 ui 모드 소스. 메인 메뉴나 ingame메뉴에 대한 처리 부분.<br />
<br />
renderer - 퀘이크3 엔진에서 렌더러부분. 렌더러 부분은 따로 스태틱 라이브러리로 만들 수 있는데, 이것은 렌더러부분을 자체제작한 다른 툴에서도 이용하기 위함이다.(Shader툴이나 텍스쳐둘이나 등등) 렌더러의 인터페이스만 얻으면 외부에서도 쉽게 렌더러를 이용 할 수 있다.<br />
<br />
quake3 - 퀘이크3 엔진 코어. 사운드 매니저, 메모리 매니저, 클라이언트와 서버측 엔진처리, vm, 파일 매니저, cvar 매니저, 충돌처리, 윈도우나 리눅스에 대한 코드 등등이 담겨져 있다.<br />
<br />
splines - 다른 툴에서 스플라인을 만들때 쓰는 라이브러리 인듯.<br />
<br />
ui - 퀘이크3 팀아레나에 관한 ui 모드 소스.<br />
<br />
&nbsp; 			 ]]> 
		</description>
		<category>q3</category>

		<comments>http://hugyup.egloos.com/555397#comments</comments>
		<pubDate>Wed, 15 Nov 2006 10:18:06 GMT</pubDate>
		<dc:creator>흑엽</dc:creator>
	</item>
</channel>
</rss>
