Oxxy Опубликовано 20 июля, 2015 Жалоба Поделиться Опубликовано 20 июля, 2015 С тех пор, как еАмод был ею. Ну тогда, дабы не быть голословным - будь добр ссылочку на паблик скрипт сбора статистики, как в еАмоде (ГВ, БГ, урон скиллы и прочее). Очень любопытно посмотреть Добавить 2 строчки на увеличение переменных и считывание её в сорсах - это теперь стало сложным? ссорьки 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Functor Опубликовано 20 июля, 2015 Жалоба Поделиться Опубликовано 20 июля, 2015 Переменных там очень много. Сбор статистики производится в разных участках исходного кода сервера. Это большая модификация struct s_killrank { unsigned short kill_count, death_count; int score; }; struct s_battleground_stats { unsigned int top_damage, damage_done, damage_received, boss_damage; unsigned short // Triple Inferno skulls, ti_wins, ti_lost, ti_tie, // Tierra EoS eos_flags, eos_bases, eos_wins, eos_lost, eos_tie, // Tierra Bossnia boss_killed, boss_flags, boss_wins, boss_lost, boss_tie, // Tierra Domination dom_bases, dom_off_kills, dom_def_kills, dom_wins, dom_lost, dom_tie, // Flavius TD td_kills, td_deaths, td_wins, td_lost, td_tie, // Flavius SC sc_stole, sc_captured, sc_droped, sc_wins, sc_lost, sc_tie, // Flavius CTF ctf_taken, ctf_captured, ctf_droped, ctf_wins, ctf_lost, ctf_tie, // Conquest emperium_kill, barricade_kill, gstone_kill, cq_wins, cq_lost, // Rush ru_captures, ru_wins, ru_lost; unsigned int // Ammo sp_heal_potions, hp_heal_potions, yellow_gemstones, red_gemstones, blue_gemstones, poison_bottles, acid_demostration, acid_demostration_fail, support_skills_used, healing_done, wrong_support_skills_used, wrong_healing_done, sp_used, zeny_used, spiritb_used, ammo_used; unsigned short kill_count, death_count, win, lost, tie, leader_win, leader_lost, leader_tie, deserter, rank_games; int score, points, rank_points; }; struct s_woestats { int score; unsigned short kill_count, death_count; unsigned int top_damage, damage_done, damage_received; unsigned int emperium_damage, guardian_damage, barricade_damage, gstone_damage; unsigned short emperium_kill, guardian_kill, barricade_kill, gstone_kill; unsigned int // Ammo sp_heal_potions, hp_heal_potions, yellow_gemstones, red_gemstones, blue_gemstones, poison_bottles, acid_demostration, acid_demostration_fail, support_skills_used, healing_done, wrong_support_skills_used, wrong_healing_done, sp_used, zeny_used, spiritb_used, ammo_used; }; struct s_skillcount { unsigned short id,count; }; Да и дело тут не в сложности реализации. А в том, что нету паблик аналога. 2 Ссылка на комментарий Поделиться на другие сайты Поделиться
Fizik Опубликовано 21 июля, 2015 Автор Жалоба Поделиться Опубликовано 21 июля, 2015 Переменных там очень много. Сбор статистики производится в разных участках исходного кода сервера. Это большая модификация struct s_killrank { unsigned short kill_count, death_count; int score; }; struct s_battleground_stats { unsigned int top_damage, damage_done, damage_received, boss_damage; unsigned short // Triple Inferno skulls, ti_wins, ti_lost, ti_tie, // Tierra EoS eos_flags, eos_bases, eos_wins, eos_lost, eos_tie, // Tierra Bossnia boss_killed, boss_flags, boss_wins, boss_lost, boss_tie, // Tierra Domination dom_bases, dom_off_kills, dom_def_kills, dom_wins, dom_lost, dom_tie, // Flavius TD td_kills, td_deaths, td_wins, td_lost, td_tie, // Flavius SC sc_stole, sc_captured, sc_droped, sc_wins, sc_lost, sc_tie, // Flavius CTF ctf_taken, ctf_captured, ctf_droped, ctf_wins, ctf_lost, ctf_tie, // Conquest emperium_kill, barricade_kill, gstone_kill, cq_wins, cq_lost, // Rush ru_captures, ru_wins, ru_lost; unsigned int // Ammo sp_heal_potions, hp_heal_potions, yellow_gemstones, red_gemstones, blue_gemstones, poison_bottles, acid_demostration, acid_demostration_fail, support_skills_used, healing_done, wrong_support_skills_used, wrong_healing_done, sp_used, zeny_used, spiritb_used, ammo_used; unsigned short kill_count, death_count, win, lost, tie, leader_win, leader_lost, leader_tie, deserter, rank_games; int score, points, rank_points; }; struct s_woestats { int score; unsigned short kill_count, death_count; unsigned int top_damage, damage_done, damage_received; unsigned int emperium_damage, guardian_damage, barricade_damage, gstone_damage; unsigned short emperium_kill, guardian_kill, barricade_kill, gstone_kill; unsigned int // Ammo sp_heal_potions, hp_heal_potions, yellow_gemstones, red_gemstones, blue_gemstones, poison_bottles, acid_demostration, acid_demostration_fail, support_skills_used, healing_done, wrong_support_skills_used, wrong_healing_done, sp_used, zeny_used, spiritb_used, ammo_used; }; struct s_skillcount { unsigned short id,count; }; Да и дело тут не в сложности реализации. А в том, что нету паблик аналога. а я пытался вытащить бг 2.0 с рАмода но у меня ещё мало знаний) безуспешно) Ссылка на комментарий Поделиться на другие сайты Поделиться
Кеник Опубликовано 21 июля, 2015 Жалоба Поделиться Опубликовано 21 июля, 2015 С тех пор, как еАмод был ею. Ну тогда, дабы не быть голословным - будь добр ссылочку на паблик скрипт сбора статистики, как в еАмоде (ГВ, БГ, урон скиллы и прочее). Очень любопытно посмотреть Добавить 2 строчки на увеличение переменных и считывание её в сорсах - это теперь стало сложным? ссорьки Functor ниже расписал. Это не 2 строчки на увеличение переменных, это много кусков кода в разных частях эмулятора. При этом в паблике этого нет. И при всем этом 90% серверов (на мой взгляд) покупают еАмод в первую очередь ради этой статистики. Ссылка на комментарий Поделиться на другие сайты Поделиться
Fizik Опубликовано 21 июля, 2015 Автор Жалоба Поделиться Опубликовано 21 июля, 2015 С тех пор, как еАмод был ею. Ну тогда, дабы не быть голословным - будь добр ссылочку на паблик скрипт сбора статистики, как в еАмоде (ГВ, БГ, урон скиллы и прочее). Очень любопытно посмотреть Добавить 2 строчки на увеличение переменных и считывание её в сорсах - это теперь стало сложным? ссорьки Functor ниже расписал. Это не 2 строчки на увеличение переменных, это много кусков кода в разных частях эмулятора. При этом в паблике этого нет. И при всем этом 90% серверов (на мой взгляд) покупают еАмод в первую очередь ради этой статистики. Да, Я брал чисто ради БГ и Достижений) (которые я так и не понял как заменять, пытался вроде всё без ошибок но не получается) Ссылка на комментарий Поделиться на другие сайты Поделиться
Oxxy Опубликовано 21 июля, 2015 Жалоба Поделиться Опубликовано 21 июля, 2015 Переменных там очень много. Сбор статистики производится в разных участках исходного кода сервера. Это большая модификация struct s_killrank { unsigned short kill_count, death_count; int score; }; struct s_battleground_stats { unsigned int top_damage, damage_done, damage_received, boss_damage; unsigned short // Triple Inferno skulls, ti_wins, ti_lost, ti_tie, // Tierra EoS eos_flags, eos_bases, eos_wins, eos_lost, eos_tie, // Tierra Bossnia boss_killed, boss_flags, boss_wins, boss_lost, boss_tie, // Tierra Domination dom_bases, dom_off_kills, dom_def_kills, dom_wins, dom_lost, dom_tie, // Flavius TD td_kills, td_deaths, td_wins, td_lost, td_tie, // Flavius SC sc_stole, sc_captured, sc_droped, sc_wins, sc_lost, sc_tie, // Flavius CTF ctf_taken, ctf_captured, ctf_droped, ctf_wins, ctf_lost, ctf_tie, // Conquest emperium_kill, barricade_kill, gstone_kill, cq_wins, cq_lost, // Rush ru_captures, ru_wins, ru_lost; unsigned int // Ammo sp_heal_potions, hp_heal_potions, yellow_gemstones, red_gemstones, blue_gemstones, poison_bottles, acid_demostration, acid_demostration_fail, support_skills_used, healing_done, wrong_support_skills_used, wrong_healing_done, sp_used, zeny_used, spiritb_used, ammo_used; unsigned short kill_count, death_count, win, lost, tie, leader_win, leader_lost, leader_tie, deserter, rank_games; int score, points, rank_points; }; struct s_woestats { int score; unsigned short kill_count, death_count; unsigned int top_damage, damage_done, damage_received; unsigned int emperium_damage, guardian_damage, barricade_damage, gstone_damage; unsigned short emperium_kill, guardian_kill, barricade_kill, gstone_kill; unsigned int // Ammo sp_heal_potions, hp_heal_potions, yellow_gemstones, red_gemstones, blue_gemstones, poison_bottles, acid_demostration, acid_demostration_fail, support_skills_used, healing_done, wrong_support_skills_used, wrong_healing_done, sp_used, zeny_used, spiritb_used, ammo_used; }; struct s_skillcount { unsigned short id,count; }; Да и дело тут не в сложности реализации. А в том, что нету паблик аналога. А теперь перечитываем что я написал и увидим, что было написано про ДВЕ СТРОЧКИ, а не две переменные. Считать переменную = 1 строка, изменить её значение = вторая строка, и не важно, как много их, это не будет сложно сделать, кек. Ссылка на комментарий Поделиться на другие сайты Поделиться
Functor Опубликовано 22 июля, 2015 Жалоба Поделиться Опубликовано 22 июля, 2015 А теперь перечитываем что я написал и увидим, что было написано про ДВЕ СТРОЧКИ, а не две переменные. Считать переменную = 1 строка, изменить её значение = вторая строка, и не важно, как много их, это не будет сложно сделать, кек. Я правильно прочитал и понял Ваш пост. Количество переменных указал, чтобы показать объем модификации, а не указать на то, что Вы ошиблись c количеством переменных. Модификация является большой, даже если учитывать 2 строчки дополнительного кода на переменную. Но их явно не 2 на переменную. Тут нужно учитывать считывание и запись данных в БД, обнуление и обновление данных, кучу проверок и наличие дополнительного вспомогательного кода. Да и вообще я не понимаю к чему Вы завели разговор о сложности реализации. Речь же шла о предоставлении ссылки на паблик аналог, в качестве подтверждения Ваших слов про сборку паблик скриптов. 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Fizik Опубликовано 22 июля, 2015 Автор Жалоба Поделиться Опубликовано 22 июля, 2015 Речь вообще шла о помощи мне ))) с Помощью, Кеш шоп там не работает всё такое))) помните?) Ссылка на комментарий Поделиться на другие сайты Поделиться
Functor Опубликовано 22 июля, 2015 Жалоба Поделиться Опубликовано 22 июля, 2015 Да. Также помню, что Вы мне написали в PM и мы там ведем разговор о Вашей проблеме. Скидывайте ссылку на эмуль и EXE в PM. Будет свободное время - посмотрю. 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Fizik Опубликовано 22 июля, 2015 Автор Жалоба Поделиться Опубликовано 22 июля, 2015 Да. Также помню, что Вы мне написали в PM и мы там ведем разговор о Вашей проблеме. Скидывайте ссылку на эмуль и EXE в PM. Будет свободное время - посмотрю. уже Скинул))) Ссылка на комментарий Поделиться на другие сайты Поделиться
Functor Опубликовано 22 июля, 2015 Жалоба Поделиться Опубликовано 22 июля, 2015 В файле ../src/map/clif.c меняем код функции clif_cashshop_ack на:void clif_cashshop_ack(struct map_session_data* sd, int error){ int fd = sd->fd; WFIFOHEAD(fd, packet_len(0x289)); WFIFOW(fd,0) = 0x289; WFIFOL(fd,2) = sd->cashPoints;#if PACKETVER < 20070711 WFIFOW(fd,6) = TOW(error);#else WFIFOL(fd,6) = sd->kafraPoints; WFIFOW(fd,10) = TOW(error);#endif WFIFOSET(fd, packet_len(0x289));}В файле ../src/map/clif.c меняем код функции clif_parse_cashshop_buy на:void clif_parse_cashshop_buy(int fd, struct map_session_data *sd) { struct s_packet_db* info; int cmd = RFIFOW(fd,0); nullpo_retv(sd); info = &packet_db[sd->packet_ver][cmd]; if( sd->state.trading || !sd->npc_shopid ) { clif_cashshop_ack(sd,1); return; } else if( sd->state.secure_items ) { clif_displaymessage(sd->fd, "You can't shop. Blocked with @security"); clif_cashshop_ack(sd,1); return; } else {#if PACKETVER < 20101116 unsigned short nameid = RFIFOW(fd,info->pos[0]); short amount = RFIFOW(fd,info->pos[1]); int points = RFIFOL(fd,info->pos[2]); clif_cashshop_ack(sd,npc_cashshop_buy(sd, nameid, amount, points));#else int s_itl = (cmd==0x848)?10:4; //item _list size (depend on cmd even for 2013+) int len = RFIFOW(fd,info->pos[0]); int points = RFIFOL(fd,info->pos[1]); int count = RFIFOW(fd,info->pos[2]); unsigned short* item_list = (unsigned short*)RFIFOP(fd,info->pos[3]); if( len < 10 || len != 10 + count * s_itl) { ShowWarning("Player %u sent incorrect cash shop buy packet (len %u:%u)!\n", sd->status.char_id, len, 10 + count * s_itl); return; } if(cmd == 0x848) { if (cashshop_buylist( sd, points, count, item_list)) clif_cashshop_ack(sd,0); return; } else { clif_cashshop_ack(sd,npc_cashshop_buylist(sd,points,count,item_list)); return; }#endif }} 2 Ссылка на комментарий Поделиться на другие сайты Поделиться
Fizik Опубликовано 22 июля, 2015 Автор Жалоба Поделиться Опубликовано 22 июля, 2015 Спасибо огромное))))) Я так и думал что дело в сорце а не в Екзе или луа)))))) Ссылка на комментарий Поделиться на другие сайты Поделиться
Kreol89 Опубликовано 9 августа, 2015 Жалоба Поделиться Опубликовано 9 августа, 2015 Ааа!!! У меня тоже всё заработало! Спасибо! Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения