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

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

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

[复制链接]
灌水成绩
19012
118
19589
主题
帖子
积分

等级头衔

ID : 1

管理员

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

发表于 2025-11-13 22:25:52 | 显示全部楼层 |阅读模式 IP:广东东莞
免责
第一种方法:以邮件形式进行赠送
. H2 \7 M7 B; R+ X( `' B. k0 j  L1 t8 g+ N, d3 x' o
第一种方法是当角色等级到达10级的时候,系统会以纳兰真的名义发送一封名为:《纳兰真的馈赠》的邮件,原本官方只赠送100元宝!
, a# i# S) d* V7 |- p7 @% h/ L$ X
在解包的服务端文件中Server/ServerScript/Player找到PlayerEvent.lua4 C/ g7 y+ H) S5 Y1 ]3 y4 O  R

5 b, Y, M0 M# N2 [/ i7 F' W. h4 V0 j8 S: j
function PlayerEvent:OnLevelUp(nNewLevel)
2 w8 K4 ]( {8 f" b
0 |1 `" t7 D% D6 X        JuBaoPen:CheckOpenJuBaoPen(me, nNewLevel);/ v3 }" Q! o# w) Z, I' r

/ S# H, X8 i, ?9 X        Kin:UpdateKinMemberInfo(me.dwKinId);  o5 D* f: J9 j0 x. ?2 K5 k
- U) M. e/ s# m& K. X! D0 {
        if nNewLevel == 10 then
