函数名称:LuaFnGetMonsterOwnerCount
注册函数:GetMonsterOwnerCount
参数说明:sceneId(场景编号),MonsterID(怪物编号)
功能说明:获取怪物所有者数量
示例说明:
--**********************************
--杀死怪物或玩家
--**********************************
function x600006_OnKillObject( sceneId, selfId, objdataId, objId ) --参数意思:场景号、玩家objId、怪物表位置号、怪物objId
local allOwnersCount = GetMonsterOwnerCount( sceneId, objId ) --取得这个怪物死后拥有分配权的人数
local i
local curOwner
local misIndex
local nNpcId
local strNpcName
local MonsterName = GetName( sceneId, objId )
local demandItemId
local demandItemCount
for i = 0, allOwnersCount - 1 do
curOwner = GetMonsterOwnerID( sceneId, objId, i ) --取得拥有分配权的人的objId
if IsHaveMission( sceneId, curOwner, x600006_g_MissionId ) > 0 and --如果这个人拥有任务
GetScriptIDByMissionID( sceneId, curOwner, x600006_g_MissionId ) == x600006_g_ScriptId then --并且是本脚本的任务
misIndex = GetMissionIndexByID( sceneId, curOwner, x600006_g_MissionId )
nNpcId = GetMissionParam( sceneId, curOwner, misIndex, x600006_g_NpcIdx )
_, strNpcName = GetNpcInfoByNpcId(sceneId, nNpcId )
demandItemId = GetMissionParam( sceneId, curOwner, misIndex, x600006_g_ItemIdx )
demandItemCount = GetMissionParam( sceneId, curOwner, misIndex, x600006_g_ItemCountIdx )
if MonsterName == strNpcName then
-- 一定几率打出任务所需物品
if GetItemCount( sceneId, curOwner, demandItemId ) < demandItemCount then
--if random( x600006_g_RandomSeed ) > x600006_g_DropOdds then
--return
--end
AddMonsterDropItem( sceneId, objId, curOwner, demandItemId )
end
end
end
end
end
|