最新最全最权威的各类手游,端游,页游游戏信息开服信息,尽在游民之家. 订阅微信

烈焰私服采集道具和解救任务触发脚本解析

发表时间:2015-11-03 10:32点击人气:责任编辑:admin

function map_10(event,gameobject,player)
 if gameobject:GetEntry() == 19006 then--如果采集到的道具ID
  if player:get_task_state(1) == 6 then  --任务状态
   if player:get_task_param(1,6) >= 0 then--任务采集参数
    player:set_task_param(1,6,player:get_task_param(1,6)+1);
    player:find_road_goto(10,37,66,10003);--自动寻路
    player:set_task_state(1,7);--设置状态
    player:push_task_data(1,1);--更新状态
    player:alert(19,0,0,"搜索到血清");--给予提示
   end
  end
 end
end
-----------血清是任务主线时的任务部分----------------------------
function map_11(event,gameobject,player)
 if gameobject:GetEntry() == 19003 then
  if player:get_task_state(2) == 80 then
   if player:get_task_param(2,80) == 0 then
    player:set_task_param(2,80,player:get_task_param(2,80) + 1);
    player:set_task_state(2,85);
    player:push_task_data(2,1);
    player:find_road_goto(11,18,123,11011);
   end
  end
 end
end
--------------------------------------
function map_103(event,gameobject,player)
 if gameobject:GetEntry() == 19003 then
  if player:num_bag_black() >= 1 then
   player:add_item(19003,1,1);
   player:alert(10,0,0,"获得疗伤草 x 1");
   if player:get_task_state(9) == 2 then
    if player:get_task_param(9,2) >= 0 then
     player:set_task_param(9,2,player:get_task_param(9,2)+1);
     player:push_task_data(9,1);
    end
    if player:get_task_param(9,2) == 9 then
     player:set_task_state(9,3);
     player:push_task_data(9,1);
     player:alert(10,0,0,"采集任务已完成,回城领取任务奖励吧!");
    end
   end
  else
   if player:get_task_state(9) == 2 then
    player:alert(10,0,0,"您的背包格子不足1格,无法采集");
    player:enter_map(12,108,115);
   else
    player:alert(10,0,0,"您的背包格子不足1格,无法采集");
   end
  end
 end

 if gameobject:GetEntry() == 19008 then
  if player:num_bag_black() >= 1 then
   player:add_item(19008,1,1);
   player:alert(10,0,0,"获得蘑菇 x 1");
   if player:get_task_state(9) == 2 then
    if player:get_task_param(9,2) >= 0 then
     player:set_task_param(9,2,player:get_task_param(9,2)+1);
     player:push_task_data(9,1);
    end
    if player:get_task_param(9,2) == 9 then
     player:set_task_state(9,3);
     player:push_task_data(9,1);
     player:alert(10,0,0,"采集任务已完成,回城领取任务奖励吧!");
    end
   end
  else
   if player:get_task_state(9) == 2 then
    player:alert(10,0,0,"您的背包格子不足1格,无法采集");
    player:enter_map(12,108,115);
   else
    player:alert(10,0,0,"您的背包格子不足1格,无法采集");
   end
  end
 end

 if gameobject:GetEntry() == 19009 then
  if player:num_bag_black() >= 1 then
   player:add_item(19009,1,1);
   player:alert(10,0,0,"获得红花草 x 1");
   if player:get_task_state(9) == 2 then
    if player:get_task_param(9,2) >= 0 then
     player:set_task_param(9,2,player:get_task_param(9,2)+1);
     player:push_task_data(9,1);
    end
    if player:get_task_param(9,2) == 9 then
     player:set_task_state(9,3);
     player:push_task_data(9,1);
     player:alert(10,0,0,"采集任务已完成,回城领取任务奖励吧!");
    end
   end
  else
   if player:get_task_state(9) == 2 then
    player:alert(10,0,0,"您的背包格子不足1格,无法采集");
    player:enter_map(12,108,115);
   else
    player:alert(10,0,0,"您的背包格子不足1格,无法采集");
   end
  end
 end

 if gameobject:GetEntry() == 19010 then
  if player:num_bag_black() >= 1 then
   player:add_item(19010,1,1);
   player:alert(10,0,0,"获得开心果 x 1");
   if player:get_task_state(9) == 2 then
    if player:get_task_param(9,2) >= 0 then
     player:set_task_param(9,2,player:get_task_param(9,2)+1);
     player:push_task_data(9,1);
    end
    if player:get_task_param(9,2) == 9 then
     player:set_task_state(9,3);
     player:push_task_data(9,1);
     player:alert(10,0,0,"采集任务已完成,回城领取任务奖励吧!");
    end
   end
  else
   if player:get_task_state(9) == 2 then
    player:alert(10,0,0,"您的背包格子不足1格,无法采集");
    player:enter_map(12,108,115);
   else
    player:alert(10,0,0,"您的背包格子不足1格,无法采集");
   end
  end
 end
end

-------------以上的都是烈焰私服庄园的采药触发-----------------------
function map_106(event,gameobject,player)
 if gameobject:GetEntry() == 19007 then
  if player:get_task_state(5) == 75 then
   if player:get_task_param(5,75) == 0 then
    player:set_task_param(5,75,player:get_task_param(5,75)+1);
    player:gen_slave(5190,5190,"公主("..player:GetName()..")",1)
    player:set_task_state(5,80);
    player:push_task_data(5,1);
    player:find_road_goto(106,25,22,10603);
    player:alert(19,0,0,"成功解救公主");
   end
  end
 end
 if gameobject:GetEntry() == 19010 then
  if player:get_task_state(6) == 30 then
   if player:get_task_param(6,30) == 0 then
    player:set_task_param(6,30,player:get_task_param(6,30)+1);
    player:set_task_state(6,35);
    player:push_task_data(6,1);
    player:find_road_goto(106,49,74,10601);
   end
  end
 end
end

RegisterInstanceEvent(10,7,"map_10")--定义地图触发类
RegisterInstanceEvent(11,7,"map_11")
RegisterInstanceEvent(103,7,"map_103")
RegisterInstanceEvent(106,7,"map_106")

烈焰私服的任务道具采集触发.解救和采药都是触发的这个脚本.
了解了他的原理,你可以写出其他的方案