Jump to content
Dastgir

[Release] ExtendedBG for Hercules (with eAmod BG modes)

Recommended Posts

On 07/08/2018 at 9:24 AM, Dastgir said:
If possible make npcs of stuffs available and these stuffs can only be used in Battleground, thank you in advance.

PS: 

You asked to remind you.

Share this post


Link to post
Share on other sites

few new updates: https://github.com/dastgirp/eBG/commit/07f8617677a1cbf4bd03b259dbec0f65c02b2c51 / https://github.com/dastgirp/eBG/commit/f0ca421afc506b8aaab217831c9ea68f09f98fad

* Fixed a crash
* Fixed delay timer not starting
* Fixed bug in conquest, wherein not all walls were deleted
* Fixed bug wherein the announcement was having wrong player count

 

Share this post


Link to post
Share on other sites

Nice job Dastgir good to see you are still updating this. People of Hercules, keep reporting in a constructive manner to make a good system :D

Share this post


Link to post
Share on other sites
10 hours ago, Anime s2 said:

I'm using VS 2017. my first time using herc emulator.

qwe.jpg

You compiled ExtendedBG plugin? Please state how you compiled it

Share this post


Link to post
Share on other sites
11 hours ago, Anime s2 said:

You need to create 2 projects:

ExtendedBG and

ExtendedBG-char

In ExtendedBG Project, add every file from eBg plugins folder except ExtendedBg-char.c

In ExtendedBG-char Project, add every file from eBg plugins folder except ExtendedBg.c

 

Then compile, and check for any compilation errors, if any report here.

Share this post


Link to post
Share on other sites

Many new updates/fixes were done this week: 
https://github.com/dastgirp/eBG/commit/b333d65f0eaae88148bd10b21f2a84e98c43239e / https://github.com/dastgirp/eBG/commit/c4893a5bc21e7c37707a19bfe4366a653221b79d
https://github.com/dastgirp/eBG/commit/8fcac60fb4e21f594cf39ccd138fbf32ea7e84e5

Several changes and bug fixes

Additions:
* Added new configuration 'bg_items_pvp' to allow BG items in PvP.
* Minimum level requirement to join bg.
* Announcement when leader quits and new leader is chosen.
* Configuration for checking gepard unique id for dual clients.
* Players won't be able to join the BG if 2 minutes are left
* Shop can be called by @bgshop

Changed:
* Changed the way 'bg_kick_idle' was handled, it now is in seconds.
* When player joins BG, it now uses bg_announce instead of announce.
* Moved telma to different file.
* @bgshop can be called only on town.

Fixes:
* Error while setting variable.
* bg_log_kill will now accept values from 0-7.
* When leader quits, the leader was changing but not shown in client.
* Fixes Guild window showing 0 members when leader quit.
* 3rd argument in bg_announce is now optional

Split main_bg.sql to
 * bg_guild.sql (to be executed if VIRT_GUILD is commented)
 * bg_main.sql (to be executed always)
Updated script commands documentation.
Added missing documentations.
Structual changes to ebg_common.h (important settings are shown first).

 

Share this post


Link to post
Share on other sites
1 hour ago, freezing1 said:

bg causing pvp-related console errors

Thanks for reporting.

