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

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

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

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

等级头衔

ID : 1

管理员

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

发表于 2025-11-13 22:25:52 | 显示全部楼层 |阅读模式 IP:广东东莞
免责
第一种方法:以邮件形式进行赠送5 U0 d# x6 G' h% e5 W& Y

$ }6 D' ~% R/ j& ^第一种方法是当角色等级到达10级的时候,系统会以纳兰真的名义发送一封名为:《纳兰真的馈赠》的邮件,原本官方只赠送100元宝!6 K, [! U5 h0 c5 \' W

' M* f* o9 u, F在解包的服务端文件中Server/ServerScript/Player找到PlayerEvent.lua
' }7 G% ~; k8 a/ q4 L3 |$ u' P$ K- G3 {& q

7 Z- n5 T' ~# Z2 ^, f7 Y5 L/ J; dfunction PlayerEvent:OnLevelUp(nNewLevel). w: J' l: X5 r1 f' ]) }* ?
# E* O  I2 @% F; Q+ k
        JuBaoPen:CheckOpenJuBaoPen(me, nNewLevel);
! P6 D' f# K! A9 _" y5 t: U& Y
5 i: H1 t; f  o0 `" Q1 I        Kin:UpdateKinMemberInfo(me.dwKinId);/ V# F) p$ X$ [: X7 R3 z2 ~/ ^
- h* ^' [+ Q; z1 S! U8 p
        if nNewLevel == 10 then3 G% _& B$ i" t' C* y2 X& }* z) V

% u9 E" l! P9 O                Mail:SendSystemMail({
0 I+ E  t$ D2 D$ k, G; Z! r) _. }" V& O9 \( q+ ?
                        To = me.dwID,
. q" i; s  f# q1 A0 ?/ H
% g, H. ~+ ?3 p+ W8 x                        Title = "真兒的饋贈",$ @' i; o( F( w. _$ j

: S1 f3 i; ~9 l; C8 n) u9 _                        Text = "你從島上離開已有一段時日了,雖然內傷應該已好的差不多了,可是闖蕩江湖,處處都得小心,尤其要珍重身體。哼,再有一次,我可不救你了哦!我讓郵差捎去一些盤纏,若有時間,便多回島上看看,珍重。",; J7 W3 S6 W2 j8 z% y" M, A

2 a% u4 G/ {& O# m  z: j                        From = "真兒",
8 N) n6 A( M" E) J
. K; z  e3 k6 O                        tbAttach = {. Q! e6 z& x+ r$ N+ f3 m

0 r; I9 X4 b& _% D7 S2 f/ w                                {"Gold", 100},
1 w' l- h: t9 X0 R; e* ~0 `+ r$ J0 J, v2 Y" T6 m' E
                        }," n* r3 T3 Q3 ]2 }0 X1 U7 M+ e

, R" F; f- |  j+ y! |( U/ e                })& m9 Y4 j. A3 ]  q: K+ L: w
- h4 [0 W4 @  X; H" {# Y, g
        end
1 U- T  r8 c- n! n3 H) n) q: p& ~8 M' z* ?. a$ N3 v0 |
        if nNewLevel == GetMaxLevel() then) u: Z1 x) S1 A
