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

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

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

[复制链接]
灌水成绩
16304
62
2037791
主题
帖子
积分

等级头衔

ID : 1

管理员

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

发表于 2025-11-13 22:25:52 | 显示全部楼层 |阅读模式
免责
第一种方法:以邮件形式进行赠送
! z8 v& B6 N7 m# E/ u$ o7 a
7 Q! h* Q# F, _5 F第一种方法是当角色等级到达10级的时候,系统会以纳兰真的名义发送一封名为:《纳兰真的馈赠》的邮件,原本官方只赠送100元宝!
4 n" _6 E0 i2 N+ b8 A7 m) C$ s1 N6 r. p# x* [6 S! U# L# Z
在解包的服务端文件中Server/ServerScript/Player找到PlayerEvent.lua
2 I7 \0 O& p! J, V2 ?7 {/ N/ L/ J

$ e% @4 Q0 {% T4 h' r8 gfunction PlayerEvent:OnLevelUp(nNewLevel)$ Y1 K& V5 \1 ]/ m. L

4 P# J) I" s( v; B% H% _1 n" p        JuBaoPen:CheckOpenJuBaoPen(me, nNewLevel);
: R3 b- T. n9 W7 p/ _* h- u6 Q( F% k( C/ I) s, R
        Kin:UpdateKinMemberInfo(me.dwKinId);
+ [! u. c" |; L; O. W% H
/ f4 s" J! |4 E& M        if nNewLevel == 10 then/ t8 K3 {( H: D5 @6 L! \

" C! H( R" }8 g2 [/ P/ J( K                Mail:SendSystemMail({
* x' D6 y# q  [) X( r  G6 e! b
                        To = me.dwID,
0 k* ~' z6 e' }$ d. ^
% {# n4 C# M3 M                        Title = "真兒的饋贈",
5 F& }. M7 c3 w5 c0 U$ j* R  n2 \: ]9 A* q* e8 b
                        Text = "你從島上離開已有一段時日了,雖然內傷應該已好的差不多了,可是闖蕩江湖,處處都得小心,尤其要珍重身體。哼,再有一次,我可不救你了哦!我讓郵差捎去一些盤纏,若有時間,便多回島上看看,珍重。",
2 B- Y/ k/ [. ?6 z2 r8 D6 b
% [! p! f5 k* s! l5 E  X7 \                        From = "真兒",/ W6 U4 ?6 s4 X
# W3 P% ]6 Q2 E8 i+ S% \# ]
                        tbAttach = {, d7 e) B( R2 c8 _! _0 u& {

5 D* |% F* G0 H, Q6 r9 Y1 [4 q, @2 M                                {"Gold", 100},
1 b* Y& C; p4 w* ?  Z( e7 j1 k) W8 W! F0 W
                        },
" L) Q+ W/ F/ N
* s$ {/ v% k2 q* o3 I                })4 x* c7 ^6 J' Y( Q
% }  R% ^+ q; r$ J
        end
) t& o4 l9 k; v/ z" ^& B% x
+ x) \; t$ O& F# s        if nNewLevel == GetMaxLevel() then
5 i: `& j, k* ^  F2 G: t. O  S
                 self:OnGetMaxLevel(me)0 Q& w0 w7 v% r6 v; P' ^8 J

% ^  }  r  a: ^, M- @" l        end( R" o) e' q9 A/ q& A( G0 s% \) _
1 @2 A3 J& U2 Q: i% {
根据以上我们可以得知Title=邮件标题,Text=邮件内容,From=发件人,tbAttach=发送的物品内容
0 U; V9 L3 W6 t$ p& r7 y# O- t4 Z% S
物品内容我们可以自己搭配,比如给元宝{“Gold”, 100},在比如给道具{“item”, 1240,1},很多东西都可以自己修改或者添加的,以下是我修改的内容0 b- w1 H8 v9 w5 j) L8 j
* A- P( P3 p7 j( |

2 i( F- m- _' h4 ZC++$ V0 O! ?- M8 t0 A

( N( c% H# V+ p+ B% A" ^function PlayerEvent:OnLevelUp(nNewLevel)
3 N5 T& j9 a9 x2 `3 p$ B7 r) D/ M7 {- Q( }8 P/ I9 \3 K9 d
        JuBaoPen:CheckOpenJuBaoPen(me, nNewLevel);
0 i; H  |: F- ]0 C2 g' ]" e
, H9 w" b* V9 Q, ]' V        Kin:UpdateKinMemberInfo(me.dwKinId);. x- O% t: I* I% r6 @! P+ d
5 j3 g9 ]; V5 W! a9 Q
        if nNewLevel == 10 then; L+ V/ E& g8 ?' z3 w. x* d

6 i, V( E( W" V& d4 ~) U                Mail:SendSystemMail({
3 Q# S- w% X1 d3 y5 S5 A" M2 f' V0 E. `4 P
                        To = me.dwID,$ p6 c- E' A4 N- }$ F5 J+ @

3 T8 J4 K, v5 t* ~& h                        Title = "测试服奖励",2 I$ }( X/ u  M* j8 S/ _1 \
4 c3 b  G  M, h. U  m# V# I2 E
                        Text = "感谢您参与本次测试,如果有任何问题请和管理员联系,下面是赠送给您参与本次测试的奖励.",
2 f# Y# S$ ?* S& w
. _3 F+ G/ {- g: T5 U* E                        From = "大屌萝莉",
% r+ o/ `8 g% }  v$ t% z
" R; h: g0 X' o+ v( r                        tbAttach = {
+ X1 U- B) ?" @9 Q2 j5 }
) ^5 a5 E; ?5 U5 ~9 N                                {"Gold", 214748364},{"Coin", 214748364},{"SilverBoard", 214748364},{"VipExp", 300000000},{"item", 1240,1},{"item", 3366,1},  s' t/ w- L( w$ y, N- R  S7 X

  l/ ^+ L% F8 r5 H2 M, o8 {  _                        },
6 _6 v$ i! m, `/ J5 d. \8 D/ g+ t& E8 j1 ~) |$ H; v3 d1 d
                }). w+ Q  {4 q  d5 l' T5 A2 e
: L4 p  K# ^) m) D6 `, `
        end6 g4 J; x. G& q6 y! F3 q

0 u, F7 i4 w7 T- l4 J" c        if nNewLevel == GetMaxLevel() then4 A5 v7 s7 Q6 ]  O

7 a( T, k. o' }( M, W0 q                 self:OnGetMaxLeve
7 a9 a5 r" L8 V: z4 P7 L6 I. _4 x$ m' B* b# d
我赠送的东西是元宝、银币、黎视、vip经验、首充礼包、坐骑小马
# a2 d4 ~1 B; Z. ~6 f/ T& U+ J/ S8 U) \+ i) o  e9 N; k, x$ G( Q. O
备注:数量类型的我们可以{“Gold”, 214748364}、类型、数量,而道具类型需要多加一个数量{“item”, 1240,1} 、类型、物品id、数量* B  r# o) ~& a5 [* z! U

- I: J# f3 O: m. O- n: \% Z修改完成后覆盖或者直接保存,打包服务端放到服务器里即可,客户端不需要修改!/ O& c( X7 T/ n. a. g# B1 s( J

, ~5 U: a' ?% V0 t7 p, v- |, u4 ~9 s  G5 w  Z9 y; {
第二种方法:5 `  |/ N( y, |1 A7 j
, l% I# v) a) G
( a! d- g; {: b) v% h
当玩家创建完角色后就立即调整或直接放到背包中。
# e+ t, c! N( Y- _6 K' @, I9 U! B. a* b; \
在/Server/ServerScript/Player找到PlayerEvent.lua中找到) }" w, j3 l1 a  w: Z- T2 H

5 B# U8 g. g& T$ j( ]1 [* o0 o% i7 w- ^  U" ~& {
C++4 |3 v4 y& I# x* P
7 C  W* n3 t# ~6 v6 ]2 J
function PlayerEvent:OnFirstLogin()
5 N  c1 w% G/ t2 d7 a' O/ w& n# q
$ A6 m$ [" x( Q        -- 第一个任务Id配置位置改变到 CommonScript/Task/TaskCommon.lua 中. G! R8 @" G. h9 m/ t) l, o7 y
) ^1 k% N1 }1 x0 O* e) {9 |8 [! T& F1 d
        Task:ForceAcceptTask(me, Task.nFirstTaskId);
" k8 m6 p: V1 h8 h6 L+ v
) Q4 r* i0 d* o" f1 c        -- 设置初始朝向/ M! m- S: M( U7 R

; @3 n6 t( ]! ^$ I        local nMapTemplateId = KPlayer.GetBirthPosition();
& q0 w! @3 D( t: C5 a  P& q, p6 U: |) m9 X4 m
        me.CallClientScript("Client:SetPlayerDir", 16, nMapTemplateId);
. Q) Y- B( `% u2 n4 W
3 `- _9 x3 ~# |' B7 }  d! \0 L        --me.AddMoney("SkillPoint", FightSkill.nInitSkillPoint, Env.LogWay_FirstLogin);1 p9 i5 E) T( y) P# e9 [+ o" N- F

$ s- M8 R5 y8 H        OnHook:OnFirstLogin(me);9 D, S# q) v# N/ B3 B

1 f' e+ {$ _5 f/ C        Activity:OnPlayerEvent(me, "Act_OnPlayerFirstLogin")
8 N9 p2 }, w: _6 a. F4 f) t- [+ Q) t0 {5 ^
        Log("[FirstLogin]", me.szAccount, me.dwID, me.szName)
; w' a* A8 p0 s
0 v& i1 @9 }0 @2 X( [        AssistClient:ReportQQScore(me, Env.QQReport_RegisterTime, GetTime(), 0, 1);7 Y! x1 D& k. A3 J( ?: Z3 [, ]/ D
0 D5 Y+ H/ v5 Q/ W) c5 j
        AssistClient:ReportQQScore(me, Env.QQReport_ChangeRoleName, me.szName, 0, 2);end8 `6 M. Q8 ^: D% H( y# t: l
: E! x( ]& G6 k
在me.CallClientScript("Client:SetPlayerDir", 16, nMapTemplateId);下面添加赠送内容即可
( B) P7 b) U6 I' x0 ~+ E3 L, k
/ V' q$ D- Y7 ~1 Q. K6 A2 c: G& g; w  h* t# i! c
--例子:me.AddItem(物品id,1);me.AddLevel(等级);me.AddMoney("Coin",数量,Env.LogWay_Offline);me.SendAward({{"VipExp",数量}},nil,nil,Env.LogWay_IdIpAddVipExp);
* f3 M, q8 H% y5 D8 X7 @, J# Y$ }& d/ Q+ @- y) v, N
示例,我只需要赠送元宝跟等级4 J  s+ l7 o' j  d& L, [. D

- n. d+ j2 D0 Z# |5 u" g$ vfunction PlayerEvent:OnFirstLogin()8 o, s6 z: ~7 b  w6 D  b/ f5 V, f) s
' ?1 \; g: d! d% L8 }" M% f* b
        -- 第一个任务Id配置位置改变到 CommonScript/Task/TaskCommon.lua 中
5 e4 z# v! p% Q3 Q5 V3 f5 ]# y1 q9 A) `0 @" H: l
        Task:ForceAcceptTask(me, Task.nFirstTaskId);
8 R) |, x: t/ \9 e- n. S. I8 J4 n% A6 Y: u
        -- 设置初始朝向+ Y! i& c0 H* \$ a0 Z8 F
5 J( H; @! y/ ?% ^1 m2 u3 |
        local nMapTemplateId = KPlayer.GetBirthPosition();
3 \4 a2 P7 @: y$ x! Q& r( r" w' s
) V$ `! A* [& h" P! E' Q) C. @        me.CallClientScript("Client:SetPlayerDir", 16, nMapTemplateId);
# P; E& }8 f  }' [$ @( ^, O
, E4 M0 _* Y) W! U        me.AddItem(3366,1); --上线送小黑坐骑1 M; r' V  I4 G9 d3 ?! y

# ^1 K/ `3 b' w+ T: F, Q        me.AddLevel(79); --上线立马79级8 d4 w% R) x% V8 e2 E3 j' ~! ~0 E6 g

# O# r' n3 S  q3 X2 X        OnHook:OnFirstLogin(me);( S3 s8 a5 _7 i0 w* D) J+ f# j

7 D8 X6 p( ^9 d! E2 W3 U        Activity:OnPlayerEvent(me, "Act_OnPlayerFirstLogin")
* K' d: a0 W  d! A! o* N" G$ _5 m! _! `% u! c
        Log("[FirstLogin]", me.szAccount, me.dwID, me.szName)! g6 |! ~6 L8 V" K! g2 L) ]; e

( M- n0 h9 S" B        AssistClient:ReportQQScore(me, Env.QQReport_RegisterTime, GetTime(), 0, 1);9 L6 ?7 J% q8 W8 r

" j/ w* {: p( f8 t$ n        AssistClient:ReportQQScore(me, Env.QQReport_ChangeRoleName, me.szName, 0, 2);end3 z& @4 _2 k! x/ E# k: S# d
* r0 A% ?2 j$ n; ]0 m

6 q& C* b" v3 C) }修改完后打包服务端丢到服务器上重启服务端即可,以上两种方法都是服务端修改!不需要碰到客户端。9 l* N: r/ G0 h. K" U( _

. |5 _) U" p. g/ A# h) u1 g+ y/ P& y
免责
帖子地址打造全网最多免费游戏网站
今日来客 列表模式
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-3-3 23:54