藏宝湾网游单机站

 找回密码
 注册

QQ登录

只需一步,快速开始

★【黑暗之光SF★我是大主宰SF】【神将三国SF】★

★【0.1折】★【变态网页游戏私服】★

★神将三国网页版上线送V5 5w元宝 5000w铜币 我是大主宰上线满v,80万元宝,小怪都爆元宝,耐玩长久稳定★

【原始传奇SF/维京传奇SF】【GM包站手游】

★【原始传奇SF/维京传奇SF】【GM包站手游】★

★2025火爆『传奇岁月+赤焰号角+维京传奇+原始传奇』爆战力称号BUFF+神装99999999万人PK★

首创可以单机 可以互动 可以赚烟钱的传奇

★全网独家 可以单机 可以互动的传奇!★

★全网唯一持续更新的可单机游戏!每15-25天更新一次内容,保持游戏新鲜度!! 众多独家的功能特色,众多你没见过的全新玩法,有能力的赚点烟钱,还能偶尔沙城战斗!★

★承接推广★
★承接推广★

★承接推广★

☆六一新区开放-放置传奇☆

★六一新区开放-放置传奇★

★可白嫖 上班摸鱼类 放置文字传奇游戏(放置休闲)qq群756025698★

★三职业复古★开局送神装★爆率100%★散人逆袭★

★三职业复古★开局送神装★爆率100%★散人逆袭★

★〖双线〗〖无忧传奇〗〖每日新区〗〖开局送神装 100%高爆率 装备元宝打怪爆〗★

★承接推广★

★承接推广★

★承接推广★

★承接推广★

★承接推广★

★承接推广★

★DNF★全职业平衡★公益服★
★DNF★全职业平衡★公益服★

【dnf86版本】【怀旧服】【全职业平衡】【非变态服】【非商业服】【775016356】

★承接推广★

★承接推广★

★承接推广★

★梦幻16门派全新大唐九黎★

★梦幻16门派全新大唐九黎★

★★新增全新门派九黎城,★不做垃圾,力争什么都做到最好★持续更新,长久稳定★

★承接推广★

★承接推广★

★承接推广★

查看: 1100|回复: 2

[原创] 《碧雪情天开发》新春题字脚本源码

[复制链接]
发表于 2015-2-1 08:50:35 来自手机 | 显示全部楼层 |阅读模式
新春纪念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()

发表于 2015-2-1 08:56:15 | 显示全部楼层
看不懂啊 不知道楼主发这个干嘛
发表于 2015-2-1 09:56:59 | 显示全部楼层
不明觉厉  
您需要登录后才可以回帖 登录 | 注册

本版积分规则

本站内容如若侵犯到您的权益,请来电来函告知,我们会尽快处理!
联系QQ:1953150286,2251387361,123784736,免责申明

排行榜|联系我们|小黑屋|手机版|Archiver|游戏藏宝湾 |

GMT+8, 2025-5-29 04:15 , Processed in 0.052688 second(s), 17 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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