脚本示例
礼盒赠送脚本
赠送鲜花/礼盒类完整脚本:输入赠送对象、检测在线、放入物品后赠送并给双方发奖。
用途
参考脚本,可供制作赠送鲜花、十全十美礼盒、周年庆积分等特色玩法:由赠送者输入对方名字,检测对方是否在线,把物品放进对话框后送出,并给双方发放积分或奖励装备。
参考脚本
脚本:此脚本可供用户参考制作防盛大赠送鲜花,十全十美礼盒,周年庆积分等等特色脚本。
[@main]
你想做什么?\
<我要赠送/@赠送> <获取装备/@装备>\
<离开/@exit>
[@装备]
#ACT
GIVEEX 屠龙 10=1,1=2,2=3,3=4,4=5,5=6,6=7,7=8,14=9,15=10
GIVEEX 嗜魂法杖 10=1,1=2,2=3,3=4,4=5,5=6,6=7,7=8,14=9,15=10
GIVEEX 道德戒指 10=1,1=2,2=3,3=4,4=5,5=6,6=7,7=8,14=9,15=10
GIVEEX 珊瑚戒指 10=1,1=2,2=3,3=4,4=5,5=6,6=7,7=8,14=9,15=10
GIVEEX 死神手套 10=1,1=2,2=3,3=4,4=5,5=6,6=7,7=8,14=9,15=10
GIVEEX 铁手镯 10=1,1=2,2=3,3=4,4=5,5=6,6=7,7=8,14=9,15=10
GIVEEX 灯笼项链 10=1,1=2,2=3,3=4,4=5,5=6,6=7,7=8,14=9,15=10
GIVEEX 蓝翡翠项链 10=1,1=2,2=3,3=4,4=5,5=6,6=7,7=8,14=9,15=10
[@赠送]
#IF
#ACT
QUERYVALUE 2 0 14 @检测 朋友越多,快乐越多,千金易得,挚友难求啊!请输入赠送对象名称: QF
[@检测]
#IF
EQUAL S2 <$USERNAME>
#ACT
MessageBox 不能对自己发送赠送。
BREAK
#IF
CHECKONLINE <$STR(S2)>
#ACT
DELAYCALL 10 @DELAY_UPGRADEDLGITEM
#ELSEACT
MessageBox <$STR(S2)>\不在线,你不能赠送!
[@DELAY_UPGRADEDLGITEM]
#ACT
QUERYITEMDLG 请放入赠送物品 @CHECKDLGITEMTYPE 0
[@CHECKDLGITEMTYPE]
#IF
CHECKDLGITEMTYPE WEAPON
CHECKONLINE <$STR(S2)>
#ACT
SENDMSG 0 <$STR(S2)>收到了友人:<$USERNAME>,赠送的:<$DLGITEMNAME> 246 245
GETDLGITEMVALUE M1 0
GETDLGITEMVALUE M2 1
GETDLGITEMVALUE M3 2
GETDLGITEMVALUE M4 3
GETDLGITEMVALUE M5 4
GETDLGITEMVALUE M6 5
GETDLGITEMVALUE M7 6
GETDLGITEMVALUE M8 7
GETDLGITEMVALUE M9 14
GETDLGITEMVALUE M1015
<$STR(S2)>.GIVEEX<$DLGITEMNAME>10=<$STR(M1)>,1=<$STR(M2)>,2=<$STR(M3)>,3=<$STR(M4)>,4=<$STR(M5)>,5=<$STR(M6)>,6=<$STR(M7)>,7=<$STR(M8)>,14=<$STR(M9)>,15=<$STR(M10)>
<$STR(S2)>.SENDMSG 5 你收到了友人赠送的:<$DLGITEMNAME>
MOV M1 0
MOV M2 0
MOV M3 0
MOV M4 0
MOV M5 0
MOV M6 0
MOV M7 0
MOV M8 0
MOV M9 0
MOV M10 0
TAKEDLGITEM
CLOSE
BREAK
#IF
CHECKDLGITEMTYPE DRESS
CHECKONLINE <$STR(S2)>
#ACT
SENDMSG 0 <$STR(S2)>收到了友人:<$USERNAME>,赠送的:<$DLGITEMNAME> 246 245
GETDLGITEMVALUE M1 0
GETDLGITEMVALUE M2 1
GETDLGITEMVALUE M3 2
GETDLGITEMVALUE M4 3
GETDLGITEMVALUE M5 4
GETDLGITEMVALUE M9 14
GETDLGITEMVALUE M1015
<$STR(S2)>.GIVEEX<$DLGITEMNAME>10=<$STR(M1)>,1=<$STR(M2)>,2=<$STR(M3)>,3=<$STR(M4)>,4=<$STR(M5)>,14=<$STR(M9)>,15=<$STR(M10)>
<$STR(S2)>.SENDMSG 5 你收到了友人赠送的:<$DLGITEMNAME>
MOV M1 0
MOV M2 0
MOV M3 0
MOV M4 0
MOV M5 0
MOV M9 0
MOV M10 0
TAKEDLGITEM
CLOSE
BREAK
#IF
CHECKDLGITEMTYPE MEDAL
CHECKONLINE <$STR(S2)>
#ACT
SENDMSG 0 <$STR(S2)>收到了友人:<$USERNAME>,赠送的:<$DLGITEMNAME> 246 245
GETDLGITEMVALUE M1 0
GETDLGITEMVALUE M2 1
GETDLGITEMVALUE M3 2
GETDLGITEMVALUE M4 3
GETDLGITEMVALUE M5 4
GETDLGITEMVALUE M9 14
GETDLGITEMVALUE M1015
<$STR(S2)>.GIVEEX<$DLGITEMNAME>10=<$STR(M1)>,1=<$STR(M2)>,2=<$STR(M3)>,3=<$STR(M4)>,4=<$STR(M5)>,14=<$STR(M9)>,15=<$STR(M10)>
<$STR(S2)>.SENDMSG 5 你收到了友人赠送的:<$DLGITEMNAME>
MOV M1 0
MOV M2 0
MOV M3 0
MOV M4 0
MOV M5 0
MOV M9 0
MOV M10 0
TAKEDLGITEM
CLOSE
BREAK
#IF
CHECKDLGITEMTYPE NECKLACE
CHECKONLINE <$STR(S2)>
#ACT
SENDMSG 0 <$STR(S2)>收到了友人:<$USERNAME>,赠送的:<$DLGITEMNAME> 246 245
GETDLGITEMVALUE M1 0
GETDLGITEMVALUE M2 1
GETDLGITEMVALUE M3 2
GETDLGITEMVALUE M4 3
GETDLGITEMVALUE M5 4
GETDLGITEMVALUE M9 14
GETDLGITEMVALUE M1015
<$STR(S2)>.GIVEEX<$DLGITEMNAME>10=<$STR(M1)>,1=<$STR(M2)>,2=<$STR(M3)>,3=<$STR(M4)>,4=<$STR(M5)>,14=<$STR(M9)>,15=<$STR(M10)>
<$STR(S2)>.SENDMSG 5 你收到了友人赠送的:<$DLGITEMNAME>
MOV M1 0
MOV M2 0
MOV M3 0
MOV M4 0
MOV M5 0
MOV M9 0
MOV M10 0
TAKEDLGITEM
CLOSE
BREAK
#IF
CHECKDLGITEMTYPE HELMET
CHECKONLINE <$STR(S2)>
#ACT
SENDMSG 0 <$STR(S2)>收到了友人:<$USERNAME>,赠送的:<$DLGITEMNAME> 246 245
GETDLGITEMVALUE M1 0
GETDLGITEMVALUE M2 1
GETDLGITEMVALUE M3 2
GETDLGITEMVALUE M4 3
GETDLGITEMVALUE M5 4
GETDLGITEMVALUE M9 14
GETDLGITEMVALUE M1015
<$STR(S2)>.GIVEEX<$DLGITEMNAME>10=<$STR(M1)>,1=<$STR(M2)>,2=<$STR(M3)>,3=<$STR(M4)>,4=<$STR(M5)>,14=<$STR(M9)>,15=<$STR(M10)>
<$STR(S2)>.SENDMSG 5 你收到了友人赠送的:<$DLGITEMNAME>
MOV M1 0
MOV M2 0
MOV M3 0
MOV M4 0
MOV M5 0
MOV M9 0
MOV M10 0
TAKEDLGITEM
CLOSE
BREAK
#IF
CHECKDLGITEMTYPE ARMRING
CHECKONLINE <$STR(S2)>
#ACT
SENDMSG 0 <$STR(S2)>收到了友人:<$USERNAME>,赠送的:<$DLGITEMNAME> 246 245
GETDLGITEMVALUE M1 0
GETDLGITEMVALUE M2 1
GETDLGITEMVALUE M3 2
GETDLGITEMVALUE M4 3
GETDLGITEMVALUE M5 4
GETDLGITEMVALUE M9 14
GETDLGITEMVALUE M1015
<$STR(S2)>.GIVEEX<$DLGITEMNAME>10=<$STR(M1)>,1=<$STR(M2)>,2=<$STR(M3)>,3=<$STR(M4)>,4=<$STR(M5)>,14=<$STR(M9)>,15=<$STR(M10)>
<$STR(S2)>.SENDMSG 5 你收到了友人赠送的:<$DLGITEMNAME>
MOV M1 0
MOV M2 0
MOV M3 0
MOV M4 0
MOV M5 0
MOV M9 0
MOV M10 0
TAKEDLGITEM
CLOSE
BREAK
#IF
CHECKDLGITEMTYPE RING
CHECKONLINE <$STR(S2)>
#ACT
SENDMSG 0 <$STR(S2)>收到了友人:<$USERNAME>,赠送的:<$DLGITEMNAME> 246 245
GETDLGITEMVALUE M1 0
GETDLGITEMVALUE M2 1
GETDLGITEMVALUE M3 2
GETDLGITEMVALUE M4 3
GETDLGITEMVALUE M5 4
GETDLGITEMVALUE M9 14
GETDLGITEMVALUE M1015
<$STR(S2)>.GIVEEX<$DLGITEMNAME>10=<$STR(M1)>,1=<$STR(M2)>,2=<$STR(M3)>,3=<$STR(M4)>,4=<$STR(M5)>,14=<$STR(M9)>,15=<$STR(M10)>
<$STR(S2)>.SENDMSG 5 你收到了友人赠送的:<$DLGITEMNAME>
MOV M1 0
MOV M2 0
MOV M3 0
MOV M4 0
MOV M5 0
MOV M9 0
MOV M10 0
TAKEDLGITEM
CLOSE
BREAK
#IF
CHECKDLGITEMTYPE BOOTS
CHECKONLINE <$STR(S2)>
#ACT
SENDMSG 0 <$STR(S2)>收到了友人:<$USERNAME>,赠送的:<$DLGITEMNAME> 246 245
GETDLGITEMVALUE M1 0
GETDLGITEMVALUE M2 1
GETDLGITEMVALUE M3 2
GETDLGITEMVALUE M4 3
GETDLGITEMVALUE M5 4
GETDLGITEMVALUE M9 14
GETDLGITEMVALUE M1015
<$STR(S2)>.GIVEEX<$DLGITEMNAME>10=<$STR(M1)>,1=<$STR(M2)>,2=<$STR(M3)>,3=<$STR(M4)>,4=<$STR(M5)>,14=<$STR(M9)>,15=<$STR(M10)>
<$STR(S2)>.SENDMSG 5 你收到了友人赠送的:<$DLGITEMNAME>
MOV M1 0
MOV M2 0
MOV M3 0
MOV M4 0
MOV M5 0
MOV M9 0
MOV M10 0
TAKEDLGITEM
CLOSE
BREAK
#IF
CHECKDLGITEMTYPE BELT
CHECKONLINE <$STR(S2)>
#ACT
SENDMSG 0 <$STR(S2)>收到了友人:<$USERNAME>,赠送的:<$DLGITEMNAME> 246 245
GETDLGITEMVALUE M1 0
GETDLGITEMVALUE M2 1
GETDLGITEMVALUE M3 2
GETDLGITEMVALUE M4 3
GETDLGITEMVALUE M5 4
GETDLGITEMVALUE M9 14
GETDLGITEMVALUE M1015
<$STR(S2)>.GIVEEX<$DLGITEMNAME>10=<$STR(M1)>,1=<$STR(M2)>,2=<$STR(M3)>,3=<$STR(M4)>,4=<$STR(M5)>,14=<$STR(M9)>,15=<$STR(M10)>
<$STR(S2)>.SENDMSG 5 你收到了友人赠送的:<$DLGITEMNAME>
MOV M1 0
MOV M2 0
MOV M3 0
MOV M4 0
MOV M5 0
MOV M9 0
MOV M10 0
TAKEDLGITEM
CLOSE
BREAK
#IF
CHECKONLINE <$STR(S2)>
#ACT
SENDMSG 0 <$STR(S2)>收到了友人:<$USERNAME>,赠送的:<$DLGITEMNAME> 246 245
<$STR(S2)>.GIVE <$DLGITEMNAME> 1
<$STR(S2)>.SENDMSG 5 你收到了友人赠送的:<$DLGITEMNAME>
TAKEDLGITEM
CLOSE
#ELSEACT
MessageBox <$STR(S2)>\不在线,你不能赠送!
CLOSE
关键点
- 输入对象用
QUERYVALUE 2 0 14 @检测 ... QF(答案落到S2),随后用EQUAL S2 <$USERNAME>防止送给自己、用CHECKONLINE <$STR(S2)>判断对方是否在线。 - 放物品用
QUERYITEMDLG 请放入赠送物品 @CHECKDLGITEMTYPE 0打开物品框,再用CHECKDLGITEMTYPE判断物品类型、GETDLGITEMVALUE读取物品属性后发放。 [@装备]段用GIVEEX 物品名 属性位置=值,...批量发放带极品属性的奖励装备(攻击/魔法/道术/防御等位置逐项给出)。- 赠送成功用
SENDMSG 0 ... 246 245全服播报,并给双方加积分([@赠送]/[@检测]分支)。
