⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 missionsdk.lua

📁 top web admin panel (tales of pirates)
💻 LUA
📖 第 1 页 / 共 5 页
字号:
------------------------------------------------------------
--MissionSdk.lua Created by knight 2004.12.10.
--
--任务系统函数接口定义
print( "loading missionsdk.lua" )
------------------------------------------------------------


--脚本系统返回值定义
LUA_TRUE 			= 1
LUA_FALSE			= 0
LUA_ERROR			= -1
LUA_NULL			= 0

--任务系统脚本
TE_MAPINIT		= 0			--出生
TE_NPC				= 1			--npc携带
TE_KILL				= 2			--摧毁物件
TE_GAMETIME		= 3			--游戏时间
TE_CHAT			= 4			--聊天关键字
TE_GETITEM		= 5			--拾取物品
TE_EQUIPITEM	= 6			--装备物品
TE_GOTO_MAP    = 7			--到达目标点	(角色触发器存储)参数1,地图ID, 参数2,地图到达随机率,参数3,地图坐标x,参数4, 地图坐标y
TE_LEVELUP      	= 8			--升级			(角色触发器存储)参数1,是否主动关闭(触发器动作后关闭),参数2,是否每个等级都触发,参数3,指定等级触发

--触发器时间类型
TT_CYCLETIME	= 0			--时间循环
TT_MULTITIME	= 1			--循环运行n次
		
--触发器最大携带条件数量
TR_MAXNUM_CONDITIONS		= 12
TR_MAXNUM_ACTIONS			= 12

--npc任务状态信息定义
MIS_ACCEPT       = 1			--有符合条件可以接的任务
MIS_DELIVERY     = 2			--已完成可交付的任务
MIS_PENDING		= 4			--已完成可交付的任务
MIS_IGNORE		= 8			--不符合条件可以接的任务

--任务列表页操作命令
MIS_PREV			= 0			--请求发送任务列表的上一页信息
MIS_NEXT			= 1			--请求发送任务列表的下一页信息
MIS_PREV_END	= 2			--任务列表没有上一页信息
MIS_NEXT_END	= 3			--任务列表没有下一页信息
MIS_SEL				= 4			--请求选择任务列表项目
MIS_TALK			= 5			--请求任务对话信息
MIS_BTNACCEPT	= 6			--请求接受任务
MIS_BTNDELIVERY= 7			--请求交付任务
MIS_BTNPENDING	= 8			--未决任务请求(客户端禁止按钮)
MIS_LOG			= 9			--请求任务日志信息

--任务信息定义
--完成 任务需求类型定义
MIS_NEED_ITEM		= 0		--需要获取物品
MIS_NEED_KILL		= 1		--需要摧毁物件
MIS_NEED_SEND		= 2        --需要送给某人
MIS_NEED_CONVOY	= 3 		--需要护送到某的
MIS_NEED_EXPLORE = 4		--需要探索某的
MIS_NEED_DESP		= 5		--文字表述的任务目标

--完成任务奖励类型定义
MIS_PRIZE_ITEM		= 0		--奖励物品
MIS_PRIZE_MONEY	= 1		--奖励金钱
MIS_PRIZE_FAME		= 2		--奖励声望
MIS_PRIZE_CESS		= 3		--奖励贸易税率
MIS_PRIZE_PETEXP  = 4		--奖励宠物经验值

--角色职业类型
MIS_NOVICE			= 0		--Newbie
MIS_FENCER			= 1		--Swordsman
MIS_HUNTER			= 2		--Hunter
MIS_EXPERIENCED	= 2		--Sailor
MIS_RISKER			= 4		--Explorer
MIS_DOCTOR			= 5		--Herbalist
MIS_TECHNICIAN		= 6		--Artisan
MIS_TRADER			= 7		--Merchant
MIS_LARGE_FENCER  = 8		--Champion
MIS_TWO_FENCER    = 9		--Crusader
MIS_SHIELD_FENCER = 10		--White Knight
MIS_WILD_ANIMAL_TRAINER = 11 --Animal Tamer
MIS_GUNMAN			= 12      --Sharpshooter
MIS_CLERGY			= 13		--Cleric
MIS_SEALER			= 14		--Seal Master
MIS_SHIPMASTER	= 15		--Captain
MIS_VOYAGE			= 16		--Voyager
MIS_ARRIVISTE		= 17		--Upstart
MIS_ENGINEER			= 18		--Engineer

