-
Content Count
229 -
Joined
-
Last visited
-
Days Won
46
Posts posted by Sephus
-
-
Any solution for compile error/warning in latest Herc?
What error? Post the message here. I'm compiling with latest herc and its all good.
I posted previously:
>>
1>------ Operación Compilar iniciada: proyecto: plugin-sample, configuración: Debug Win32 ------ 1> hBG.c 1>..\src\plugins\hBG.c(1071): warning C4018: '<' : does not match signed/unsigned 1>..\src\plugins\hBG.c(2049): warning C4018: '<' : does not match signed/unsigned 1>..\src\plugins\hBG.c(2050): warning C4018: '<' : does not match signed/unsigned 1>..\src\plugins\hBG.c(2523): warning C4018: '>=' : does not match signed/unsigned 1>..\src\plugins\hBG.c(2581): warning C4018: '<' : does not match signed/unsigned 1>..\src\plugins\hBG.c(2587): warning C4018: '<' : does not match signed/unsigned 1>..\src\plugins\hBG.c(2593): error C2143: error de sintaxis : need ';' in front of 'type' 1>..\src\plugins\hBG.c(2594): error C2065: 'i' : undeclared identifier 1>..\src\plugins\hBG.c(2595): error C2065: 'i' : undeclared identifier 1>..\src\plugins\hBG.c(2614): error C2143: error de sintaxis : need ';' in front of 'type' 1>..\src\plugins\hBG.c(2615): error C2143: error de sintaxis : need ';' in front of 'type' 1>..\src\plugins\hBG.c(2617): error C2065: 'i' : undeclared identifier 1>..\src\plugins\hBG.c(2618): error C2065: 'i' : undeclared identifier 1>..\src\plugins\hBG.c(2621): error C2065: 'pos' : undeclared identifier 1>..\src\plugins\hBG.c(2621): error C2065: 'i' : undeclared identifier 1>..\src\plugins\hBG.c(2623): error C2065: 'qm' : undeclared identifier 1>..\src\plugins\hBG.c(2623): error C2065: 'pos' : undeclared identifier 1>..\src\plugins\hBG.c(2623): warning C4047: '=' : 'int' Is different in the levels of indirect addressing of 'hBG_queue_member *' 1>..\src\plugins\hBG.c(2623): warning C4047: '==' : 'int' Is different in the levels of indirect addressing of 'void *' 1>..\src\plugins\hBG.c(2623): error C2223: el operando izquierdo de '->sd' debe señalar a struct/union 1>..\src\plugins\hBG.c(2717): warning C4018: '<' : does not match signed/unsigned 1>..\src\plugins\hBG.c(3722): warning C4018: '<' : does not match signed/unsigned 1>..\src\plugins\hBG.c(3724): warning C4018: '<' : does not match signed/unsigned 1>..\src\plugins\hBG.c(3862): warning C4018: '<' : does not match signed/unsigned ========== Compilar: 0 correctos, 1 incorrectos, 0 actualizados, 0 omitidos ==========
Problem compiling in latest Herc.
1>------ Operación Compilar iniciada: proyecto: plugin-sample, configuración: Debug Win32 ------ 1> hBG.c 1>..\src\plugins\hBG.c(1071): warning C4018: '<' : does not match signed/unsigned 1>..\src\plugins\hBG.c(2049): warning C4018: '<' : does not match signed/unsigned 1>..\src\plugins\hBG.c(2050): warning C4018: '<' : does not match signed/unsigned 1>..\src\plugins\hBG.c(2523): warning C4018: '>=' : does not match signed/unsigned 1>..\src\plugins\hBG.c(2581): warning C4018: '<' : does not match signed/unsigned 1>..\src\plugins\hBG.c(2587): warning C4018: '<' : does not match signed/unsigned 1>..\src\plugins\hBG.c(2593): error C2143: error de sintaxis : need ';' in front of 'type' 1>..\src\plugins\hBG.c(2594): error C2065: 'i' : undeclared identifier 1>..\src\plugins\hBG.c(2595): error C2065: 'i' : undeclared identifier 1>..\src\plugins\hBG.c(2614): error C2143: error de sintaxis : need ';' in front of 'type' 1>..\src\plugins\hBG.c(2615): error C2143: error de sintaxis : need ';' in front of 'type' 1>..\src\plugins\hBG.c(2617): error C2065: 'i' : undeclared identifier 1>..\src\plugins\hBG.c(2618): error C2065: 'i' : undeclared identifier 1>..\src\plugins\hBG.c(2621): error C2065: 'pos' : undeclared identifier 1>..\src\plugins\hBG.c(2621): error C2065: 'i' : undeclared identifier 1>..\src\plugins\hBG.c(2623): error C2065: 'qm' : undeclared identifier 1>..\src\plugins\hBG.c(2623): error C2065: 'pos' : undeclared identifier 1>..\src\plugins\hBG.c(2623): warning C4047: '=' : 'int' Is different in the levels of indirect addressing of 'hBG_queue_member *' 1>..\src\plugins\hBG.c(2623): warning C4047: '==' : 'int' Is different in the levels of indirect addressing of 'void *' 1>..\src\plugins\hBG.c(2623): error C2223: el operando izquierdo de '->sd' debe señalar a struct/union 1>..\src\plugins\hBG.c(2717): warning C4018: '<' : does not match signed/unsigned 1>..\src\plugins\hBG.c(3722): warning C4018: '<' : does not match signed/unsigned 1>..\src\plugins\hBG.c(3724): warning C4018: '<' : does not match signed/unsigned 1>..\src\plugins\hBG.c(3862): warning C4018: '<' : does not match signed/unsigned ========== Compilar: 0 correctos, 1 incorrectos, 0 actualizados, 0 omitidos ==========
Problem compiling in latest Herc.
Hello, could you please pull the latest commit from the repository and try again?
-
Some of these should be fixed in https://github.com/Smokexyz/HerculesBG/commit/8c0d44fd2c2f897cc7eb40f925f5f461519b01ac
Please test to confirm.
Awesome, Smoke!
I'm not home but tested Rush and it seems to be all good, the map crash is gone. I'll update here later on when test everything.
Here some minor issues I found so far:
1) The first error was fixed in a pr I made some weeks ago and you merged, must have come back unintentionally. When I get home I'll pull another one.
2)
3) (no prints): @stopbg - after stopping it will not start again and throws this error.
The same occurs if all players leave a bg (everyone logouts)
[Error]: Memory manager: freed-data is changed. (freed in \$PATH\server\src\common\hpm.c line 342) [Info]: buildin_setbattleflag: battle_config flag 'battle_configuration/hBG_enabled' is now set to '0'. [Info]: buildin_setbattleflag: battle_config flag 'battle_configuration/hBG_enabled' is now set to '1'.
When I get home I'll try to debug and push something to help you, seems to be pretty simple things.
1) Yes, sorry about that. I over-wrote the files with an old copy.
2) & 3) Will be fixed.
-
Some of these should be fixed in https://github.com/Smokexyz/HerculesBG/commit/8c0d44fd2c2f897cc7eb40f925f5f461519b01ac
Please test to confirm.
-
is this right one?
file is src/common/HPM.c
Yes, but can you click on "break", then click on the "Call Stack" window (in the same menu as Output which is currently open in the bottom right window). And paste its details here.
-
No dump create upon crash
same issue which tedexx has provided
same like this no error on map-server
You can follow this guide and print the details here -
-
Thanks for the errors.
6) Will take some more time as I free up. Does everything work as intended after though? i.e. is the player that reconnected able to re-join and participate in BGs?
Well, player disconnected from battleground map and send to saved location,yes player is able to join again.
What about map crash error? currently occur on hitting Bossnia middle flag and rush Emperium.. (this error not occur on first release)
Suggestion:
1. There is no announcement for recruiting players for battle ground only once when some one apply, after that no announcement.
2. There should be command for change battleground mode, like CTF to Deathmatch or just command for switch battleground mode.
Thanks...
Can you provide a crash dump ?
-
Thanks for the errors.
1) Generated by the script command assertions in previous commits. Shouldn't cause a real problem but these will be silenced in the next commit.
2) This... I think is a problem with the scripting engine... and I think the set command is deprecated. (Not sure)
3) Same as 1
4) Some of those aren't coded yet. And there will be an option in the future to disable/enable saving but for now I'd like to see it generate errors and/or crashes so it can be made stable.
5) Same as 1 (Except the NPCEvent, will be fixed.)
6) Will take some more time as I free up. Does everything work as intended after though? i.e. is the player that reconnected able to re-join and participate in BGs?
-
For this I've pushed a possible fix, but it would still be nice to have a full dump.
Everything seems to be fine for me, except the map server crash and @bgstop bug. Both problems reported in my previous comment.
@edit
Also, we have a map server error if running both old BG and hBG at the same time. Since the hBG doesnt have KVM and neither none of the old bgs, it seems logical to run both.
@edit2
Also, FFA is not working at all.
Would it be possible for you to provide a full dump of the crash here?
-
1) install gdb
2) run login/char-server normally.
3) run map-server by typing following commands
gdb map-server run
4) Reproduce the bug and let the server crash
5) Check the ssh console, it might show the report
6) type 'bt full' and show all the output here.
You're a live saver.
Seems that the Hercules Battleground from Smoke is the issue.
I thought i wasn't running any plugins because I disabled everything in /conf/plugins.conf, but seems I was wrong. I remove hBG and its working fine.
Its still strange because it works on Windows, but thats ok for now.
Thanks Dastgir, today I learned something!
Here's the dump:
Thread 1 "map-server" received signal SIGSEGV, Segmentation fault. 0x00007ffff3f4c159 in hBG_statistics_parsefromchar (fd=9) at hBG.c:4014 4014 if ((hBGsd = getFromMSD(sd, 1)) == NULL) {
Would it be possible for you to provide the full dump? please and thanks.
-
IdAthena is an Indonesian localisation of the emulator if I'm not mistaken? Hercules has HULD that supports localisation of scripts, the benefit of which outweighs using any other localised emulator. Because your users will be able to understand your server in their own language, if you support it. Hercules makes this possible.
This among other several reasons why it is far more superior to rA or any other (and I don't mean to put them down but the code speaks for itself).
-
As you might imagine, Smoke is always involved in big, cool projects. I would like to congratulate you and thank you on behalf of the whole community.However, I do not see so many great utilities in this ... I do not know if it is due to the difficulty of understanding the language, or because the text has not been clarified, but I have not really seen it. (Please do not get me wrong, I'm just curious)Is this system official?Is there any utility besides not having to create custom cards to give players bonuses?I'm sorry I looked ignorant, but I'm just curious.This is an official system yes.
This doesn't have anything to do with creating custom cards.
This system makes it possible to do things such as -
- creating unique equipments in the game with unique stats.
- creating dynamic equipments with options. (possibly with an equipment levelling system)
- if one is lazy, not having to put a description in the item and providing it with desired stats through an npc?
The use of it ultimately depends on one's creative capabilities.
-
I'm back again,
Looks like before the item option feature the #MAX_SKILL 1910 was working just fine, but with the latest it's giving the
"[Error]: chrif_authok: Data size mismatch!" when char logs in.
any thoughts?
I am indeed recompiling all three servers, and using MSVB2012...
This is because after the item options PR was merged, the size of the packet that is sent to the map server carrying character details exceeds the size limit per packet. There is a PR in the works with a fix to this problem.
-
This would be *setequipoption(<equip_index>,<slot>,0,0);[EnumVAR.MDAMAGE_SIZE_SMALL_TARGET[1]] = "Magical damage against Small size monster +%d%%", [EnumVAR.MDAMAGE_SIZE_MIDIUM_TARGET[1]] = "Magical damage against Medium size monster +%d%%", [EnumVAR.MDAMAGE_SIZE_LARGE_TARGET[1]] = "Magical damage against Large size monster +%d%%", [EnumVAR.MDAMAGE_SIZE_SMALL_USER[1]] = "Magical resistance Small size monster +%d%%", [EnumVAR.MDAMAGE_SIZE_MIDIUM_USER[1]] = "Magical resistance Medium size monster +%d%%", [EnumVAR.MDAMAGE_SIZE_LARGE_USER[1]] = "Magical resistance Large size monster +%d%%", [EnumVAR.VAR_CUSTOMMAXHP[1]] = "Custom MaxHP +%d", [EnumVAR.EnumVAR_LAST[1]] = "END"}
Also, I don't see any command to remove specific item option.
Already tried that but the console says
[Error]: buildin_setequipoption: Option index 0 does not exist!
Ah right, then there needs to be a script command for its removal.
-
This would be *setequipoption(<equip_index>,<slot>,0,0);[EnumVAR.MDAMAGE_SIZE_SMALL_TARGET[1]] = "Magical damage against Small size monster +%d%%", [EnumVAR.MDAMAGE_SIZE_MIDIUM_TARGET[1]] = "Magical damage against Medium size monster +%d%%", [EnumVAR.MDAMAGE_SIZE_LARGE_TARGET[1]] = "Magical damage against Large size monster +%d%%", [EnumVAR.MDAMAGE_SIZE_SMALL_USER[1]] = "Magical resistance Small size monster +%d%%", [EnumVAR.MDAMAGE_SIZE_MIDIUM_USER[1]] = "Magical resistance Medium size monster +%d%%", [EnumVAR.MDAMAGE_SIZE_LARGE_USER[1]] = "Magical resistance Large size monster +%d%%", [EnumVAR.VAR_CUSTOMMAXHP[1]] = "Custom MaxHP +%d", [EnumVAR.EnumVAR_LAST[1]] = "END"}
Also, I don't see any command to remove specific item option.
-
From what client start this feature?
Packets were added in 2016-10-05a
-
kRO had released anew refinery interface for item refinement last year in their 2016-10-* clients.
Source:
A preview of my implementation:
I already have it working on my local Hercules branch. A big thanks to @Asheraf for providing information from kRO. This will be available for Hercules as and when it support the newer clients.
Just thought I'd share the info here
Hope for its release soon!
-
Yes, that was the issue Klutz.
-
Hello,
You should contact your host and inquire or check the console window on start-up for clues.
-
-
Wouldn't be
setequipoption(<equip_index>,<opt_index>,<slot>,<value>);
Instead of
setequipoption(<equip_index>,<slot>,<opt_index>,<value>);
?
The Item Option NPC released has the variables inverted in the method call too.
Yes, this will be fixed soon. The correct order is setequipoption(<equip_index>,<slot>,<opt_index>,<value>);
Edit: Fixed in the latest commit.
Also, I found a possible exploit:
Using the NPC to put options on an item, if you put an option the NPC will unequip the item, but if the item has options values already, the bonuses will stay with the character even without the equipment.
Removing the equipment manually removes the bonus, its just the "autoremove" from setequipoption that doesn't.
Addressed in PR#1673 Thank you for the report.
-
So with the release of Item Options System I had created a demo NPC with a small number of options to test the system out or be used as a full fledged NPC.
Configuration
/** * General Configuration */ /* Chance of the enhancement process to fail. (0 - 99 in percent) */ .chance_of_failure = 10; /* Delete the item on failure? (true/false) */ .delete_on_failure = true; /* Required amount of zeny for a try. */ .zeny_requirement = 100; /* Minimum amount of the bonus value. * For negative effects or certain bonuses that require negative values * Maximum possible value is -INT16_MAX) */ .minimum_bonus_amount = -100; // usually used with delay bonus options, although not provided in the script. /* Maximum amount of the bonus value. * Maximum possible value is INT16_MAX */ .maximum_bonus_amount = 100; /* Disable selection of bonus value (true/false) */ .enable_random_bonus = false; /* Item Option Descriptions */ setarray(.options$[0], "Max HP", "Max SP", "STR", "AGI", "VIT", "INT", "DEX", "LUK"); /* Item Option Constants */ setarray(.option_constants[0], VAR_MAXHPAMOUNT, VAR_MAXSPAMOUNT, VAR_STRAMOUNT, VAR_AGIAMOUNT, VAR_VITAMOUNT, VAR_INTAMOUNT, VAR_DEXAMOUNT, VAR_LUKAMOUNT); end;
File v1.0
Let me know what you think!
Enjoy~!
-
Introducing the Item Options System!
Commit
https://github.com/HerculesWS/Hercules/commit/974222a8d3f189083205bf5d330de04a43226ad3
Feature Information
The Item Option System is a feature that was implemented in 2015-02-26 clients, allowing equipments to have up to 5 additional effects similar to cards or enchants. Each equipment is capable of having 5 information bars above the card slot/enchant bar that describes the effect of the option it is infused with.
New Script Commands (The following snippet is available in doc/script_commands.txt.)
*getequipisenableopt(<equipment slot>) This function checks if the equipped item allows the use of bonus options. Returns 1 if allowed, 0 if not. --------------------------------------- *getequippedoptioninfo(<info_type>); This function is to be used with the scripts of contents listed in db/item_options.conf only. Returns the value of the current equipment being parsed. If the equip was not found or the type is invalid, -1 is returned. --------------------------------------- *getequipoptioninfo(<equip_index>,<slot>,<type>); Gets the option information of an equipment. <equipment_index> For a list of equipment indexes see getequipid(). <option_slot> can range from 1 to MAX_ITEM_OPTIONS <type> can be IT_OPT_INDEX (the ID of the option bonus, @see "Id" or "Name" in db/item_options.conf) or IT_OPT_VALUE (the value of the bonus script of the equipment, @see "Script" in db_item_options.conf). returns the value of the slot if exists or -1 for invalid slot, type or slots. --------------------------------------- *setequipoption(<equip_index>,<slot>,<opt_index>,<value>); Set an equipment's option index or value for the specified option slot. <equipment_index> For a list of equipment indexes see getequipid(). <option_slot> can range from 1 to MAX_ITEM_OPTIONS <type> can be IT_OPT_INDEX (the ID of the option bonus, @see "Id" or "Name" in db/item_options.conf) <value> The value of the type to be set. returns 0 if value couldn't be set, 1 on success.
Release Notes
- This system allows the infusing of equipments with bonus item options.
- This feature is constrained to clients of packet versions greater than or equal to 20150226.
- Item Options and their effects are defined server-side in db/item_options.conf and client side in data/luafiles514/lua files/datainfo/addrandomoptionnametable.lub
- The ID of the option must tally with the correct index of the description provided in the client side file.
- IT_OPT_* keys and MAX_ITEM_OPTIONS macro are also exported from the source as constants.
- If you wish to disable item options for certain (equipment) items, an additional flag `disable_options` has been added to the item sql tables, and as `DisableOptions: true/false (boolean, defaults to false !!for equipments only!!)` to the item_db.conf files.
- Documentation is provided for script commands.
- If upgrading, don't forget to run the sql upgrade files!
CreditsA big thanks to all the reviewers that helped make the code closer to perfection. -
Emistry, dastgir, MishimaHaruna, Jedzkie, Ridley8819, Asheraf, 4144.
Style and Script Fixes by Asheraf (https://github.com/Asheraf)
Initial design Idea in rAthena commit. -
You can add this to the issue tracker on github.
-
Hercules Battlegrounds
in PvP, WoE, GvG, & Battleground Releases
Posted
I mean latest commit of the hBG repository.