Fixes to Battleground script commands (#4764)
* Fixes #4763. * Cleans up script commands bg_getareausers and bg_get_data. Thanks to @voyfmyuh and @Lemongrass3110!
This commit is contained in:
@@ -19933,8 +19933,7 @@ BUILDIN_FUNC(bg_getareausers)
|
||||
{
|
||||
const char *str = script_getstr(st, 3);
|
||||
int16 m, x0, y0, x1, y1;
|
||||
int bg_id = script_getnum(st, 2);
|
||||
int i = 0, c = 0;
|
||||
int bg_id = script_getnum(st, 2), c = 0;
|
||||
std::shared_ptr<s_battleground_data> bg = util::umap_find(bg_team_db, bg_id);
|
||||
|
||||
if (!bg || (m = map_mapname2mapid(str)) < 0) {
|
||||
@@ -19947,12 +19946,8 @@ BUILDIN_FUNC(bg_getareausers)
|
||||
x1 = script_getnum(st,6);
|
||||
y1 = script_getnum(st,7);
|
||||
|
||||
for( i = 0; i < bg->members.size(); i++ )
|
||||
{
|
||||
struct map_session_data *sd;
|
||||
if( (sd = bg->members[i].sd) == NULL )
|
||||
continue;
|
||||
if( sd->bl.m != m || sd->bl.x < x0 || sd->bl.y < y0 || sd->bl.x > x1 || sd->bl.y > y1 )
|
||||
for (const auto &member : bg->members) {
|
||||
if( member.sd->bl.m != m || member.sd->bl.x < x0 || member.sd->bl.y < y0 || member.sd->bl.x > x1 || member.sd->bl.y > y1 )
|
||||
continue;
|
||||
c++;
|
||||
}
|
||||
@@ -19981,7 +19976,7 @@ BUILDIN_FUNC(bg_updatescore)
|
||||
|
||||
BUILDIN_FUNC(bg_get_data)
|
||||
{
|
||||
int bg_id = script_getnum(st,2), type = script_getnum(st,3), i;
|
||||
int bg_id = script_getnum(st,2), type = script_getnum(st,3), i = 0;
|
||||
std::shared_ptr<s_battleground_data> bg = util::umap_find(bg_team_db, bg_id);
|
||||
|
||||
if (bg) {
|
||||
@@ -19990,8 +19985,8 @@ BUILDIN_FUNC(bg_get_data)
|
||||
script_pushint(st, bg->members.size());
|
||||
break;
|
||||
case 1:
|
||||
for (i = 0; bg->members[i].sd != NULL; i++)
|
||||
mapreg_setreg(reference_uid(add_str("$@arenamembers"), i), bg->members[i].sd->bl.id);
|
||||
for (const auto &member : bg->members)
|
||||
mapreg_setreg(reference_uid(add_str("$@arenamembers"), i++), member.sd->bl.id);
|
||||
mapreg_setreg(add_str("$@arenamemberscount"), i);
|
||||
script_pushint(st, i);
|
||||
break;
|
||||
|
||||
Reference in New Issue
Block a user