Jump to content

enmity

Members
  • Content Count

    15
  • Joined

  • Last visited

About enmity

  • Rank
    Member

Recent Profile Visitors

1315 profile views
  1. I'm sorry, but you have misunderstood me. What I meant was to add a skill to mob. How do I easily add skills to the custom mob I made? Thanks for that info though, I can use that in future!
  2. How do I add monster skills? I try to right click but there's only "paste"
  3. I made this custom mob that's not supposed to be movable. I edited it to can't be knocked back, but it doesn't seem to work.. What am I missing? 3000,Dummy_Tank,Dummy Tank,Dummy Tank,98,2000000,0,0,0,1,0,0,72,37,120,110,60,65,130,52,10,12,1,7,40,2097184,100,76,384,288,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  4. I requested for this script from someone but he's kind of taking long to response, so I request assistance on fixing this. This script is supposed to summon a list of monsters that players need to hunt and will be rewarded with experience. Though, it keeps saying "There doesn't seem to be any monsters in that group". //By Skorm v1.2.3 4/21/15s_atelier,73,129,4 script Monster Hunter 414,{ function t { function s; set .@left, getarg(0); if ( .@left <= 0 ) return getarg(0); set .@day, .@left / 86400; set .@hour, .@left % 86400 / 3600; set .@min, .@left % 3600 / 60; set .@[member=SEC], .@left % 60; .@mes$ = ( .@day ? .@day +" day"+ s( .@day ) : "" ) + ( .@hour ? .@hour +" hour"+ s( .@hour ) : "" ) + ( .@min ? .@min +" minute"+ s( .@min ) : "" ) + ( .@[member=SEC] ? .@[member=SEC] +" second"+ s( .@[member=SEC],1 ) : "" ); if ( charat( .@mes$, getstrlen(.@mes$)-1 ) == " " ) .@mes$ = delchar( .@mes$, getstrlen(.@mes$)-1 ); return ( .@mes$ ); function s { return ( ( getarg(0) > 1 ? "s" : "" ) + ( getarg(1,0) ? "" : " " ) ); } } if( getstrlen( mh_q_ids$ ) ) { .@len = getarraysize( @mh_q_a$ ); for( .@h = 0; .@h < .@len; .@h++ ) { deletearray .@g$; explode( .@g$, @mh_q_b$[.@h], "#" ); //.@BEXP = .@BEXP + ( getmonsterinfo( atoi(@mh_q_a$[.@h]), MOB_BASEEXP ) * atoi(.@g$) ); //.@JEXP = .@JEXP + ( getmonsterinfo( atoi(@mh_q_a$[.@h]), MOB_JOBEXP ) * atoi(.@g$) ); if( atoi(.@g$[1]) < atoi(.@g$) ) .@mes$[getarraysize(.@mes$)] = getmonsterinfo( atoi(@mh_q_a$[.@h]), MOB_NAME )+"^000000 [^0000ff"+(.@g$[1]==""?0:.@g$[1])+"^000000/^0000ff"+.@g$+"^000000]"; } if( !getarraysize( .@mes$ ) ) { .@BEXP = .exp_sets[mh_select]; .@JEXP = .exp_sets[mh_select+1]; mes "[ Monster hunter ]"; mes "Oh wow you're done that's great! Here's you reward!"; next; mes "[ Monster hunter ]"; mes .@BEXP+" Base Experience and "+.@JEXP+" Job Experience!"; deletearray @mh_q_a$; deletearray @mh_q_b$; mh_q_ids$ = ""; mh_q_kls$ = ""; mh_q = 0; getexp .@BEXP,.@JEXP; close; } mes "[ Monster hunter ]"; mes "Oh it looks like you still have to kill: ^ff0000"+implode( .@mes$, "^000000, ^ff0000" )+"^000000."; if( mh_q < gettimetick(2) ) { next; mes "[ Monster hunter ]"; mes "Is this quest too hard? Do you want to switch?"; next; if( select( "Yes:No" ) == 2 ) { mes "[ Monster hunter ]"; mes "Alright take all the time you need so long as it gets done."; close; } deletearray .@mes$; goto(L_Start); } else { mes "-"; mes "Repick in: " + t( mh_q-gettimetick(2) )+ "."; } close; }L_Start: mes "[ Monster hunter ]"; mes "Hello would you like to accept a monster hunting quest?"; next; if( select( "Yes:No" ) == 2 ) { mes "[ Monster hunter ]"; mes "That kind of attitude isn't going to help us beat these monsters now is it?"; close; } mes "[ Monster hunter ]"; mes "Pick a page from the menu. Higher pages have harder monsters!"; next; .@menu = select ( "Page 1 ( Lv~ 1-16 Mobs ):"+ "Page 2 ( Lv~ 17-32 Mobs ):"+ "Page 3 ( Lv~ 33-48 Mobs ):"+ "Page 4 ( Lv~ 49-64 Mobs ):"+ "Page 5 ( Lv~ 65-80 Mobs ):"+ "Page 6 ( Lv~ 81-96 Mobs ):"+ "Page 7 ( Lv~ 97-112 Mobs ):"+ "Page 8 ( Lv~ 113-128 Mobs ):"+ "Page 9 ( Lv~ 129-144 Mobs ):"+ "Page 10 ( Lv~ 145-160 Mobs )" ); .@len = getarraysize( getd( ".id_"+.@menu ) ); copyarray .@id[0], getd( ".id_"+.@menu+"[0]" ), .@len; .@r_fight = rand( .@len < 3 ? .@len : 3, .@len < 5 ? .@len : 5 ); for( .@a = 0; .@a < .@r_fight; .@a++ ) { .@b = rand(.@len); .@r_kill$[.@a] = ""+rand( 5, 20 ); .@l_kill$[.@a] = ""+.@id[.@b]; .@mes$[.@a] = getmonsterinfo( .@id[.@b], MOB_NAME )+"^000000 x^0000ff"+.@r_kill$[.@a]; deletearray .@id[.@b], 1; .@len--; } mes "[ Monster hunter ]"; if( !getarraysize(.@mes$) ) { mes "There doesn't seem to be"; mes "any monsters in that group."; mes "Try another one."; close; } mes "You have to fight: ^ff0000"+implode( .@mes$, "^000000, ^ff0000" )+"^000000."; mes "-"; mes "Do you accept?"; next; if( select( "Yes:No" ) == 2 ) { mes "[ Monster hunter ]"; mes "Alright sure maybe you want a different one."; close; } mh_q_ids$ = implode( .@l_kill$, "|" ); mh_q_kls$ = implode( .@r_kill$, "|" ); copyarray @mh_q_a$[0], .@l_kill$[0], getarraysize( .@l_kill$ ); copyarray @mh_q_b$[0], .@r_kill$[0], getarraysize( .@r_kill$ ); mh_q = gettimetick(2)+.restart_delay; mh_select = .@menu; mes "[ Monster hunter ]"; mes "Report back to me when you're finished!"; close; OnNPCKillEvent: if( compare( "|"+mh_q_ids$+"|", "|"+killedrid+"|" ) ) { .@len = getarraysize( @mh_q_a$ ); for( .@a = 0; .@a < .@len; .@a++ ) if( atoi(@mh_q_a$[.@a]) == killedrid ) break; explode( .@g$, @mh_q_b$[.@a], "#" ); if( atoi(.@g$[1]) < atoi(.@g$) ) { .@g$[1] = atoi(.@g$[1])+1; @mh_q_b$[.@a] = .@g$+"#"+.@g$[1]; mh_q_kls$ = implode( @mh_q_b$, "|" ); if( atoi(.@g$[1]) < atoi(.@g$) ) announce getmonsterinfo( killedrid, MOB_NAME )+" ["+.@g$[1]+"/"+.@g$+"]",bc_self; else announce getmonsterinfo( killedrid, MOB_NAME )+" Complete!",bc_self; } } end; OnPCLoginEvent: if( getstrlen(mh_q_ids$) ) { explode( @mh_q_a$, mh_q_ids$, "|" ); explode( @mh_q_b$, mh_q_kls$, "|" ); } end;//OnPCLogoutEvent:OnInit: setarray .exp_sets, // Bexp Jexp 1000, 1000, //Page 1 5000, 5000, //Page 2 10000, 10000,//Page 3 15000, 15000,//Page 4 20000, 20000,//Page 5 25000, 25000,//Page 6 30000, 30000,//Page 7 35000, 35000,//Page 8 40000, 40000,//Page 9 50000, 50000;//Page 10 .card_restriction = 0; // Restrict selected mobs to those who drop cards? .naturally_spawning = 1; // Restrict selected mobs to those who are naturally spawning? .mvp_restriction = 1; // Restrict MVPs from showing up on the list? .restart_delay = 86400; // The amount of time a player has to wait until he can pick a different quest in seconds. setarray .restricted_mobs$, "1120","1582","1096","1388", "1707","1268","1302","1091", "1299","1093","1296","1090", "1289","1262","1295","1089", "1088","1283"; // Comment out to disable. .@r_len = getarraysize(.restricted_mobs$); freeloop(1); for( .@i = 1; .@i <= 160; .@i = .@i + 16 ) { query_sql ( "SELECT `ID` "+ "FROM `mob_db` "+ "WHERE `Sprite` NOT LIKE 'E_%' "+ "AND `Sprite` NOT LIKE 'I_%' "+ "AND `Sprite` NOT LIKE 'J_%' "+ "AND `Sprite` NOT LIKE 'G_%' "+ "AND `Sprite` NOT LIKE 'N_%' "+ ( ( .card_restriction ) ? "AND ( "+ "`DropCardid` BETWEEN 4000 AND 4610 "+ "OR `DropCardid` BETWEEN 2269 AND 2270 "+ ") " : "" ) + ( ( .@r_len ) ? "AND `ID` <> "+ implode( .restricted_mobs$, "AND `ID` <> " )+" " : "" ) + "AND `LV` BETWEEN "+.@i+" AND "+(.@i+15)+" "+ ( ( .mvp_restriction ) ? "AND `MEXP` = 0 " : "" ) + "GROUP BY `iName` "+ "ORDER BY `ID` ASC "+ "LIMIT 127;", .id ); .@a++; if( .naturally_spawning ) { .@len = getarraysize( .id ); for( .@b = 0; .@b < .@len; .@b++ ) { $@sp$ = ""; atcommand "@whereis "+.id[.@b]; if( !atoi($@sp$) ) { deletearray .id[.@b], 1; .@len--; .@b--; } } } copyarray getd( ".id_"+.@a+"[0]" ), .id[0], getarraysize( .id ); deletearray .id; }}
  5. I knew it exists somewhere but I couldn't find it. It's a Generator where you can into Monsters' stats and it will turn it into a script that can just be pasted to your mob_db If anyone knows where I can locate it, would you please point me to it?
  6. Anyone know any unused dungeons maps? Like dungeons that has no monster or anything. You can also share fields, can probably use them in some way.
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.