找回密码
 立即注册
查看: 132|回复: 0

91M2引擎版本判断角色对面是一个什么对象教程说明

[复制链接]
  • 打卡等级:即来则安
  • 打卡总天数:18
  • 打卡月天数:7
  • 打卡总奖励:360
  • 最近打卡:2023-04-23 12:36:40

768

主题

1

回帖

769

积分

超级版主

积分
769
发表于 2023-11-8 22:05:18 | 显示全部楼层 |阅读模式
1.jpeg




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


//检查对面站的是否是一个可结婚的对象
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\月老”


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|小黑屋|白黑论坛 |网站地图

GMT+8, 2024-11-24 04:01 , Processed in 0.011366 second(s), 4 queries , Gzip On, Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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