无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 5122|回复: 9
打印 上一主题 下一主题

[原创] 我用WBAT和GET写的游戏系统模块,终于接近完工了!

[复制链接]
跳转到指定楼层
1#
发表于 2005-5-4 00:25:37 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
[这个贴子最后由gotomsdos在 2005/05/07 06:59pm 第 3 次编辑]

第一次用WBAT和GET写的自制综合启动光盘(分系统安装<XP SP2 2000 98 ME DOS71>,维护工具和DOS即玩游戏,总大
小4.5GB)中游戏模块:
终于接近完工了!
与大家共勉!
(可直接用光盘启动后自动运行,解决了WBAT程序好象不能在光盘运行,天汇与鼠标冲突,仙剑奇侠传只允许内存32MB
之内等等诸多问题.
配有常见的SOUND BLASTER声卡DOS驱动
不用硬盘,可选择把光盘游戏复制到内存盘玩,或玩已保存到硬盘的游戏,也可加入游戏进度文件.非常流畅,玩完可
再回游戏主菜单.经多次测试,最后成功!)
又加了一些功能: 比如,进入之前加了以登记入园形式的暗藏进入游戏的秘密通道选项,如果选的不对就进不了
了...
还可保存游戏(分保存进度和整个游戏),(其中包括自己做用递增和递减实现前进和返回的简易DOS浏览器,<感谢
willsort!,是他帮我解决了DOS的嵌套变量,才能把它精简>小到只有3KB,但可查看无限制深度的目录,,创建多层<无
限制,但目录总字符不超过105个字符>带间隔的长文件名目录<当然,\左右不能有间隔>,字符可达105个字符!,还可编辑文本文件,运行程序和批处理再返回...),正在增加图
形修改游戏进度...修改SKYROADS已成功...

下面帖出,供大家参考:
要求: 在CONFIG.SYS中SHELL=COMMAND.COM /F /P /E:4096,加载光驱,DOSLFN,正确加载TW32,配备声卡驱动,WBAT目
录,FIND,GET,STRINGS,DEBUG,XMSDSK 等等。。。

&&&&&&&&&&&&&&&&&&&&&&&
主BAT,CONTINUE.BAT
@ECHO OFF
PROMPT &#36;P&#36;G
path a:\
tw32 /np >nul
ctmouse /u >nul
ctmouse /n >nul
lh doslfn
cls
set barpos=0
set saveyn=0
set name=
set year=
set book=
set stat=
set core=
set score=
set salary=
set gamedir=0
call prevar
wbat box @%0:sound
cls
if errorlevel 2 goto test
set blaster=a220 i5 d1 h5 p330
set sbpci=z:\sound
xcopy %romcd%\sound z:\sound\ /e /s /y
z:\sound\sbinit
cls
if errorlevel 1 wbat box 加载失败!
goto test
:sound "您要加载声卡驱动吗?"                     [x]
  本光盘配有常见的 Sound Blaster (创新) 声卡驱动文件
如果您电脑的声卡兼容创新,一般会成功加载驱动,但如果
不兼容并强制加载驱动,很可能不成功甚至出现死机等现象
如不清楚,建议查看一下您的声卡说明书。
                                  [加  载]  [不加载]