% y& J. O$ P* f- b3 g) S
; ^. ]- Q/ i- `4 `% u8 V% s                Mail:SendSystemMail({* {& P* k/ Q3 ~% d" U# C: N0 r

  \( K( U! K: k& Y3 L' I$ B                        To = me.dwID,
: `6 H0 A& p+ r# ~1 b1 _
" t5 y' _; }3 H5 T! l( o, p                        Title = "真兒的饋贈",* u: ^% Q. V4 z- a/ Y% k

- |: U8 W# W' v- B' a4 P% U$ O: q                        Text = "你從島上離開已有一段時日了,雖然內傷應該已好的差不多了,可是闖蕩江湖,處處都得小心,尤其要珍重身體。哼,再有一次,我可不救你了哦!我讓郵差捎去一些盤纏,若有時間,便多回島上看看,珍重。",
& K3 C9 r( T) K1 G$ k* W
: o* x( _0 x/ i! U  S8 c% |  b, _                        From = "真兒",
/ t/ V5 h/ N* |3 K/ x( ?. S( c" h% X, e" Z; s
                        tbAttach = {7 P( }. B, f8 \3 V9 W2 i6 i4 c

0 ]/ Y; u6 u  i& X2 U2 N                                {"Gold", 100},
1 G  X( v$ b+ E: v% K( s- f
; m: \1 S; Q! T9 U0 \                        },7 f% x2 E" i, a

" M9 C7 s2 ^) k% d" l8 R' K' Q                })9 E  |  m0 m6 o9 R! ^; u: g

6 O* B$ K5 O" _5 I  m6 i! W: p        end# p. ~2 w7 Q" r

9 d* y1 l+ Q! p* B1 h        if nNewLevel == GetMaxLevel() then. {* R- l- w# c* s$ D/ W# O3 d
5 i" q" Q/ y+ @& O
                 self:OnGetMaxLevel(me)
+ Y4 b, I& E7 ?7 |! j
" U* [, }7 Q! b7 t2 Y5 w        end0 _: F  n' ]/ @: X. a% @; N9 e

2 |, {5 W- n4 K7 M! M" [4 R5 ~根据以上我们可以得知Title=邮件标题,Text=邮件内容,From=发件人,tbAttach=发送的物品内容( R' p/ }/ d( W  E# i3 f, L$ }
' b6 @- Y3 c4 H# V( Q
物品内容我们可以自己搭配,比如给元宝{“Gold”, 100},在比如给道具{“item”, 1240,1},很多东西都可以自己修改或者添加的,以下是我修改的内容- X. d! A; F+ r5 _* V% Q

6 ^, c+ }8 c" D5 \% Q4 H  T
$ g+ a, d% X. K- G2 N3 oC++
3 t! k8 F1 D! I% w
9 ^- Y  B0 d- ^% ~/ C7 efunction PlayerEvent:OnLevelUp(nNewLevel)1 h( B1 F# q& ?) N/ V" f$ W
8 b; @/ V1 b6 d% A& C6 l
        JuBaoPen:CheckOpenJuBaoPen(me, nNewLevel);
! M7 X7 P$ o' A4 [) e6 u; b5 a6 T
3 P6 [; G& ], s        Kin:UpdateKinMemberInfo(me.dwKinId);
; j7 X8 q, s: O/ L" A1 m7 s$ i9 N3 x" M1 m& |; x! T. ^/ ]
        if nNewLevel == 10 then
, t# ~  s# I% ]7 H: g2 h6 v1 |: n1 w8 ?5 W3 o; L, E# T, h$ c3 q  E
                Mail:SendSystemMail({
& E- t, y8 u: j, c9 ~5 Y3 _) _" E+ n1 X; {
                        To = me.dwID,3 w( Y3 a1 F2 G  d3 q2 J* V9 j

. Q6 M0 i, V% E' `                        Title = "测试服奖励",
. V# o5 o( r% m1 L3 |6 {
1 K2 D  a; z2 b; T                        Text = "感谢您参与本次测试,如果有任何问题请和管理员联系,下面是赠送给您参与本次测试的奖励.",3 G/ X5 @& g- c6 d( N0 I/ J

7 ~$ |- e' B; m. `- @3 t                        From = "大屌萝莉",' Y* g- }# W- x; ^& m

( p! n! u& k! `; d7 s- o                        tbAttach = {9 f( X" p* I: t, }' z
9 b' Z6 H6 t  h% Z9 f8 i
                                {"Gold", 214748364},{"Coin", 214748364},{"SilverBoard", 214748364},{"VipExp", 300000000},{"item", 1240,1},{"item", 3366,1},: f$ i1 M% Y+ V# c- A5 s! M
$ u- q* s: I8 n) \+ Z6 O' L* G9 `
                        },
* n" {9 A  A' [
& q; Y  A( L: E+ t( `8 p7 v                })
* N8 ~( N, f2 m: V8 n! v- |
# D2 O6 I% P; @* v& A+ u! ]2 y! @        end: q  p1 F# ~8 E* B7 U- v. w5 F

& L, D0 o. q6 x7 l        if nNewLevel == GetMaxLevel() then+ r' N, n, s* z4 m' f6 L6 s0 s

) g% `1 k8 Y6 X) r/ W; X" V                 self:OnGetMaxLeve+ p' I6 ~0 Z* z' X% [; m( s0 ~
: o: b$ |3 I. _
我赠送的东西是元宝、银币、黎视、vip经验、首充礼包、坐骑小马
/ }9 W, O7 Q% i' F' |/ W
& M* i: @% y! W% ]6 |备注:数量类型的我们可以{“Gold”, 214748364}、类型、数量,而道具类型需要多加一个数量{“item”, 1240,1} 、类型、物品id、数量* g( _4 F8 Y) q1 I% v& h, H
9 l! T2 H8 }1 l/ ~
修改完成后覆盖或者直接保存,打包服务端放到服务器里即可,客户端不需要修改!' C2 E4 d: |( w* E2 g. p
; I/ X# e+ J. N4 M% Q2 z0 k
' s* i) U+ I9 c3 u
第二种方法:
( a4 s+ w4 {5 E; {( i9 {7 s" s1 l1 _2 F. m# `* J1 k* V* b, R

% V+ B) @5 P: R# _* O% u当玩家创建完角色后就立即调整或直接放到背包中。
$ ~5 b# z9 \3 H0 ]' Q$ s3 A) S; i; l2 d3 I- F( h' R; [/ l
在/Server/ServerScript/Player找到PlayerEvent.lua中找到
% @' O6 z$ I8 N# O5 L( u! ^$ Q7 w9 z, ?* O
. ^  o% C- ~! z, f
C++
3 F6 j! Z* p6 N$ u' [1 C% a; m
( ]1 D/ Q! _" J1 Gfunction PlayerEvent:OnFirstLogin()
4 t! H* t) ]1 Z$ q  }" b
7 x" P% \) Q) F! l' u        -- 第一个任务Id配置位置改变到 CommonScript/Task/TaskCommon.lua 中
# n+ K( _& G6 p/ @& R4 F8 E$ J, B
: i0 x- `5 D( R9 \8 P4 ^        Task:ForceAcceptTask(me, Task.nFirstTaskId);  T7 s9 H, Y5 e1 f5 W5 A

" b* Z% d. h7 \9 n& P% w9 B- k        -- 设置初始朝向
6 v, i  v. `& [& v& j3 H  D. e# u) T0 f  |
        local nMapTemplateId = KPlayer.GetBirthPosition();
+ G# ~0 R& f( ~7 Y$ @: Q0 V4 i+ {% U" Y9 N, i  T: P
        me.CallClientScript("Client:SetPlayerDir", 16, nMapTemplateId);( C9 n. ~9 |; I+ O

! ^  V: H- M8 F: h        --me.AddMoney("SkillPoint", FightSkill.nInitSkillPoint, Env.LogWay_FirstLogin);8 j4 B) `! I% m

' d. y" h: y, x, H* @% e. B; D        OnHook:OnFirstLogin(me);# t2 G* o# h. U- Z/ ?+ `2 I" p
# {+ |  q" k' D
        Activity:OnPlayerEvent(me, "Act_OnPlayerFirstLogin")
1 n' G* P: L" n% E* d9 n  k) T
        Log("[FirstLogin]", me.szAccount, me.dwID, me.szName)0 Q6 W( e  E  @* D/ `$ Y

" x5 m1 H, @) s% {. @. M        AssistClient:ReportQQScore(me, Env.QQReport_RegisterTime, GetTime(), 0, 1);5 i! {' w: j8 c6 Q
& z  {5 @0 p3 k  p) A! c0 n9 @
        AssistClient:ReportQQScore(me, Env.QQReport_ChangeRoleName, me.szName, 0, 2);end
& w( n9 S' I- O' y; e/ j7 R8 ]9 A! l7 s( G% `# [2 q( d# `$ l
在me.CallClientScript("Client:SetPlayerDir", 16, nMapTemplateId);下面添加赠送内容即可
- g5 U$ F) b5 w9 j) v, m! J1 G0 Q/ \
# C; r6 C( C% X& }) L* N+ @; W6 a5 q" _) N2 N8 B
--例子:me.AddItem(物品id,1);me.AddLevel(等级);me.AddMoney("Coin",数量,Env.LogWay_Offline);me.SendAward({{"VipExp",数量}},nil,nil,Env.LogWay_IdIpAddVipExp);
" M" ]" ~7 o# O+ o; Q; @  K& h+ h# {- w2 t: m# g+ H
示例,我只需要赠送元宝跟等级
( S# x# Z+ O( \0 m; U
/ q1 R7 w8 j. p6 j' Hfunction PlayerEvent:OnFirstLogin()
1 @0 Q8 J6 @' j
' l( Y5 |1 n6 r        -- 第一个任务Id配置位置改变到 CommonScript/Task/TaskCommon.lua 中
3 C+ q' b. b  n% }" s0 A" G# Q0 B% P3 \' }
        Task:ForceAcceptTask(me, Task.nFirstTaskId);
4 T) E- X9 a' r8 J
: n) t6 |8 M/ C' ?. P  O6 O5 h        -- 设置初始朝向
6 m8 g- O/ w7 S8 F$ X, b0 C" \* R& t' o
        local nMapTemplateId = KPlayer.GetBirthPosition();
& o/ D; @( ?) G( V2 _. e1 Q& G, ~* r5 `8 \/ p1 G
        me.CallClientScript("Client:SetPlayerDir", 16, nMapTemplateId);+ l) r3 ?3 f2 a

' `, F. _0 g+ x# y9 K8 M        me.AddItem(3366,1); --上线送小黑坐骑" T% U" @5 }, L9 t) F) ~/ ^5 i6 N" e
0 C+ [3 Z- V" J7 ^/ z# [( j
        me.AddLevel(79); --上线立马79级0 E2 ?* p$ b! V8 d- W: |1 `, o

3 s8 m: D- J3 V3 D3 U5 @        OnHook:OnFirstLogin(me);( H$ I3 O% J4 }, o' G$ S: r: ?
- m0 R& M; `3 Y% j! x' \5 g% K4 o1 C. I
        Activity:OnPlayerEvent(me, "Act_OnPlayerFirstLogin")
! {5 v) d! v6 `: m" f$ Q/ X& t9 r& c
        Log("[FirstLogin]", me.szAccount, me.dwID, me.szName)
& \. D7 l% f7 B  {9 Z8 r) Y9 y% E! \) [; x8 v
        AssistClient:ReportQQScore(me, Env.QQReport_RegisterTime, GetTime(), 0, 1);  T- `4 B/ _2 v4 f( y( |/ }; M+ i; e0 y

9 V8 P* M4 `7 p4 V        AssistClient:ReportQQScore(me, Env.QQReport_ChangeRoleName, me.szName, 0, 2);end1 j+ M+ a1 c, U. a

+ f/ q. s' h2 E6 ?, ~3 v9 T
: M3 L/ _; O* l! S; s修改完后打包服务端丢到服务器上重启服务端即可,以上两种方法都是服务端修改!不需要碰到客户端。
! ]$ h7 ]# W+ w% T2 ~
# H  L! Y) z6 J6 ?
免责
帖子地址打造全网最多免费游戏网站
今日来客 列表模式
本月有问题处理时间8:00-12:00上夜班  9.7发布
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-9-9 17:23

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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