SemirLab Опубликовано 9 мая, 2012 Жалоба Поделиться Опубликовано 9 мая, 2012 (изменено) Вчера команда вообще не работала... Ставлю маг - тут-же с ноута другим персом пишу @whosell - "Эту вещь никто не продает". После перезапуска сервера - заработала, но в режиме @autotrade работать не стала... Т.е. если барыгой открыть маг и сразу написать @at - его шмотки не будут видны через @whosell, а если поставить барыгу, найти хоть одну его шмотку через @whosell а уже потом написать @at - все заработает... Потом еще прикольней: после долгих тестов и само-собой перезаходов чарами - команда начала работать сразу с @at... Перезапускаю серв - не пашет xDDD Короче, когда работает, а когда нет (И еще 1 баг - если мерч закрывает магазин - его шмотки остаются в списке @whosell, если купить шмотку(и) все работает на ура.. Посоветуйте что-нибудь дельное, пожалуйста. (Functor?Оо)вот код:#define whosell_with_cards_nameint atcommand_whosell(const int fd, struct map_session_data* sd, const char* command, const char* message){ unsigned char ielement[5][7] = {"", "Ice ", "Earth ", "Fire ", "Wind "}; unsigned char istarcrumb[4][7] = {"", "VS ", "VVS ", "VVVS "}; struct map_session_data *pl_sd; char item_name[100], output[255]; int item_id, map_id = 0, j, count = 0, i = 0, mSlot = 0; unsigned int MinPrize = battle_config.vending_max_value, MaxPrize = 0; struct item_data *item_data;#ifdef whosell_with_cards_name struct item_data *item_temp;#endif struct s_mapiterator* iter; memset(item_name, '\0', sizeof(item_name)); memset(output, '\0', sizeof(output)); if (!message || !*message || sscanf(message, "%99[^\n]", item_name) < 1) { clif_displaymessage(fd, "Используйте: @whosell <item_name> или <item_id>."); return -1; } if ((item_data = itemdb_searchname(item_name)) == NULL && (item_data = itemdb_exists(atoi(item_name))) == NULL) { clif_displaymessage(fd, msg_txt(19)); // Invalid item ID or name. return -1; } item_id = item_data->nameid; map_id = sd->bl.m; // Required for clif_viewpoint iter = mapit_getallusers(); for( pl_sd = (TBL_PC*)mapit_first(iter); mapit_exists(iter); pl_sd = (TBL_PC*)mapit_next(iter) ) { if (pl_sd->vender_id) { for (j = 0; j < pl_sd->vend_num; j++) { if (pl_sd->status.cart[pl_sd->vending[j].index].nameid == item_id) { // Item Found, updating Min and Max if (pl_sd->vending[j].value < MinPrize) MinPrize = pl_sd->vending[j].value; if (pl_sd->vending[j].value > MaxPrize) MaxPrize = pl_sd->vending[j].value; if (pl_sd->bl.m == map_id) clif_viewpoint(sd, 1, 1, pl_sd->bl.x, pl_sd->bl.y, count, 0xFFFFFF); sprintf(output, "Продавец: %s | Кол-во: %d | Цена: %d | Локация: %s(%d,%d)", pl_sd->status.name, pl_sd->vending[j].amount, pl_sd->vending[j].value, map[pl_sd->bl.m].name, pl_sd->bl.x, pl_sd->bl.y); clif_displaymessage(fd, output); if (item_data->type == IT_ARMOR || item_data->type == IT_WEAPON) { i = sprintf(output, " - "); if (pl_sd->status.cart[pl_sd->vending[j].index].refine) i += sprintf(output+i, "+%d ", pl_sd->status.cart[pl_sd->vending[j].index].refine); // View Element and Star Crumb only for Forge or Create Item if (pl_sd->status.cart[pl_sd->vending[j].index].card[0] == CARD0_FORGE || pl_sd->status.cart[pl_sd->vending[j].index].card[0] == CARD0_CREATE) i += sprintf(output+i, "%s%s", istarcrumb[(pl_sd->status.cart[pl_sd->vending[j].index].card[1] >> 8)/5], ielement[GetByte(pl_sd->status.cart[pl_sd->vending[j].index].card[1], 0)]); // Add jName of Item to Display i += sprintf(output+i, "%s", item_data->jname); // View number of slots if (item_data->slot) { i += sprintf(output+i, "[%d] ", item_data->slot);#ifdef whosell_with_cards_name clif_displaymessage(fd, output); i = sprintf(output, " - Карты: ");#endif for (mSlot = 0; mSlot < item_data->slot; mSlot++) {#ifdef whosell_with_cards_name if ((item_temp = itemdb_exists(pl_sd->status.cart[pl_sd->vending[j].index].card[mSlot])) != NULL) i += sprintf(output+i, "[%s] ", item_temp->jname);#else if (pl_sd->status.cart[pl_sd->vending[j].index].card[mSlot]) i += sprintf(output+i, "[%d] ", pl_sd->status.cart[pl_sd->vending[j].index].card[mSlot]);#endif }#ifdef whosell_with_cards_name if (i>14)#endif clif_displaymessage(fd, output); } else clif_displaymessage(fd, output); } count++; } } } } if(count > 0) { sprintf(output, "Найдено %d вещей. Цены: %d ~ %d.", count, MinPrize, MaxPrize); clif_displaymessage(fd, output); } else clif_displaymessage(fd, "Эту вещь никто не продает."); return 0;} Изменено 9 мая, 2012 пользователем SemirLab Ссылка на комментарий Поделиться на другие сайты Поделиться
Лилит Опубликовано 9 мая, 2012 Жалоба Поделиться Опубликовано 9 мая, 2012 замениif (pl_sd->vender_id) {наif (pl_sd->state.vending) { 3 Ссылка на комментарий Поделиться на другие сайты Поделиться
SemirLab Опубликовано 9 мая, 2012 Автор Жалоба Поделиться Опубликовано 9 мая, 2012 замени if (pl_sd->vender_id) { на if (pl_sd->state.vending) { Спасибо оргомное, все заработало! Как всегда дело в 1 строке ( З.Ы. +1 Ссылка на комментарий Поделиться на другие сайты Поделиться
wl.illusion Опубликовано 17 января, 2013 Жалоба Поделиться Опубликовано 17 января, 2013 Сколько лет назад писал этот мод, а у кого-то сохранился после стольки смертей eA. Жаль, что руки так и не дошли доделать всё задуманное Ссылка на комментарий Поделиться на другие сайты Поделиться
Sanasol Опубликовано 17 января, 2013 Жалоба Поделиться Опубликовано 17 января, 2013 Сколько лет назад писал этот мод, а у кого-то сохранился после стольки смертей eA. Жаль, что руки так и не дошли доделать всё задуманное главное знать что искать, при наличии гугл кеша найти можно все что угодно тем более в текстовом виде. =) Ссылка на комментарий Поделиться на другие сайты Поделиться
nenn Опубликовано 9 августа, 2013 Жалоба Поделиться Опубликовано 9 августа, 2013 После выставление магазина и ввода поиска по ид не находит итем, а выдает итем "Эту вещь никто не продает". Команда дт также не меняет ситуации.Как исправить? Ссылка на комментарий Поделиться на другие сайты Поделиться
Sanasol Опубликовано 9 августа, 2013 Жалоба Поделиться Опубликовано 9 августа, 2013 После выставление магазина и ввода поиска по ид не находит итем, а выдает итем "Эту вещь никто не продает". Команда дт также не меняет ситуации.Как исправить?Че жуёба самый умный что ли, не подождать до конца РО? Сиди теперь в бане Ссылка на комментарий Поделиться на другие сайты Поделиться
gadget Опубликовано 9 августа, 2013 Жалоба Поделиться Опубликовано 9 августа, 2013 После выставление магазина и ввода поиска по ид не находит итем, а выдает итем "Эту вещь никто не продает". Команда дт также не меняет ситуации.Как исправить?Че жуёба самый умный что ли, не подождать до конца РО? Сиди теперь в банеХорошо. Буду сидеть в бане.Только ваше РО и бан вообще беспричинны.Вместо нормальных ответов увидел только Ваше любимое обсиралово и все.Вроде взрослые люди. Можете высказать свою мысль и без всех лишних слов и банов.Если на это пошло то банить за то что просил то что платное (фракции)? А палитры лежат еще с прошлого года в архивах так как они давным давно лежали в паблике.Спасибо за внимание. Ссылка на комментарий Поделиться на другие сайты Поделиться
botka4aet Опубликовано 9 августа, 2013 Жалоба Поделиться Опубликовано 9 августа, 2013 Хорошо. Буду сидеть в бане.Только ваше РО и бан вообще беспричинны.Вместо нормальных ответов увидел только Ваше любимое обсиралово и все.Вроде взрослые люди. Можете высказать свою мысль и без всех лишних слов и банов.Если на это пошло то банить за то что просил то что платное (фракции)? А палитры лежат еще с прошлого года в архивах так как они давным давно лежали в паблике.Спасибо за внимание.Ну так зачем просить, если есть все в паблике? Используйте поиск или платите тем, кто умеет им пользоваться. Ссылка на комментарий Поделиться на другие сайты Поделиться
Sanasol Опубликовано 9 августа, 2013 Жалоба Поделиться Опубликовано 9 августа, 2013 Хорошо. Буду сидеть в бане.Только ваше РО и бан вообще беспричинны.Вместо нормальных ответов увидел только Ваше любимое обсиралово и все.Вроде взрослые люди. Можете высказать свою мысль и без всех лишних слов и банов.Если на это пошло то банить за то что просил то что платное (фракции)? А палитры лежат еще с прошлого года в архивах так как они давным давно лежали в паблике.Спасибо за внимание.Ну так зачем просить, если есть все в паблике? Используйте поиск или платите тем, кто умеет им пользоваться.Платное денег купить нет, а поставить бесплатное(слитое платное) рук нету, чем мы можем помочь, если каждый день появляется по N тем с вопросами которые чтобы решить даже поиск включать не надо, а открыть нужный под форум. 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Анна Малюк Опубликовано 9 августа, 2013 Жалоба Поделиться Опубликовано 9 августа, 2013 капец санасол на попа похож стал xDD 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
kapamelka18 Опубликовано 10 августа, 2013 Жалоба Поделиться Опубликовано 10 августа, 2013 капец санасол на попа похож стал xDD ))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) :) :) :) 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Sanasol Опубликовано 10 августа, 2013 Жалоба Поделиться Опубликовано 10 августа, 2013 2 Ссылка на комментарий Поделиться на другие сайты Поделиться
SupR1g Опубликовано 11 августа, 2013 Жалоба Поделиться Опубликовано 11 августа, 2013 капец санасол на попа похож стал xDD Лютая борода... 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения