Clean-up
This commit is contained in:
parent
b5413b0997
commit
b0456b0e73
@ -4446,7 +4446,6 @@ you have maximum. Like 'heal', this will not call up any animations or effects.
|
||||
*recovery <type>{,<option>,<revive_flag>{,<map name>}};
|
||||
|
||||
This command will revive and fully restore the HP/SP of the selected characters.
|
||||
It returns 1 upon successful use.
|
||||
|
||||
<type> is the target, and determines the <option> parameter:
|
||||
0: Player -> Character ID number
|
||||
@ -6484,8 +6483,7 @@ the invoking character. Example can be found in the wedding script.
|
||||
|
||||
This function will "un-marry" the invoking character from whoever they were
|
||||
married to. Both will no longer be each other's marriage partner, (at least in
|
||||
current SVN, which prevents the cases of multi-spouse problems). It will return
|
||||
1 upon success or 0 if the character was not married at all.
|
||||
current SVN, which prevents the cases of multi-spouse problems).
|
||||
|
||||
This function will also destroy both wedding rings and send a message to both
|
||||
players, telling them they are now divorced.
|
||||
@ -7070,9 +7068,6 @@ the invoking NPC's actions, such as using an emotion or talking.
|
||||
Whichever of the both NPCs is talked to, both will show a random emotion at the
|
||||
same time.
|
||||
|
||||
As of r16564, command now returns 1 or 0 on success and failure.
|
||||
A debug message also shows on the console when no events are triggered.
|
||||
|
||||
---------------------------------------
|
||||
|
||||
*cmdothernpc "<npc name>","<command>";
|
||||
@ -7080,8 +7075,6 @@ A debug message also shows on the console when no events are triggered.
|
||||
This is simply "donpcevent <npc name>::OnCommand<command>".
|
||||
It is an approximation of official server script language's 'cmdothernpc'.
|
||||
|
||||
Returns true if the command was executed on the other NPC successfully, false if not.
|
||||
|
||||
---------------------------------------
|
||||
|
||||
*npctalk "<message>"{,"<NPC name>",<flag>{,<color>}};
|
||||
|
||||
@ -657,7 +657,7 @@ static unsigned int calc_hash(const char* p)
|
||||
return h % SCRIPT_HASH_SIZE;
|
||||
}
|
||||
|
||||
bool script_check_RegistryVariableLength(int pType, const char *val, size_t* vlen)
|
||||
bool script_check_RegistryVariableLength(int pType, const char *val, size_t* vlen)
|
||||
{
|
||||
size_t len = strlen(val);
|
||||
|
||||
@ -2968,7 +2968,7 @@ unsigned int script_array_highest_key(struct script_state *st, map_session_data
|
||||
return sa->size ? highest_key + 1 : 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
return SCRIPT_CMD_SUCCESS;
|
||||
}
|
||||
|
||||
@ -3572,19 +3572,19 @@ void pop_stack(struct script_state* st, int start, int end)
|
||||
}else if( st->start > start ){
|
||||
st->start = start;
|
||||
}
|
||||
|
||||
|
||||
if( st->end > end ){
|
||||
st->end -= end - start;
|
||||
}else if( st->end > start ){
|
||||
st->end = start;
|
||||
}
|
||||
|
||||
|
||||
if( stack->defsp > end ){
|
||||
stack->defsp -= end - start;
|
||||
}else if( stack->defsp > start ){
|
||||
stack->defsp = start;
|
||||
}
|
||||
|
||||
|
||||
stack->sp -= end - start;
|
||||
}
|
||||
|
||||
@ -3642,7 +3642,7 @@ struct script_state* script_alloc_state(struct script_code* rootscript, int pos,
|
||||
st->oid = oid;
|
||||
st->sleep.timer = INVALID_TIMER;
|
||||
st->npc_item_flag = battle_config.item_enabled_npc;
|
||||
|
||||
|
||||
if( st->script->instances != USHRT_MAX )
|
||||
st->script->instances++;
|
||||
else {
|
||||
@ -6344,7 +6344,7 @@ BUILDIN_FUNC(cleararray)
|
||||
set_reg_num( st, sd, reference_uid( id, start ), name, value, script_getref( st,2 ) );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
return SCRIPT_CMD_SUCCESS;
|
||||
}
|
||||
|
||||
@ -6554,14 +6554,14 @@ BUILDIN_FUNC(deletearray)
|
||||
list = script_array_cpy_list(sa);
|
||||
size = sa->size;
|
||||
qsort(list, size, sizeof(unsigned int), script_array_index_cmp);
|
||||
|
||||
|
||||
ARR_FIND(0, size, i, list[i] >= start);
|
||||
|
||||
|
||||
for( ; i < size && list[i] < start + count; i++ ) {
|
||||
// Clear any entries between start and start+count, if they exist
|
||||
clear_reg( st, sd, reference_uid( id, list[i] ), name, reference_getref( data ) );
|
||||
}
|
||||
|
||||
|
||||
for( ; i < size && list[i] < end; i++ ) {
|
||||
// Move back count positions any entries between start+count to fill the gaps
|
||||
if( is_string ){
|
||||
@ -6582,7 +6582,7 @@ BUILDIN_FUNC(deletearray)
|
||||
unsigned int *list = NULL, size = 0;
|
||||
list = script_array_cpy_list(sa);
|
||||
size = sa->size;
|
||||
|
||||
|
||||
for(i = 0; i < size; i++) {
|
||||
if( list[i] >= start ) // Less expensive than sorting it, most likely
|
||||
clear_reg( st, sd, reference_uid( id, list[i] ), name, reference_getref( data ) );
|
||||
@ -6692,7 +6692,7 @@ BUILDIN_FUNC(inarray)
|
||||
if( temp == value ){
|
||||
script_pushint( st, i );
|
||||
return SCRIPT_CMD_SUCCESS;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -7010,7 +7010,7 @@ static bool script_getitem_randomoption(struct script_state *st, map_session_dat
|
||||
opt_id_idx = reference_getindex(opt_id);
|
||||
opt_val_idx = reference_getindex(opt_val);
|
||||
opt_param_idx = reference_getindex(opt_param);
|
||||
|
||||
|
||||
for (i = 0; i < opt_id_n && i < MAX_ITEM_RDM_OPT; i++) {
|
||||
it->option[i].id = (short)get_val2_num( st, reference_uid( opt_id_id, opt_id_idx + i ), opt_id_ref );
|
||||
it->option[i].value = (short)get_val2_num( st, reference_uid( opt_val_id, opt_val_idx + i ), opt_val_ref );
|
||||
@ -7456,7 +7456,7 @@ BUILDIN_FUNC(checkweight2)
|
||||
int nb_it, nb_nb; //array size
|
||||
|
||||
TBL_PC *sd;
|
||||
|
||||
|
||||
if (!script_rid2sd(sd))
|
||||
return SCRIPT_CMD_FAILURE;
|
||||
|
||||
@ -7683,7 +7683,7 @@ BUILDIN_FUNC(getitem2)
|
||||
if (strcmpi(command,"getitem3") == 0) {
|
||||
offset = 11;
|
||||
aid_pos = 14;
|
||||
}
|
||||
}
|
||||
if (strcmpi(command,"getitem4") == 0) {
|
||||
grade_offset = 11;
|
||||
offset = 12;
|
||||
@ -7770,7 +7770,7 @@ BUILDIN_FUNC(getitem2)
|
||||
}
|
||||
|
||||
int get_count = 0;
|
||||
|
||||
|
||||
//Check if it's stackable.
|
||||
if( !itemdb_isstackable2( item_data.get() ) ){
|
||||
get_count = 1;
|
||||
@ -8148,7 +8148,7 @@ BUILDIN_FUNC(makeitem2) {
|
||||
}
|
||||
else
|
||||
m = map_mapname2mapid(mapname);
|
||||
|
||||
|
||||
struct item_data *id;
|
||||
|
||||
if ((id = itemdb_search(nameid))) {
|
||||
@ -8158,7 +8158,7 @@ BUILDIN_FUNC(makeitem2) {
|
||||
|
||||
char iden = (char)script_getnum(st,7);
|
||||
char ref = (char)script_getnum(st,8);
|
||||
char attr = (char)script_getnum(st,9);
|
||||
char attr = (char)script_getnum(st,9);
|
||||
|
||||
if (id->type==IT_WEAPON || id->type==IT_ARMOR || id->type==IT_SHADOWGEAR) {
|
||||
if(ref > MAX_REFINE)
|
||||
@ -8615,7 +8615,7 @@ BUILDIN_FUNC(delitem2)
|
||||
}
|
||||
it.enchantgrade = static_cast<e_enchantgrade>(grade);
|
||||
}
|
||||
|
||||
|
||||
bool res = script_getitem_randomoption(st, sd, &it, command, offset);
|
||||
if (!res)
|
||||
return SCRIPT_CMD_FAILURE;
|
||||
@ -8714,7 +8714,7 @@ BUILDIN_FUNC(readparam)
|
||||
}else{
|
||||
script_rid2sd(sd);
|
||||
}
|
||||
|
||||
|
||||
if( !sd ){
|
||||
return SCRIPT_CMD_FAILURE;
|
||||
}
|
||||
@ -8944,7 +8944,7 @@ BUILDIN_FUNC(getguildname)
|
||||
guild_id = script_getnum(st,2);
|
||||
if( ( g = guild_search(guild_id) ) != NULL )
|
||||
script_pushstrcopy(st,g->name);
|
||||
else
|
||||
else
|
||||
script_pushconststr(st,"null");
|
||||
return SCRIPT_CMD_SUCCESS;
|
||||
}
|
||||
@ -8961,7 +8961,7 @@ BUILDIN_FUNC(getguildmaster)
|
||||
guild_id = script_getnum(st,2);
|
||||
if( ( g = guild_search(guild_id) ) != NULL )
|
||||
script_pushstrcopy(st,g->member[0].name);
|
||||
else
|
||||
else
|
||||
script_pushconststr(st,"null");
|
||||
return SCRIPT_CMD_SUCCESS;
|
||||
}
|
||||
@ -10269,7 +10269,7 @@ BUILDIN_FUNC(end)
|
||||
if (sd){
|
||||
if (sd->state.callshop == 0)
|
||||
clif_scriptclose(sd, st->oid); // If a menu/select/prompt is active, close it.
|
||||
else
|
||||
else
|
||||
sd->state.callshop = 0;
|
||||
}
|
||||
|
||||
@ -10777,13 +10777,13 @@ BUILDIN_FUNC(guild_has_permission){
|
||||
}
|
||||
|
||||
int position = guild_getposition(sd);
|
||||
|
||||
|
||||
if( position < 0 || ( sd->guild->position[position].mode&permission ) != permission ){
|
||||
script_pushint( st, false );
|
||||
|
||||
return SCRIPT_CMD_SUCCESS;
|
||||
}
|
||||
|
||||
|
||||
script_pushint( st, true );
|
||||
|
||||
return SCRIPT_CMD_SUCCESS;
|
||||
@ -10910,7 +10910,7 @@ BUILDIN_FUNC(getexp){
|
||||
ShowError( "buildin_getexp: Called with negative base exp.\n" );
|
||||
return SCRIPT_CMD_FAILURE;
|
||||
}
|
||||
|
||||
|
||||
int64 job = script_getnum64( st, 3 );
|
||||
|
||||
if( job < 0 ){
|
||||
@ -11365,9 +11365,8 @@ BUILDIN_FUNC(donpcevent)
|
||||
if( !npc_event_do(event) ) {
|
||||
struct npc_data * nd = map_id2nd(st->oid);
|
||||
ShowDebug("NPCEvent '%s' not found! (source: %s)\n",event,nd?nd->name:"Unknown");
|
||||
script_pushint(st, 0);
|
||||
} else
|
||||
script_pushint(st, 1);
|
||||
return SCRIPT_CMD_FAILURE;
|
||||
}
|
||||
return SCRIPT_CMD_SUCCESS;
|
||||
}
|
||||
|
||||
@ -11382,12 +11381,10 @@ BUILDIN_FUNC(cmdothernpc) // Added by RoVeRT
|
||||
safesnprintf(event,EVENT_NAME_LENGTH, "%s::%s%s",npc,script_config.oncommand_event_name,command);
|
||||
check_event(st, event);
|
||||
|
||||
if( npc_event_do(event) ){
|
||||
script_pushint(st, true);
|
||||
}else{
|
||||
if( !npc_event_do(event) )
|
||||
struct npc_data * nd = map_id2nd(st->oid);
|
||||
ShowDebug("NPCEvent '%s' not found! (source: %s)\n", event, nd ? nd->name : "Unknown");
|
||||
script_pushint(st, false);
|
||||
return SCRIPT_CMD_FAILURE;
|
||||
}
|
||||
|
||||
return SCRIPT_CMD_SUCCESS;
|
||||
@ -11719,7 +11716,7 @@ BUILDIN_FUNC(announce)
|
||||
else
|
||||
bl = nullptr;
|
||||
}
|
||||
|
||||
|
||||
if (bl == nullptr)
|
||||
return SCRIPT_CMD_FAILURE;
|
||||
|
||||
@ -12840,7 +12837,7 @@ BUILDIN_FUNC(waitingroomkick)
|
||||
struct npc_data* nd;
|
||||
struct chat_data* cd;
|
||||
const char* kickusername;
|
||||
|
||||
|
||||
nd = npc_name2id(script_getstr(st,2));
|
||||
kickusername = script_getstr(st,3);
|
||||
|
||||
@ -12864,7 +12861,7 @@ BUILDIN_FUNC(getwaitingroomusers)
|
||||
nd = npc_name2id(script_getstr(st, 2));
|
||||
else
|
||||
nd = (struct npc_data *)map_id2bl(st->oid);
|
||||
|
||||
|
||||
if( nd != NULL && (cd=(struct chat_data *)map_id2bl(nd->chat_id)) != NULL ) {
|
||||
for(i = 0; i < cd->users; ++i) {
|
||||
setd_sub_num( st, NULL, ".@waitingroom_users", j, cd->usersd[i]->status.account_id, NULL );
|
||||
@ -13514,7 +13511,7 @@ BUILDIN_FUNC(emotion)
|
||||
|
||||
if (!bl)
|
||||
return SCRIPT_CMD_FAILURE;
|
||||
|
||||
|
||||
clif_emotion(bl, type);
|
||||
return SCRIPT_CMD_SUCCESS;
|
||||
}
|
||||
@ -13879,7 +13876,7 @@ BUILDIN_FUNC(successremovecards) {
|
||||
|
||||
for (int j = sd->inventory_data[i]->slots; j < MAX_SLOTS; j++)
|
||||
item_tmp.card[j]=sd->inventory.u.items_inventory[i].card[j];
|
||||
|
||||
|
||||
for (int j = 0; j < MAX_ITEM_RDM_OPT; j++){
|
||||
item_tmp.option[j].id=sd->inventory.u.items_inventory[i].option[j].id;
|
||||
item_tmp.option[j].value=sd->inventory.u.items_inventory[i].option[j].value;
|
||||
@ -13965,7 +13962,7 @@ BUILDIN_FUNC(failedremovecards) {
|
||||
|
||||
for (int j = sd->inventory_data[i]->slots; j < MAX_SLOTS; j++)
|
||||
item_tmp.card[j]=sd->inventory.u.items_inventory[i].card[j];
|
||||
|
||||
|
||||
for (int j = 0; j < MAX_ITEM_RDM_OPT; j++){
|
||||
item_tmp.option[j].id=sd->inventory.u.items_inventory[i].option[j].id;
|
||||
item_tmp.option[j].value=sd->inventory.u.items_inventory[i].option[j].value;
|
||||
@ -14119,10 +14116,9 @@ BUILDIN_FUNC(divorce)
|
||||
if (!script_charid2sd(2, sd))
|
||||
return SCRIPT_CMD_FAILURE;
|
||||
|
||||
if (!pc_divorce(sd)) {
|
||||
if (!pc_divorce(sd))
|
||||
return SCRIPT_CMD_FAILURE;
|
||||
}
|
||||
script_pushint(st,1);
|
||||
|
||||
return SCRIPT_CMD_SUCCESS;
|
||||
}
|
||||
|
||||
@ -14136,11 +14132,10 @@ BUILDIN_FUNC(ispartneron)
|
||||
if (!script_charid2sd(2, sd))
|
||||
return SCRIPT_CMD_FAILURE;
|
||||
|
||||
if (!pc_ismarried(sd) || map_charid2sd(sd->status.partner_id) == NULL) {
|
||||
return SCRIPT_CMD_FAILURE;
|
||||
}
|
||||
|
||||
script_pushint(st,1);
|
||||
if (!pc_ismarried(sd) || map_charid2sd(sd->status.partner_id) == NULL)
|
||||
script_pushint(st,0);
|
||||
else
|
||||
script_pushint(st,1);
|
||||
return SCRIPT_CMD_SUCCESS;
|
||||
}
|
||||
|
||||
@ -15219,10 +15214,10 @@ BUILDIN_FUNC(skilleffect)
|
||||
{
|
||||
TBL_PC *sd;
|
||||
uint16 skill_id, skill_lv;
|
||||
|
||||
|
||||
if (!script_rid2sd(sd))
|
||||
return SCRIPT_CMD_FAILURE;
|
||||
|
||||
|
||||
skill_id = ( script_isstring(st, 2) ? skill_name2id(script_getstr(st,2)) : script_getnum(st,2) );
|
||||
skill_lv = script_getnum(st,3);
|
||||
|
||||
@ -15466,7 +15461,7 @@ BUILDIN_FUNC(atcommand) {
|
||||
|
||||
/** Displays a message for the player only (like system messages like "you got an apple" )
|
||||
* dispbottom("<message>"{,<color>{,<char_id>}})
|
||||
* @param message
|
||||
* @param message
|
||||
* @param color Hex color default (Green)
|
||||
*/
|
||||
BUILDIN_FUNC(dispbottom)
|
||||
@ -15622,7 +15617,6 @@ BUILDIN_FUNC(recovery)
|
||||
ShowWarning("script: buildin_recovery: Invalid type %d\n", type);
|
||||
return SCRIPT_CMD_FAILURE;
|
||||
}
|
||||
script_pushint(st,1); //Successfully executed without errors
|
||||
return SCRIPT_CMD_SUCCESS;
|
||||
}
|
||||
|
||||
@ -16905,7 +16899,7 @@ BUILDIN_FUNC(implode)
|
||||
script_reportdata(data);
|
||||
return SCRIPT_CMD_FAILURE;// data type mismatch
|
||||
}
|
||||
|
||||
|
||||
map_session_data* sd = nullptr;
|
||||
|
||||
if( not_server_variable(*name) && !script_rid2sd(sd) ) {
|
||||
@ -18166,12 +18160,12 @@ BUILDIN_FUNC(getrandmobid)
|
||||
int lv;
|
||||
if ( script_hasdata(st, 4) ) {
|
||||
lv = script_getnum(st, 4);
|
||||
|
||||
|
||||
if (lv <= 0) {
|
||||
ShowWarning("buildin_getrandmobid: Invalid level %d.\n", lv);
|
||||
return SCRIPT_CMD_FAILURE;
|
||||
}
|
||||
|
||||
|
||||
// If a level is provided, make sure it is respected
|
||||
flag |= RMF_CHECK_MOB_LV;
|
||||
} else {
|
||||
@ -19514,7 +19508,7 @@ BUILDIN_FUNC(unitwalk)
|
||||
struct unit_data *ud = NULL;
|
||||
const char *cmd = script_getfuncname(st), *done_label = "";
|
||||
uint8 off = 5;
|
||||
|
||||
|
||||
if (!script_rid2bl(2, bl))
|
||||
return SCRIPT_CMD_FAILURE;
|
||||
|
||||
@ -19884,7 +19878,7 @@ BUILDIN_FUNC(sleep)
|
||||
st->state = RERUNLINE;
|
||||
st->sleep.tick = ticks;
|
||||
// Second call(by timer after sleeping time is over)
|
||||
} else {
|
||||
} else {
|
||||
// Continue the script
|
||||
st->state = RUN;
|
||||
st->sleep.tick = 0;
|
||||
@ -19914,12 +19908,12 @@ BUILDIN_FUNC(sleep2)
|
||||
ShowError( "buildin_sleep2: no unit is attached\n" );
|
||||
return SCRIPT_CMD_FAILURE;
|
||||
}
|
||||
|
||||
|
||||
// sleep for the target amount of time
|
||||
st->state = RERUNLINE;
|
||||
st->sleep.tick = ticks;
|
||||
// Second call(by timer after sleeping time is over)
|
||||
} else {
|
||||
} else {
|
||||
// Check if the unit is still attached
|
||||
// NOTE: This should never happen, since run_script_timer already checks this
|
||||
if (map_id2bl(st->rid) == NULL) {
|
||||
@ -20268,7 +20262,7 @@ BUILDIN_FUNC(mercenary_delete)
|
||||
return SCRIPT_CMD_FAILURE;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
mercenary_delete(sd->md, type);
|
||||
|
||||
return SCRIPT_CMD_SUCCESS;
|
||||
@ -20556,7 +20550,7 @@ BUILDIN_FUNC(questinfo_refresh)
|
||||
if (!script_charid2sd(2, sd))
|
||||
return SCRIPT_CMD_FAILURE;
|
||||
|
||||
pc_show_questinfo(sd);
|
||||
pc_show_questinfo(sd);
|
||||
return SCRIPT_CMD_SUCCESS;
|
||||
}
|
||||
|
||||
@ -20579,7 +20573,7 @@ BUILDIN_FUNC(setquest)
|
||||
}
|
||||
|
||||
//20120410 or 20090218 ? no reason that shouldn't work for 2009
|
||||
pc_show_questinfo(sd);
|
||||
pc_show_questinfo(sd);
|
||||
return SCRIPT_CMD_SUCCESS;
|
||||
}
|
||||
|
||||
@ -20597,7 +20591,7 @@ BUILDIN_FUNC(erasequest)
|
||||
script_reportsrc(st);
|
||||
script_reportfunc(st);
|
||||
}
|
||||
pc_show_questinfo(sd);
|
||||
pc_show_questinfo(sd);
|
||||
|
||||
return SCRIPT_CMD_SUCCESS;
|
||||
}
|
||||
@ -20624,7 +20618,7 @@ BUILDIN_FUNC(completequest)
|
||||
BUILDIN_FUNC(changequest)
|
||||
{
|
||||
map_session_data *sd;
|
||||
|
||||
|
||||
if (!script_charid2sd(4, sd))
|
||||
return SCRIPT_CMD_FAILURE;
|
||||
|
||||
@ -20859,7 +20853,7 @@ BUILDIN_FUNC(bg_create) {
|
||||
return SCRIPT_CMD_SUCCESS;
|
||||
}
|
||||
|
||||
/// Adds attached player or <char id> (if specified) to an existing
|
||||
/// Adds attached player or <char id> (if specified) to an existing
|
||||
/// battleground group and warps it to the specified coordinates on
|
||||
/// the given map.
|
||||
/// bg_join(<battle group>,{"<map name>",<x>,<y>{,<char id>}});
|
||||
@ -21737,7 +21731,7 @@ BUILDIN_FUNC(instance_info)
|
||||
ShowError( "buildin_instance_info: Type IIT_MAP requires a numeric index argument.\n" );
|
||||
return SCRIPT_CMD_FAILURE;
|
||||
}
|
||||
|
||||
|
||||
index = script_getnum(st, 4);
|
||||
|
||||
if( index < 0 ){
|
||||
@ -22207,7 +22201,7 @@ BUILDIN_FUNC(showdigit)
|
||||
**/
|
||||
BUILDIN_FUNC(makerune) {
|
||||
TBL_PC* sd;
|
||||
|
||||
|
||||
if (!script_charid2sd(3, sd))
|
||||
return SCRIPT_CMD_FAILURE;
|
||||
|
||||
@ -22220,7 +22214,7 @@ BUILDIN_FUNC(makerune) {
|
||||
**/
|
||||
BUILDIN_FUNC(checkdragon) {
|
||||
TBL_PC* sd;
|
||||
|
||||
|
||||
if (!script_charid2sd(2, sd))
|
||||
return SCRIPT_CMD_FAILURE;
|
||||
|
||||
@ -22276,7 +22270,7 @@ BUILDIN_FUNC(setdragon) {
|
||||
**/
|
||||
BUILDIN_FUNC(ismounting) {
|
||||
TBL_PC* sd;
|
||||
|
||||
|
||||
if (!script_charid2sd(2, sd))
|
||||
return SCRIPT_CMD_FAILURE;
|
||||
|
||||
@ -22295,7 +22289,7 @@ BUILDIN_FUNC(ismounting) {
|
||||
**/
|
||||
BUILDIN_FUNC(setmounting) {
|
||||
TBL_PC* sd;
|
||||
|
||||
|
||||
if (!script_charid2sd(2, sd))
|
||||
return SCRIPT_CMD_FAILURE;
|
||||
|
||||
@ -22637,10 +22631,10 @@ BUILDIN_FUNC(getrandgroupitem) {
|
||||
BUILDIN_FUNC(getgroupitem) {
|
||||
TBL_PC *sd;
|
||||
int group_id = script_getnum(st,2);
|
||||
|
||||
|
||||
if (!script_charid2sd(4, sd))
|
||||
return SCRIPT_CMD_FAILURE;
|
||||
|
||||
|
||||
if (itemdb_group.pc_get_itemgroup(group_id, (script_hasdata(st, 3) ? script_getnum(st, 3) != 0 : false), sd)) {
|
||||
ShowError("buildin_getgroupitem: Invalid group id '%d' specified.\n",group_id);
|
||||
return SCRIPT_CMD_FAILURE;
|
||||
@ -22700,7 +22694,7 @@ BUILDIN_FUNC(npcskill)
|
||||
|
||||
if (!script_rid2sd(sd))
|
||||
return SCRIPT_CMD_FAILURE;
|
||||
|
||||
|
||||
if (script_isstring(st, 2)) {
|
||||
const char *name = script_getstr(st, 2);
|
||||
|
||||
@ -23122,7 +23116,7 @@ BUILDIN_FUNC(vip_time) {
|
||||
if (!script_nick2sd(3, sd))
|
||||
return SCRIPT_CMD_FAILURE;
|
||||
|
||||
chrif_req_login_operation(sd->status.account_id, sd->status.name, CHRIF_OP_LOGIN_VIP, viptime, 7, 0);
|
||||
chrif_req_login_operation(sd->status.account_id, sd->status.name, CHRIF_OP_LOGIN_VIP, viptime, 7, 0);
|
||||
#endif
|
||||
return SCRIPT_CMD_SUCCESS;
|
||||
}
|
||||
@ -23238,7 +23232,7 @@ BUILDIN_FUNC(bonus_script) {
|
||||
|
||||
if (!script_charid2sd(7, sd))
|
||||
return SCRIPT_CMD_FAILURE;
|
||||
|
||||
|
||||
script_str = script_getstr(st,2);
|
||||
dur = 1000 * abs(script_getnum(st,3));
|
||||
FETCH(4, flag);
|
||||
@ -23429,7 +23423,7 @@ BUILDIN_FUNC(addspiritball) {
|
||||
BUILDIN_FUNC(delspiritball) {
|
||||
uint8 count;
|
||||
map_session_data *sd = NULL;
|
||||
|
||||
|
||||
if (script_hasdata(st,3)) {
|
||||
if (!script_isstring(st,3))
|
||||
sd = map_charid2sd(script_getnum(st,3));
|
||||
@ -23591,7 +23585,7 @@ BUILDIN_FUNC(npcshopupdate) {
|
||||
if( !nd || ( nd->subtype != NPCTYPE_SHOP && nd->subtype != NPCTYPE_CASHSHOP && nd->subtype != NPCTYPE_ITEMSHOP && nd->subtype != NPCTYPE_POINTSHOP && nd->subtype != NPCTYPE_MARKETSHOP ) ) { // Not found.
|
||||
return SCRIPT_CMD_FAILURE;
|
||||
}
|
||||
|
||||
|
||||
if (!nd->u.shop.count) {
|
||||
ShowError("buildin_npcshopupdate: Attempt to update empty shop from '%s'.\n", nd->exname);
|
||||
return SCRIPT_CMD_FAILURE;
|
||||
@ -23924,10 +23918,10 @@ BUILDIN_FUNC(minmax){
|
||||
int64 value;
|
||||
// Function pointer for our comparison function (either min or max at the moment)
|
||||
int64 (*func)(int64, int64);
|
||||
|
||||
|
||||
// Get the real function name
|
||||
functionname = script_getfuncname(st);
|
||||
|
||||
|
||||
// Our data should start at offset 2
|
||||
i = 2;
|
||||
|
||||
@ -23950,7 +23944,7 @@ BUILDIN_FUNC(minmax){
|
||||
// As long as we have data on our script stack
|
||||
while( script_hasdata(st,i) ){
|
||||
struct script_data *data;
|
||||
|
||||
|
||||
// Get the next piece of data from the script stack
|
||||
data = script_getdata( st, i );
|
||||
|
||||
@ -23995,7 +23989,7 @@ BUILDIN_FUNC(minmax){
|
||||
// Skip empty arrays
|
||||
if( start < end ){
|
||||
int id;
|
||||
|
||||
|
||||
// For getting the values we need the id of the array
|
||||
id = reference_getid( data );
|
||||
|
||||
@ -24841,7 +24835,7 @@ BUILDIN_FUNC(channel_kick) {
|
||||
case CHAN_TYPE_MAP: res = channel_pcquit(tsd,4); break;
|
||||
default: res = channel_clean(ch,tsd,0); break;
|
||||
}
|
||||
|
||||
|
||||
if (res == 0) {
|
||||
char output[CHAT_SIZE_MAX+1];
|
||||
safesnprintf(output, CHAT_SIZE_MAX, msg_txt(tsd,889), ch->alias, tsd->status.name); // "%s %s is kicked"
|
||||
@ -25124,7 +25118,7 @@ BUILDIN_FUNC(achievementcomplete) {
|
||||
ShowWarning("buildin_achievementcomplete: Achievement '%d' doesn't exist.\n", achievement_id);
|
||||
return SCRIPT_CMD_FAILURE;
|
||||
}
|
||||
|
||||
|
||||
if( !sd->state.pc_loaded ){
|
||||
// Simply ignore it on the first call, because the status will be recalculated after loading anyway
|
||||
return SCRIPT_CMD_SUCCESS;
|
||||
@ -25563,7 +25557,7 @@ BUILDIN_FUNC(mail){
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Random Options
|
||||
if( !script_hasdata(st,11 + MAX_SLOTS) ){
|
||||
break;
|
||||
@ -25990,7 +25984,7 @@ BUILDIN_FUNC(naviregisterwarp) {
|
||||
link.hidden = nd->navi.hidden;
|
||||
|
||||
nd->links.push_back(link);
|
||||
|
||||
|
||||
#endif
|
||||
return SCRIPT_CMD_SUCCESS;
|
||||
}
|
||||
@ -26511,7 +26505,7 @@ BUILDIN_FUNC(itemlink)
|
||||
struct item item = {};
|
||||
|
||||
item.nameid = script_getnum(st, 2);
|
||||
|
||||
|
||||
if( !item_db.exists( item.nameid ) ){
|
||||
ShowError( "buildin_itemlink: Item ID %u does not exists.\n", item.nameid );
|
||||
return SCRIPT_CMD_FAILURE;
|
||||
@ -26538,7 +26532,7 @@ BUILDIN_FUNC(itemlink)
|
||||
BUILDIN_FUNC(mesitemlink){
|
||||
t_itemid nameid = script_getnum( st, 2 );
|
||||
std::shared_ptr<item_data> data = item_db.find( nameid );
|
||||
|
||||
|
||||
if( data == nullptr ){
|
||||
ShowError( "buildin_mesitemlink: Item ID %u does not exists.\n", nameid );
|
||||
return SCRIPT_CMD_FAILURE;
|
||||
@ -26573,7 +26567,7 @@ BUILDIN_FUNC(addfame) {
|
||||
|
||||
if (!pc_addfame(*sd, script_getnum(st, 2)))
|
||||
return SCRIPT_CMD_FAILURE;
|
||||
|
||||
|
||||
return SCRIPT_CMD_SUCCESS;
|
||||
}
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user