:
:studio
~木鸢工作室~ 羊城苑
2003-2005 Copyright TM reserved
:
:reg "寻趣园面试台"                                  [x]
江湖绰号?[&#36; name 20,!              ] (必填)
闯荡几个春秋了?[&#36; year 2,!] (必填)           
著作有几本了?[&#36; book 2] 统计员论文有几篇了?[&#36; stat 2]

~核心~期刊论文有几篇了?[&#36; core 2]
               
                  平均学生评分多少?[&#36; score 2]
     有~房~吗?[!]
                             薪俸多高啊?[&#36; salary 8]
有~车~吗?[!]
             平时喜欢干啥?
    看闲书 [!]
          看电视 [!]
  上网闲逛 [!]
          ~电脑游戏~玩疯了 [!]
逛街 [!]
        到哥们儿那坐坐 [!]               ~佳人~伺候?[.]
[面试结束]                               孑然一身?[.]
:
:ls " 想玩哪一个? "   [x]
[a 太空之路    ]
[b 赛车追捕    ]
[c 刺杀希特勒  ]
[d 毁灭战士    ]
[e 轩辕剑枫之舞]
[f 仙剑奇侠传  ]
[g 金庸群侠传  ]
[h 三国群英传  ]
[i 中国传统象棋]
[j 四国大战    ]
[k 手谈围棋    ]
[l 华容道      ]
[m 知识测验    ]
[n 最差的小游戏]
:
:where "在哪里玩?"                               [x]
  请先选择将要运行游戏的存储设备。选择装载到内存中玩
最流畅。但是,如果要从游戏进度处继续,就要在运行之前
把它们添加到游戏目录(手谈围棋例外。这要求您已经保存
了游戏进度文件)。否则,只能从游戏起点处开始。
  选择从硬盘玩,需要先前已经保存了整个游戏。
                                [内存] [硬盘] [返回]      
:
:gamesave "添加进度"                                [x]
请输入已保存的进度文件或游戏所在的目录:   [扫描驱动器]
                                          
[&#36; gamesave 105                           ][★]
                         [确定]  [返回]
:
:_hard "您将要玩硬盘中的游戏"                         [x]
        请输入硬盘上的游戏所在目录:         [扫描驱动器]
在这里: [&#36; harddir 96                       ][★]
                              [确定] [返回]
:
:query "您知道内存容量吗?"      [x]
要玩这个游戏,程序需要知道您的
电脑的内存容量来调整到适合游戏
运行的限度,否则可能无法运行。
    [我知道] [试一下] [返回吧]
:
:mem "内存多大?"  [x]
32
64
96
128
160
192
224
256
288
320
352
384
416
448
480
512
:
:fore "您将要在内存盘中玩"                                   [x]
  现在已把该游戏从光盘复制到了内存盘,运行游戏期间您可以保存游戏
进度。但重启电脑后就被清空,所以,如果重启后要从保存的进度继续玩
就要在结束该游戏后把它保存到硬盘(或者其他介质),以后再运行本光盘
选择从硬盘运行该游戏(当然,您也可用其他方式运行保存的游戏)。
在您退出游戏后会出现询问您是否保存游戏的对话框。
                                                      [开始玩吧]
:
:cheat "自欺欺人对话框--设置过关次数"        [x]
         track1  [&#36;t1 1]        track16 [&#36;t16 1]
         track2  [&#36;t2 1]        track17 [&#36;t17 1]
         track3  [&#36;t3 1]        track18 [&#36;t18 1]
      
         track4  [&#36;t4 1]        track19 [&#36;t19 1]
         track5  [&#36;t5 1]        track20 [&#36;t20 1]
         track6  [&#36;t6 1]        track21 [&#36;t21 1]
         
         track7  [&#36;t7 1]        track22 [&#36;t22 1]
         track8  [&#36;t8 1]        track23 [&#36;t23 1]
         track9  [&#36;t9 1]        track24 [&#36;t24 1]
         track10 [&#36;t10 1]        track25 [&#36;t25 1]
         track11 [&#36;t11 1]        track26 [&#36;t26 1]
         track12 [&#36;t12 1]        track27 [&#36;t27 1]
         
         track13 [&#36;t13 1]        track28 [&#36;t28 1]
         track14 [&#36;t14 1]        track29 [&#36;t29 1]
         track15 [&#36;t15 1]        track30 [&#36;t30 1]
[全部设为最大值] [全部设为零]       [确定] [返回]
:
:_save "保存游戏"                                   [x]
            您可以改变下面的默认保存目录: [扫描驱动器]
我要保存到: [&#36; savedir 96                 ][★]
               
保存后我要试运行保存的游戏 [!]                        
                             [确定] [返回]
:
:last
[DOS] [重启] [关机]
                   [?返回]
:
:test
call w.bat box 2,30 @%0:reg
if errorlevel 100 goto flee
if not "%name%"=="" if not "%year%"=="" if "%wrb%"=="2" goto start
wbat box 对不起,您面试没通过!再试试?
goto test
:flee
wbat box "想逃跑?" 逃吧,重来
if errorlevel 2 goto test
:_flee
wbat box DOS,重启,关机
if errorlevel 100 goto _flee
if errorlevel 3 off
if errorlevel 2 reboot
goto final
:start
z:
cd\wbat
wbat cls ! text 24,2 (red on blue) @%0:studio ! box "寻趣园等您好久了!" 继续...
if errorlevel 100 goto nogame
:ask
wbat box 游戏选单,不想玩了
if errorlevel 100 goto nogame
if errorlevel 2 goto nogame
rem if errorlevel 1 go on
:game
wbat cls ! text 24,2 (red on blue) @%0:studio
call w.bat box 4,12 @%0:ls &#35;%barpos%+1
if errorlevel 100 goto ask
set barpos=%?%
set oldgame=%gamedir%
if %wbat%==a set gamedir=skyroads
if %wbat%==b set gamedir=speedcar
if %wbat%==c set gamedir=wolf3d
if %wbat%==d set gamedir=doom
if %wbat%==e set gamedir=swda
if %wbat%==f set gamedir=pal
if %wbat%==g set gamedir=legend
if %wbat%==h set gamedir=sanguo
if %wbat%==i set gamedir=xiangqi
if %wbat%==j set gamedir=siguo
if %wbat%==k set gamedir=shoutan
if %wbat%==l set gamedir=huarong
if %wbat%==m set gamedir=test
if %wbat%==n set gamedir=car
if "%wbat%"=="f" goto pal
if "%wbat%"=="g" goto playcd
if "%wbat%"=="i" goto playcd

:play
wbat box @%0:where
if errorlevel 3 goto game
if errorlevel 2 goto hardinit
wbat cls
set harddir=
if "%oldgame%"=="%gamedir%" goto same
deltree /y z:\%oldgame% >nul
xcopy %romcd%\%gamedir% z:\%gamedir%\ /e /s /y
:same
if "%gamedir%"=="skyroads" goto skyroads
if "%gamedir%"=="wolf3d" goto wolf3d
if "%gamedir%"=="doom" goto doom
if "%gamedir%"=="swda" goto swda
if "%gamedir%"=="pal" goto stagepal
if "%gamedir%"=="sanguo" goto sanguo
goto memhi
:skyroads
set stage=skyroads.cfg
goto add
:wolf3d
set stage=savegam?.wl6
goto add
:doom
set stage=doomsav?.dsg
goto add
:swda
set stage=save\*.*
goto add
:stagepal
set stage=?.rpg
goto add
:sanguo
set stage=*.r3s
:add
wbat cls ! text 24,2 (red on blue) @%0:studio
wbat box "要添加游戏进度文件吗?" 添加,不添加
if errorlevel 2 goto memhi
:askdir
wbat cls ! text 24,2 (red on blue) @%0:studio
call w.bat fix box 7,13 @%0:gamesave
if errorlevel 4 goto play
if errorlevel 3 goto chkadd
if errorlevel 2 goto addexpl
call diskfind
goto askdir
:chkadd
call chkputad.bat
if not "%back%"=="askdir" goto copyadd
set back=
goto askdir
:copyadd
wbat cls
rem if "%gamesave%"=="" goto noinput
if "%gamedir%"=="swda" goto addswda
if exist "%gamesave%\%stage%" goto haveadd
:noaddfl
wbat box "找不到进度文件!" 返回
goto askdir
:haveadd
copy "%gamesave%\%stage%" z:\%gamedir% /y
goto memhi
:addswda
if exist "%gamesave%\%stage%" goto swdaaddy
goto noaddfl
:swdaaddy
copy "%gamesave%\%stage%" z:\%gamedir%\save /y
goto memhi
:addexpl
if exist drive.txt goto scaned
call diskfind
:scaned
call truenest gamesave
goto askdir
:memhi
wbat box @%0:fore
:doplay
cd\%gamedir%
call play.bat
goto postplay
:hardinit
set harddir=d:\%gamedir%
:hard
wbat cls ! text 24,2 (red on blue) @%0:studio
wbat fix box @%0:_hard
if errorlevel 100 goto game
if errorlevel 4 goto play
if errorlevel 3 goto chkhard
if errorlevel 2 goto hardexpl
call diskfind
goto hard
:hardexpl
if exist drive.txt goto scaned2
call diskfind
:scaned2
call truenest harddir
goto hard
:chkhard
set gamesave=%harddir%
call chkputad.bat
set harddir=%gamesave%
set gamesave=
if not "%back%"=="askdir" goto playhard
set back=
goto hard
:playhard
if exist "%harddir%\play.bat" goto haveplay
if exist "%harddir%\%gamedir%\play.bat" goto resetdir
wbat box "找不到游戏文件!" 返回
goto hard
:resetdir
set harddir=%harddir%\%gamedir%
:haveplay
get z "%harddir%" /w1
%get%:
cd "%harddir%"
call play
:postplay
z:
cd\wbat
if "%run%"=="fail" wbat box 运行失败!
set run=
rem if "%gamedir%"=="pal" goto pal
if not "%gamedir%"=="skyroads" goto played
wbat box "要不劳而获吗?" 要,不要
if errorlevel 2 goto played
:dovalue
call w.bat box @%0:cheat
if errorlevel 4 goto played
if errorlevel 3 goto modgame
if errorlevel 2 goto zero
call allcheat
goto dovalue
:zero
call prevar
goto dovalue
:modgame
call crackarg
if exist z:\skyroads.cfg goto crackok
wbat box "破解失败!" 继续...
goto played
:crackok
if "%harddir%"=="" goto memplay
copy z:\skyroads.cfg "%harddir%" /y
goto asksee
:memplay
copy z:\skyroads.cfg z:\skyroads /y
:asksee
wbat box "要重新运行游戏,看一下不劳而获的结果吗?" 看一下,不想看
if errorlevel 2 goto played
if "%harddir%"=="" goto doplay
goto haveplay
:played
z:
cd\wbat
if not "%harddir%"=="" goto start
if %saveyn%==%gamedir% goto start
wbat cls ! text 24,2 (red on blue) @%0:studio ! box "保存该游戏吗?" 不保存,保  存
if errorlevel 100 goto start
if errorlevel 2 goto asksave
goto start
:asksave
wbat box "保存游戏进度文件还是整个游戏?" 进度文件,整个游戏
if errorlevel 2 goto saveopt
if not "%stage%"=="" goto stagey
wbat box "对不起,这个游戏没有进度文件!" 不保存游戏,保存整个游戏
if errorlevel 2 goto saveopt
goto start
:stagey
if exist z:\%gamedir%\%stage% goto havezadd
wbat box "您尚未保存过游戏进度!" 不保存游戏,保存整个游戏
if errorlevel 2 goto saveopt
goto start
:havezadd
set save=passed
:saveopt
set savedir=d:\%gamedir%
:savebox
wbat cls ! text 24,2 (red on blue) @%0:studio
call w.bat fix box @%0:_save
if errorlevel 100 goto start
if errorlevel 4 goto asksave
if errorlevel 3 goto dosave
if errorlevel 2 goto explore
call diskfind
goto savebox
:explore
if exist drive.txt goto scaned3
call diskfind
:scaned3
call truenest savedir
goto savebox
:dosave
if not "%save%"=="passed" goto allsave
if "%wcb1%"=="0" goto allsave
wbat box "对不起,只有选择保存整个游戏,才能试运行游戏。" 返回
set wcb1=0
goto savebox
:allsave
call chkputsv.bat
if not "%back%"=="savebox" goto chkdir
set back=
goto savebox
:chkdir
echo %savedir%|find /i "%gamedir%">nul
if errorlevel 1 goto gamename
set enddir=%savedir%
goto dirmake
:gamename
set enddir=%savedir%\%gamedir%
:dirmake
wbat cls ! text 24,2 (red on blue) @%0:studio ! box "要显示选定的文件夹吗?" 显 示,不显示
if errorlevel 2 goto chkdir
wbat box "%enddir%" 确定,返回
if errorlevel 2 goto savebox
call multidir.bat
:tocopy
wbat cls
if "%save%"=="passed" goto passed
copy z:\%gamedir% "%enddir%" /y
if not exist %enddir%\play.bat goto savefail
echo %gamedir%|find /i "swda" >nul
if errorlevel 1 goto saveok
:swdapass
wbat cls
for %%a in (ba rx save vc) do md "%enddir%\%%a" >nul
for %%a in (ba rx save vc) do copy z:\%gamedir%\%%a "%enddir%\%%a" /y >nul
for %%a in (ba\ba49.rsk rx\ri079.rix save\save.zaq vc\sp135.voc) do if not exist %enddir%\%%a goto
savefail
wbat cls ! text 24,2 (red on blue) @%0:studio
goto saveok
:passed
if %gamedir%==swda goto swdapass
if exist z:\%gamedir%\%stage% goto havezadd
wbat box "您尚未保存过游戏进度!" 不保存游戏,保存整个游戏
if errorlevel 2 goto saveopt
goto start
:havezadd
copy z:\%gamedir%\%stage% "%enddir%" /y
if exist "%enddir%\%stage%" goto start
:savefail
wbat box 保存失败!
goto savebox
:saveok
if "%save%"=="passed" goto start
set saveyn=%gamedir%
if "%wcb1%"=="0" goto start
get z "%enddir%" /w1 >nul
%get%:
cd "%enddir%"
call play.bat
if "%run%"=="fail" wbat box 试运行失败!
set run=
goto start
:playcd
%romcd%
cd\%wbat%
call play.bat
z:
cd\wbat
goto start
:pal
set gamedir=pal
wbat box 5,10 (cyan on brown) @%0:query
if errorlevel 100 goto game
if errorlevel 3 goto game
if errorlevel 2 goto play
call w.bat list 20,65 @%0:mem
if errorlevel 100 goto pal
if "%wbat%"=="32" goto 32
set memmb=%wbat%
call d:\wbat\againram.bat
z:
cd\wbat
wbat box back to continue.bat
goto play
:32
goto play
:nogame
wbat box (black on brown) @%0:last
if errorlevel 100 goto ask
if errorlevel 3 off
if errorlevel 2 reboot
goto final
:term
a:\againram.bat
:final
wbat cls
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
TRUENEST.BAT (DOS浏览器)
@echo off
goto begin
:dirbars "上一级—→"[x]
[退  出]
[预  选]
[看文件]
[看目录]
:
:filebars "   上一级—→"[x]
[退  出]
[运行批处理文件]
[运行可执行文件]
[编辑文本文件]
[查看文件信息]
:
:begin
if exist drive.txt goto drive
wbat cls ! box "没有驱动器!" 退出
goto end
:drive
call w.bat list drive.txt
if errorlevel 100 goto end
:putdisk
if not exist notready.txt goto init1
find /i "%wbat%" notready.txt>nul
if errorlevel 1 goto init1
wbat box "您还没有在%wbat%盘放入盘片!" 重试
call diskfind
goto putdisk
:init1
set get=1
set dir%get%=%wbat%
:dirb
wbat box @%0:dirbars
if errorlevel 100 goto sub1
if errorlevel 4 goto dir
if errorlevel 3 goto file
if errorlevel 2 goto pick
goto end
:dir
if %get%==0 goto drive
if %get%==1 goto rootdir
echo dir "%%dir%get%%%" /b/ad/one %%"%%>%%"%% put.nst>nestvar.bat
call nestvar
goto subdir
:rootdir
dir %dir1%\ /b/ad/one>put.nst
:subdir
get f put.nst /vfsize>nul
if not "%fsize%"=="0" goto havedir
wbat box "没有子目录!" 上一级,退出
if errorlevel 2 goto end
goto dirb
:havedir
call w.bat list put.nst
if errorlevel 100 goto dirb
get r "+" %get% /w1 /vgetadd1>nul
echo set dir%getadd1%=%%dir%get%%%\%wbat%>nestvar.bat
call nestvar
wbat box @%0:dirbars
if errorlevel 100 goto havedir
if errorlevel 4 goto diradd1
if errorlevel 3 goto fileadd1
if errorlevel 2 goto pickadd1
goto end
:file
if %get%==1 goto rootfile
echo dir "%%dir%get%%%" /b/a-d/one %%"%%>%%"%% put.nst>nestvar.bat
call nestvar
goto subfile
:rootfile
dir %dir1%\ /b/a-d/one>put.nst
:subfile
get f put.nst /vfsize>nul
if not "%fsize%"=="0" goto havefile
wbat box "没有文件!" 上一级,退出
if errorlevel 2 goto end
goto dirb
:havefile
call w.bat list put.nst
if errorlevel 100 goto dirb
:fileb
wbat box @%0:filebars
if errorlevel 100 goto havefile
if errorlevel 5 goto info
if errorlevel 4 goto text
if errorlevel 3 goto exec-bat
if errorlevel 2 goto exec-bat
goto end
:info
echo dir "%%dir%get%%%\%wbat%" /a %%"%%>%%"%% putfile.nst>nestvar.bat
call nestvar
wbat list putfile.nst
goto fileb
:text
echo edit "%%dir%get%%%\%wbat%">nestvar.bat
call nestvar
goto fileb
:exec-bat
echo "%%dir%get%%%\%wbat%">nestvar.bat
call nestvar
goto fileb
:pick
echo set %1=%%dir%get%%%>nestvar.bat
call nestvar
goto end
:sub1
get r "-" %get% /w1>nul
goto dir
:diradd1
get r "+" %get% /w1>nul
goto dir
:fileadd1
get r "+" %get% /w1>nul
goto file
:pickadd1
get r "+" %get% /w1>nul
goto pick
:end
for %%a in (nestvar.bat put.nst putfile.nst) do if exist %%a del %%a
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
MULTIDIR.BAT (主要用GET完成的,DOS下,创建多层<无限制>带间隔的长文件名目录)
@echo off
:start
set lfn=%enddir%
dir "%lfn%" /w/ad|find /i "%lfn%"
if not errorlevel 1 goto final
md "%lfn%"
dir "%lfn%" /w/ad|find /i "%lfn%"
if not errorlevel 1 goto final
set pos=
set left=%lfn%
set right=
:toleft
get &#35; "%left%" ';\'; /x
set pos=%get%
get z "%lfn%" %pos%
set right=%get%
get r "-" %pos% /w1
get z "%left%" /w%get%
set left=%get%
dir "%left%" /w/ad|find /i "%left%"
if not errorlevel 1 goto toright
goto  toleft
:toright
if "%right%"=="" goto  end
get &#35; "%right%" ';\';
if "%get%"=="0" goto last
get r "+" %pos% /w%get%
set pos=%get%
get r "-" %pos% /w1
get z "%lfn%" /w%get%
set left=%get%
get z "%lfn%" %pos%
set right=%get%
md "%left%"
dir "%left%" /w/ad|find /i "%left%"
if not errorlevel 1 goto toright
set lfn=%left%
goto fail
:last
md "%lfn%"
:end
dir "%lfn%" /w/ad|find /i "%lfn%"
if not errorlevel 1 goto ok
:fail
wbat box "创建目录失败!^%lfn%" 重试,返回
if errorlevel 2 goto  final
goto start
:ok
wbat box  "创建目录成功!^%lfn%" 继续...
:final
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
CHKPUTAD.BAT (检测字符输入)
@echo off
if not "%gamesave%"=="" goto inputted
wbat box "您还没有输入!" 返回
goto back
:inputted
call diskfind
if exist drive.txt goto havedrv
wbat box "没有盘!" 返回
goto back
:havedrv
get z "%gamesave%" /w1
find /i "%get%" drive.txt>nul
if not errorlevel 1 goto validd
wbat box "不存在%get%:盘 !" 返回
goto back
:validd
if not exist notready.txt goto notnot
get z "%gamesave%" /w1
find /i "%get%" notready.txt>nul
if errorlevel 1 goto notnot
wbat box "您还没有在%get%:盘放入盘片!" 继续...
goto back
:notnot
get z "%gamesave%" 1 >nul
if "%get%"=="" goto two
if "%get%"==":" goto two
if "%get%"==":\" goto two
get z "%gamesave%" 1 /w2 >nul
if "%get%"==":\" goto diryn
rem wbat cls ! text 24,2 (red on blue) @continue.bat:studio
wbat box "输入非法!" 返回
goto back
:diryn
dir "%gamesave%" /w/ad|find /i "%gamesave%">nul
if not errorlevel 1 goto end
wbat box "没有这个目录:^%gamesave%" 返回
goto back
:two
get z "%gamesave%" /w1
set gamesave=%get%:
goto end
:back
set back=askdir
:end
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
CRACKSKY.BAT (用DEBUG做的小小的修改游戏成绩的BAT)
@echo off
copy %romcd%\skyroads\skyroads.cfg z:\ /y
echo n z:\skyroads.cfg>crack
echo l0>>crack
if "%1"=="" goto end
echo e 6 %1 00>>crack
set get=6
shift
:crack
if "%1"=="" goto end
get r "+" &#36;%get% /w2 /h
echo e %get% %1 00>>crack
shift
goto crack
:end
echo rcx>>crack
echo 42>>crack
echo w0>>crack
echo q>>crack
debug<crack
del crack

&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
CRACKARG.BAT (调用CRACKSKY,实现修改)
@echo off
cracksky %t1% %t2% %t3% %t4% %t5% %t6% %t7% %t8% %t9% %t10% %t11% %t12% %t13% %t14% %t15% %t16% %
t17% %t18% %t19% %t20% %t21% %t22% %t23% %t24% %t25% %t26% %t27% %t28% %t29% %t30%

&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
AGAINRAM.BAT (由于另人头疼的仙剑奇侠传对内存的特殊要求,多数情况下完它时不得不重设内存盘后,使内存盘起
死回生的BAT)
@echo off
path a:\
strings diskmb=sub %memmb%, 20
strings diskkb=mul %diskmb%, 1024
xmsdsk %diskkb% z: /t /y
cls
xcopy %romcd%\wbat z:\wbat\ /e /s /y
xcopy %romcd%\f z:\f\ /e /s /y
z:
cd\f
call play.bat
cd\wbat
back

&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
以上是主要程序,其他的小BAT就不贴出了...
希望对大家有点帮助,也欢迎提提意见....
2#
发表于 2005-5-5 11:52:23 | 只看该作者

[原创] 我用WBAT和GET写的游戏系统模块,终于接近完工了!

  好多哦~~~我都看累了~~, 真厉害~~
回复

使用道具 举报

3#
 楼主| 发表于 2005-5-9 00:03:50 | 只看该作者

[原创] 我用WBAT和GET写的游戏系统模块,终于接近完工了!

还在完善...
回复

使用道具 举报

4#
发表于 2005-5-9 07:21:41 | 只看该作者

[原创] 我用WBAT和GET写的游戏系统模块,终于接近完工了!

gotomsdos:
  前次上传的程序在批处理中连续执行确实有问题,改了一下,借用了了horst的Nset.com,现将示例打包在
http://bbs.wuyou.net/cgi-bin/topic.cgi?forum=34&topic=8698&show=0
关于你说的
  从文件的第6字节(从0开始算是6,从1开始算就是7)开始,把第6,8,10,,,,64处的一个字节(也就是地址每次加2)分别存入变量t1,t2,t3,,,,,,t30.总共30个变量
  这样做恐怕不太好,这样一来这个程序只能针对一个程序了不具有通用性。还是像示例一样在批处理中一条一条地加好一点。
   说点题外话:一次性设定如此多的环境变量不知道会不会造成环境变量空间不足。如果没有特殊需要还是随用随设吧。
   要上班了,没做更多的测试,你用一下试试。
回复

使用道具 举报

5#
 楼主| 发表于 2005-5-9 11:38:34 | 只看该作者

[原创] 我用WBAT和GET写的游戏系统模块,终于接近完工了!

我看一下,
另, 改游戏成绩的BAT一定要30个变量同时显示的, 环境空间是占用不少,但我在CONFIG.SYS中已设为/E:4096,应该够用了.
回复

使用道具 举报

6#
 楼主| 发表于 2005-5-26 20:14:25 | 只看该作者

[原创] 我用WBAT和GET写的游戏系统模块,终于接近完工了!

[这个贴子最后由gotomsdos在 2005/05/26 08:19pm 第 1 次编辑]

现在可以下游戏的ISO了::(由于容量太大,删掉了金庸群侠传)
到我自己的机子上FTP站下吧:
ftp://211.66.127.85/   (试一试能不能下,如果线路忙,可能要等一等的..)
两个ISO,要刻盘用他启动的,
ghost_cn.iso  (4.5MB,图形GHOST)
dos_game.iso  (73MB,我收集的经典DOS游戏,我做了菜单,里面还有附带的一些功能,化了两月,其中里面有些的游戏也可在WINDOWS运行,但总比不上纯DOS的,而且菜单就不能正常显示了..)
用的好,别忘了要顶一下呀! 嘿嘿..
回复

使用道具 举报

7#
发表于 2005-6-6 08:05:47 | 只看该作者

[原创] 我用WBAT和GET写的游戏系统模块,终于接近完工了!

你是不是一开机就开了FTP呀?我怎么打不开呢?
回复

使用道具 举报

8#
发表于 2006-11-17 16:57:14 | 只看该作者
楼主,太强了
回复

使用道具 举报

9#
发表于 2006-11-17 16:59:39 | 只看该作者
  代码里的一些符号都被论坛自动转义了,建议把代码用 [code] 和 [/code] 括起来,或者在发帖子的时候选择 禁用 Discuz! 代码。
回复

使用道具 举报

10#
发表于 2006-11-17 17:04:18 | 只看该作者
强,楼主对此道如此精通!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-11-16 08:05

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表