Jump to content

V3ct0r

Administrators
  • Content Count

    1,656
  • Joined

  • Days Won

    298

V3ct0r last won the day on November 26

V3ct0r had the most liked content!

Community Reputation

1,283 Excellent

About V3ct0r

  • Rank
    Sea Captain

Recent Profile Visitors

63,906 profile views
  1. The limit address is 00016873. It is 100 maps.
  2. @FeikO, про какой сайт идет речь? Так как на скриншоте я вижу PKOSite от Snowcrach, а в цитате ты приводишь скрипт регистрации, который я когда-то сделал. В любом случае, скорее всего ты используешь PHP версии 7.x, а они были написаны под PHP 5.x, поэтому могут быть проблемы с совместимостью, в том числе отсутствующие функции. В частности, ошибка PHP, которую ты привел на скриншоте, говорит о том, что отсутствует функция set_magic_quotes_runtime(), которая была удалена в PHP 7, как заметил @patrick13.
  3. V3ct0r

    Swing

    There are two ways to make it work in 1.3x versions of the game: 1) Game.exe patching. Requires extensive skills in reverse-engineering, knowledge of programming languages assembler and C++; 2) Add to Swings items in ItemInfo.txt fly animation (as for Rebirth wings) and replace fly animation to sit animation in characterposeinfo.txt (client-side file). But then we lose the effect of the Rebirth wings - characters will sit, not fly. Also you can use Tales of Pirates 2 server files and client with Swings feature. I know there is TOP 2 client in public release, but I didn't see server files for it. We can't connect ToP 2 client to any existing server files.
  4. Hello @luca94dv and welcome to the forum! It works with PHP version 7 and MSSQL Server 2014 - 2019. Hello @Mesut! You need to install PDO driver sqlsrv for your version of PHP. You can see list of installed PDO drivers in section PDO in phpinfo() function output.
  5. Hello @Mesut! You start Game.exe the following way: start system\game.exe startgame table_bin There is a "startgame" parameter present that gives a command to start the game. But in your Game.exe the startup paramter is changed to another one. You can use this program to find out new paramter or change it to "startgame" back:
  6. Для подключения к серверу необходим только один порт 1973 - порт, на котором GateServer.exe принимает входящие соединения от игровых клиентов. Более того, остальные порты необходимо закрыть в целях безопасности. Причин почему данный порт закрыт может быть несколько: 1) IP-адрес твоего сервера (компьютера) "серый", находится за NAT. В таком случае нужно приобретать у твоего Интернет-провайдера выделенный "белый" IP-адрес или использовать программы для создания виртуальной VPN сети, например, Hamachi; 2) Твой компьютер подключен к Интернету через роутер. Необходимо "пробросить" 1973 порт в соответствии с инструкцией к роутеру; 3) Входящие соединения может блокировать файрвол или антивирус. Например, Брандмауэр Windows. В редакции Windows Server необходимо создавать "Правило для входящих подключений" для порта 1973. Что ты подразумеваешь под сборкой клиента? В основном, настройка клиента заключается в указании адреса сервера и компиляции .txt-таблиц. Для настройки IP-адреса: Для настройки порта: Компиляция .txt таблиц: Если ты решил добавить, например, новые аппарели или монстров, то нужно поместить в соответствующие директории клиента модели, анимации, текстуры. Редактирование GUI (графический интерфейс пользователя) производится с помощью LUA-скриптов из папки "\scripts\lua\forms". Благодарю! Рад что гайд тебе понравился. Чтобы появилась возможность редактировать сообщения, тебе нужно перейти в группу "Продвинутый пользователь":
  7. For GameServer.exe I've just put .txt files to GameServer\resources folder. For client I did everything according to this guide:
  8. Привет, @Graf! Благодарю за выложенный скрипт! Не критики ради, хочется дать несколько советов, которые, по моему мнению, сделают твой скрипт еще лучше. 1) Для решения такой задачи удобно использовать технику хуков. Она заключается в том, что мы сохраняем адрес оригинальной функции GetExp_PKM() в переменную GetExp_PKM__Original, создаем новую функцию с именем GetExp_PKM (т.е. перезаписываем старую функцию), реализовываем в ней необходимую нам логику и вызываем оригинальную функцию, адрес которой сохранили в переменной ранее. Таким образом, мы можем отделить новую логику от старой и уйти от редактирования оригинального кода. Также это облегчает установку и удаление подобных модификаций в будущем. Например, в файле functions.lua -- Функция вызывается когда игрок [@atk] убил монстра [@dead] GetExp_PKM__Original = GetExp_PKM GetExp_PKM = function(dead, atk) -- Вызываем оригинальную функцию GetExp_PKM__Original(dead, atk) -- Здесь наша логика (выдать предметы, золото и так далее) SystemNotice(atk, string.format("Вы победили монстра Ур.%d %s!", Lv(dead), GetChaDefaultName(dead))) end 2) Как верно заметил @Fomin, глобальная переменная COIN_DEMON_RAID будет увеличиваться в четыре раза каждую неделю (в двое в субботу и в двое в воскресенье) и все это еще умножается на количество убийств монстров в выходные дни. Чтобы этого избежать, можно создать локальную копию данной переменной и работать уже с копией: . . . local rate = COIN_DEMON_RAID for DataCoin in Monster_Coin do . . . if now_week == 6 or now_week == 7 then rate = rate * 2 end . . . GiveItem ( atk , 0 , ID_Demon_Coin , Monster_Coin[DataCoin][3] * rate , 4 ) . . . 3) Полям таблицы Monster_Coin можно дать осознанные имена вместо численных индексов: -- Массив выпадения предмета с монстров Monster_Coin = { {lv_start = 1, lv_end = 15, number = 1, chance = 20 }, -- С 1 по 15 уровень падает 1 предмета с шансом 20% {lv_start = 16, lv_end = 30, number = 2, chance = 30 }, -- С 16 по 30 уровень падает 2 предмета с шансом 30% {lv_start = 31, lv_end = 45, number = 2, chance = 35 }, -- С 31 по 45 уровень падает 3 предмета с шансом 35% {lv_start = 46, lv_end = 60, number = 3, chance = 40 }, -- С 46 по 60 уровень падает 3 предмета с шансом 40% {lv_start = 61, lv_end = 75, number = 3, chance = 45 }, -- С 61 по 75 уровень падает 3 предмета с шансом 45% } и пример использование в коде: if Lv_Monster >= Monster_Coin[DataCoin].lv_start and Lv_Monster <= Monster_Coin[DataCoin].lv_end then GiveItem ( atk , 0 , ID_Demon_Coin , Monster_Coin[DataCoin].number * COIN_DEMON_RAID , 4 ) Такой подход облегчит заполнение таблицы новыми данными, улучшит читаемость кода и снизит вероятность ошибок. 4) Цикл "for DataCoin in Monster_Coin do" можно заменить на аналогичный, но другой конструкции: for index, item in ipairs(Monster_Coin) do -- Вместо Monster_Coin[DataCoin] теперь необходимо использовать item end Теперь вместо обращения к элементу таблицы по индексу используем конкретный элемент: if Lv_Monster >= item.lv_start and Lv_Monster <= item.lv_end then 5) Согласен с @Fomin, переменные Rand_Gives и now_week можно вынести в место перед циклом. 6) Блок -- Если сейчас суббота или воскресенье if now_week == 6 or now_week == 7 then -- то умножаем количество выдаваемоего предмета в 2 раза COIN_DEMON_RAID = COIN_DEMON_RAID * 2 end можно внести в условие if Rand_Gives <= Monster_Coin[DataCoin][4] then
  9. Hello @Mesut! I have compiled ItemInfo.txt and CharacterInfo.txt with new monsters and swings using your Game.exe and GameServer.exe without any errors. In attached .zip you can find source .txt files and compiled .bin files. @Mesut
  10. @Дракан, привет! Есть какие-нибудь результаты по решению проблемы?
  11. Yes, you can. I think GameServer.exe and Game.exe with CharacterInfo.txt will be enough.
  12. Привет, @FeikO, и добро пожаловать на форум! Данная ошибка, скорее всего, вызвана тем, что ты пытаешься одновременно запустить такие карты как Аскарон (garner), Магический Океан (magicsea) и Великий Синий Океан (darkblue) на одном экземпляре GameServer. Из-за того, что эти карты очень большие, на них много монстров, NPC и подобных объектов, процессу сервера не хватает памяти, чтобы запустить их все вместе. И (или), ты пытаешься запустить слишком много карт поменьше на одном экземпляре игрового сервера. В гайде есть небольшое примечание: Согласно вышесказанному, чтобы запустить эти карты одновременно, а так же второстепенные карты, необходимо равномерно распределить их по разным экземплярам GameServer, а для этого нужно создать 3 конфигурационных файла, например, GameServer1.cfg, GameServer2.cfg и GameServer3.cfg и записать в них карты garner, magicsea и darkblue соответственно, вместе с остальными картами. В гайде про это так же рассказывается. Если все-таки требуется запустить несколько основных карт на одном GameServer.exe, то можно поиграться в сторону увеличения со следующими параметрами в одноименном .cfg: [Entity] max_ply = 3000 max_cha = 15000 max_item = 30000 max_tnpc = 300
  13. What error? Are the limits for ChatacterInfo.txt increased in GameServer.exe and Game.exe? Also try rename monsters names from Russian to English language. These lines are work fine for me, for both GameServer.exe and Game.exe (1.3x version): 1549 Маленький черный дракон xxx 4 5 910 0 1 1 1 1 1 1 1 0 0 0,0 0 0,0,0 1 910 100 370 371 372 0 0 0 0,-1,-1,-1,-1,-1 2.996 1.75 3.803 40 1,5 2,5 399 398 0 0 0,0,0 1 1 0 0 25,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 70,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 885,-1,-1,-1,-1,-1,-1,-1,-1,-1 10000,-1,-1,-1,-1,-1,-1,-1,-1,-1 0 0 0 0,-1,-1,-1,-1,-1,-1,-1,-1,-1 0,-1,-1,-1,-1,-1,-1,-1,-1,-1 10 1 1000 0 0 1 0 122 35000 0 10000 0 1500 2000 20 500 600 200 100 158 200 1000 800 250 2500 600 0 23 97 23 23 23 23 20 0 0 0 225000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1.0,1.0,1.0 1558 Маленький дракон xxx 4 5 911 0 1 1 1 1 1 1 1 0 0 0,0 0 0,0,0 1 911 100 370 371 372 0 0 0 0,-1,-1,-1,-1,-1 2.996 1.75 3.803 40 1,5 2,5 399 398 0 0 0,0,0 1 1 0 0 25,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 70,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 885,-1,-1,-1,-1,-1,-1,-1,-1,-1 10000,-1,-1,-1,-1,-1,-1,-1,-1,-1 0 0 0 0,-1,-1,-1,-1,-1,-1,-1,-1,-1 0,-1,-1,-1,-1,-1,-1,-1,-1,-1 10 1 1000 0 0 1 0 122 35000 0 10000 0 1500 2000 20 500 600 200 100 158 200 1000 800 250 2500 600 0 23 97 23 23 23 23 20 0 0 0 225000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1.0,1.0,1.0 1559 Семиголовый дракон xxx 4 5 912 0 1 1 1 1 1 1 1 0 0 0,0 0 0,0,0 1 912 100 370 371 372 0 0 0 0,-1,-1,-1,-1,-1 18.3 16 8.5 1000 1,5,0 2,5,0 399 395 0 0 0,0,0 1 0 0 0 25,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 70,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 885,-1,-1,-1,-1,-1,-1,-1,-1,-1 10000,-1,-1,-1,-1,-1,-1,-1,-1,-1 0 0 0 0,-1,-1,-1,-1,-1,-1,-1,-1,-1 0,-1,-1,-1,-1,-1,-1,-1,-1,-1 10 1 1000 0 0 1 0 122 35000 0 10000 0 1500 2000 20 500 600 200 100 158 200 1000 800 250 2500 600 0 23 97 23 23 23 23 20 0 0 0 225000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1.0,1.0,1.0 1560 Древняя акула xxx 4 5 913 0 1 1 1 1 1 1 1 0 0 0,0 0 0,0,0 1 913 100 370 371 372 0 0 0 0,-1,-1,-1,-1,-1 2.996 1.75 3.803 40 1,5 2,5 399 398 0 0 0,0,0 1 1 0 0 25,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 70,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 885,-1,-1,-1,-1,-1,-1,-1,-1,-1 10000,-1,-1,-1,-1,-1,-1,-1,-1,-1 0 0 0 0,-1,-1,-1,-1,-1,-1,-1,-1,-1 0,-1,-1,-1,-1,-1,-1,-1,-1,-1 10 1 1000 0 0 1 0 122 35000 0 10000 0 1500 2000 20 500 600 200 100 158 200 1000 2000 250 2500 600 0 23 97 23 23 23 23 20 0 0 0 225000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1.0,1.0,1.0 1561 Демон из Ада xxx 4 5 914 0 1 1 1 1 1 1 1 0 0 0,0 0 0,0,0 1 914 100 370 371 372 0 0 0 0,-1,-1,-1,-1,-1 18.3 16 8.5 1000 1,5,0 2,5,0 399 395 0 0 0,0,0 1 0 0 0 25,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 70,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 885,-1,-1,-1,-1,-1,-1,-1,-1,-1 10000,-1,-1,-1,-1,-1,-1,-1,-1,-1 0 0 0 0,-1,-1,-1,-1,-1,-1,-1,-1,-1 0,-1,-1,-1,-1,-1,-1,-1,-1,-1 10 1 1000 0 0 1 0 122 35000 0 10000 0 1500 2000 20 500 600 200 100 158 200 1000 2000 250 2500 600 0 23 97 23 23 23 23 20 0 0 0 225000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1.0,1.0,1.0 1562 Призрак из Ада xxx 4 5 915 0 1 1 1 1 1 1 1 0 0 0,0 0 0,0,0 1 915 100 370 371 372 0 0 0 0,-1,-1,-1,-1,-1 3.753 3.753 3.481 40 1,5,0 2,5,0 399 398 0 0 0,0,0 1 1 0 0 25,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 70,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 885,-1,-1,-1,-1,-1,-1,-1,-1,-1 10000,-1,-1,-1,-1,-1,-1,-1,-1,-1 0 0 0 0,-1,-1,-1,-1,-1,-1,-1,-1,-1 0,-1,-1,-1,-1,-1,-1,-1,-1,-1 10 1 1000 0 0 1 0 122 35000 0 10000 0 1500 2000 20 500 600 200 100 158 200 1000 2000 250 2500 600 0 23 97 23 23 23 23 20 0 0 0 225000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1.0,1.0,1.0 1563 Дракон xxx 4 5 916 0 1 1 1 1 1 1 1 0 0 0,0 0 0,0,0 1 916 100 370 371 372 0 0 0 0,-1,-1,-1,-1,-1 18.3 16 8.5 1000 1,5,0 2,5,0 399 395 0 0 0,0,0 1 0 0 0 25,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 70,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 885,-1,-1,-1,-1,-1,-1,-1,-1,-1 10000,-1,-1,-1,-1,-1,-1,-1,-1,-1 0 0 0 0,-1,-1,-1,-1,-1,-1,-1,-1,-1 0,-1,-1,-1,-1,-1,-1,-1,-1,-1 10 1 1000 0 0 1 0 122 35000 0 10000 0 1500 2000 20 500 600 200 100 158 200 1000 2000 250 2500 600 0 23 97 23 23 23 23 20 0 0 0 225000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1.0,1.0,1.0 1564 Страж xxx 4 5 917 0 1 1 1 1 1 1 1 0 0 0,0 0 0,0,0 1 917 100 370 371 372 0 0 0 0,-1,-1,-1,-1,-1 18.3 16 8.5 1000 1,5,0 2,5,0 399 395 0 0 0,0,0 1 0 0 0 25,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 70,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 885,-1,-1,-1,-1,-1,-1,-1,-1,-1 10000,-1,-1,-1,-1,-1,-1,-1,-1,-1 0 0 0 0,-1,-1,-1,-1,-1,-1,-1,-1,-1 0,-1,-1,-1,-1,-1,-1,-1,-1,-1 10 1 1000 0 0 1 0 122 35000 0 10000 0 1500 2000 20 500 600 200 100 158 200 1000 2000 250 2500 600 0 23 97 23 23 23 23 20 0 0 0 225000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1.0,1.0,1.0
  14. Have you added textures for new monsters to the client? (Ты добавил текстуры для новых монстров в клиент?)
×
×
  • Create New...