Advertisement
Guest User

Untitled

a guest
Jun 27th, 2017
57
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 9.61 KB | None | 0 0
  1. /***************************************************************************
  2. *                                Change Log
  3. *                            ------------------
  4. *   31.10.2010
  5. *   Script Decompiled by SauDecompiler build 102306.2
  6. *   Edited for Freya by VISTALL
  7. *
  8. ***************************************************************************/
  9.  
  10. class ai_cratae_npc : citizen
  11. {
  12. parameter:
  13.     string  maker_name_70 = "etc10_1717_026m1";
  14.     string  maker_name_75 = "etc10_1715_026m1";
  15.     string  maker_name_80 = "etc10_1815_026m1";
  16.     int count_string_5 = 1800203;
  17.     int count_string_3 = 1800204;
  18.     int count_string_1 = 1800205;
  19.  
  20. handler:
  21.     EventHandler CREATED(i0)
  22.     {
  23.        
  24.        
  25.        
  26.        
  27.        
  28.         ->AddTimerEx(myself.,( 3 * 1000 ));
  29.         ->AddTimerEx(myself.,( ( 4 * 60 ) * 1000 ));
  30.         super;
  31.     }
  32.  
  33.     EventHandler TIMER_FIRED_EX(timer_id,i0,i1,maker0)
  34.     {
  35.         if( script_event_arg2 == 8101 )
  36.         {
  37.             if( myself->IsNullCreature(myself.c_ai1) == 1 || myself->IsNullCreature(myself.c_ai2) == 1 || myself->IsNullCreature(myself.c_ai3) == 1 )
  38.             {
  39.                
  40.                 gg->SendScriptEvent(myself.sm,1717001,0);
  41.                 ->AddTimerEx(myself.,( 3 * 1000 ));
  42.             }
  43.             else
  44.             {
  45.                
  46.             }
  47.         }
  48.         else if( script_event_arg2 == 8102 )
  49.         {
  50.             myself->Say(gg->MakeFString(count_string_5,"","","","",""));
  51.             ->AddTimerEx(myself.,( ( 2 * 60 ) * 1000 ));
  52.         }
  53.         else if( script_event_arg2 == 8103 )
  54.         {
  55.             myself->Say(gg->MakeFString(count_string_3,"","","","",""));
  56.             ->AddTimerEx(myself.,( ( 2 * 60 ) * 1000 ));
  57.         }
  58.         else if( script_event_arg2 == 8104 )
  59.         {
  60.             myself->Say(gg->MakeFString(count_string_1,"","","","",""));
  61.         }
  62.         else if( script_event_arg2 == 8201 )
  63.         {
  64.             ->AddTimerEx(myself.,( ( 10 * 60 ) * 1000 ));
  65.         }
  66.         else if( script_event_arg2 == 8202 )
  67.         {
  68.             ->Say(myself);
  69.             ->AddTimerEx(myself.,( ( 10 * 60 ) * 1000 ));
  70.         }
  71.         else if( script_event_arg2 == 8203 )
  72.         {
  73.             ->Say(myself);
  74.             ->AddTimerEx(myself.,( ( 5 * 60 ) * 1000 ));
  75.         }
  76.         else if( script_event_arg2 == 8204 )
  77.         {
  78.             ->Say(myself);
  79.             ->AddTimerEx(myself.,( ( 2 * 60 ) * 1000 ));
  80.         }
  81.         else if( script_event_arg2 == 8301 )
  82.         {
  83.             ->Say(myself->MakeFString(gg.,"","","","",""));
  84.             ->AddTimerEx(myself.,( ( 1 * 60 ) * 1000 ));
  85.         }
  86.         else if( script_event_arg2 == 8302 )
  87.         {
  88.             ->Say(myself->MakeFString(gg.,"","","","",""));
  89.             ->AddTimerEx(myself.,( ( 1 * 60 ) * 1000 ));
  90.         }
  91.         else if( script_event_arg2 == 8303 )
  92.         {
  93.             ->Say(myself->MakeFString(gg.,"","","","",""));
  94.         }
  95.         else if( script_event_arg2 == 8401 )
  96.         {
  97.            
  98.             if( i5 >= 0 && i5 < 27 )
  99.             {
  100.                 ->Say(myself);
  101.             }
  102.             else if( i5 >= 27 && i5 < 30 )
  103.             {
  104.             }
  105.             else if( i5 >= 30 && i5 < 57 )
  106.             {
  107.                 ->Say(myself);
  108.             }
  109.             else if( i5 >= 57 )
  110.             {
  111.             }
  112.             ->AddTimerEx(myself.,( ( 4 * 60 ) * 1000 ));
  113.         }
  114.         super;
  115.     }
  116.  
  117.     EventHandler TALKED(talker,i0,party0)
  118.     {
  119.         if( myself.i_ai0 == 1 )
  120.         {
  121.         }
  122.         else
  123.         {
  124.             myself->ShowPage(talker,fnHi);
  125.         }
  126.     }
  127.  
  128.     EventHandler MENU_SELECTED(talker,ask,reply,fhtml0,i0)
  129.     {
  130.         if( ask == -1300 )
  131.         {
  132.             select(reply.)
  133.             {
  134.                 case reply.:
  135.                     if( myself.i_ai4 == 1 )
  136.                     {
  137.                         myself->ShowPage(talker,"cratae_teleport_npc004.htm");
  138.                     }
  139.                     else
  140.                     {
  141.                         myself->CheckRegisterUserPVPMatch(talker);
  142.                     }
  143.                     break;
  144.                 case .:
  145.                     myself->ShowPage(talker,"cratae_teleport_npc002.htm");
  146.                     break;
  147.                 case .:
  148.                    
  149.                     if( i5 < 20 )
  150.                     {
  151.                         myself->InstantTeleport(talker,-59161,-56954,-2036);
  152.                     }
  153.                     else if( i5 < 40 )
  154.                     {
  155.                         myself->InstantTeleport(talker,-59155,-56831,-2036);
  156.                     }
  157.                     else if( i5 < 60 )
  158.                     {
  159.                         myself->InstantTeleport(talker,-59299,-56955,-2036);
  160.                     }
  161.                     else if( i5 < 80 )
  162.                     {
  163.                         myself->InstantTeleport(talker,-59224,-56837,-2036);
  164.                     }
  165.                     else
  166.                     {
  167.                         myself->InstantTeleport(talker,-59134,-56899,-2036);
  168.                     }
  169.                     break;
  170.                 case .:
  171.                     myself->UnregisterUserPVPMatch(talker);
  172.                     myself->ShowPage(talker,"cratae_teleport_npc012.htm");
  173.                     break;
  174.                 case .:
  175.                     if( talker.level >= 70 && talker.level <= 75 )
  176.                     {
  177.                         myself->RegisterUserPVPMatch(talker);
  178.                     }
  179.                     else
  180.                     {
  181.                         myself->ShowPage(talker,"cratae_teleport_npc010.htm");
  182.                     }
  183.                     break;
  184.                 case .:
  185.                     if( talker.level >= 76 && talker.level <= 79 )
  186.                     {
  187.                         myself->RegisterUserPVPMatch(talker);
  188.                     }
  189.                     else
  190.                     {
  191.                         myself->ShowPage(talker,"cratae_teleport_npc010.htm");
  192.                     }
  193.                     break;
  194.                 case .:
  195.                     if( talker.level >= 80 )
  196.                     {
  197.                         myself->RegisterUserPVPMatch(talker);
  198.                     }
  199.                     else
  200.                     {
  201.                         myself->ShowPage(talker,"cratae_teleport_npc010.htm");
  202.                     }
  203.                     break;
  204.                 case .:
  205.                     myself->CheckRegisterUserPVPMatch(talker);
  206.                     break;
  207.             }
  208.         }
  209.     }
  210.  
  211.     EventHandler CHECK_REGISTER_USER_RESULT(reply,i0,c0)
  212.     {
  213.         item0 = gg->GetCreatureFromID(i5);
  214.         if( myself.i_ai0 == 1 )
  215.         {
  216.         }
  217.         else if( myself->GetInventoryInfo(item0,0) >= ( myself->GetInventoryInfo(item0,1) * 0.800000 ) || myself->GetInventoryInfo(item0,2) >= ( myself->GetInventoryInfo(item0,3) * 0.800000 ) )
  218.         {
  219.             myself->ShowPage(item0,"cratae_teleport_npc006.htm");
  220.         }
  221.         else if( reply == 13 )
  222.         {
  223.             myself->ShowPage(item0,"cratae_teleport_npc007.htm");
  224.         }
  225.         else if( reply == 1 )
  226.         {
  227.         }
  228.         else if( reply == 3 )
  229.         {
  230.             myself->ShowPage(item0,"cratae_teleport_npc008.htm");
  231.         }
  232.         else if( reply == 10 )
  233.         {
  234.         }
  235.         else if( reply == 11 )
  236.         {
  237.             myself->ShowPage(item0,"cratae_teleport_npc010.htm");
  238.         }
  239.         else if( reply == 12 )
  240.         {
  241.         }
  242.         else if( reply == 14 )
  243.         {
  244.             myself->ShowPage(item0,"cratae_teleport_npc011.htm");
  245.         }
  246.         else if( reply == 15 || reply == 16 )
  247.         {
  248.             myself->ShowPage(item0,"cratae_teleport_npc013.htm");
  249.         }
  250.         else if( reply == 0 && myself.i_ai0 == 0 )
  251.         {
  252.             myself->ShowPage(item0,"cratae_teleport_npc003.htm");
  253.         }
  254.     }
  255.  
  256.     EventHandler LET_IN_USER_PVP_MATCH(talker,i0,party0)
  257.     {
  258.         if( talker.transformID == 260 || talker.transformID == 8 || talker.transformID == 9 )
  259.         {
  260.         }
  261.         party0 = gg->GetParty(talker)
  262.         if( myself->IsNullParty(party0) == 0 )
  263.         {
  264.             myself->ShowPage(talker,"cratae_teleport_npc007.htm");
  265.             myself->UnregisterUserPVPMatch(talker);
  266.         }
  267.         else if( talker.instant_zone_id > 0 )
  268.         {
  269.             myself->UnregisterUserPVPMatch(talker);
  270.         }
  271.         else if( talker.level >= 70 && talker.level <= 75 )
  272.         {
  273.            
  274.             if( i5 < 20 )
  275.             {
  276.                 myself->InstantTeleport(talker,-87247,-16391,-8320);
  277.             }
  278.             else if( i5 < 40 )
  279.             {
  280.                 myself->InstantTeleport(talker,-87159,-16594,-8320);
  281.             }
  282.             else if( i5 < 60 )
  283.             {
  284.                 myself->InstantTeleport(talker,-87203,-16491,-8320);
  285.             }
  286.             else if( i5 < 80 )
  287.             {
  288.                 myself->InstantTeleport(talker,-87205,-16273,-8320);
  289.             }
  290.             else
  291.             {
  292.                 myself->InstantTeleport(talker,-87237,-16159,-8320);
  293.             }
  294.             gg->SendScriptEvent(myself.c_ai1,1717002,talker.id);
  295.         }
  296.         else if( talker.level >= 76 && talker.level <= 79 )
  297.         {
  298.            
  299.             if( i5 < 20 )
  300.             {
  301.                 myself->InstantTeleport(talker,-87015,-81808,-8352);
  302.             }
  303.             else if( i5 < 40 )
  304.             {
  305.                 myself->InstantTeleport(talker,-87008,-81971,-8352);
  306.             }
  307.             else if( i5 < 60 )
  308.             {
  309.                 myself->InstantTeleport(talker,-87006,-81637,-8352);
  310.             }
  311.             else if( i5 < 80 )
  312.             {
  313.                 myself->InstantTeleport(talker,-87015,-81881,-8352);
  314.             }
  315.             else
  316.             {
  317.                 myself->InstantTeleport(talker,-87014,-81725,-8352);
  318.             }
  319.             gg->SendScriptEvent(myself.c_ai2,1717002,talker.id);
  320.         }
  321.         else if( talker.level >= 80 )
  322.         {
  323.            
  324.             if( i5 < 20 )
  325.             {
  326.                 myself->InstantTeleport(talker,-54000,-83280,-8336);
  327.             }
  328.             else if( i5 < 40 )
  329.             {
  330.                 myself->InstantTeleport(talker,-53808,-83200,-8336);
  331.             }
  332.             else if( i5 < 60 )
  333.             {
  334.                 myself->InstantTeleport(talker,-54080,-82800,-8336);
  335.             }
  336.             else if( i5 < 80 )
  337.             {
  338.                 myself->InstantTeleport(talker,-53824,-82752,-8336);
  339.             }
  340.             else
  341.             {
  342.                 myself->InstantTeleport(talker,-53648,-83024,-8336);
  343.             }
  344.             gg->SendScriptEvent(myself.c_ai3,1717002,talker.id);
  345.         }
  346.     }
  347.  
  348.     EventHandler REGISTER_USER_PVP_MATCH_RESULT(talker,reply,i0)
  349.     {
  350.         if( reply == 0 )
  351.         {
  352.             myself->ShowPage(talker,"cratae_teleport_npc009.htm");
  353.         }
  354.         else if( reply == 1 )
  355.         {
  356.         }
  357.         else if( reply == 8 )
  358.         {
  359.             myself->ShowPage(talker,"cratae_teleport_npc005.htm");
  360.         }
  361.         else if( reply == 10 )
  362.         {
  363.         }
  364.         else if( reply == 12 )
  365.         {
  366.         }
  367.         else if( reply == 13 )
  368.         {
  369.             myself->ShowPage(talker,"cratae_teleport_npc007.htm");
  370.         }
  371.         else if( reply == 14 )
  372.         {
  373.             myself->ShowPage(talker,"cratae_teleport_npc011.htm");
  374.         }
  375.     }
  376.  
  377.     EventHandler UNREGISTER_USER_PVP_MATCH_RESULT(talker,reply)
  378.     {
  379.     }
  380.  
  381.     EventHandler SCRIPT_EVENT(script_event_arg1,script_event_arg2,c0,maker0)
  382.     {
  383.         select(script_event_arg3.)
  384.         {
  385.             case script_event_arg3.:
  386.                 maker0 = gg->GetNpcMaker(maker_name_70);
  387.                 if( gg->IsNull(maker0) == 0 )
  388.                 {
  389.                     gg->SendMakerScriptEvent(maker0,1717001,myself.sm.id,0);
  390.                 }
  391.                 maker0 = gg->GetNpcMaker(maker_name_75);
  392.                 if( gg->IsNull(maker0) == 0 )
  393.                 {
  394.                     gg->SendMakerScriptEvent(maker0,1717001,myself.sm.id,0);
  395.                 }
  396.                 maker0 = gg->GetNpcMaker(maker_name_80);
  397.                 if( gg->IsNull(maker0) == 0 )
  398.                 {
  399.                     gg->SendMakerScriptEvent(maker0,1717001,myself.sm.id,0);
  400.                 }
  401.                 break;
  402.             case .:
  403.                 myself.c_ai1 = gg->GetCreatureFromID();
  404.                 break;
  405.             case .:
  406.                 myself.c_ai2 = gg->GetCreatureFromID();
  407.                 break;
  408.             case .:
  409.                 myself.c_ai3 = gg->GetCreatureFromID();
  410.                 break;
  411.             case .:
  412.                 myself.i_ai1 = ;
  413.                 break;
  414.             case .:
  415.                 myself.i_ai2 = ;
  416.                 break;
  417.             case .:
  418.                 myself.i_ai3 = ;
  419.                 break;
  420.             case .:
  421.                
  422.                 break;
  423.             case .:
  424.                 if( myself.i_ai4 == 1 )
  425.                 {
  426.                     ->AddTimerEx(myself.,( ( 2 * 60 ) * 1000 ));
  427.                     ->AddTimerEx(myself.,( ( 10 * 60 ) * 1000 ));
  428.                    
  429.                 }
  430.                 break;
  431.         }
  432.     }
  433.  
  434. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement