Ind
Retired Staff-
Content Count
1655 -
Joined
-
Last visited
-
Days Won
131
Content Type
Profiles
Forums
Downloads
Staff Applications
Calendar
Everything posted by Ind
-
if your mob is guaranteed to have spawned from a 'boss' flag e.g. gef_dun02,0,0,0,0 boss_monster Doppelganger 1046,1,7200000,600000,1you can check withif( md->spawn && md->spawn->state.boss )(note that you can't check directly to md->spawn->state.boss because some mobs do not have md->spawn, so checking both is a must (otherwise it'll crash)
-
it occurred to me, perhaps they fixed it -- and I remember streusel once mentioning something in patch notes about warps that might just be it...I'll ask him
-
I too confirm it happens, I have memory of ending up above portals when using fly wing on numerous occasions on iRO and bRO where I once played. I believe this can be easily fixed on a plugin given its custom behavior ( I may release it myself ), its a mere case of overloading map_search_freecell and ensuring the target cell does not belong to a npc (this would also make monster drops not end up above warpable cells).
-
As this has been pointed out Also the queue feature provided in hercules makes a alternative to adding people to games/events without chatrooms.
-
I see you want a special keyword to add a mapflag to all maps. I don't see the need, and by see I'm meaning I'm not seeing you point out a purpose on adding that while the same feature is already available by zones, since in map_zone_db within the 'All' zone you can have mapflags: ("adjust_skill_damage MG_FIREBOLT 50" )
-
sounds like a good idea indeed
-
Perhaps we could revisit this and make cash shop data 'scriptable' as there are behavior we're lacking e.g. popular tab should be dynamic by aggregating most purchased content from all tabs instead of having its own list
-
adjust_trap_duration is present in hercules as adjust_unit_duration (ours can go beyond traps), while the values are missing in map_zone_db the behavior itself is not, for it has been hardcoded for a few years now as: if( map_flag_gvg2(src->m) || map->list[src->m].flag.battleground ) limit *= 4; // longer trap times in WOE [celest]ADD_BLOCK_EQUIPITEM is present in hercules as disabled_items, ADD_PROPERTY is pretty much what mapflags do (if there are options we miss then I'd ask you to point them out), for example 'DISCONNECT_NOTREMEMBER' is equivalent to 'mapflag nosave', ADD_BLOCK_BUFF however indeed we do not provide such at this time (endure for example is hardcoded)
-
indeed, I'll update the documentation accordingly. Thank you!
-
yes, the values in use officially were those before that packetver. we did not swap ours (in the db files) as rathena did because we found it to be an unnecessary burden on the users.
-
HPM Data Check I begin by thanking ai4rei for bringing this to our attention HELLOOOO, WHAT?! This introduces automatic data integrity insurance between plugins and the core, allowing the core to reject loading plugins whose data structures mismatch those in the core thus preventing potential crashes and loose data read/write, it goes a long way towards making this issue being inexistent. In short: its a feature that enables the core to reject "outdated" plugins, "outdated" meaning that a data struct used by the plugin has been modified in the core while the plugin was not recompiled to reflect the change. It is smartThanks to Haru's design the feature is able to identify the files which the plugin relies on, therefore even if data structs in the core have been modified the plugin will only fail load if its a data struct from a file it actually includes Changes: Hello Plugin Developers! Plugins are now required to include the HPMDataCheck file, plugins without it will not pass loading validation, to include use: #include "../common/HPMDataCheck.h"it should be the last file included, if it isn't the last it'll render the plugin uncompilable (intentionally). ...and thats it, it stands on its own afterwards. Also in & Thanks to Haru the HPMHookGen has been updated so that the data HPMDataCheck relies on is always up to date HPMHookGen has been sped up. New Possibilities Thanks to HPMDataCheck enabling the core to know which files the plugin relies on there are many enhancements we can (and intend to) add, for example, drop GET_SYMBOL entirely and have the core load the interfaces automatically Special Thanks to Haru ai4rei Link'u HPMHookGen Update Commit
-
I don't think you're getting the point, it means client devs have swapped the ids on packetver 20080827 onwards, therefore we have to swap it accordingly with the packetver, either one way or another, in order to support a high range of clients
-
change menu "Last Warp[LastWarperMap$,]"intomenu "Last Warp["+LastWarperMap$+"]"however that wont display anything if the character viewing never warped before.
-
I did not remember .@ vars do not pass to subs, Thanks to Haru now I do I've tested this one: - script Warper NPC::warper -1,{ mes "[^3366FFGenie^000000]"; mes "Hello ^0000FF" + strcharinfo(0) + "^000000, I am the ^3366FFGenie^000000. Nice day isn't it?"; mes "Where in the world of Midgard, or beyond would you like to go?"; next; menu "LastWarp",L_LastWarp,"Prontera [" + getmapusers ("prontera") + "] ",-,"Payon [" + getmapusers ("payon") + "] ",L_pay,"Towns",L_town,"Dungeons",L_dung; warp "prontera", 156, 178; close; L_pay: warp "payon", 175, 98; close; L_town: menu "Alberta",L_alb, "Al De Baran",L_ald, "Amatsu",L_ama, "Ayothaya",L_ayo, "Braslis",L_bra, "Comodo",L_com, "Einbroch",L_ein, "Geffen",L_gef, "Gonryun",L_gon, "Hugel",L_hug, "Izlude",L_izl, "Jawaii",L_jaw, "Lighthalzen",L_lhz, "Louyang",L_lou, "Lutie",L_lut, "Morroc",L_mor, "Moscovia",L_mos, "Nifflheim",L_nif, "Rachel",L_rac, "Umbala",L_umb, "Vein",L_vei, "Yuno",L_yun; L_alb: set @mapname$,"alberta"; set @x,116; set @y,57; callsub L_Warp; L_ald: set @mapname$,"aldebaran"; set @x,139; set @y,118; callsub L_Warp; L_ama: set @mapname$,"amatsu"; set @x,198; set @y,121; callsub L_Warp; L_ayo: set @mapname$,"ayothaya"; set @x,208; set @y,189; callsub L_Warp; L_bra: set @mapname$,"brasilis"; set @x,227; set @y,291; callsub L_Warp; L_com: set @mapname$,"comodo"; set @x,201; set @y,137; callsub L_Warp; L_ein: set @mapname$,"einbroch"; set @x,232; set @y,189; callsub L_Warp; L_gef: set @mapname$,"geffen"; set @x,120; set @y,93; callsub L_Warp; L_gon: set @mapname$,"gonryun"; set @x,160; set @y,111; callsub L_Warp; L_hug: set @mapname$,"hugel"; set @x,96; set @y,156; callsub L_Warp; L_izl: set @mapname$,"izlude"; set @x,130; set @y,131; callsub L_Warp; L_jaw: set @mapname$,"jawaii"; set @x,203; set @y,289; callsub L_Warp; L_lhz: set @mapname$,"lighthalzen"; set @x,158; set @y,92; callsub L_Warp; L_lou: set @mapname$,"louyang"; set @x,218; set @y,100; callsub L_Warp; L_lut: set @mapname$,"xmas"; set @x,148; set @y,130; callsub L_Warp; L_mor: set @mapname$,"morocc"; set @x,158; set @y,89; callsub L_Warp; L_mos: set @mapname$,"moscovia"; set @x,223; set @y,184; callsub L_Warp; L_nif: set @mapname$,"niflheim"; set @x,193; set @y,185; callsub L_Warp; L_rac: set @mapname$,"rachel"; set @x,119; set @y,136; callsub L_Warp; L_umb: set @mapname$,"umbala"; set @x,144; set @y,154; callsub L_Warp; L_vei: set @mapname$,"veins"; set @x,214; set @y,124; callsub L_Warp; L_yun: set @mapname$,"yuno"; set @x,158; set @y,176; callsub L_Warp; L_dung: menu "Abyss Lake",L_aby, "Amatsu Dungeon",L_amad, "Anthell",L_ant, "Ayothaya Dungon",L_ayod, "Bylan Island",L_byl, "Coal Mine",L_coa, "Einbroch Mine",L_einm, "Geffen Dungeon",L_gefd, "Glast Heim",L_gh, "Glast Heim Churchyard",L_ghc, "Glast Heim Prison",L_ghp, "Hidden Temple",L_hid, "Ice Dungeon",L_ice, "Juperos Ruins",L_jup, "Kiel Robot Factory",L_kie, "Magma Dungeon",L_mag, "Nameless Island",L_nam, "Orc Dungeon",L_orc, "Payon Caves",L_payc, "Prontera Culvert",L_proc, "Pyramids",L_pyr, "Rachel Sanctuary",L_racs, "Sphinx",L_sph, "Sunken Ship",L_sun, "Thors Volcano",L_tho, "Toy Factory",L_toy, "Turtle Dungeon",L_tur, "Umbala Dungeon",L_umbd; L_aby: set @mapname$,"hu_fild05"; set @x,167; set @y,300; callsub L_Warp; L_amad: set @mapname$,"ama_in02"; set @x,122; set @y,180; callsub L_Warp; L_ant: set @mapname$,"anthell01"; set @x,37; set @y,259; callsub L_Warp; L_ayod: set @mapname$,"ayo_fild01"; set @x,126; set @y,197; callsub L_Warp; L_byl: set @mapname$,"iz_dun00"; set @x,168; set @y,165; callsub L_Warp; L_coa: set @mapname$,"mjolnir_02"; set @x,81; set @y,355; callsub L_Warp; L_einm: set @mapname$,"einbech"; set @x,138; set @y,246; callsub L_Warp; L_gefd: set @mapname$,"gef_tower"; set @x,152; set @y,34; callsub L_Warp; L_gh: set @mapname$,"glast_01"; set @x,199; set @y,134; callsub L_Warp; L_ghc: set @mapname$,"gl_chyard"; set @x,147; set @y,149; callsub L_Warp; L_ghp: set @mapname$,"gl_prison"; set @x,91; set @y,180; callsub L_Warp; L_hid: set @mapname$,"prt_fild01"; set @x,137; set @y,366; callsub L_Warp; L_ice: set @mapname$,"ra_fild01"; set @x,233; set @y,326; callsub L_Warp; L_jup: set @mapname$,"yuno_fild07"; set @x,213; set @y,175; callsub L_Warp; L_kie: set @mapname$,"yuno_fild08"; set @x,72; set @y,178; callsub L_Warp; L_mag: set @mapname$,"yuno_fild03"; set @x,39; set @y,140; callsub L_Warp; L_nam: set @mapname$,"ve_fild07"; set @x,129; set @y,132; callsub L_Warp; L_orc: set @mapname$,"gef_fild10"; set @x,69; set @y,333; callsub L_Warp; L_payc: set @mapname$,"pay_arche"; set @x,42; set @y,131; callsub L_Warp; L_proc: set @mapname$,"prt_fild05"; set @x,282; set @y,224; callsub L_Warp; L_pyr: set @mapname$,"moc_ruins"; set @x,66; set @y,159; callsub L_Warp; L_racs: set @mapname$,"ra_temin"; set @x,28; set @y,310; callsub L_Warp; L_sph: set @mapname$,"moc_fild19"; set @x,106; set @y,99; callsub L_Warp; L_sun: set @mapname$,"alb2trea"; set @x,84; set @y,64; callsub L_Warp; L_tho: set @mapname$,"ve_fild03"; set @x,168; set @y,288; callsub L_Warp; L_toy: set @mapname$,"xmas"; set @x,143; set @y,302; callsub L_Warp; L_tur: warp "tur_dun01", 152, 49; set @mapname$,"tur_dun0"; set @x,152; set @y,49; callsub L_Warp; L_umbd: warp "um_dun01", 42, 32; set @mapname$,"um_dun01"; set @x,42; set @y,32; callsub L_Warp; L_Warp: if( @mapname$ == "" && !@x && !@y ) mes "YAHOOO L_Warp vars are missing aka bypassed the set!"; set LastWarperMap$,@mapname$; set LastWarperX,@x; set LastWarperY,@y; warp @mapname$,@x,@y; end; L_LastWarp: if( LastWarperMap$ == "" && !LastWarperX && !LastWarperY ) { mes "YAHOOO L_LastWarp doesn't have a record of where you've been last to!!"; close; } warp LastWarperMap$,LastWarperX,LastWarperY; end;}
-
You should have only 1 "warp" call, i.e. Instead of: L_ein: warp "einbroch", 232, 189; close; L_gef: warp "geffen", 120, 93; close;Be like: L_ein: set .@mapname$,"einbroch"; set .@x,232; set .@y,189; callsub L_Warp; L_gef: warp "geffen", 120, 93; set .@mapname$,"geffen"; set .@x,120; set .@y,93; callsub L_Warp; L_Warp: warp .@mapname$,.@x,.@y; end;That way you can easily record whatever you last warped them to, by simply changing the label into L_Warp: set LastWarperMap$,.@mapname$; set LastWarperX,.@x; set LastWarperY,.@y; warp .@mapname$,.@x,.@y; end;
-
I think your plugin settings is missing the include directories, check if you did step #15 of this page http://herc.ws/wiki/Building_HPM_Plugin_for_MSVC
-
Yahoo. the forum has some problem with rand() % 100 and replaced it with rand() % 0 in the demonstration, within the codebox above.
-
Version 0.1
89 downloads
HPM Plugin. /** * Adds a 50% ( customizeable ) chance for ETC (customizeable) items to drop from mobs with double quantity * Adds a 25% ( customizeable as well ) chance for it to use tripple quantity (this dice is only played if the 50% one succeeded) * Adds a 10% ( customizeable as well ) chance for it to use quadruple quantity (this dice is only played if the 25% one succeeded) * Adds a 5% ( customizeable as well ) chance for it to use quintuple quantity (this dice is only played if the 10% one succeeded) * For example, after a player succeeds at dropping a jellopy (at any rate), theres a 50% chance it'll be 2 jellopies instead of 1, * and if that 50% succeeds, there'll be another 25% chance for it to be 3 instead of 2, and if that 25% succeeds, * there will be another 10% chance for it to drop 4 instead of 3, and if that 10% succeeds, there will be a 5% chance to drop 5 instead of 4. * - MvP drops are not affected * - Items looted by monsters are not affected **/ - Requires HPM Hooking Easy to Customize switch( data->type ) { /** * uncomment those you wanna affect, don't even try adding gear or non-stackable types -- they are not meant to have qty higher than 1! **/ //case IT_HEALING: //case IT_USABLE: //case IT_CARD: //case IT_AMMO: //case IT_DELAYCONSUME: //case IT_CASH: case IT_ETC: /** * Feel free to modify the formula here! **/ if( rand()0 > 50 ) /* if rand > 50, break and do not affect the qty */ break; *qty += 1;//from 1 to 2 if( rand()0 > 25 ) /* if rand > 25, break and do not affect the qty further */ break; *qty += 1;//from 2 to 3 if( rand()0 > 10 ) /* if rand > 10, break and do not affect the qty further */ break; *qty += 1;//from 3 to 4 if( rand()0 > 5 ) /* if rand > 5, break and do not affect the qty further */ break; *qty += 1;//from 4 to 5 break; } You may also use the *nameid variable if you wish to further enhance the mechanic, for example if( *nameid == 604 ) /* if dead branch, qty + 2 */ *qty += 2; How to Install Check the wiki page on 'Building a Plugin' http://herc.ws/wiki/HPM#Building_a_plugin Contribute / Customize Its available at our Staff Plugins Repo, pull requests are more than welcome. -
File Name: Mob Drop Qty File Submitter: Ind File Submitted: 14 Jan 2014 File Category: Plugins HPM Plugin. /** * Adds a 50% ( customizeable ) chance for ETC (customizeable) items to drop from mobs with double quantity * Adds a 25% ( customizeable as well ) chance for it to use tripple quantity (this dice is only played if the 50% one succeeded) * Adds a 10% ( customizeable as well ) chance for it to use quadruple quantity (this dice is only played if the 25% one succeeded) * Adds a 5% ( customizeable as well ) chance for it to use quintuple quantity (this dice is only played if the 10% one succeeded) * For example, after a player succeeds at dropping a jellopy (at any rate), theres a 50% chance it'll be 2 jellopies instead of 1, * and if that 50% succeeds, there'll be another 25% chance for it to be 3 instead of 2, and if that 25% succeeds, * there will be another 10% chance for it to drop 4 instead of 3, and if that 10% succeeds, there will be a 5% chance to drop 5 instead of 4. * - MvP drops are not affected * - Items looted by monsters are not affected **/ - Requires HPM Hooking Easy to Customize switch( data->type ) { /** * uncomment those you wanna affect, don't even try adding gear or non-stackable types -- they are not meant to have qty higher than 1! **/ //case IT_HEALING: //case IT_USABLE: //case IT_CARD: //case IT_AMMO: //case IT_DELAYCONSUME: //case IT_CASH: case IT_ETC: /** * Feel free to modify the formula here! **/ if( rand()0 > 50 ) /* if rand > 50, break and do not affect the qty */ break; *qty += 1;//from 1 to 2 if( rand()0 > 25 ) /* if rand > 25, break and do not affect the qty further */ break; *qty += 1;//from 2 to 3 if( rand()0 > 10 ) /* if rand > 10, break and do not affect the qty further */ break; *qty += 1;//from 3 to 4 if( rand()0 > 5 ) /* if rand > 5, break and do not affect the qty further */ break; *qty += 1;//from 4 to 5 break; } You may also use the *nameid variable if you wish to further enhance the mechanic, for example if( *nameid == 604 ) /* if dead branch, qty + 2 */ *qty += 2; How to Install Check the wiki page on 'Building a Plugin' http://herc.ws/wiki/HPM#Building_a_plugin Contribute / Customize Its available at our Staff Plugins Repo, pull requests are more than welcome. Click here to download this file
-
agree. the color is client-controlled, it should be possible to modify by hexing it. don't think so, its not an official feature (plus it collides with the official version which only displays the bars to those who hit it) I think they're totally different things, if you enable that config that shows the monster level near its display name both should work
-
Hunting Missions on newest trunk version of hercules. no global_reg_value
Ind replied to Dduwsmitt's question in Script Support
Try query_sql("SELECT char_id AS id, (SELECT `name` FROM `char` WHERE char_id = id),`value` FROM `char_reg_num_db ` WHERE key = 'Mission_Total' ORDER BY CAST(`value` AS SIGNED) DESC LIMIT 5",.@id,.@name$,.@val); -
Version 0.1
573 downloads
HPM Plugin. - Monsters HP is visible to all players, instead of only those who hit it. - Monsters spawned with 'boss' flag have a greater bar (2-3x normal size, check screenshot in download page view) - Requires PACKETVER >= 20120404 Whats the 'boss' flag? For example, gef_dun.txt's Doppelganger gef_dun02,0,0,0,0 boss_monster Doppelganger 1046,1,7200000,600000,1 How to Install Check the wiki page on 'Building a Plugin' http://herc.ws/wiki/HPM#Building_a_plugin Contribute / Customize Its available at our Staff Plugins Repo, pull requests are more than welcome. -
File Name: Visible Monsters HP File Submitter: Ind File Submitted: 14 Jan 2014 File Category: Plugins HPM Plugin. - Monsters HP is visible to all players, instead of only those who hit it. - Monsters spawned with 'boss' flag have a greater bar (2-3x normal size, check screenshot in download page view) - Requires PACKETVER >= 20120404 Whats the 'boss' flag? For example, gef_dun.txt's Doppelganger gef_dun02,0,0,0,0 boss_monster Doppelganger 1046,1,7200000,600000,1 How to Install Check the wiki page on 'Building a Plugin' http://herc.ws/wiki/HPM#Building_a_plugin Contribute / Customize Its available at our Staff Plugins Repo, pull requests are more than welcome. Click here to download this file
-
oooh interesting, it isn't but I think is something it should include