The issue is known and the console error can be ignored(it's not harmful), however it will be fixed in a day.

Share this post


Link to post
Share on other sites

 

Update: https://github.com/dastgirp/eBG/commit/95b06799dece8c6f107b43632f9ce0d1050405b1 (Fixes the console error on PvP Maps too)

 

New Feature and bug fixes:

Added BG Ranking:
	It contains several NPCs which changes the look to Top X as mentioned in the configuration.
	The Ranking changes in real time
	Added new scriptCommand getbgfame.
	BG Ranking says the name of player if clicked.
	Uncomment the Duplicate NPCs and change locations to enable the feature.

@bgranked and @bgregular now shows 'No Players' if no players exist in ranking yet
Fixed PvP Bound items which were conflicting with Ranking System

Preview of BG Ranking:

 

hTrUWhD.jpg

Share this post


Link to post
Share on other sites

If encountering this problem, just comment that line

	ExtendedBG.c:6175:37: error: 'MAP_IS_PVP' undeclared (first use in this function)
  script->set_constant("MAP_IS_PVP", MAP_IS_PVP, false, false);
	

Share this post


Link to post
Share on other sites

Got this when I stop the server. [ ./athena-start stop ]
OS: Centos 7

[Warning]: Memory leak detected at ERS 'db.c::db_alloc_ers', 1 objects not freed.

 

Edited by Rebel

Share this post


Link to post
Share on other sites
On 16/11/2018 at 12:16, Dastgir said:

Se encontrar este problema, apenas comente essa linha



	

Hello my dear. I'm getting these errors when trying to compile the emulator.

eBG Commit: 95b06799dece8c6f107b43632f9ce0d1050405b1

Hercules Commit: 97606eaf71983a82463062b04c2ec1cf5b078d57

Client: 20180620

OS: CentOS 7

 

Screenshot_1.png

Screenshot_2.png

Share this post


Link to post
Share on other sites
On 16/11/2018 at 0:16 PM, Dastgir said:

If encountering this problem, just comment that line


	ExtendedBG.c:6175:37: error: 'MAP_IS_PVP' undeclared (first use in this function)
  script->set_constant("MAP_IS_PVP", MAP_IS_PVP, false, false);
	

I still have this issue even when I comment that line the error still persists

'MAP_IS_PVP': undeclared identifier...

Share this post


Link to post
Share on other sites

I have Some errors, And i don't understand how to compile include files and C/C ++ Compile
Can you help please?
 

In file included from eBG_common.c:2:0:
eBG_common.h:74:1: error: unknown type name ‘bool’
 bool debug_mode = false;
 ^
eBG_common.h:74:19: error: ‘false’ undeclared here (not in a function)
 bool debug_mode = false;
                   ^
eBG_common.h:497:12: error: ‘NAME_LENGTH’ undeclared here (not in a function)
  char name[NAME_LENGTH];                 ///< Name of NPC
            ^
eBG_common.h:502:2: error: unknown type name ‘bool’
  bool npc_or_var;                        ///< (Player or NPC), true = npc, false = player variable
  ^
eBG_common.h:533:2: error: unknown type name ‘uint64’
  uint64 max_damage;               ///< MaxDamage in 1 Hit
  ^
eBG_common.h:534:2: error: unknown type name ‘uint64’
  uint64 damage;                   ///< Total Damage Dealt
  ^
eBG_common.h:535:2: error: unknown type name ‘uint64’
  uint64 damage_received;          ///< Total Damage Received
  ^
eBG_common.h:536:2: error: unknown type name ‘uint64’
  uint64 boss_damage;              ///< Damage to MvP
  ^
eBG_common.h:545:2: error: unknown type name ‘uint64’
  uint64 healing;                  ///< Total Healing Done to TeamMate
  ^
eBG_common.h:546:2: error: unknown type name ‘uint64’
  uint64 healing_fail;             ///< Total Healing Done to Enemy
  ^
eBG_common.h:612:2: error: unknown type name ‘uint64’
  uint64 boss_dmg;       ///< Total Damage Dealt to Boss
  ^
eBG_common.h:631:2: error: unknown type name ‘uint64’
  uint64 emperium_dmg;     ///< Total Damage Dealt to Emperium
  ^
eBG_common.h:632:2: error: unknown type name ‘uint64’
  uint64 barricade_dmg;    ///< Total Damage Dealt to Barricade
  ^
eBG_common.h:633:2: error: unknown type name ‘uint64’
  uint64 guardian_dmg;     ///< Total Damage Dealt to Guardian
  ^
eBG_common.h:634:2: error: unknown type name ‘uint64’
  uint64 gstone_dmg;       ///< Total Damage Dealt to Guardian Stone
  ^
eBG_common.h:688:3: error: unknown type name ‘bool’
   bool match;                  ///< Is this Ranked Match?
   ^
eBG_common.h:690:2: error: unknown type name ‘bool’
  bool eBG;                        ///< Participated in ExtendedBG?
  ^
eBG_common.h:691:2: error: unknown type name ‘bool’
  bool leader;                     ///< Player is Leader
  ^
eBG_common.h:693:2: error: unknown type name ‘bool’
  bool ignore;                     ///< Ignore BG Announcements
  ^
eBG_common.h:694:2: error: unknown type name ‘int64’
  int64 save_flag;                 ///< Saving Flag (enum bg_save_flag)
  ^
eBG_common.h:696:2: error: unknown type name ‘uint16’
  uint16 skill_id;                 ///< SkillID Used
  ^
eBG_common.h:783:1: error: unknown type name ‘uint16’
 uint16 GetWord(uint32 val, int idx);
 ^
eBG_common.h:783:16: error: unknown type name ‘uint32’
 uint16 GetWord(uint32 val, int idx);
                ^
eBG_common.h:784:1: error: unknown type name ‘uint16’
 uint16 MakeWord(uint8 byte0, uint8 byte1);
 ^
eBG_common.h:784:17: error: unknown type name ‘uint8’
 uint16 MakeWord(uint8 byte0, uint8 byte1);
                 ^
eBG_common.h:784:30: error: unknown type name ‘uint8’
 uint16 MakeWord(uint8 byte0, uint8 byte1);
                              ^
eBG_common.h:785:1: error: unknown type name ‘uint32’
 uint32 MakeDWord(uint16 word0, uint16 word1);
 ^
eBG_common.h:785:18: error: unknown type name ‘uint16’
 uint32 MakeDWord(uint16 word0, uint16 word1);
                  ^
eBG_common.h:785:32: error: unknown type name ‘uint16’
 uint32 MakeDWord(uint16 word0, uint16 word1);
                                ^
eBG_common.h:787:69: error: unknown type name ‘bool’
  void *bg_get_variable_common(struct ebg_save_data *esdb, int type, bool create, int64 *save_flag, int is_bg);
                                                                     ^
eBG_common.h:787:82: error: unknown type name ‘int64’
  void *bg_get_variable_common(struct ebg_save_data *esdb, int type, bool create, int64 *save_flag, int is_bg);
                                                                                  ^
eBG_common.h:791:55: error: unknown type name ‘int64’
 void set_ebg_buffer(unsigned char *buf, int *offset_, int64 *type, struct ebg_save_data *esdb);
                                                       ^
In file included from eBG_common.c:2:0:
eBG_common.h:807:102: error: unknown type name ‘bool’
  void bg_load_char_data_sub(struct Sql *sql_handle, struct ebg_save_data *esdb, int char_id, int fd, bool use_sql, int64 save_type);
                                                                                                      ^
eBG_common.h:807:116: error: unknown type name ‘int64’
  void bg_load_char_data_sub(struct Sql *sql_handle, struct ebg_save_data *esdb, int char_id, int fd, bool use_sql, int64 save_type);
                                                                                                                    ^
eBG_common.h:808:113: error: unknown type name ‘int64’
  void bg_save_common(struct ebg_save_data *esdb, struct Sql *mysql_handle, int char_id, struct sd_p_data *data, int64 save_type);
                                                                                                                 ^
eBG_common.h:809:113: error: unknown type name ‘int64’
  void bg_save_leader(struct ebg_save_data *esdb, struct Sql *mysql_handle, int char_id, struct sd_p_data *data, int64 save_type);
                                                                                                                 ^
eBG_common.h:810:110: error: unknown type name ‘int64’
  void bg_save_ctf(struct ebg_save_data *esdb, struct Sql *mysql_handle, int char_id, struct sd_p_data *data, int64 save_type);
                                                                                                              ^
eBG_common.h:811:111: error: unknown type name ‘int64’
  void bg_save_boss(struct ebg_save_data *esdb, struct Sql *mysql_handle, int char_id, struct sd_p_data *data, int64 save_type);
                                                                                                               ^
eBG_common.h:812:109: error: unknown type name ‘int64’
  void bg_save_ti(struct ebg_save_data *esdb, struct Sql *mysql_handle, int char_id, struct sd_p_data *data, int64 save_type);
                                                                                                             ^
eBG_common.h:813:110: error: unknown type name ‘int64’
  void bg_save_eos(struct ebg_save_data *esdb, struct Sql *mysql_handle, int char_id, struct sd_p_data *data, int64 save_type);
                                                                                                              ^
eBG_common.h:814:110: error: unknown type name ‘int64’
  void bg_save_tdm(struct ebg_save_data *esdb, struct Sql *mysql_handle, int char_id, struct sd_p_data *data, int64 save_type);
                                                                                                              ^
eBG_common.h:815:109: error: unknown type name ‘int64’
  void bg_save_sc(struct ebg_save_data *esdb, struct Sql *mysql_handle, int char_id, struct sd_p_data *data, int64 save_type);
                                                                                                             ^
eBG_common.h:816:111: error: unknown type name ‘int64’
  void bg_save_conq(struct ebg_save_data *esdb, struct Sql *mysql_handle, int char_id, struct sd_p_data *data, int64 save_type);
                                                                                                               ^
eBG_common.h:817:111: error: unknown type name ‘int64’
  void bg_save_rush(struct ebg_save_data *esdb, struct Sql *mysql_handle, int char_id, struct sd_p_data *data, int64 save_type);
                                                                                                               ^
eBG_common.h:818:110: error: unknown type name ‘int64’
  void bg_save_dom(struct ebg_save_data *esdb, struct Sql *mysql_handle, int char_id, struct sd_p_data *data, int64 save_type);
                                                                                                              ^
eBG_common.h:819:114: error: unknown type name ‘int64’
  void bg_save_ranking(struct ebg_save_data *esdb, struct Sql *mysql_handle, int char_id, struct sd_p_data *data, int64 save_type);
                                                                                                                  ^
In file included from eBG_common.c:2:0:
eBG_common.h:16:31: error: ‘MAX_FAME_LIST’ undeclared here (not in a function)
 #define fame_list_size_bgrank MAX_FAME_LIST
                               ^
eBG_common.h:828:35: note: in expansion of macro ‘fame_list_size_bgrank’
 struct fame_list bgrank_fame_list[fame_list_size_bgrank];    ///< Ranked BG Fame List
                                   ^
eBG_common.c: In function ‘bg_clear_char_data’:
eBG_common.c:50:11: error: ‘NULL’ undeclared (first use in this function)
   esdb != NULL
           ^
eBG_common.c:50:11: note: each undeclared identifier is reported only once for each function it appears in
eBG_common.c:61:4: warning: implicit declaration of function ‘aFree’ [-Wimplicit-function-declaration]
    FREE_EBG_DATA(esdb, bg, ctf, bgm_status, true)
    ^
eBG_common.c:61:4: warning: nested extern declaration of ‘aFree’ [-Wnested-externs]
eBG_common.c:61:45: error: ‘true’ undeclared (first use in this function)
    FREE_EBG_DATA(esdb, bg, ctf, bgm_status, true)
                                             ^
eBG_common.c:32:9: note: in definition of macro ‘FREE_EBG_DATA’
     if (free) { \
         ^
eBG_common.c: In function ‘ebg_char_set_bgm_status_as_buf’:
eBG_common.c:155:20: error: ‘NULL’ undeclared (first use in this function)
  if (bgm_status != NULL) {
                    ^
eBG_common.c:156:3: warning: implicit declaration of function ‘WBUFL’ [-Wimplicit-function-declaration]
   WBUFL(buf, *offset+0) = bgm_status->win;
   ^
eBG_common.c:156:3: warning: nested extern declaration of ‘WBUFL’ [-Wnested-externs]
eBG_common.c:156:25: error: lvalue required as left operand of assignment
   WBUFL(buf, *offset+0) = bgm_status->win;
                         ^
eBG_common.c:157:25: error: lvalue required as left operand of assignment
   WBUFL(buf, *offset+4) = bgm_status->loss;
                         ^
eBG_common.c:159:26: error: lvalue required as left operand of assignment
    WBUFL(buf, *offset+8) = bgm_status->tie;
                          ^
eBG_common.c:162:25: error: lvalue required as left operand of assignment
   WBUFL(buf, *offset+0) = 0;
                         ^
eBG_common.c:163:25: error: lvalue required as left operand of assignment
   WBUFL(buf, *offset+4) = 0;
                         ^
eBG_common.c:165:26: error: lvalue required as left operand of assignment
    WBUFL(buf, *offset+8) = 0;
                          ^
eBG_common.c: At top level:
eBG_common.c:180:55: error: unknown type name ‘int64’
 void set_ebg_buffer(unsigned char *buf, int *offset_, int64 *type, struct ebg_save_data *esdb)
                                                       ^
eBG_common.c:387:1: error: unknown type name ‘uint16’
 uint16 GetWord(uint32 val, int idx)
 ^
eBG_common.c:387:16: error: unknown type name ‘uint32’
 uint16 GetWord(uint32 val, int idx)
                ^
eBG_common.c:407:1: error: unknown type name ‘uint16’
 uint16 MakeWord(uint8 byte0, uint8 byte1)
 ^
eBG_common.c:407:17: error: unknown type name ‘uint8’
 uint16 MakeWord(uint8 byte0, uint8 byte1)
                 ^
eBG_common.c:407:30: error: unknown type name ‘uint8’
 uint16 MakeWord(uint8 byte0, uint8 byte1)
                              ^
eBG_common.c:417:1: error: unknown type name ‘uint32’
 uint32 MakeDWord(uint16 word0, uint16 word1)
 ^
eBG_common.c:417:18: error: unknown type name ‘uint16’
 uint32 MakeDWord(uint16 word0, uint16 word1)
                  ^
eBG_common.c:417:32: error: unknown type name ‘uint16’
 uint32 MakeDWord(uint16 word0, uint16 word1)
                                ^
eBG_common.c:436:68: error: unknown type name ‘bool’
 void *bg_get_variable_common(struct ebg_save_data *esdb, int type, bool create, int64 *save_flag, int is_bg)
                                                                    ^
eBG_common.c:436:81: error: unknown type name ‘int64’
 void *bg_get_variable_common(struct ebg_save_data *esdb, int type, bool create, int64 *save_flag, int is_bg)
                                                                                 ^
eBG_common.c:962:32: warning: ‘struct Sql’ declared inside parameter list
 void ebg_free_sql_query(struct Sql *sql_handle)
                                ^
eBG_common.c:962:32: warning: its scope is only this definition or declaration, which is probably not what you want
eBG_common.c:985:1: error: unknown type name ‘bool’
 bool ebg_execute_sql_query(int *temp, int64 *temp64, bool use_sql, bool *save, bool *save_, int64 type, struct Sql *sql_handle, const char *query, int *char_id_offset, int fd)
 ^
eBG_common.c:985:39: error: unknown type name ‘int64’
 bool ebg_execute_sql_query(int *temp, int64 *temp64, bool use_sql, bool *save, bool *save_, int64 type, struct Sql *sql_handle, const char *query, int *char_id_offset, int fd)
                                       ^
eBG_common.c:985:54: error: unknown type name ‘bool’
 bool ebg_execute_sql_query(int *temp, int64 *temp64, bool use_sql, bool *save, bool *save_, int64 type, struct Sql *sql_handle, const char *query, int *char_id_offset, int fd)
                                                      ^
eBG_common.c:985:68: error: unknown type name ‘bool’
 bool ebg_execute_sql_query(int *temp, int64 *temp64, bool use_sql, bool *save, bool *save_, int64 type, struct Sql *sql_handle, const char *query, int *char_id_offset, int fd)
                                                                    ^
eBG_common.c:985:80: error: unknown type name ‘bool’
 bool ebg_execute_sql_query(int *temp, int64 *temp64, bool use_sql, bool *save, bool *save_, int64 type, struct Sql *sql_handle, const char *query, int *char_id_offset, int fd)
                                                                                ^
eBG_common.c:985:93: error: unknown type name ‘int64’
 bool ebg_execute_sql_query(int *temp, int64 *temp64, bool use_sql, bool *save, bool *save_, int64 type, struct Sql *sql_handle, const char *query, int *char_id_offset, int fd)
                                                                                             ^
eBG_common.c:1187:101: error: unknown type name ‘bool’
 void bg_load_char_data_sub(struct Sql *sql_handle, struct ebg_save_data *esdb, int char_id, int fd, bool use_sql, int64 save_type)
                                                                                                     ^
eBG_common.c:1187:115: error: unknown type name ‘int64’
 void bg_load_char_data_sub(struct Sql *sql_handle, struct ebg_save_data *esdb, int char_id, int fd, bool use_sql, int64 save_type)
                                                                                                                   ^
eBG_common.c:1750:112: error: unknown type name ‘int64’
 void bg_save_common(struct ebg_save_data *esdb, struct Sql *mysql_handle, int char_id, struct sd_p_data *data, int64 save_type)
                                                                                                                ^
eBG_common.c:1808:112: error: unknown type name ‘int64’
 void bg_save_leader(struct ebg_save_data *esdb, struct Sql *mysql_handle, int char_id, struct sd_p_data *data, int64 save_type)
                                                                                                                ^
eBG_common.c:1838:109: error: unknown type name ‘int64’
 void bg_save_ctf(struct ebg_save_data *esdb, struct Sql *mysql_handle, int char_id, struct sd_p_data *data, int64 save_type)
                                                                                                             ^
eBG_common.c:1863:110: error: unknown type name ‘int64’
 void bg_save_boss(struct ebg_save_data *esdb, struct Sql *mysql_handle, int char_id, struct sd_p_data *data, int64 save_type)
                                                                                                              ^
eBG_common.c:1884:108: error: unknown type name ‘int64’
 void bg_save_ti(struct ebg_save_data *esdb, struct Sql *mysql_handle, int char_id, struct sd_p_data *data, int64 save_type)
                                                                                                            ^
eBG_common.c:1905:109: error: unknown type name ‘int64’
 void bg_save_eos(struct ebg_save_data *esdb, struct Sql *mysql_handle, int char_id, struct sd_p_data *data, int64 save_type)
                                                                                                             ^
eBG_common.c:1926:109: error: unknown type name ‘int64’
 void bg_save_tdm(struct ebg_save_data *esdb, struct Sql *mysql_handle, int char_id, struct sd_p_data *data, int64 save_type)
                                                                                                             ^
eBG_common.c:1947:108: error: unknown type name ‘int64’
 void bg_save_sc(struct ebg_save_data *esdb, struct Sql *mysql_handle, int char_id, struct sd_p_data *data, int64 save_type)
                                                                                                            ^
eBG_common.c:1968:110: error: unknown type name ‘int64’
 void bg_save_conq(struct ebg_save_data *esdb, struct Sql *mysql_handle, int char_id, struct sd_p_data *data, int64 save_type)
                                                                                                              ^
eBG_common.c:1989:110: error: unknown type name ‘int64’
 void bg_save_rush(struct ebg_save_data *esdb, struct Sql *mysql_handle, int char_id, struct sd_p_data *data, int64 save_type)
                                                                                                              ^
eBG_common.c:2011:109: error: unknown type name ‘int64’
 void bg_save_dom(struct ebg_save_data *esdb, struct Sql *mysql_handle, int char_id, struct sd_p_data *data, int64 save_type)
                                                                                                             ^
eBG_common.c:2032:113: error: unknown type name ‘int64’
 void bg_save_ranking(struct ebg_save_data *esdb, struct Sql *mysql_handle, int char_id, struct sd_p_data *data, int64 save_type)
                                                                                                                 ^
Makefile:105: recipe for target '../../plugins/eBG_common.so' failed

 

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

×
×
  • Create New...

Important Information

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