entry.lua
Upload User: bjtaixing
Upload Date: 2021-01-15
Package Size: 24749k
Code Size: 3k
Category:

E-Books

Development Platform:

DOS

  1. --此文件中,凡是可能被多次执行的函数,函数名都要加上地图名前缀,如after_destroy_entry_testpk
  2. --此文件每行最大字符个数为255,若有异议,请与程序探讨
  3. function config_entry(entry) 
  4.     SetMapEntryEntiID(entry,2492,1) --设置地图入口实体的编号(该编号对应于characterinfo.txt的索引)
  5. end 
  6. function after_create_entry(entry) 
  7.     local copy_mgr = GetMapEntryCopyObj(entry, 0) --创建副本管理对象,此函数在有显式入口的地图中必须调用,对于隐式入口的地图(如队伍挑战)无要调用该接口
  8.     map_name, posx, posy, tmap_name = GetMapEntryPosInfo(entry) --取地图入口的位置信息(地图名,坐标,目标地图名)
  9.     Notice("海盗广播:深蓝群岛的["..posx..","..posy.."]位置发现一个通往《乱斗白银城》的入口。") --通知本组服务器的所有玩家
  10. end
  11. function after_destroy_entry_garner2(entry)
  12.     map_name, posx, posy, tmap_name = GetMapEntryPosInfo(entry) 
  13.     Notice("海盗广播:通往《乱斗白银城》的入口已经消失了,祝您愉快~!") 
  14. end
  15. function after_player_login_garner2(entry, player_name)
  16.     map_name, posx, posy, tmap_name = GetMapEntryPosInfo(entry) --取地图入口的位置信息(地图名,坐标,目标地图名)
  17.     ChaNotice(player_name, "海盗广播:深蓝群岛的["..posx..","..posy.."]位置发现一个通往《乱斗白银城》的入口。") --通知本组服务器的所有玩家
  18. end
  19. function check_can_enter_garner2( role, copy_mgr )
  20. local FightingBook_Num = 0
  21. FightingBook_Num = CheckBagItem( role,3849 )
  22. local Team_In = IsInTeam(role)
  23. if Team_In == 1 then
  24. SystemNotice ( role , "您现在处于组队状态,不能进入乱斗白银城" )
  25. return 0
  26. end
  27. if FightingBook_Num <= 0 then
  28. SystemNotice ( role , "您身上没有勇者之证,不能进入乱斗白银城,请到竞技管理员处领取勇者之证" )
  29. return 0
  30. elseif FightingBook_Num > 1 then
  31. LG("RYZ_PK","超过一个勇者之证")
  32. return 0
  33. end
  34. local role_RY = GetChaItem2 ( role , 2 , 3849 )
  35. local HonorPoint = GetItemAttr ( role_RY , ITEMATTR_VAL_STR)
  36. if HonorPoint < 20 then
  37. SystemNotice ( role , "您的荣誉点不够,不能进入乱斗白银城" )
  38. return 0
  39. end
  40. if HonorPoint >30000 then
  41. SystemNotice ( role , "您的荣誉值过高,不能进入乱斗白银城" )
  42. return 0
  43. end
  44. local Credit_Garner2 = GetCredit(role)
  45.  if Credit_Garner2 < 30 then 
  46. SystemNotice ( role , "您的名声值不够,不能进入乱斗白银城" )
  47. return 0
  48. --else
  49. -- DelCredit(role,30)
  50. end
  51. if Lv(role) < 20 then
  52. SystemNotice(role, "进入乱斗白银城角色等级必须在20级以上")
  53. return 0    
  54. end
  55. local Has_money = check_HasMoney(role)
  56. if Has_money == 1 then
  57. return 1
  58. else
  59. SystemNotice(role,"您所带的金钱不够,不能进入乱斗白银城")
  60. return 0
  61. end
  62. end
  63. function check_HasMoney(role)
  64. local lv= GetChaAttr(role, ATTR_LV)
  65. local Money_Need = lv*50
  66. local Money_Have = GetChaAttr ( role , ATTR_GD )
  67. if Money_Have >= Money_Need then
  68. return 1
  69. end
  70. end
  71. function begin_enter_garner2(role, copy_mgr) 
  72. local Money_Have = GetChaAttr ( role , ATTR_GD )
  73. local lv= GetChaAttr(role, ATTR_LV)
  74. local Money_Need = lv*50
  75. local Money_Now = Money_Have - Money_Need
  76. SetChaAttrI( role , ATTR_GD , Money_Now )
  77. DelCredit(role,30)
  78. SystemNotice(role,"开始进入《乱斗白银城》,收取金钱"..Money_Need..",扣除名声值30") 
  79. MoveCity(role, "乱斗白银城")
  80. Money_all = Money_all + Money_Need * 0.8
  81. end