设为首页收藏本站 国外访客:

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

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

[复制链接]
  • 打卡等级:暂无等级
  • 打卡总天数:248
  • 打卡月天数:13
  • 打卡总奖励:204
  • 最近打卡:2026-01-22 02:18:50
灌水成绩
15724
58
2037035
主题
帖子
积分

等级头衔

ID : 1

管理员

积分成就 威望 : 999899
贡献 : 9999
下载币 : 11456
在线时间 : 1257 小时
注册时间 : 2013-9-5
最后登录 : 2026-1-22

发表于 2025-11-13 22:25:52 | 显示全部楼层 |阅读模式
免责
[编号:14825]
第一种方法:以邮件形式进行赠送6 D% k% [# l6 Z( C* s$ u4 S

& x9 v  b4 q/ r$ x& G第一种方法是当角色等级到达10级的时候,系统会以纳兰真的名义发送一封名为:《纳兰真的馈赠》的邮件,原本官方只赠送100元宝!
1 k0 n, G" V9 D- z# I6 u; }; x$ a3 h0 A" u5 B' G8 w  S0 z
在解包的服务端文件中Server/ServerScript/Player找到PlayerEvent.lua% ]+ f; K+ i0 r

0 H+ ~1 Z" ]2 R- \+ ^* M7 i1 U: S  E6 q% \; i7 Z: _5 u. P
function PlayerEvent:OnLevelUp(nNewLevel)
7 V& p# x  R; I5 I) _. U, ?
! B' P& U3 F9 g. K6 S/ ~4 Y        JuBaoPen:CheckOpenJuBaoPen(me, nNewLevel);
& _" C8 X7 \9 M, e. A5 e( F: L4 [7 S6 f
        Kin:UpdateKinMemberInfo(me.dwKinId);
4 W0 {. D$ a4 }9 u- v& X4 f% w, R$ x( H2 N; h( s
        if nNewLevel == 10 then/ @' ]! f5 E/ w/ Z! M2 U5 |. m

/ A1 p! {0 ^" \# z1 A: Y4 S3 C                Mail:SendSystemMail({
, \% J& B9 _7 }$ e& Z. r0 _# r% K9 H8 f# }9 u  r9 r! r8 [6 t
                        To = me.dwID,) s& e" _) I2 b! i8 U1 U) Z" i

# ^6 Z% k6 t% Q                        Title = "真兒的饋贈",  b- T# \4 ]+ v8 L% Y
, w! r, N. K0 p6 E! b
                        Text = "你從島上離開已有一段時日了,雖然內傷應該已好的差不多了,可是闖蕩江湖,處處都得小心,尤其要珍重身體。哼,再有一次,我可不救你了哦!我讓郵差捎去一些盤纏,若有時間,便多回島上看看,珍重。",: E" J& p1 G- y

. f- G* E+ _+ ?) C                        From = "真兒",' I) d9 `& G; g( P

& h( S" C: |9 W* |, f                        tbAttach = {
- Z5 u$ a0 f& \$ {' K$ C  t6 ~. o9 S5 q5 c/ G5 P) \4 x& ?
                                {"Gold", 100},- \( X8 n  X. D' H; K! t+ @6 g' c% W
5 F: k' ]1 A! z) t  {7 V2 o
                        },2 v5 ~) q6 Z/ U7 g) m
& E1 v$ v1 }) P" P4 A
                })" @! r+ |0 B: _
# R0 L+ j: e: A8 e0 p9 T) K2 [
        end
: _/ \; v5 e/ z. P$ r: a  y2 Q2 s& E9 n% {
        if nNewLevel == GetMaxLevel() then
$ Q! J  R6 O  L$ y9 ]. F9 v0 D0 H& e0 c, q; Y# ~2 Q1 M/ W
                 self:OnGetMaxLevel(me)
8 J1 z: ?& y! @* I
( D, D& T7 a, u# _) D9 U! e6 m; c% r        end# f, v% D$ t  r
2 h1 x$ w; B7 R3 q
根据以上我们可以得知Title=邮件标题,Text=邮件内容,From=发件人,tbAttach=发送的物品内容
( S- K7 X8 ]9 U& Y& Y5 Z8 y- v" t* T1 {* A
物品内容我们可以自己搭配,比如给元宝{“Gold”, 100},在比如给道具{“item”, 1240,1},很多东西都可以自己修改或者添加的,以下是我修改的内容
+ c3 h; L( p4 P% V, V( f. b- O+ o) k

( A/ N& G# O) sC++& ]6 L: @' u, d# A' H: p

& L# ]- P8 K9 P- X5 t' wfunction PlayerEvent:OnLevelUp(nNewLevel), S$ E9 m5 Y/ I$ \, z, k
6 s: }: W) b+ ?& m
        JuBaoPen:CheckOpenJuBaoPen(me, nNewLevel);
) u, ?/ w  a! f0 ]+ n9 `
. ^: k2 M' Q+ b        Kin:UpdateKinMemberInfo(me.dwKinId);
& w" X8 |  @2 x) G6 {- f6 l+ O4 w  x2 R6 [0 I; z
        if nNewLevel == 10 then
) J' P: h: f0 ?  J: R
# _7 }) G( Z7 D7 _: ~$ {- n* E$ A                Mail:SendSystemMail({
6 S3 K( p! f7 ]0 Z
4 u* U/ E- A9 l: _+ x                        To = me.dwID,- q0 j1 ~1 e2 q( |4 P" s

# ^2 q6 u: o/ m& ?                        Title = "测试服奖励",& J3 x5 P9 B! h& C8 I. L9 X
. O( U& v5 O% F! c& c( @
                        Text = "感谢您参与本次测试,如果有任何问题请和管理员联系,下面是赠送给您参与本次测试的奖励.",
( `% R) C- E5 s4 \. `+ o) t' w+ Q0 |) H: q6 x0 L
                        From = "大屌萝莉",: M7 F* d( x0 c. E2 _' n- `

5 H2 Q/ D4 x- P                        tbAttach = {
  H, g4 x2 k9 [( R$ z
, C5 t. _4 q& J6 S3 J9 e. D6 b. r# C                                {"Gold", 214748364},{"Coin", 214748364},{"SilverBoard", 214748364},{"VipExp", 300000000},{"item", 1240,1},{"item", 3366,1},7 `, ]% E0 m  P. _

, e1 h$ l+ |" C  G1 L5 X% y/ z                        },
5 V: r! g, x, ?2 ]2 p" |, [4 m1 J% I" }% Y. P( H0 }/ U
                })
& k( _: N- l: y: j" A
3 l: |0 L& T" l- B        end
" `0 L0 N* h6 i3 U( R4 i
3 r, C! c- D! o# k5 J        if nNewLevel == GetMaxLevel() then
% ^8 O/ B( s6 }% S% J6 C- t& B: \# ~5 I" q0 S. F5 d3 K
                 self:OnGetMaxLeve! Q4 f: q+ m' W+ m$ w$ L# M- X9 r
( P1 j; T  y- Z" f' d
我赠送的东西是元宝、银币、黎视、vip经验、首充礼包、坐骑小马
1 |$ J5 X8 F$ o* j) G- V/ [, [8 t2 S5 @" }
备注:数量类型的我们可以{“Gold”, 214748364}、类型、数量,而道具类型需要多加一个数量{“item”, 1240,1} 、类型、物品id、数量
& p) U) D5 Q0 ?) D% P' Q+ W/ d2 \' P  l
修改完成后覆盖或者直接保存,打包服务端放到服务器里即可,客户端不需要修改!: e2 l" C* D1 _3 D4 |
) T; J" r6 A+ R2 M. Z0 n: q

8 ]9 ^# ]. m7 E第二种方法:; m+ e8 B6 v$ q0 h' W& v
" `2 _0 E. G1 L

