-
Content Count
2,889 -
Joined
-
Last visited
-
Days Won
519
Posts posted by V3ct0r
-
-
-
On 12/28/2023 at 3:36 PM, Graf said:I see later. Thanks
In the attached screenshot we see the text in Russian when English is selected ("Изменения внесены!").
- 1
-
-
Hello @ItzLoganDuh,
It looks like the version of your decompiler does not match the version of the .bin file.
Hello @StaffEN,
Did this bug appear before or after using the tool?
-
Hello @StaffEN,
--[[ NpcSdk.lua Lines elseif item.func == GetRankingListing then GetRankingListing( character,item.p1) elseif item.func == PlayerPkPMazeCheck then PlayerPkPMazeCheck( character,item.p1) elseif item.func == PlayerPkPCheck then PlayerPkPCheck( character) elseif item.func == PvPWinnerReward then PvPWinnerReward( character) elseif item.func == PvPWinnerReward2 then PvPWinnerReward2( character) MissionSdk.lua Lines add this somewhere around line 2500 elseif conditions[i].func == CheckIsPvPWinner then PRINT( "ConditionsTest:CheckIsPvPWinner, p1 = ", conditions[i].p1 ) local ret = CheckIsPvPWinner( character, conditions[i].p1 ) if ret ~= LUA_TRUE then PRINT( "ConditionsTest: CheckIsPvPWinner = false" ) return LUA_FALSE end elseif conditions[i].func == CheckIsPvPWinner2 then PRINT( "ConditionsTest:CheckIsPvPWinner, p1 = ", conditions[i].p1 ) local ret = CheckIsPvPWinner2( character, conditions[i].p1 ) if ret ~= LUA_TRUE then PRINT( "ConditionsTest: CheckIsPvPWinner2 = false" ) return LUA_FALSE end ]]--
Did you add these changes to files NpcSdk.lua and MissionSdk.lua?
-
Hello @Daxter,
MakeItem() as a result returns two variables (a tuple): success flag (boolean) and position of the created item in the character's bag:
r1,r2 = MakeItem(role, <Item ID>, <Amount>, <Quality/Type>) -- if r1 == 1 then the item <Item ID> x <Amount> of quality <Quality/Type> is successfully added to the inventory/bag. -- r2 contains the number of the inventory slot in which the created item is placed if r1 == 1
GiveItem() returns just a success flag:
r1 = GiveItem(role, 0, <Item ID>, <Amount>, <Quality/Type>) -- The second parameter is an NPC descriptor, usually it equals 0.
You can see examples of using both functions in GameServer scripts.
On 1/8/2024 at 1:41 AM, Daxter said:Bump
Can anyone help with (at least) the item quality part? Function name, or list of values. From what I've gathered 4 seems to be the default, but there's also 96? And from 101+ it's used for gem levels
It depends on the type of item (gem, fairy, etc). For regular items, I think you can use value 4.
- 1
-
Hello @devilmaydie770,
I can assume the following:
1) The server architecture is a microservice; your idea of running all maps on one instance of GameServer contradicts this approach;
2) This requires a lot of work with an incomprehensible result (change data types and functions/procedures to those that work with 64-bit data types).
-
In accordance with the @nyarum12's post, the development of the emulator will continue in the zig programming language:
-
On 12/31/2023 at 7:07 PM, nyarum12 said:Интересно, поднимается ли архив при новых сообщениях
Я вернулся, у меня были разьезды по зарубежу
Гласный факт о стабильной работе был нарушен, и в целом хуйня идея была
Сервер вернется только в виде эмулятора и уже очень скоро, официальную сборку я не хочу больше трогать
Всем писПривет!
Вытащил тему из архива.
P.S. Ждем эмулятор
- 1
-
-
Привет, @Nik!
GameServer
1) Поместить папку 07xmas в директорию GameServer\resource\;
2) Добавить карту 07xmas в файл GameServer\resource\script\MisScript\ScriptDefine.lua:
AddMap("07xmas", "\205\238\226\238\227\238\228\237\255\255 \196\229\240\229\226\237\255") --ID = 27 (Новогодняя Деревня)
3) Добавить карту в GameServerXX.cfg (где XX - номер, либо может отсутствовать):
[Map] ... map = 07xmas
4) При необходимости организовать вход на карту для игроков (предмет-билет, NPC-портальщик, портал и др.).
Клиент
1) Добавить файлы 07xmas.obj и 07xmas.map в директорию Клиент\map\;
2) Добавить файл 07xmas.pk в директорию Клиент\texture\minimap\07xmas\;
3) Добавить строку в файл Клиент\scripts\table\mapinfo.txt:
27 07xmas Новогодняя деревня 1 150,150 3,150,150 255,255,255
4) Добавить строку в файл Клиент\scripts\table\areaset.txt:
135 Новогодняя Деревня 233,118,107 -1 128,128,128 255,255,255 -1,-1,-1 0
5) Скомпилировать файлы mapinfo.txt и areaset.txt с помощью команды table_bin.
- 1
-
On 12/20/2023 at 9:42 PM, Andy said:there is bug with the client. after you log and get the reward. double click on pots, chest. etc doesnt work anymore. you need restart client
Hello @Andy,
Yes, there is the problem in the pkodev.mod.reward.client\dllmain.cpp file.
Change
// bool CCommandObj::IsAllowUse() bool __cdecl IsAllowUse() { return false; }
to
// bool CCommandObj::IsAllowUse() bool __cdecl IsAllowUse() { return true; }
and rebuild the mod using Visual Studio version 2019 or newer.
- 1
- 1
-
-
10 hours ago, NoWinFate said:What is the function of these files? Why are they needed?
Something related with the game protocol encryption, they are used by class NetIF.
- 1
-
-
-
// Вывод рейтинга if (_IsShowName && _pOwn->IsPlayer()) { if (_pOwn->getGuildID()) y -= 14; static char szTextRating[32u] = { 0 }; sprintf(szTextRating, "- [%d] -", CalculateRating(_pOwn)); static const DWORD COLOR_TEXT_RATING = 0xFF00FFFF; const int nDrawX = x - (CGuiFont::s_Font.GetWidth(szTextRating) / 2); const int nDrawY = y - 28; CGuiFont::s_Font.BRender(szTextRating, nDrawX, nDrawY, COLOR_TEXT_RATING, COLOR_BLACK); }
// Подсчет рейтинга inline int CalculateRating(const CCharacter* pCha) { const SGameAttr* pGameAttr = pCha->getGameAttr(); int nPowerCounter = 0; nPowerCounter += pGameAttr->get(ATTR_HP); return nPowerCounter; }
Функцию CalculateRating() хорошо было бы сделать членом какого-нибудь класса, например class CHeadSay или class CCharacter.
Вопрос: будет ли это работать для персонажей других игроков? Так как есть сомнения, что сервер присылает (синхронизирует) характеристики других персонажей нашему клиенту, и для других игроков рейтинг будет отображаться некорректно. Если код задумывался для отображения рейтинга только нашего персонажа, то можно заменить:
if (_IsShowName && _pOwn->IsPlayer())
на:
if (_IsShowName && _pOwn->IsMainCha())
Стоит учесть, что в некоторых случаях рейтинг персонажа может уйти в минус. Если говорить про ATTR_HP, то лучше взять ATTR_MXHP, и так далее.
P.S. Не тестил код выше.
- 1
- 1
-
-
-
On 11/23/2023 at 11:59 AM, Vehd said:Привет @V3ct0r
Вить тут можно сделать и так и так , Я могу сам за ней следить нужен человек который только поможет мне все запустить , бд,им , и т.д . на этом все (если проблем не будет ) ибо сервер с обновами на 2 года в перед . Если же по 2му пункту я и на 20% согласен
Привет, @Vehd!
Спасибо за ответ! Хочу пожелать удачи с проектом!
-
Маленький факт: MindPower3D_D8R.dll (библиотека движка) из официального русского клиента ("Пиратия") был пропатчен чтобы поддерживать русский язык.
- 2
-
On 5/30/2023 at 1:54 AM, Arcerz said:
I pulled a client from this clean release: https://pkodev.net/topic/6130-release-clean-top-138-client/
And this is the header in the included Game.exe: https://i.imgur.com/yn2Auw7.png
Is this just an "uncommon" version, or am I misreading the timestamp?Hello @Arcerz,
You can check your Game.exe with this program:
-
Hello @gunnapong,
Unfortunately, I don’t have time right now to search for the necessary addresses to support your Game.exe.
-
Hello @aoodi,
You can find instructions for installing mods in this topic:
I don't see the point in recording a video.
Mod loading system for server and client (PKOdev.NET mod loader)
in Mods for client and server (PKOdev.NET mod loader)
Posted · Report reply
Hello @Daxter,
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).