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