--公会类型
MIS_GUILD_NAVY		= 0		--海军公会
MIS_GUILD_PIRATE   = 1		--海盗公会

--永远为假
function AlwaysFailure()
	return LUA_FALSE
end

--永久为真
function AlwaysTrue()
	return LUA_TRUE
end

--没有历史标签
function NoRecord( character, record )
	if record == nil then
		SystemNotice( character, "NoRecord:Function parameter error!" )
		return LUA_ERROR
	end
	local ret = IsValidRecord( character, record )
	if ret == LUA_FALSE then
		SystemNotice( character, "NoRecord: Invalid story record index error or character index error!" )
		return LUA_ERROR
	end
	
	ret = IsRecord( character, record )
	if ret ~= LUA_TRUE then
		return LUA_TRUE
	end
	return LUA_FALSE
end

--检测技能状态
function HasState( character, state_id )
	if state_id == nil then
		SystemNotice( character, "HasState:函数参数错误!" )
		return LUA_ERROR
	end
	
	local ret = GetChaStateLv( character, state_id )
	if ret ~= nil then
		if ret > 0 then
			return LUA_TRUE
		end
	end
	return LUA_FALSE
end

--检测角色体型
function IsChaType( character, type_id )
	if type_id == nil then
		SystemNotice( character, "IsChaType:函数参数错误!" )
		return LUA_ERROR
	end
	
	local ret = GetChaBody( character )
	if ret == type_id then
		return LUA_TRUE
	end
	return LUA_FALSE
end

--检测不是角色体型
function NoChaType( character, type_id )
	if type_id == nil then
		SystemNotice( character, "NoChaType:函数参数错误!" )
		return LUA_ERROR
	end
	
	local ret = GetChaBody( character )
	if ret ~= type_id then
		return LUA_TRUE
	end
	return LUA_FALSE
end
--播放特效
function Starteffect( character, npc, tp )
		
	if tp == nil then
		PRINT( "Starteffect:函数参数错误!" )
		SystemNotice( character, "Starteffect:函数参数错误!" )
		return LUA_ERROR	
	end
	
	PRINT( "Starteffect, p1 = "..tp )
	PlayEffect( npc, tp )
	return LUA_TRUE
end
--是否有历史标签
function HasRecord( character, record )
	if record == nil then
		SystemNotice( character, "HasRecord: Function parameter error!" )
		return LUA_ERROR
	end
	local ret = IsValidRecord( character, record )
	if ret == LUA_FALSE then
		SystemNotice( character, "HasRecord: invalid history quest record index error or character index error!" )
		return LUA_ERROR
	end
	return IsRecord( character, record )
end

--没有任务记录标签
function NoFlag( character, id, flag )
	if id == nil or flag == nil then
		SystemNotice( character, "NoFlag:Function parameter error!" )
		return LUA_ERROR
	end	
	local ret = IsValidFlag( character, flag )
	if ret == LUA_FALSE then
		SystemNotice( character, "NoFlag: Invalid quest record index error or character index error!" )
		return LUA_ERROR
	end
	ret = IsFlag( character, id, flag )
	if ret == LUA_TRUE then
		return LUA_FALSE
	end
	return LUA_TRUE
end

