Advertisement
h3x3r0

Untitled

Jul 26th, 2024
157
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 3.50 KB | None | 0 0
  1. @LabelIndex 139671
  2. @StringIndex 0
  3. class 0 ai_boss07_heart_of_warding : default_npc {
  4. parameter:
  5.     int TelPosX = 0;
  6.     int TelPosY = 0;
  7.     int TelPosZ = 0;
  8.     string  fnHi = "heart_of_volcano001.htm";
  9.     string  fnBattle = "heart_of_volcano003.htm";
  10.     string  fnNotRespawn = "heart_of_volcano002.htm";
  11.     string  fnNoMoreTicket = "heart_of_volcano004.htm";
  12.     string  Valakas_f_maker = "godard02_npc2416_65m1";
  13.     string  Valakas_f_shock_maker = "godard02_npc2416_62m1";
  14.     string  Valakas_f_shocker_maker = "godard02_npc2416_64m1";
  15.     string  Valakas_f_breath_maker = "godard02_npc2416_63m1";
  16.  
  17. handler:
  18.     EventHandler CREATED(reply) {
  19.         if( reply == 0 ) {
  20.             myself.i_ai0 = 0;
  21.             myself.i_ai1 = 0;
  22.             myself::SetDBValue(myself.sm,0);
  23.         } else {
  24.             myself.i_ai0 = myself.sm.db_value;
  25.         }
  26.         myself::AddTimerEx(2002,( 60 * 1000 ));
  27.     }
  28.  
  29.     EventHandler TALKED(talker) {
  30.         myself::ShowPage(talker,fnHi);
  31.     }
  32.  
  33.     EventHandler MPCC_TELEPORTED(talker,reply,c0,c1,i0,i1) {
  34.         i0 = myself::GetGlobalMap(3);
  35.         if( i0 != -1 ) {
  36.             c0 = gg::GetCreatureFromIndex(i0);
  37.             i1 = myself::MPCC_GetMPCCId(talker);
  38.             if( talker == myself::MPCC_GetMaster(i1) && myself::IsNullCreature(c0) == 0 && c0.alive ) {
  39.                 if( reply >= 99 ) {
  40.                     gg::SendScriptEvent(c0,99999999,i1);
  41.                     myself.i_ai1 = i1;
  42.                 }
  43.                 if( reply > 0 ) {
  44.                     myself.i_ai0 = ( myself.i_ai0 + reply );
  45.                     myself::SetDBValue(myself.sm,myself.i_ai0);
  46.                     if( c0.db_value == 0 ) {
  47.                         myself::MPCC_SetMasterPartyRouting(myself.i_ai1,c0,0);
  48.                         gg::SendScriptEvent(c0,0,0);
  49.                     }
  50.                 }
  51.             }
  52.         }
  53.     }
  54.  
  55.     EventHandler TELEPORT_REQUESTED(talker,i0,c0,i1,i2,i3,i4,c3) {
  56.         i0 = myself::GetGlobalMap(3);
  57.         if( i0 != -1 ) {
  58.             c0 = gg::GetCreatureFromIndex(i0);
  59.             if( myself::IsNullCreature(c0) == 0 && c0.alive ) {
  60.                 if( c0.db_value == 0 || c0.db_value == 1 ) {
  61.                     if( myself.i_ai0 >= 200 ) {
  62.                         myself::ShowPage(talker,fnNoMoreTicket);
  63.                     } else {
  64.                         i3 = myself::MPCC_GetMPCCId(talker);
  65.                         c3 = myself::MPCC_GetMaster(i3);
  66.                         if( talker != c3 ) {
  67.                             myself::InstantTeleport(talker,TelPosX,TelPosY,TelPosZ);
  68.                             myself.i_ai0 = ( myself.i_ai0 + 1 );
  69.                             myself::SetDBValue(myself.sm,myself.i_ai0);
  70.                             if( c0.db_value == 0 ) {
  71.                                 myself::MPCC_SetMasterPartyRouting(myself.i_ai1,c0,0);
  72.                                 gg::SendScriptEvent(c0,0,0);
  73.                             }
  74.                         } else {
  75.                             i4 = myself::MPCC_GetMemberCount(i3);
  76.                             if( i4 > ( 200 - myself.i_ai0 ) ) {
  77.                                 myself::ShowPage(talker,fnNoMoreTicket);
  78.                             } else {
  79.                                 myself::InstantTeleportMPCC(talker,TelPosX,TelPosY,TelPosZ,1000,100,200,0,0);
  80.                             }
  81.                         }
  82.                     }
  83.                 } else if( c0.db_value == 2 || c0.db_value == 3 ) {
  84.                     myself::ShowPage(talker,fnBattle);
  85.                 }
  86.             } else {
  87.                 myself::ShowPage(talker,fnNotRespawn);
  88.             }
  89.         } else {
  90.             myself::ShowPage(talker,fnNotRespawn);
  91.         }
  92.     }
  93.  
  94.     EventHandler ATTACKED(attacker,i0,c0,i1,i2,i3,i4,c3,maker0) {
  95.     }
  96.  
  97.     EventHandler TIMER_FIRED_EX(timer_id,i0,c0) {
  98.         if( timer_id == 2002 ) {
  99.             i0 = myself::GetGlobalMap(3);
  100.             if( i0 != -1 ) {
  101.                 c0 = gg::GetCreatureFromIndex(i0);
  102.                 if( myself::IsNullCreature(c0) == 0 && c0.alive ) {
  103.                     if( c0.db_value == 0 && myself.sm.db_value != 0 ) {
  104.                         myself::SetDBValue(myself.sm,0);
  105.                         myself.i_ai0 = 0;
  106.                     }
  107.                 } else if( myself.sm.db_value != 0 ) {
  108.                     myself::SetDBValue(myself.sm,0);
  109.                     myself.i_ai0 = 0;
  110.                 }
  111.             } else if( myself.sm.db_value != 0 ) {
  112.                 myself::SetDBValue(myself.sm,0);
  113.                 myself.i_ai0 = 0;
  114.             }
  115.             myself::AddTimerEx(2002,( 60 * 1000 ));
  116.         }
  117.     }
  118.  
  119. }
  120.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement