Скрипт. команда party_create(); для Hercules.
Оригинал с rAthena взят, просто совсем чуток переделал.
Может попозже и остальные сделаю.
BUILDIN(party_create)
{
char party_name[NAME_LENGTH];
int item1 = 0, item2 = 0;
TBL_PC *sd;
if( (!script_hasdata(st,3) && !(sd = script->rid2sd(st))) || (script_hasdata(st,3) && !(sd = map->charid2sd(script_getnum(st,3)))) ) {
script_pushint(st,-1);
return false;
}
if( sd->status.party_id ) {
script_pushint(st,-2);
return false;
}
safestrncpy(party_name,script_getstr(st,2),NAME_LENGTH);
trim(party_name);
if( party->searchname(party_name) ) {
script_pushint(st,-3);
return false;
}
if( script_getnum(st,4) )
item1 = 1;
if( script_getnum(st,5) )
item2 = 1;
script_pushint(st,party->create(sd,party_name,item1,item2));
return true;
}
BUILDIN_DEF(party_create,"s???"),
*party_create("<party name>"{,<character id>{,<item share>,<item share type>}});
Organizes a party with the attached or specified character as leader. If
successful, the command returns 1.
Additionally, item sharing options can be provided:
- Item Share: 0-Each Take (default), 1-Party Share
- Item Share Type: 0-Each Take (default), 1-Even Share
These values are returned upon failure:
0: Unknown error.
-1: Player not found.
-2: Player already has a party.
-3: Party name exists.