登录
×
  • 首页
  • 传奇论坛
  • 传奇版本库
  • 传奇服务端
  • 传奇三端手游
  • 传奇素材网
  • 传奇客户端
  • 下载排行
  • 获取邀请码
  • 搜索
    传奇素材网
    96212

    [其它端游引擎] 91M2引擎判断角色对面是一个什么对象脚本命令和写法

     火... [复制链接]

    [其它端游引擎] 91M2引擎判断角色对面是一个什么对象脚本命令和写法

     火... [复制链接]
    趣游论坛

    1万

    主题

    17

    回帖

    11万

    积分

    管理员

    积分
    112339

    灌水之王活跃会员突出贡献优秀版主荣誉管理论坛元老

    趣游论坛 2019-2-16 20:45:32 / 显示全部楼层 /阅读模式
    96212
    20190216203655.png

    判断角色对面是一个什么对象

    //检查对面站的是否是一个可结婚的对象
    function CheckPoseCreateCanMarry(Player: TPlayObject): Boolean;
    var
        APoseCreate: TActor;
    begin
        APoseCreate := Player.PoseCreate; //取得站立在对面的对象
        Result := (APoseCreate <> nil) and //如果对象存在
                      APoseCreate.ISPlayer and //并且是一个玩家
                      (Player.Gender<>APoseCreate.Gender) and //并且是异性
                      not Player.Married and //并且是没有结婚的
                      not TPlayObject(APoseCreate).Married; //并且自己也没结婚
    end;

    procedure RevMarry(Npc: TNormNpc; Player: TPlayObject; Args: TArgs);
    const
    S=
    [[
    {S=<$UserName$>;C=251}:\
      {S=<$PoseName$>;C=251}已经向你求婚!你是否愿意嫁给他?\\
    <我愿意/@agreeMarry> \\
    <我不愿意/@disagreeMarry>
    ]];
    var
      AMessage: String;
    begin
      if CheckPoseCreateCanMarry(Player) then //检查结婚对象
      begin
          AMessage := ReplaceStr(S, '<$UserName$>', Player.Name);  //将消息中的标识位替换成当前玩家的名字
          AMessage := ReplaceStr(AMessage, '<$PoseName$>', Player.PoseCreate.Name); //将消息中的标识位替换成当前玩家对面站立的角色的名字
          Npc.Say(Player, AMessage); //将消息发给玩家
      end;
    end;


    摘选自“脚本控制中心\功能脚本组\特殊NPC\月老”

    回复

    使用道具 举报

    cb442422

    0

    主题

    23

    回帖

    58

    积分

    注册用户

    积分
    58
    cb442422 2024-11-9 12:10:57 / 显示全部楼层
    回复 支持 反对

    使用道具 举报

    mhyxhzh

    0

    主题

    51

    回帖

    178

    积分

    注册用户

    积分
    178
    mhyxhzh 昨天 20:19 / 显示全部楼层
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

    扫一扫加群沟通交流

    首页 论坛 !mobpost! 最新 我的