Jump to content

Sakurada

Members
  • Posts

    148
  • Joined

  • Last visited

  • Days Won

    1

Community Answers

  1. Sakurada's post in MvPs Questions was marked as the answer   
    At the end of your spawn script that you keep in your NPC folder...
     
    prontera,0,0,0,0 boss_monster Detardeurus 1719,1,10800000,600,000,0,1,0
    prontera,0,0,0,0 boss_monster Detardeurus 1719,1,10800000,600,000,0,2,0
    prontera,0,0,0,0 boss_monster Detardeurus 1719,1,10800000,600,000,0,3,0
     
     
    you can add 2 more collumns, size and ai that arent normally there
    I think 3 is large 
  2. Sakurada's post in Skills promotion ATK formula error? was marked as the answer   
    status.c
    change this
    set_sc( GN_CARTBOOST , SC_GN_CARTBOOST , EFST_GN_CARTBOOST , SCB_SPEED|SCB_WATK ); add scb_watk
     
    find this
    if(sc->data[SC_WATKFOOD]) watk += sc->data[SC_WATKFOOD]->val1; if(sc->data[SC_VOLCANO]) watk += sc->data[SC_VOLCANO]->val2; if(sc->data[SC_MERC_ATKUP]) watk += sc->data[SC_MERC_ATKUP]->val2; add a new one 
    if(sc->data[SC_GN_CARTBOOST]) watk += sc->data[SC_GN_CARTBOOST]->val4;  
    find this
    case SC_GN_CARTBOOST: if( val1 < 3 ) val2 = 50; else if( val1 > 2 && val1 < 5 ) val2 = 75; else val2 = 100; break; add val4= 50; at the top
    like so
    case SC_GN_CARTBOOST: val4 = 50; // Watk increase if( val1 < 3 ) val2 = 50; else if( val1 > 2 && val1 < 5 ) val2 = 75; else val2 = 100; break;  
     
     
    That should do it unless you want batk if that matters just change scb_watk to scb_batk and change watk in second part to batk , might have  to move it to other section with others tho 
     
    recompile
     
     
     
  3. Sakurada's post in #mapflag droprate was marked as the answer   
    I dont know how to make a patch but ive included my src + mapflag conf at the bottom of the post, ill include instructions on how to add them yourself though. And how to adjust the rates will be first
    drop rates - mob.c
    find this
    #ifdef RENEWAL_DROP if( drop_modifier != 100 ) { drop_rate = apply_rate(drop_rate, drop_modifier); if( drop_rate < 1 ) drop_rate = 1; } #endif if(map_getmapflag(m, MF_DROPRATE300)) drop_rate = (int)( (drop_rate * 300) / 100. ); if(map_getmapflag(m, MF_DROPRATE50)) drop_rate = (int)( (drop_rate * 30) / 100. ); // attempt to drop the item if (rnd() % 10000 >= drop_rate) continue; if( mvp_sd && it->type == IT_PETEGG ) { pet_create_egg(mvp_sd, md->db->dropitem[i].nameid); continue; insert
    if(map_getmapflag(m, MF_DROPRATE300)) drop_rate = (int)( (drop_rate * 300) / 100. ); if(map_getmapflag(m, MF_DROPRATE50)) drop_rate = (int)( (drop_rate * 90) / 100. ); above the comment
    //attempt to drop the item
    (drop_rate * 300) = +200%? 100 would be normal 
    and
     (drop_rate * 30) = 30% of normal drop rate
    these are the only numbers you need to change
    I havnt tested with gum but it should be normal
     
    next NPC.c
    find this
    case MF_BATTLEGROUND: if (state) { union u_mapflag_args args = {}; if (sscanf(w4, "%11d", &args.flag_val) < 1) args.flag_val = 1; // Default value map_setmapflag_sub(m, MF_BATTLEGROUND, true, &args); } else map_setmapflag(m, MF_BATTLEGROUND, false); break; case MF_DROPRATE50: if (state) { union u_mapflag_args args = {}; if (sscanf(w4, "%11d", &args.flag_val) == 1) map_setmapflag(m, MF_DROPRATE50, state); else map_setmapflag(m, MF_DROPRATE50, 100); } else map_setmapflag(m, MF_DROPRATE50, 100); break; case MF_DROPRATE300: if (state) { union u_mapflag_args args = {}; if (sscanf(w4, "%11d", &args.flag_val) == 1) map_setmapflag(m, MF_DROPRATE300, state); else map_setmapflag(m, MF_DROPRATE300, 100); } else map_setmapflag(m, MF_DROPRATE300, 100); break; case MF_NOCOMMAND: if (state) { union u_mapflag_args args = {}; if (sscanf(w4, "%11d", &args.flag_val) < 1) args.flag_val = 100; // No level specified, block everyone. map_setmapflag_sub(m, MF_NOCOMMAND, true, &args); } else map_setmapflag(m, MF_NOCOMMAND, false); break; insert
    case MF_DROPRATE50: if (state) { union u_mapflag_args args = {}; if (sscanf(w4, "%11d", &args.flag_val) == 1) map_setmapflag(m, MF_DROPRATE50, state); else map_setmapflag(m, MF_DROPRATE50, 100); } else map_setmapflag(m, MF_DROPRATE50, 100); break; case MF_DROPRATE300: if (state) { union u_mapflag_args args = {}; if (sscanf(w4, "%11d", &args.flag_val) == 1) map_setmapflag(m, MF_DROPRATE300, state); else map_setmapflag(m, MF_DROPRATE300, 100); } else map_setmapflag(m, MF_DROPRATE300, 100); break; under MF_BATTLEGROUND(doesnt matter)
     
    NEXT - MAP.H
    find
    MF_NOEXP, MF_PRIVATEAIRSHIP_SOURCE, MF_PRIVATEAIRSHIP_DESTINATION, MF_SKILL_DURATION, MF_DROPRATE50, MF_DROPRATE300, MF_MAX add MF_DROPRATE50, and MF_DROPRATE300, 
    commas matter 
     
    Last in your SRC find SCRIPT_CONSTANTS.H
    and add our 2 new map flags like above
    export_constant(MF_NOEXP); export_constant(MF_PRIVATEAIRSHIP_SOURCE); export_constant(MF_PRIVATEAIRSHIP_DESTINATION); export_constant(MF_DROPRATE50); export_constant(MF_DROPRATE300); export_constant(MF_SKILL_DURATION);  
    recompile i hope it works
     
     
    afterwards you also need to make changes in your NPC folder 
    scripts_mapflags
    npc: npc/mapflag/skill_duration.txt npc: npc/mapflag/droprate.txt then in the file it should look like this
    prontera mapflag droprate50 geffen mapflag droprate300  
    just merge my files with yours if you want and please let me know if you have problems
     
    droprate.rar
  4. Sakurada's post in Edit Orc Hero card was marked as the answer   
    Thats a good question
    why not just use this
    bonus bCriticalDef,n;                    Decreases Chance of being hit by critical by n%
     
×
×
  • Create New...