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

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

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

[复制链接]
  • 打卡等级:暂无等级
  • 打卡总天数:312
  • 打卡月天数:22
  • 打卡总奖励:255
  • 最近打卡:2026-04-22 12:22:39
灌水成绩
17443
88
17925
主题
帖子
积分

等级头衔

ID : 1

管理员

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

发表于 2025-11-13 22:25:52 | 显示全部楼层 |阅读模式
免责
第一种方法:以邮件形式进行赠送* e+ x- k4 ?' n* |( O/ K
( J+ b8 h% \" n
第一种方法是当角色等级到达10级的时候,系统会以纳兰真的名义发送一封名为:《纳兰真的馈赠》的邮件,原本官方只赠送100元宝!
" v0 P+ i! Q; ]7 o
) _& [" Z: Q* z6 Y1 e在解包的服务端文件中Server/ServerScript/Player找到PlayerEvent.lua( u" F/ l9 ~2 ]/ C
4 e' X- q( C$ w' Q* x* D
! L/ X, W& W/ P% K
function PlayerEvent:OnLevelUp(nNewLevel)) S8 ], T# L. U' r' X

0 b7 P+ |# f3 o5 R        JuBaoPen:CheckOpenJuBaoPen(me, nNewLevel);
: E4 Q* e5 u$ q" S$ Q
/ N0 g! a' W. o+ `        Kin:UpdateKinMemberInfo(me.dwKinId);* Z6 J. k6 z+ \7 ?# B+ o
" ^1 ?9 ~0 E" H1 L
        if nNewLevel == 10 then
