viewing paste [rA] lhz_dun + MVP info checking | Athena

Posted on the | Last edited on
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271
//===== rAthena Script =======================================
//= Lighthalzen Dungeon(Biolabs) Monster Spawn Script
//===== By: ==================================================
//= The Prometheus Project, rAthena Dev Team
//===== Current Version: =====================================
//= 2.0
//===== Compatible With: =====================================
//= rAthena Project
//===== Additional Comments: =================================
//= 08/24/05 : Added 1st version. [Muad_Dib]
//= 1.1 Some corrections to level 1, 2 as pointed out by
//=     MasterofMuppets. [Skotlex]
//= 1.3 Some fixes based on kRO's "RO Map" [Poki#3]
//=     I also made the place more Moby ^^
//= 1.4 Adjusted spawns according to own info from iRO [MasterOfMuppets]
//= 1.5 More accurate spawn numbers and iRO names thanks to Tharis [Playtester]
//= 1.6 Official X.3 spawns [Playtester]
//= 1.7 Corrected MVP spawn function to be standard to iRO. [L0ne_W0lf]
//= - A random 99 will now be spawned when the MVP spawns.
//= - Spare spawn and MVP spawn now spawn in official locations.
//= - Expandeded timer to allow for varying spawn times.
//= 1.7a Added dummy event to keep from causnig warnings. [L0ne_W0lf]
//= 1.8 Corrected MVP spawn variance (Labs2 MVP). [L0ne_W0lf]
//= 1.9 Added Bio4 spawns. [Chilly]
//= 2.0 Updated Bio4 spawns.
//============================================================
 
//==================================================
// lhz_dun01 - Somatology Laboratory
//==================================================
lhz_dun01,0,0,0,0   monster Remover 1682,100,5000,0,0
lhz_dun01,0,0,0,0   monster Anopheles   1627,70,5000,0,0
lhz_dun01,0,0,0,0   monster Metaling    1613,50,5000,0,0
lhz_dun01,0,0,0,0   monster Kavach Icarus   1656,13,5000,0,0
lhz_dun01,0,0,0,0   monster Errende Ebecee  1655,13,5000,0,0
lhz_dun01,0,0,0,0   monster Laurell Weinder 1657,11,5000,0,0
lhz_dun01,0,0,0,0   monster Wickebine Tres  1653,11,5000,0,0
lhz_dun01,0,0,0,0   monster Armeyer Dinze   1654,8,5000,0,0
lhz_dun01,0,0,0,0   monster Egnigem Cenia   1652,8,5000,0,0
lhz_dun01,0,0,0,0   monster Gemini-S58  1681,1,5000,0,0
 
//==================================================
// lhz_dun02 - Somatology Laboratory
//==================================================
lhz_dun02,0,0,0,0   monster Laurell Weinder 1657,50,5000,0,0
lhz_dun02,0,0,0,0   monster Wickebine Tres  1653,50,5000,0,0
lhz_dun02,0,0,0,0   monster Kavach Icarus   1656,50,5000,0,0
lhz_dun02,0,0,0,0   monster Errende Ebecee  1655,50,5000,0,0
lhz_dun02,0,0,0,0   monster Egnigem Cenia   1652,50,5000,0,0
lhz_dun02,0,0,0,0   monster Armeyer Dinze   1654,50,5000,0,0
lhz_dun02,0,0,0,0   monster Remover 1682,20,5000,0,0
lhz_dun02,0,0,0,0   monster Gemini-S58  1681,10,5000,0,0
lhz_dun02,0,0,0,0   monster Eremes Guile    1635,1,5000,0,0
lhz_dun02,0,0,0,0   boss_monster    Egnigem Cenia   1658,1,7200000,600000,1
 
