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

Nurkz

Donators
  • Постов

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

  • Посещение

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

    24

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

  1. То что вам нужно лежит в (папка с клиентом игры)/data/texture/(какие-то иероглифы)/basic_interface/ Обычно игровой интерфейс находится в grf файле.
  2. Возможные причины: - В (папка с эмулятором)/conf/char_athena.conf отключено создание персонажей. // Enable or disable creation of new characters. // Now it is actually supported [Kevin] char_new: 1 - В (папка с эмулятором)/conf/char_athena.conf имеются ошибки с "возможными символами" для создания персонажей. // Set the letters/symbols that you want use with the 'char_name_option' option. // Note: Don't add spaces unless you mean to add 'space' to the list. char_name_letters: abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890 - В используемой вами db установлена неверная кодировка. (Используйте UTF8_bin) А так же возможно у вас нет соединения char_server'a с db или установлены неверные версии. На всякий случай проверьте дату своего клиента, PACKETVER в ../src/common/mmo.h, packet_db_ver в ../db/packet_db.txt и clientinfo.xml
  3. В вашем clientinfo.xml стоит неправильная версия пакетов (26), нужно поменять на (33).
  4. - script Time_events -1,{ OnClock0400: OnClock0800: OnClock1200: OnClock1600: OnClock2000: OnClock0000: if(isnight()) { day; announce "Солнце снова взошло.", 0; } end; OnClock0300: OnClock0700: OnClock1100: OnClock1500: OnClock1900: OnClock2300: if(isday()) { night; announce "На мир опустились сумерки.", 0; } end; }
  5. Отключение "фич", а именно auction и banking, в следствии того, что ваш клиент малость устарел. Чтобы избавиться от предупреждений, следует в (папка с эмулятором)/conf/feature.conf отключить данные "фичи" // Auction (Note 1) // Feature became unstable on clients 2012 onwards (exact date not known), // it has been fixed on clients 2013-05-15 onwards however. feature.auction: off ... // Banking (Note 1) // Requires: 2013-07-24aRagexe or later feature.banking: off
  6. Правильное название скрипта "Анти-Онлайн"
  7. Где/в какой базе находится таблица loginlog, есть другие ошибки? Проверь еще раз наличие таблицы в базе ragnarok, а так же conf/inter_athena.conf на наличие ошибок.
  8. 1549,Strike_eagle,Strike_eagle,5,120,,700,23,,1,4,0x0004C5B3,7,2,2,1,2,1,8,{},{},{}
  9. Nurkz

    как узнать

    Узнать версию можно с помощью PE Viewer
  10. Зайди в (папка с эмулятором)/src/config/renewal.h и закомментируй: /// renewal ASPD [malufett] /// (disable by commenting the line) /// /// leave this line to enable renewal ASPD /// - shield penalty is applied /// - AGI has a greater factor in ASPD increase /// - there is a change in how skills/items give ASPD /// - some skill/item ASPD bonuses won't stack #define RENEWAL_ASPD
  11. 1. Заходим в папку conf, находим файл grf-files.txt и прописываем в нем путь к grf с твоими картами. 2. Заходим в папку db (если rAthena -> pre-re и re папки соответственно, в зависимости что мы используем) и удаляем файл map_cache.dat 3. Заходим в корневую папку с эмулятором и тыкаем два раза по mapcache.exe Ждем и всё готово.
  12. Какой эмулятор и что конкретно мы меняем, и на что?
  13. Попробуй так что ли.. if( map[sd->bl.m].index == mapindex_name2id("payon") && (battle_config.bone_drop==2 || (battle_config.bone_drop==1 && map[sd->bl.m].flag.pvp))) { struct item item_tmp; memset(&item_tmp,0,sizeof(item_tmp)); item_tmp.nameid=ITEMID_SKULL_; item_tmp.identify=1; item_tmp.card[0]=CARD0_CREATE; item_tmp.card[1]=0; item_tmp.card[2]=GetWord(sd->status.char_id,0); // CharId item_tmp.card[3]=GetWord(sd->status.char_id,1); map_addflooritem(&item_tmp,1,sd->bl.m,sd->bl.x,sd->bl.y,0,0,0,0); }
  14. prontera,156,102,0 script mobster -1,5,5,{ end; OnTouch: if(.mobster) end; announce "Mobster : Monster Spawned",bc_map,"0xFFFF00"; monster "prontera",154,102,"Mobster",1869,1; monster "prontera",154,102,"Mobster",1291,1; monster "prontera",154,102,"Mobster",1292,1; monster "prontera",154,102,"Mobster",1291,1; monster "prontera",154,102,"Mobster",1869,1; monster "prontera",154,102,"Mobster",1291,1; monster "prontera",154,102,"Mobster",1117,1; monster "prontera",154,102,"Mobster",1869,1; monster "prontera",154,102,"Mobster",1117,1; monster "prontera",154,102,"Mobster",1132,1; monster "prontera",154,102,"Mobster",1117,1; monster "prontera",154,102,"Mobster",1132,1; monster "prontera",154,102,"Mobster",1292,1; monster "prontera",154,102,"Mobster",1132,1; monster "prontera",154,102,"Mobster",18102,1; monster "prontera",154,102,"Mobster",1292,1; set .mobster, 1; initnpctimer; end; OnTimer60000: set .mobster, 0; stopnpctimer; end; }
  15. if(map[sd->bl.m].name == "MAP_PAYON" && (battle_config.bone_drop==2 || (battle_config.bone_drop==1 && map[sd->bl.m].flag.pvp))) { ... } ну или проще будет добавить свой mapflag
  16. В (папка с игрой)/src/map/pc.c находишь: if(battle_config.bone_drop==2 || (battle_config.bone_drop==1 && map[sd->bl.m].flag.pvp)) { struct item item_tmp; memset(&item_tmp,0,sizeof(item_tmp)); item_tmp.nameid=ITEMID_SKULL_; item_tmp.identify=1; item_tmp.card[0]=CARD0_CREATE; item_tmp.card[1]=0; item_tmp.card[2]=GetWord(sd->status.char_id,0); // CharId item_tmp.card[3]=GetWord(sd->status.char_id,1); map_addflooritem(&item_tmp,1,sd->bl.m,sd->bl.x,sd->bl.y,0,0,0,0); } И меняешь ITEMID_SKULL_ на ID нужного тебе предмета.
  17. Извиняюсь, не досмотрел. =) if( sd == mvp_sd && night_flag && rnd()%10000 >= 500 ) { ditem = mob_setdropitem(7227, 1); mob_item_drop(md, dlist, ditem, 0, 500, homkillonly); } Соответственно rnd() на eAmod'e это rand() и homkillonly это aikillonly. Процент дропа умножается на 100 (5% = 500).
  18. Зайди в (папка с эмулятором)/src/map/mob.c и найди строчку: // Ore Discovery [Celest] И добавь после этого: if( sd == mvp_sd && night_flag ) { ditem = mob_setdropitem([ID Вещи], 1); mob_item_drop(md, dlist, ditem, 0, [Шанс Дропа], homkillonly); } PS! В eAmod'e вместо homkillonly нужно вписать aikillonly
  19. Обновил пост, добавил timetick на 30 секунд, чтобы не нагружали сервер запросами в базу. Но ставить на сервера с большим онлайном всё равно не советую, хотя ваше дело.
  20. Открываем (папка с эмулятором)/src/map/pc.h Ищем: int npc_timer_id; //For player attached npc timers. [Skotlex] unsigned int chatID; time_t idletime; Добавляем: int npc_timer_id; //For player attached npc timers. [Skotlex] unsigned int chatID; time_t idletime; time_t howmuch_tick; Далее. Открываем (папка с эмулятором)/src/map/atcommand.c Ищем: static const char* atcommand_help_string(const char* command) { ... } Добавляем после: ACMD_FUNC(howmuch) { char item[100]; int i, j, cardnum, item_count = 0; char* data; struct item_data *id; const char* tables[] = { "inventory", "storage", "cart_inventory" }; nullpo_retr(-1, sd); if (DIFF_TICK(sd->howmuch_tick, gettick()) > 0) { sprintf(atcmd_output, "You can use @howmuch after %d seconds.", DIFF_TICK(sd->howmuch_tick, gettick()) / 1000); clif_displaymessage(fd, atcmd_output); return -1; } if (!message || !*message || (sscanf(message, "\"%99[^\"]\"", item) < 1 && sscanf(message, "%99s", item) < 1)) { clif_displaymessage(fd, "Please, enter an item name/id (usage: @howmuch <item name or ID>)."); return -1; } if ((id = itemdb_searchname(item)) == NULL && (id = itemdb_exists(atoi(item))) == NULL) { clif_displaymessage(fd, "Invalid item ID or name."); return -1; } for (i = 0, j = 0; i < ARRAYLENGTH(tables); j = 0) { if (itemdb_type(id->nameid) == IT_CARD) { for (cardnum = 0; cardnum < 4; cardnum++) { if ((Sql_Query(mmysql_handle, "SELECT * FROM `%s` WHERE `card%d` = %d;", tables[i], cardnum, id->nameid) != SQL_SUCCESS)) { Sql_ShowDebug(mmysql_handle); return 0; } item_count += (int)Sql_NumRows(mmysql_handle); } } if ((Sql_Query(mmysql_handle, "SELECT `amount` FROM `%s` WHERE `nameid` = %d;", tables[i++], id->nameid) != SQL_SUCCESS)) { Sql_ShowDebug(mmysql_handle); return 0; } while (SQL_SUCCESS == Sql_NextRow(mmysql_handle) && j < Sql_NumRows(mmysql_handle)) { Sql_GetData(mmysql_handle, 0, &data, NULL); item_count += atoi(data); j++; } } sd->howmuch_tick = 30000 + gettick(); sprintf(atcmd_output, "Total count : %d | Item id : %d ('%s'[%d])", item_count, id->nameid, id->jname, id->slot); clif_displaymessage(fd, atcmd_output); return 0; } Ищем ниже: ... ACMD_DEF(clonestat), }; ... Добавляем: ... ACMD_DEF(clonestat), ACMD_DEF(howmuch), }; ... Думаю как-то так.
×
×
  • Создать...
Яндекс.Метрика