Untitled

 avatar
unknown
plain_text
2 years ago
2.8 kB
4
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...