//==================================================
// lhz_dun03 - Somatology Laboratory
//==================================================
lhz_dun03,0,0,0,0   monster Cecil Damon 1638,81,5000,0,0
lhz_dun03,0,0,0,0   monster Kathryne Keyron 1639,57,5000,0,0
lhz_dun03,0,0,0,0   monster Margaretha Sorin    1637,42,5000,0,0
lhz_dun03,0,0,0,0   monster Howard Alt-Eisen    1636,42,5000,0,0
lhz_dun03,0,0,0,0   monster Eremes Guile    1635,42,5000,0,0
lhz_dun03,0,0,0,0   monster Seyren Windsor  1634,42,5000,0,0
lhz_dun03,139,158,20,11 monster Assassin Cross Eremes   1641,1,2580000,2340000,1
lhz_dun03,138,138,36,34 monster High Wizard Kathryne    1645,1,2580000,2460000,1
lhz_dun03,114,138,12,16 monster Lord Knight Seyren  1640,1,2700000,2400000,1
lhz_dun03,139,117,20,11 monster Sniper Cecil    1644,1,2700000,2500000,1
lhz_dun03,163,138,12,16 monster Whitesmith Howard   1642,1,3000000,2700000,1
lhz_dun03,138,138,36,34 monster High Priest Margaretha  1643,1,3300000,3000000,1
 
lhz_dun03,0,0,0 script  mvp_lhz_dun03   -1,{
OnTimer6000000: // delay1 = 6000000 ms (100 min)
    stopnpctimer;
    sleep $@bio_lab3_rand*60000; // 0 to 30 minutes
OnInit:
    // Select Coordinates to summon a random MVP on
    switch(rand(1,6)) {
        case 1:  set .@x,140;  set .@y,232;  break;
        case 2:  set .@x,75;   set .@y,138;  break;
        case 3:  set .@x,140;  set .@y,87;   break;
        case 4:  set .@x,205;  set .@y,140;  break;
        case 5:  set .@x,123;  set .@y,137;  break;
        case 6:  set .@x,175;  set .@y,137;  break;
    }
    if ( !$@bio_lab3_next )
        set $@bio_lab3_mob,rand(1646,1651);
    else 
        set $@bio_lab3_mob,$@bio_lab3_next;
    set $@bio_lab3_next,0;
    set $@bio_lab3_x,.@x;
    set $@bio_lab3_y,.@y;
    monster "lhz_dun03",.@x,.@y,strmobinfo(1,$@bio_lab3_mob),$@bio_lab3_mob,1,strnpcinfo(3)+"::OnMyMVPDead";
 
    // Select Coordinates to summon a random 99 on
    switch(rand(1,6)) {
        case 1:  set .@x2,183;  set .@y2,97;   break;
        case 2:  set .@x2,97;   set .@y2,96;   break;
        case 3:  set .@x2,47;   set .@y2,139;  break;
        case 4:  set .@x2,231;  set .@y2,140;  break;
        case 5:  set .@x2,139;  set .@y2,211;  break;
        case 6:  set .@x2,139;  set .@y2,259;  break;
    }
    set .@mob2,rand(1640,1645);
    monster "lhz_dun03",.@x2,.@y2,strmobinfo(1,.@mob2),.@mob2,1,strnpcinfo(3)+"::OnMy99Dead";
    end;
 
OnMyMVPDead:
    set $@bio_lab3_mob,0;
    set $@bio_lab3_x,0;
    set $@bio_lab3_y,0;
    set $@bio_lab3_next,rand(1646,1651);
    if ( playerattached() )
        set $@bio_lab3_killer$,strcharinfo(0);
    set $@bio_lab3_rand,rand( 0,30 );
    set $@bio_lab3_time,gettimetick(2) + ( ( 100+$@bio_lab3_rand ) * 60 );
    killmonster "lhz_dun03",strnpcinfo(3)+"::OnMy99Dead";
    initnpctimer;
OnMy99Dead:
    end;
}
 
//========================================================================================
// lhz_dun04 - Bio-life Labs 4F
//========================================================================================
lhz_dun04,0,0,0,0   monster Randel  2221,42,5000,0,0
lhz_dun04,0,0,0,0   monster Flamel  2222,42,5000,0,0
lhz_dun04,0,0,0,0   monster Celia   2223,81,5000,0,0
lhz_dun04,0,0,0,0   monster Chen    2224,42,5000,0,0
lhz_dun04,0,0,0,0   monster Gertie  2225,57,5000,0,0
lhz_dun04,0,0,0,0   monster Alphoccio   2226,42,5000,0,0
lhz_dun04,0,0,0,0   monster Trentini    2227,42,5000,0,0
lhz_dun04,0,0,0,0   monster Paladin Randel  2228,1,3300000,3000000,1
lhz_dun04,0,0,0,0   monster Creator Flamel  2229,1,3300000,3000000,1
lhz_dun04,0,0,0,0   monster Professor Celia 2230,1,3300000,3000000,1
lhz_dun04,0,0,0,0   monster Champion Chen   2231,1,3300000,3000000,1
lhz_dun04,0,0,0,0   monster Stalker Gertie  2232,1,3300000,3000000,1
lhz_dun04,0,0,0,0   monster Clown Alphoccio 2233,1,3300000,3000000,1
lhz_dun04,0,0,0,0   monster Gypsy Trentini  2234,1,3300000,3000000,1
 
lhz_dun04,0,0,0 script  mvp_lhz_dun04   -1,{
OnTimer6000000: // delay1 = 6000000 ms (100 min)
    stopnpctimer;
    sleep $@bio_lab4_rand*60000; // 0 to 30 minutes
OnInit:
    // Select Coordinates to summon a random MVP on
    switch(rand(1,7)) {
        case 1:  set .@x,77;   set .@y,251;  break;
        case 2:  set .@x,147;  set .@y,224;  break;
        case 3:  set .@x,219;  set .@y,219;  break;
        case 4:  set .@x,244;  set .@y,120;  break;
        case 5:  set .@x,149;  set .@y,41;   break;
        case 6:  set .@x,53;   set .@y,109;  break;
        case 7:  set .@x,149;  set .@y,151;  break;
    }
    if ( !$@bio_lab4_next )
        set $@bio_lab4_mob,rand(2235,2241);
    else 
        set $@bio_lab4_mob,$@bio_lab4_next;
    set $@bio_lab4_next,0;
    set $@bio_lab4_x,.@x;
    set $@bio_lab4_y,.@y;
    monster "lhz_dun04",.@x,.@y,strmobinfo(1,$@bio_lab4_mob),$@bio_lab4_mob,1,strnpcinfo(3)+"::OnMyMVPDead";
 
    // Select Coordinates to summon a random 99 on
    switch(rand(1,7)) {
        case 1:  set .@x2,77;   set .@y2,251;  break;
        case 2:  set .@x2,147;  set .@y2,224;  break;
        case 3:  set .@x2,219;  set .@y2,219;  break;
        case 4:  set .@x2,244;  set .@y2,120;  break;
        case 5:  set .@x2,149;  set .@y2,41;   break;
        case 6:  set .@x2,53;   set .@y2,109;  break;
        case 7:  set .@x2,149;  set .@y2,151;  break;
    }
    set .@mob2,rand(2228,2234);
    monster "lhz_dun04",.@x2,.@y2,strmobinfo(1,.@mob2),.@mob2,1,strnpcinfo(3)+"::OnMy99Dead";
    end;
 
OnMyMVPDead:
    set $@bio_lab4_mob,0;
    set $@bio_lab4_x,0;
    set $@bio_lab4_y,0;
    set $@bio_lab4_next,rand(2235,2241);
    if ( playerattached() )
        set $@bio_lab4_killer$,strcharinfo(0);
    set $@bio_lab4_rand,rand( 0,30 );
    set $@bio_lab4_time,gettimetick(2) + ( ( 100+$@bio_lab4_rand ) * 60 );
    killmonster "lhz_dun04",strnpcinfo(3)+"::OnMy99Dead";
    initnpctimer;
OnMy99Dead:
    end;
}
 
 
function    script  epoch_time  {
    .@time = getarg( 0 ) - gettimetick(2);
    
    return sprintf( "%02d:%02d:%02d",
        ( .@time / 3600 ),
        ( .@time % 3600 / 60 ),
        ( .@time % 3600 % 60 )
    );
}
 
