Jump to content
  • 0

Request DOTD Or similar.


Question

Posted

May I ask for this please?

⭕DOTD (Dungeon Of The Day): Every day there will be Dungeon maps with increased experience (+10%). Even those summoned by branches inside the map from a random list. PRE-RENEWAL

 

4 answers to this question

Recommended Posts

  • 1
Posted

update  AMBOS

 

Quote


prontera,155,196,5    script    RAZA DEL DIA    858 ,{
set .@gmlevel,getgmlevel();

do{
    set .@menu,select("^4EEE94RAZA Información^000000",
                ( .@gmlevel < .gm_level )?"":"^FF0000[GM]^000000Selec Raza de mob",
                ( .@gmlevel < .gm_level )?"":"^FF0000[GM]^000000Selec Bonus EXP ",        
                ( .@gmlevel < .gm_level )?"":"^FF0000[GM]^000000Selec BonusItem / Zeny ",
                "Cerrar" );
                
    switch( .@menu ) {
        Case 1:
            mes "^FF0000ROTD^000000 Referirse a ^0000FFRaza del dia^000000";
            mes "En otra palabra, significa que el ^FF0000Raza de monstruos^000000 que mataste de día te concederá ^FF0000Bonificación adicional EXP / Artículo / Zeny ^000000.";
            next;
            mes "[ ^FF0000RRAZA de hoy^000000 ]";
            mes "^0000FF"+.rotd$[.today_rotd]+"^000000 Raza";
            if ( .rotd_exp_bonus ) mes " ~ ^777777"+.rotd_exp_bonus+"% mas exp^000000";
            if ( ( .rotd_item_amount && .rotd_item_rate ) || .rotd_zeny || .rotd_exp_bonus ) {
                mes " ";
                mes "Premio : "+( ( .rotd_item_rate )? .rotd_item_rate+"%":"" )+" : ";
                if ( .rotd_item_amount && .rotd_item_rate ) mes " ~ ^777777"+.rotd_item_amount+" x "+getitemname( .rotd_item_id )+"^000000";
                if ( .rotd_zeny ) mes " ~ ^777777"+.rotd_zeny+" Zeny^000000";
                mes " ";
                mes "Amount are random...";
            }
            break;
        Case 2:
            mes "Select una raza nueva.";
            set .today_rotd,select( .rotd_menu$ ) - 1;
            if ( .today_rotd >= .rotd_size ) set .today_rotd,rand( .rotd_size );
            mes "Nueva Raza : ^777777"+.rotd$[.today_rotd]+"^000000";
            delwaitingroom;
            waitingroom "[RAZA]:"+.rotd$[.today_rotd]+" ",0;
            break;
        Case 3:
            mes "Selec un bonus. (%)";
            input .rotd_exp_bonus,0,100;
            if ( .rotd_exp_bonus ) mes "ROTD EXP : "+.rotd_exp_bonus+" %";
            break;
        Case 4:
            mes "Selec bonus de Rotd";
            mes "Bono Zeny insertado";
            input .@zeny;
            mes "Insertar ID de artículo";
            do{
                input .@item,0,32767; 
                if ( !.@item ) close;
            }while( getitemname( .@item ) == "null" );
            mes "Enter amount.";
            input .@amount,0,30000;
            mes "Ingrese la tarifa para ganar.";
            input .@rate,0,100;
            if ( .@amount && .@rate ) {
                next;
                mes "Bono de artículo actualizado : ( "+.@rate+"% )";
                mes "^777777"+.@amount+" x "+getitemname( .@item )+"^000000";
                mes "^777777"+.@zeny+" Zeny^000000";
                if ( select( "Confirm","Cancel" ) == 1 ) {
                    set .rotd_item_id,.@item;    
                    set .rotd_item_amount,.@amount;
                    set .rotd_item_rate,.@rate;
                    set .rotd_zeny,.@zeny;
                    mes "Actualizado.";
                }
            }
        default: close;
    }
    next;
}while( .@menu != 5 );
close;

OnInit:
    // min gm level
    set .gm_level,80;

    // monster race list
    setarray .rotd$[0],
        "Formless",
        "Undead",
        "Brute",
        "Plant",
        "Insect",
        "Fish",
        "Demon",
        "Demi Human",
        "Angel",
        "Dragon",
        "Boss",
        "Non-Boss";
    set .rotd_size,getarraysize( .rotd$ );
    for( set .@i,0; .@i < .rotd_size; set .@i,.@i + 1 )
        set .rotd_menu$,.rotd_menu$ + .rotd$[.@i] +":";
    set .rotd_menu$,.rotd_menu$ + "^0055FFRaza al azar^000000";

    // min party member lv to gain exp
    set .party_level_range,10;

// daily reset
OnClock0000:
    set .today_rotd,rand( .rotd_size );
    set .rotd_exp_bonus,rand( 1,25 );
    delwaitingroom;
    waitingroom "[Raza]:"+.rotd$[.today_rotd]+" ",0;
    dispbottom "> [ LA NUEVA  RAZA DEL DIA ] ES [ "+.rotd$[.today_rotd]+" ] CON BONUS DE ["+.rotd_exp_bonus+"%] EXPERIENCIA ADICIONAL.",0x00FFFF;
    end;
    
OnNPCKillEvent:
if ( getmonsterinfo( killedrid,MOB_RACE ) == .today_rotd ) {
    set .@partyid,getcharid(1);
    set .@mob_base_exp,(( getmonsterinfo( killedrid,MOB_BASEEXP ) / 100 ) * .rotd_exp_bonus );
    set .@mob_job_exp,(( getmonsterinfo( killedrid,MOB_JOBEXP ) / 100 ) * .rotd_exp_bonus );
    if ( .@partyid ) {
        set .@aid,getcharid(3);
        set .@baselevel,BaseLevel;
        set .@map$,strcharinfo(3);
        getpartymember .@partyid,1;
        getpartymember .@partyid,2;
        while( .@i < $@partymembercount ) {
            if ( isloggedin( $@partymemberaid[.@i],$@partymembercid[.@i] ) )
                if ( attachrid( $@partymemberaid[.@i] ) )
                    if ( strcharinfo(3) == .@map$ && ( BaseLevel - .@baselevel ) <= .party_level_range && ( BaseLevel - .@baselevel ) >= ~.party_level_range && Hp >= 1 ) {    
                        set BaseExp,( BaseExp + .@mob_base_exp );
                        set JobExp,( JobExp + .@mob_job_exp );
                        dispbottom "[RAZA Grupal] : "+.@mob_base_exp+" EXP";
                    }
            set .@i,.@i + 1;
        }
        attachrid( .@aid );
    }
    else {
        set BaseExp,( BaseExp + .@mob_base_exp );
        set JobExp,( JobExp + .@mob_job_exp );
        dispbottom "[RAZA SOLO] : "+.@mob_base_exp+" EXP";
    }
    if ( rand( 100 ) < .rotd_item_rate && .rotd_zeny ) 
        set Zeny,Zeny + rand( .rotd_zeny );
    if ( rand( 100 ) < .rotd_item_rate && .rotd_item_amount ) 
        getitem .rotd_item_id,rand( .rotd_item_amount ),.@aid;
}
end;

OnPCLoginEvent:
dispbottom "> [ RAZA DEL DIA ] ES [ "+.rotd$[.today_rotd]+" ] CON BONUS DE ["+.rotd_exp_bonus+"%] EXPERIENCIA ADICIONAL.",0x00FFFF;
end;
}


prontera,164,204,5    script    DUNGEONS DEL DIA    858,{
mes "[^339900 DUNGEONS DEL DIA ^000000 ]";
mes "> DUNGEONS: [ ^FFC300"+.random_maps$[.map]+"^000000 ] ";
mes "BONUS DE: [ ^21AB43"+.exp_bonus+"%^000000 ] EXPERIENCIA ";
close;

OnInit:

    

.exp_bonus = 25; // change exp % here
OnClock0000: // new dungeon of the day will be changed at 00:00 server time
    setarray .random_maps$,
                // dungeons payon cave
                    "pay_dun00",
                    "pay_dun01",
                    "pay_dun02",
                    "pay_dun03",
                    "pay_dun04",
                    
                    // dungeons anthell
                    "anthell01",
                    "anthell02",
                    // dungeons mosk
                    "mosk_dun01",
                    "mosk_dun02",
                    "mosk_dun03"; // add your maps here
    .map = rand(getarraysize(.random_maps$));
announce "> NUEVO DUNGEON DEL DIA ES [ "+.random_maps$[.map]+" ] CON BONUS DE ["+.exp_bonus+"%] EXPERIENCIA ADICIONAL.",bc_all;
    end;
    
OnNPCKillEvent:
    getmapxy(.@map$,.@x,.@y,BL_PC);
    if(.@map$ == .random_maps$[.map]) {
        set BaseExp, BaseExp + (getmonsterinfo(killedrid,3) * .exp_bonus / 100);
        set JobExp, JobExp + (getmonsterinfo(killedrid,4) * .exp_bonus / 100);
    }
delwaitingroom;

waitingroom "[Dun]: "+.random_maps$[.map]+" ",0;
    end;
    
OnPCLoginEvent:
dispbottom "> [ DUNGEON DEL DIA ] ES [ "+.random_maps$[.map]+" ] CON BONUS DE ["+.exp_bonus+"%] EXPERIENCIA ADICIONAL.",0x00FFFF;
end;
    

}
 

 

  • 1
Posted (edited)

Tested and is working as intended, if you want some extra features in it just let me know.

 

-	script	dotd	-1,{
OnInit:
.exp_bonus = 10; // change exp % here
OnClock0000: // new dungeon of the day will be changed at 00:00 server time
	setarray .random_maps$,"prontera","pay_dun00"; // add your maps here
	.map = rand(getarraysize(.random_maps$));
	announce "New Dungeon of the Day is '"+.random_maps$[.map]+"' with ["+.exp_bonus+"%] more EXP.",bc_all;
	end;
	
OnNPCKillEvent:
	getmapxy(.@map$,.@x,.@y,BL_PC);
	if(.@map$ == .random_maps$[.map]) {
		set BaseExp, BaseExp + (getmonsterinfo(killedrid,3) * .exp_bonus / 100);
		set JobExp, JobExp + (getmonsterinfo(killedrid,4) * .exp_bonus / 100);
	}
	end;
	
OnPCLoginEvent:
	dispbottom "Dungeon of the Day is '"+.random_maps$[.map]+"' with ["+.exp_bonus+"%] more EXP.",0x00FFFF;
	end;
}

 

Edited by cook1e

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...