第一種方法:以郵件形式進(jìn)行贈(zèng)送
第一種方法是當(dāng)角色等級(jí)到達(dá)10級(jí)的時(shí)候,系統(tǒng)會(huì)以納蘭真的名義發(fā)送一封名為:《納蘭真的饋贈(zèng)》的郵件,,原本官方只贈(zèng)送100元寶!
在解包的服務(wù)端文件中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 = "真兒的饋贈(zèng)",
Text = "你從島上離開(kāi)已有一段時(shí)日了,,雖然內(nèi)傷應(yīng)該已好的差不多了,,可是闖蕩江湖,處處都得小心,,尤其要珍重身體,。哼,再有一次,,我可不救你了哦,!我讓郵差捎去一些盤(pán)纏,若有時(shí)間,,便多回島上看看,,珍重。",
From = "真兒",
tbAttach = {
{"Gold", 100},
},
})
end
if nNewLevel == GetMaxLevel() then
self:OnGetMaxLevel(me)
end
根據(jù)以上我們可以得知Title=郵件標(biāo)題,,Text=郵件內(nèi)容,,F(xiàn)rom=發(fā)件人,,tbAttach=發(fā)送的物品內(nèi)容
物品內(nèi)容我們可以自己搭配,比如給元寶{“Gold”, 100},在比如給道具{“item”, 1240,1},,很多東西都可以自己修改或者添加的,,以下是我修改的內(nèi)容
C++
function PlayerEvent:OnLevelUp(nNewLevel)
JuBaoPen:CheckOpenJuBaoPen(me, nNewLevel);
Kin:UpdateKinMemberInfo(me.dwKinId);
if nNewLevel == 10 then
Mail:SendSystemMail({
To = me.dwID,
Title = "測(cè)試服獎(jiǎng)勵(lì)",
Text = "感謝您參與本次測(cè)試,如果有任何問(wèn)題請(qǐng)和管理員聯(lián)系,下面是贈(zèng)送給您參與本次測(cè)試的獎(jiǎng)勵(lì).",
From = "大屌蘿莉",
tbAttach = {
{"Gold", 214748364},{"Coin", 214748364},{"SilverBoard", 214748364},{"VipExp", 300000000},{"item", 1240,1},{"item", 3366,1},
},
})
end
if nNewLevel == GetMaxLevel() then
self:OnGetMaxLeve
我贈(zèng)送的東西是元寶,、銀幣,、黎視、vip經(jīng)驗(yàn),、首充禮包,、坐騎小馬
備注:數(shù)量類型的我們可以{“Gold”, 214748364}、類型,、數(shù)量,,而道具類型需要多加一個(gè)數(shù)量{“item”, 1240,1} 、類型,、物品id,、數(shù)量
修改完成后覆蓋或者直接保存,打包服務(wù)端放到服務(wù)器里即可,,客戶端不需要修改,!
第二種方法:
當(dāng)玩家創(chuàng)建完角色后就立即調(diào)整或直接放到背包中。
在/Server/ServerScript/Player找到PlayerEvent.lua中找到
C++
function PlayerEvent:OnFirstLogin()
-- 第一個(gè)任務(wù)Id配置位置改變到 CommonScript/Task/TaskCommon.lua 中
Task:ForceAcceptTask(me, Task.nFirstTaskId);
-- 設(shè)置初始朝向
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);下面添加贈(zèng)送內(nèi)容即可
--例子:me.AddItem(物品id,1);me.AddLevel(等級(jí));me.AddMoney("Coin",數(shù)量,Env.LogWay_Offline);me.SendAward({{"VipExp",數(shù)量}},nil,nil,Env.LogWay_IdIpAddVipExp);
示例,,我只需要贈(zèng)送元寶跟等級(jí)
function PlayerEvent:OnFirstLogin()
-- 第一個(gè)任務(wù)Id配置位置改變到 CommonScript/Task/TaskCommon.lua 中
Task:ForceAcceptTask(me, Task.nFirstTaskId);
-- 設(shè)置初始朝向
local nMapTemplateId = KPlayer.GetBirthPosition();
me.CallClientScript("Client:SetPlayerDir", 16, nMapTemplateId);
me.AddItem(3366,1); --上線送小黑坐騎
me.AddLevel(79); --上線立馬79級(jí)
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
修改完后打包服務(wù)端丟到服務(wù)器上重啟服務(wù)端即可,以上兩種方法都是服務(wù)端修改,!不需要碰到客戶端。