Перейти к содержанию

ggRo

Donators
  • Постов

    207
  • Зарегистрирован

  • Посещение

  • Победитель дней

    5

Весь контент ggRo

  1. Спасибо, там и смотрел структуру. Не очень шарю в срц. 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 Rental for( 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 case if( 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 Item log_pick(&sd->bl,log_type,item_data->nameid,amount,&sd->status.inventory[i]); sd->weight += w; pc_onstatuschanged(sd,SP_WEIGHT); return 0; }
  2. сделал так. думаю что не правильно. 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
  3. ggRo

    @hold

    //====================== //@hold //====================== int atcommand_hold(const int fd, struct map_session_data* sd, const char* command, const char* message) { nullpo_retr(-1, sd); if (!sd->state.blockedmove){ sd->state.blockedmove=1; clif_displaymessage(fd, "Передвижение отключено"); }else{ sd->state.blockedmove=0; clif_displaymessage(fd, "Передвижение восстановлено"); } return 0; } ругается { "hold", 1,1 0, atcommand_hold }, ошибка 1>..\src\map\atcommand.c(11948): error C2059: синтаксическая ошибка: константа 1>..\src\map\atcommand.c(11959): warning C4034: sizeof возвращает 0 1>..\src\map\atcommand.c(11960): warning C4034: sizeof возвращает 0 1>..\src\map\atcommand.c(11966): warning C4034: sizeof возвращает 0 1>..\src\map\atcommand.c(11967): warning C4034: sizeof возвращает 0 1>..\src\map\atcommand.c(11976): fatal error C1903: не удается восстановить после предыдущих ошибок; остановка компиляции просит заместо 0, поставить }
  4. что бы не создавать много тем. проблема ругается на эти 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
  5. проблема такая баррикады можно восстанавливать даже если не восстановить камни. 3 замка которые использую на вое. в чем проблема. http://rghost.ru/private/6vM9TVMFP/1aecc11a8b27e0e2cb7e9cdec53dc533 http://rghost.ru/private/6mKBfDpv2/db0da58a5fc0aa73566d28cd7b0d728e http://rghost.ru/private/8JPgGSLfB/c85edc4c386deb32bdddff3202fbb622
  6. Подскажите добрые люди. Тему искал не увидел.
  7. да уже не нужно. все работает.
  8. Кто сказал что обиделся? А так если не заметил я написал что разобрался что к чему. Подошел к 1 нпц поговорил выбрал что надо открыл магазин. Вместо 10 разных нпц, или же все в одном и кучей.
  9. были бы ошибки написал бы. А их небыло.Если ты не понял как я их прописал, почитай логи там же все написано.
  10. ошибки нету но и непись не появляется. упс мой косяк кординаты нпц не те прописал) все вроде бы норм но вот сам магазин не открывается. т,е. псоле диалога появляется табличка (купить,продать,закрыть) тыкаешь купить окно исчезает а магазин не появляется. разобрался - shop zen1 111,611:-1
  11. непись. даже не появляется. prontera,146,142,6 script Расходница 109,{ mes "[Расходница]"; mes "Добро пожаловать, могучий воин."; mes "Что Я могу сделать для вас сегодня?"; next; switch( select("Расходник","Еда","Стрелы","Выход.") ) { case 4: mes "[Расходница]"; mes "“видимсЯ позже"; close; case 1: mes "[Расходница]"; mes "бла бла бла"; mes "Закройте это окно, чтобы открыть магазин."; close2; callshop "zen1",0; end; case 2: mes "[Расходница]"; mes "бла бла бла"; mes "Закройте это окно, чтобы открыть магазин."; close2; callshop "zen2",0; end; case 3: mes "[Расходница]"; mes "бла бла бла"; mes "Закройте это окно, чтобы открыть магазин."; close2; callshop "zen3",0; end; } } prontera,1,1,3 sshop zen1 109,611:-1 //prontera,1,1,3 sshop zen2 109,611:-1,1750:-1,501:-1,502:-1,503:-1,504:-1,506:-1,645:-1,656:-1,601:-1,602:-1,1065:-1,2239:-1 //prontera,1,1,3 sshop zen3 109,611:-1,1750:-1,501:-1,502:-1,503:-1,504:-1,506:-1,645:-1,656:-1,601:-1,602:-1,1065:-1,2239:-1 ошибка [Error]: npc_parse_shop: Invalid special shop definition in file 'npc/ggRo/racxod.txt', line '35'. * w1=prontera,1,1,3 * w2=sshop * w3=zen1 * w4=109,611:-1 что делаю не так? покупка за зени.
  12. говорю же про бывал как делать так // и менял спрайт нпц с 418 на -1. нпц как стоят так и стоят все сделал. по одному почему то не убирались надо было всех сразу. -1
  13. никак не могу понять где убирать нпц лезу в bg_common.txt про бывал закрывать нпц. так че спрайт ставить -1 толку ноль. reloadscript делаю) еамод. эта тема не подходит нет таких строк.
  14. А склиентинфо про бывали? Попробуй другой ехе и прописан в packet_db версия pacer _db_ver
  15. Ну так найди описание ошибок, я лично с такими не сталкивался никогда.
  16. Что пишет с этой ошибкой? Mmo.h версию ехе прописали? Возможно заместо clientinfo.xml требуется sclientinfo.xml. Ваше грф должна быть прописана первой в data.ini.
  17. какой файл отвечает за анимацию в игре и в каком файле прописаны, какой скилл должен использовать какой эффект? допустим Land protector где прописанно какой эффект он должен использовать. тобишь не ауру а сама площадка.
  18. со всем решил вот ток с гильдией что то не то.
  19. проблема при создание гильдии на русском [SQL]: DB error - Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (cp1251_general_ci,COERCIBLE) for operation '=' [Debug]: at int_guild.c:908 - SELECT guild_id FROM `guild` WHERE name='рЕЯР' [Info]: int_guild: guild with same name exists [рЕЯР] стоит утф8 проверял 10 раз. в игре выдает следующее That guild name already exists (Что Гильдия с таким именем уже существует) хотя в дб ее нету и пытался с другим названием гильдию создать тоже самое выдает.
  20. up/ все еще нуждаюсь в решение
  21. как сменить всю разом кодировку в utf8_general_ci а не каждую таблицу по отдельности? так же не могу создать гильдию с рус назвнием сменил кодировку на utf8_general_ci, толку 0, cp1251 прописан. выдает ошибку при попытки создать чара. [SQL]: DB error - Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (cp1251_general_ci,COERCIBLE) for operation '=' [Debug]: at char.c:1884 - SELECT 1 FROM `char` WHERE `name` = 'оПХБЕР' проблема решена.
  22. Сделать Дизайн сайта = оплата. Верстка твоего дизайна, под цп = оплата. Обратись к
  23. Подскажите куда рыть, что бы добавить новый эффект. Effect specialeffect и так далее. За ранее спасибо.
×
×
  • Создать...
Яндекс.Метрика