# x! |3 ^+ Q1 @5 X; c5 q
                 self:OnGetMaxLevel(me)* x) v$ {. A5 f! {8 _4 [" E

+ Y& P* K6 p, r) r- m        end
& T( |% H- X2 u
8 r5 q, |* ?9 F: t9 u0 h9 s根据以上我们可以得知Title=邮件标题,Text=邮件内容,From=发件人,tbAttach=发送的物品内容
: U+ P3 s6 t0 f
# X4 a. p3 f# D2 U  c物品内容我们可以自己搭配,比如给元宝{“Gold”, 100},在比如给道具{“item”, 1240,1},很多东西都可以自己修改或者添加的,以下是我修改的内容
3 d% r' c9 d# i7 F0 A: m8 x8 K" T, y1 [$ X; Z
7 s& }4 N2 s4 q! P- L. b; C
C++
+ `& b! _2 c1 g; @8 P1 @+ ?+ R0 y2 q; _6 G) K$ U
function PlayerEvent:OnLevelUp(nNewLevel); s# c7 ?# ~8 V: _6 H6 ^

! q. l) A9 |1 t/ w        JuBaoPen:CheckOpenJuBaoPen(me, nNewLevel);
& B# c/ E3 q8 f' K) D! a5 p. a$ h6 c
        Kin:UpdateKinMemberInfo(me.dwKinId);
4 {0 e; T$ U+ b7 [; |+ C6 x) _$ j' Q3 q+ [, M. V# t1 J
        if nNewLevel == 10 then
3 z( L- o' D. i5 n3 L* b2 v
: q/ d" h4 h! g" t" h                Mail:SendSystemMail({" u- q* a! v7 c2 E# z
8 G' U! c9 a0 B) ?' D5 X
                        To = me.dwID,9 ^2 f+ l5 O/ }: g" j* z9 j
. C' ^4 b* c9 o' W4 }& m
                        Title = "测试服奖励",
# ~; ~' r6 N' V1 r6 C) L: u
/ V$ n% Y  A3 z% L2 q                        Text = "感谢您参与本次测试,如果有任何问题请和管理员联系,下面是赠送给您参与本次测试的奖励.",% F7 f! ], Z& b) F4 ]# \3 E. ]

: H/ K! R1 L8 i4 @& `6 \                        From = "大屌萝莉",& j* V0 Q6 Y& H# r

/ j3 L+ N, t% l5 F                        tbAttach = {' S5 {, p: k% k' I3 b; T

: v( y0 Q0 u1 ]1 J# z) u# I5 r                                {"Gold", 214748364},{"Coin", 214748364},{"SilverBoard", 214748364},{"VipExp", 300000000},{"item", 1240,1},{"item", 3366,1},
; F" N' O4 S: T
$ o  y: j% E. T0 Q# q5 x8 c                        },
1 F. g8 O/ h& l1 n3 ~- K6 a# k$ `+ D) j- b" u/ E5 b
                })- ^0 w0 ^5 _# O0 g; t- G

' }5 M+ B/ N: E( I) Q2 u$ |        end
4 V2 R: K' M! h* w5 d' r1 }3 b3 x4 v
* H3 k1 q, y  f        if nNewLevel == GetMaxLevel() then4 o, Y5 ~3 ^5 p1 N

, N% }, y+ m) Y) p8 S                 self:OnGetMaxLeve  H7 I' {; n+ b1 y9 z

# O3 A2 o4 S0 N3 ^5 n我赠送的东西是元宝、银币、黎视、vip经验、首充礼包、坐骑小马
9 _# W  z  F; H/ V/ h4 O, E
% R5 ]% e5 e- Z- V" S备注:数量类型的我们可以{“Gold”, 214748364}、类型、数量,而道具类型需要多加一个数量{“item”, 1240,1} 、类型、物品id、数量4 Z# H" j+ n4 b) L1 f2 N

