jiaming's profile+KAMINLESS+BlogListsNetwork Tools Help

Blog


    6/8/2006

    限时LRCLICK

    *define
    game
    *start
    mov %1,3000
    erasetextwindow 0
    文字。

    *clickwait
    btntime %1
    btnwait2 %0
    if %0=0 goto *lclick
    if %0=-1 goto *rclick
    if %0=-2 goto *timeout

    *lclick
    rmode 0
    左@
    textclear
    reset
    *rclick
    rmode 0
    右@
    textclear
    reset
    *timeout
    rmode 0
    textclear
    超时@
    textclear
    reset
    6/1/2006

    想象明星志愿123

    *define
    game
    *start
    mov %22,0
    mov %23,0
    *loop
    for %1=1 to 10
    *datecheck
    if %2=0 goto *weekend
    if %2!=0 goto *weekdays
    *weekend
    第%1天,为周末安排日程。
    click
    textclear
    goto *onedayover
    *weekdays
    for %3=1 to 3
    *peopletimescheck
    if %3=1 goto *p1
    if %3=2 goto *p2
    if %3=3 goto *p3
    *onepeopleover
    next
    goto *onedayover
    *onedayover
    add %2,1
    if %2=8 mov %2,0:goto *datecheck
    next
    reset

    *p1
    gosub *daycheck
    第%1天,$1进程,第%3人。
    click
    textclear
    goto *onepeopleover

    *p2
    if %22=0 goto *onepeopleover
    gosub *daycheck
    第%1天,$1进程,第%3人。
    click
    textclear
    goto *onepeopleover

    *p3
    if %23=0 goto *onepeopleover
    gosub *daycheck
    第%1天,$1进程,第%3人。
    click
    textclear
    goto *onepeopleover
    *daycheck
    if %2=1 mov $1,"周一"
    if %2=2 mov $1,"周二"
    if %2=3 mov $1,"周三"
    if %2=4 mov $1,"周四"
    if %2=5 mov $1,"周五"
    if %2=6 mov $1,"周六"
    if %2=7 mov $1,"周日"
    return
    5/26/2006

    日期显示范例

    *define
    deletemenu
    effect 2,4,50
    game
    *start
    *dateloop
    for %1=1 to 50
    gosub *lspdate
    click
    csp -1
    print 2
    next
    reset


    *lspdate
    if %1<=31 gosub *month5
    if %1>=32 && %1<=50 gosub *month6
    gosub *datecheck
    lsp 0,":s#ff0000$1",110,450
    lsp 1,":s#ff0000$2",450,450
    print 2
    return
     
    *month5
    mov $1,"2007年05月"
    mov %2,%1
    itoa2 $3,%2
    add $3,"日"
    if %2<=9 mov $2,"0"
    if %2>9  mov $2,""
    add $2,$3
    add $1,$2
    return
    *month6
    mov $1,"2007年06月"
    mov %2,%1
    sub %2,31
    itoa2 $3,%2
    add $3,"日"
    if %2<=9 mov $2,"0"
    if %2>9  mov $2,""
    add $2,$3
    add $1,$2
    return
     
    *datecheck
    mov %2,%1
    add %2,7
    mod %2,7
    if %2=1 mov $2,"周二"
    if %2=2 mov $2,"周三"
    if %2=3 mov $2,"周四"
    if %2=4 mov $2,"周五"
    if %2=5 mov $2,"周六"
    if %2=6 mov $2,"周日"
    if %2=0 mov $2,"周一"
    return
     
     
    时间参照07年5月1日~6月19日
    5/12/2006

    rnd2的判断

    *define
    deletemenu

    game
    *start

    *level1
    rnd2 %1,1,10
    if %101=10 goto *level1check
    if %1=1 goto *test1
    if %1=2 goto *test2
    if %1=3 goto *test3
    if %1=4 goto *test4
    if %1=5 goto *test5
    if %1=6 goto *test6
    if %1=7 goto *test7
    if %1=8 goto *test8
    if %1=9 goto *test9
    if %1=10 goto *test10

    *test1
    if %11=1 goto *level1
    add %101,1
    第%101次显示。
    顺序为第1题。
    click
    textclear
    mov %11,1
    goto *level1

    *test2
    if %12=1 goto *level1
    add %101,1
    第%101次显示。
    顺序为第2题。
    click
    textclear
    mov %12,1
    goto *level1

    *test3
    if %13=1 goto *level1
    add %101,1
    第%101次显示。
    顺序为第3题。
    click
    textclear
    mov %13,1
    goto *level1

    *test4
    if %14=1 goto *level1
    add %101,1
    第%101次显示。
    顺序为第4题。
    click
    textclear
    mov %14,1
    goto *level1

    *test5
    if %15=1 goto *level1
    add %101,1
    第%101次显示。
    顺序为第5题。
    click
    textclear
    mov %15,1
    goto *level1

    *test6
    if %16=1 goto *level1
    add %101,1
    第%101次显示。
    顺序为第6题。
    click
    textclear
    mov %16,1
    goto *level1

    *test7
    if %17=1 goto *level1
    add %101,1
    第%101次显示。
    顺序为第7题。
    click
    textclear
    mov %17,1
    goto *level1

    *test8
    if %18=1 goto *level1
    add %101,1
    第%101次显示。
    顺序为第8题。
    click
    textclear
    mov %18,1
    goto *level1

    *test9
    if %19=1 goto *level1
    add %101,1
    第%101次显示。
    顺序为第9题。
    click
    textclear
    mov %19,1
    goto *level1

    *test10
    if %20=1 goto *level1
    add %101,1
    第%101次显示。
    顺序为第10题。
    click
    textclear
    mov %20,1
    goto *level1

    *level1check
    测试结束。
    click
    reset

    5/10/2006

    当前游戏时间的显示

    演示版本:nscr261[简体中文版]
     
    ;============================
    ;SAVELOAD时要保存实际的当前游戏时间的代码
    ;============================
    *define
    game
    *start
    mov $3,"0"
     

    date %0,%1,%2
    mov %3,%0
    sub %3,10
    if %3<0 goto *jishu
    *jishu
    itoa2 $0,%0:add $0,"年":add $3,$0
    itoa2 $1,%1:add $1,"月":add $3,$1
    itoa2 $2,%2:add $2,"日":add $3,$2
    mov $0,$3
     

    lsp 1,":s#FFFFFF$0",50,100
    print 1
    click
    end
    ;============================
    ;代码如上
    ;============================
     
     
    我眼睛不好
    玩了N天NS
    才发现有itoa2这个代码
    终于从乱码的生活里摆脱出来
     
    【itoa2】
    itoaと同様に数値を文字列に変換しますが、
    この命令では全角文字列になります。
    2/19/2006

    制作BAR

    就是格斗游戏里经常用到的和HP有关的东西

    〓BAR的控制

    命令:bar

    结合print一起使用

    bar 0,100,20,200,300,30,100,#ff0000

    bar[bar编号(越小越前面)],[现在数值],[窗口内X坐标],[窗口内Y坐标],[宽度],[高度],[最大数值],#RGB

     

    如果要表现出顺滑地增减感的话,

    需要结合[for]和[print 1]

     

    BAR的消除

    [barclear]

    [repaint]

     

    〓数字和BAR结合显示

    prnum

    除了没有最大数值的指定,其余同bar

    prnumclear」为消除数字

    制作按钮②

    制作按钮还有另外一种方法
    可以先导入和窗口一样大小的图片
    其中已经包括各按钮
    通过抠图的方式来达到做按钮的效果
    采用代码为
    btndef
    btn
    其余判断同前

    制作动画

    lsp命令既可以定义按钮也可以制作动画,以解决NS无法导入GIF图片的问题
    一共有3种动画显示模式
    lsp 0,":a/6,100,0;image\anime1.jpg",100,100
    lsp 1,":a/6,200,1;image\anime1.jpg",245,200
    lsp 2,":a/6,150,2;image\anime1.jpg",390,300

     /~;里包含的3个数字从左到右意义依次为
     「CELL的数字」「1段的显示时间」「LOOP模式
       「CELL的数字」:用于做动画的图片就是将连续动作的图片做在一张图片里.
                             示例中用到的图片由6段组成,所以填为6;
                             之前做按钮时的图片由2段组成,所以为2.
       「1段的显示时间」:N段中每1段停留的时间;
                                 如果为按钮,则填0

     「LOOP模式」共有0~3这4种类型。

     如果从第1张CELL到最后1张CELL来显示的话…
     0…回到第1张CELL。(无缓冲式循环)
     1…到达最后1张CELL后就停下来。 (不循环)
     2…以U TURN的方式返回到第1张CELL。(有缓冲式循环)

     3…通常显示CELL0(即图片的第1段),有特定指定的时候显示其他CELL。
     
     CELL的指定用命令「cell」。

     「cell」之后指定「lsp编号」「CELL编号」即可。
     比如说,要显示lsp编号为1的第4段图片的话,写成cell 1,4
     要配合使用print命令

    制作按钮

    暂时将按钮分为[初始状态]和[被选择状态]
    制作按钮的思路:
    ①先显示[初始状态]的图片
    lsp 0,":a/2,0,3;image\kaishi.jpg",220,280
    2,0,3为制作按钮时的规定代码
     
    ②将图片按钮化
    spbtn 0,1
    spbtn [图片编号],[按钮编号]
    按钮编号最小从1开始定义
     
    ③判断是否触摸按钮
    触摸按钮的话,显示[被选择状态]
    *else
    btnwait %0

    if %0=0  goto *else
    if %0=-1 goto *else
    if %0=1  goto *kaishi
    %0=0即左键点击了非按钮处
    %0=-1即右键点击了窗口任意处
    ④选择此按钮的话,转到其所对应的分支
     
     
    如果是用文字来做按钮跳转的话,代码参考为:
    lsp 0,":s#ffffff#ffff00开始",260,280

    スプライト基础

    在窗口里显示图片命令lsp
    lsp 0,":a;image\yuki.jpg",120,80
    显示图片的编号(自定义)」「显示图片的位置」「图片位于窗口的X坐标」「图片位于窗口的Y坐标

    透过方式有:a;和:c;

     

    要真正显示出图片要用到命令print
    print 10
    print之后的数字为effect编号

     

    要消去图片使用命令csp
    csp 0
    csp之后的数字为显示图片的编号(自定义)
    如果为csp -1的话,即为消去所有图片
    需配合print命令

     

    要预先导入图片而不显示它的话使用命令lsph
    格式同lsp

    要显示预先导入的图片使用命令vsp
    vsp 0,1即显示编号为0的图片
    vsp 0,0即不显示编号为0的图片
    需配合print命令

     

    也可以显示带色彩的文字~

    lsp 0,":s#FFFFFF雪球",120,80
    关键点:
    :s和#RGB的指定

     

    最多可同时显示50个图片

    当有重叠的时候

    最早被编辑的对象显示在最前面

    1/26/2006

    NS可以做养成游戏诶~

    欢呼>w<
    努力努力
    现在的目标是AVG+养成
    RPG的话,地图实在太痛苦了
    先作罢吧^-^
    1/25/2006

    NS变量的应用2#

    一口气设定很多变量
    说实在的这个功能目前对我而言似乎用不到啊...
     
    基本上就是有很多变量要设定的人
    对于这个代码会很有感觉^_^
     
    dim ?0[3]
    这个代码就是说
    设定变量
    ?0[0]
    ?0[1]
    ?0[2]
    ?0[3]
    通常做赋值的代码是
    mov ?0[0],10
    mov ?0[1],20
    mov ?0[2],30
    mov ?0[3],40
     
    但是用了movl ?0,10,20,30,40
    就可以一口气直接对这些变量同时进行赋值
     
    不仅可以进行一次元(X方向)设定,
    还可以进行二次元(X、Y方向)设定。
    比如说dim ?0[2][4]
    这个代码的意思就是说
    它可以利用movl
    同时对
    ?0[0][0]
    ?0[0][1]
    ?0[0][2]
    ?0[0][3]
    ?0[0][4]
     
    ?0[1][0]
    ?0[1][1]
    ?0[1][2]
    ?0[1][3]
    ?0[1][4]
     
    ?0[2][0]
    ?0[2][1]
    ?0[2][2]
    ?0[2][3]
    ?0[2][4]
    赋值
     
    这种格式的变量也可以进行四则运算
    如果想给变量起个名字以方便辨认的话也没有问题
    改天有那么多变量要设定的话
    一定要拿它来试验一下!

    NS变量的运用1#

    控制变量的最小值·最大值
    *define和*start之间输入
    intlimit %0,0,100
    0   为最小值(可自定义)
    100为最大值(可自定义)
     
    循环操作
    for %0=1 to 10
     ~
     next
    变量%0到10(可自定义)为止循环操作for与next之间的内容
    %0=1的1为初始值
    每循环一次自动加1,如果想自行设定增加的数字,则语法为
    for %0=1 to 10 step 2
     
    如果想终止循环的话,在需要终止的地方加上break
    参照以下代码:
    *define
    clickstr "」。!?",2
    game
    *start
    for %0=1 to 10
    ループ%0回目です。
    if %0=5 break
    next
    现在为第%0次循环。
    end
     
    ※无须使用goto或者select的命令来跳出循环
    即使不使用break来跳出循环,循环中所得到的数据也不会改变。
    参照以下代码:
    *define
    clickstr "」。!?",2
    game
    *start
    for %0=1 to 10
    ループ%0回目です。
    next
    现在为第%0次循环。
    end
    1/24/2006

    NS变量代码_基础

    http://ryuji.s1.xrea.com/nscr/nscr2/s3.html

    赋值

    数值变量用%表示
    文字变量用
    $ 表示
    mov %0,50
    即为将50代入数值变量0中
    mov $0,"うさぎさん"
    即为将うさぎさん代入文字变量0中
     
    %%0
    假设
    mov %0,50
    那么
    %%0%50
     
    四则运算
    add %0,20
    即为将 %0加上20,然后赋值给%0
    以次类推
    sub(减法)
    mul(乘法)
    div( 除法取整)
    mod(除法取余)
     
    add不仅可以做数值的加法,还可以做文字的合并
    假设
    mov $0,"うさぎさん"
    add $0,"かめさん"
    那么
    [$0][うさぎさんかめさん]
    其余变量代码
    inc %0add %0,1
    dec %0sub %0,1
    rnd %0,10即为从0~10里任取一个数字赋值给%0
    rnd2 %0,5,20即为从5~20里任取一个数字赋值给%0

     

    全程变量

    NS中可以分别设置1000个数值变量和文字变量.
    从变量200开始至变量999可指定为全程变量.
    这种变量即使结束游戏或者RESET
    其所得到的最新的值是不会消失的.
    可以利用这种变量的特性来指定游戏的CG读取或者标识游戏进度等等.

    *define
    globalon
    game
    *start
    全程变数为%200。@
    add %200,10
    end

     

     

    给变量取名已方便了解为何变量

    在定义区域给变量取名字:
    numalias zhongwen,0
    即为将0取名为zhongwen
    之后对 %zhongwen进行赋值
    假设
    move %zhongwen,80
    那么
    [中文分数为%zhongwen分]
    就会显示为
    [中文分数为80分]
    12/22/2005

    ABOUT NScripter

     
    这个已经有汉化版了
    下载地址见幻想森林