diff options
Diffstat (limited to 'src/map/npc.c')
-rw-r--r-- | src/map/npc.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/src/map/npc.c b/src/map/npc.c index 3a00b38ea..a8bf7d371 100644 --- a/src/map/npc.c +++ b/src/map/npc.c @@ -1762,8 +1762,8 @@ static bool npc_trader_pay(struct npc_data *nd, struct map_session_data *sd, int snprintf(evname, EVENT_NAME_LENGTH, "%s::OnPayFunds",nd->exname); if ( (ev = strdb_get(npc->ev_db, evname)) ) { - pc->setreg(sd,script->add_str("@price"),price); - pc->setreg(sd,script->add_str("@points"),points); + pc->setreg(sd,script->add_variable("@price"),price); + pc->setreg(sd,script->add_variable("@points"),points); script->run_npc(ev->nd->u.scr.script, ev->pos, sd->bl.id, ev->nd->bl.id); } else ShowError("npc_trader_pay: '%s' event '%s' not found, operation failed\n",nd->exname,evname); @@ -2272,10 +2272,11 @@ static int npc_selllist(struct map_session_data *sd, struct itemlist *item_list) } } - pc->delitem(sd, idx, entry->amount, 0, DELITEM_SOLD, LOG_TYPE_NPC); - // Achievements [Smokexyz/Hercules] achievement->validate_item_sell(sd, sd->status.inventory[idx].nameid, entry->amount); + + pc->delitem(sd, idx, entry->amount, 0, DELITEM_SOLD, LOG_TYPE_NPC); + } if (z + sd->status.zeny > MAX_ZENY && nd->master_nd == NULL) @@ -2867,7 +2868,7 @@ static const char *npc_parse_shop(const char *w1, const char *w2, const char *w3 struct npc_item_list *items = NULL; size_t items_count = 40; // Starting items size - char *p; + const char *p; int x, y, dir, m, i, class_; struct npc_data *nd; enum npc_subtype type; @@ -4979,6 +4980,7 @@ static int npc_reload(void) instance->reload(); + map->zone_reload(); map->zone_init(); npc->motd = npc->name2id("HerculesMOTD"); /* [Ind/Hercules] */ |