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

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

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

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

等级头衔

ID : 1

管理员

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

发表于 2025-11-13 22:25:52 | 显示全部楼层 |阅读模式 IP:广东东莞
免责
第一种方法:以邮件形式进行赠送
' I7 P" _3 |. B4 N' ~$ F7 ~7 y6 o2 {0 C
* M* `8 e/ _4 `% R% f: T# X7 h* q第一种方法是当角色等级到达10级的时候,系统会以纳兰真的名义发送一封名为:《纳兰真的馈赠》的邮件,原本官方只赠送100元宝!
7 ?; o8 t; m9 |* ?" E) V
! [9 G+ ~5 b7 T8 _- r3 y5 K在解包的服务端文件中Server/ServerScript/Player找到PlayerEvent.lua
8 `- A3 i5 b4 @' Y' j! m2 M! L* f$ g  y  D9 p. Q2 X: y7 U  A

& D2 V& \1 A, q9 v8 dfunction PlayerEvent:OnLevelUp(nNewLevel)" K) \' h* m; a- Y- y5 d9 n( d1 g
. b  A; U  w; h9 O
        JuBaoPen:CheckOpenJuBaoPen(me, nNewLevel);$ t) I7 [3 D6 N& h6 V# b
% X9 Y6 s7 {# y. x. s4 y2 s  F
        Kin:UpdateKinMemberInfo(me.dwKinId);
) B  S2 V% I8 E- m, \2 ^
5 P/ _. }8 L" H8 w; w0 P+ j! p        if nNewLevel == 10 then2 z& ]! }! J7 L% M' v: F" {- _2 u

6 q( F+ U5 D: C  g6 }) s% n                Mail:SendSystemMail({
; s1 h; C9 Y$ P. K! b, Y$ O( B7 p5 j; H- Z% M/ D
                        To = me.dwID,( ?6 [/ U7 D1 Q( Z

, o! Z: ?/ O' t* o+ \( U                        Title = "真兒的饋贈",
5 H: G' J  }) S" h! P1 D9 d; F% A3 ^! y5 T
                        Text = "你從島上離開已有一段時日了,雖然內傷應該已好的差不多了,可是闖蕩江湖,處處都得小心,尤其要珍重身體。哼,再有一次,我可不救你了哦!我讓郵差捎去一些盤纏,若有時間,便多回島上看看,珍重。",
- c+ f( @  F: @0 X' b3 Q0 {* M4 e/ m1 f/ L/ k3 [
                        From = "真兒",5 h4 G4 y6 q$ J" T9 Q

& W* z7 L* T& ?0 t, l                        tbAttach = {$ l/ [; J5 U$ V! F1 \
& O' S) j' x/ k- L
                                {"Gold", 100},  g/ ~. T- f! a7 a' m' b! J, V/ m

2 Z% k% ~% k5 P$ c& P                        },3 ~* j9 r! e7 X; A) a. g3 W

: s* t; s' Y: W  u) A8 c                })
/ l4 h4 s( B  C! H! Z  n) r
. I5 G2 }% e$ x9 u' E$ T0 w        end- \0 z" Y) J0 A7 }* `2 v

  X: P) T: n; g' z; c" I: g        if nNewLevel == GetMaxLevel() then
% k- Q" E- R+ a8 S7 o2 g0 z! M+ m+ U! \5 E! O0 @6 b2 f
                 self:OnGetMaxLevel(me)
7 X: W4 [: X2 T$ N% `1 q
5 ]" Q0 ~  l6 z6 ~        end$ r; m0 {4 W' D% U* X

4 s- L. }: p$ A- q根据以上我们可以得知Title=邮件标题,Text=邮件内容,From=发件人,tbAttach=发送的物品内容/ v- P. n+ h6 }$ ?' ^$ \5 W3 ~

7 N6 B5 y4 r, \" u物品内容我们可以自己搭配,比如给元宝{“Gold”, 100},在比如给道具{“item”, 1240,1},很多东西都可以自己修改或者添加的,以下是我修改的内容
( y3 }- ^4 t; o4 K& j  n( \: f8 E& A
2 X- }1 F7 }2 X. h& o
C++  ^; K7 ~# c( N- a$ L

4 e, O6 u, M8 {function PlayerEvent:OnLevelUp(nNewLevel). ]& w& l( O) J% ^" t
9 k; H; x, m; }! T+ T9 w4 b# v0 w. }
        JuBaoPen:CheckOpenJuBaoPen(me, nNewLevel);  [5 P, n2 r  z1 W5 C  n' k% V/ |
7 \4 Q3 E" `0 A8 {5 n5 L: h
        Kin:UpdateKinMemberInfo(me.dwKinId);  P) z6 S3 z# M
& j4 ?0 a7 T) c, V% |6 S; ^
        if nNewLevel == 10 then) z2 K3 ^: _9 G; _) Q