4 l& d7 U  U+ \4 G+ Z# _! x1 z. C9 E; j# H
                Mail:SendSystemMail({0 n' n  i# L: n. R/ u
) b7 L. [, Z( O- t( r
                        To = me.dwID,! x! r" n$ r$ {0 ~/ T

; w" x3 i4 c1 Y0 Z& g                        Title = "真兒的饋贈",
7 {* Q% a8 F# ~% }- j: f1 j2 _9 j4 q* O
                        Text = "你從島上離開已有一段時日了,雖然內傷應該已好的差不多了,可是闖蕩江湖,處處都得小心,尤其要珍重身體。哼,再有一次,我可不救你了哦!我讓郵差捎去一些盤纏,若有時間,便多回島上看看,珍重。",
* D; i7 N( i1 C- w( Z8 {) U: @: v" N& x6 t
                        From = "真兒",
; r+ |: u! y' f' B9 X3 O' e" y& N7 `! t% f& m6 T, g
                        tbAttach = {- E. L$ L- ]8 x

. A7 v* |# F* m, Z) d                                {"Gold", 100},
4 l  ?' w; O% S0 g2 c8 N" t" e4 x+ x
2 _8 B) D3 Q9 O                        },/ i3 y3 s, S# n: N* \: R" \
3 S( h, _4 V$ Q1 a- m( b
                })
7 G( ]& d# r& y1 d# `, N+ W7 {. G
        end
1 b, A3 b: h' \& }+ R, B( C7 J, E  n" ?$ f
        if nNewLevel == GetMaxLevel() then4 u; |3 y3 J* Q$ _6 M% M

5 Y) ?, k' s% k$ L5 o                 self:OnGetMaxLevel(me)' W9 r1 W, G- |& k- Y

% K- @1 t+ l. ~        end# c4 v. h! {. z$ B6 I  I/ L
3 ^) A# n5 V. W- Z7 N0 v; L: V: _
根据以上我们可以得知Title=邮件标题,Text=邮件内容,From=发件人,tbAttach=发送的物品内容% L" a1 [3 i3 m7 V

2 A9 Y" c5 {8 l. A物品内容我们可以自己搭配,比如给元宝{“Gold”, 100},在比如给道具{“item”, 1240,1},很多东西都可以自己修改或者添加的,以下是我修改的内容
- _1 B0 ]- m5 x4 h* {/ z; g. S: L/ h
- I# Q( X# g  N7 @, _# D4 ?/ l4 V5 f$ r6 G+ p. b: \
C++' R6 C) n: R9 F, C
' r9 R/ y# a, v
function PlayerEvent:OnLevelUp(nNewLevel)
! e# S3 n' Q6 l0 E# d9 s
- J1 }. Y' _8 k1 _        JuBaoPen:CheckOpenJuBaoPen(me, nNewLevel);7 h# u" e2 n1 N( o) U$ r" d( z
" V: H, G8 O9 O- l7 [
        Kin:UpdateKinMemberInfo(me.dwKinId);4 \" s: I) |: b7 v! x
  }" t8 i2 T; N  e
        if nNewLevel == 10 then
; h; z. S; M1 ~; S
9 D% n: S3 w$ R6 n5 o                Mail:SendSystemMail({
" j) e% [! j" Z, w& y( S
1 H: w: Q/ f; L8 k. f4 D9 d                        To = me.dwID,
! P( e, \& Z1 X/ {7 X* z8 Q6 C8 A" O% O! L
                        Title = "测试服奖励",0 K9 v4 b5 D7 ]6 l/ w5 Y; i7 O

7 p2 D) ~' ?! Z1 c                        Text = "感谢您参与本次测试,如果有任何问题请和管理员联系,下面是赠送给您参与本次测试的奖励.",8 R6 p$ W# j( k5 u+ V* S
3 O7 [+ b4 W) \5 I7 @% z
                        From = "大屌萝莉",
# ?+ {) ^3 b* O3 I  F" k( q
. @9 {* H0 X& V2 H& c- Y2 X! l                        tbAttach = {
3 n2 A. @( b5 n% Y0 V) Q/ S& v6 N$ R* V; o  y! P
                                {"Gold", 214748364},{"Coin", 214748364},{"SilverBoard", 214748364},{"VipExp", 300000000},{"item", 1240,1},{"item", 3366,1},
* U8 e+ _; s% L5 d; p2 h/ q4 T+ Y
7 k) @+ b, r9 ^3 l                        },
5 y5 `% o8 _  I; {5 W: @0 j* m' c1 Z2 C# x
                })
7 V" c0 p+ r/ C. o' R# P: T# t! \; }* _+ G! l% A* x
        end2 A5 C& t0 n# o) w

$ B; s& N9 C- T" c2 ~) H0 h        if nNewLevel == GetMaxLevel() then& }6 |+ ~1 @2 P8 k8 N4 I! Z$ \* z
  d! U, P, Q# q% `0 [% K' D/ J
                 self:OnGetMaxLeve
* t, S0 f' Y! L/ x, U, b8 X0 C
# k9 E% M- |& m! I8 j, q4 m6 O我赠送的东西是元宝、银币、黎视、vip经验、首充礼包、坐骑小马7 ]; a7 m) y1 f7 j( Y7 a% v9 ~* e$ k

# d/ r, u" e2 g; t备注:数量类型的我们可以{“Gold”, 214748364}、类型、数量,而道具类型需要多加一个数量{“item”, 1240,1} 、类型、物品id、数量( G+ o" X$ [$ l( f4 D
1 Z1 J/ Z/ k- h/ l# U. L$ i- p9 ]4 T5 r
修改完成后覆盖或者直接保存,打包服务端放到服务器里即可,客户端不需要修改!0 a& [# X4 T4 o8 n8 j+ t

% S3 ]" w5 F$ E4 P* a$ d% x% v+ [( W8 w% J; m, ~2 ]
第二种方法:. _1 Q; j" m- j1 {& @% y

( j- S8 p- l# A+ b
7 F. j2 N7 \6 }$ d! k当玩家创建完角色后就立即调整或直接放到背包中。" A- f# g4 b& E4 o. W) U
! P6 }( k- _/ W% @; x/ U& r
在/Server/ServerScript/Player找到PlayerEvent.lua中找到# G! o# N! S4 y- p: ^+ ?) F

6 L# t* P/ z3 k6 @# @& M
3 X# M  G* v1 C" dC++7 d: H6 f/ v! Y7 e7 s
6 V& [# u0 v5 P. Q6 `: Y. n
function PlayerEvent:OnFirstLogin()
/ L# a4 e0 K; A
, U$ g  u3 `* _. U" B! }& o        -- 第一个任务Id配置位置改变到 CommonScript/Task/TaskCommon.lua 中6 K% n7 a$ C7 Y1 F+ U
( z6 @. X5 s" u$ R% \
        Task:ForceAcceptTask(me, Task.nFirstTaskId);
/ Q8 T6 j5 ~( a9 x0 r, U* ]! G1 p( p7 u; d" Y; A5 I- e2 P; B
        -- 设置初始朝向: z2 |5 s8 g" a+ }

- X9 a+ S. ~+ U) v' j) O! K        local nMapTemplateId = KPlayer.GetBirthPosition();5 K' M1 X0 i# @& [: C

( r, I% N" K1 t$ O# ]6 G3 L1 e        me.CallClientScript("Client:SetPlayerDir", 16, nMapTemplateId);
9 Z8 a0 U  ]% R- H7 t7 n% [+ b8 x5 j$ B& ~9 U6 t* x' J
        --me.AddMoney("SkillPoint", FightSkill.nInitSkillPoint, Env.LogWay_FirstLogin);+ h7 c, M/ E5 n& u* @" D4 a% z

) l8 V) f6 M  p! h0 a4 U# \        OnHook:OnFirstLogin(me);: M' K3 g: _! H. _

0 p- N4 C( R9 ]- G$ z$ ]) _- a        Activity:OnPlayerEvent(me, "Act_OnPlayerFirstLogin")
; b4 t) n8 n$ |7 U% {2 d4 E$ z; [2 n
        Log("[FirstLogin]", me.szAccount, me.dwID, me.szName)
  V1 N) |* {7 g$ ^
  `' Y& ]( L5 r$ n: B        AssistClient:ReportQQScore(me, Env.QQReport_RegisterTime, GetTime(), 0, 1);
# _9 J) T2 H: u- C9 V% U" V7 }$ ]7 m9 _# I- N3 E9 E
        AssistClient:ReportQQScore(me, Env.QQReport_ChangeRoleName, me.szName, 0, 2);end6 @7 t+ l8 \+ m  \1 u
! z1 [% H, V2 x9 ?8 z5 Z3 e
在me.CallClientScript("Client:SetPlayerDir", 16, nMapTemplateId);下面添加赠送内容即可
& N3 F2 ~: q/ l1 Z5 Q; K& T7 S, g/ P) J% x
- v6 ^! J1 B, T7 R. s
--例子:me.AddItem(物品id,1);me.AddLevel(等级);me.AddMoney("Coin",数量,Env.LogWay_Offline);me.SendAward({{"VipExp",数量}},nil,nil,Env.LogWay_IdIpAddVipExp);  z; {  X" l7 v- X4 E: {

- r: r+ y5 ^5 u9 f  a9 H7 W示例,我只需要赠送元宝跟等级: b. f; t. q3 k6 |" w

: F5 ^4 q8 Z3 O4 z! n1 F4 Y: g. xfunction PlayerEvent:OnFirstLogin()
7 L9 {7 H  g8 r' y$ O6 Z6 y( M4 D$ U6 b" f
        -- 第一个任务Id配置位置改变到 CommonScript/Task/TaskCommon.lua 中
  ]' H' B( Q; L; |" S
; n9 r2 c; q# Z9 |, {- p        Task:ForceAcceptTask(me, Task.nFirstTaskId);, Y, n0 C; y+ B! Y. u% h. U# Y

$ a' }! h. z2 L) h$ C+ r        -- 设置初始朝向' n7 P! L; r1 h
- L" i  m$ Q1 C5 R9 W/ h
        local nMapTemplateId = KPlayer.GetBirthPosition();
1 ~" g* d3 `9 ]- i% t* O/ ?% O7 R4 z' o; M9 M6 X
        me.CallClientScript("Client:SetPlayerDir", 16, nMapTemplateId);
* e# T) y" _, o: D
9 Y1 k( D1 i2 s        me.AddItem(3366,1); --上线送小黑坐骑2 x- v# z- S, t: M3 q" t( U% v
9 n% i# o& I! G- x9 U/ ~
        me.AddLevel(79); --上线立马79级1 f: m8 T4 m8 c7 i2 K
, W8 d8 A5 F$ u3 \
        OnHook:OnFirstLogin(me);
/ Y/ |4 g$ Z# z- ?8 j2 K# z' g9 K1 a0 F/ g
        Activity:OnPlayerEvent(me, "Act_OnPlayerFirstLogin")& g$ o8 J2 ^% |7 i" _: B9 X% U

: [9 d8 B- S% ^( f        Log("[FirstLogin]", me.szAccount, me.dwID, me.szName); _4 |& T) Z( B2 D

, c6 u. k; r& B, h2 K7 L5 D, U% g        AssistClient:ReportQQScore(me, Env.QQReport_RegisterTime, GetTime(), 0, 1);: E2 H/ R8 @/ |

- r7 \7 a: F: q3 v' J: ~' B+ L        AssistClient:ReportQQScore(me, Env.QQReport_ChangeRoleName, me.szName, 0, 2);end0 o, I5 ?( r9 w. v: W
' Y; O- F+ v3 G8 w- ^* b
6 ]! H% o0 A: H* C4 D" X, z
修改完后打包服务端丢到服务器上重启服务端即可,以上两种方法都是服务端修改!不需要碰到客户端。( \7 A- g. I! ~( B: R
9 X/ A& w3 L( F
免责
帖子地址打造全网最多免费游戏网站
今日来客 列表模式
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-4-23 07:27