local lua_path = lualib:IO_GetLuaPath() local package_path = package.path package.path = string.format("%s;%s?.lua;%s?", package_path, lua_path, lua_path) require("system/logic_def_lua") local lv = 30; --进入地图上限等级, 地图内玩家大于这个等级会触发跳转 local map_Tb = {"龙城", 230, 230, 10}; --触发跳转时的跳转地图{"地图keyname", X坐标, Y坐标, 范围} local interval = 10; --进入地图后启动单位时间的检测并执行代码(比如加经验,扣金币等) --地图创建时执行 function on_map_create(map) lualib:AddTrigger(map, lua_trigger_enter_map, "on_trigger_enter_map"); --设置进入地图触发 lualib:AddTrigger(map, lua_trigger_leave_map, "on_trigger_leave_map"); --设置离开地图触发 end --进入地图执行 function on_trigger_enter_map(player) --玩家进入地图时触发 local level = lualib:Level(player); --获取玩家等级 if level > lv then --当玩家等级大于lv时执行,此lv需要自行定义,且为等级 lualib:Player_MapMoveXY(player, map_Tb[1], map_Tb[2], map_Tb[3], map_Tb[4]); --传送玩家,接口参数可在后台脚本接口中查询 lualib:SysPromptMsg(player, "等级大于"..lv.."级, 无法进入地图!"); --发送给玩家信息 return; end lualib:AddTrigger(player, lua_trigger_level_up, "on_trigger_level_up"); --给玩家设置触发器,为升级触发 local id = lualib:GenTimerId(player); --获取玩家身上的定时器id lualib:SetInt(player, "map_timer_id", id); --设置玩家变量 lualib:AddTimer(player, id, interval, -1, "on_timer_call_back_func"); --给玩家添加定时器 end --离开地图执行 function on_trigger_leave_map(player) --离开地图触发 local id = lualib:GetInt(player, "map_timer_id"); --获取玩家变量 lualib:DisableTimer(player, id); --删除玩家定时器 end --角色升级执行 function on_trigger_level_up(player, level) --玩家升级触发 if tonumber(level) > lv then --当玩家等级大于lv时 lualib:Player_MapMoveXY(player, map_Tb[1], map_Tb[2], map_Tb[3], map_Tb[4]);--传送玩家 lualib:SysPromptMsg(player, "等级大于"..lv.."级, 离开地图!"); --发送玩家信息 return; end end --单位时间定时执行 function on_timer_call_back_func(player, id) lualib:AddExp(player, 1000, "加经验", player); --定时加经验 end
分类:常用功能
标签:泡点,等级限制,跳转,定时