3 Q. |; N" [8 u/ G: ~3 X. ]
                Mail:SendSystemMail({
: o9 L5 K+ {) G$ c
8 [+ M) c* P2 c0 z9 Q7 m! l                        To = me.dwID,
5 \# L, z- K6 z2 c% z/ a' X& Q& j6 J8 C$ I2 d# i% S
                        Title = "测试服奖励",. q# L- l, Y) Y

5 w* k2 @# z  |: {                        Text = "感谢您参与本次测试,如果有任何问题请和管理员联系,下面是赠送给您参与本次测试的奖励.",
0 a: m( }1 W' m* L  f. R- t( Y: b1 ?. G9 O- T& k
                        From = "大屌萝莉",/ B( s1 n& D" ^6 ?) Z2 ~0 k+ e# x

. u- }7 c* p6 a$ E& t5 ?7 h( |                        tbAttach = {
" j/ c4 _' ~" {& y( `4 ?* v3 _+ M6 S& b
                                {"Gold", 214748364},{"Coin", 214748364},{"SilverBoard", 214748364},{"VipExp", 300000000},{"item", 1240,1},{"item", 3366,1}," V2 r) X0 H/ L0 @/ A

$ z7 Z. K. Z6 ^* V7 `; z                        },9 x* U0 v& A( j* ^  e8 O  H

* o: u: n! f) Y# P$ s, O                })
, ?" z0 ?: L4 L5 }& ^- R' d1 ~9 x# n+ l7 Q: ]1 }
        end
7 z2 d8 L1 T" f. n* x' C8 t% L
3 Z& F+ h% L7 u        if nNewLevel == GetMaxLevel() then% R- [: d+ C1 H# a6 O
7 K$ l- n  G) G7 r3 U
                 self:OnGetMaxLeve
1 Q6 Z% `) \7 D1 g: v7 k1 ?  r
) x+ I1 T6 r* H: C& S* W( @我赠送的东西是元宝、银币、黎视、vip经验、首充礼包、坐骑小马
. F+ i# u7 I3 z- Z2 @9 _- k
" o/ n( s2 p$ I! x9 L2 R& |  a2 [备注:数量类型的我们可以{“Gold”, 214748364}、类型、数量,而道具类型需要多加一个数量{“item”, 1240,1} 、类型、物品id、数量
! u, o0 I( T( R5 W& i6 o9 x( X, s2 U0 z- v& X
修改完成后覆盖或者直接保存,打包服务端放到服务器里即可,客户端不需要修改!
8 [. P3 Z! @: k) q. `9 R8 ^. P) M9 ]2 a
  y2 a5 L9 O5 n  I& l& O, B; P$ U
第二种方法:8 p0 o. }8 X9 n  d& P# h
$ L* I& I& e; ?$ Z' t* G# f
  O7 h6 x4 l/ N$ M
当玩家创建完角色后就立即调整或直接放到背包中。
5 @4 Q4 p* O* z# n5 [
* K" z- R, J3 N; k1 H. J. V+ v3 U; |在/Server/ServerScript/Player找到PlayerEvent.lua中找到, Y/ D' ^% @/ m( R, ^- G1 g6 _3 H
* p! _/ d8 `9 r) P) E- f" y
9 G, K2 c+ P% y; Q
C++& ]& M* e! }, x& X3 f" H
; m9 N% p" r3 W! w6 ]
function PlayerEvent:OnFirstLogin()+ c4 d+ G. {3 v( f& y

5 C8 m+ \# J$ W! {) l; O) q        -- 第一个任务Id配置位置改变到 CommonScript/Task/TaskCommon.lua 中, ^8 M9 t  C7 x" A, B( ~
) Z' w2 M! r+ ^3 b: n7 l3 _# l& V
        Task:ForceAcceptTask(me, Task.nFirstTaskId);8 V; |+ h- V. J8 |. W

0 @& v( y  X2 f% _, j" Y        -- 设置初始朝向( s5 F( \3 i5 H* f& _) @, G. J! o

' O: M( E9 |' v% J: f0 D8 _        local nMapTemplateId = KPlayer.GetBirthPosition();0 @0 |' R5 b; Q2 B4 p% L/ ~

6 l; ^4 c$ s, d        me.CallClientScript("Client:SetPlayerDir", 16, nMapTemplateId);4 o6 o3 W2 n$ E+ h# J! p4 W& S

: W% D6 \0 ?- n1 Y6 g" k) z        --me.AddMoney("SkillPoint", FightSkill.nInitSkillPoint, Env.LogWay_FirstLogin);& ]4 j$ X" m, L7 E. A, X  N
4 K! l8 I5 F; C5 r* |( V$ a) b
        OnHook:OnFirstLogin(me);7 _- Q; n$ J' F, O& N1 m

/ O8 w+ P4 i. L5 S/ K4 J0 p        Activity:OnPlayerEvent(me, "Act_OnPlayerFirstLogin")8 v. t% d7 C) q3 }3 i8 v6 T2 A

3 G$ e* U1 J0 X5 h4 X# S        Log("[FirstLogin]", me.szAccount, me.dwID, me.szName)
0 }2 ^+ O1 Z' Y0 Y
" r; @5 O) t- m% J- V) J/ c        AssistClient:ReportQQScore(me, Env.QQReport_RegisterTime, GetTime(), 0, 1);
$ @$ _% L5 i: @/ \& B  L$ b2 \
. f; i# c" L  d$ _. h! j        AssistClient:ReportQQScore(me, Env.QQReport_ChangeRoleName, me.szName, 0, 2);end
4 H8 ^% G8 e: E8 H4 i2 j
& ?: `- Y9 b" ?& p, ~4 T在me.CallClientScript("Client:SetPlayerDir", 16, nMapTemplateId);下面添加赠送内容即可0 `6 d' |& Q* i& M# L% ~6 h# b

2 N" y0 @8 G4 ?" e/ t5 f
3 J% [: b3 _8 y" v--例子:me.AddItem(物品id,1);me.AddLevel(等级);me.AddMoney("Coin",数量,Env.LogWay_Offline);me.SendAward({{"VipExp",数量}},nil,nil,Env.LogWay_IdIpAddVipExp);- B! O& b7 K4 e" U0 h# T9 e
# S8 A% \# |# c$ @. S( m/ [- g
示例,我只需要赠送元宝跟等级
. w: I+ W' Y5 l
; a- Q; [& h3 T# l& ifunction PlayerEvent:OnFirstLogin()
4 o; M8 ^% t0 S$ W& l& s$ w1 m" N0 [  Z7 G( O, x
        -- 第一个任务Id配置位置改变到 CommonScript/Task/TaskCommon.lua 中
9 v& ]0 V! H8 L0 r3 M1 u) Y) o6 q5 _& f9 \
        Task:ForceAcceptTask(me, Task.nFirstTaskId);
+ n, P# S9 q; E% E+ h# {3 t/ Y8 ~7 S% u% Y) z* u# j/ L9 p% h  @
        -- 设置初始朝向( E/ R5 }3 ^/ [+ X; J: D9 V: ]
8 @6 ]1 W( H! Y5 E$ V7 J. j
        local nMapTemplateId = KPlayer.GetBirthPosition();& N9 x6 ^. R; i

  ^  q/ {8 R& T: O        me.CallClientScript("Client:SetPlayerDir", 16, nMapTemplateId);" [- y# _4 ^6 r  H/ e) }
  p) O/ ^) o# c9 `1 f7 [
        me.AddItem(3366,1); --上线送小黑坐骑
