首页 > 编程, 电玩 > 角色扮演游戏脚本

角色扮演游戏脚本

2009年10月19日 发表评论 阅读评论

找到一个超级棒的游戏开发引擎,Java做的,代码不难懂。。。作者的博客在这里

支持“推箱子”这种桌面游戏(当然逻辑要自己实现,比自己从头搞,工作量只低了一点点);支持对话加选项式的AVG(比如樱花大战、很多日本人做的OOXX游戏);支持RPG(还没有仔细看)

看了一圈,花了不少时间读懂代码,觉得这东西满有前途;代码结构很漂亮,有脚本解析,甚至还支持LUA脚本语言;开源意味着什么都可以定制,比如把Groovy和Jython弄进去应该也不难。

但是想一想,觉得自己写代码难度有点大,特别是自己虎头蛇尾得很。

为了不虎头蛇尾,不如只弄脚本和美工,不到迫不得已(比如要增加道具之类)不去修改代码。

脚本最容易了,也是最有变化的东西,如果写得好,完全可以比得上几千行代码,所以。。。贴一段作者自带的脚本。。。希望看到的同学能够出出点子,一起弄个好玩的脚本出来?

不知道这次会不会又一次虎头蛇尾。

/*
   这是一个随Java版AVG游戏开发入门示例发布的脚本文件,用于演示脚本引擎开发的基本原理及应用
*/

set bgImage = “image/avg/backgroud/hospital.jpg”
set heroName = “三石.圣光.丁”
set cg0Image = “image/avg/friend/ding/ding0.png”
set cg1Image = “image/avg/friend/ding/ding1.png”
set cg2Image = “image/avg/friend/ding/ding2.png”
set cg3Image = “image/avg/friend/ding/ding3.png”
set roleName = “那厮为金网瘾集中营女医师—上岛床子”
set ecg0Image = “image/avg/enemy/shang/shang0.png”
set ecg1Image = “image/avg/enemy/shang/shang1.png”
set ecg2Image = “image/avg/enemy/shang/shang2.png”
set ecg3Image = “image/avg/enemy/shang/shang3.png”
set content = “”
set mount = 0

gb print(bgImage)

    //显示三石.圣光.丁惊讶画面到画面x坐标200
    cg print(cg1Image) 200
mes {print(heroName)}你说我有网瘾?!但我已不摸电脑好多年,我,我现在只是个养猪的……

    //三石移动到30
    cg print(cg1Image) 30
    //上岛床子乱入……250位置
    cg print(ecg0Image) 250

mes {print(roleName)}哼哼哼哼哼,别狡辩了,根据我们伟大的[<o那厮为金网瘾集中营/>]<r文明用语/>的推断。你的,良民的不是,网瘾的,大大的有!

    //变更cg0为cg1
    cg print(cg1Image) to print(cg2Image)
mes  {print(heroName)}<o那厮为金网瘾集中营/>的<r文明用语/>?!是什么鬼东西?

    //变更ecg0为ecg1
    cg print(ecg0Image) to print(ecg1Image)

mes {print(roleName)}放肆!你竟敢说我们尊贵的<r文明用语/>是东西?!

    //变更cg2为cg1
    cg print(cg2Image) to print(cg1Image)

mes  {print(heroName)}难道<r文明用语/>还不是东西吗?!

    //变更ecg1为ecg2
    cg print(ecg1Image) to print(ecg2Image)

    //变更cg1为cg0
    cg print(cg1Image) to print(cg0Image)
mes {print(roleName)}真是傻孩子!<r文明用语/>怎么可能是东西,<r文明用语/>当然不是东西!更何况是我们营长这个<r文明用语/>,那就更加更加的不是东西!

      //变更cg0为cg1
    cg print(cg0Image) to print(cg1Image)
mes  {print(heroName)}营长?!你是说,你讲的<r文明用语/>是指你们的营长?!

mes {print(roleName)}蠢话!不是我们营长这样身份高贵的人,怎么可能用<r文明用语/>作为尊称呢?<r文明用语/>当然就是指我们杨营长!

    //变更cg1为cg3
    cg print(cg1Image) to print(cg3Image)
mes  {print(heroName)}姓杨?!我想起来了,莫非是传说中的杨~<r哔/>~<r哔/>~?!

mes {print(roleName)}孺子可教也,想不到你年纪轻轻竟也知道他这种身份的大人,要用[<r文明用语/>]、[<r哔/>]、[<r不雅词汇/>]这些[<o象征高贵的辞藻/>]来加以尊称。
    //变更cg3为cg2
    cg print(cg3Image) to print(cg2Image)
mes  {print(heroName)}你,你想怎么样?……(可恶,如果是战斗力媲美十大神兽的十二生肖兽之一——[<o羊叫兽/>]亲自介入,就算是我恐怕也劫数难逃了|||)

mes {print(roleName)}不想怎么样——毕竟我们也不都是虐待狂,如果我们的网瘾测试你能顺利通过,还是有免于被抓的机会的(哼哼,做梦)。

mes {print(heroName)}见鬼!好,谁怕谁啊,放马过来吧!

    //变更ecg2为ecg0
    cg print(ecg2Image) to print(ecg0Image)
mes {print(roleName)}接招吧!

cg del

cg print(ecg2Image) 20

