Samuel
-
Content Count
397 -
Joined
-
Last visited
-
Days Won
20
Posts posted by Samuel
-
-
On 5/22/2021 at 11:40 AM, Origami said:Hi ! Im trying to make a bindatcmd script for @refresh but has a 5minutes cooldown ... I just wondering why is it always @refresh failed ???? here is my script
//=================================== // // @refresh (Remove Stuck Players) // //=================================== - script refresh -1,{ OnInit: set .Minutes,5; bindatcmd "refresh",strnpcinfo(0)+"::OnAtcommand"; end; OnAtcommand: if( .DelayTime <= gettimetick(2)) { mes "[@refresh]"; mes "Stuck on NPC or unable to move?"; mes "This command has 5 minute cooldown"; next; mes "[@refresh]"; mes "Use @refresh?"; switch(select("No.:Yes.")) { case 1: close; case 2: atcommand "@refresh"; set .DelayTime,gettimetick(2) + ( .Minutes * 60 ); close; } } else if( .DelayTime > gettimetick(2) ){ set .last,.DelayTime - gettimetick(2); set .@min, .last % (24*60*60) % (60*60) / (60); set .@sec, .last % (24*60*60) % (60*60) % (60); message strcharinfo(0), "Wait for "+.@min+" minutes "+.@sec+" seconds before you can use @refresh again."; end; } }
//=================================== // // @refresh (Remove Stuck Players) // //=================================== - script refresh -1,{ OnInit: set .Minutes,5; bindatcmd "refresh",strnpcinfo(0)+"::OnAtcommand"; end; OnAtcommand: if( .DelayTime <= gettimetick(2)) { mes "[@refresh]"; mes "Stuck on NPC or unable to move?"; mes "This command has 5 minute cooldown"; next; mes "[@refresh]"; mes "Use @refresh?"; switch(select("No.:Yes.")) { case 1: close; case 2: atcommand "@refresh"; set .DelayTime,gettimetick(2) + ( .Minutes * 60 ); close; } } else if( .DelayTime > gettimetick(2) ){ set .last,.DelayTime - gettimetick(2); set .@min, .last % (24*60*60) % (60*60) / (60); set .@sec, .last % (24*60*60) % (60*60) % (60); message strcharinfo(0), "Wait for "+.@min+" minutes "+.@sec+" seconds before you can use @refresh again."; end; } }
Try to change .DelayTime to DelayTime
. = npc variable
without . = playervariable -
On 5/24/2021 at 2:47 AM, delber said:I need to get the identifiedDisplayName field from iteminfo.lua, because the name of the equipment in item_db_equip.yml is in another language.
I tried to:getiteminfo(2301, ITEMINFO_NAME);
and
getiteminfo(2301, NAME);
and
getiteminfo(2301, ITEMINFO_ITENTIFIEDDISPLAYNAME);
and
getiteminfo(2301, ITEMINFO_DISPLAYNAME);
and
getiteminfo(2301, DISPLAYNAME);
and
getiteminfo(2301, ITEMNAME);
But nothing hehehe or maybe it’s not possible xD
Sorry for my bad english.
Thanks
You seem to be using rathena as herc don't have item_db_equip.yml
But if you are using herc and what you want is to match your item_db.conf with itemInfo.lua name, try @Dastgir tools.
https://github.com/dastgirp/Scripts/tree/master/Lua/multi-tools
QuoteUsing CopyDisplayName:
Changes item_db.conf name from idnumitemdisplaynametable.txt/iteminfo.lua/lub
1)Copy item_db.conf,idnumitemdisplaynametable.txt or iteminfo.lua/lub to "CopyDisplayName" Folder
2)Just run the "copyname.bat" and input some details.
Credits: DastgirWith regards to the getitemifo:
*getiteminfo(<item ID>, <type>) *getiteminfo("<item name>", <type>) *setiteminfo(<item ID>, <type>, <value>) This function will look up the item with the specified ID number in the database and return the info set by TYPE argument. It will return -1 if there is no such item. Valid types are: ITEMINFO_ID - Item ID (getiteminfo() only!) ITEMINFO_AEGISNAME - Unique name to reference the item (getiteminfo() only!) ITEMINFO_NAME - Display name (getiteminfo() only!)
Or you can use: (this is from doc/sample/getiteminfo.txt)
.@value = 2301; // This line uses an INTERNAL function of your client to show item name by its ID! // ^nItemID^XXXX -> Item Name mesf("Item ID: %d ^nItemID^%d", .@value, .@value);
-
Someone message me this concept a long time ago but I became busy.
With some free time, I decide to try and create a plugin for this.
Here is what I have done initially:
With that setup, it was set to take random options from any of the available random options in the database and the set value was just hardcoded from 1 - 10.
In the video, there is one item option with 5 options but shows 4 options for the item, it is because, the option that has been randomly generated is:
{ Id: 86 Name: "BODY_ATTR_ALL" Script: <" /* Needs more info */ "> },
In client file, there is no counterpart for this ID as well, thus it will not show even though the slot was taken by this option.
A lot of things could be improved and added.This could be combined with the item options + drop effect I made before.
-
-
8 hours ago, Origami said:Sorry to bring this thread up again ,, Its the only topic that matched my problem .. I tried this one changing to array_find and loading the manipulation script but still the same ...
heres my script
- script warp_block -1,{ OnInit: bindatcmd "warp",strnpcinfo(3)+"::OnAtcommandWarp",20,99; bindatcmd "recall",strnpcinfo(3)+"::OnAtcommandRecall",20,99; //setarray .maps_from$[0], "guild_01", "guild_02"; // Maps they cannot warp from. setarray .maps$[0], // Maps they cannot warp to. "gld2_pay", // GLD DUNGEON "gld_dun01_2", // GLD DUNGEON "gld_dun01", // GLD DUNGEON "gld2_ald", // GLD DUNGEON "gld_dun02_2", // GLD DUNGEON "gld_dun02", // GLD DUNGEON "gld2_prt", // GLD DUNGEON "gld_dun03_2", // GLD DUNGEON "gld_dun03", // GLD DUNGEON "gld2_gef", // GLD DUNGEON "gld_dun04_2", // GLD DUNGEON "gld_dun04", // GLD DUNGEON "schg_dun01", // GLD DUNGEON "teg_dun01", // GLD DUNGEON "teg_dun02", // GLD DUNGEON "odin_tem01", "odin_tem02", "rachel", "lighthalzen", "lhz_dun01", "lhz_dun02", "lhz_dun03", "hugel", "veins", "ve_fild01", "ve_fild02", "ve_fild03", "thor_v01", "thor_v02", "thor_v03", "moc_pryd06", "ra_fild02", "ra_fild03", "ra_fild04", "lou_dun03", "prt_maze03", "bra_dun02", "splendide", "manuk", "man_fild02", "dic_fild01", "dic_fild02", "spl_fild01", "spl_fild02", "spl_fild03", "moc_fild22", "moc_fild21", "gl_chyard", "abyss_03", "gef_dun02", "treasure02", "pay_fild11", "gon_dun03", "abbey02", "abbey03", "xmas_fild01", "ra_san05", "prt_sewb4", "mosk_dun03", "ama_dun03", "kh_dun02", "xmas_dun02", "ice_dun03", "ice_dun02", "ice_dun01", "ayo_dun02", "niflheim", "anthell02", "mjolnir_04", "pay_dun04", "2@nyd", "moc_prydn2", "gef_fild02", "gef_fild14", "gef_fild10", "moc_pryd04", "in_sphinx5", "moc_fild17", "ein_dun02", "einbroch", "beach_dun", "thana_boss", "tur_dun04", "jupe_core", "nameless_n", "1@tower", "2@tower", "3@tower", "4@tower", "5@tower", "6@tower", "payon"; end; OnAtcommandWarp: if (getgmlevel() == 99 ) goto Bypass_Script_Warp; if(array_find(.maps$[0], strcharinfo(3))>-1) { message strcharinfo(0), "You can't open use warp here!"; end; } else if (inarray(.maps$[0], .@atcmd_parameters$)>-1) { message strcharinfo(0), "You can't warp to that map!"; end; } Bypass_Script_Warp: if(.@atcmd_numparameters) atcommand "@warp "+ implode(.@atcmd_parameters$, " "); else atcommand "@warp"; end; OnAtcommandRecall: if(inarray(.maps$[0], strcharinfo(3))>-1) { message strcharinfo(0), "You can't use recall here!"; end; } if(.@atcmd_numparameters) atcommand "@recall "+ implode(.@atcmd_parameters$, " "); else atcommand "@recall"; end; }
- script warp_block -1,{ OnInit: bindatcmd "warp",strnpcinfo(3)+"::OnAtcommandWarp",20,99; bindatcmd "recall",strnpcinfo(3)+"::OnAtcommandRecall",20,99; //setarray .maps_from$[0], "guild_01", "guild_02"; // Maps they cannot warp from. setarray .maps$[0], // Maps they cannot warp to. "gld2_pay", // GLD DUNGEON "gld_dun01_2", // GLD DUNGEON "gld_dun01", // GLD DUNGEON "gld2_ald", // GLD DUNGEON "gld_dun02_2", // GLD DUNGEON "gld_dun02", // GLD DUNGEON "gld2_prt", // GLD DUNGEON "gld_dun03_2", // GLD DUNGEON "gld_dun03", // GLD DUNGEON "gld2_gef", // GLD DUNGEON "gld_dun04_2", // GLD DUNGEON "gld_dun04", // GLD DUNGEON "schg_dun01", // GLD DUNGEON "teg_dun01", // GLD DUNGEON "teg_dun02", // GLD DUNGEON "odin_tem01", "odin_tem02", "rachel", "lighthalzen", "lhz_dun01", "lhz_dun02", "lhz_dun03", "hugel", "veins", "ve_fild01", "ve_fild02", "ve_fild03", "thor_v01", "thor_v02", "thor_v03", "moc_pryd06", "ra_fild02", "ra_fild03", "ra_fild04", "lou_dun03", "prt_maze03", "bra_dun02", "splendide", "manuk", "man_fild02", "dic_fild01", "dic_fild02", "spl_fild01", "spl_fild02", "spl_fild03", "moc_fild22", "moc_fild21", "gl_chyard", "abyss_03", "gef_dun02", "treasure02", "pay_fild11", "gon_dun03", "abbey02", "abbey03", "xmas_fild01", "ra_san05", "prt_sewb4", "mosk_dun03", "ama_dun03", "kh_dun02", "xmas_dun02", "ice_dun03", "ice_dun02", "ice_dun01", "ayo_dun02", "niflheim", "anthell02", "mjolnir_04", "pay_dun04", "2@nyd", "moc_prydn2", "gef_fild02", "gef_fild14", "gef_fild10", "moc_pryd04", "in_sphinx5", "moc_fild17", "ein_dun02", "einbroch", "beach_dun", "thana_boss", "tur_dun04", "jupe_core", "nameless_n", "1@tower", "2@tower", "3@tower", "4@tower", "5@tower", "6@tower", "payon"; end; OnAtcommandWarp: if (getgmlevel() == 99 ) goto Bypass_Script_Warp; if(array_find(.maps$[0], strcharinfo(3))>-1) { message strcharinfo(0), "You can't open use warp here!"; end; } else if (inarray(.maps$[0], .@atcmd_parameters$)>-1) { message strcharinfo(0), "You can't warp to that map!"; end; } Bypass_Script_Warp: if(.@atcmd_numparameters) atcommand "@warp "+ implode(.@atcmd_parameters$, " "); else atcommand "@warp"; end; OnAtcommandRecall: if(inarray(.maps$[0], strcharinfo(3))>-1) { message strcharinfo(0), "You can't use recall here!"; end; } if(.@atcmd_numparameters) atcommand "@recall "+ implode(.@atcmd_parameters$, " "); else atcommand "@recall"; end; }
The array functions should load first before your script or they will not be recognized as function. Try to paste the functions above your script.
-
On 5/18/2021 at 6:41 PM, cjvirus09 said:Hello guys,
I need some help regarding pincode. I'm sending packet (0x8b8) for checking pincode but I encountered unknown packet. It seems like not returning the actual packet I've expected which is the 0xae9 or 0x8b9. See attached file.
I'm not sure if I'm sending the correct string. Do I also need to decrypt the seed?
RoBrowser doesn't support pin code as far as I know
-
I'm not sure but i think rebellion skills are not yet fully coded
-
evilpuncker reacted to this -
On 5/6/2021 at 8:50 PM, Azhura said:Using the latest revision I want to change the color of the megaphone announcer, Anyone know where can I find the loudhailer function?
Below is the current script
Script: <"
input @megaphone$;
loudhailer(@megaphone$);
end;
">
Check this: https://github.com/HerculesWS/Hercules/blob/stable/doc/script_commands.txt#L7533
-
On 4/28/2021 at 1:49 AM, elkun1510 said:how to mapflag all maps in skillmodifier.txt?
in db/pre-re or re/ map_zone_db.conf
under the Zone Alli think you could specify there the mapflag adjust skill damage
-
Hello everyone!
Been busy for a while, anyway I just want to show this newest plugin I tried to create for hercules emulator.MVP Death Timer
QuoteWhat Does it Do?
1) Upon killing MVPs, it will save the date and time of death, killerid, monster_id and map where it was killed in the database.
2) During server restart, reload or sudden crash, before spawning mobs, it will check and differentiate the date and time saved in the database with the current server time and check if the MVP should be alive or dead.
- If ALIVE, should spawn the MVP
- If DEAD, will not spawn the MVP, re-create the tomb (if tomb is enabled in the server config) and create a timer to spawn the MVP from the time it was killed
Pros:
1) You don't need to worry about server restart (maintenance), server reload (@reloadscript) or sudden crash of the game2) MVP will not be abused
3) The SQL table made can be used in many different ways as well (future plans: like using in fluxcp or even in script to show how many times did a certain player was able to kill a certain MVP(50x killed Amon Ra, 10x killed Tao Gunka), highest rank killer per MVP, total MVP kills per player and so on)4) Could be configured or add certain tables if you like other info to be extracted depending on your needs.
5) No need to edit script files unless you want it to work with the MINI MVP's as well - yes, it could be used with the mini mvps as well
6) Convex Mirrors can be used as well when using this plugin unlike if you do the saving of death time of MVP through scripts and respawning them thru the monster script command.
Cons:
1) I don't know anything so far to be considered as cons using a plugin like thisCreated a video:
Have a great day everyone!
-
this drop effect is already in hercules emulator, it could be set in the itemdb.conf
I just made a plugin to integrate the drop effect with item options wherein the effect will depend on the item options that the item has like in Diablo:)
-
2 hours ago, migrater said:Hello , I came from rA and done converting my item_db and mobdb to hercules using these url https://haru.ws/hercules/mobdbconverter/
https://haru.ws/hercules/itemdbconverter/
but I can't find how to convert the mob skills. Tried to use Server Database Editor, can't figure out how.
Any help or hints is a big help, Thank you!I think you need python to use this:
https://github.com/HerculesWS/Hercules/blob/stable/tools/mobskilldbconverter.py
-
On 3/12/2021 at 4:53 AM, Hadeszeus said:as you're using PRE-RE, you need to configure it in your db/pre-re/refine_db.conf
/************************************************************************** ************* Entry structure ******************************************** ************************************************************************** Armors/WeaponLevel1~4: { // Specifies weapon level or armor type. // - For armors, values of 100 add 1 armor defense. // - For weapons, values of 100 add 1 ATK & MATK. StatsPerLevel: (int) // This value is applied for ever level. RandomBonusStartLevel: (int) // This value specifies the start point for those levels that give a random bonus value (usually the first unsafe upgrade). // - RandomBonusStartLevel is only applied for weapons, and not displayed client-side. RandomBonusValue: (int) // A random number between 0 and (Random bonus start level - Upgrade level + 1) * this value is applied for all upgrades past. RefineryUISettings: ( { Level: (int or array of int) // Holds either the individual refine level meant for this setting or an array defining a range of Low to Max level BlacksmithBlessing: (int) (optional) // How many Blacksmith Blessing required for this range to be safe from breaking Announce: "(string)" (optional) // Sends an announcement server wide when a player reach this refine level using Refinery UI, this feature is only available starting from 2017-08-30 RagexeRE or 2017-09-06 Ragexe the field accepts the following values and it defaults to not announce Success to set the announcement on item refine successful Failure to set the announcement on item refine failure Always to always announce it Items: { AegisName: { Type: "(string)" // The type to determine the chances used for this item, REFINE_CHANCE_TYPE_* constants are used in here Cost: (int) (optional) // Amount of zeny required FailureBehavior: "(string)" (optional) // The expected behavior on failure for this item, the following strings are used in here Destroy (default) sets the item to be destroyed on failure Keep keeps the item after failure Downgrade downgrades the item by one level on failure } } } ) Rates: { // Per level configuration of the refine rates. Lv1~20: { // Lv1 ~ Lv20. NormalChance: (int) // (optional, defaults to 100) Chance of successful refine using normal ores (100 = 100%). EnrichedChance: (int) // (optional, defaults to 100 for weapons below refine level 20, otherwise 0.) Chance of successful refine using enriched ores (100 = 100%). EventNormalChance: (int) // (optional, defaults to 100) Chance of successful refine using normal ores (100 = 100%) during a refine event. EventEnrichedChance: (int) // (optional, defaults to 100 for weapons below refine level 10, otherwise 0.) Chance of successful refine using enriched ores (100 = 100%) during a refine event. Bonus: (int) // (optional, defaults to 0) Bonus (Armor) for this level of refine. } // Note: Refine levels that use default values need not be listed. (Example: Lv1: { NormalChance: 100 Bonus: 0 }) } } **************************************************************************/
Check db/re/refine_db.conf as your reference on how to add
QuoteBlacksmithBlessing: (int) (optional) // How many Blacksmith Blessing required for this range to be safe from breaking
-
16 hours ago, Daraen said:I have been spamming Hercules Discord for an hour now for an important issue which is that skills above level 10 have no effect, only do one hit, one damage but no developer wants to. look into this topic.
It will seem that there is no case for WZ_JUPITEL and WZ_METEOR in battle.c but I don't think this is the cause of the problem.
In short, it doesn't matter if Mistress cast Jupitel THunder level 28 to me, I only get one hit, I'm not knockback and the skill effect is present on me but I only get one hit.
Same for Meteor Storm level 11, I suffer only one hit per ball.
It is not normal.It looks like there is a problem with any skill above level 10.
How can you solve this big problem?
I am using a 2018 client
Some fix for rAthena : https://github.com/rathena/rathena/issues/4743
https://github.com/rathena/rathena/commit/b77ba3ae5bb765295df89151170ec4ccb9c5d3cfHmm this is confirmed...
As of now, as the skill db is read, if the level for knockback is not written, it doesn't work.
in skill_db.conf (either inside pre-re/re)
This is the pre-re WZ_JUPITEL
Quote{
Id: 84
Name: "WZ_JUPITEL"
Description: "Jupitel Thunder"
MaxLevel: 10
Range: 9
Hit: "BDT_MULTIHIT"
SkillType: {
Enemy: true
}
SkillInfo: {
AllowReproduce: true
}
AttackType: "Magic"
Element: "Ele_Wind"
NumberOfHits: {
Lv1: 3
Lv2: 4
Lv3: 5
Lv4: 6
Lv5: 7
Lv6: 8
Lv7: 9
Lv8: 10
Lv9: 11
Lv10: 12
}
InterruptCast: true
KnockBackTiles: {
Lv1: 2
Lv2: 3
Lv3: 3
Lv4: 4
Lv5: 4
Lv6: 5
Lv7: 5
Lv8: 6
Lv9: 6
Lv10: 7
}
CastTime: {
Lv1: 2500
Lv2: 3000
Lv3: 3500
Lv4: 4000
Lv5: 4500
Lv6: 5000
Lv7: 5500
Lv8: 6000
Lv9: 6500
Lv10: 7000
}
CoolDown: 0
Requirements: {
SPCost: {
Lv1: 20
Lv2: 23
Lv3: 26
Lv4: 29
Lv5: 32
Lv6: 35
Lv7: 38
Lv8: 41
Lv9: 44
Lv10: 47
}
}
},Mistress casting a level 28 Jupitel Thunder has no record of KnockBackTiles: which is for Level 28 = no record, no knockback
another thing in src/map/skill.h
Quote#define MAX_SKILL_LEVEL 20
Max skill level is defaulted to 20 thus, a level 28 Jupitel Thunder will be defaulted to level 20, but since there is no record of Lv20: for KnockBackTiles: under WZ_JUPITELTHUNDER, no knockback will be made.
If you want to fix your problem (without compiling), simply add
Lv20: 7 - number of tiles to be knockback
Quote{
Id: 84
Name: "WZ_JUPITEL"
Description: "Jupitel Thunder"
MaxLevel: 10
Range: 9
Hit: "BDT_MULTIHIT"
SkillType: {
Enemy: true
}
SkillInfo: {
AllowReproduce: true
}
AttackType: "Magic"
Element: "Ele_Wind"
NumberOfHits: {
Lv1: 3
Lv2: 4
Lv3: 5
Lv4: 6
Lv5: 7
Lv6: 8
Lv7: 9
Lv8: 10
Lv9: 11
Lv10: 12
}
InterruptCast: true
KnockBackTiles: {
Lv1: 2
Lv2: 3
Lv3: 3
Lv4: 4
Lv5: 4
Lv6: 5
Lv7: 5
Lv8: 6
Lv9: 6
Lv10: 7
Lv20: 7
}
CastTime: {
Lv1: 2500
Lv2: 3000
Lv3: 3500
Lv4: 4000
Lv5: 4500
Lv6: 5000
Lv7: 5500
Lv8: 6000
Lv9: 6500
Lv10: 7000
}
CoolDown: 0
Requirements: {
SPCost: {
Lv1: 20
Lv2: 23
Lv3: 26
Lv4: 29
Lv5: 32
Lv6: 35
Lv7: 38
Lv8: 41
Lv9: 44
Lv10: 47
}
}
},But you need to do that in every monster that you're having problem.
Make an issue in github so other developers see it.
Rathena made a way to make the last value entry in database to be the value for level that is not included
-
11 hours ago, astralprojection said:PRE-RE
2010-07-30aRagexeREcan't say if it's packet related, i don't have a 2010 client with me
i was using a 2019 client for the test and not RE client as well -
4 hours ago, astralprojection said:yes using latest herc now with no mod and using official database. Sometimes its okay, but there are times that i experience the issue for unknown reason.
Renewal? Or pre-renewal?
-
14 hours ago, astralprojection said:- i press Butterfly, 2x not working.
- 3rd time working.
- i warp to dungeons and press flywing (it brings me to savepoint).
too annoyingcan't reproduce this
are you using latest hercules? and any modifications made in src?
-
I think I made a plugin of this before, will search in my files
-
@Daraen ahh sorry, as of now, at default guardians are considered as MVP/boss monsters that's why at default it will not show hp bar. But when config for enabling the HP bar for MVP is enabled, guardians will show HP bar as well. There is no way to differentiate guardians as of now, either they're boss or normal monsters.
I have tried to make a pull request:
QuoteI don't know if this is the right fix for this, waiting for the other developers say about it.
But I have tested this pull request on my test server and it should work with config:
Quote// Show hp bar on monsters? (Note 3)
// NOTE: only works on client 2012-04-04aRagexeRE onwards
// 1 = Show hp bar on all monsters except Emperium, WOE Guardians and MVP
// 2 = Enable hp bar on Emperium and WOE Guardians
// 4 = Enable hp bar on MVP
// (Default: 1)
show_monster_hp_bar: 5With config 5, all monsters & MVP will show HP bar except for Emperium and WOE Guardians
and if ever i have missed any monsters (guardians) you could simply add Guardian:true in their modes and do @reloadmobdb -
2 hours ago, Daraen said:I hit it, look at the pictures.
Moreover
// Show hp bar on monsters? (Note 3) // NOTE: only works on client 2012-04-04aRagexeRE onwards // 1 = Show hp bar on all monsters except Emperium and MVP // 2 = Enable hp bar on Emperium // 4 = Enable hp bar on MVP // (Default: 1) show_monster_hp_bar: 1
// Show hp bar on monsters? (Note 3) // NOTE: only works on client 2012-04-04aRagexeRE onwards // 1 = Show hp bar on all monsters except Emperium and MVP // 2 = Enable hp bar on Emperium // 4 = Enable hp bar on MVP // (Default: 1) show_monster_hp_bar: 1
set to 1, does not show HP bar for MvP and emperium.
I need the HP bar to be displayed for all monsters except Emperium and WoE guardian
I have already explained all using picturesHow did you spawn your guardian in your test?
// Display some mob info next to their name? (Note 3) // (does not works on guardian or Emperium) // 1: Display mob HP (Hp/MaxHp format) // 2: Display mob HP (Percent of full life format) // 4: Display mob's level show_mob_info: 0 // Show hp bar on monsters? (Note 3) // NOTE: only works on client 2012-04-04aRagexeRE onwards // 1 = Show hp bar on all monsters except Emperium and MVP // 2 = Enable hp bar on Emperium // 4 = Enable hp bar on MVP // (Default: 1) show_monster_hp_bar: 1
With this setting, emperium, mvp and guardian doesn't show HP bar using fresh hercules emulator.
Only normal mobs shows HP bar.
// Display some mob info next to their name? (Note 3)
// (does not works on guardian or Emperium)
// 1: Display mob HP (Hp/MaxHp format)
// 2: Display mob HP (Percent of full life format)
// 4: Display mob's level
show_mob_info: (any value above 1) will work on emperium and guardian as well but still no HP bar@Daraen This following guardians: 1285, 1286, 1287 has this mode:
QuoteMode: {
CanMove: true
Aggressive: true
Boss: true
CanAttack: true
Detector: true
CastSensorChase: true
ChangeChase: true
Angry: true
ChangeTargetMelee: true
}as you can see they have boss mode enabled thus they are considered MVP afaik, but no MVPexp thus no MVP sign when killed. In default, it should not show for this following guardians.
The easiest thing is to delete the boss: true in their mode do @reloadmobdb and it should work -
9 hours ago, AnnieRuru said:kinda getting nostalgic when playing an old battleground, so I load this src to play
I just changed line 71 into
int status_change_end_post( int retVal, struct block_list *bl, enum sc_type type, int tid ) {
int status_change_end_post( int retVal, struct block_list *bl, enum sc_type type, int tid ) {
and it works
can elaborate more ?
and for the other bug, I'm not sure this can even be fix from server side
right click to 1:1 whispering is client side thingy I guessbut I think this is most useful when showing a small window like this
also means those who have client crashing etc, nope I think this is actually built for this feature
First of all welcome back Annie!
The status changes I'm saying was the buffs itself, so when the buff is applied, you could see the [BASFD] added strings + character name in the chat box.
right click to 1:1 whispering is client side thingy I guess - if you use only the party window side, it uses the [BASFD] + character name but if you just right click on the character itself, it uses the character name only.
It seems that it uses the character name displayed in the window.
-
-
On 9/2/2020 at 2:23 AM, Woli said:Sorry if this wasn't clear. I'm looking to SELL items to NPC at custom price, without altering the item_db.
Use setiteminfo
Random item options
in General Server Support
Posted
I think I have answered in your email regarding this...
Anyway for everyone who's lost as well in implementing item options...
create a group in db/option_drop_groups.conf (this is where you categorize random options groups) Example: (You just need to follow the instruction inside the conf file) group1: { }, group2: { }, then you need to edit mob_db drops and add your option group example: the mob you want to test has this drops: Drops: { Jellopy: 7000 Knife_: 100 Sticky_Mucus: 400 Apple: 1000 Empty_Bottle: 1500 Apple: 150 Unripe_Apple: 20 Poring_Card: 1 } to add group for the knife, edit the line of knife and add the group you want depending on which option group you want to take the options Knife_: 100,"group1" there is item_options.conf in the db folder which holds all the item options available
this is what i have answered in his email as well