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

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

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

[复制链接]
灌水成绩
19649
120
20243
主题
帖子
积分

等级头衔

ID : 1

管理员

积分成就 威望 : 8 点
贡献 : 9 次
下载币 : 449 枚
在线时间 : 2005 小时
注册时间 : 2013-9-5
最后登录 : 2026-10-25

发表于 2025-11-13 22:25:52 | 显示全部楼层 |阅读模式 IP:广东东莞
免责
第一种方法:以邮件形式进行赠送" V$ u& d7 u, D
6 t: h# Z4 G$ }+ J5 r/ f
第一种方法是当角色等级到达10级的时候,系统会以纳兰真的名义发送一封名为:《纳兰真的馈赠》的邮件,原本官方只赠送100元宝!
4 g; F! Z1 P) x1 F- T& {4 @' B
+ x' C' t( ]+ V* G% g在解包的服务端文件中Server/ServerScript/Player找到PlayerEvent.lua
5 b3 t: H, Z% ~1 F$ Q) V5 s6 I0 F
& e0 @8 d. y/ W, K. g0 k
4 `/ F0 ?! U( Q3 E8 V6 `function PlayerEvent:OnLevelUp(nNewLevel)7 H7 \" q: b- C: W
$ A# H0 B* _6 k
        JuBaoPen:CheckOpenJuBaoPen(me, nNewLevel);% t2 x  A* t: e, l1 [" M2 l! ~

" {* r- E0 ^3 [+ }3 E( n" f        Kin:UpdateKinMemberInfo(me.dwKinId);* s$ E; Y  |) k/ I1 V
3 `/ g+ g' B! {, T2 c* y
        if nNewLevel == 10 then
# f3 l7 l: A( D* r% D, F0 t
) U1 d* U8 D+ U3 v                Mail:SendSystemMail({
1 _  U3 Z# H+ ]+ o$ m' `0 v2 w
9 T; W! b& z+ z( R+ |4 @6 w                        To = me.dwID,( M8 s$ \' }  |& L4 r! B4 \

0 m  c7 [; `- e                        Title = "真兒的饋贈",. z/ V0 e+ w$ O/ J9 _
# k/ B) H# a1 l7 c! c
                        Text = "你從島上離開已有一段時日了,雖然內傷應該已好的差不多了,可是闖蕩江湖,處處都得小心,尤其要珍重身體。哼,再有一次,我可不救你了哦!我讓郵差捎去一些盤纏,若有時間,便多回島上看看,珍重。",% J- ?1 \2 f! v0 L

0 G$ k% C0 d$ E1 y                        From = "真兒",1 T8 {1 C8 v, T7 h; b! Q8 F0 g, @7 Q
+ H; _) o  {% o1 a0 |
                        tbAttach = {
9 v5 p1 H. r9 E# O2 H4 K% z$ Y% l" n7 q  T
                                {"Gold", 100},
( @  \7 V0 N3 j& m  l3 b0 l) o( ^+ a% c0 H" U
                        },
1 O2 o+ K( M; V- s. q% L& g2 V5 z  x- N3 l5 ]: L& Q
                })
, c. h: B" h) U- i2 ~7 t  n
" [3 M. G# A5 u        end" v+ |& q+ v+ y& G2 ?

. n0 W" @! r; D5 {        if nNewLevel == GetMaxLevel() then
/ l0 e8 I6 ^* F# F' p) ~! k2 T0 M' ]
# X. \4 N, g/ W/ ^. x" E3 z                 self:OnGetMaxLevel(me)8 ?4 x; Y" i2 Z2 x7 `0 o- X, y

8 n$ U1 J3 L& w        end
) [; Z/ n+ s$ L5 e! I, ^
* \3 _3 z9 r9 b" ^根据以上我们可以得知Title=邮件标题,Text=邮件内容,From=发件人,tbAttach=发送的物品内容0 E1 V: i- Y/ v. k# `! r

$ q3 P3 x, R7 x! ~6 }9 ^% p物品内容我们可以自己搭配,比如给元宝{“Gold”, 100},在比如给道具{“item”, 1240,1},很多东西都可以自己修改或者添加的,以下是我修改的内容1 v; e* X, \( \8 S: Q% s

2 V& _) m) S  E) _3 R
7 g! }# ~+ w9 @0 i( g, sC++
/ z! H* q/ ]/ {2 i$ D2 Q+ l4 @9 t0 d& c% n% m
function PlayerEvent:OnLevelUp(nNewLevel)( a: h5 Q$ E& b4 N0 u3 {7 C

$ V$ T3 J, m; s9 `+ g        JuBaoPen:CheckOpenJuBaoPen(me, nNewLevel);
; |* g: s& |% T+ e7 p. V6 W
9 P! z$ `8 \; x6 i: |" ^( m* H        Kin:UpdateKinMemberInfo(me.dwKinId);, [8 O3 t8 h& ?+ E8 p9 N9 T7 `

! l7 G4 S  r' _. U8 Z5 r' E, N        if nNewLevel == 10 then
+ A' L2 t- j- l+ q
5 M2 Q, P5 q( h, Y% t- K9 j# u8 P                Mail:SendSystemMail({
6 q# t0 h9 j( h3 m# J* q7 V/ O2 p: V' C0 d
                        To = me.dwID,
: a$ h4 g# B& y& o2 y5 W* I  C% L) J( X5 |! Y# a, c7 t* o
                        Title = "测试服奖励"," Y, H  O; B+ L$ R, _( y

6 m! _9 Q) j( N. O0 W, R' R- ], F                        Text = "感谢您参与本次测试,如果有任何问题请和管理员联系,下面是赠送给您参与本次测试的奖励.",
1 ~& v2 {! d  O( \
0 {- _$ N0 w8 p. I/ g                        From = "大屌萝莉",2 g# {0 r% Q  ^. B" I6 x

0 r: I6 ~! P4 }( y# X$ P                        tbAttach = {% f8 G0 p; \& T) r( f

5 s, }7 j2 b$ t. H                                {"Gold", 214748364},{"Coin", 214748364},{"SilverBoard", 214748364},{"VipExp", 300000000},{"item", 1240,1},{"item", 3366,1},
; n9 ]9 E* P8 I& x7 c$ T
! |! F+ V4 R( @6 d% j  c                        },
! `* ^5 N1 ~9 U+ s
  w- n' f6 \5 _" J                })
, N+ y  H' K6 B+ n4 n  X: v6 W% @# v2 x' D. e* e+ L
        end" o& C& R. ?; \" E1 D; a
0 k% Z! i# U$ b2 D2 G! o/ a
        if nNewLevel == GetMaxLevel() then5 i8 t8 s, |6 ]
( X, I& s% D; @
                 self:OnGetMaxLeve
) L( P4 s. m# k" c; H1 |, s+ {  c3 n. F
我赠送的东西是元宝、银币、黎视、vip经验、首充礼包、坐骑小马8 A# w9 U5 {  b& x5 M: F

# }- h5 q# D5 D/ Z1 z备注:数量类型的我们可以{“Gold”, 214748364}、类型、数量,而道具类型需要多加一个数量{“item”, 1240,1} 、类型、物品id、数量
& X: S2 g4 y; y! m4 e) ~; a$ `( n5 z
修改完成后覆盖或者直接保存,打包服务端放到服务器里即可,客户端不需要修改!
: J) @7 Q2 s  D+ x' J1 i" _! v3 ^  [& [* Q  N

; X' ]) E- F% y1 w, |; b& j% H, X+ a+ ^第二种方法:9 H" O5 `5 N9 a7 w8 T/ Y0 f
* C# A, _2 K. }1 g( b$ q7 f2 }
& `2 ^# W! G7 E" [: X+ ~% }
当玩家创建完角色后就立即调整或直接放到背包中。
3 C2 K4 _$ P( B" A9 D2 E5 h# ^; p, i7 x& j
在/Server/ServerScript/Player找到PlayerEvent.lua中找到
0 }! {! n1 o. ?: d# s% N  j
4 W6 @: ~4 U1 E# O0 Q6 y, k/ c" [: j$ W5 G
C++3 J" ^) V. P2 {/ P6 L7 q1 c! L
" P) t, v3 R8 d
function PlayerEvent:OnFirstLogin()- d7 K- x/ O& I" `
( q% F) F1 Z4 I3 B1 T  ?& i
        -- 第一个任务Id配置位置改变到 CommonScript/Task/TaskCommon.lua 中! i/ u; _1 }/ o! A- ?9 n( v7 p

1 K* D1 H7 x) g  r7 G; q3 M/ K        Task:ForceAcceptTask(me, Task.nFirstTaskId);  s% m. R# w( z0 s! _' i: _3 {* b
+ V5 U: R) h4 Z2 X
        -- 设置初始朝向0 Z( Z/ @( ~) f

  m9 D2 O4 k+ |        local nMapTemplateId = KPlayer.GetBirthPosition();& r0 K" r; t% `2 r2 y
! k* U/ N  e- V3 w" Y; h0 q% M: y
        me.CallClientScript("Client:SetPlayerDir", 16, nMapTemplateId);' H6 B+ K& {8 Q( Z3 X

* j, U  F, n( c7 |! T        --me.AddMoney("SkillPoint", FightSkill.nInitSkillPoint, Env.LogWay_FirstLogin);
" q8 {6 K% z3 r6 S, G% E5 C& C( e  C
        OnHook:OnFirstLogin(me);
" \8 j( }) n, v) \" @2 X3 K$ P2 [5 g! X, m, p; j
        Activity:OnPlayerEvent(me, "Act_OnPlayerFirstLogin")3 X) X8 c2 F; r( L4 O& `& ]* z

9 m1 @, B# z7 q        Log("[FirstLogin]", me.szAccount, me.dwID, me.szName)
* Q7 i. |1 I( r2 p& Q! ]
5 U4 {) E/ l! y5 N; @6 L* L        AssistClient:ReportQQScore(me, Env.QQReport_RegisterTime, GetTime(), 0, 1);
. k& q. r- m4 I
9 \6 t( x$ h' n5 J5 Y        AssistClient:ReportQQScore(me, Env.QQReport_ChangeRoleName, me.szName, 0, 2);end
2 X' d# F7 \6 S& P  H* `& a! k+ L  d  K  B1 @9 S
在me.CallClientScript("Client:SetPlayerDir", 16, nMapTemplateId);下面添加赠送内容即可: O) m" B) A1 s+ w7 H4 N9 B
0 ^; C- l& C, H+ g% D
9 x5 m+ g+ a) }
--例子:me.AddItem(物品id,1);me.AddLevel(等级);me.AddMoney("Coin",数量,Env.LogWay_Offline);me.SendAward({{"VipExp",数量}},nil,nil,Env.LogWay_IdIpAddVipExp);
& w$ a0 m+ C$ b$ c7 x3 c# Z' ?$ g$ c- ^  Z: r" w- w
示例,我只需要赠送元宝跟等级
  c+ ^; U1 E( N# x& l: y8 p- ~
* |) g) C# z. @* M( A. @function PlayerEvent:OnFirstLogin()
+ J: j* I; W/ E2 I: h+ a  K8 y: p$ L( K+ d! M. t7 J
        -- 第一个任务Id配置位置改变到 CommonScript/Task/TaskCommon.lua 中5 v% ?4 D# i9 @4 c( c5 q3 n* A
0 B3 r$ N; l$ F6 L
        Task:ForceAcceptTask(me, Task.nFirstTaskId);" u- t/ Q4 I5 t" x& M! o

! A( d+ Z* y% D" N" P3 l        -- 设置初始朝向3 p% c: l  z6 F

& V" g4 L& i) W        local nMapTemplateId = KPlayer.GetBirthPosition();& c7 Y  G, U/ U- `5 H) J

! a; M; l8 m& J; H) w! H) ~        me.CallClientScript("Client:SetPlayerDir", 16, nMapTemplateId);+ h6 Q- j# c3 [2 l" \7 k$ L% z
" k! O% A1 E8 X8 r. _
        me.AddItem(3366,1); --上线送小黑坐骑" _8 u- ^/ q3 Y+ A

. X4 y4 x& ~3 L% v1 ~        me.AddLevel(79); --上线立马79级# ~) s2 y2 K) V: D1 i" v

, }% V* \* T# X; U* r% E        OnHook:OnFirstLogin(me);. L& f2 |$ \8 v& _; `& i+ n9 n9 T
- o0 e/ h' G/ }
        Activity:OnPlayerEvent(me, "Act_OnPlayerFirstLogin")
; Y( O+ `' d. a; N) a1 d% D/ |. L
# a; o/ G7 G' r8 x0 \        Log("[FirstLogin]", me.szAccount, me.dwID, me.szName)% x2 O3 u; w2 N. W. ]* h8 b

; E$ Y6 y$ a7 q! P1 W8 [        AssistClient:ReportQQScore(me, Env.QQReport_RegisterTime, GetTime(), 0, 1);6 s/ {. Q- `' U; V

5 R" v$ ?7 X+ ]5 I3 _        AssistClient:ReportQQScore(me, Env.QQReport_ChangeRoleName, me.szName, 0, 2);end
8 Z* Z7 G8 F' W' F& v9 o, M+ d" ?* P3 _, r- B1 R+ k

2 g, y8 j+ _4 ^0 _6 `& v  y3 V; q修改完后打包服务端丢到服务器上重启服务端即可,以上两种方法都是服务端修改!不需要碰到客户端。& |% J3 H1 I  q$ M; f9 i
" T$ q6 s) v& v* u+ G; T- Y$ Z
免责
帖子地址 打造全网最多免费游戏网站,部分资源失效,私聊站长补
今日访客 列表模式
10月上白班,问题处理时间等晚上
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-10-25 17:38

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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