Hercules Battlegrounds

Are these normal?

Spams announcement?
bgannounce.jpg


rush_casXX map? I did recache mapcache.dat

hercwarning.jpg


 
Last edited by a moderator:
Are these normal?

Spams announcement?

bgannounce.jpg


rush_casXX map? I did recache mapcache.dat

hercwarning.jpg
The announces are on purpose, you can change the timing in the bg_common.txt script.
at which part?
bg_common.txt line 151

// Rotate every n seconds.
OnTimer5000:

Being 5000 the miliseconds of rotation and announces
I see, haha I thought there were some kind of a config or something.... thanks for pointing that out for me
default_biggrin.png
much appreciated

 
I mean latest commit of the hBG repository.
Can you maybe extract it again and try?

>I find another think, when you take a Flag or a Stone, i see that you can use skill and normaly it's not possible. I find this :

http://herc.ws/board/topic/11020-add-pcblockattack-pcblockskill-pcblockchat-pcimmune-script-commands/

i don't know if you can add this in your plugin. 

i've add this in my emulator and it work nicely !
This is a separate function. Maybe another plugin could incorporate this. I'd like to keep hBG as free of unrelated things as possible.

Nice work, no more map crash.

I have some other issue .

-Rush: If a team break the Emperium, the other team may be warp to the therapist, no ?

I think it's about this ^^

-Bossnia: MvP are not immune when the center flag is neutral. 

Error in console is :

ab5280f532.png


And the MvP name is not the same as MvP Sprite. For this it's just in mob_avail.txt

-Guild Skill have no ACD
These look like simple script issues, maybe someone could push a PR with fixes (if they are so generous). Or if in the future I find the time for it I will add it in.
For console error, yes it's "easy" to fix it, maybe i can give you the line that i've add ?

But for the after cast delay of guild skill i think it's in the hBG.c :

line 3702: guild->block_skill(sd, skill->get_time2(*skill_id, *skill_lv));

It's special acd for guild skill, but i don't know how to fix it in the plugin ^^'

And for monster immunity, it look like to be in hBG.c too : because in the script, the command script hBG_monster_immunity is correctly config.

 
Well team dethmatch warning not fixed, it still keep spamming console after player get killed every time.

Suggestion:

After stopping BG using @bgstop command, while BG is running and then start again, it does not rotate BG modes.

 
Last edited by a moderator:
For deathmatch it's about this :

set .@guillaume, hBG_get_data($@BG_Team1, 0);
set .@croix, hBG_get_data($@BG_Team2, 0);

i change to :

    
.@guillaume = hBG_get_data($@BG_Team1, 0);
.@croix = hBG_get_data($@BG_Team2, 0);

and no more spam in console ^^
 
 
Last edited by a moderator:
Hi ! for the After cast delay of guild skill i've fix it :
 

int skillnotok_pre(uint16 *skill_id, struct map_session_data **sd)
{
int16 idx, m;
nullpo_retr(1, *sd);
m = (*sd)->bl.m;
idx = skill->get_index(*skill_id);

if (idx == 0)
return 1;

if (map->list[m].flag.battleground && *skill_id >= GD_SKILLBASE && *skill_id <= GD_DEVELOPMENT)
if ((*sd)->blockskill[idx] || !(map->list[m].flag.battleground)) {
clif->skill_fail(*sd, *skill_id, USESKILL_FAIL_SKILLINTERVAL, 0);
hookStop();
return 1;
}
return 0;

return (map->list[m].flag.noskill);

but for the hBg_monster_immunity flag, i've tryed somethings but it result nothing ^^'

 
Last edited by a moderator:
Hi ! for the After cast delay of guild skill i've fix it :
Try to make a Pull Request.

but for the hBg_monster_immunity flag, i've tryed somethings but it result nothing ^^'
Flag is ok, monster have state.immunity, but this state doesn't do anything.

It's neccesary to add a Post-Hook like this:

http://upaste.me/96ab2190644336d95#LC209

I'd like do it, but I have poor knowledge about src/plugin, and this seems serious.

EDIT:

I finally decided to try fix it and I did a Pull Request with the changes.

https://github.com/Smokexyz/HerculesBG/pull/10

 
Last edited by a moderator:
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... 
I made a command for switch BG Modes.

Open hBG\bg_common.txt and copy this before of OnBGStartCommand:

// @bgmode <1-10>
OnBGModeCommand:
.@X = atoi(.@atcmd_parameters$[0]);
if(.@X <= .TotalArenas+1 && .@X > 0){
if(.@X == 1)
set $BG_Index, rand(.TotalArenas)-1;
else
set $BG_Index, .@X-3;
message strcharinfo(0),"["+.BG_Names$[$BG_Index+1]+"] has been set.";
donpcevent "BG_Queue_Handler::OnRotate";
end;
}else{
message strcharinfo(0), "Usage: @bgmode <1-"+(.TotalArenas+1)+">";
dispbottom "#1 - Random Mode",0xFFFFFF;
for(.@i = 0; .@i<.TotalArenas; .@i++)
dispbottom "#"+(.@i+2)+" - "+.BG_Names$[.@i],.BG_Color2[.@i];
end;
}
Find /* Player Commands */ and copy above: 

bindatcmd "bgmode","BG_Queue_Handler::OnBGModeCommand",99,99;
Finally find // Team Building Mode : and copy above:  

Code:
// Battleground @bgrotate colors.
	setarray .BG_Color2[0],         0x2F9F2D,      0xAA00FF,      0xFF0033,     0x33FF99,   0x3399FF,  0xFFA500,    0x9ACD32,    0x4169E1,   0xDDA0DD;

Code:
Usage: @bgmode <1-10>
#1 - Random Mode
#2 - Capture the Flag
#3 - Eye of Storm
#4 - Triple Inferno
#5 - Team DeathMatch
#6 - Bossnia
#7 - Conquest
#8 - Stone Control
#9 - Domination
#10 - Rush
 
Hi, i don't know how use the pull request, i'm on github since somes day for my server ^^
And for the immunity check it doesn't work ^^'.
So after many try and research(i'm bad in C ^^'), i've finaly fix it

Code:
BUILDIN(hBG_monster_immunity)
{
	
	struct mob_data *md;
	struct block_list *mbl;
	struct hBG_mob_data *hBGmd;

	int id = script_getnum(st, 2),
	flag = script_getnum(st, 3);

		if (id == 0 || (mbl = map->id2bl(id)) == NULL || mbl->type != BL_MOB) {
			script_pushint(st, 0);
			return false;
		}
		
		md = (TBL_MOB *)mbl;

		if (!(hBGmd = getFromMOBDATA(md, 0))) {
			CREATE(hBGmd, struct hBG_mob_data, 1);
			addToMOBDATA(md, hBGmd, 0, true);
		}
		hBGmd->state.immunity = flag;

	return true;
}
Code:
int battle_check_target_post(int retVal, struct block_list *src, struct block_list *target, int flag) {
	
	if (retVal == 1 && target->type == BL_MOB) {
		struct hBG_mob_data *hBGmd;
		if ((hBGmd = getFromMOBDATA((TBL_MOB*)target, 0)))
			if (hBGmd && (hBGmd->state.immunity > 0)) {
				return -1;
			}
	}
	return retVal;
}
 
Last edited by a moderator:
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'.
I fixed this error and made a PR.

https://github.com/Smokexyz/HerculesBG/pull/11

I'd like @Smoke could check it. Maybe I'm wrong in something.

 
Hi guys. I'm not involved in the project, just wanna give a message to those replying:

Please construct your complaints/criticism/issues in an organised fashion. This is an important project and we don't wanna burn these guys out!

ty

 
   1: RUSH: when one team conquers the emperium the other is not teleported to the door.

   2 : Everyone is able to give Call urgently, not only the leader.
 
Smoke

other error!

W0yOD6yg.png


 
Last edited by a moderator:
I've got this errors  i don't know what to do, help me !!

Compiled with vs2012 express..

1>c:\users\murillo\desktop\hercules-masterpri\src\plugins\hbg.c(1071): warning C4018: '<' : signed/unsigned mismatch
1>c:\users\murillo\desktop\hercules-masterpri\src\plugins\hbg.c(2058): warning C4018: '<' : signed/unsigned mismatch
1>c:\users\murillo\desktop\hercules-masterpri\src\plugins\hbg.c(2059): warning C4018: '<' : signed/unsigned mismatch
1>c:\users\murillo\desktop\hercules-masterpri\src\plugins\hbg.c(2533): warning C4018: '>=' : signed/unsigned mismatch
1>c:\users\murillo\desktop\hercules-masterpri\src\plugins\hbg.c(2591): warning C4018: '<' : signed/unsigned mismatch
1>c:\users\murillo\desktop\hercules-masterpri\src\plugins\hbg.c(2597): warning C4018: '<' : signed/unsigned mismatch
1>c:\users\murillo\desktop\hercules-masterpri\src\plugins\hbg.c(2603): error C2143: syntax error : missing ';' before 'type'
1>c:\users\murillo\desktop\hercules-masterpri\src\plugins\hbg.c(2604): error C2065: 'i' : undeclared identifier
1>c:\users\murillo\desktop\hercules-masterpri\src\plugins\hbg.c(2605): error C2065: 'i' : undeclared identifier
1>c:\users\murillo\desktop\hercules-masterpri\src\plugins\hbg.c(2624): error C2143: syntax error : missing ';' before 'type'
1>c:\users\murillo\desktop\hercules-masterpri\src\plugins\hbg.c(2625): error C2143: syntax error : missing ';' before 'type'
1>c:\users\murillo\desktop\hercules-masterpri\src\plugins\hbg.c(2627): error C2065: 'i' : undeclared identifier
1>c:\users\murillo\desktop\hercules-masterpri\src\plugins\hbg.c(2628): error C2065: 'i' : undeclared identifier
1>c:\users\murillo\desktop\hercules-masterpri\src\plugins\hbg.c(2631): error C2065: 'pos' : undeclared identifier
1>c:\users\murillo\desktop\hercules-masterpri\src\plugins\hbg.c(2631): error C2065: 'i' : undeclared identifier
1>c:\users\murillo\desktop\hercules-masterpri\src\plugins\hbg.c(2633): error C2065: 'qm' : undeclared identifier
1>c:\users\murillo\desktop\hercules-masterpri\src\plugins\hbg.c(2633): error C2065: 'pos' : undeclared identifier
1>c:\users\murillo\desktop\hercules-masterpri\src\plugins\hbg.c(2633): warning C4047: '=' : 'int' differs in levels of indirection from 'hBG_queue_member *'
1>c:\users\murillo\desktop\hercules-masterpri\src\plugins\hbg.c(2633): warning C4047: '==' : 'int' differs in levels of indirection from 'void *'
1>c:\users\murillo\desktop\hercules-masterpri\src\plugins\hbg.c(2633): error C2223: left of '->sd' must point to struct/union
1>c:\users\murillo\desktop\hercules-masterpri\src\plugins\hbg.c(2727): warning C4018: '<' : signed/unsigned mismatch
1>c:\users\murillo\desktop\hercules-masterpri\src\plugins\hbg.c(3732): warning C4018: '<' : signed/unsigned mismatch
1>c:\users\murillo\desktop\hercules-masterpri\src\plugins\hbg.c(3734): warning C4018: '<' : signed/unsigned mismatch
1>c:\users\murillo\desktop\hercules-masterpri\src\plugins\hbg.c(3872): warning C4018: '<' : signed/unsigned mismatch
 
I've got this errors  i don't know what to do, help me !!

Compiled with vs2012 express..

1>c:\users\murillo\desktop\hercules-masterpri\src\plugins\hbg.c(1071): warning C4018: '<' : signed/unsigned mismatch
1>c:\users\murillo\desktop\hercules-masterpri\src\plugins\hbg.c(2058): warning C4018: '<' : signed/unsigned mismatch
1>c:\users\murillo\desktop\hercules-masterpri\src\plugins\hbg.c(2059): warning C4018: '<' : signed/unsigned mismatch
1>c:\users\murillo\desktop\hercules-masterpri\src\plugins\hbg.c(2533): warning C4018: '>=' : signed/unsigned mismatch
1>c:\users\murillo\desktop\hercules-masterpri\src\plugins\hbg.c(2591): warning C4018: '<' : signed/unsigned mismatch
1>c:\users\murillo\desktop\hercules-masterpri\src\plugins\hbg.c(2597): warning C4018: '<' : signed/unsigned mismatch
1>c:\users\murillo\desktop\hercules-masterpri\src\plugins\hbg.c(2603): error C2143: syntax error : missing ';' before 'type'
1>c:\users\murillo\desktop\hercules-masterpri\src\plugins\hbg.c(2604): error C2065: 'i' : undeclared identifier
1>c:\users\murillo\desktop\hercules-masterpri\src\plugins\hbg.c(2605): error C2065: 'i' : undeclared identifier
1>c:\users\murillo\desktop\hercules-masterpri\src\plugins\hbg.c(2624): error C2143: syntax error : missing ';' before 'type'
1>c:\users\murillo\desktop\hercules-masterpri\src\plugins\hbg.c(2625): error C2143: syntax error : missing ';' before 'type'
1>c:\users\murillo\desktop\hercules-masterpri\src\plugins\hbg.c(2627): error C2065: 'i' : undeclared identifier
1>c:\users\murillo\desktop\hercules-masterpri\src\plugins\hbg.c(2628): error C2065: 'i' : undeclared identifier
1>c:\users\murillo\desktop\hercules-masterpri\src\plugins\hbg.c(2631): error C2065: 'pos' : undeclared identifier
1>c:\users\murillo\desktop\hercules-masterpri\src\plugins\hbg.c(2631): error C2065: 'i' : undeclared identifier
1>c:\users\murillo\desktop\hercules-masterpri\src\plugins\hbg.c(2633): error C2065: 'qm' : undeclared identifier
1>c:\users\murillo\desktop\hercules-masterpri\src\plugins\hbg.c(2633): error C2065: 'pos' : undeclared identifier
1>c:\users\murillo\desktop\hercules-masterpri\src\plugins\hbg.c(2633): warning C4047: '=' : 'int' differs in levels of indirection from 'hBG_queue_member *'
1>c:\users\murillo\desktop\hercules-masterpri\src\plugins\hbg.c(2633): warning C4047: '==' : 'int' differs in levels of indirection from 'void *'
1>c:\users\murillo\desktop\hercules-masterpri\src\plugins\hbg.c(2633): error C2223: left of '->sd' must point to struct/union
1>c:\users\murillo\desktop\hercules-masterpri\src\plugins\hbg.c(2727): warning C4018: '<' : signed/unsigned mismatch
1>c:\users\murillo\desktop\hercules-masterpri\src\plugins\hbg.c(3732): warning C4018: '<' : signed/unsigned mismatch
1>c:\users\murillo\desktop\hercules-masterpri\src\plugins\hbg.c(3734): warning C4018: '<' : signed/unsigned mismatch
1>c:\users\murillo\desktop\hercules-masterpri\src\plugins\hbg.c(3872): warning C4018: '<' : signed/unsigned mismatch
I got the same error, It was solved by compiling with MSVS 2015.

   1: RUSH: when one team conquers the emperium the other is not teleported to the door.
I solved this, see this PR.

 
1: Everyone inside the battlegrounds can use the urgent call, not just the leader.
2: Emblems are not appearing at the top of the characters using the most current version of Hercules.
Ao5ewua.png


3: When using alt + g does not appear the guild that you belong to the Battlegrounds, is appearing the outside.

4: emergency call is pulling players even after being out of battlegrounds.

It is having a possible crash on the map-server that I have not yet identified, if someone has the same problem and can share if it's just me would be grateful.

 
Back
Top