- 打卡等级:暂无等级
- 打卡总天数:190
- 打卡月天数:14
- 打卡总奖励:146
- 最近打卡:2025-11-14 00:02:32
|
第一种方法:以邮件形式进行赠送
- U5 j/ [$ G0 g" ?/ u/ {
' w# A1 S2 h) G: B% J+ Q第一种方法是当角色等级到达10级的时候,系统会以纳兰真的名义发送一封名为:《纳兰真的馈赠》的邮件,原本官方只赠送100元宝!
4 V8 p7 ^! f: i, y- A2 {( R% t7 v, A
在解包的服务端文件中Server/ServerScript/Player找到PlayerEvent.lua0 e, b* S9 D, S3 {4 p
, u+ C9 O; v. t& s( }* Z+ r
Q( V+ `& Q( kfunction PlayerEvent:OnLevelUp(nNewLevel)
d) n) {. n. I) y
) S5 M3 V4 T* Q) ~/ B JuBaoPen:CheckOpenJuBaoPen(me, nNewLevel);( K) \( i, W& N' J; C5 S: r, v0 U
8 C5 n) J) y, k, D" X1 ^
Kin:UpdateKinMemberInfo(me.dwKinId);$ a* K! Q* p) ~
1 x( g6 I, Z3 t u# Y if nNewLevel == 10 then( j2 V1 M; L. ?1 F
% H% L5 X# C: u Mail:SendSystemMail({4 F. @0 _1 M) i( g N' f
' S: Y5 F, [' _5 |& D) W7 W To = me.dwID,$ y3 b0 T6 c$ S- a2 G, \
5 S7 ^+ P) X0 L/ m# L. Y
Title = "真兒的饋贈",; c# b: u: N1 `; G. I
2 j$ n$ C+ L: W0 ]2 T, \ Text = "你從島上離開已有一段時日了,雖然內傷應該已好的差不多了,可是闖蕩江湖,處處都得小心,尤其要珍重身體。哼,再有一次,我可不救你了哦!我讓郵差捎去一些盤纏,若有時間,便多回島上看看,珍重。",+ H3 y2 [8 D2 a' B
. n! ^1 N( w7 h4 I9 k. a6 K From = "真兒",
; m+ `: J, V& Z' p" L2 _& [6 m7 Q$ A2 h- ^5 }# @/ {9 ?2 D
tbAttach = { E4 M5 M9 ^2 F0 J& m- Z# [- @
* K' U* ^# a& M1 o, e' n
{"Gold", 100},. _& y( Z' N: Y; R5 ]
5 `8 V' c0 F; J. x& v! C },; g5 z+ e* i$ V- ~- K# u) T
; ]" f# F2 i& _! [: X% J& {/ k })
$ f6 k" m* ?4 ?& c4 M3 k( d( n: @6 [: B. z3 f) S% c
end
2 c& n& b" V/ _, _+ P' D5 X6 }6 {4 p W9 S6 \, U- E
if nNewLevel == GetMaxLevel() then' X X. u2 g) Q7 z! y
2 S; l: K' K7 _( X
self:OnGetMaxLevel(me)- K& K% y7 i1 j% o
: T, X3 m0 L7 Y4 _- G, z
end
& a; } Q- t8 \ Y% p% r8 |4 X! S( B
根据以上我们可以得知Title=邮件标题,Text=邮件内容,From=发件人,tbAttach=发送的物品内容
$ Z+ S5 P. t- @# G- i! X
6 m3 w2 @* }0 a% e! I. h! x/ z; Q- `# u物品内容我们可以自己搭配,比如给元宝{“Gold”, 100},在比如给道具{“item”, 1240,1},很多东西都可以自己修改或者添加的,以下是我修改的内容
, X3 k/ F$ U4 |, r% X1 f8 u0 O( o. D7 w: z h' O9 n
9 d0 }; }" |' y+ J$ }/ RC++$ d) L% P W- c3 B% a& S! D* E
, u4 s3 N7 V% _7 V; h. E5 Ifunction PlayerEvent:OnLevelUp(nNewLevel)
! G0 H: [! d- P/ I2 y4 Z5 E
+ H7 {1 B {2 L4 Y& _# ~- a# i JuBaoPen:CheckOpenJuBaoPen(me, nNewLevel);
# J( v* ]1 V, l. G2 C0 H
! J- S4 j, I2 O# }" K Kin:UpdateKinMemberInfo(me.dwKinId);
( A& C7 _4 {* ^3 K o1 n) }6 ~
3 ~% C; L. n2 B; b if nNewLevel == 10 then9 A" L: s* B5 V+ f9 V7 f; W
+ q# L0 b2 U+ W/ v" o Mail:SendSystemMail({' U- k# H' p% w! N/ G) F5 I
& ]# a, n9 d8 h6 X% |
To = me.dwID,
4 f7 q/ W$ y5 G
5 ], C' S" y; a) d Title = "测试服奖励",
) L! w+ `! N" p& t; A" y. i2 A6 L1 I0 }" E4 z# ^7 m
Text = "感谢您参与本次测试,如果有任何问题请和管理员联系,下面是赠送给您参与本次测试的奖励.", P! d0 \# ^9 e8 X8 M! w6 }
$ X" H2 o" B8 C& n3 H X& E- S
From = "大屌萝莉",
- M5 D9 b7 E# f" m( a6 E! B# F g0 u& z/ O
tbAttach = {4 Q V& r y/ G3 I
R3 |$ f7 D! y+ F, {% X8 G' u% ]5 j {"Gold", 214748364},{"Coin", 214748364},{"SilverBoard", 214748364},{"VipExp", 300000000},{"item", 1240,1},{"item", 3366,1},
- G+ q5 w0 q$ i' Q; t. L
7 q& m% n" F o4 C* d' C },
+ s: E# l! D& C" M' f. @5 l5 l) {. R: C, s% ~ @
})
$ j- \6 d& @+ ]" t! E+ u. A7 D, @$ w7 s: Y8 E$ M
end
0 F* z* H3 g4 T; a, _4 _0 z: b8 Y, D5 T) T
if nNewLevel == GetMaxLevel() then
" Y8 o2 a' ?& F. c8 `9 N9 }
. @7 d1 F5 }9 ?- O& A" h+ H self:OnGetMaxLeve; o8 a3 I- q% y
1 i. v. N3 Q4 P+ ^9 G# C我赠送的东西是元宝、银币、黎视、vip经验、首充礼包、坐骑小马3 u* I) E! g" p2 Z% j
# {0 Z& h5 J. l- b1 t
备注:数量类型的我们可以{“Gold”, 214748364}、类型、数量,而道具类型需要多加一个数量{“item”, 1240,1} 、类型、物品id、数量& V$ U3 Y V. z& V
) P& v3 o- t" Q V- y! l! r6 k
修改完成后覆盖或者直接保存,打包服务端放到服务器里即可,客户端不需要修改!
- H" B2 ~* n7 y/ k# y, {) A2 Y* |, K6 ~" S! I4 x8 @0 l
K0 P4 w5 H5 E5 y! G; C第二种方法:8 Y5 D2 K! s M X
5 v/ Z8 C8 g. Q
: a! g* l7 i7 M8 r7 F当玩家创建完角色后就立即调整或直接放到背包中。8 h' [# P+ G9 g# K
/ x' A0 k* `7 n X' R在/Server/ServerScript/Player找到PlayerEvent.lua中找到
$ s6 z+ F4 D0 }7 e$ r9 J2 I7 T8 t `0 s' k3 t% L5 ^* e
" v/ m1 T* E3 I# ^! r
C++
+ f! K N4 C9 o$ E7 A* p6 P5 h$ \2 ^' i. G* E' O
function PlayerEvent:OnFirstLogin()
; N! S/ f; d- u- C! f% c6 `
% S3 B! t0 Q. g0 ~/ m, t1 B -- 第一个任务Id配置位置改变到 CommonScript/Task/TaskCommon.lua 中
x/ y2 Y! i: c8 ?6 n# E; t& \2 U; [, h8 d' _$ H' q
Task:ForceAcceptTask(me, Task.nFirstTaskId);; P9 S# q( K0 m$ e% o! H
2 A. }, c5 K. h8 ~$ N" h
-- 设置初始朝向
! g4 W8 r* G Q. {
1 g' @0 K' s" z6 \2 l; O local nMapTemplateId = KPlayer.GetBirthPosition();
z/ `3 }4 T. r5 B0 J: r- \
0 ^, w( d8 Y( E me.CallClientScript("Client:SetPlayerDir", 16, nMapTemplateId);
B0 I6 p: w# j$ x: B
7 x# T. U( v9 N! [ --me.AddMoney("SkillPoint", FightSkill.nInitSkillPoint, Env.LogWay_FirstLogin);% n3 F( a* z7 z, |& e, Q1 w
% V3 C- r# s$ a& b
OnHook:OnFirstLogin(me);: D! n) p0 O/ U6 Y+ ^1 H) e+ m: D
/ Q) b, v6 A4 V% A3 D
Activity:OnPlayerEvent(me, "Act_OnPlayerFirstLogin")7 \: J3 e" ^# j1 l+ `1 v
/ O+ C, _ ]9 S) x1 E5 C) G Log("[FirstLogin]", me.szAccount, me.dwID, me.szName)7 J/ l7 A% O0 [! n$ F
# {$ _! R$ f% {7 O4 |& K0 N8 m
AssistClient:ReportQQScore(me, Env.QQReport_RegisterTime, GetTime(), 0, 1);- o$ N4 J9 ^, D X$ _6 K
, d9 w5 ^- s R0 t4 G
AssistClient:ReportQQScore(me, Env.QQReport_ChangeRoleName, me.szName, 0, 2);end
7 I& F0 A9 |+ N3 `+ d8 Q" X( u' h" Y2 R
在me.CallClientScript("Client:SetPlayerDir", 16, nMapTemplateId);下面添加赠送内容即可7 [7 U% c! Z' b# h* H
P* ]+ C& F! N: l! x
. | R! k' C: Z$ `2 G% |
--例子:me.AddItem(物品id,1);me.AddLevel(等级);me.AddMoney("Coin",数量,Env.LogWay_Offline);me.SendAward({{"VipExp",数量}},nil,nil,Env.LogWay_IdIpAddVipExp);' u9 S$ [3 s/ P% | J% o. ]
0 D9 b8 k( Q3 e+ `示例,我只需要赠送元宝跟等级
" J( D. f! H' U! Q3 _0 X0 }+ }2 w( u5 [2 S& d+ M$ C3 b
function PlayerEvent:OnFirstLogin()1 ~3 X6 ^3 H! s, \! P2 I
% p! ]) |: W2 U% G% d -- 第一个任务Id配置位置改变到 CommonScript/Task/TaskCommon.lua 中
3 E, U& S( ]- H9 @8 R
# ^; \9 S+ s( D2 w$ f Task:ForceAcceptTask(me, Task.nFirstTaskId);0 D( q* q5 C; m) A# y$ S( c
' t* b, U) S, y0 e6 k8 ]
-- 设置初始朝向* I Z: k% m, {/ }' a
- r, r2 A! O' \8 W4 ?: l
local nMapTemplateId = KPlayer.GetBirthPosition();7 o" r: o9 l1 ?% S! T1 F- o% V7 r
0 J9 R) C! d& x
me.CallClientScript("Client:SetPlayerDir", 16, nMapTemplateId);
, p; u) X* X3 |$ c6 X! K. L
@ E4 S3 h$ s Q! `. m/ _0 j me.AddItem(3366,1); --上线送小黑坐骑0 \8 P1 v: [# m/ y8 t/ Y
- ]6 ?( B z2 p+ ]0 f+ ] me.AddLevel(79); --上线立马79级; @; a# B0 P7 {4 o/ D
* y4 F. }! {* B OnHook:OnFirstLogin(me);
; [7 j3 a# [( C: M6 b8 ~) `6 v0 N3 i7 H) }0 \
Activity:OnPlayerEvent(me, "Act_OnPlayerFirstLogin")
& v% a4 _+ X: h5 {2 a3 _2 Y" L! u; k2 c9 ~8 e
Log("[FirstLogin]", me.szAccount, me.dwID, me.szName)
7 J& |1 y. v* t$ U7 ~. C+ j& z S$ M# ]- o) M& [8 s
AssistClient:ReportQQScore(me, Env.QQReport_RegisterTime, GetTime(), 0, 1);
* L% a( b6 T3 k4 ~8 B, y, [( b' X7 Q1 c* X* j# q
AssistClient:ReportQQScore(me, Env.QQReport_ChangeRoleName, me.szName, 0, 2);end8 y9 a$ U- V8 H7 M8 w+ X) c
3 {3 u6 u0 |2 p' o# s
+ s$ h7 ?/ Y; _1 C$ c5 I, k4 J修改完后打包服务端丢到服务器上重启服务端即可,以上两种方法都是服务端修改!不需要碰到客户端。
N/ @8 W( O/ M! Y( q# r1 J8 M' D
$ P4 i1 e7 U! `) \) U( m |
|