91引擎爱好者论坛

 找回密码
 立即注册
热搜: 91引擎
查看: 3102|回复: 12

帮忙看看新手问题

[复制链接]
  • TA的每日心情
    无聊
    2023-6-24 09:06
  • 签到天数: 133 天

    连续签到: 1 天

    [LV.7]常住居民III

    3

    主题

    144

    帖子

    985

    积分

    高级会员

    Rank: 4

    积分
    985
    发表于 2022-8-23 20:12:53 | 显示全部楼层 |阅读模式
    1金币
    本帖最后由 fanyun007 于 2022-8-23 22:09 编辑




    GameLib.onStdModeFunc = (Player : TPlayObject , UserItem : TUserItem , Accept : boolean) => boolean {

    }

    这里boolean 有红色下标为什么报错啊!按照帮助文件写的!
    请大家看看

    回复

    使用道具 举报

  • TA的每日心情

    2023-4-5 23:35
  • 签到天数: 222 天

    连续签到: 1 天

    [LV.7]常住居民III

    66

    主题

    317

    帖子

    4478

    积分

    超级版主

    Rank: 8Rank: 8

    积分
    4478
    发表于 2022-8-23 23:04:21 | 显示全部楼层
    一旦有返回值的时候,函数里面必须强制给一个 return值

    GameLib.onStdModeFunc = (Player : TPlayObject , UserItem : TUserItem , Accept : boolean) : boolean  =>{
            //true 为触发后删除物品,false为不删除物品
            return true
        }

    接91m2引擎脚本开发,联系QQ:3071633813
    回复

    使用道具 举报

  • TA的每日心情

    4 天前
  • 签到天数: 277 天

    连续签到: 1 天

    [LV.8]以坛为家I

    27

    主题

    321

    帖子

    1896

    积分

    金牌会员

    Rank: 6Rank: 6

    积分
    1896
    发表于 2022-8-23 23:31:32 | 显示全部楼层
    星夜大佬正解啊....


    你得返回值是 BOOLEAN  也就是0和1   必须有得     而你{}内没有任何返回值  所以报错...
    没有返回值得 后面的  Boolean 一般是 viod   具体看你怎么写了..
    回复

    使用道具 举报

  • TA的每日心情
    慵懒
    7 天前
  • 签到天数: 135 天

    连续签到: 1 天

    [LV.7]常住居民III

    6

    主题

    177

    帖子

    1025

    积分

    实习版主

    Rank: 7Rank: 7Rank: 7

    积分
    1025
    发表于 2022-8-24 14:21:55 | 显示全部楼层
    具体代码发出来看看 才能判断
    回复

    使用道具 举报

  • TA的每日心情
    无聊
    2023-6-24 09:06
  • 签到天数: 133 天

    连续签到: 1 天

    [LV.7]常住居民III

    3

    主题

    144

    帖子

    985

    积分

    高级会员

    Rank: 4

    积分
    985
     楼主| 发表于 2022-8-24 20:10:24 | 显示全部楼层
    独家记忆 发表于 2022-8-24 14:21
    具体代码发出来看看 才能判断

    GameLib.onStdModeFunc = (Player : TPlayObject , UserItem : TUserItem , Accept : boolean):boolean =>  {

        switch (UserItem.StdMode) {
            case 31:
                if (UserItem.Name == '金条') {
                    Player.Give('金币', 1000000)
                    return true
                }





        }

    }
    回复

    使用道具 举报

  • TA的每日心情
    无聊
    2023-6-24 09:06
  • 签到天数: 133 天

    连续签到: 1 天

    [LV.7]常住居民III

    3

    主题

    144

    帖子

    985

    积分

    高级会员

    Rank: 4

    积分
    985
     楼主| 发表于 2022-8-24 20:11:43 | 显示全部楼层
    flierguo 发表于 2022-8-23 23:31
    星夜大佬正解啊....

    GameLib.onStdModeFunc = (Player : TPlayObject , UserItem : TUserItem , Accept : boolean):boolean =>  {

        switch (UserItem.StdMode) {
            case 31:
                if (UserItem.Name == '金条') {
                    Player.Give('金币', 1000000)
                    return true
                }





        }

    }
    这样:boolean 还是显示下面显示波浪    提示并非所有代码路径都返回值
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2022-11-11 10:57
  • 签到天数: 126 天

    连续签到: 23 天

    [LV.7]常住居民III

    26

    主题

    182

    帖子

    626

    积分

    高级会员

    Rank: 4

    积分
    626
    发表于 2022-8-24 22:44:29 | 显示全部楼层
    fanyun007 发表于 2022-8-24 20:11
    GameLib.onStdModeFunc = (Player : TPlayObject , UserItem : TUserItem , Accept : boolean):boolean = ...

    return 要写到switch外面才是这个函数的返回值
    回复

    使用道具 举报

  • TA的每日心情

    6 天前
  • 签到天数: 227 天

    连续签到: 1 天

    [LV.7]常住居民III

    6

    主题

    246

    帖子

    2061

    积分

    金牌会员

    Rank: 6Rank: 6

    积分
    2061
    发表于 2022-8-25 03:43:55 | 显示全部楼层
    return 要写到switch外面才是这个函数的返回值
    回复

    使用道具 举报

  • TA的每日心情

    2023-4-5 23:35
  • 签到天数: 222 天

    连续签到: 1 天

    [LV.7]常住居民III

    66

    主题

    317

    帖子

    4478

    积分

    超级版主

    Rank: 8Rank: 8

    积分
    4478
    发表于 2022-8-25 11:50:17 | 显示全部楼层
    [TypeScript] 纯文本查看 复制代码
    GameLib.onStdModeFunc = (Player : TPlayObject , UserItem : TUserItem , Accept : boolean):boolean =>  {
    
            switch (UserItem.StdMode) {
                case 31:
                    if (UserItem.Name == '金条') {
                        Player.Give('金币', 1000000)
                        //return true  因为下边有一个return true 所以这里就不需要重复了
                    }
                    break//别忘了加个break,节省资源
            }
    
            //这个是我加上去的,为了避免乱七八糟的BUG,在不确定这个物品是啥之前,一律在使用后给他删除掉。如果不想删除的物品,在case节点那里专门给他返回一个false就行了。
            return true
        }
    接91m2引擎脚本开发,联系QQ:3071633813
    回复

    使用道具 举报

  • TA的每日心情

    2023-4-5 23:35
  • 签到天数: 222 天

    连续签到: 1 天

    [LV.7]常住居民III

    66

    主题

    317

    帖子

    4478

    积分

    超级版主

    Rank: 8Rank: 8

    积分
    4478
    发表于 2022-8-25 12:12:20 | 显示全部楼层
    [TypeScript] 纯文本查看 复制代码
    
    //也可以这么写
    GameLib.onStdModeFunc = (Player: TPlayObject, UserItem: TUserItem, Accept: boolean): boolean => {
            switch (UserItem.Name) {
                case '金条':
                    Player.Give('金币', 1000000)
                    //return true  因为下边有一个return true 所以这里就不需要重复了      
                    break//别忘了加个break,节省资源
                case '银条':
                    Player.Give('银币', 1000000)
                    break
                case '回城石':
                    Player.Move(`盟重土城`,330,330)
                    return false
            }
    
            //这个是我加上去的,为了避免乱七八糟的BUG,在不确定这个物品是啥之前,一律在使用后给他删除掉。如果不想删除的物品,在case节点那里专门给他返回一个false就行了。
            return true
        }
    接91m2引擎脚本开发,联系QQ:3071633813
    回复

    使用道具 举报

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

    本版积分规则

    Archiver|手机版|小黑屋|妖孽游戏素材网|91引擎爱好者

    GMT+8, 2024-3-29 02:51 , Processed in 0.099443 second(s), 27 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2020, Tencent Cloud.

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