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

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

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

[复制链接]
  • 打卡等级:暂无等级
  • 打卡总天数:268
  • 打卡月天数:6
  • 打卡总奖励:224
  • 最近打卡:2026-03-09 02:43:39
灌水成绩
16567
62
16668
主题
帖子
积分

等级头衔

ID : 1

管理员

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

发表于 2025-11-13 22:25:52 | 显示全部楼层 |阅读模式
免责
第一种方法:以邮件形式进行赠送5 i8 x6 ~, Y4 s$ H% a# K
) N0 f* l$ e3 X
第一种方法是当角色等级到达10级的时候,系统会以纳兰真的名义发送一封名为:《纳兰真的馈赠》的邮件,原本官方只赠送100元宝!
& k5 j0 P. b- {% B; ^+ s# c; k4 e  H! T  @0 }, Q) X! z+ V! V7 ]
在解包的服务端文件中Server/ServerScript/Player找到PlayerEvent.lua
5 n! N& K8 e4 Y3 U! _  A0 Q  [) P, ?* L
; A) A0 C) ^3 c4 X  Y
function PlayerEvent:OnLevelUp(nNewLevel)
2 Y3 A+ o& L) e1 b1 E0 L' F( C
, l9 Y( L, ]. t  h# q8 z4 v        JuBaoPen:CheckOpenJuBaoPen(me, nNewLevel);
# G5 ^: D- j7 q4 l% ^# @
6 Q# K7 H# B+ k) T" H& Y        Kin:UpdateKinMemberInfo(me.dwKinId);
  P/ }4 d* q& {2 \! r$ }# G  D" J
        if nNewLevel == 10 then. G9 g  X% Z9 h

