跳到主要内容

刷怪功能

初始刷怪

初始场景刷怪效果显示

初始刷怪

涉及配置表

  • scene_cs.xlsx(配置路径:dev\config\scene\scene_cs.xlsx)

场景表

  • spawn_cs.xlsx(配置路径:dev\config\scene\spawn_cs.xlsx)

刷怪表

  • monster_cs.xlsm(配置路径:dev\config\monster_cs.xlsm)

怪物表

召唤怪物

接口summon_monster(scene, monster_id, x, y)参数含义:场景对象,怪物配置id,坐标

x,y 均为 -1 时,指定场景随机位置刷怪

示例代码1

指定场景指定位置刷怪

function _summon_monster1(player)
local obj = edi.player:owner(player)
local scene = edi.object:get_scene(obj) --获取玩家当前场景对象
local pos = {x=349, y=279} --当前场景随机位置
local monster_id = 1 --鸡
if scene then
edi.scene:summon_monster(scene, monster_id, pos.x, pos.y)--指定场景指定位置刷一只怪
end
end

edi.event:reg_gm("test:_summon_monster1", _summon_monster1)

效果显示

刷怪

示例代码2 指定场景随机位置刷怪

function _summon_monster2(player)
local obj = edi.player:owner(player)
local scene = edi.object:get_scene(obj) --获取玩家当前场景对象
local monster_id = 1 --鸡

if scene then
local sys_random_pos_mon = edi.scene:summon_monster(scene, monster_id, -1, -1)--指定场景随机位置处刷新一只怪
if sys_random_pos_mon ~= nil then
local pos = edi.object:get_scene_pos(sys_random_pos_mon)--获取随机位置数据
local msg = "玩家在"..edi.scene:get_name(scene).."("..pos.x..","..pos.y..")召唤了一只怪物"
edi.general:send_player_notice(player, ConstDef.NOTICE_TYPE.TopHorseLamp, msg)
end
end
end

edi.event:reg_gm("test:_summon_monster2", _summon_monster2)

效果显示 刷怪