7 Q$ }7 F p# L
+ p# B# P8 ?0 y6 a9 ^( z; m$ H/ ?1 ^5 l0 R
& R3 W' K" A; { q d
判断角色对面是一个什么对象" q7 }( B v2 O# U" x5 ~' R. U
) [8 m! w. c7 Q0 u. y4 j4 {
/ [+ g7 D, k$ {* i# V
//检查对面站的是否是一个可结婚的对象9 X2 x+ I2 r- R+ \/ p1 C
function CheckPoseCreateCanMarry(Player: TPlayObject): Boolean;% z) F2 N$ A0 F7 S( R- c& M' x
var
, T8 l0 B# {3 E6 j+ w6 P! @ E APoseCreate: TActor;! t* W( h. g+ ?2 l: p
begin
. G7 m! A" }3 V! I9 z% ]2 S APoseCreate := Player.PoseCreate; //取得站立在对面的对象7 _. w1 k, h( g
Result := (APoseCreate <> nil) and //如果对象存在4 c7 F; K _5 g5 z( m6 \
APoseCreate.ISPlayer and //并且是一个玩家# k( ?/ E s! ?# B
(Player.Gender<>APoseCreate.Gender) and //并且是异性2 L* p4 ` }% L3 h. Z
not Player.Married and //并且是没有结婚的
+ P! V+ z' c; F6 D0 d not TPlayObject(APoseCreate).Married; //并且自己也没结婚0 ?; s# E. g) a8 E
end;
0 N3 M# ~* \# Z* y# d
; z5 U: n# i, m8 x7 Q7 V1 N5 G- Y" h- l
procedure RevMarry(Npc: TNormNpc; Player: TPlayObject; Args: TArgs);
4 r3 x1 J( N% Aconst
: T+ }; p1 y z6 i3 hS=( V5 X, T0 q" u" g- b7 n
[[
0 L' t# W5 t( M% ?! g{S=<$UserName$>;C=251}:\3 r" e. j5 g8 ]8 G
{S=<$PoseName$>;C=251}已经向你求婚!你是否愿意嫁给他?\\
# ?7 ^ o/ t2 f9 n+ A ?+ E7 a* i<我愿意/@agreeMarry> \\5 ]9 f" w: m7 x
<我不愿意/@disagreeMarry>3 R3 v) P$ O8 z
]];+ ]$ k1 Y* f; J
var
9 T; `# _* I+ t! n AMessage: String;: F9 N- l H- ^
begin& Q+ u% r. m- X) Z. F7 c6 N8 \
if CheckPoseCreateCanMarry(Player) then //检查结婚对象! \6 s1 \2 h1 E/ M% R. t7 i
begin7 Y7 i" L. f% ^+ S$ [. v- Y
AMessage := ReplaceStr(S, '<$UserName$>', Player.Name); //将消息中的标识位替换成当前玩家的名字0 c6 |0 _- a& {$ J& T
AMessage := ReplaceStr(AMessage, '<$PoseName$>', Player.PoseCreate.Name); //将消息中的标识位替换成当前玩家对面站立的角色的名字
& q2 M L. J5 q: F Npc.Say(Player, AMessage); //将消息发给玩家
; D, U4 c- Q# ~' ~8 J' ~3 u end;
( ]. }/ ?, L1 m2 w$ Vend;
: B9 P3 X2 h4 J8 M V3 r* e5 A3 X/ P& c% v9 A& q
' N+ Q- i; u l3 b
4 @5 {5 J+ F" `% ]5 @% U! j9 }& y8 W2 `% o6 _0 h. V
摘选自“脚本控制中心\功能脚本组\特殊NPC\月老”- t1 I5 D: N) o, p- Z" n8 A
7 C; {! Q. H/ G: v |