sm

立即登录 | 账号注册

积分: 0 |用户组: 游客

搜索
服务器租用 传奇3一条龙 支付平台源码 无法下载点击此处反馈
查看: 1266|回复: 4

[白日门引擎] 白日门单职业传奇服务端+全套源码+代理后台系统

[复制链接]

826

主题

36

回帖

23万

积分

霸王教主

积分
235497
发表于 2023-3-28 00:13:19 | 显示全部楼层 |阅读模式
含白日门传奇工程源码编译资源虚拟机系统镜像端

带环境配置好可以打包服务端客户端源码

玩家等级变化时会触发triger_level方法
  1. local data={};
  2. function add_listener(fun)
  3.         data[fun] = fun;
  4. end
  5. function triger_level(player,lv)
  6.         for i,v in pairs(data) do
  7.                 v(player,lv);
  8.         end
  9.         check_level(player,lv);
  10. end
  11. function check_level(player,lv)
  12.         if lv == 100 then
  13.                 player:go_home()
  14.         end
  15. end
复制代码
需要监听升级变化回调的可以在这个理处理。

此文件主要是由c++中玩家各种信息变化时,主动触发调用的lua方法
  1. function onLoad(player)
  2.     player:alert(110,0,"欢迎来到"..server.get_server_name().."!")
  3.         player:alert(10,0,"健康游戏忠告:<br>抵制不良游戏 拒绝盗版游戏<br>注意自我保护 谨防受骗上当<br>适度游戏益脑 沉迷游戏伤身<br>合理安排时间 享受健康生活")
  4.         player:alert(10000,0,"温馨提示:<br>上线后赠送88万钻石!!此钻石已经禁止寄售和交易")

  5.         genxxx.gx(player)
  6.         genxxx.set_bless(player)
  7.         if( player:get_task_state(1) == 0 ) then
  8.                 player:set_task_state(1,1)
  9.                 login.first_login(player)
  10.                 player:add_skill(100)

  11.                 local job = player:get_job_name();
  12.                 if job == "warrior" then  --战士
  13.                                 player:add_skill(101);                        
  14.                                 player:add_skill(103);
  15.                                 player:set_short_cut(1, 2, 103);
  16.                                 player:add_skill(104);
  17.                                 player:set_short_cut(2, 2, 104);
  18.                                 player:add_skill(105);
  19.                                 player:set_short_cut(3, 2, 105);
  20.                                 player:add_skill(106);
  21.                                 player:set_short_cut(4, 2, 106);
  22.                                 player:add_skill(110);
  23.                                 player:set_short_cut(5, 2, 110);
  24.                                 player:add_skill(109);
  25.                                 player:set_short_cut(6, 2, 109);
  26.                                 player:add_skill(111);
  27.                                 player:set_short_cut(6, 2, 111);

  28.                 end
  29.         end
  30.         -- player:set_max_power(0,0,0)


  31.         gui.PanelInnerPower.setInnerPower(player, 0)
  32.         player:set_model(11,util.ppn(player,const.PP_WING_LEVEL))
  33.         login.enter_game(player)
  34.         gui.PanelCutting.CalculateCuttingValue(player)
  35.         gui.PanelShield.CalculShieldValue(player)
  36.         gui.PanelLingchong.duduValue(player)
  37.         gui.PanelLingchong.yiyiValue1(player)
  38.         mon.killMon.setclothlingValue(player)
  39.         mon.killMon.setclothhuangValue(player)
  40.         mon.killMon.setweaponlingValue(player)
  41.         mon.killMon.setweaponchuiValue(player)
  42.         mon.killMon.setwingrimianValue(player)
  43.         mon.killMon.setfoothuhaiValue(player)
  44.         mon.killMon.setfootxiariValue(player)
  45.         mon.killMon.setbinghuoValue(player)
  46.         mon.killMon.setleitingValue(player)
  47.         gui.PanelGuild.refreshGuildPrayAttr(player)
  48.         gui.PanelOfficial.refreshActPro(player)
  49.         gui.PanelOfficial.refreshGuanweiattr(player)
  50.         gui.PanelWuHun.setWuhunAttr(player,reduceOld)
  51.         gui.PanelZhuanSheng.CalculateAttributeZS(player)
  52.         gui.PanelWing.CalculateAttributeWing(player)
  53.         if server.get_temp_var("isActivityNotice") ~= "true" then
  54.                 server.set_timer(2,3000)
  55.                 -- print("start activity notice")
  56.                 server.set_temp_var("isActivityNotice","true")
  57.         end

  58.         local dart_id = util.ppn(player,const.PP_DART_ID)
  59.         if dart_id > 0 then
  60.                 if not player:bind_dart(dart_id) then
  61.                         player:set_param(const.PP_DART_ID,0)
  62.                 end
  63.         end
  64. end

  65. function onUnload(player)
  66.         login.unload_player(player)
  67. end

  68. function onEnterGame(player)--onEnterPlayGame(player)
  69.         enter_game_triger_fun(player);-------进游戏触发的一些方法汇总
  70.         player:set_param(const.PP_HUWEIN,0)
  71.         player:set_param(const.PP_HUWEIT,0)
  72.         local vipLv = util.ppn(player, const.PP_VIP_LEVEL)
  73.     local vipEXP = util.ppn(player, const.PP_VIP_EXP)
  74.     local z = math.random(8302004,8302011);
  75.     local result = {}
  76.     if vipLv<1 then
  77.     player:set_param(const.PP_VIP_LEVEL, 10);
  78.     player:set_param(const.PP_VIP_EXP, 100);
  79.     player:set_status(39,86400,util.ppn(player, const.PP_VIP_LEVEL),1,1);
  80.     player:set_model(5,util.ppn(player, const.PP_VIP_LEVEL));  
  81.         player:add_fuli(880000)
  82.         player:add_item(32010002,99,1)
  83.         player:add_item(32010003,99,1)
  84.     end
  85.         -- login.add_login_listener(setBaseValue)
  86.         local buff = util.ppn(player, const.PP_QIEGE_BUFF);
  87.         local buffon = util.ppn(player,const.PP_QIEGE_BUFF_ON)
  88.         local qglevel = util.ppn(player,const.PP_QIEGE_LEVEL)
  89.         if buffon == 1 and qglevel >=90 then
  90.                 player:set_buff(500011)
  91.         else
  92.                 player:set_buff(buff)
  93.         end
  94.         local attackMode = util.ppn(player, const.PP_ATTACK_MODE);
  95.         if attackMode == 0 then attackMode = 101; end
  96.         player:set_attack_mode(attackMode);
  97.         player:set_param(const.PP_ATTACK_MODE,attackMode)

  98.         if util.ppn(player,const.PP_WING_LEVEL) > 0 then
  99.                 player:set_wing_lv(70001+util.ppn(player,const.PP_WING_LEVEL));-----翅膀
  100.         end

  101.         if player:get_name() == server.get_var("wlmz") then
  102.                 --server.info(10,0,"<font color='#ff00ff'>尊敬的武林盟主[<font color='#ff0000'>"..player:get_name().."</font>]上线了!</font>");
  103.                 -- npc.fenghao.youxifh(player);
  104.         else
  105.                 -- npc.fenghao.youxifh(player);
  106.         end
  107.         local startTime = util.ppn(player, const.PP_OFFLINE_START_TIME)
  108.         local second = player:get_last_login_time()-player:get_last_logout_time()
  109.         local mapSelect = util.ppn(player, const.PP_OFFLINE_MAPIDX)
  110.         if mapSelect>0 then
  111.                 local MAX_TIME = 7*24*60*60
  112.                 player:set_param(const.PP_OFFLINE_START_TIME,0)
  113.                 second = second + player:get_last_logout_time() - startTime
  114.                 second = util.bound(0,second,MAX_TIME);
  115.                 player:set_param(const.PP_OFFLINE_TIME,util.ppn(player,const.PP_OFFLINE_TIME)+second)
  116.                 player:set_param(const.PP_OFFLINE_STATE,0) --挂机结束
  117.                 gui.PanelOffline.CalculateAward(player)
  118.         end

  119.         local kingInfo = server.get_var("kingInfo")
  120.         local king_tab = util.decode(kingInfo) or {}
  121.         local king_guild = server.get_king_guild()
  122.         local leaderOfKing = ""
  123.         if king_guild and king_guild ~= "" then
  124.                 local guild_temp = server.find_guild(king_guild)
  125.                 if guild_temp then
  126.                         leaderOfKing = guild_temp:get_leader_name()
  127.                         if  player:get_name()==leaderOfKing then
  128.                                 if tonumber(os.date("%H%M", os.time())) <=2030 or tonumber(os.date("%H%M", os.time()))>=2100  then
  129.                                         server.info(10000,0,"<font color='#ff0000'>皇城城主</font>  <font color='#01ebff'>"..leaderOfKing.."</font>  上线了!")
  130.                                 end
  131.                                 local ret,position= player:check_item_fashion(15600008)
  132.                                 if ret > 4 then
  133.                                         player:add_item(15600008,1,1)
  134.                                 end
  135.                         else
  136.                                 local ret,position= player:check_item_fashion(15600008)
  137.                                 if ret <= 4 then
  138.                                         player:remove_item_by_type_pos(15600008, position, 1)
  139.                                         if player:num_item(15600008,10) then
  140.                                                 player:remove_item_by_type_pos(15600008, -70, 1)
  141.                                         end
  142.                                 end
  143.                         end
  144.                 else
  145.                         local ret,position= player:check_item_fashion(15600008)
  146.                         if ret <= 4 then
  147.                                 player:remove_item_by_type_pos(15600008, position, 1)
  148.                                 if player:num_item(15600008,10) then
  149.                                         player:remove_item_by_type_pos(15600008, -70, 1)
  150.                                 end
  151.                         end
  152.                 end
  153.         end
  154.         
  155.         if player:get_guild() ~= server.get_king_guild() then
  156.                
  157.         end
  158.         if king_guild and king_guild ~= "" and not king_tab.guild then
  159.                 king_tab.name = leaderOfKing
  160.                 king_tab.guild = king_guild
  161.                 server.set_var("kingInfo",util.encode(king_tab))
  162.         end
  163.         if leaderOfKing~="" and player:get_name() == leaderOfKing and not king_tab.job then
  164.                 king_tab.job = player:get_job_name()
  165.                 king_tab.gender = player:get_gender_name()
  166.                 king_tab.fight = player:get_fightpoint()
  167.                 king_tab.level = player:get_level()
  168.                 king_tab.weapon = player:get_item_type_by_pos(const.ITEM_WEAPON_POSITION)
  169.                 king_tab.cloth = player:get_item_type_by_pos(const.ITEM_CLOTH_POSITION)
  170.                 server.set_var("kingInfo",util.encode(king_tab))
  171.         end

  172.         if util.ppn(player,const.PP_CHIP_SJ)>=100 then
  173.                 gui.PanelShenJiang.enterZhaoHuan(player)
  174.         end

  175.         -- player:set_timer(9, 120 * 1000)

  176.         -- player:set_timer(13,1*1000)

  177.         player:set_timer(15,10*1000)
  178.         player:set_timer(16,60*1000)
  179.         player:set_timer(778,1*10)
  180.         player:set_timer(779,1*1000)
  181.         player:set_timer(780,1*1000)
  182.         player:set_timer(900,1*1000)  --mxwx 套装属性头链
  183.         player:set_timer(901,1*1000)  --mxwx 套装属性戒镯
  184.         player:set_timer(902,1*1000)  --mxwx 套装属性带靴
  185.         player:set_timer(903,1*1000)  --mxwx 套装属性星座
  186.         player:set_timer(904,1*1000)  --mxwx 套装属性仙器
  187.         player:set_timer(905,1*1000)  --mxwx 套装属性神器
  188.         player:set_timer(906,1*1000)  --mxwx 套装属性神器
  189.         player:set_timer(907,1*1000)  --mxwx 套装属性神器
  190.         player:set_timer(908,1*1000)  --mxwx 套装属性神器
  191.         player:set_timer(909,2*1000)  --mxwx 套装属性神器
  192.         player:set_timer(910,1*1000)  --mxwx 套装属性神器        
  193.         player:set_timer(911,1*1000)  --mxwx 套装属性神器
  194.         player:set_timer(912,1*1000)  --mxwx 套装属性神器
  195.         player:set_timer(913,1*1000)  --mxwx 套装属性神器        
  196.         player:set_timer(914,1*1000)  --mxwx 套装属性神器        
  197.         player:set_timer(915,1*1000)  --mxwx 套装属性神器
  198.         player:set_timer(916,1*1000)  --mxwx 套装属性神器
  199.         player:set_timer(917,1*1000)  --mxwx 套装属性神器
  200.         --player:set_timer(10000,1*1000)

  201.         tab.pushItemLimitToClient(player)
  202. end
