From c84363d21866adb6d0fc994c0f44cc3fdce87350 Mon Sep 17 00:00:00 2001 From: AnnieRuru Date: Wed, 3 Sep 2014 08:40:58 +0800 Subject: Add *getguildmember script command its so frustrating that rathena already having this for month, but we don't have =/ https://github.com/rathena/rathena/commit/eba1539 --- src/map/script.c | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) (limited to 'src') diff --git a/src/map/script.c b/src/map/script.c index 2c893219c..cbea20e55 100644 --- a/src/map/script.c +++ b/src/map/script.c @@ -7406,6 +7406,49 @@ BUILDIN(getguildmasterid) return true; } +/*========================================== + * Get the information of the members of a guild by type. + * getguildmember {,}; + * @param guild_id: ID of guild + * @param type: + * 0 : name (default) + * 1 : character ID + * 2 : account ID + *------------------------------------------*/ +BUILDIN(getguildmember) +{ + struct guild *g = NULL; + int j = 0; + + g = guild->search(script_getnum(st,2)); + + if (g) { + int i, type = 0; + + if (script_hasdata(st,3)) + type = script_getnum(st,3); + + for ( i = 0; i < MAX_GUILD; i++ ) { + if ( g->member[i].account_id ) { + switch (type) { + case 2: + mapreg->setreg(reference_uid(script->add_str("$@guildmemberaid"), j),g->member[i].account_id); + break; + case 1: + mapreg->setreg(reference_uid(script->add_str("$@guildmembercid"), j), g->member[i].char_id); + break; + default: + mapreg->setregstr(reference_uid(script->add_str("$@guildmembername$"), j), g->member[i].name); + break; + } + j++; + } + } + } + mapreg->setreg(script->add_str("$@guildmembercount"), j); + return true; +} + /*========================================== * Get char string information by type : * Return by @type : @@ -18800,6 +18843,7 @@ void script_parse_builtin(void) { BUILDIN_DEF(getguildname,"i"), BUILDIN_DEF(getguildmaster,"i"), BUILDIN_DEF(getguildmasterid,"i"), + BUILDIN_DEF(getguildmember,"i?"), BUILDIN_DEF(strcharinfo,"i"), BUILDIN_DEF(strnpcinfo,"i"), BUILDIN_DEF(getequipid,"i"), -- cgit v1.2.3-60-g2f50