Jump to content

V3ct0r

Administrators
  • Content Count

    2,889
  • Joined

  • Last visited

  • Days Won

    519

Posts posted by V3ct0r


  1. Hello @heinsenberg,

     

    There is a saying in development: there is an error in the NNN line. This is how they answer when a person asks how to solve a problem, but does not provide enough information about the problem. :smile:

     

    Could you please provide more details? What exactly isn't working? What errors? And so on.

     

     


  2. Одними из главных принципов нашего сообщества являются энтузиазм и добровольность. Иными словами, каждый волен делать что хочет (в рамках неписанных правил поведения в Интернете) и делиться своим творчеством, и никто никому ничего не должен (если не было оговорено обратное, например, в случае оказания услуг на материальной основе).

     

    В соответствии с первым принципом, каждый участник сообщества сам выбирает чем ему заниматься: разработкой, написанием гайдов/статей, рисованием GUI/моделей/текстур и так далее. Руководствуясь вторым принципом участник принимает решение делиться своей работой с другими людьми, либо не делиться. Последнее отнюдь не делает кого-то плохим человеком.

     

    Хочу рассказать свою историю. Наверно, кто-то здесь со времен форума maindev.ru помнит человека с ником insider. Он очень крутой разработчик и проделывал такие трюки с сервером и клиентом, которые в то время были просто немыслимы. Например, он первым реализовал функцию HandleChat() в GameServer.exe, трансформацию персонажей, сделал мод для Game.exe, который "воровал" перевод диалогов NPC с ру. оф. сервера, сделал из GameServer.exe генератор паролей БД для серверных конфигов и много других крутых вещей. Насколько я помню, именно он патчил MindPower3D_D8R.dll для поддержки русского языка на ру. оф. сервере. В общем, мы до сих пользуемся его идеями и разработками. Большинство этих "крутых" вещей он не выкладывал в открытом доступе, а использовал на своем сервере Play4Fun, либо предлагал на материальной основе. Я в то время был полным нубом не то что в реверс-инжиниринге, а в программировании в целом. Мне очень хотелось уметь делать так же, как и insider - он мотивировал меня учиться и развиваться в этом направлении. И я ему очень благодарен за это! Что бы было, если бы он делился со всеми своими разработками? Скорее всего, у меня не было бы интереса к развитию.

     

    On 11/26/2023 at 11:10 AM, destroger said:

    Так может поэтому оживленность на форуме вялая потому что преобладает алчность..... 

    А начиналось всё чисто на энтузиазме и любви к игре. 

    И где теперь все это..... 

    Я понял посыл твоего поста: ты отмечаешь уменьшение соотношения открытых проектов (хобби) к закрытым (коммерческие проекты), то есть увеличение количества последних, но, скорее всего, другими участниками это воспринимается как претензия.

     

    Вспоминается ламповая атмосфера на форуме ragezone.ru, а далее и на maindev.ru. :smile:

     

    On 11/26/2023 at 8:53 AM, small666 said:

    🙄 Я с исходниками ни когда не работал и может глупость скажу , а почему бы не собрать коллективно на основе этих исходов сборку что то типо этого ( PKO 1.38 [RUS] ) и немного заодно оживить тем самым форум ?

    Это так мысли.🤗

    Попробую ответить на твой вопрос. Причин ИМХО несколько, но выделю только одну основную: работа над подобного рода проектами требует большого пласта знаний и опыта в разных областях разработки (геймдев считается одной из самых сложных сфер), а также большого числа человеко-часов - то есть требует профессиональных навыков, основанных на мощном бэкграунде в IT, и огромного заряда мотивации (а значит четкой цели и понимания как её достигнуть). Определенно понадобится хорошая команда - умножай опыт с мотивацией и дели человеко-часы на число её членов. Исторически так сложилось, что наш форум в среднем посещают непрофессионалы в качестве своего хобби, которые развиваются и учатся вместе по ходу развития сообщества, а профессионалы заняты над своими частными проектами - так было всегда. Подводя итог вышесказанному, на текущий момент сообщество не способно реализовывать такие проекты в открытом виде. И это не хорошо и не плохо.

     

     

    В завершении своего поста хочу отметить несколько активных проектов, за которыми я с интересом слежу, чтобы показать что не все так плохо:

     

    1. Порт нашей игры на движок Unreal Engine, которым занимается @defohost

    На мой скромный взгляд очень приятная графика и крутые ассеты.

     

    2. Разработка эмулятора сервера от @nyarum12

    Одной из особенностей проекта является то что автор проводит очень теплые, ламповые стримы.

     

    3. Порт игры на мобильные устройства (MagicSea Online)

    Очень интересно наблюдать за преображением игры и профессиональным подходом к разработке.

     

    4. Рефакторинг серверной части от @NoWinFate

    На данный момент проект сервера переведен на C++23, механизм IOCP и LuaJIT.

     

    • Like 2

  3. 21 hours ago, mkhzaleh said:

    without source? no just alot of work
    you still can workaround using
    BagTempHasItem to check if temp bag has swing id or not , you have to use "MoveToTemp" function to move it from inventory to temp bag "not sure if this exist in compiled exes
    or using giveitemX but do not add gems in it or anything/?
     

    As a solution it is possible to patch lua function GetChaItem(), or, to be more precise, SItemGrid* CCharacter::GetItem2(Char chPosType, Long lPosID). This function can only work with equipped items (chPosType = 1) and main inventory (chPosType = 2). With the help of the patch, it will be possible to obtain the attributes of items in a temporary bag (chPosType = 3) by slot number.

     

    With this modification I did the following:

    On 7/19/2018 at 9:25 AM, V3ct0r said:

    bracelet.png

     

    This modification adds into the game new types of equipment from 2.x versions - bracelets, belt, handguards.

     

    To put a new type of equipment on the character, double-click on the corresponding icon in the character's inventory, after which the equipment will appear in the temporary bag. In order for the equipment to give the character attributes, it is necessary to arrange it in a temporary bag in a certain order (see screenshot):

    • 1 and 2 slots - bracelets;
    • 3 slot - belt;
    • 4 slot - handguards.

    Equipment has limitations in level and class, the character must meet certain requirements in order to use it.

    The attributes of the new equipment are specified in ItemInfo.txt, just like for any other type of equipment.


  4. 36 minutes ago, Nik said:

    Привет!

    Проверял. Да карта загрузилась.

    Значит просто нет в неё входа?

    Как его сделать?

    Как войти в карту?

    Например, с помощью GM-команды:

    &move <Координата X>,<Координата Y>,07xmas

     

    Чтобы сделать предмет или NPC, которые отправят игрока на данную карту, предлагаю изучить скрипты уже существующих предметов-билетов ("Билет до Серебряного", например) и NPC-портальщиков (например, "Портальщик Аргента - Джовиал") соответственно.

     

    Также на форуме есть гайды:

     

     

    • Like 1

  5. Hello @dragontechi,

     

    You shouldn't use 60fps_impl/60fps_impl.vcxproj project. As far as I remember, this is a debug project for a specific version of Game.exe. Instead, you need to use pkodev.mod.60fps.impl_NNN.dll for your version of Game.exe, according to the instructions in the first post.

     

    I also remind you again that the mod is deprecated and it is better not to use it.

     

    On 12/20/2023 at 8:42 PM, RafaelaMartins said:

    Hi @V3ct0r, you will fix this mod? thank u and have a good day! ❤️

    Hello! No, this is not in my plans, unfortunately. Have a good day too!

    • Like 1

  6. 7 hours ago, Daxter said:

    When you mention GameServer scripts, are you referring to the source code? I'm not very knowledgeable in C++, so I admit i haven't looked into it

    No, I refer to GameServer lua scripts, which are located in the GameServer/resource/script/ directory. Analysis of the source code of these functions in C++ can, of course, give more understanding of the specifics of their operation.

     

    If you just need to give an item to the player, use the GiveItem() function. If you need to create an item, get and set its attributes, then use the MakeItem() function in conjunction with the GetChaItem(), GetItemAttr() and SetItemAttr() functions.

     

    7 hours ago, Daxter said:

    Right, but there's nothing like a list of outcomes to consult? So I'll have to look it up in other scripts?

    Look at function Creat_Item(item, item_type, item_lv, item_event) from \GameServer\resource\script\calculate\AttrCalculate.lua. The item_event parameter is the quality/type of the item being created. This function performs some manipulations with the item, depending on the parameter. For Type = 95 it will be:

    elseif item_event == QUEST_AWARD_SCBOX then
    	count = CreateItemAttrCount ( item_type , item_lv , item_event , quality , Item_Attr_95 )
    • Thanks 1

  7. Привет, @Nik!

     

    Что подразумевается под "не помогло"? Какая-то ошибка? 

     

    В окне GameServer в списке "Map List" должна появиться карта "07xmas" с надписью "ok" напротив. Это означает, что карта установлена и запущена корректно:

    image.png

    • Like 1

  8. Выкладываем исходный проект Unity3D для данного демо.

     

    Проект разрабатывался на версии Unity3D 2018.2.11f1, но так же открывается и запускается на более поздних версиях, например, 2022.3.13f1.

    image.png

     

    Выкладывается "как есть" и не претендует на качественное исполнение.

     

    Скачать (Google Drive) - 117,5 Мб

    • Thanks 1

  9. Hello @hdcs1212,

     

    There are nothing great or revolutionary. Anyone who has basic Unity3D and programming skills can make such a demo. Also, all materials and tools are publicly available, for example, a program for exporting models and animations from the game client.

     

    At the moment I am not interested in developing such projects, but I can talk to you about this topic here.

     

    Also, if anyone is interested, we can post the source code of the project on the forum.


  10. Hello @StaffEN,

     

    3 minutes ago, V3ct0r said:

    These mods and the tool work only with official 1.3x Game.exe. There a number of official builds of 1.3x Game.exe. They are similar in their binary structure, but still have some differences that are critical when developing mods. It's hard to develop mods for every single version of Game.exe, so I only supported 6 of them, which are most often used by administrators and players.

     

    The message says that your Game.exe is not included in the set of supported Game.exe.

     

    Note 1: I don’t know what specific versions these Game.exe have (1.35, 1.36, 1.38 or 1.39), but they all fall under the definition of version 1.3x. 

    Note 2: As you can understand, mods do not work with Game.exe, which are obtained after building the Corsairs Online source codes (when you use source codes, there is no need to use mods - you can make changes directly to the source code, which is much easier).

     

    You can try using Game.exe from this archive.

    • Thanks 1
×
×
  • Create New...