复制代码
2021-10-20_200031.jpg 2021-10-20_200044.jpg 2021-10-20_200126.jpg 2021-10-20_200209.jpg 2021-10-20_200250.jpg 2021-10-20_200403.jpg 2021-10-20_200429.jpg






上一篇:新XO手游三端传奇引擎23.0327Android+IOS及微端
下一篇:1.85霸者传奇三职业战神引擎开区服务端
回复

使用道具 举报

0

主题

7

回帖

221

积分

旋风流星刀

积分
221
发表于 2023-9-23 12:00:48 | 显示全部楼层
4wer4hgy4wer4hgy4wer4hgy
回复 支持 反对

使用道具 举报

1

主题

438

回帖

607

积分

旋风流星刀

积分
607
发表于 2023-9-26 07:09:34 | 显示全部楼层
支持楼主!!!!
回复

使用道具 举报

0

主题

1

回帖

203

积分

旋风流星刀

积分
203
发表于 2024-1-31 02:28:40 | 显示全部楼层
1111111111111
回复 支持 反对

使用道具 举报

0

主题

1

回帖

103

积分

旋风流星刀

积分
103
发表于 2024-2-19 17:50:29 | 显示全部楼层
eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
回复 支持 反对

使用道具 举报

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

本版积分规则

手机版|美林GM论坛 ( 蜀ICP备2020030293号-2 )|网站地图

禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.如遇版权问题,请及时QQ联系

GMT+8, 2024-4-29 01:14 , Processed in 0.313977 second(s), 70 queries .

Powered by Discuz! X3.5

Copyright © 2001-2024, Tencent Cloud.

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