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

 找回密码
 立即注册
搜索
查看: 40404

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

[复制链接]
灌水成绩
17857
95
18361
主题
帖子
积分

等级头衔

ID : 1

管理员

积分成就 威望 : 9
贡献 : 9
下载币 : 382
在线时间 : 1659 小时
注册时间 : 2013-9-5
最后登录 : 2026-6-12

发表于 2025-11-13 22:25:52 | 显示全部楼层 |阅读模式
免责
第一种方法:以邮件形式进行赠送' h3 a+ F. G% u9 _9 R4 h; D

: J0 z/ r# t9 ~$ d第一种方法是当角色等级到达10级的时候,系统会以纳兰真的名义发送一封名为:《纳兰真的馈赠》的邮件,原本官方只赠送100元宝!  C& z- Y9 o' ^* t+ U" b6 ~
$ V7 @. N) Z8 r- ~$ f5 T& i
在解包的服务端文件中Server/ServerScript/Player找到PlayerEvent.lua
6 ]% J& i, {. R: Y' }' u
5 [5 O) h2 m0 U3 I, B" f, F  p' d8 F4 L& c$ X
function PlayerEvent:OnLevelUp(nNewLevel)
/ l  j; p# B+ Z1 m0 F" J5 e& _  [! g
2 q; a6 I3 a" c! b+ L$ k        JuBaoPen:CheckOpenJuBaoPen(me, nNewLevel);
2 y9 `7 X8 D  v# [
8 z/ x: Z3 H  ]        Kin:UpdateKinMemberInfo(me.dwKinId);
2 s5 `' H0 w  ^
, P! }4 K2 P/ ]( [        if nNewLevel == 10 then
& k/ _* S' K1 b, U- x2 j: Q( o( }5 ?; X
                Mail:SendSystemMail({; {$ V1 c5 Y! V6 N, z1 \
2 y+ S( \$ A6 e6 S8 k: M
                        To = me.dwID,9 R2 k& w0 Z1 @1 ]4 L. Z
5 ?+ |+ U# t# b: o/ C8 M( |- e. @
                        Title = "真兒的饋贈",
$ t1 I# S# e. l" [6 }! m. ]+ B1 N( A+ K
                        Text = "你從島上離開已有一段時日了,雖然內傷應該已好的差不多了,可是闖蕩江湖,處處都得小心,尤其要珍重身體。哼,再有一次,我可不救你了哦!我讓郵差捎去一些盤纏,若有時間,便多回島上看看,珍重。",+ c6 R1 q: N5 Z* Z6 y

% A: l7 l- v8 p  U7 ?5 l                        From = "真兒",
2 r) S+ K+ Y& i8 l( D
9 A  z: q- L& B8 k                        tbAttach = {
5 G6 U4 |2 |, N( I: A6 @  y7 E1 `3 H( |  X# J. Y6 l4 P
                                {"Gold", 100},# e/ T8 l6 K# o$ N9 H
4 N/ |7 G" Y$ W
                        },, A+ A# `+ P, ]" S2 q: E' C% t

/ ?7 V+ E+ p5 Q( D" I6 I                })
! I0 \) Y! [' q" J' q' X+ Y# j
' o5 o, E0 Q2 Y! I1 M$ X+ S9 q" [9 k& W        end1 @- Q4 y( Q2 L  L6 t

) ]1 K; G! j8 S; e( w% \- w" y. x        if nNewLevel == GetMaxLevel() then4 P6 p! A& r/ Y* D# ^

  h8 b/ ]% |. L7 F2 y8 V                 self:OnGetMaxLevel(me)* W$ |# o9 P5 j1 Z6 ?
; C$ z, e! G8 l) B
        end
, P& D* _$ j0 O, m( ]0 n( l- U5 U2 L- a5 U2 C. O  {
根据以上我们可以得知Title=邮件标题,Text=邮件内容,From=发件人,tbAttach=发送的物品内容
6 B+ C" o3 F' t9 E7 N( u9 I* l( x# @
物品内容我们可以自己搭配,比如给元宝{“Gold”, 100},在比如给道具{“item”, 1240,1},很多东西都可以自己修改或者添加的,以下是我修改的内容2 E0 D5 }8 X/ a! M/ U

$ s$ c' ^# J$ Y: `- y+ l: {) i3 \) ^& W/ }
C++- l4 L4 |- q; b  p* k4 |# M' `
5 Q9 N7 _# ~7 a1 ]% ]% F( g
function PlayerEvent:OnLevelUp(nNewLevel)" K: B5 {" e9 n
' V5 s" e1 C# ?3 y  k9 W2 E6 J+ Q
        JuBaoPen:CheckOpenJuBaoPen(me, nNewLevel);
! K. Y/ Y9 ~; X  V. ]; X7 z
+ _- G, U( c% `5 `$ J$ m        Kin:UpdateKinMemberInfo(me.dwKinId);8 C7 k9 ?5 y' `2 j: q3 F

2 X2 U5 @8 l# O) Q  ^8 S# _+ q4 o        if nNewLevel == 10 then
  g/ s2 J5 `# f! c  O0 i- o- ^. J+ I" Y. h5 X4 Y' a3 {
                Mail:SendSystemMail({6 _# ~6 M6 [0 ^- h/ S! N

" S8 P. y4 t; s1 m3 F0 A9 A' r                        To = me.dwID,
; R) H2 A( C) N; b5 _. b6 b
% R: _7 ~' Z0 y                        Title = "测试服奖励",3 C: }6 K( Y) e
( ^, m4 J8 R0 _1 z2 Z
                        Text = "感谢您参与本次测试,如果有任何问题请和管理员联系,下面是赠送给您参与本次测试的奖励.",
4 J( c0 _, g1 X& X
3 e4 }2 R" ]9 v# e5 p, X                        From = "大屌萝莉",% R6 {3 d/ l1 J" Z: b

( j4 e2 q4 u* T. r/ I% ^1 O- t- _                        tbAttach = {- c0 M; p- ?* _0 t; H( T/ ^- e

5 `- q* T7 W0 _! w  z: q2 m! T                                {"Gold", 214748364},{"Coin", 214748364},{"SilverBoard", 214748364},{"VipExp", 300000000},{"item", 1240,1},{"item", 3366,1},
6 p6 N- ~5 D7 p7 S& z4 j* r5 j% ]2 T+ J1 u
                        },
1 h* r3 }8 c2 t* j6 o' e6 H+ r5 u! }3 R( u% h6 @4 {
                })