7 m$ @; @! c. z0 b. x) t' T1 }8 C% {8 X  u& O. ?9 H
        me.AddLevel(79); --上线立马79级2 }7 l; l7 F2 Y

: f% i9 m- B! @        OnHook:OnFirstLogin(me);
) D6 F, L+ R% X! j( N; h/ y
5 s1 J" G2 D2 _        Activity:OnPlayerEvent(me, "Act_OnPlayerFirstLogin")
+ r; R) _3 S: }3 X# N, l& d* o' h/ V9 j6 c) F
        Log("[FirstLogin]", me.szAccount, me.dwID, me.szName)7 G, Y2 X7 j$ J. m" [+ A5 ]) T# s3 b' Y

- w  Y2 m- T5 @3 _        AssistClient:ReportQQScore(me, Env.QQReport_RegisterTime, GetTime(), 0, 1);+ _) b5 M' y% h
1 f; `. f. P- m
        AssistClient:ReportQQScore(me, Env.QQReport_ChangeRoleName, me.szName, 0, 2);end
' s/ @$ h; |& C" J( [8 s, w# I& y: X. m" }* m9 ^) A
1 p* o, i1 c4 K4 t" B& k
修改完后打包服务端丢到服务器上重启服务端即可,以上两种方法都是服务端修改!不需要碰到客户端。# E# y" J) m% Q3 |

4 s' p+ n# z4 m1 [4 j  @& B
免责
帖子地址打造全网最多免费游戏网站
今日来客 列表模式
本月有问题处理时间8:00-12:00上夜班  9.7发布
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-9-16 17:41

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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