" L! B+ ~+ W. P& B. f3 {4 k修改完成后覆盖或者直接保存,打包服务端放到服务器里即可,客户端不需要修改!" L3 `' {3 v% v$ P
; K- z  l* z- ?2 ^
% x2 h# \: p* T! z  `, A( {
第二种方法:
6 Q* F6 O! v, m2 r  `4 z  ?( y; u* j. o: k- q6 ~3 E4 \. [/ e/ l) ~: x/ I5 H
) G' |/ h7 Z6 o% e# f% m
当玩家创建完角色后就立即调整或直接放到背包中。4 ^+ R2 V3 A' H$ l4 [. l
" D; u6 Y. h2 |5 D: \9 _
在/Server/ServerScript/Player找到PlayerEvent.lua中找到, C# y5 L' I" V* w6 a
+ O" [' \' k, v* W( H8 A7 F& s0 d
. s; }& p2 j# N+ M# D
C++& y6 C$ u2 y7 ~2 b2 c+ F! A- g3 G, g
- J! j* l, z* H2 C3 W) ?- @5 z
function PlayerEvent:OnFirstLogin()
3 M/ ~- d1 x# J- ]# f8 w" M
% m7 [) ?% ]7 p1 [7 |2 g) Z& P        -- 第一个任务Id配置位置改变到 CommonScript/Task/TaskCommon.lua 中
6 M) W! i1 P$ A0 z1 w3 N( ^% t
* P  D& K# \- Z/ G        Task:ForceAcceptTask(me, Task.nFirstTaskId);$ R# l' [0 _, Z

8 d4 D9 ^0 J" U# L, s& s6 F, o        -- 设置初始朝向
# U# T+ F. k; b1 C# p) {; y
, s0 O- S8 v- y% W: l1 e" Z8 p        local nMapTemplateId = KPlayer.GetBirthPosition();
3 P( O5 s$ a7 A! N" h4 D0 y& [" }2 k0 y3 t$ y, e- V" m0 Q2 U: Q
        me.CallClientScript("Client:SetPlayerDir", 16, nMapTemplateId);
# d& Q1 O; y7 l/ d0 L6 P
9 k$ L4 Q. a5 Y- u0 C+ H        --me.AddMoney("SkillPoint", FightSkill.nInitSkillPoint, Env.LogWay_FirstLogin);
! t5 ~4 f: K! P, O- g5 s9 M& I: Q  E& l
        OnHook:OnFirstLogin(me);; k* A! N2 Y4 T. C

  H7 @! {$ y" O% f# l8 N4 ?        Activity:OnPlayerEvent(me, "Act_OnPlayerFirstLogin")" c0 A2 N. E4 b! n

$ ?' p4 c% o* Z' h4 u        Log("[FirstLogin]", me.szAccount, me.dwID, me.szName)6 m& t4 O7 d7 i/ ~2 D) w6 x
8 h! y' [" @) q) a- l+ |5 o* {
        AssistClient:ReportQQScore(me, Env.QQReport_RegisterTime, GetTime(), 0, 1);- I) L7 b9 u* u6 j) N
; ~- q# t: c5 H+ C/ f! Q2 |
        AssistClient:ReportQQScore(me, Env.QQReport_ChangeRoleName, me.szName, 0, 2);end" q. d( O1 F+ n8 w
% H$ E: N% N/ [* y$ j! E% d! F
在me.CallClientScript("Client:SetPlayerDir", 16, nMapTemplateId);下面添加赠送内容即可; C; Y2 \; P# {' t' d& y) z1 _: d

# U5 _3 ~0 O0 h# _! K0 ]4 e( l0 w0 \
--例子:me.AddItem(物品id,1);me.AddLevel(等级);me.AddMoney("Coin",数量,Env.LogWay_Offline);me.SendAward({{"VipExp",数量}},nil,nil,Env.LogWay_IdIpAddVipExp);
/ m' p& d/ W# y5 @* W  s) A+ a( r+ W' n; [. C9 V
示例,我只需要赠送元宝跟等级$ l8 q/ E8 G* p: ?
! @0 v1 N! a) K2 W
function PlayerEvent:OnFirstLogin()
# Y% ^1 c1 ?/ n6 G2 G/ N8 L0 B. r# n5 T
% N! ]' [0 T! o* H. u( Q: q        -- 第一个任务Id配置位置改变到 CommonScript/Task/TaskCommon.lua 中% Y4 E( H5 `2 I' O; S
! e  m! W( e: ~, A5 g' {/ t8 c7 }
        Task:ForceAcceptTask(me, Task.nFirstTaskId);
) B, s7 N& q5 k" O. m$ @! x* J  i/ p9 h
        -- 设置初始朝向
4 z& B$ y. q! r9 Z
( c+ P2 T; t8 l) H        local nMapTemplateId = KPlayer.GetBirthPosition();
+ r( W, k3 g, M8 a1 k% e5 [; E- y% B* h' G# U& \3 d( X0 ^2 Z+ s
        me.CallClientScript("Client:SetPlayerDir", 16, nMapTemplateId);! F4 }. o* N" c/ P! Q8 S! _8 o

2 T) H- \8 p/ k        me.AddItem(3366,1); --上线送小黑坐骑
) p2 x- f7 N* ~* E, ^" R8 a" \$ J. G  C% y& e& s
        me.AddLevel(79); --上线立马79级
2 d. h+ n# @5 H
  P" N: {0 A9 g        OnHook:OnFirstLogin(me);
5 ^* O3 I3 s0 |+ S) j3 w, G
  x1 |$ ?' [1 L5 M0 ^% R, ^# u        Activity:OnPlayerEvent(me, "Act_OnPlayerFirstLogin")
, L$ c: X- G  E
  N9 J) b; z% |& l        Log("[FirstLogin]", me.szAccount, me.dwID, me.szName)& b& K( a- v$ s3 l2 S# V2 `

& A( D- y+ q) j6 e5 }        AssistClient:ReportQQScore(me, Env.QQReport_RegisterTime, GetTime(), 0, 1);5 |2 x' I' T4 p% i/ w

  R2 X; _+ e% }        AssistClient:ReportQQScore(me, Env.QQReport_ChangeRoleName, me.szName, 0, 2);end: l& H( u' M8 U  E

0 d5 i1 [& l2 n9 b' d+ c" m6 _* x! k5 p" T/ \' w0 A* J8 B
修改完后打包服务端丢到服务器上重启服务端即可,以上两种方法都是服务端修改!不需要碰到客户端。
5 M9 J8 p6 a3 r+ v( `
2 F! W! f# N3 u$ A- Y, x2 s
免责
帖子地址打造全网最多免费游戏网站
今日来客 列表模式
本月有问题处理时间8:00-12:00上夜班  9.7发布
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-9-16 16:26

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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