- 精华
- 阅读权限
- 110
- 好友
- 相册
- 分享
- 听众
- 收听
- 注册时间
- 2011-9-3
- 在线时间
- 小时
- 最后登录
- 1970-1-1
|
新春纪念npc,主要活动祝福卡题字,玫瑰花活动,以及新年卡片兑换活动
from BXQT import *
from whrandom import randint
ID_FUHUO = 791
ID_CARD = 884
ID_ROSE = 1022
CARD_NAME = '祝福卡'
ID_BAOSHI = [1578,
1584]
def OnClick(npc, ply, step, slt):
if (ply.TalkStep == 0):
ply.Tell(('#3%s#0:\n\n新年快到了,客官可要送点礼物给你的朋友?我可以帮你在#3祝福卡#0上题上你的名字,送给你朋友的话肯定能增进你们之间的友情哦!\n用朋友送你的#3祝福卡#0还能在小店处换取新年礼品哦!\n在题字的时候我只收取客官一朵#3玫瑰花#0,需要的就快来吧!\n\n#S#5我要在#0#3祝福卡#0#5上题字#0#E\n\n#S#5我要用#0#3祝福卡#0#5换取奖品#0#E\n\n#S#5统计自己已经制作的#0#3祝福卡#0#5数量#0#E\n\n#S#5购买玫瑰花#0#E #S#5关闭#0#E' % npc.Name))
ply.TalkStep = 1
elif (ply.TalkStep == 1):
if (slt == 0):
if ply.GetGoodsBar(0, 0).IsValid:
GOODS = ply.GetGoodsBar(0, 0)
if (GOODS.Id != ID_CARD):
ply.SingleTell(('#3%s#0:\n\n客官要在#3祝福卡#0上题字的话就把#3祝福卡#0放在物品栏的第一格,并带上一朵#3玫瑰花#0再来吧!' % npc.Name))
else:
i = ply.CountGoodsAtBar(ID_ROSE)
if (i >= 1):
if (GOODS.GetProperty(15, 0) == 0):
ply.DelGoodsAtBar(ID_ROSE, 1)
ply.GetGoodsBar(0, 0).EnableBuy = 1
GOODS.Name = ('%s的%s' % (ply.Name,
CARD_NAME))
GOODS.SetProperty(15, 0, ply.RoleID_DB)
eve107 = ply.GetEvent(107)
ply.SetEvent(107, (eve107 + 1))
ply.SingleTell(('#3%s#0:\n\n客官,我已经帮你在这张#3祝福卡#0上题上了你的名字!' % npc.Name))
ply.SendTipInfo('下线再上就能看出卡上的签名了!')
else:
ply.SingleTell(('#3%s#0:\n\n客官,你这张#3祝福卡#0上已经题过字了哦!' % npc.Name))
else:
ply.SingleTell(('#3%s#0:\n\n客官要在#3祝福卡#0上题字的话就把#3祝福卡#0放在物品栏的第一格,并带上一朵#3玫瑰花#0再来吧!' % npc.Name))
else:
ply.SingleTell(('#3%s#0:\n\n客官要在#3祝福卡#0上题字的话就把#3祝福卡#0放在物品栏的第一格,并带上一朵#3玫瑰花#0再来吧!' % npc.Name))
elif (slt == 1):
ply.Tell(('#3%s#0:\n\n用朋友送你的#3祝福卡#0可以在小店处换取新年礼品哦!\n每次兑换礼品都需要携带不同朋友赠送的题过字的祝福卡,按携带卡的数量分别可以按以下规则兑换礼品:\n\n#S#5携带#32~10#0张卡,每#32#0张卡能兑换#31#0瓶复活药#0#E\n\n#S#5携带#311~20#0张卡,每#31#0张卡能换#3100万#0经验#0#E\n\n#S#5携带#321~30#0张卡,每#33#0张卡能兑换#31颗#0宝石#0#E\n\n#S#5关闭#0#E' % npc.Name))
ply.TalkStep = 2
elif (slt == 2):
ply.Tell(('#3%s#0:\n\n你已经制作了#3%d#0张祝福卡!\n每做完#350#0张后能够得到100W点经验的奖励,你想现在兑换奖励吗?\n\n#S#5确定#0#E\n\n#S#5关闭#0#E' % (npc.Name,
ply.GetEvent(107))))
ply.TalkStep = 3
elif (slt == 3):
ply.Tell(('#3%s#0:\n\n新年到了,小店准备了一批玫瑰花,#3500#0雪币一朵,客官不买些花送给朋友吗?\n\n#S#5购买玫瑰花#0#E\n\n#S#5关闭#0#E' % npc.Name))
ply.TalkStep = 4
else:
ply.EndTalk()
elif (ply.TalkStep == 2):
if (slt == 0):
ply.Tell(('#3%s#0:\n\n请选择你需要兑换的#3祝福卡#0张数\n\n#S#52张#0#E\n\n#S#54张#0#E\n\n#S#56张#0#E\n\n#S#58张#0#E\n\n#S#510张#0#E\n\n#S#5关闭#0#E' % npc.Name))
ply.TalkStep = 5
elif (slt == 1):
ply.Tell(('#3%s#0:\n\n请选择你需要兑换的#3祝福卡#0张数\n\n#S#511张#0#E #S#512张#0#E #S#513张#0#E #S#514张#0#E\n\n#S#515张#0#E #S#516张#0#E #S#517张#0#E #S#518张#0#E\n\n#S#519张#0#E #S#520张#0#E\n\n#S#5关闭#0#E' % npc.Name))
ply.TalkStep = 6
elif (slt == 2):
ply.Tell(('#3%s#0:\n\n请选择你需要兑换的#3祝福卡#0张数\n\n#S#521张#0#E #S#524张#0#E\n\n#S#527张#0#E #S#530张#0#E\n\n#S#5关闭#0#E' % npc.Name))
ply.TalkStep = 7
else:
ply.EndTalk()
elif (ply.TalkStep == 3):
if (slt == 0):
eve107 = ply.GetEvent(107)
if (eve107 >= 50):
ply.SetEvent(107, (eve107 - 50))
ply.Exp = (ply.Exp + 1000000)
ply.SingleTell(('#3%s#0:\n\n你已经得到#3100万 #0点经验的奖励!' % npc.Name))
else:
ply.SingleTell(('#3%s#0:\n\n你尚未制作满#350#0张祝福卡!' % npc.Name))
else:
ply.EndTalk()
elif (ply.TalkStep == 4):
if (slt == 0):
i = 0
while (i <= 3):
j = 0
while (j <= 9):
if ply.GetGoodsBar(j, i).IsValid:
j = (j + 1)
elif (ply.Money >= 500):
ply.AddMoney(-500)
ply.GiveGoods2Bar(ID_ROSE, 0)
ply.Tell(('#3%s#0:\n\n小店现在出售玫瑰花,#3200#0雪币一朵,客官不买些花送给朋友吗?\n\n#S#5购买玫瑰花#0#E\n\n#S#5关闭#0#E' % npc.Name))
ply.TalkStep = 4
return 0
else:
ply.SingleTell(('#3%s#0:\n\n 你身上没有足够的雪币了!' % npc.Name))
return 0
i = (i + 1)
ply.SingleTell(('#3%s#0:\n\n 你身上没有多余的地方了!' % npc.Name))
else:
ply.EndTalk()
elif (ply.TalkStep == 5):
if (slt <= 4):
i = 0
while (i < ((slt + 1) * 2)):
if ply.GetGoodsBar(i, 0).IsValid:
GOODS = ply.GetGoodsBar(i, 0)
if (GOODS.Id == ID_CARD):
if ((GOODS.GetProperty(15, 0) != 0) and (GOODS.GetProperty(15, 0) != ply.RoleID_DB)):
i = (i + 1)
else:
ply.SingleTell(('#3%s#0:\n\n如果要兑换礼品的话,请携带你朋友赠送的签过名字的祝福卡。' % npc.Name))
ply.SendTipInfo('请将你要兑换的祝福卡先行后列依次排列在物品栏内')
return 0
else:
ply.SingleTell(('#3%s#0:\n\n如果要兑换礼品的话,请携带你朋友赠送的签过名字的祝福卡。' % npc.Name))
ply.SendTipInfo('请将你要兑换的祝福卡先行后列依次排列在物品栏内')
return 0
else:
ply.SingleTell(('#3%s#0:\n\n如果要兑换礼品的话,请携带你朋友赠送的签过名字的祝福卡。' % npc.Name))
ply.SendTipInfo('请将你要兑换的祝福卡先行后列依次排列在物品栏内')
return 0
ply.DelGoodsAtBar(ID_CARD, ((slt + 1) * 2))
j = 0
while (j <= slt):
ply.GiveGoods2Bar(ID_FUHUO, 0)
j = (j + 1)
ply.SingleTell(('#3%s#0:\n\n你兑换了#3%d#0张祝福卡,得到了#3%d#0瓶复活药!' % (npc.Name,
((slt + 1) * 2),
(slt + 1))))
else:
ply.EndTalk()
elif (ply.TalkStep == 6):
if (slt <= 9):
i = 0
while (i <= 9):
if ply.GetGoodsBar(i, 0).IsValid:
GOODS = ply.GetGoodsBar(i, 0)
if (GOODS.Id == ID_CARD):
if ((GOODS.GetProperty(15, 0) != 0) and (GOODS.GetProperty(15, 0) != ply.RoleID_DB)):
i = (i + 1)
else:
ply.SingleTell(('#3%s#0:\n\n如果要兑换礼品的话,请携带你朋友赠送的签过名字的祝福卡。' % npc.Name))
ply.SendTipInfo('请将你要兑换的祝福卡先行后列依次排列在物品栏内')
return 0
else:
ply.SingleTell(('#3%s#0:\n\n如果要兑换礼品的话,请携带你朋友赠送的签过名字的祝福卡。' % npc.Name))
ply.SendTipInfo('请将你要兑换的祝福卡先行后列依次排列在物品栏内')
return 0
else:
ply.SingleTell(('#3%s#0:\n\n如果要兑换礼品的话,请携带你朋友赠送的签过名字的祝福卡。' % npc.Name))
ply.SendTipInfo('请将你要兑换的祝福卡先行后列依次排列在物品栏内')
return 0
j = 0
while (j <= slt):
if ply.GetGoodsBar(j, 1).IsValid:
GOODS = ply.GetGoodsBar(j, 1)
if (GOODS.Id == ID_CARD):
if ((GOODS.GetProperty(15, 0) != 0) and (GOODS.GetProperty(15, 0) != ply.RoleID_DB)):
j = (j + 1)
else:
ply.SingleTell(('#3%s#0:\n\n如果要兑换礼品的话,请携带你朋友赠送的签过名字的祝福卡。' % npc.Name))
ply.SendTipInfo('请将你要兑换的祝福卡先行后列依次排列在物品栏内')
return 0
else:
ply.SingleTell(('#3%s#0:\n\n如果要兑换礼品的话,请携带你朋友赠送的签过名字的祝福卡。' % npc.Name))
ply.SendTipInfo('请将你要兑换的祝福卡先行后列依次排列在物品栏内')
return 0
else:
ply.SingleTell(('#3%s#0:\n\n如果要兑换礼品的话,请携带你朋友赠送的签过名字的祝福卡。' % npc.Name))
return 0
ply.DelGoodsAtBar(ID_CARD, (slt + 11))
h = 0
while (h < (slt + 11)):
ply.Exp = (ply.Exp + 1000000)
h = (h + 1)
ply.SingleTell(('#3%s#0:\n\n你兑换了#3%d#0张祝福卡,得到了#3%d#0点经验奖励' % (npc.Name,
(slt + 11),
((slt + 11) * 1000000))))
else:
ply.EndTalk()
elif (ply.TalkStep == 7):
if (slt <= 3):
i = 0
while (i <= 9):
if ply.GetGoodsBar(i, 0).IsValid:
GOODS = ply.GetGoodsBar(i, 0)
if (GOODS.Id == ID_CARD):
if ((GOODS.GetProperty(15, 0) != 0) and (GOODS.GetProperty(15, 0) != ply.RoleID_DB)):
i = (i + 1)
else:
ply.SingleTell(('#3%s#0:\n\n如果要兑换礼品的话,请携带你朋友赠送的签过名字的祝福卡。' % npc.Name))
ply.SendTipInfo('请将你要兑换的祝福卡先行后列依次排列在物品栏内')
return 0
else:
ply.SingleTell(('#3%s#0:\n\n如果要兑换礼品的话,请携带你朋友赠送的签过名字的祝福卡。' % npc.Name))
ply.SendTipInfo('请将你要兑换的祝福卡先行后列依次排列在物品栏内')
return 0
else:
ply.SingleTell(('#3%s#0:\n\n如果要兑换礼品的话,请携带你朋友赠送的签过名字的祝福卡。' % npc.Name))
return 0
j = 0
while (j <= 9):
if ply.GetGoodsBar(j, 1).IsValid:
GOODS = ply.GetGoodsBar(j, 1)
if (GOODS.Id == ID_CARD):
if ((GOODS.GetProperty(15, 0) != 0) and (GOODS.GetProperty(15, 0) != ply.RoleID_DB)):
j = (j + 1)
else:
ply.SingleTell(('#3%s#0:\n\n如果要兑换礼品的话,请携带你朋友赠送的签过名字的祝福卡。' % npc.Name))
ply.SendTipInfo('请将你要兑换的祝福卡先行后列依次排列在物品栏内')
return 0
else:
ply.SingleTell(('#3%s#0:\n\n如果要兑换礼品的话,请携带你朋友赠送的签过名字的祝福卡。' % npc.Name))
ply.SendTipInfo('请将你要兑换的祝福卡先行后列依次排列在物品栏内')
return 0
else:
ply.SingleTell(('#3%s#0:\n\n如果要兑换礼品的话,请携带你朋友赠送的签过名字的祝福卡。' % npc.Name))
ply.SendTipInfo('请将你要兑换的祝福卡先行后列依次排列在物品栏内')
return 0
h = 0
while (h <= (slt * 3)):
if ply.GetGoodsBar(h, 2).IsValid:
GOODS = ply.GetGoodsBar(h, 2)
if (GOODS.Id == ID_CARD):
if ((GOODS.GetProperty(15, 0) != 0) and (GOODS.GetProperty(15, 0) != ply.RoleID_DB)):
h = (h + 1)
else:
ply.SingleTell(('#3%s#0:\n\n如果要兑换礼品的话,请携带你朋友赠送的签过名字的祝福卡。' % npc.Name))
ply.SendTipInfo('请将你要兑换的祝福卡先行后列依次排列在物品栏内')
return 0
else:
ply.SingleTell(('#3%s#0:\n\n如果要兑换礼品的话,请携带你朋友赠送的签过名字的祝福卡。' % npc.Name))
ply.SendTipInfo('请将你要兑换的祝福卡先行后列依次排列在物品栏内')
return 0
else:
ply.SingleTell(('#3%s#0:\n\n如果要兑换礼品的话,请携带你朋友赠送的签过名字的祝福卡。' % npc.Name))
ply.SendTipInfo('请将你要兑换的祝福卡先行后列依次排列在物品栏内')
return 0
ply.DelGoodsAtBar(ID_CARD, ((slt * 3) + 21))
k = 0
while (k < (7 + slt)):
Y = randint(ID_BAOSHI[0], ID_BAOSHI[1])
ply.GiveGoods2Bar(Y, 0)
k = (k + 1)
ply.SingleTell(('#3%s#0:\n\n你兑换了#3%d#0张祝福卡,得到了#3%d#0个宝石!' % (npc.Name,
((slt * 3) + 21),
(slt + 7))))
else:
ply.EndTalk()
|
|