//显示题目用函数(因为这仅是一个演示用的脚本引擎,故未做传参功能,请自行改进添加)
begin issue
    mes {print(roleName)}print(content)
    in
      A.完全没有
      B.很少
      C.偶尔
      D.经常
      E.总是
    out
end

//题目1
set content = “你多少次发现你在网上逗留的时间比你原来打算的时间要长?”
call issue
set mount = SELECT + mount + 1

//题目2
set content = “你有多少次忽视了你的家务而把更多时间花在网上?”
call issue
set mount = SELECT + mount + 1

//题目3
set content = “你有多少次更喜欢因特网的刺激而不是与你配偶之间的亲密?”
call issue
set mount = SELECT + mount + 1

//题目4
set content = “你有多少次与网友形成新的朋友关系?”
call issue
set mount = SELECT + mount + 1

//题目5
set content = “你生活中的其他人有多少次向你抱怨你在网上所花的时间太长?”
call issue
set mount = SELECT + mount + 1

//题目6
set content = “在你需要做其他事情之前,你有多少次去检查你的电子邮件?”
call issue
set mount = SELECT + mount + 1

//题目7
set content = “由于因特网的存在,你的工作表现或生产效率有多少次受到影响?”
call issue
set mount = SELECT + mount + 1

//题目8
set content = “你认为脱离互联网便无法正常工作吗?”
call issue
set mount = SELECT + mount + 1

//题目9
set content = “当有人问你在网上干些什么时,你有多少次变得好为自己辩护或者变得遮遮掩掩?”
call issue
set mount = SELECT + mount + 1

//题目10
set content = “你有多少次用因特网的安慰想象来排遣关于你生活的那些烦人考虑?”
call issue
set mount = SELECT + mount + 1

//题目11
set content = “你有多少次发现你自己期待着再一次上网的时间?”
call issue
set mount = SELECT + mount + 1

//题目12
set content = “你有多少次担心没有了因特网,生活将会变得烦闷,空虚和无趣?”
call issue
set mount = SELECT + mount + 1

//题目13
set content = “如果有人在你上网时打扰你,你有多少次厉声说话,叫喊或者表示愤怒?”
call issue
set mount = SELECT + mount + 1

//题目14
set content = “你有多少次因为深夜上网而睡眠不足?”
call issue
set mount = SELECT + mount + 1

//题目15
set content = “你有多少次在下网时为因特网而出神,或者幻想自己在网上?”
call issue
set mount = SELECT + mount + 1

//题目16
set content = “当你在网上时,你有多少次发现你自己在说’就再玩几分钟’?”
call issue
set mount = SELECT + mount + 1

//题目17
set content = “你有多少次试图减少你花在网上的时间但却失败了?”
call issue
set mount = SELECT + mount + 1

//题目18
set content = “你有多少次试图隐瞒你在网上所花的时间?”
call issue
set mount = SELECT + mount + 1

//题目19
set content = “你有多少次选择把更多的时间花在网上而不是和其他人一起外出?”
call issue
set mount = SELECT + mount + 1

//题目20
set content = “当下网时,你感到沮丧,忧郁或者神经质,而这些情绪一旦回到网上就会无影无踪?”
call issue
set mount = SELECT + mount + 1

if mount<40
     mes 你有时候可能会在网上花较长的时间”冲浪”,但尚能控制你对网络的使用,因此你属于[<l轻度网瘾患者/>](切,才仅仅这样嘛,不过不要紧,等我来慢慢玩弄他(=‵′=))。
    else if mount<70
     mes 由于因特网的存在,你正越来越频繁地遇到各种各样的问题,你应当认真考虑它们对你生活的全部影响,因此你属于[<y中度网瘾患者/>](真遗憾,只能使用抑郁性药物,过两天才能电刑……)。
    else if mount<100
     cg print(ecg2Image) to print(ecg3Image)
     mes 你的因特网使用正在给你的生活造成许多严重的问题,你需要现在就去解决它们,因此你属于[<r重度网瘾患者/>]!(哈哈哈哈,能电了,能电了,我要玩死这小子!)。
    else if mount==100
     cg print(ecg2Image) to print(ecg3Image)
     mes 来人啊!快把我的整套SM道具……不,是整套抢救用具拿来!我要立刻[<r挽救/>]这个可爱的小家伙!!!
endif

flash 255,255,255

    mes  {print(roleName)}你是我的了!
    shake 20
    cg del
    cg print(cg1Image)
    mes  {print(heroName)}救命啊!<r不要啊/>!!!!

flash 241,26,26

cg del
mes  {路人H}由于这是一个示例,并没有真正完成这个游戏,暂时到此为止。想继续请自己动手丰衣足食……想添加过场特校、按钮、物品栏等组件可以给我blog留言,偶可以抽空帮忙,其余的自己解决……

run title

原创的话痨如需转载请注明来源:http://blog.chenyi.me/blog/10728;转载的文章我会力所能及地注明来源如有疏漏请留言指正。

文章的脚注信息由WordPress的wp-posturl插件自动生成

分类: 编程, 电玩 标签:
  1. df
    2009年10月19日17:50 | #1

    有点意思

    [回复]

    admin 回复:

    有没有什么好的脚本的点子?

    [回复]

    df 回复:

    抹得。。。

    [回复]

  1. 本文目前尚无任何 trackbacks 和 pingbacks.