From 5c201b1f0df178d6551210afcec7876f21c73bfe Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Sat, 15 Nov 2014 18:19:44 +0300 Subject: Impliment script function getItemLink. --- src/map/script.c | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) (limited to 'src/map/script.c') diff --git a/src/map/script.c b/src/map/script.c index 1671f5c..c8b41ac 100644 --- a/src/map/script.c +++ b/src/map/script.c @@ -154,3 +154,49 @@ BUILDIN(shop) clif->npcbuysell (sd, nd->bl.id); return true; } + +BUILDIN(getItemLink) +{ + struct item_data *i_data; + char *item_name; + struct script_data *data; + int item_id = 0; + + if (script_isstringtype(st, 2)) + { + i_data = itemdb->searchname (script_getstr(st, 2)); + } + else + { + item_id = script_getnum (st, 2); + i_data = itemdb->search (item_id); + } + + item_name = (char *) aCalloc (100, sizeof (char)); + TBL_PC *sd = script->rid2sd(st) + + if (sd) + { + if (i_data) +// +++ after restore lang support need translate here +// sprintf(item_name, "[@@%u|%s@@]", (unsigned)i_data->nameid, lang_pctrans (i_data->jname, sd)); + sprintf(item_name, "[@@%u|%s@@]", (unsigned)i_data->nameid, i_data->jname); + else if (item_id > 0) + sprintf(item_name, "[@@%u|Unknown Item@@]", (unsigned)item_id); + else + sprintf(item_name, "[Unknown Item]"); + } + else + { + if (i_data) +// +++ after restore lang support need translate here +// sprintf(item_name, "[%s]", lang_pctrans (i_data->jname, sd)); + sprintf(item_name, "[%s]", lang_pctrans (i_data->jname, sd)); + else + sprintf(item_name, "[Unknown Item]"); + } + + script_pushstr(st, item_name); + + return true; +} -- cgit v1.2.3-70-g09d2