3DMGAME 3DM首页 新闻中心 前瞻 | 评测 游戏库 热门 | 最新 攻略中心 攻略 | 秘籍 下载中心 游戏 | 汉化 购买正版 论坛

注册 登录

QQ登录

只需一步,快速开始

查看: 3449|回复: 6
打印 上一主题 下一主题

[求助] CS小白向大神求助,为什么我改的这段代码没作用?

[复制链接]

1

主题

25

帖子

299

积分

高级玩家

Rank: 4

贡献度
1
金元
2949
积分
299
精华
0
注册时间
2008-8-3
跳转到指定楼层
主题
发表于 2016-9-22 20:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我去N站下了一个召唤食物的MOD
用CS打开,里面的脚本代码是这样的

scn SummonFood
    short random

begin ScriptEffectStart

    set random to GetRandomPercent
   
    ;Message "Value = %.2f", random

    if random >= 00 &&  random <= 10
        AddItem HouseServantPie, 1
    endif

    if random >= 11 && random <= 20
        AddItem Apple, 1
    endif

    if random >= 21 && random <= 30
        AddItem Beef, 1
    endif

    if random >= 31 && random <= 40
        AddItem CheeseWheel, 1
    endif

    if random >= 41 && random <= 50
        AddItem Corn, 1
    endif

    if random >= 51 && random <= 60
        AddItem Breadloaf, 1
    endif

    if random >= 61 && random <= 70
        AddItem Venison, 1
    endif

    if random >= 71 && random <= 80
        AddItem Potato, 1
    endif

    if random >= 81 && random <= 90
        AddItem Mutton, 1
    endif

    if random >= 91 && random <= 100
        AddItem Sweetroll, 1
    endif

end

百度了一下看不懂的地方,大概了解了,是施放法术时,随机生成一个2位小数,按照小数点后两位决定得到什么食物
于是我打算修改以便有更多选择,我改成了这样

scn SummonFood
    short random

begin ScriptEffectStart

    set random to GetRandomPercent
   
    ;Message "Value = %.3f", random

    if random >= 000 &&  random <= 010
        AddItem HouseServantPie, 1
    endif

    if random >= 011 && random <= 020
        AddItem Apple, 1
    endif

    if random >= 021 && random <= 030
        AddItem Beef, 1
    endif

    if random >= 031 && random <= 040
        AddItem CheeseWheel, 1
    endif

    if random >= 041 && random <= 050
        AddItem Corn, 1
    endif

    if random >= 051 && random <= 060
        AddItem Breadloaf, 1
    endif

    if random >= 061 && random <= 070
        AddItem Venison, 1
    endif

    if random >= 071 && random <= 080
        AddItem Potato, 1
    endif

    if random >= 081 && random <= 090
        AddItem Mutton, 1
    endif

    if random >= 091 && random <= 100
        AddItem Sweetroll, 1
    endif

    if random >= 101 && random <= 110
        AddItem Strawberry, 3
    endif


end

红字是我修改和添加的部分
我打算让它生成3位小数,这样应该会有更多随机数可以生成食物
但是编译,保存,进游戏以后
发现不管怎么施放法术都无法激活红字那一段
请问这是什么原因?我应该怎么办?

回复

使用道具 举报

18

主题

721

帖子

965

积分

超级玩家

小菜虎

Rank: 5Rank: 5

贡献度
103
金元
5529
积分
965
精华
0
注册时间
2003-11-28
舒服的沙发
发表于 2016-9-29 20:59 | 只看该作者
本帖最后由 cainiaoxp 于 2016-9-29 21:01 编辑

难得现在还有琢磨这个的。
random函数是专门用来生成0~99之间的随机整数的。如果要生成3位数,可以改用rand函数,不过这个函数貌似生成的是float
比如:set random to rand 0 110
message这个函数是用来在屏幕上显示消息的,而且已经被注释掉了。
顺便给你一个网址,可以在上面查询老滚4的函数,不过需要穿越。
http://cs.elderscrolls.com/index.php?title=Main_Page
回复 支持 反对

使用道具 举报

1

主题

25

帖子

299

积分

高级玩家

Rank: 4

贡献度
1
金元
2949
积分
299
精华
0
注册时间
2008-8-3
硬硬的板凳
 楼主| 发表于 2016-10-2 19:23 | 只看该作者
cainiaoxp 发表于 2016-9-29 20:59
难得现在还有琢磨这个的。
random函数是专门用来生成0~99之间的随机整数的。如果要生成3位数,可以改用ran ...

实在是非常感谢你的解答,我去CS的WIKI专门看了下,现在已经搞定了,而且我竟然实力眼瞎,没看到那个注释的分号,谢谢你
回复 支持 反对

使用道具 举报

0

主题

676

帖子

764

积分

超级玩家

Rank: 5Rank: 5

贡献度
0
金元
7638
积分
764
精华
0
注册时间
2016-12-8
冰凉的地板
发表于 2016-12-19 20:05 | 只看该作者
努力升级赚积分(⊙o⊙)…
回复 支持 反对

使用道具 举报

0

主题

74

帖子

135

积分

中级玩家

Rank: 3Rank: 3

贡献度
0
金元
1350
积分
135
精华
0
注册时间
2016-6-30
5#
发表于 2016-12-24 17:49 来自手机 | 只看该作者
不懂啊 代码
回复 支持 反对

使用道具 举报

0

主题

74

帖子

135

积分

中级玩家

Rank: 3Rank: 3

贡献度
0
金元
1350
积分
135
精华
0
注册时间
2016-6-30
6#
发表于 2016-12-24 17:49 来自手机 | 只看该作者
不懂啊 代码
回复 支持 反对

使用道具 举报

0

主题

676

帖子

764

积分

超级玩家

Rank: 5Rank: 5

贡献度
0
金元
7638
积分
764
精华
0
注册时间
2016-12-8
7#
发表于 2016-12-31 19:48 | 只看该作者
努力升级赚积分(⊙o⊙)…
回复 支持 反对

使用道具 举报

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

本版积分规则

Archiver|手机版|3DMGAME ( 京ICP备14006952号-1  沪公网安备 31011202006753号

GMT+8, 2025-2-1 06:10 , Processed in 0.214431 second(s), 14 queries , Memcache On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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