第一種方法:以郵件形式進行贈送
第一種方法是當角色等級到達10級的時候,系統(tǒng)會以納蘭真的名義發(fā)送一封名為:《納蘭真的饋贈》的郵件,,原本官方只贈送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
根據(jù)以上我們可以得知Title=郵件標題,,Text=郵件內容,,F(xiàn)rom=發(fā)件人,tbAttach=發(fā)送的物品內容
物品內容我們可以自己搭配,,比如給元寶{“Gold”, 100},在比如給道具{“item”, 1240,1},,很多東西都可以自己修改或者添加的,以下是我修改的內容
C++
function PlayerEvent:OnLevelUp(nNewLevel)
JuBaoPen:CheckOpenJuBaoPen(me, nNewLevel);
Kin:UpdateKinMemberInfo(me.dwKinId);
if nNewLevel == 10 then
Mail:SendSystemMail({
To = me.dwID,
Title = "測試服獎勵",
Text = "感謝您參與本次測試,如果有任何問題請和管理員聯(lián)系,下面是贈送給您參與本次測試的獎勵.",
From = "大屌蘿莉",
tbAttach = {
{"Gold", 214748364},{"Coin", 214748364},{"SilverBoard", 214748364},{"VipExp", 300000000},{"item", 1240,1},{"item", 3366,1},
},
})
end
if nNewLevel == GetMaxLevel() then
self:OnGetMaxLeve
我贈送的東西是元寶,、銀幣,、黎視、vip經(jīng)驗,、首充禮包,、坐騎小馬
備注:數(shù)量類型的我們可以{“Gold”, 214748364}、類型,、數(shù)量,,而道具類型需要多加一個數(shù)量{“item”, 1240,1} 、類型,、物品id,、數(shù)量
修改完成后覆蓋或者直接保存,打包服務端放到服務器里即可,,客戶端不需要修改,!
第二種方法:
當玩家創(chuàng)建完角色后就立即調整或直接放到背包中。
在/Server/ServerScript/Player找到PlayerEvent.lua中找到
C++
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",數(shù)量,Env.LogWay_Offline);me.SendAward({{"VipExp",數(shù)量}},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
修改完后打包服務端丟到服務器上重啟服務端即可,以上兩種方法都是服務端修改,!不需要碰到客戶端,。