-   script  lab_mvp -1,{
    OnInit:
        setarray .ele$,"Neutral","Water","Earth","Fire","Wind","Poison","Holy","Dark","Ghost","Undead";
        end;
        
    OnWhisperGlobal:
        dispbottom "==== Bio Laboratory MVP ====";
        if ( !$@bio_lab3_next ) {
            dispbottom "Lv 3 - "+getmonsterinfo( $@bio_lab3_mob,MOB_NAME )+" ( "+.ele$[getmonsterinfo( $@bio_lab3_mob,MOB_ELEMENT )]+" )";
            dispbottom "    > near ("+$@bio_lab3_x+","+$@bio_lab3_y+")";
            if ( strcharinfo( 3 ) == "lhz_dun03" ) {
                viewpoint 1,$@bio_lab3_x,$@bio_lab3_y,1,0x00FF00;
                viewpoint 1,$@bio_lab3_x,$@bio_lab3_y,2,0x00FF00;
                viewpoint 1,$@bio_lab3_x,$@bio_lab3_y,3,0x00FF00;
                .@shown = 1;
            }
        }
        else if ( !$@bio_lab3_mob ) {
            dispbottom "Level 3 :";
            if ( $@bio_lab3_killer$ != "" || $@bio_lab3_killer$ != "null" )
                dispbottom "    >   Killed by : "+$@bio_lab3_killer$;
            if ( $@bio_lab3_next ) {
                dispbottom "    >   Next MVP   : "+getmonsterinfo( $@bio_lab3_next,MOB_NAME );
                dispbottom "    >   Respawn in : "+callfunc( "epoch_time",$@bio_lab3_time );
            }
        }
        
        dispbottom " ";
        if ( !$@bio_lab4_next ) {
            dispbottom "Lv 4 - "+getmonsterinfo( $@bio_lab4_mob,MOB_NAME )+" ( "+.ele$[getmonsterinfo( $@bio_lab4_mob,MOB_ELEMENT )]+" )";
            dispbottom "    > near ("+$@bio_lab4_x+","+$@bio_lab4_y+")";
            if ( strcharinfo( 3 ) == "lhz_dun04" ) {
                viewpoint 1,$@bio_lab4_x,$@bio_lab4_y,1,0x00FF00;
                viewpoint 1,$@bio_lab4_x,$@bio_lab4_y,2,0x00FF00;
                viewpoint 1,$@bio_lab4_x,$@bio_lab4_y,3,0x00FF00;
                .@shown = 1;
            }
        }
        else if ( !$@bio_lab4_mob ) {
            dispbottom "Level 4 :";
            if ( $@bio_lab3_killer$ != "" || $@bio_lab4_killer$ != "null" )
                dispbottom "    >   Killed by : "+$@bio_lab4_killer$;
            if ( $@bio_lab4_next ) {
                dispbottom "    >   Next MVP   : "+getmonsterinfo( $@bio_lab4_next,MOB_NAME );
                dispbottom "    >   Respawn in : "+callfunc( "epoch_time",$@bio_lab4_time );
            }
        }
        if ( !.@shown ) {
            dispbottom "Respawn spot of MVP will be shown in Minimap";
            dispbottom "When you PM this NPC at Bio Laboratory & MVP is alive & not teleported";
        }
        // dispbottom ""+callfunc( "epoch_time",( gettimetick(2) + 7200 + 600 + 35 ) );
        end;
}
 
 
 
 
 
 
 
 
 
 
 
 
 
Viewed 1618 times, submitted by Emistry.