Advertisement
Guest User

Untitled

a guest
May 26th, 2016
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 4.53 KB | None | 0 0
  1. -----------------------------------
  2. -- Area: Norg
  3. -- NPC:  Gilgamesh
  4. -- @pos 122.452 -9.009 -12.052 252
  5. -----------------------------------
  6.  
  7. require("scripts/globals/settings")
  8. require("scripts/globals/missions");
  9. require("scripts/zones/norg/TextIDs");
  10.  
  11. local StaticEarring = 15962;
  12. local MagneticEarring = 15963;
  13. local HollowEarring = 15964;
  14. local EtherealEarring = 15965;
  15.  
  16. -----------------------------------
  17. -- onTrade Action
  18. -----------------------------------
  19.  
  20. function onTrade(player,npc,trade)
  21.    
  22.     if (player:getCurrentMission(BASTOK) == THE_PIRATE_S_COVE and player:getVar("MissionStatus") == 2) then
  23.         if (trade:hasItemQty(1160,1) and trade:getItemCount() == 1) then -- Frag Rock
  24.             player:startEvent(0x0063); -- Bastok Mission 6-2
  25.         end
  26.     end
  27.    
  28. end;
  29.  
  30. -----------------------------------
  31. -- onTrigger Action
  32. -----------------------------------
  33.  
  34. function onTrigger(player,npc)
  35.    
  36.     local ZilartMission = player:getCurrentMission(ZILART);
  37.     local playerhaveCOPearring=false;
  38.     local earringtakeNbr=player:getVar("COP-earringTakeNbr");
  39.     local currentday = tonumber(os.date("%j"));
  40.     local lastearringday =player:getVar("COP-lastearringday");
  41.    
  42.     if (player:hasItem(StaticEarring) or player:hasItem(MagneticEarring) or player:hasItem(HollowEarring) or player:hasItem(EtherealEarring)) then
  43.         playerhaveCOPearring=true;
  44.     end
  45.    
  46.     if (player:getQuestStatus(JEUNO,APOCALYPSE_NIGH) == QUEST_ACCEPTED) and (player:getVar("ApocalypseNigh")> 5) then    
  47.         if (playerhaveCOPearring == false) and (earringtakeNbr==0) then
  48.                 player:startEvent(0x00E8,0,StaticEarring,MagneticEarring,HollowEarring,EtherealEarring);
  49.             elseif (playerhaveCOPearring == false) and (earringtakeNbr ==1) then -- First time you throw away
  50.                 player:startEvent(0x00EA,EtherealEarring,HollowEarring,MagneticEaring,StaticEarring);
  51.             elseif (playerhaveCOPearring == false) and (earringtakeNbr >1 and (currentday-lastearringday)>26) then -- earring was thrown away more than once
  52.                 player:startEvent(0x00EA,EtherealEarring,HollowEarring,MagneticEaring,StaticEarring);
  53.     elseif (ZilartMission == KAZAMS_CHIEFTAINESS) then
  54.         player:startEvent(0x0007);
  55.     elseif (ZilartMission == THE_TEMPLE_OF_UGGALEPIH) then
  56.         player:startEvent(0x0008);
  57.     elseif (ZilartMission == HEADSTONE_PILGRIMAGE) then
  58.         player:startEvent(0x0009);
  59.     elseif (ZilartMission == RETURN_TO_DELKFUTTS_TOWER) then
  60.         player:startEvent(0x000d);
  61.     elseif (ZilartMission == ROMAEVE) then
  62.         player:startEvent(0x000b);
  63.     elseif (ZilartMission == THE_MITHRA_AND_THE_CRYSTAL) then
  64.         player:startEvent(0x00aa);
  65.     elseif (ZilartMission == ARK_ANGELS) then
  66.         player:startEvent(0x00ab);
  67.     elseif (ZilartMission == THE_CELESTIAL_NEXUS) then
  68.         player:startEvent(0x00ad);
  69.     elseif (ZilartMission == AWAKENING) then
  70.         player:startEvent(0x00b1);
  71.             end
  72.         end
  73.  end;
  74.  
  75. --0x00af  0x0000  0x0002  0x0003  0x0004  0x0007  0x0008  0x0009  0x000a  0x0062  0x0063  0x001d  0x000c  
  76. --0x000d  0x0092  0x009e  0x00a4  0x00a9  0x00aa  0x00ab  0x00ac  0x00ad  0x00b0  0x00b1  0x00e8  0x00e9  
  77. --0x00ea
  78. -- 0x0062  0x0063 mission bastok
  79. -- 0x000c parle de kuzotz ? parle de bijoux aussi
  80. -- 0x000a parle de zitah
  81.  
  82. -----------------------------------
  83. -- onEventUpdate
  84. -----------------------------------
  85.  
  86. function onEventUpdate(player,csid,option)
  87. -- printf("CSID: %u",csid);
  88. -- printf("RESULT: %u",option);
  89. end;
  90.  
  91. -----------------------------------
  92. -- onEventFinish
  93. -----------------------------------
  94.  
  95. function onEventFinish(player,csid,option)
  96.  
  97. local currentday = tonumber(os.date("%j"));
  98. local earringtakeNbr=player:getVar("COP-earringTakeNbr");
  99. --printf("CSID: %u",csid);
  100. --printf("RESULT: %u",option);
  101.    
  102.     if (csid == 0x0063) then
  103.         player:tradeComplete();
  104.         player:setVar("MissionStatus",3);
  105.     elseif ((csid == 0x00E8 or csid == 0x00EA)and option >0) then
  106.         player:addItem(StaticEarring + option-1)
  107.         player:messageSpecial(ITEM_OBTAINED,StaticEarring+ option);
  108.         player:setVar("COP-earringTakeNbr",earringtakeNbr+1);
  109.         player:setVar("COP-lastearringday",currentday);
  110.         player:completeQuest(JEUNO,APOCALYPSE_NIGH);
  111.         player:completeMission(COP,DAWN);
  112.         player:completeMission(ZILART,AWAKENING);
  113.         player:addMission(COP,THE_LAST_VERSE);
  114.         player:addMission(ZILART,THE_LAST_VERSE);
  115.         player:addTitle(BREAKER_OF_THE_CHAINS);
  116.     elseif ((csid == 0x00E8 or csid == 0x00EA) and  option > 0 and player:getFreeSlotsCount() == 0) then
  117.         player:messageSpecial(ITEM_CANNOT_BE_OBTAINED,(option-0)+StaticEarring);
  118.     end
  119.    
  120. end;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement