找回密码
 立即注册
搜索
查看: 625|回复: 0

[教程] 剑侠情缘手游上线赠送物品的两种修改方法

[复制链接]
  • 打卡等级:暂无等级
  • 打卡总天数:190
  • 打卡月天数:14
  • 打卡总奖励:146
  • 最近打卡:2025-11-14 00:02:32
灌水成绩
13910
48
2034848
主题
帖子
积分

等级头衔

ID : 1

管理员

积分成就 威望 : 999999
贡献 : 9999
下载币 : 10893
在线时间 : 1011 小时
注册时间 : 2013-9-5
最后登录 : 2025-11-14

发表于 昨天 22:25 | 显示全部楼层 |阅读模式 IP:广东东莞
免责
免费领取大流量卡,每日更新蔡州手游APP源码密码加入群聊接手游搭建—``下载币--购买服务器☆长期招聘游戏测试员(无偿),有兴趣联系站长QQ58493525微信A0396C
第一种方法:以邮件形式进行赠送
- 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
免责
帖子地址打造全网最多免费游戏网站
今日来客 列表模式
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

本站已运行 ©2013-2026

QQ|Archiver|手机版|小黑屋|蔡州手游 |网站地图

GMT+8, 2025-11-14 11:09

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表