--不能有该任务护送NPC
function NoConvoyNpc( character, misid )
	if misid == nil then
		SystemNotice( character, "NoConvoyNpc:Function parameter error!" )
		return LUA_ERROR
	end
	
	local ret = HasConvoyNpc( character, misid )
	if ret == LUA_TRUE then
		return LUA_FALSE
	end
	
	return LUA_TRUE
end

--随机任务送物件给npc时,判断是否npc已经接受过该物品
--function NoRandNpcItemFlag( character, misid, npcid )
--	if misid == nil or npcid == nil then
--		SystemNotice( character, "NoRandNpcItemFlag:Function parameter error!" )
--		return LUA_ERROR
--	end
--	
--	local ret = HasRandNpcItemFlag( character, misid, npcid )
--	if ret == LUA_TRUE then
--		return LUA_FALSE
--	end
--	return LUA_TRUE
--end

--没有任务标签
function NoMission( character, id )
	if id == nil then
		SystemNotice( character, "NoMission:Function parameter error!" )
		return LUA_ERROR
	end
	local ret = HasMission( character, id )
	if ret == LUA_TRUE then
		return LUA_FALSE
	end
	return LUA_TRUE
end

--没有指定得随机任务
function NoRandMission( character, id )
	if id == nil then
		SystemNotice( character, "NoRandMission:function parameter error" )
		return LUA_ERROR
	end
	
	local ret = HasRandMission( character, id )
	if ret == LUA_TRUE then
		return LUA_FALSE
	end
	return LUA_TRUE
end

--任务没有失败
function NoMisssionFailure( character, id )
	if id == nil then
		SystemNotice( character, "NoMisssionFailure:functionparameter error " )
		return LUA_ERROR
	end
	
	local ret = HasMisssionFailure( character, id )
	if ret == LUA_TRUE then
		return LUA_FALSE
	end
	return LUA_TRUE	
end

function IsMission( character, id )
	if id == nil then
		SystemNotice( character, "IsMission:Function parameter error!" )
		return LUA_ERROR
	end
	return HasMission( character, id )
end

function NoGuild( character )
	local ret = HasGuild( character )
	if ret == LUA_TRUE then
		return LUA_FALSE
	end
	return LUA_TRUE
end

function NoPfEqual( character, pf )
	local ret = PfEqual( character, pf )
	if ret == LUA_TRUE then
		return LUA_FALSE
	end
	return LUA_TRUE
end

--添加指定的下一个任务记录标签
function AddNextFlag( character, id, startflag, count )
	if id == nil or startflag == nil or count == nil then
		SystemNotice( character, "AddNextFlag:Function parameter error!" )
	end
	local num = 0
	for i = 1, count, 1 do
		local ret = IsFlag( character, id, startflag + num )
		if ret == LUA_FALSE then
			PRINT( "AddNextFlag: flag = ", startflag + num )
			ret = SetFlag( character, id, startflag + num )
			if ret ~= LUA_TRUE then
				SystemNotice( character, "AddNextFlag: Unable to set quest record label notice error!" )
				return LUA_ERROR
			end
			return LUA_TRUE
		end
		num = num + 1
	end
	return LUA_TRUE
end

--设置下一个随机任务记录标签
function AddRMNextFlag( character, id, startflag, count )
	if id == nil or startflag == nil or count == nil then
		SystemNotice( character, "AddRMNextFlag:Function parameter error!" )
	end
	local num = 0
	for i = 1, count, 1 do
		local ret = HasFlag( character, id, startflag + num )
		if ret == LUA_FALSE then
			PRINT( "AddRMNextFlag: flag = ", startflag + num )
			ret = SetFlag( character, id, startflag + num )
			if ret ~= LUA_TRUE then
				SystemNotice( character, "AddRMNextFlag: Unable to set quest record label notice error!" )
				return LUA_ERROR
			end
			return LUA_TRUE
		end
		num = num + 1
	end
	return LUA_TRUE
end
-----------船或者在这个港口或者在那个港口
-- function HasAllBoatInBerth_eitheror( character, p1, p2 )

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -