48 12345
发新话题
打印

做你的第一个MOD

做你的第一个MOD

----by fohoo

学这个教程你可以不会C&C++,你只要照葫芦画瓢就成。当然,要想自己做,成长为一个MOD高手,就必须自己看HL SDK代码, 把C&C++学好。唧唧歪歪了几句,来吧,GO!

1.准备工作装好HL SDK  装好VC 6.0装好地图编辑器(在SDK安装目录的Hammer Editor目录中)装好CS1.5汉化硬盘版。

2.配置地图编辑器这有个中文版的地图编辑器配置图解,差不多:http://www.weikes.com/csmap/tut/tut1/set.h...22&filename=f_2
设置fgd文件(游戏地图数据),要用本贴附件中哪个fgd纹理贴图用CS1.5汉化硬盘版CSTRIKE.WAD (其它的也行)。还有编译设置和地图的放置目录,主要是这些。

3.做关卡先做一个地图,照下面的做一个(存为first.rmf)http://www.weikes.com/csmap/tut/tut1/first...2&filename=f_16
我们要做的是单人关卡,所以把上面教程做的first.rmf中的“info_player_deathmat”删除,加几个其它的实体模型:
放置几个monster_alien_slave(弗地冈,闪电怪)
放置几个monster_apache(直升机)
放置几个monster_alien_grunt(alien步兵,蜂枪怪)
放置几个monster_barney(警察)
OK,最后按F9编译生成first.bsp如果编译错误, 参见(做个小地图一般不会错,只要你设置好编译工具)http://www.weikes.com/csmap/tut/tut3/bmisk.htm

4.修改代码用VC打开(HL SDK目录)Single-Player Sourcedllshl.dsw在singleplay_gamerules.cpp,找到
CHalfLifeRules :: PlayerSpawn
原来是空的,现在给主角加点武器
void CHalfLifeRules :: PlayerSpawn
( CBasePlayer *pPlayer ){BOOL addDefault;
CBaseEntity *pWeaponEntity = NULL;
pPlayer->pev->weapons |= (1<<WEAPON_SUIT);
addDefault = TRUE;
while ( pWeaponEntity = UTIL_FindEntityByClassname( pWeaponEntity, "game_player_equip" )){pWeaponEntity->Touch( pPlayer );
addDefault = FALSE;
}
if ( addDefault ){pPlayer->GiveNamedItem( "weapon_crowbar" );
pPlayer->GiveNamedItem( "weapon_9mmhandgun" );
pPlayer->GiveNamedItem( "weapon_mp5");
pPlayer->GiveAmmo( 250, "9mm", _9MM_MAX_CARRY );
pPlayer->GiveNamedItem( "weapon_handgrenade" );pPlayer->GiveAmmo(5,"weapon_handgrenade",HANDGRENADE_MAX_CARRY);
pPlayer->GiveNamedItem( "weapon_shotgun");
pPlayer->GiveAmmo( 125, "buckshot", BUCKSHOT_MAX_CARRY );
}
} OK,按
F7编译生成hl.dll

5.安装你的first mod5.1在你的CS1.5的目录下建一个这样的目录结构(CS目录)first(CS目录)firstdlls(CS目录)firstmaps

5.2用记事本建立一个liblist.gam放到cs目录First下内容如下:
game "my first mod" // 游戏名称
url_info "www.gameres.com/bbs" //网址
url_dl "" // 下载地址
version "0.01" // mod的版本号
size "9000" // mod的大小(字节)
svonly "0" // 是否仅仅是服务器端(1=yes 0=no)
cldll "0" // 客户端动态链接库? (1=yes 0=no)
hlversion "1110" // halflife的版本号
type "singleplayer_only" // 游戏类型(单人游戏还是多人游戏)
gamedll "dllshl.dll" // mod的动态链接库
startmap "first" // new game的开始地图
trainmap "first" // 训练关地图

5.3 拷贝first.bsp到cs目录Firstmaps下,拷贝first.bsp的相关纹理文件 cstrike.wad到cs目录First下拷贝hl.dll到cs目录Firstdlls下6.最激动人心的时候到了,运行CS,选择自定义游戏(custom game)看到my first mod了吗,选择它激活->done->hazard course打啊!!
天,我放了太多怪了!! 
Game Over……

TOP

今年大学才教完C,用的那个软件叫Turbo C,跟这个有一定差别的~~~~~~~~~~~~~~~~~~~~我怎么看不懂?!?!

TOP

C和C++是两种语言,不过学过C以后会对C++有一定基础Half-Life的代码都是C++的,不过Quake2的都是C的

TOP

呵呵  我开始接管这里了

TOP

我不懂C++,我才高一……不过我会PASCAL,好象过时了~问问,魔兽插件什么的算是MOD吗?

TOP

我以前做过这种MOD 很好玩~~

TOP

MOD 到底是什么意思啊?

TOP

我也不知道啊

TOP

"我想做能在网上队战的那种mod谁能教我"下载Half-Life SDK 2.3, 使用 "Multiplayer Source" 文件夹中的代码就可以了

TOP

真希望版主能多贴点这些代码,
但我很遗憾的只发现了这个帖子
希望版主能把以前的代码帖一起贴出来~~~

TOP

 48 12345
发新话题