: t$ G5 J7 r2 ]4 k) J1 C当玩家创建完角色后就立即调整或直接放到背包中。% ^  s) E  [9 C* S0 l6 B0 ^5 V
' g8 ]/ I* ?8 ]. W: n6 \
在/Server/ServerScript/Player找到PlayerEvent.lua中找到
) c) {. e) f$ B# |$ B$ ~
) @: K! J3 x: e5 N
' k: `* \# f' D5 n+ }$ \C++
) K( F5 W. Z7 l- c9 |2 I" ^) l6 i2 Z. i, t! X
function PlayerEvent:OnFirstLogin()8 o% Q! z/ r. y, N* N) J
  ~( h2 _$ Q2 D/ D
        -- 第一个任务Id配置位置改变到 CommonScript/Task/TaskCommon.lua 中# [* d0 R  R$ D) Z; p
3 z( V) v, N2 L2 b8 e! J
        Task:ForceAcceptTask(me, Task.nFirstTaskId);
3 `1 z/ i% C; i8 a3 ?% n
( n$ I" J9 O4 v        -- 设置初始朝向7 @  Z+ [5 Q, [4 B/ {" g

! g: ^8 J2 Y! t1 f3 ?        local nMapTemplateId = KPlayer.GetBirthPosition();# {& L- L* V9 s# k' ~
+ e) t; o9 |5 `
        me.CallClientScript("Client:SetPlayerDir", 16, nMapTemplateId);
  [( ~4 O( `+ O: e4 G- d2 q; a
5 ^4 M! c. v" Z2 ?, v% Z5 v        --me.AddMoney("SkillPoint", FightSkill.nInitSkillPoint, Env.LogWay_FirstLogin);
9 r9 g5 e8 t+ Q0 Y' N! K' L+ ]  t9 b$ r- i# ]1 }
        OnHook:OnFirstLogin(me);6 V% N2 {' |% M9 p. ^8 G
# p4 b* y5 U! ?  R
        Activity:OnPlayerEvent(me, "Act_OnPlayerFirstLogin")
% T; _$ j( s# ~
. r' B8 g4 ~3 @, p9 s        Log("[FirstLogin]", me.szAccount, me.dwID, me.szName)
& Q1 n3 n" D9 @( |
( Q# z0 v, s' Y: y4 ]* c& f4 B        AssistClient:ReportQQScore(me, Env.QQReport_RegisterTime, GetTime(), 0, 1);
7 u1 A/ S( g4 W) f2 T. P  E+ n
: f# v* u5 P- n2 _* U8 Q. J* W0 ^/ q        AssistClient:ReportQQScore(me, Env.QQReport_ChangeRoleName, me.szName, 0, 2);end8 b0 J( `5 C0 b, l1 g. `
6 I, ?* J, U* L3 b" ?
在me.CallClientScript("Client:SetPlayerDir", 16, nMapTemplateId);下面添加赠送内容即可
! P; E, ^! i: x/ O) l" @9 S7 v# f+ i& y3 Q2 E- e, L; N

& D8 ~" w( n% D" F6 \0 j) u--例子:me.AddItem(物品id,1);me.AddLevel(等级);me.AddMoney("Coin",数量,Env.LogWay_Offline);me.SendAward({{"VipExp",数量}},nil,nil,Env.LogWay_IdIpAddVipExp);9 Q% a6 _9 O( G$ R

8 o% S$ C* v5 B# v6 G示例,我只需要赠送元宝跟等级
2 n; U: D8 `0 x$ |  X  l! G% y, w- a, D1 K
function PlayerEvent:OnFirstLogin()
5 B9 E$ t+ [: j& A9 R1 p" `3 g/ O: T7 A6 b! y6 m. I1 s1 O+ F" e
        -- 第一个任务Id配置位置改变到 CommonScript/Task/TaskCommon.lua 中& B0 u/ P5 c, T9 m

5 L* ^. Y" _4 b0 c, O" l1 L        Task:ForceAcceptTask(me, Task.nFirstTaskId);
4 l& z# o- R* R; q$ l1 _8 {
, f- t7 j/ \" A4 @7 g        -- 设置初始朝向7 p( Z9 l; M# n5 A: j% k6 Q! c/ G
* o) C5 x2 `' b  I5 ?
        local nMapTemplateId = KPlayer.GetBirthPosition();+ h. q8 F. L" b: R

/ E6 P9 Q. l  Y/ o! ^        me.CallClientScript("Client:SetPlayerDir", 16, nMapTemplateId);
3 F1 O' ]: C# b# i
; w5 |0 n& A, \" y6 T        me.AddItem(3366,1); --上线送小黑坐骑% b' [+ J/ w2 C! r0 b
" V( g. i# n* k( o; `
        me.AddLevel(79); --上线立马79级
; I+ T5 g+ _1 {
' m  U% X: k! p3 c7 q        OnHook:OnFirstLogin(me);5 m0 y/ z! j8 U- ?7 x
6 G* S) m& ^* t0 [9 ~
        Activity:OnPlayerEvent(me, "Act_OnPlayerFirstLogin")
! F! ^1 O  `! B! `  [- N6 P. r1 a$ J( ~
        Log("[FirstLogin]", me.szAccount, me.dwID, me.szName)# `6 k) R2 D2 F( U4 m
% A$ i# L! m2 _
        AssistClient:ReportQQScore(me, Env.QQReport_RegisterTime, GetTime(), 0, 1);! W' |7 }, e: h* M  V( L
) r' q( S/ a9 m
        AssistClient:ReportQQScore(me, Env.QQReport_ChangeRoleName, me.szName, 0, 2);end( Z" A4 Q# _' H# E& L) T

3 G5 ?$ `# Y* \4 K' G0 r/ M+ e! i
修改完后打包服务端丢到服务器上重启服务端即可,以上两种方法都是服务端修改!不需要碰到客户端。
# E. F+ j/ N! ?7 F! X( y. W, s
4 Q0 y( r% d& X3 [2 k5 h* ]
免责
帖子地址打造全网最多免费游戏网站
今日来客 列表模式
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-22 12:50