91M2引擎版本判断角色对面是一个什么对象教程说明
判断角色对面是一个什么对象
//检查对面站的是否是一个可结婚的对象
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\月老” 这个帖子不回对不起自己! 传奇论坛里面相对来说比较好的一个! 感谢站长分享传奇脚本,让我学习到很多知识。 这个帖子不回对不起自己! 下次在来看脚本 这东西我收了! 下次在来看脚本 这东西我收了! 比较全的传奇脚本分享网站,站长辛苦了。