unknown Опубликовано 19 декабря, 2012 Жалоба Поделиться Опубликовано 19 декабря, 2012 (изменено) Поставил данную команду и начало лететь это: Сори за тему. Не добавил скл таблицы. + еще нашел ошибку. Изменено 19 декабря, 2012 пользователем Іван Смеречак Ссылка на комментарий Поделиться на другие сайты Поделиться
unknown Опубликовано 19 декабря, 2012 Автор Жалоба Поделиться Опубликовано 19 декабря, 2012 (изменено) vending.c:362: error: too many arguments to function 'pc_delitem' ошибка...ругается на это pc_delitem(vsd, tcg_inv_id, (int)z, 1,6);В чем трабл??Решил ошибку. Но не знаю к чему она приведет. pc_delitem(vsd, tcg_inv_id, (int)z, 6);Сделал так. У кого какие идеи? Изменено 19 декабря, 2012 пользователем Іван Смеречак Ссылка на комментарий Поделиться на другие сайты Поделиться
botka4aet Опубликовано 19 декабря, 2012 Жалоба Поделиться Опубликовано 19 декабря, 2012 Наверно стоит нажать в редакторе поиск и найти функции pc_delitem и посмотреть их строение? Ссылка на комментарий Поделиться на другие сайты Поделиться
ggRo Опубликовано 7 апреля, 2015 Жалоба Поделиться Опубликовано 7 апреля, 2015 (изменено) что бы не создавать много тем.проблемаругается на эти 2 строчки, при компиле.Аб брал отсюда http://mmo.timelessr.../topic/2107-ab/vending.c pc_additem(vsd, &sd->status.inventory[idx], qty); // Добавили данную позицию покупателюpc_delitem(sd,idx,qty,0,0); // Удалили позицию у продавцасама ошибка6>..\src\map\vending.c(423): error C2198: pc_additem: слишком мало аргументов для вызова6>..\src\map\vending.c(424): error C2198: pc_delitem: слишком мало аргументов для вызоваeamod Изменено 7 апреля, 2015 пользователем ggRo Ссылка на комментарий Поделиться на другие сайты Поделиться
ggRo Опубликовано 7 апреля, 2015 Жалоба Поделиться Опубликовано 7 апреля, 2015 (изменено) сделал так. думаю что не правильно. pc_additem(vsd, &sd->status.inventory[idx],0,LOG_TYPE_STEAL); // Добавили данную позицию покупателюpc_delitem(sd,idx,qty,0,0,LOG_TYPE_STEAL); // Удалили позицию у продавцас итемом все норм а вот с зенями беда.тот кто скупает зени не отнимаются но получает итемтот кто продает получает ту сумму на которую продает. итем отнимается.psдобавляю в базуCREATE TABLE `autobuy` (`char_id` int(11) NOT NULL,`index` tinyint(3) NOT NULL,`nameid` int(11) unsigned NOT NULL,`amount` int(11) unsigned NOT NULL,`price` bigint(20) unsigned NOT NULL,KEY `char_id` (`char_id`)выдает #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 7 Изменено 7 апреля, 2015 пользователем ggRo Ссылка на комментарий Поделиться на другие сайты Поделиться
botka4aet Опубликовано 8 апреля, 2015 Жалоба Поделиться Опубликовано 8 апреля, 2015 сделал так. думаю что не правильно. pc_additem(vsd, &sd->status.inventory[idx],0,LOG_TYPE_STEAL); // Добавили данную позицию покупателюpc_delitem(sd,idx,qty,0,0,LOG_TYPE_STEAL); // Удалили позицию у продавцас итемом все норм а вот с зенями беда.тот кто скупает зени не отнимаются но получает итемтот кто продает получает ту сумму на которую продает. итем отнимается.psдобавляю в базуCREATE TABLE `autobuy` (`char_id` int(11) NOT NULL,`index` tinyint(3) NOT NULL,`nameid` int(11) unsigned NOT NULL,`amount` int(11) unsigned NOT NULL,`price` bigint(20) unsigned NOT NULL,KEY `char_id` (`char_id`)выдает #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 7Скобка открывается, но не закрываетсяСтруктуру pc_additem и pc_delitem можешь посмотреть в pc.c 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
ggRo Опубликовано 8 апреля, 2015 Жалоба Поделиться Опубликовано 8 апреля, 2015 (изменено) Спасибо, там и смотрел структуру. Не очень шарю в срц.int pc_delitem(struct map_session_data *sd,int n,int amount,int type, short reason, e_log_pick_type log_type){nullpo_retr(1, sd);if(sd->status.inventory[n].nameid==0 || amount <= 0 || sd->status.inventory[n].amountinventory_data[n] == NULL)return 1;log_pick(&sd->bl,log_type,sd->status.inventory[n].nameid,-amount,&sd->status.inventory[n]);sd->status.inventory[n].amount -= amount;sd->weight -= sd->inventory_data[n]->weight*amount ;if(sd->status.inventory[n].amount<=0){if(sd->status.inventory[n].equip)pc_unequipitem(sd,n,3);memset(&sd->status.inventory[n],0,sizeof(sd->status.inventory[0]));sd->inventory_data[n] = NULL;}if(!(type&1))clif_delitem(sd,n,amount,reason);if(!(type&2))pc_onstatuschanged(sd,SP_WEIGHT);return 0;}int pc_additem(struct map_session_data *sd,struct item *item_data,int amount,e_log_pick_type log_type){struct item_data *data;int i;unsigned int w;nullpo_retr(1, sd);nullpo_retr(1, item_data);if( item_data->nameid <= 0 || amount <= 0 )return 1;if( amount > MAX_AMOUNT )return 5;data = itemdb_search(item_data->nameid);w = data->weight*amount;if(sd->weight + w > sd->max_weight)return 2;i = MAX_INVENTORY;if( itemdb_isstackable2(data) && item_data->serial == 0 && item_data->expire_time == 0 ){ // Stackable | Non Serialized (non unique) | Non Rentalfor( i = 0; i < MAX_INVENTORY; i++ ){if( sd->status.inventory[i].nameid == item_data->nameid && sd->status.inventory[i].bound == item_data->bound && memcmp(&sd->status.inventory[i].card, &item_data->card, sizeof(item_data->card)) == 0 ){if( amount > MAX_AMOUNT - sd->status.inventory[i].amount )return 5;sd->status.inventory[i].amount += amount;clif_additem(sd,i,amount,0);break;}}}if( i >= MAX_INVENTORY ){i = pc_search_inventory(sd,0);if( i < 0 )return 4;memcpy(&sd->status.inventory[i], item_data, sizeof(sd->status.inventory[0]));// clear equips field first, just in caseif( item_data->equip )sd->status.inventory[i].equip = 0;sd->status.inventory[i].amount = amount;sd->inventory_data[i] = data;clif_additem(sd,i,amount,0);}if( i < MAX_INVENTORY ) achievement_validate_item(sd,AT_ITEM_HAVE,sd->status.inventory[i].nameid,sd->status.inventory[i].amount);if( !itemdb_isstackable2(data) && sd->status.inventory[i].serial == 0 )sd->status.inventory[i].serial = itemdb_getserial(data); // First Time Serialize Itemlog_pick(&sd->bl,log_type,item_data->nameid,amount,&sd->status.inventory[i]);sd->weight += w;pc_onstatuschanged(sd,SP_WEIGHT);return 0;} Изменено 8 апреля, 2015 пользователем ggRo Ссылка на комментарий Поделиться на другие сайты Поделиться
Nurkz Опубликовано 8 апреля, 2015 Жалоба Поделиться Опубликовано 8 апреля, 2015 Поменяй эти строки :+ pc_getzeny(sd,(int)z);+ pc_getzeny(vsd,-((int)z)); 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Enjoyable Brobero Опубликовано 8 апреля, 2015 Жалоба Поделиться Опубликовано 8 апреля, 2015 Парни, выложите уже поправленую команду пожалуйста. Ссылка на комментарий Поделиться на другие сайты Поделиться
ggRo Опубликовано 9 апреля, 2015 Жалоба Поделиться Опубликовано 9 апреля, 2015 Поменяй эти строки :+ pc_getzeny(sd,(int)z);+ pc_getzeny(vsd,-((int)z)); pc_additem(vsd, &sd->status.inventory[idx],0,LOG_TYPE_STEAL); // Добавили данную позицию покупателюpc_delitem(sd,idx,qty,0,0,LOG_TYPE_STEAL); // Удалили позицию у продавцаЭто то верно? Ссылка на комментарий Поделиться на другие сайты Поделиться
Nurkz Опубликовано 9 апреля, 2015 Жалоба Поделиться Опубликовано 9 апреля, 2015 pc_additem(vsd, &sd->status.inventory[idx],0,LOG_TYPE_STEAL); // Добавили данную позицию покупателюpc_delitem(sd,idx,qty,0,0,LOG_TYPE_STEAL); // Удалили позицию у продавцаЭто то верно? pc_additem(vsd, &sd->status.inventory[idx], qty, 0); // Добавили данную позицию покупателю pc_delitem(sd, idx, qty, 0, 6, 0); // Удалили позицию у продавца 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
ggRo Опубликовано 9 апреля, 2015 Жалоба Поделиться Опубликовано 9 апреля, 2015 (изменено) pc_additem(vsd, &sd->status.inventory[idx],0,LOG_TYPE_STEAL); // Добавили данную позицию покупателюpc_delitem(sd,idx,qty,0,0,LOG_TYPE_STEAL); // Удалили позицию у продавцаЭто то верно? pc_additem(vsd, &sd->status.inventory[idx], qty, 0); // Добавили данную позицию покупателю pc_delitem(sd, idx, qty, 0, 6, 0); // Удалили позицию у продавцахотя скомпилил сервер без ошибок. 1 IntelliSense: аргумент типа "int" несовместим с параметром типа "e_log_pick_type" d:\1_ggro eamod\eamod\eathena оригинал\eathena @ab\src\map\vending.c 4232 IntelliSense: аргумент типа "int" несовместим с параметром типа "e_log_pick_type" d:\1_ggro eamod\eamod\eathena оригинал\eathena @ab\src\map\vending.c 423 Изменено 9 апреля, 2015 пользователем ggRo Ссылка на комментарий Поделиться на другие сайты Поделиться
Кеник Опубликовано 9 апреля, 2015 Жалоба Поделиться Опубликовано 9 апреля, 2015 pc_additem(vsd, &sd->status.inventory[idx],0,LOG_TYPE_STEAL); // Добавили данную позицию покупателюpc_delitem(sd,idx,qty,0,0,LOG_TYPE_STEAL); // Удалили позицию у продавца Это то верно? pc_additem(vsd, &sd->status.inventory[idx], qty, 0); // Добавили данную позицию покупателю pc_delitem(sd, idx, qty, 0, 6, 0); // Удалили позицию у продавца Шило на мыло pc_additem(vsd, &sd->status.inventory[idx], qty, LOG_TYPE_STEAL); // Добавили данную позицию покупателю pc_delitem(sd, idx, qty, 0, 6, LOG_TYPE_STEAL); // Удалили позицию у продавца Ссылка на комментарий Поделиться на другие сайты Поделиться
ggRo Опубликовано 9 апреля, 2015 Жалоба Поделиться Опубликовано 9 апреля, 2015 спасибо Nurkzза решение проблемы. Ссылка на комментарий Поделиться на другие сайты Поделиться
Кеник Опубликовано 9 апреля, 2015 Жалоба Поделиться Опубликовано 9 апреля, 2015 спасибо Nurkzза решение проблемы.Ну так надо бы озвучить остальным на будущее? Ссылка на комментарий Поделиться на другие сайты Поделиться
ggRo Опубликовано 10 апреля, 2015 Жалоба Поделиться Опубликовано 10 апреля, 2015 + pc_additem(vsd, &sd->status.inventory[idx], qty, LOG_TYPE_NONE); // Добавили данную позицию покупателю+ pc_delitem(sd, idx, qty, 0, 6, LOG_TYPE_NONE); // Удалили позицию у продавца+ pc_getzeny(sd,(int)z);+ pc_payzeny(vsd,(int)z); Ссылка на комментарий Поделиться на другие сайты Поделиться
Sago Опубликовано 6 мая, 2016 Жалоба Поделиться Опубликовано 6 мая, 2016 ругается на [Error]: pc_getzeny: Obtaining negative Zeny (zeny=-500000, account_id=2000000, char_id=150000). подскажите в чем трабл Ссылка на комментарий Поделиться на другие сайты Поделиться
Leprechaun Опубликовано 6 мая, 2016 Жалоба Поделиться Опубликовано 6 мая, 2016 (изменено) Есть такая команда для Геркулеса? ПОделитесь пож. Изменено 6 мая, 2016 пользователем Leprechaun Ссылка на комментарий Поделиться на другие сайты Поделиться
Kubix! Опубликовано 6 мая, 2016 Жалоба Поделиться Опубликовано 6 мая, 2016 2 часа назад, Sago сказал: ругается на [Error]: pc_getzeny: Obtaining negative Zeny (zeny=-500000, account_id=2000000, char_id=150000). подскажите в чем трабл Там же пишет, даешь негативное число -5000000 оО Ссылка на комментарий Поделиться на другие сайты Поделиться
SouZe Опубликовано 6 мая, 2016 Жалоба Поделиться Опубликовано 6 мая, 2016 8 hours ago, Leprechaun said: Есть такая команда для Геркулеса? ПОделитесь пож. В геркулесе есть Buying Store. Ссылка на комментарий Поделиться на другие сайты Поделиться
Leprechaun Опубликовано 6 мая, 2016 Жалоба Поделиться Опубликовано 6 мая, 2016 Насколько я понимаю, ето такой ваучер который используеш, открываеться окно и игроку нужно указывать то что он хочет купить. Насколько я помню, игрок может купить только то, что у него уже есть на руках, так как задать предмет покупки он сможет только из тех вещей, которие у него на руках. А я бы хотел как-то дать возможность игрокам покупать то, что на руках они не имеют. Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения