viewing paste Unknown #52498 | Text

Posted on the
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
// =================== MVP KILL ===============
// ====== MVP will drop an item only ==========
// ====== at specific maps. ===================
// ====== if players are on a party ===========
// ====== item will be given randomly =========
// ====== to any online party members =========
// ============== by : pajodex ================
// ==== Additional Comments: ==================
// 1.0 - Initial release (MVP Kill standalone)
// 1.1 - used setarray function to optimize script
// 1.2 - Added modified Euphy MVP ladder
//       slight rework on the script
// 1.3 - Fixed on reset function (Report by: celeron0134)
// ============================================
-   script  #mvp_kill   -1,{
 
OnInit:
    setarray .p_rwd, 7919,1;    // Party reward <item>,<amount>
    setarray .s_rwd, 7919,1;    // Solo reward <item>,<amount>
    .chance = 100;  // Drop rate chances %
    .gm = 10;  // Prevents gm level and above to trigger the event
    // MVP Map list
    setarray .t_maps$[0],"moc_pryd06","lhz_dun03","gld2_prt","abbey02","ayo_dun02","lhz_dun04","ra_fild02","xmas_fild01","dic_dun02","beach_dun","iz_dun05","tur_dun04","lhz_dun02","jupe_core","moc_fild22","anthell02","odin_tem03","gon_dun03","gef_fild02","thana_boss","gef_fild10","ein_dun02","gef_fild14","moc_pryd04","dew_dun01","in_sphinx5","niflheim","moc_fild17","xmas_dun02","ice_dun03","kh_dun02","treasure02","moc_prydn2","pay_dun04","ra_san05","mosk_dun03","ama_dun03","thor_v03","gef_dun01","mjolnir_04","abyss_03","dic_dun03","prt_sewb4","pay_fild11","gef_dun02","gl_chyard","ra_fild03","ra_fild04","ve_fild01","ve_fild02","lou_dun03","prt_maze03","bra_dun02";
    end;
 
OnNPCKillEvent:
//if (getgmlevel() >= .gm ) end; // If gm = event wont happen
if ( getmonsterinfo( killedrid, MOB_MVPEXP )) {
    for (.@a = 0; .@a < getarraysize(.t_maps$); .@a++) {
    if ( strcharinfo(3) == instance_mapname("06guild_01") ) end; 
    if ( strcharinfo(3) == instance_mapname("force_1-1") ) end;
    if ( strcharinfo(3) == .t_maps$[.@a]) { 
            if ( getcharid(1) ) {
                getpartymember getcharid(1), 1;
                getpartymember getcharid(1), 2;
                for ( .@i = 0; .@i < $@partymembercount; .@i++ ) {
                    if ( isloggedin( $@partymemberaid[.@i], $@partymembercid[.@i] ) ) { 
                        .@partymemberaid[.@c] = $@partymemberaid[.@i];
                        .@c++;
                    }
                }
                if (rand(100) < .chance) getitem .p_rwd[0], .p_rwd[1], .@partymemberaid[ rand( .@c ) ];
                //announce "[ System ] : Player ["+ strcharinfo(0) +"] of party ["+ strcharinfo(1) +"] has killed "+ getmonsterinfo( killedrid, MOB_NAME ) +" at "+ strcharinfo(3), bc_all;
            }
            else {
                if (rand(100) < .chance) getitem .s_rwd[0], .s_rwd[1];
                //announce "[ System ] : Player ["+ strcharinfo(0) +"] has killed "+ getmonsterinfo( killedrid, MOB_NAME ) +" alone at "+ strcharinfo(3), bc_all;
            }
        MVPKills = MVPKills+1;
        //dispbottom "---------------------------------------------------";
        dispbottom "You have killed a total of "+MVPKills+" MVP Monster"+((MVPKills == 1)?"":"s")+".";
        //dispbottom "---------------------------------------------------";
        end;
        }
    }
    if ( getcharid(1) ) {
        //announce "[ System ] : Player ["+ strcharinfo(0) +"] of party ["+ strcharinfo(1) +"] has killed "+ getmonsterinfo( killedrid, MOB_NAME ) +" at "+ strcharinfo(3), bc_all;
        } 
        else {
        //announce "[ System ] : Player ["+ strcharinfo(0) +"] has killed "+ getmonsterinfo( killedrid, MOB_NAME ) +" alone at "+ strcharinfo(3), bc_all;
        }
    end;
    }
 
    
}
prontera,147,189,3  script  MVP Ladder#Euphy    891,{
    mes "[ MVP Rankings ]";
    mes "Hello, "+strcharinfo(0)+"";
    mes " ";
    mes "What can i do for you?";
    next;
    switch(select("Check Ranking.", "My stats.",( getgmlevel() >= 99 ) ? "RESET":"","Nothing...")) {
        case 1:
            mes "[ MVP Rankings ]";
            query_sql("SELECT char_id, CAST(`value` AS SIGNED) FROM `char_reg_num` WHERE `key` = 'MVPKills' ORDER BY CAST(`value` AS SIGNED) DESC LIMIT 20",.@cid,.@value);
            for(set .@i,0; .@i<getarraysize(.@cid); set .@i,.@i+1) {
                query_sql("SELECT `name` FROM `char` WHERE char_id = "+.@cid[.@i]+";",.@j$);
                set .@name$[.@i], .@j$;
            }
            if (!getarraysize(.@cid))
                mes "The rankings are empty.";
            else for(set .@i,0; .@i<getarraysize(.@cid); set .@i,.@i+1)
            mes "[^0000FF "+(.@i+1)+" ^000000] "+.@name$[.@i]+" ~ ^FF0000"+.@value[.@i]+"^000000 MVP Kills";
            close;
            
        case 2:
            mes "[ MVP Rankings ]";
            mes "You killed "+((MVPKills)?"^0055FF"+MVPKills:"no")+"^000000 MVP"+((MVPKills == 1)?".":"s.");
            close;
        case 3:
            if ( select( "Confirm","Cancel" ) == 1 ) {
                query_sql("UPDATE `char_reg_num` SET `value` = '0' WHERE `key` ='MVPKills'");
                addrid(0);
                MVPKills = 0;
            }
            close;
        default:        
            close;
    }
 
}
Viewed 552 times, submitted by Guest.