Untitled
unknown
plain_text
3 years ago
2.8 kB
10
Indexable
// you may need to change to <ITEM> and </ITEM> for this client version!
void itemdb_linkcreate(char* buf, struct item *item)
{
int i = 9, k;
struct item_data* id;
if (item == NULL || !(id = itemdb_search(item->nameid))) {
return;
}
strcat(buf, " <ITEM>00"); //start link
i += korea62conversionmin(id->equip, buf + i, 3); // itemtype
if (id->equip)
buf[i] = '1';
else
buf[i] = '0';
i += korea62conversion(item->nameid, buf + i + 1) + 1;
if (item->refine) {
buf[i] = '%';
i += korea62conversion(item->refine, buf + i + 1) + 1;
}
//buf[i] = '&';
//i += korea62conversion(id->view_id, buf + i + 1) + 1;
for (k = 0; k<4; k++)
{
if (item->card[k]) {
buf[i] = '\'';
i += korea62conversion(item->card[k], buf + i + 1) + 1;
}
else {
buf[i] = '\'';
buf[i + 1] = '0';
buf[i + 2] = '0';
i += 3;
}
}
for (k = 0; k < MAX_ITEM_RDM_OPT; k++)
{
if (item->option[k].id) {
buf[i] = '*';
i += korea62conversion(item->option[k].id, buf + i + 1) + 1;
buf[i] = '+';
i += korea62conversion(item->option[k].param, buf + i + 1) + 1;
buf[i] = ',';
i += korea62conversion(item->option[k].value, buf + i + 1) + 1;
}
}
strcat(buf, "</ITEM>"); //end link
}
void itemdb_idlinkcreate(char* buf, int nameid)
{
struct item item_tmp;
int i;
item_tmp.nameid = nameid;
item_tmp.refine = 0;
for (i = 0; i < MAX_SLOTS; i++)
item_tmp.card[i] = 0;
for (i = 0; i < MAX_ITEM_RDM_OPT; i++) {
item_tmp.option[i].id = 0;
item_tmp.option[i].param = 0;
item_tmp.option[i].value = 0;
}
itemdb_linkcreate(buf, &item_tmp);
}
std::string commash(std::string digits){
std::string result;
if (digits.length() > 3){
int t = 0;
for(int i = digits.length() - 1; i >= 0; i --){
result = digits[i] + result;
t++;
if(t%3 == 0){
result = ',' + result;
}
}
if(result[0] == ','){
result.erase(0, 1);
}
} else {
result = digits;
}
return result;
}
Editor is loading...