; T: Y$ I1 U6 Z( W. I3 N2 C+ r, G8 _( A" I$ n9 \
        end
% r/ Y  @) x. Y0 W1 \( b4 n( T3 F( P' d
        if nNewLevel == GetMaxLevel() then. P# D$ j5 {' ~# _: A% I

( h$ [5 |' b  B7 m# b) l, i7 v                 self:OnGetMaxLeve8 P6 r% K1 Z) }4 M0 `
+ ~4 @' E- n; h! e1 Y9 Q9 M
我赠送的东西是元宝、银币、黎视、vip经验、首充礼包、坐骑小马
/ m2 f3 L; v7 r; V" h, J+ N. b; Z; e% K. c
备注:数量类型的我们可以{“Gold”, 214748364}、类型、数量,而道具类型需要多加一个数量{“item”, 1240,1} 、类型、物品id、数量
/ u8 E5 b$ d8 w& N
/ N* ?, v1 w3 D1 j& q. f& I1 m/ K修改完成后覆盖或者直接保存,打包服务端放到服务器里即可,客户端不需要修改!3 ~: f" e9 P" i; v+ |3 m1 K: s

0 D/ }! F8 |; [, z+ F  b
, U. e9 C: x% _! p6 D5 M; M第二种方法:
" J; M; @& `# c. W7 V! V/ v; k! K
, n, g. e; v! t8 c. U9 ?4 {; `9 M3 P8 ~2 T
当玩家创建完角色后就立即调整或直接放到背包中。$ [  v1 l0 |5 u1 g
$ N  l4 W& U/ h  y. m7 O, l
在/Server/ServerScript/Player找到PlayerEvent.lua中找到
" u4 T. Z' e" T0 ?9 y) P$ j; D  n- z6 @! T

# N8 C6 L! T, aC++
" |1 @! m) [1 v" t& g$ R+ @
" P/ ?$ \/ z; `; W  Afunction PlayerEvent:OnFirstLogin()7 _; U* T5 _5 Q% z8 p$ H$ r* F" y
3 x& q- M, j4 z
        -- 第一个任务Id配置位置改变到 CommonScript/Task/TaskCommon.lua 中& G  y3 p1 c- H: `
0 u" I7 n+ C+ L2 W
        Task:ForceAcceptTask(me, Task.nFirstTaskId);
( q8 S0 g  t" g' g  |  n6 D
# {: i: j  L. {% t1 M        -- 设置初始朝向
. V" t: n; E1 @) R/ ?) Q  c
. |1 [: r) P  R+ [! T, g        local nMapTemplateId = KPlayer.GetBirthPosition();6 S0 x0 W4 P$ i9 b

; Z& U: G' k3 R6 _* a        me.CallClientScript("Client:SetPlayerDir", 16, nMapTemplateId);7 `  o1 L+ [  n; S9 J. r: \9 `

5 U9 ~' N0 ?$ t+ t        --me.AddMoney("SkillPoint", FightSkill.nInitSkillPoint, Env.LogWay_FirstLogin);
& V- H: s7 e5 M* t1 w
8 `- R3 R5 h* Y/ `        OnHook:OnFirstLogin(me);
% U; ?# I/ u$ o, N* K! K6 B! k
9 y& I, }) d2 ?* e5 Z        Activity:OnPlayerEvent(me, "Act_OnPlayerFirstLogin")0 C2 [+ E: _+ V* M  a4 E+ |" R
9 b- k8 _9 g5 K6 h+ G+ H& E
        Log("[FirstLogin]", me.szAccount, me.dwID, me.szName)
* ~3 J$ \6 H# u, H' I' B5 ^& z# k  V5 U+ g0 d% ^5 m  W
        AssistClient:ReportQQScore(me, Env.QQReport_RegisterTime, GetTime(), 0, 1);
8 O$ g5 \' D. C, U4 v4 M  \
/ d, W3 W% W  m& w( r; P' M9 x: g        AssistClient:ReportQQScore(me, Env.QQReport_ChangeRoleName, me.szName, 0, 2);end
( m) E5 w! n. g3 ^- I6 }5 A
; u$ y3 ~- X3 K/ @/ x8 M在me.CallClientScript("Client:SetPlayerDir", 16, nMapTemplateId);下面添加赠送内容即可5 E2 ?& W5 z4 i, F1 g# X
9 U/ X: w5 {! W2 a. r9 g8 t4 t
* A9 \/ ~! _( c0 `8 C
--例子:me.AddItem(物品id,1);me.AddLevel(等级);me.AddMoney("Coin",数量,Env.LogWay_Offline);me.SendAward({{"VipExp",数量}},nil,nil,Env.LogWay_IdIpAddVipExp);
( Z! l' ^7 Y& C, I* i/ t$ A8 V0 F6 n5 r* C/ C9 ?
示例,我只需要赠送元宝跟等级* X, T$ |$ R& D, B
7 G( s& `( W# _+ ]1 [5 G( ^
function PlayerEvent:OnFirstLogin(): ~1 J! b4 w* T2 u

$ c/ J6 \, a! ?1 K6 c4 B. G9 X) U2 ?        -- 第一个任务Id配置位置改变到 CommonScript/Task/TaskCommon.lua 中! V# [2 Z0 v; ^

: o8 M, S4 y5 e0 z; o        Task:ForceAcceptTask(me, Task.nFirstTaskId);
7 v' t4 A% Q/ Z/ l1 r8 \6 s! {5 {2 K2 U" O% G$ s
        -- 设置初始朝向
6 t7 d9 R7 [. [  e$ `" |& D9 f8 B/ U
. H. _, H- S' W3 E2 a; ?$ F        local nMapTemplateId = KPlayer.GetBirthPosition();* c, ^( O2 ~) ?5 b" X7 d  @) b
2 N% n5 M  `6 a5 d$ ?
        me.CallClientScript("Client:SetPlayerDir", 16, nMapTemplateId);
1 n  n. D: C5 m, U$ c% [; }5 `7 ], Y' ]
' E  K9 l5 v6 ^- H        me.AddItem(3366,1); --上线送小黑坐骑
& w8 U) f' P" ~, M, Z$ a8 F; i: d
) E& M/ T" M4 E& h- y6 k        me.AddLevel(79); --上线立马79级- P, `2 i3 c/ \9 @, N- ]9 L4 [! Q# x

) N* Q/ r  k# L2 s7 \        OnHook:OnFirstLogin(me);
9 [% t% _2 l, A: y! O
0 l: z) F# |$ Z; f. w6 L        Activity:OnPlayerEvent(me, "Act_OnPlayerFirstLogin")6 V  N1 S+ a; D1 ]) }

# P5 T& _  \) y7 n        Log("[FirstLogin]", me.szAccount, me.dwID, me.szName)
' p, m' j, E2 S+ V6 K) r+ w3 O/ i2 h4 x* r
        AssistClient:ReportQQScore(me, Env.QQReport_RegisterTime, GetTime(), 0, 1);5 O0 J- L; _* }/ r' V6 @- q) r9 b" j

* C/ E% u1 ~6 }2 ?6 \        AssistClient:ReportQQScore(me, Env.QQReport_ChangeRoleName, me.szName, 0, 2);end
5 b$ d) {* ?: H, C( E5 x6 S! W+ Y: ^( |; Q6 j+ z  K
; |9 D! n/ k* l1 w  s  I8 X: P/ P
修改完后打包服务端丢到服务器上重启服务端即可,以上两种方法都是服务端修改!不需要碰到客户端。
% [' j8 Z  {4 u/ c( `
0 x4 K) K; |- l  Z! j8 Z
免责
帖子地址打造全网最多免费游戏网站
今日来客 列表模式
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-6-12 13:45