大家好,我是名流科技技术,今天给大家分析下天龙八部私服一条龙中的高级传送脚本,可以实现传送的条件性,不多说,看看下面的操作:
--大理NPC
--士兵
--普通
--脚本号
x002034_g_scriptId = 002034
--所拥有的事件ID列表
x002034_g_eventList={500040}
--事件列表
function x002034_UpdateEventList( sceneId, selfId,targetId )
BeginEvent(sceneId)
local PlayerName=GetName(sceneId,selfId)
local PlayerSex=GetSex(sceneId,selfId)
if PlayerSex == 0 then
PlayerSex = "姑娘"
else
PlayerSex = "少侠"
end
AddText(sceneId,""..PlayerName..PlayerSex.."#{OBJ_dali_0008}")
for i, eventId in x002034_g_eventList do
CallScriptFunction( eventId, "OnEnumerate",sceneId, selfId,targetId )
end
EndEvent(sceneId)
DispatchEventList(sceneId,selfId,targetId)
end
--事件交互入口
function x002034_OnDefaultEvent( sceneId, selfId,targetId )
x002034_UpdateEventList( sceneId, selfId, targetId )
end
--事件列表选中一项
function x002034_OnEventRequest( sceneId, selfId, targetId, eventId)
CallScriptFunction( eventId, "OnDefaultEvent",sceneId, selfId,targetId )
return
end
--接受此NPC的任务
function x002034_OnMissionAccept( sceneId, selfId, targetId,missionScriptId )
for i, findId in x002034_g_eventList do
if missionScriptId == findId then
ret = CallScriptFunction( missionScriptId, "CheckAccept", sceneId,selfId )
if ret > 0 then
CallScriptFunction( missionScriptId, "OnAccept", sceneId, selfId)
end
return
end
end
end
--拒绝此NPC的任务
function x002034_OnMissionRefuse( sceneId, selfId, targetId,missionScriptId )
--拒绝之后,要返回NPC的事件列表
for i, findId in x002034_g_eventList do
if missionScriptId == findId then
x002034_UpdateEventList( sceneId, selfId, targetId )
return
end
end
end
--继续(已经接了任务)
function x002034_OnMissionContinue( sceneId, selfId, targetId,missionScriptId )
for i, findId in x002034_g_eventList do
if missionScriptId == findId then
CallScriptFunction( missionScriptId, "OnContinue", sceneId, selfId,targetId )
return
end
end
end
--提交已做完的任务
function x002034_OnMissionSubmit( sceneId, selfId, targetId,missionScriptId, selectRadioId )
for i, findId in x002034_g_eventList do
if missionScriptId == findId then
CallScriptFunction( missionScriptId, "OnSubmit", sceneId, selfId,targetId, selectRadioId )
return
end
end
end
--死亡事件
function x002034_OnDie( sceneId, selfId, killerId )
end