/ ?' D. [$ G  M  F3 W                Mail:SendSystemMail({
; ?* N# ^3 @9 y8 b- ]5 k
* d1 P' K9 }; V, V/ {3 s% c" N                        To = me.dwID,
) Q: P5 t1 z6 b
6 e+ p2 B7 t% F7 F6 e( C- B8 u  J5 p                        Title = "真兒的饋贈",
; a1 s* u8 O5 N( A4 F* H
2 k6 X* _7 q- Y& R& B( r                        Text = "你從島上離開已有一段時日了,雖然內傷應該已好的差不多了,可是闖蕩江湖,處處都得小心,尤其要珍重身體。哼,再有一次,我可不救你了哦!我讓郵差捎去一些盤纏,若有時間,便多回島上看看,珍重。",
$ I& Z4 C; j2 e, S( m% @* Y# ?# ~% _1 ^4 k: S. o3 @# ~
                        From = "真兒"," Z/ Q9 a( r2 M# I, E0 S
: E% P/ I/ ^# q9 v& x, `9 R
                        tbAttach = {
5 p  B  j( o; ~8 T3 {
) }7 _" o* b$ z( O% J! B                                {"Gold", 100},
. {" z& w8 U6 P% z
+ N7 e2 [' ]7 r, r" i2 n! G, \( R                        },0 U! o& k" |& Q1 q7 r+ a9 b7 I
8 E- Y8 _0 C6 C
                })
- @0 q3 u2 V4 Z( p+ `% ?
) ]: ^; z+ n! x7 {        end% t$ ^' ^8 f, x! n, V% U  B  ^/ d

- d1 C* o4 j9 z: q6 L6 X        if nNewLevel == GetMaxLevel() then
, L( j6 k" }/ M% G$ u3 x2 H% T
8 h: r8 I# r& m/ K3 d, w' h                 self:OnGetMaxLevel(me)
; p6 O. z- J7 a9 P; g9 s  T' u( |4 v# M/ F8 g1 g+ {
        end4 h' Y) S6 S1 X$ Q% ~

0 G5 [% L$ R* k$ P根据以上我们可以得知Title=邮件标题,Text=邮件内容,From=发件人,tbAttach=发送的物品内容
) g4 o( ?! R( X5 u& }1 h# S& h5 j
6 R& O, J9 {- f/ N物品内容我们可以自己搭配,比如给元宝{“Gold”, 100},在比如给道具{“item”, 1240,1},很多东西都可以自己修改或者添加的,以下是我修改的内容4 F6 G! u( |) U4 ~' V: N

# s+ u$ O; U5 a4 r/ u9 Z; a
! h% T2 S/ ?: w* s( dC++0 K: V& {+ U! z2 j6 v' K

: T  e( ~! @7 b- [, J9 Ofunction PlayerEvent:OnLevelUp(nNewLevel)
* \9 k% v8 @& Z; x+ f( c
- r4 O, q/ S2 A0 M$ ~, y# U        JuBaoPen:CheckOpenJuBaoPen(me, nNewLevel);1 K8 T. q3 i6 M, O

. T! e- @& D+ ~0 m7 D        Kin:UpdateKinMemberInfo(me.dwKinId);- i' J& H  [* C' |9 _
; ]- t* r" K7 r, K4 B; L+ v2 V
        if nNewLevel == 10 then
, m: j" {  X) M, j* h; }7 H0 {6 s5 H9 u  q/ W
                Mail:SendSystemMail({
0 W8 ]) Y6 x8 a2 p/ }) ^& G( Q/ `# p! c: l: M
                        To = me.dwID,
/ K. C9 Y3 [) a1 \" c- x* ~1 Q& p$ @
                        Title = "测试服奖励",
4 t9 a6 x" T  {0 `; Z3 `1 w: j* f! E! U
                        Text = "感谢您参与本次测试,如果有任何问题请和管理员联系,下面是赠送给您参与本次测试的奖励.",
0 {7 k8 I/ S1 N0 a$ C- a/ ^' V, @7 ~5 R0 q5 ]) y* S; ]# }. T
                        From = "大屌萝莉",/ F% B# h4 E, x; d$ t! N
+ B# Z; D+ h* H6 P% P: ~
                        tbAttach = {9 o3 D1 P" I6 a3 K' O8 G) x

7 v; U- w1 @8 {, Z  ~! ]                                {"Gold", 214748364},{"Coin", 214748364},{"SilverBoard", 214748364},{"VipExp", 300000000},{"item", 1240,1},{"item", 3366,1},
- l; B# E9 ^& r1 n$ K" F( J7 [
9 O" }2 I6 I# e. m  \                        },3 @. G6 Y* _; M) h. J

" L! W1 j2 X; t2 N                })9 s* u) @$ M% R6 J$ O: h1 J
8 Q8 K+ l4 j5 t+ g/ x7 F/ l
        end
' G$ f8 M! }. k; v
5 q9 e$ K- m0 y# N# v1 C! `        if nNewLevel == GetMaxLevel() then
; i# l; M# ^3 W% y
5 p4 ]) ^! I& l4 U; z: d: u                 self:OnGetMaxLeve" z6 U+ M/ V' D3 I4 G
8 z7 ]( W) b. j4 A3 ^- T5 [& h+ ~
我赠送的东西是元宝、银币、黎视、vip经验、首充礼包、坐骑小马
- l" J# e1 n6 O( c8 N
( O) z) P, h% G2 r, q备注:数量类型的我们可以{“Gold”, 214748364}、类型、数量,而道具类型需要多加一个数量{“item”, 1240,1} 、类型、物品id、数量
2 p6 F9 A- v: L" ~& C5 `1 f
: i' g& W# k8 \$ e4 C  V5 o修改完成后覆盖或者直接保存,打包服务端放到服务器里即可,客户端不需要修改!0 q6 C" w% {0 t+ r# ~9 Z

3 a) A1 o/ O- H0 n! u
( e5 H3 L3 ^8 o# y8 x3 D" p; |" V第二种方法:2 J% p( v/ l4 n! ?- E3 B/ R
* [, U3 L% j8 P( `' d
' O1 S! f/ l, U) N4 `
当玩家创建完角色后就立即调整或直接放到背包中。  b* C9 \8 Y4 [' D

: f& P& v$ _/ I; a' }! B0 ^6 o- d在/Server/ServerScript/Player找到PlayerEvent.lua中找到
- r0 h( U6 M7 N0 b5 W' D- _- M  x+ K
& @0 a  }; V; _" D
! Q7 z. g; V: H. w& w$ K7 kC++
, ~1 ^8 l9 Q" e
. y( `0 X9 |  F  Zfunction PlayerEvent:OnFirstLogin()
; W3 U9 B8 {: L! p
+ k( ~& Q& j: a+ q        -- 第一个任务Id配置位置改变到 CommonScript/Task/TaskCommon.lua 中8 V% m: g5 r4 Y& q

9 C3 s4 p! s! @2 H/ C        Task:ForceAcceptTask(me, Task.nFirstTaskId);! E6 ?+ k, n; O& I: n( `
( R+ }& `4 D. t9 U( M/ @% I' M% [
        -- 设置初始朝向: Y4 s8 t( d8 p: L
# C% q2 |' p/ l9 _0 V" {+ `
        local nMapTemplateId = KPlayer.GetBirthPosition();- P$ |" n. q8 \& H( t" L: @

/ |, |4 m6 h, m        me.CallClientScript("Client:SetPlayerDir", 16, nMapTemplateId);  U2 ?  E" G8 j0 M, y/ I
! g9 Y: c# F0 G4 u1 U
        --me.AddMoney("SkillPoint", FightSkill.nInitSkillPoint, Env.LogWay_FirstLogin);
( j! {1 ^: F/ `) T2 ~  v
% T/ I2 e" ^; B3 |        OnHook:OnFirstLogin(me);
( q7 ^+ a6 e8 X- \7 g1 O9 q) B% f) B- t9 a: N* L" ?3 @1 S7 s8 R! {& t
        Activity:OnPlayerEvent(me, "Act_OnPlayerFirstLogin")9 ~" @6 l- m" j+ c
: ^2 i/ o6 a) p  Z8 b" ?; Q
        Log("[FirstLogin]", me.szAccount, me.dwID, me.szName)$ q& d' f9 ], _8 @5 p* D7 H, x  M
; @/ S( G. y; p* R
        AssistClient:ReportQQScore(me, Env.QQReport_RegisterTime, GetTime(), 0, 1);+ m' c$ ]% f$ L# N5 L

" H) {+ r2 ?  Q        AssistClient:ReportQQScore(me, Env.QQReport_ChangeRoleName, me.szName, 0, 2);end/ j9 V  f- ~- Y2 V+ H$ `
; Z& y) K  q8 {- Z( p6 [
在me.CallClientScript("Client:SetPlayerDir", 16, nMapTemplateId);下面添加赠送内容即可* ]5 \4 w: B5 P# n, W0 _' ~/ ~$ g: Z
! r4 H; H& }) V! p( J

" X8 ~6 O3 D+ T7 x) x9 a" h--例子:me.AddItem(物品id,1);me.AddLevel(等级);me.AddMoney("Coin",数量,Env.LogWay_Offline);me.SendAward({{"VipExp",数量}},nil,nil,Env.LogWay_IdIpAddVipExp);
% y1 `3 x, z" `: K' Q" F' f' s( B/ T+ d" r
示例,我只需要赠送元宝跟等级
" W8 L( x* M+ z& u8 `/ `2 T' L
function PlayerEvent:OnFirstLogin()0 o6 {7 ~* Y" B, u+ r) N" O1 k

( T5 ~( A) \% @8 ^' p1 |        -- 第一个任务Id配置位置改变到 CommonScript/Task/TaskCommon.lua 中
- l7 h# E. t5 ?$ b( V8 |% D' }) N* c
        Task:ForceAcceptTask(me, Task.nFirstTaskId);
& [3 M6 f# e9 ^3 V4 _! d% y- d+ c; k
        -- 设置初始朝向/ T/ D1 f) N) @) T4 `

- q8 t' v: N# _        local nMapTemplateId = KPlayer.GetBirthPosition();
! p" I1 R4 h( `# O
' S2 t/ R9 d3 m9 @+ \  t        me.CallClientScript("Client:SetPlayerDir", 16, nMapTemplateId);
7 P; X  u( C$ u& S" I  s. @5 I# v/ n4 Q* ^
        me.AddItem(3366,1); --上线送小黑坐骑2 a0 s. ]$ m: \  K* d, E
4 B9 Z0 {% r$ p4 B, F, @, ]
        me.AddLevel(79); --上线立马79级" i4 e% j& K" G: A
% [' w* Y: \6 N/ F- K6 u
        OnHook:OnFirstLogin(me);
( r' Z& J, T% U- R& }- _+ d3 M6 g7 s) K# q' X5 X
        Activity:OnPlayerEvent(me, "Act_OnPlayerFirstLogin")8 x5 e1 f& t- L

. C! U8 y! }# P  K. I2 R        Log("[FirstLogin]", me.szAccount, me.dwID, me.szName)
+ i$ c: j! ~+ C
5 g% ?" v% p! d9 a; a        AssistClient:ReportQQScore(me, Env.QQReport_RegisterTime, GetTime(), 0, 1);1 i0 i5 r! x; X9 g5 A
8 b* B% h* h! H
        AssistClient:ReportQQScore(me, Env.QQReport_ChangeRoleName, me.szName, 0, 2);end
0 L, {$ n% J3 B9 t" x4 U( O8 E1 k: A0 m9 v+ p9 R& J
  a0 k8 k: s* \6 W$ g
修改完后打包服务端丢到服务器上重启服务端即可,以上两种方法都是服务端修改!不需要碰到客户端。9 y( n+ i2 x8 m3 z& M2 G! _" w! d
. B3 W5 y  e& f3 C
免责
帖子地址打造全网最多免费游戏网站
今日来客 列表模式
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-3-9 10:38