﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>C++博客-findman-文章分类-HL2MOD</title><link>http://www.cppblog.com/findman/category/4449.html</link><description>迷失无需寻觅</description><language>zh-cn</language><lastBuildDate>Mon, 19 May 2008 17:37:21 GMT</lastBuildDate><pubDate>Mon, 19 May 2008 17:37:21 GMT</pubDate><ttl>60</ttl><item><title>一个HUD的简单实现</title><link>http://www.cppblog.com/findman/articles/25744.html</link><dc:creator>找东西</dc:creator><author>找东西</author><pubDate>Thu, 07 Jun 2007 08:46:00 GMT</pubDate><guid>http://www.cppblog.com/findman/articles/25744.html</guid><wfw:comment>http://www.cppblog.com/findman/comments/25744.html</wfw:comment><comments>http://www.cppblog.com/findman/articles/25744.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/findman/comments/commentRss/25744.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/findman/services/trackbacks/25744.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 前段时间在研究VGUI，所以也就找了点资料写了一个简单的HUD，提供给大家参考：客户端项目中添加：hud_hello.cpp&nbsp;&nbsp;1//============Copyright&nbsp;?2007-2008,&nbsp;RootCat,&nbsp;All&nbsp;rights&nbsp;reserved========================//&nbsp;&n...&nbsp;&nbsp;<a href='http://www.cppblog.com/findman/articles/25744.html'>阅读全文</a><img src ="http://www.cppblog.com/findman/aggbug/25744.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/findman/" target="_blank">找东西</a> 2007-06-07 16:46 <a href="http://www.cppblog.com/findman/articles/25744.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>十字弓，瞄准器视野拉近效果实现原理</title><link>http://www.cppblog.com/findman/articles/25742.html</link><dc:creator>找东西</dc:creator><author>找东西</author><pubDate>Thu, 07 Jun 2007 08:43:00 GMT</pubDate><guid>http://www.cppblog.com/findman/articles/25742.html</guid><wfw:comment>http://www.cppblog.com/findman/comments/25742.html</wfw:comment><comments>http://www.cppblog.com/findman/articles/25742.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/findman/comments/commentRss/25742.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/findman/services/trackbacks/25742.html</trackback:ping><description><![CDATA[<span class=content>第一次做源码分析了：）~~~~我C++也是刚刚开始学习，很多地方也不是很明白。<br>发表这样的文章也只是为了供大家交流学习之用。难免有些错误，希望大家指出，有什么问题可以一起交流~<br>这里研究的是十字弓，英文是crossbow<br>crossbow&nbsp;[简明英汉词典]<br>n.石弓,&nbsp;弩<br>赫赫~我外语也不好~用金山查的：）~<br>在src里面搜索之后找到3个文件<br>src\cl_dll\hl2_hud\c_weapon_crossbow.cpp<br>src\dlls\hl2_dll\weapon_crossbow.cpp<br>src\game_shared\hl2mp\weapon_crossbow.cpp<br><br>第一个文件是用来实现crossbow外壳的。<br>第二个文件是半条命2DLL的文件。<br>第三个文件是共享的，用在哪里不是太清楚~~：（，不过从代码上看和第二个文件的区别不大。<br><br>因为现在所涉及的MOD是基于对HL2的修改，所以，这里打开src\dlls\hl2_dll\weapon_crossbow.cpp<br><br>由于这里是要研究视野变化[也就是望远镜效果]，再想想HL2中常用的望远镜"Z"键，因此想到了一个单词，"Zoom":<br>zoom&nbsp;[简明英汉词典]<br>n.急速上升,&nbsp;陡直上升,&nbsp;图象电子放大,&nbsp;缩放,&nbsp;嗡嗡声<br>vi.突然扩大,&nbsp;急速上升,&nbsp;摄象机移动<br>vt.使摄象机移动<br>艾~~没有办法~~计算机这玩意是外国人搞得，不懂外语还真玩不转它！<br>在Vs里面用"Zoom"作关键词搜索，可以找到一下信息：<br>418&nbsp;void&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CheckZoomToggle(&nbsp;void&nbsp;);<br>419&nbsp;void&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ToggleZoom(&nbsp;void&nbsp;);<br>449&nbsp;CNetworkVar(&nbsp;bool,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_bInZoom&nbsp;);<br>459&nbsp;RecvPropBool(&nbsp;RECVINFO(&nbsp;m_bInZoom&nbsp;)&nbsp;),<br>463&nbsp;SendPropBool(&nbsp;SENDINFO(&nbsp;m_bInZoom&nbsp;)&nbsp;),<br>469&nbsp;DEFINE_PRED_FIELD(&nbsp;m_bInZoom,&nbsp;FIELD_BOOLEAN,&nbsp;FTYPEDESC_INSENDTABLE&nbsp;),<br>502&nbsp;m_bInZoom&nbsp;=&nbsp;false;<br>533&nbsp;if&nbsp;(&nbsp;m_bInZoom&nbsp;&amp;&amp;&nbsp;g_pGameRules-&gt;IsMultiplayer()&nbsp;)<br>575&nbsp;void&nbsp;CWeaponCrossbow::CheckZoomToggle(&nbsp;void&nbsp;)<br>581&nbsp;ToggleZoom();<br>591&nbsp;CheckZoomToggle();<br>600&nbsp;CheckZoomToggle();<br>&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;<br>搜索到这个地方，通过英文的字面含义，我们不难发现实现Zoom效果的关键在于ToggleZoom(),CheckZoomToggle()这两个函数。<br>这两个函数都在该文件中代码如下：<br><br>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><span style="COLOR: #008080">&nbsp;1</span><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #000000">void&nbsp;CWeaponCrossbow::CheckZoomToggle(&nbsp;void&nbsp;)<br></span><span style="COLOR: #008080">&nbsp;2</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>{<br></span><span style="COLOR: #008080">&nbsp;3</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CBasePlayer&nbsp;</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">pPlayer&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;ToBasePlayer(&nbsp;GetOwner()&nbsp;);<br></span><span style="COLOR: #008080">&nbsp;4</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br></span><span style="COLOR: #008080">&nbsp;5</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">&nbsp;(&nbsp;pPlayer</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">m_afButtonPressed&nbsp;</span><span style="COLOR: #000000">&amp;</span><span style="COLOR: #000000">&nbsp;IN_ATTACK2&nbsp;)<br></span><span style="COLOR: #008080">&nbsp;6</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br></span><span style="COLOR: #008080">&nbsp;7</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ToggleZoom();<br></span><span style="COLOR: #008080">&nbsp;8</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br></span><span style="COLOR: #008080">&nbsp;9</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>}<br></span><span style="COLOR: #008080">10</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br></span><span style="COLOR: #008080">11</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>void&nbsp;CWeaponCrossbow::ToggleZoom(&nbsp;void&nbsp;)<br></span><span style="COLOR: #008080">12</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>{<br></span><span style="COLOR: #008080">13</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CBasePlayer&nbsp;</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">pPlayer&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;ToBasePlayer(&nbsp;GetOwner()&nbsp;);<br></span><span style="COLOR: #008080">14</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br></span><span style="COLOR: #008080">15</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">&nbsp;(&nbsp;pPlayer&nbsp;</span><span style="COLOR: #000000">==</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">NULL</span><span style="COLOR: #000000">&nbsp;)<br></span><span style="COLOR: #008080">16</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return;<br></span><span style="COLOR: #008080">17</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br></span><span style="COLOR: #008080">18</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>#ifndef&nbsp;CLIENT_DLL<br></span><span style="COLOR: #008080">19</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br></span><span style="COLOR: #008080">20</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">&nbsp;(&nbsp;m_bInZoom&nbsp;)<br></span><span style="COLOR: #008080">21</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br></span><span style="COLOR: #008080">22</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">&nbsp;(&nbsp;pPlayer</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">SetFOV(&nbsp;this,&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">,&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">.2f&nbsp;)&nbsp;)<br></span><span style="COLOR: #008080">23</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br></span><span style="COLOR: #008080">24</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_bInZoom&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">false</span><span style="COLOR: #000000">;<br></span><span style="COLOR: #008080">25</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br></span><span style="COLOR: #008080">26</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br></span><span style="COLOR: #008080">27</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">else</span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">28</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br></span><span style="COLOR: #008080">29</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">&nbsp;(&nbsp;pPlayer</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">SetFOV(&nbsp;this,&nbsp;</span><span style="COLOR: #000000">20</span><span style="COLOR: #000000">,&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">.1f&nbsp;)&nbsp;)<br></span><span style="COLOR: #008080">30</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br></span><span style="COLOR: #008080">31</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_bInZoom&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">true</span><span style="COLOR: #000000">;<br></span><span style="COLOR: #008080">32</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br></span><span style="COLOR: #008080">33</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br></span><span style="COLOR: #008080">34</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>#endif<br></span><span style="COLOR: #008080">35</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>}<br></span><span style="COLOR: #008080">36</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span></div>
<br>它们都属于CWeaponCrossbow这个类。<br><br>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><span style="COLOR: #008080">1</span><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #000000">//</span><span style="COLOR: #000000">这里让基础游戏者类型指针指向当前用户。<br></span><span style="COLOR: #008080">2</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>CBasePlayer&nbsp;</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">pPlayer&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;ToBasePlayer(&nbsp;GetOwner()&nbsp;);<br></span><span style="COLOR: #008080">3</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">//</span><span style="COLOR: #000000">下面的if语句是用于对当前用户是否按键的判断，并调用ToggleZoom函数。<br></span><span style="COLOR: #008080">4</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">&nbsp;(&nbsp;pPlayer</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">m_afButtonPressed&nbsp;</span><span style="COLOR: #000000">&amp;</span><span style="COLOR: #000000">&nbsp;IN_ATTACK2&nbsp;)<br></span><span style="COLOR: #008080">5</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>{<br></span><span style="COLOR: #008080">6</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>ToggleZoom();<br></span><span style="COLOR: #008080">7</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>}&nbsp;</span></div>
</span>
<img src ="http://www.cppblog.com/findman/aggbug/25742.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/findman/" target="_blank">找东西</a> 2007-06-07 16:43 <a href="http://www.cppblog.com/findman/articles/25742.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>HL2 MOD 创建攻略（不涉及3D建模和贴图部分）</title><link>http://www.cppblog.com/findman/articles/25740.html</link><dc:creator>找东西</dc:creator><author>找东西</author><pubDate>Thu, 07 Jun 2007 08:39:00 GMT</pubDate><guid>http://www.cppblog.com/findman/articles/25740.html</guid><wfw:comment>http://www.cppblog.com/findman/comments/25740.html</wfw:comment><comments>http://www.cppblog.com/findman/articles/25740.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/findman/comments/commentRss/25740.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/findman/services/trackbacks/25740.html</trackback:ping><description><![CDATA[<p><strong>一、安装Steam：</strong><br><a href="http://www.steampowered.com/v/index.php?area=getsteamnow"></a><a href="http://www.steampowered.com/v/index.php?area=getsteamnow" target=_blank><u><font color=#0000ff>http://www.steampowered.com/v/index.php?area=getsteamnow</font></u></a><br>这个文件不大只有700K[至少现在是这样]<br>下载完安装好之后会在桌面出现一个Steam的快捷方式。<br>[注]如果没有记错的话好像可以选择为简体中文&nbsp;。</p>
<p><strong>二、申请帐号：<br></strong>双击Steam的快捷方式，会出现一个登录，现在你没有帐号就注册一个拉。<br>然后登录Steam，会弹出一个猛大的Steam的最新新闻窗体。不用理它，X掉就好。<br>在菜单栏选择&#8220;游戏&#8221;下面的&#8220;在Steam上激活产品&#8230;&#8230;&#8221;，按照向导输入你的正版CD-KEY<br>完成激活，不然你就下载不了开发需要的基本软件了。</p>
<p><strong>三、下载Source&nbsp;SDK&nbsp;和Source&nbsp;SDK&nbsp;Base</strong><br>在Steam的工具里面可以看到这两个东西，现在是灰色的，双击或者右键选择&#8220;安装游戏&#8221;，然后关掉显示器去睡觉。~~：（~我下载这些东西花了整整4天~~不要对自己的网络抱太高的希望，我这里是电信的百兆光纤。<br>[注]Source&nbsp;SDK用于创建MOD和编译模型<br>&nbsp;&nbsp;&nbsp;&nbsp;Source&nbsp;SDK&nbsp;Base用于运行MOD</p>
<p><strong>四、安装编译系统</strong><br>那里还没有下完了~~可以先把编译的东西搞定，这里不仅仅是做地图和人物，是实现一个Mod~编译是不可缺失的操作单元。<br>这里可以提前告诉大家，SDK生成的代码是VS.C++.NET&nbsp;2003的项目，用2005编译会出现一些错误，在valve上有解决的办法：<a href="http://developer.valvesoftware.com/wiki/Compiling_under_VS2005"></a><a href="http://developer.valvesoftware.com/wiki/Compiling_under_VS2005" target=_blank><u><font color=#0000ff>http://developer.valvesoftware.com/wiki/Compiling_under_VS2005</font></u></a>，有兴趣的可以去看看，不过我比较的懒，直接装的VS.net2003。这里就不详细说明VS的安装了~。<br>提醒一下XP专业版要安装IIS，在添加/删除Windows组件里面装，记得在其子项里面勾上FrontPage&nbsp;2000服务器扩展，有什么用我也不太清楚，不过没有它，VS2003就没有装~~：（</p>
<p><strong>五、创建MOD</strong><br>在你第N个早晨醒来的时候发现你的Source&nbsp;SDK&nbsp;和Source&nbsp;SDK&nbsp;Base都下完了。好了~准备工作都做好了。<br>可以开工了，在Steam的工具双击启动Source&nbsp;SDK。出现Source&nbsp;SDK的小窗体。选择其中的"Create&nbsp;a&nbsp;Mod",这是出现一个单选对话框，按照自己的要求选择了，我在这里选择的&#8220;Modify&nbsp;Half-Life&nbsp;2&nbsp;Single&nbsp;Player&#8221;.下一步选择一个目录，并给自己的Mod取一个名字,下一步,它就会在对应的目录里面生成代码.<br>以我自己创建的为例MOD就创建在E:\Hl2MOD\testMod.在该目录下有,run_mod.bat、run_hammer.bat、run_hlmv.bat、run_studiomdl.bat四个bat批处理文件。因为我现在只搞代码这一块，所以我只知道，run_mod.bat是用来启动MOD的，其他三的用途不明：）～．另外还有四个目录，mapsrc，materialsrc，modelsrc，src．都是对应放地图，材料，模型，源码的目录．就代码来说只需要管src就可以了．<br>进入src目录，可以找到Game_sdk.sln文件，双击，将由Vs2003打开．然后再选择＂生成＂菜单下面的＂管理配置器＂，＂活动的解决方案配置＂下拉菜单默认为"Debug&nbsp;HL2",将其修改为"Release&nbsp;Hl2".<br>~~~接着选择菜单中的"生成"&nbsp;下面的"&nbsp;生成解决方案"&nbsp;,慢慢等吧,快不了~我在焊龙那种牛X的机器上编译上也等了好几分钟.<br>赫赫~终于编译完了~它实际上是生成了client.dll,server.dll两个文件.而真实的Mod位于你Steam的目录下面,以我默认安装在D盘为例,MOD就在D:\Program&nbsp;Files\Valve\Steam\steamapps\SourceMods\testMod</p>
<p>终于到最后了~~饿死我了~~~还没有吃晚饭的~~!!!!!</p>
<p>现在双击run_mod.bat启动MOD~~~~~~~!看见界面了吧")&nbsp;~~<br>默认情况下~什么都没有,在maps目录下面有一个测试地图,"~"&nbsp;,敲入"map&nbsp;sdk_shader_samples"<br>好了~可以开始玩MOD了~:)&nbsp;</p>
<img src ="http://www.cppblog.com/findman/aggbug/25740.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/findman/" target="_blank">找东西</a> 2007-06-07 16:39 <a href="http://www.cppblog.com/findman/articles/25740.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>