|
第一种方法:以邮件形式进行赠送5 U0 d# x6 G' h% e5 W& Y
$ }6 D' ~% R/ j& ^第一种方法是当角色等级到达10级的时候,系统会以纳兰真的名义发送一封名为:《纳兰真的馈赠》的邮件,原本官方只赠送100元宝!6 K, [! U5 h0 c5 \' W
' M* f* o9 u, F在解包的服务端文件中Server/ServerScript/Player找到PlayerEvent.lua
' }7 G% ~; k8 a/ q4 L3 |$ u' P$ K- G3 {& q
7 Z- n5 T' ~# Z2 ^, f7 Y5 L/ J; dfunction PlayerEvent:OnLevelUp(nNewLevel). w: J' l: X5 r1 f' ]) }* ?
# E* O I2 @% F; Q+ k
JuBaoPen:CheckOpenJuBaoPen(me, nNewLevel);
! P6 D' f# K! A9 _" y5 t: U& Y
5 i: H1 t; f o0 `" Q1 I Kin:UpdateKinMemberInfo(me.dwKinId);/ V# F) p$ X$ [: X7 R3 z2 ~/ ^
- h* ^' [+ Q; z1 S! U8 p
if nNewLevel == 10 then3 G% _& B$ i" t' C* y2 X& }* z) V
% u9 E" l! P9 O Mail:SendSystemMail({
0 I+ E t$ D2 D$ k, G; Z! r) _. }" V& O9 \( q+ ?
To = me.dwID,
. q" i; s f# q1 A0 ?/ H
% g, H. ~+ ?3 p+ W8 x Title = "真兒的饋贈",$ @' i; o( F( w. _$ j
: S1 f3 i; ~9 l; C8 n) u9 _ Text = "你從島上離開已有一段時日了,雖然內傷應該已好的差不多了,可是闖蕩江湖,處處都得小心,尤其要珍重身體。哼,再有一次,我可不救你了哦!我讓郵差捎去一些盤纏,若有時間,便多回島上看看,珍重。",; J7 W3 S6 W2 j8 z% y" M, A
2 a% u4 G/ {& O# m z: j From = "真兒",
8 N) n6 A( M" E) J
. K; z e3 k6 O tbAttach = {. Q! e6 z& x+ r$ N+ f3 m
0 r; I9 X4 b& _% D7 S2 f/ w {"Gold", 100},
1 w' l- h: t9 X0 R; e* ~0 `+ r$ J0 J, v2 Y" T6 m' E
}," n* r3 T3 Q3 ]2 }0 X1 U7 M+ e
, R" F; f- | j+ y! |( U/ e })& m9 Y4 j. A3 ] q: K+ L: w
- h4 [0 W4 @ X; H" {# Y, g
end
1 U- T r8 c- n! n3 H) n) q: p& ~8 M' z* ?. a$ N3 v0 |
if nNewLevel == GetMaxLevel() then) u: Z1 x) S1 A
# x! |3 ^+ Q1 @5 X; c5 q
self:OnGetMaxLevel(me)* x) v$ {. A5 f! {8 _4 [" E
+ Y& P* K6 p, r) r- m end
& T( |% H- X2 u
8 r5 q, |* ?9 F: t9 u0 h9 s根据以上我们可以得知Title=邮件标题,Text=邮件内容,From=发件人,tbAttach=发送的物品内容
: U+ P3 s6 t0 f
# X4 a. p3 f# D2 U c物品内容我们可以自己搭配,比如给元宝{“Gold”, 100},在比如给道具{“item”, 1240,1},很多东西都可以自己修改或者添加的,以下是我修改的内容
3 d% r' c9 d# i7 F0 A: m8 x8 K" T, y1 [$ X; Z
7 s& }4 N2 s4 q! P- L. b; C
C++
+ `& b! _2 c1 g; @8 P1 @+ ?+ R0 y2 q; _6 G) K$ U
function PlayerEvent:OnLevelUp(nNewLevel); s# c7 ?# ~8 V: _6 H6 ^
! q. l) A9 |1 t/ w JuBaoPen:CheckOpenJuBaoPen(me, nNewLevel);
& B# c/ E3 q8 f' K) D! a5 p. a$ h6 c
Kin:UpdateKinMemberInfo(me.dwKinId);
4 {0 e; T$ U+ b7 [; |+ C6 x) _$ j' Q3 q+ [, M. V# t1 J
if nNewLevel == 10 then
3 z( L- o' D. i5 n3 L* b2 v
: q/ d" h4 h! g" t" h Mail:SendSystemMail({" u- q* a! v7 c2 E# z
8 G' U! c9 a0 B) ?' D5 X
To = me.dwID,9 ^2 f+ l5 O/ }: g" j* z9 j
. C' ^4 b* c9 o' W4 }& m
Title = "测试服奖励",
# ~; ~' r6 N' V1 r6 C) L: u
/ V$ n% Y A3 z% L2 q Text = "感谢您参与本次测试,如果有任何问题请和管理员联系,下面是赠送给您参与本次测试的奖励.",% F7 f! ], Z& b) F4 ]# \3 E. ]
: H/ K! R1 L8 i4 @& `6 \ From = "大屌萝莉",& j* V0 Q6 Y& H# r
/ j3 L+ N, t% l5 F tbAttach = {' S5 {, p: k% k' I3 b; T
: v( y0 Q0 u1 ]1 J# z) u# I5 r {"Gold", 214748364},{"Coin", 214748364},{"SilverBoard", 214748364},{"VipExp", 300000000},{"item", 1240,1},{"item", 3366,1},
; F" N' O4 S: T
$ o y: j% E. T0 Q# q5 x8 c },
1 F. g8 O/ h& l1 n3 ~- K6 a# k$ `+ D) j- b" u/ E5 b
})- ^0 w0 ^5 _# O0 g; t- G
' }5 M+ B/ N: E( I) Q2 u$ | end
4 V2 R: K' M! h* w5 d' r1 }3 b3 x4 v
* H3 k1 q, y f if nNewLevel == GetMaxLevel() then4 o, Y5 ~3 ^5 p1 N
, N% }, y+ m) Y) p8 S self:OnGetMaxLeve H7 I' {; n+ b1 y9 z
# O3 A2 o4 S0 N3 ^5 n我赠送的东西是元宝、银币、黎视、vip经验、首充礼包、坐骑小马
9 _# W z F; H/ V/ h4 O, E
% R5 ]% e5 e- Z- V" S备注:数量类型的我们可以{“Gold”, 214748364}、类型、数量,而道具类型需要多加一个数量{“item”, 1240,1} 、类型、物品id、数量4 Z# H" j+ n4 b) L1 f2 N
" L! B+ ~+ W. P& B. f3 {4 k修改完成后覆盖或者直接保存,打包服务端放到服务器里即可,客户端不需要修改!" L3 `' {3 v% v$ P
; K- z l* z- ?2 ^
% x2 h# \: p* T! z `, A( {
第二种方法:
6 Q* F6 O! v, m2 r `4 z ?( y; u* j. o: k- q6 ~3 E4 \. [/ e/ l) ~: x/ I5 H
) G' |/ h7 Z6 o% e# f% m
当玩家创建完角色后就立即调整或直接放到背包中。4 ^+ R2 V3 A' H$ l4 [. l
" D; u6 Y. h2 |5 D: \9 _
在/Server/ServerScript/Player找到PlayerEvent.lua中找到, C# y5 L' I" V* w6 a
+ O" [' \' k, v* W( H8 A7 F& s0 d
. s; }& p2 j# N+ M# D
C++& y6 C$ u2 y7 ~2 b2 c+ F! A- g3 G, g
- J! j* l, z* H2 C3 W) ?- @5 z
function PlayerEvent:OnFirstLogin()
3 M/ ~- d1 x# J- ]# f8 w" M
% m7 [) ?% ]7 p1 [7 |2 g) Z& P -- 第一个任务Id配置位置改变到 CommonScript/Task/TaskCommon.lua 中
6 M) W! i1 P$ A0 z1 w3 N( ^% t
* P D& K# \- Z/ G Task:ForceAcceptTask(me, Task.nFirstTaskId);$ R# l' [0 _, Z
8 d4 D9 ^0 J" U# L, s& s6 F, o -- 设置初始朝向
# U# T+ F. k; b1 C# p) {; y
, s0 O- S8 v- y% W: l1 e" Z8 p local nMapTemplateId = KPlayer.GetBirthPosition();
3 P( O5 s$ a7 A! N" h4 D0 y& [" }2 k0 y3 t$ y, e- V" m0 Q2 U: Q
me.CallClientScript("Client:SetPlayerDir", 16, nMapTemplateId);
# d& Q1 O; y7 l/ d0 L6 P
9 k$ L4 Q. a5 Y- u0 C+ H --me.AddMoney("SkillPoint", FightSkill.nInitSkillPoint, Env.LogWay_FirstLogin);
! t5 ~4 f: K! P, O- g5 s9 M& I: Q E& l
OnHook:OnFirstLogin(me);; k* A! N2 Y4 T. C
H7 @! {$ y" O% f# l8 N4 ? Activity:OnPlayerEvent(me, "Act_OnPlayerFirstLogin")" c0 A2 N. E4 b! n
$ ?' p4 c% o* Z' h4 u Log("[FirstLogin]", me.szAccount, me.dwID, me.szName)6 m& t4 O7 d7 i/ ~2 D) w6 x
8 h! y' [" @) q) a- l+ |5 o* {
AssistClient:ReportQQScore(me, Env.QQReport_RegisterTime, GetTime(), 0, 1);- I) L7 b9 u* u6 j) N
; ~- q# t: c5 H+ C/ f! Q2 |
AssistClient:ReportQQScore(me, Env.QQReport_ChangeRoleName, me.szName, 0, 2);end" q. d( O1 F+ n8 w
% H$ E: N% N/ [* y$ j! E% d! F
在me.CallClientScript("Client:SetPlayerDir", 16, nMapTemplateId);下面添加赠送内容即可; C; Y2 \; P# {' t' d& y) z1 _: d
# U5 _3 ~0 O0 h# _! K0 ]4 e( l0 w0 \
--例子:me.AddItem(物品id,1);me.AddLevel(等级);me.AddMoney("Coin",数量,Env.LogWay_Offline);me.SendAward({{"VipExp",数量}},nil,nil,Env.LogWay_IdIpAddVipExp);
/ m' p& d/ W# y5 @* W s) A+ a( r+ W' n; [. C9 V
示例,我只需要赠送元宝跟等级$ l8 q/ E8 G* p: ?
! @0 v1 N! a) K2 W
function PlayerEvent:OnFirstLogin()
# Y% ^1 c1 ?/ n6 G2 G/ N8 L0 B. r# n5 T
% N! ]' [0 T! o* H. u( Q: q -- 第一个任务Id配置位置改变到 CommonScript/Task/TaskCommon.lua 中% Y4 E( H5 `2 I' O; S
! e m! W( e: ~, A5 g' {/ t8 c7 }
Task:ForceAcceptTask(me, Task.nFirstTaskId);
) B, s7 N& q5 k" O. m$ @! x* J i/ p9 h
-- 设置初始朝向
4 z& B$ y. q! r9 Z
( c+ P2 T; t8 l) H local nMapTemplateId = KPlayer.GetBirthPosition();
+ r( W, k3 g, M8 a1 k% e5 [; E- y% B* h' G# U& \3 d( X0 ^2 Z+ s
me.CallClientScript("Client:SetPlayerDir", 16, nMapTemplateId);! F4 }. o* N" c/ P! Q8 S! _8 o
2 T) H- \8 p/ k me.AddItem(3366,1); --上线送小黑坐骑
) p2 x- f7 N* ~* E, ^" R8 a" \$ J. G C% y& e& s
me.AddLevel(79); --上线立马79级
2 d. h+ n# @5 H
P" N: {0 A9 g OnHook:OnFirstLogin(me);
5 ^* O3 I3 s0 |+ S) j3 w, G
x1 |$ ?' [1 L5 M0 ^% R, ^# u Activity:OnPlayerEvent(me, "Act_OnPlayerFirstLogin")
, L$ c: X- G E
N9 J) b; z% |& l Log("[FirstLogin]", me.szAccount, me.dwID, me.szName)& b& K( a- v$ s3 l2 S# V2 `
& A( D- y+ q) j6 e5 } AssistClient:ReportQQScore(me, Env.QQReport_RegisterTime, GetTime(), 0, 1);5 |2 x' I' T4 p% i/ w
R2 X; _+ e% } AssistClient:ReportQQScore(me, Env.QQReport_ChangeRoleName, me.szName, 0, 2);end: l& H( u' M8 U E
0 d5 i1 [& l2 n9 b' d+ c" m6 _* x! k5 p" T/ \' w0 A* J8 B
修改完后打包服务端丢到服务器上重启服务端即可,以上两种方法都是服务端修改!不需要碰到客户端。
5 M9 J8 p6 a3 r+ v( `
2 F! W! f# N3 u$ A- Y, x2 s |