Jump to content
  • 0

Request DOTD Or similar.


iraciz

Question


  • Group:  Members
  • Topic Count:  140
  • Topics Per Day:  0.03
  • Content Count:  562
  • Reputation:   108
  • Joined:  10/05/12
  • Last Seen:  

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

 

Link to comment
Share on other sites

4 answers to this question

Recommended Posts

  • 1

  • Group:  Members
  • Topic Count:  10
  • Topics Per Day:  0.00
  • Content Count:  48
  • Reputation:   2
  • Joined:  03/19/14
  • Last Seen:  

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;
    

}
 

 

Link to comment
Share on other sites

  • 1

  • Group:  Members
  • Topic Count:  5
  • Topics Per Day:  0.00
  • Content Count:  171
  • Reputation:   68
  • Joined:  10/25/20
  • Last Seen:  

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
Link to comment
Share on other sites

  • 0

  • Group:  Members
  • Topic Count:  140
  • Topics Per Day:  0.03
  • Content Count:  562
  • Reputation:   108
  • Joined:  10/05/12
  • Last Seen:  

yes this is gold.

I was wondering if this could come with a NPC to make the players know the actual bonus map.

Link to comment
Share on other sites

  • 0

  • Group:  Members
  • Topic Count:  140
  • Topics Per Day:  0.03
  • Content Count:  562
  • Reputation:   108
  • Joined:  10/05/12
  • Last Seen:  

@manuel 

Thankyou!

Edited by iraciz
Link to comment
Share on other sites

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.

×
×
  • Create New...