Jump to content


Popular Content

Showing content with the highest reputation since 09/21/2019 in all areas

  1. 2 points
    @VJOSEPHD 1. https://piratia.su/topic/557-ustanovka-microsoft-sql-server-2008-r2/ russian screenshot.. I think normal) 2. 1.36 use the most administrators + there is protection + many innovations.
  2. 2 points
    What would it be like to fly the same top in sword art online?
  3. 1 point
    Corsairs Online was a server developed by @KONG @Billy @Wrexor @Mii @Foxseiz @Snre3n Recently, there was a thief who stole the source codes to use it. Many of you already know who he is, @Xeon (also known as: Jared Fry, Xeon, Zeroix, Jay, Xeon97). A very dishonest guy, but it is nothing new to the majority of the community. First, he said he followed my instructions and made his own version of guild bank, but I already knew he doesn't know C++. Then he later said @MouradC / @MouradMS made it. What is done is done, he will continue to spread lies and justify his action, does not concern me. Below, is the repository that CO source resides, this is CO's team (the above) last contribution to PKO Development. https://bitbucket.org/{2e106d14-da36-429f-bac8-f69975e19841}/ Hope this helps the development of PKO/TOP. P.S this is not a thread to bash on the code thief, this is a thread to further the development of PKO and why CO source is released.
  4. 1 point
    https://mega.nz/#!6g0VnKaR!B4aDddQPivR4o02LKRlpGghGEQwm1rKO2PwbVC6ufg8 Old version, might not work properly
  5. 1 point
    u can use this guide or dm me your tv i can help soon
  6. 1 point
    i would suggest to use last version , since its updated and free , i'm using it all running fine to install just search in google for SQLServer2017-SSEI-Expr and SSMS-Setup-ENU normal installation
  7. 1 point
    1. Icons in character names This modification allows you to set various icons opposite character names using lua-functions in server scripts: -- Set character icon SetPlayerIcon(role, icon_id) -- Get current character icon local icon_id = GetPlayerIcon(role) 2. Clock synchronized with server time This clock shows the current server time and does not depend on the time set on the player’s computer. 3. Hide stalls button This modification of the client adds a button that allows players to hide the names of trade stalls.
  8. 1 point
    @VJOSEPHD I recommend use MSSQL 2017 Express because it is the latest version, it is free and I use it myself. I agree with previous speakers on these questions.
  9. 1 point
    1. Иконки перед именем персонажей Данная модификация позволяет устанавливать персонажам различные иконки напротив их имен с помощью lua-функций в скриптах сервера: -- Установить иконку игроку SetPlayerIcon(role, icon_id) -- Получить текущую иконку игрока local icon_id = GetPlayerIcon(role) 2. Часы синхронизированные со временем сервера Данные часы показывают текущее время сервера и не зависят от времени, установленном на компьютере игрока. 3. Кнопка, которая скрывает названия торговых ларьков Данная модификация клиента добавляет кнопку, которая позволяет игрокам скрывать названия торговых ларьков.
  10. 1 point
    Привет, @Graf! Из PHP 7.x были удалены старые MSSQL функции и теперь для работы с базами данных предлагается использовать интерфейс PDO.
  11. 1 point
    Available e-mail domains for registration Hello friends! Due to the recent increase in the registration of spam bots on the forum and in order to combat spam, a white list of e-mail domains has been introduced to register new users. Now you can register on the forum only using the electronic mailboxes of the following servers: mail.ru bk.ru yandex.ru ya.ru msn.com outlook.com gmail.com hotmail.com hotmail.es yahoo.com yahoo.co.uk Registration of new users using e-mail with other domains is prohibited. In this topic, suggestions are accepted for inclusion in the white list of other large e-mail servers that for some reason did not get here.
  12. 1 point
  13. 1 point
  14. 1 point
    @VJOSEPHD If game with friends i will be take 2.4)
  15. 1 point
    1, I'm myself using MSSQL 2k14 on latest Windows 10 64-bit version, if it's gonna be a home server ( just friends ,etc go on any version 2008 or 2012/2014 ) 2, if you have a static IP, you can just forget about hamachi but if not, then go for the new hamachi, vpn.net yes... 3, There is TOP 1.36 and 2.0 they are likely the same ( in the gameplay view ) there is pko 2.4 files which looks like TOP II etc new eq slots and so on.. 4, You can go on the mega archives and check server files names, copy name and search on youtube to check videos of the servers which had been created before for those files and pick up what you like hope I helped.
  16. 1 point
    Now Bk Have A demo online, come test, and tell us, your opinion is what you think should be different. https://we.tl/t-HPjVXScPpe
  17. 1 point
    I agree. Not everything that sounds good or works for other game will work for PKO. FlyFF first introduce the concept of flying but their game revolve around it. Big maps, Flying boards, models, animation, sky monsters, “Fly” in their name. It all revolves around it. Make a new “mysterious” map, and 3 seconds later it is no longer mysterious because of flying mechanism for such game like PKO, while it’s true essence is to explore. That’s the whole Pirate theme! Should focus and strengthen on the game’s weak points instead of adding ideas that makes no sense just because other games have it.
  18. 1 point
    At first the project revolved around trying to get some "better" lua code going, but ended up being at attempts at winging the 2.x C++ source code to work successfully, ofc with the great help from @Snre3nfrom the C++ side of things. The instructions on how to build and more info on it are in https://gitlab.com/deguix/top-recode. Sry for not making a thread earlier, I'm not really good at publishing stuff, and also a bit afraid of going all out on it too because of my limited time that I can dedicate to it. Also have a discord: https://discord.gg/uwcR74E. It's a bit of a mess, but I guess you can bug me there too if you like. Just don't bug me too much, as in, please have some previous experience in development. I definitely want to hear about the success of compiling it, because that's something most people struggle with with any C++ project on Windows. Anyways, most of the notifications I get are from people not being able to compile it. Just run build.bat as admin please and tell me the errors that pop up. Oh yes, this project built by default will only work on Windows 10 and above. You can install the Windows 7 SDK and retarget all projects to use that, not sure if errors will pop up though. I won't support it. I use currently MSQL 2017. Once MSQL 2019 gets released, use it, and you can have free UTF-8 support. On Windows 10, there's a feature to force all older apps to use UTF-8. Remember, it only works with MSQL 2019! Older MSQL won't run!
  19. 1 point
  20. 1 point
    Вот на год вам архивчик запилил ver1 чуть позже закину ver2 http://imordo.ru/v1/maindev/maindev/index.htm
  21. 1 point
    Вот вам и ver2 http://imordo.ru/v2/Dev/forum.maindev.ru/index.html чуть позже, поиск сделаю (если нужен конечно)
  22. 1 point
    Здравствуйте! Это руководство по установке и настройке интернет магазина Просто следуйте шаг за шагом... 1-й шаг скачать "IGS" файл ниже: (этот файл включает в себя базу данных tradedb.sql,TradeServer, InfoPasswd) Сcылка на файл - "Link" 2-й шаг Откройте файлы. Извлеките его на сервер или поместите куда-нибудь еще... 3-й шаг Вы должны создать базу данных в своем "SQL Servere 20xx" под названием "tradedb" база данных находится внутри "IGS".rar-файл. 4-й шаг Настройка файлов IGS. Откройте Файл "Config.cfg" находится он в файлах "IGS" [Service] name = TOP/PKO IGS 1.35 - 2.0 port = 1985 rate = 1 [Database] serv = // здесь (Имя сервера, которое используется для ввода в SQL Server Management) usr = test-igs // здесь (Имя Пользователя Базы Данных "TradeDB") pwd = 8e862daca2c0189c82eae8b938fc1396 // здесь пароль пользователя базы "TradeDB" (Внимание!!! пароль должен сконфигурирован в "InfoPasswd" это обезательно!) DB = tradedb 5-й шаг. попробовать запустить "TradeServer.exe" (вы должны увидеть это см.скрин) 6-й шаг Откройте "GameServer.cfg" (GameServer2.cfg, GameServer3.cfg и т.д...) Впишите данную страку в ваш "GameServer.cfg" (как должно выглядеть ниже см.скрин) info = (, (Port для IGS), (Пароль имени пользователя в SQL Manager "TradeDB"), 1 Итог что должно получится [Gate] gate =, 1971 info =, 1985, moliyo#TradeServer@bird&man, 1 7-й шаг перейдите в sql manager, и откройте "tradedb", и вы увидите "dbo.Safety" теперь щелкните правой кнопкой мыши и выберите "Изменить первые 200 строк" 8-й шаг Вы должны увидеть это Вам нужно изменить "столбцы" в соответствии с вашим IP, паролем, и количеством "GameServer'ов" которых вы используете. Если Вы используете 1 GameServer", то он должен быть только один!!!.. Пример я использую 4, поэтому у меня здесь 4 столбца. (Примечание: Вы должны вписать свой IP не в dbo.Safety, чтобы ваши игроки смогли подключатся в IGS) 9-й шаг Запустите сервер AccountServer, GateServer, GroupServer, все ваши Gameservers, которые вы используете... затем запустите TradeServer Если вы все правильно сделали увидите вот это 10-й шаг войти в игру. подождите 2-3 минуты и нажмите кнопку "Магазин" возле мини-карты. введите свой код безопасности, после этого должен открыться сам магазин. Если в течение 2-3 минут ожидания, вы ввели свой код безопасности, а затем вас швырнула на сайт в браузере, значит вы пропустили что-то, проверьте файлы и настройки еще раз. Данное руководство "НЕ ПАНАЦЕЯ!!!" и имеет изъяны и не завершенности, оно сделано для начинающих!! чтобы примерно представить, что это из себя представляет! а не брать за основу а потом (кукарекать) Если у вас есть проблемы с этим. пожалуйста, опишите детально проблему. Я попытаюсь помочь. Оригинальная тема Ссылки на разные версии IGS: - IGS для Серверов 2.4 "Link" - IGS для Серверов 1.3x - 2.0 "Link" - IGS для Серверов 1.3x - 2.0 By Xero "Link" - IGS для Серверов 2.7 "Link" - Программа для Добавления/Изменения предметов в Магазине "Link"
  23. 1 point
    Hello There! Just a brief summary: ToP is originally coded in C++ (Source code is available in this forum) and Lua. It uses SQL database. Most PKOsites are coded in PHP. It's really up to you where you'll want to guide your learning path, but as a personal suggestion, start learning LUA (https://www.lua.org/docs.html). Most ingame scripts are coded in LUA (NPCs, Missions, Item Effects, Attributes, Skills, even the AI; and also, most of the releases of this forum are for those kind of scripts). You could also learn a bit about SQL (mainly UPDATE, INSERT and basic Queries) 'cause you can find here an awesome extension called LuaSql, which allows you to play with your database from ingame events. Once you're familiar with it's language, and you feel like you can pretty much do everything you want to in LUA (a good way to prove you're confident enough is to understand advanced pkodev extensions - such as Hooks, Serialize, AntiDupes, AI Behaviours - ), you can dive into C++ learning to making your own extensions, or edits on the source code. This is really advanced shit, it'll take you some time to get familiar with LUA first. Use PkoDev Search Engine, Guides Section, Releases Section, Lua docs, Google and Youtube. You can do it ☺ --Edit: Forgot to say, despite all the information you can get from the internet, the greatest way of learning is by Doing. Install Basic Server Files, Get to make it run just for you or few friends, and start doing! Start by making an Npc, then a mission, then an usable item, and so on. From basic to advanced, just the same as learning anything else.
  24. 1 point
    Защита GM команд Привет! Предположим, Ваш сервер был взломан и злоумышленник получил доступ к GM-аккаунту. В данной статье я расскажу как обезопасить Ваш сервер от его действий, то есть сделать взлом бессмысленным. Внимание! Особое внимание уделите командам &lua и &lua_all. С их помощью злоумышленник может получить контроль над машиной, где запущен GameServer.exe, со всеми вытекающими из этого последствиями: кража Вашей сборки либо её удаление, вайп базы данных, потеря доступа к машине и так далее. Обсуждение этих команд проходит в данной теме: Все прелести команды &lua. Для обеспечения безопасности Вашего сервера, не используйте имена из примеров данной статьи на своем сервере! Способ №1. Нет GM-команд - нет проблем! Если Вы редко или вообще не пользуетесь GM-командами, то имеет смысл их отключить. Редактировать персонажей и выдавать предметы можно с помощью специальных программ или вручную в базе данных, когда персонаж не в игре. Чтобы отключить GM-команды нужно внести изменения в GameServer.exe. Версия | Размер (КБ) | Адрес --------+-------------+------------ 1.36 | 2 040 | 0x000DE1E8 1.38 | 2 088 | 0x000E6852 2.0 | 3 000 | 0x00161349 Откройте GameServer.exe в любом HEX редакторе и перейдите по адресу из таблицы. Я буду работать с 1.38 GameServer.exe в редакторе HxD. Замените 23 байта начиная с этого адреса на 0x90 Сохраните проделанные изменения и убедитесь, что в игре не работают GM-команды. Способ №2. Переименовывание GM-команд. Злоумышленник не сможет воспользоваться GM-командами, если он не будет знать их названия. Итак, Вам придется переименовать каждую команду. Чтобы изменить название GM-команды, откройте GameServer.exe в любом HEX-редакторе. Затем найдите GM-команду и измените ее название. Длина нового названия должна быть такой же, как и длина старого. Для примера, переименуем команду &make в команду &give. Обратите внимание, что длины строк "make" и "give" равны (по 4 символа). Открываем GameServer.exe в HEX-редакторе и ищем строку "make": Вам будут попадаться строки, которые содержат в себе подстроку "make" (например, "MakeItem", "make failed!", "GMmakeLog" и др.). Игнорируйте их и продолжайте поиск. Когда Вы найдете нужную строку, Вы увидите рядом названия других GM-команд: Заменяем на "give": Сохраните проделанные изменения. Повторите данные действия для каждой GM-команды. Список адресов GM-команд GameServer.exe версии 1.36 (2 040 КБ): GameServer.exe версии 1.38 (2 088 КБ): GameServer.exe версии 2.4 (3 000 КБ): Способ N3. GameServer.exe с функциями HandleChat(), GetGmLv() и SetGmLv() Для реализации данного способа Вам потребуется модифицированный GameServer.exe с функциями HandleChat(), GetGmLv() и SetGmLv(). Функция HandleChat(userdata role, string message) срабатывает, когда игрок пишет сообщение в местный чат. Так как GM-команды отправляются также в местный чат, Вы можете написать скрипт, который будет контролировать выполнение команд. Например, Вы можете сделать так, чтобы GM-команды срабатывали только при условии, что их отправляет персонаж с определенным именем или ID. Плюс ко всему, можно сделать чтобы этот персонаж должен еще состоять в определенной гильдии, в которую входят только администраторы и GM Вашего сервера. Все зависит от Вашей фантазии. Чтобы узнать, что персонаж является GM, используйте функцию GetGmLv(userdata role). С помощью функции SetGmLv(userdata role, number level) можно изменять GM-уровень аккаунта, к которому прикреплен персонаж. Например, в той же функции HandleChat() можно сбрасывать GM-уровень аккаунта в 0, если персонаж не прошел проверку. Реализуем простую систему контроля GM-команд: 1) GM-команды могут выполнять только персонажи с именами: "V3ct0r", "pkodev" и "Administrator"; 2) В случае, если персонаж GM и он не прошел проверку, сбросить GM-уровень до 0, кикнуть персонажа с сервера и отправить сообщение администратору в консоль GameServer.exe. Для начала создадим в файле variable.lua массив с именами персонажей, которые могут использовать GM-команды. Назовем его PlayerCanUseCmd: PlayerCanUseCmd = {} PlayerCanUseCmd["V3ct0r"] = 1 PlayerCanUseCmd["pkodev"] = 1 PlayerCanUseCmd["Administrator"] = 1 Затем напишем скрипт для функции HandleChat() в файле functions.lua: -- Обработчик местного чата function HandleChat(role, message) -- Проверяем что персонаж GM if (GetGmLv(role) > 0) then -- Проверяем что персонаж отправил GM-команду if (string.find(message, "&") == 1) then -- Проверяем имя персонажа local cha_name = GetChaDefaultName(role) if (PlayerCanUseCmd[cha_name] ~= nil) then -- Персонаж может использовать GM-команду return 1 end -- Персонаж не может использовать GM-команду -- Сбрасываем GM-уровень до 0 SetGmLv(role, 0) -- Кикаем персонажа с сервера KickCha(role) -- Пишем сообщение администратору в консоль сервера print("Player [" .. cha_name .."] trying to use GM command!") -- Запрещаем выполнение GM-команды return 0 end end return 1 end Для кика персонажей нам понадобится функция KickCha(), добавьте ее также в functions.lua: function KickCha(character) local pkt = GetPacket() WriteCmd(pkt, 1505) SendPacket(character,pkt) end Тема открыта для обсуждения. Пишите свои вопросы и идеи в комментариях!
  25. 1 point
    Server files / resource / scripts / calculation / variable.lua Ctrl + f ( FIND ) "StoneAttrType_Num" edit the number to + 1 w/e it is currently is (adding 1 gem) this will be known as ## StoneAttrType_Num = ## Continue scrolling to the end of "StoneAttrType" list, add, and edit this StoneAttrType [##] = ITEMATTR_VAL_AAAA ## = same as above Replace AAAA with one of the following STR --Strength DEX --Accuracy AGI --Agility CON --Constitution STA --Spirit MXHP --Max Hp MXSP --Max Sp MNATK --Attack DEF --Defense HIT --Hit rate FLEE --Dodge MF --Raise drop rate o_O untested --lol pick pocket-- CRT --Crit rate HREC --Hp rec SREC --Sp rec ASPD --Attack speed MSPD --Movement speed PDEF --Physical resistance Next Find "StoneEff_Num" Then edit the number ## to same as above Continue Scrolling to the end of "StoneEff" list, add, and edit this StoneEff [##] = # ## = same as above Replace # with the amount of stats the gem will give Next Find "StoneTpye_ID_Num" Then edit the number ## to same as above Continue Scrolling to the end of "StoneTpye_ID" list, add, and edit this StoneTpye_ID [##] = #### ## = same as above Replace #### with Iteminfo.txt ID Next find "StoneEffType" Continue Scrolling to the end of "StoneEffType" list, add, and edit this StoneEffType[##] = # ## = same as above Replace # with effect type 1-4 1) attack 2) defense 3) havent seen it used 4) other Next find "StoneItemType" Continue Scrolling to the end of "StoneItemType" list, add, and edit this StoneItemType[##] = { #,0 } ## = same as above Replace # with where u want the gem to go (can be more than one ex: {11,22,27,0}) 1) 1 handed sword 2) 2 handed sword 3) Bow 4) Firegun 7) daggers 9) Staffs 11) shield 20) ami caps 22) armors 23) gloves 24) shoes 27) tattoos Note: I don't know who owns this guide, it's been posted by serverdev admin so I'm sure it's not his guide.