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 173 times, submitted by Guest.