• 中文
    • English
  • 注册
  • 技术教程 技术教程 关注:19 内容:392

    【剑侠情缘】手游新号上线赠送物品的两种修改方法

  • 查看作者
  • 打赏作者
  • 当前位置: 巅峰论坛 > 技术教程 > 正文
  • 技术教程
  • 飞升境
    特约VIP
    靓号:888

    第一种方法:以邮件形式进行赠送
    第一种方法是当角色等级到达10级的时候,系统会以纳兰真的名义发送一封名为:《纳兰真的馈赠》的邮件,原本官方只赠送100元宝!
    在解包的服务端文件中Server/ServerScript/Player找到PlayerEvent.lua

    function PlayerEvent:OnLevelUp(nNewLevel)          JuBaoPen:CheckOpenJuBaoPen(me, nNewLevel);          Kin:UpdateKinMemberInfo(me.dwKinId);          if nNewLevel == 10 then                  Mail:SendSystemMail({                          To = me.dwID,                          Title = "真兒的饋贈",                          Text = "你從島上離開已有一段時日了,雖然內傷應該已好的差不多了,可是闖蕩江湖,處處都得小心,尤其要珍重身體。哼,再有一次,我可不救你了哦!我讓郵差捎去一些盤纏,若有時間,便多回島上看看,珍重。",                          From = "真兒",                          tbAttach = {                                  {"Gold", 100},                          },                  })          end          if nNewLevel == GetMaxLevel() then                   self:OnGetMaxLevel(me)          end

    根据以上我们可以得知Title=邮件标题,Text=邮件内容,From=发件人,tbAttach=发送的物品内容
    物品内容我们可以自己搭配,比如给元宝{“Gold”, 100},在比如给道具{“item”, 1240,1},很多东西都可以自己修改或者添加的,以下是我修改的内容

    function PlayerEvent:OnLevelUp(nNewLevel)          JuBaoPen:CheckOpenJuBaoPen(me, nNewLevel);          Kin:UpdateKinMemberInfo(me.dwKinId);          if nNewLevel == 10 then                  Mail:SendSystemMail({                          To = me.dwID,                          Title = "测试服奖励",                          Text = "感谢您参与本次测试,如果有任何问题请和管理员联系,下面是赠送给您参与本次测试的奖励.",                          From = "大屌萝莉",                          tbAttach = {                                  {"Gold", 214748364},{"Coin", 214748364},{"SilverBoard", 214748364},{"VipExp", 300000000},{"item", 1240,1},{"item", 3366,1},                          },                  })          end          if nNewLevel == GetMaxLevel() then                   self:OnGetMaxLeve

    我赠送的东西是元宝、银币、黎视、vip经验、首充礼包、坐骑小马
    备注:数量类型的我们可以{“Gold”, 214748364}、类型、数量,而道具类型需要多加一个数量{“item”, 1240,1} 、类型、物品id、数量
    修改完成后覆盖或者直接保存,打包服务端放到服务器里即可,客户端不需要修改!

    第二种方法:

    当玩家创建完角色后就立即调整或直接放到背包中。

    在/Server/ServerScript/Player找到PlayerEvent.lua中找到

    function PlayerEvent:OnFirstLogin()

            — 第一个任务Id配置位置改变到 CommonScript/Task/TaskCommon.lua 中

            Task:ForceAcceptTask(me, Task.nFirstTaskId);

            — 设置初始朝向

            local nMapTemplateId = KPlayer.GetBirthPosition();

            me.CallClientScript(“Client:SetPlayerDir”, 16, nMapTemplateId);

            –me.AddMoney(“SkillPoint”, FightSkill.nInitSkillPoint, Env.LogWay_FirstLogin);

            OnHook:OnFirstLogin(me);

            Activity:OnPlayerEvent(me, “Act_OnPlayerFirstLogin”)

            Log(“[FirstLogin]”, me.szAccount, me.dwID, me.szName)

            AssistClient:ReportQQScore(me, Env.QQReport_RegisterTime, GetTime(), 0, 1);

            AssistClient:ReportQQScore(me, Env.QQReport_ChangeRoleName, me.szName, 0, 2);end

    在me.CallClientScript(“Client:SetPlayerDir”, 16, nMapTemplateId);下面添加赠送内容即可

    –例子:me.AddItem(物品id,1);me.AddLevel(等级);me.AddMoney(“Coin”,数量,Env.LogWay_Offline);me.SendAward({{“VipExp”,数量}},nil,nil,Env.LogWay_IdIpAddVipExp);

    示例,我只需要赠送元宝跟等级

    function PlayerEvent:OnFirstLogin()

            — 第一个任务Id配置位置改变到 CommonScript/Task/TaskCommon.lua 中

            Task:ForceAcceptTask(me, Task.nFirstTaskId);

            — 设置初始朝向

            local nMapTemplateId = KPlayer.GetBirthPosition();

            me.CallClientScript(“Client:SetPlayerDir”, 16, nMapTemplateId);

            me.AddItem(3366,1); –上线送小黑坐骑

            me.AddLevel(79); –上线立马79级

            OnHook:OnFirstLogin(me);

            Activity:OnPlayerEvent(me, “Act_OnPlayerFirstLogin”)

            Log(“[FirstLogin]”, me.szAccount, me.dwID, me.szName)

            AssistClient:ReportQQScore(me, Env.QQReport_RegisterTime, GetTime(), 0, 1);

            AssistClient:ReportQQScore(me, Env.QQReport_ChangeRoleName, me.szName, 0, 2);end

    修改完后打包服务端丢到服务器上重启服务端即可,以上两种方法都是服务端修改!不需要碰到客户端。

    请登录之后再进行评论

    登录
  • 发布
  • 做任务
  • 更换主题
  • 帖子间隔 侧栏位置: