-
Content Count
257 -
Joined
-
Last visited
-
Days Won
28
Posts posted by BETEP/macs509
-
-
3 часа назад, Nik сказал:В самом начале ещё, при установке, запускал антианнимацию в клиенте.
А сейчас решил что зря.
Как вернуть красоту, подскажите!
Что бы и подраться видно было и фейерверки в небо пускать. Помню много всего там раньше было.
Посмотри что было в архиве с антианимацией и верни обратно. Все файлы моделей и текстур нельзя копировать, будут проблемы с клиентом. Шмот белый потомучто скопировал только 3d модель, а текстуру не скопировал. Для вещей используется обычно 1 текстура у монстров и зданий может быть больше. У вещей текстура имеет обычно такое же имя как и модель (посмотреть остальные можно через вьювер). Когда используешь поиск смотри где путь где лежи модель и текстура и в своём клиенте размещай так же.
- 1
-
В 23.02.2024 в 18:52, Nik сказал:Спасибо! Всё сделал, всё читается.
Правда пришлось в квесте итем поправить(заменить), нет у меня такого Красного мешочка в итеминфо.
В других сборках видел.
Кстати, если не трудно, подскажите как из других сборок можно шмот переносить (аппарели и проч.)
Это ведь не только строчки скопировать-вставить.
Я билет так переносил, только колонку одну удалил, не грузилось - как у всех сделал. )
Если модель предмета и его иконка есть в клиенте, то просто копировать строки.
client\texture\icon тут находятся иконкимодели под каждого персонажа свои, если предмет для карциза, то модели для ами не будет. Хотя если прописать имя модели допустим оружия от другого персонажа оно скорее всего будет правильно отображаться, по понятным причинам с костюмами так нельзя, т.к существенно отличаются.
копируешь название из нужных столбцов и ищешь в папке с игрой
модели просмотреть можно через эту программу :
если в своём клиенте этих файлов нет копируешь в свой клиент модель в папку с моделью, текстуру по такому же принципу.
потом компилируешь iteminfo для клиента и сервера.
аппарели в стандартных файлах должны располагаться в id от 5000 до 6000
расширить можно так:- 1
-
21 час назад, Nik сказал:Перевёл и переименовал всех НПС в Новогодней деревне. Перевёл все их диалоги. Сличал английские и китайские варианты из других сборок и выбирал подходящее.
Столкнулся с проблемой с квестом.
Подскажите где можно перевести(изменить) текст миссии? А то каляка-маляка и в названии и в задании. Чё хочет НПС я хз. )
Например:
AddNpcMission ( 6205 )
На сервере, то что не читаемо, это китайский текст, для прочтения переключи кодировку, переведи.
В клиенте:
Для перевода воспользоваться программой из этой темы:- 1
-
1 час назад, kosty035 сказал:подскажите каким десамблером либо дикомпелятором можно вскрыть фаил "pir_d.exe" и в нем поменять ссылки реги. ссылку на сайт на свои ссылки. пробывал идой про но ида на Английском и там непонять не фига и возможно ли заменить эти ссылки. понял что дикомпилятор нужен каторый для С++
На сайте опубликован исходный код данного лаунчера. Находится в архие в с исходным кодом сервера/клиента называется updatesys_kop. Собирается, запускается без проблем. При использовании ftp, обязательно указать правила доступа к папке с файлами обновления, т.к доступ к ftp данные для подключения записаны в лаунчере в открытом виде.
- 1
-
И если можно сделай такое же видео в китайском клиенте, но включи сетку которая левее кнопок высоты и потом сетку от f5
-
Кнопка f9 при наведении на объект создает как раз эту высоту и карту проходимости, в некоторых сорсах он закомментирована, в старых готовых клиентах работала. Если не на постоянке нужно то можно объектами высоты подогнать. Ну и наверное видя ф9 можно починить и генерацию высоты, но я в этом не разбираюсь. Ну или можно на движке китайской игры высоты делать)
- 1
-
Ямми китайские файлы открывает, что будет если карту пиратии открыть в китайском клиенте?
-
В 16.10.2022 в 21:01, Legend сказал:I have the same issue, I tried your serverset still not working, I even changed the port in [ToClient] inside gateserver to 1973 and still not working
loginscene.cpp
//如果没有得到随机选择Gate的Ip
//if (!pszSelectGateIP) pszSelectGateIP = SelectGroupIP(m_iCurSelRegionIndex, m_iCurSelServerIndex );
if (!pszSelectGateIP) pszSelectGateIP = SelectGroupIP(0, 0);if (!pszSelectGateIP)
{
//LG("connect", g_oLangRec.GetString(180), m_iCurSelRegionIndex, m_iCurSelServerIndex);
LG("connect", g_oLangRec.GetString(180), 0, 0);
}
else
{
CS_Connect(pszSelectGateIP, 434, g_Config.m_nConnectTimeOut );
}
//#endif}
port - 434
-
17 часов назад, fotostocker сказал:Администратор данного форума V3ct0r хотел бы полноценно связаться с вами для взятия хостинга на сервер пиратии. Если есть возможность свяжитесь со мной в вк https://vk.com/paulovserega52 или пришлите пожалуйста лично в сообщение ваши персональные данные куда я вам могу написать для обсуждения. Спасибо данному форуму за помощь в создании серверов.
https://zomro.com/rus/vds.html для локального сервера на небольшое кол-во игроков подходит идеально, европейские сервера
- 1
-
where is the game client itself, I saw it before, but now I can’t find it?
-
5 часов назад, V3ct0r сказал:Привет, @BETEP/macs509!
В этом проекте мне в первую очередь было интересно сделать визуальное отображение контракта при наведении на него мыши, чтобы игрок видел на кого нужно охотиться и его текущий прогресс.
Серверная часть в принципе может быть любой, достаточно записать в дескриптор предмета следующую информацию:
ITEMATTR_VAL_STR - ID монстра ITEMATTR_VAL_AGI - Число монстров, которых нужно победить ITEMATTR_VAL_DEX - Число побежденных монстров
Привет, да это понятно просто когда делал сервер задался вопросом какой тип предмета использовать для этих целей, а потом пришло вот такое решение
-
Спойлерfunction Cr_talk02() Talk( 1, "Tommy: Hi! I’m an assistant to Iris, although I’m small, but I know a lot about Сrystal!" ) Text( 1, "Monster Kill Order", JumpPage, 4 ) Text( 1, "Maze Schedule", JumpPage, 2 ) Text( 1, "About character leveling ", JumpPage, 10 ) Text( 1, "Сontact administrator ", JumpPage, 11 ) Text( 1, "Thx, i got it", CloseTalk) Talk( 2, "Tommy: to display information about the dungeons, press ALT + H" ) Text( 2, "Back", JumpPage, 1 ) Talk( 4, "Tommy: I can give you a contract. Your goal will be to kill monsters. Only 1 contract can be executed at a time. When you finish killing, then double-click on the order and get a reward!" ) InitTrigger() TriggerCondition( 1, NoItem, 8361, 1 ) TriggerCondition( 1, NoItem, 8362, 1 ) TriggerCondition( 1, NoItem, 8363, 1 ) TriggerCondition( 1, NoItem, 8364, 1 ) TriggerCondition( 1, NoItem, 8365, 1 ) TriggerCondition( 1, NoItem, 8366, 1 ) TriggerCondition( 1, NoItem, 8367, 1 ) TriggerCondition( 1, NoItem, 8368, 1 ) TriggerCondition( 1, NoItem, 8369, 1 ) TriggerCondition( 1, NoItem, 8370, 1 ) TriggerCondition( 1, NoItem, 8371, 1 ) TriggerCondition( 1, NoItem, 8372, 1 ) TriggerCondition( 1, NoItem, 8373, 1 ) TriggerCondition( 1, NoItem, 8374, 1 ) TriggerCondition( 1, NoItem, 8375, 1 ) TriggerCondition( 1, NoItem, 8376, 1 ) TriggerCondition( 1, BankNoItem, 8361, 1 ) TriggerCondition( 1, BankNoItem, 8362, 1 ) TriggerCondition( 1, BankNoItem, 8363, 1 ) TriggerCondition( 1, BankNoItem, 8364, 1 ) TriggerCondition( 1, BankNoItem, 8365, 1 ) TriggerCondition( 1, BankNoItem, 8366, 1 ) TriggerCondition( 1, BankNoItem, 8367, 1 ) TriggerCondition( 1, BankNoItem, 8368, 1 ) TriggerCondition( 1, BankNoItem, 8369, 1 ) TriggerCondition( 1, BankNoItem, 8370, 1 ) TriggerCondition( 1, BankNoItem, 8371, 1 ) TriggerCondition( 1, BankNoItem, 8372, 1 ) TriggerCondition( 1, BankNoItem, 8373, 1 ) TriggerCondition( 1, BankNoItem, 8374, 1 ) TriggerCondition( 1, BankNoItem, 8375, 1 ) TriggerCondition( 1, BankNoItem, 8376, 1 ) TriggerCondition( 1, EquipNoItem, 8361, 1 ) TriggerCondition( 1, EquipNoItem, 8362, 1 ) TriggerCondition( 1, EquipNoItem, 8363, 1 ) TriggerCondition( 1, EquipNoItem, 8364, 1 ) TriggerCondition( 1, EquipNoItem, 8365, 1 ) TriggerCondition( 1, EquipNoItem, 8366, 1 ) TriggerCondition( 1, EquipNoItem, 8367, 1 ) TriggerCondition( 1, EquipNoItem, 8368, 1 ) TriggerCondition( 1, EquipNoItem, 8369, 1 ) TriggerCondition( 1, EquipNoItem, 8370, 1 ) TriggerCondition( 1, EquipNoItem, 8371, 1 ) TriggerCondition( 1, EquipNoItem, 8372, 1 ) TriggerCondition( 1, EquipNoItem, 8373, 1 ) TriggerCondition( 1, EquipNoItem, 8374, 1 ) TriggerCondition( 1, EquipNoItem, 8375, 1 ) TriggerCondition( 1, EquipNoItem, 8376, 1 ) TriggerCondition( 1, HasLeaveBagGrid, 1 ) TriggerCondition( 1, KitbagLock, 0 ) TriggerAction( 1, GiveItem, 8361, 1, 4 ) TriggerFailure( 1, JumpPage, 5 ) Text( 4, "Get a Easy contract!",MultiTrigger, GetMultiTrigger(), 1) InitTrigger() TriggerCondition( 1, NoItem, 8361, 1 ) TriggerCondition( 1, NoItem, 8362, 1 ) TriggerCondition( 1, NoItem, 8363, 1 ) TriggerCondition( 1, NoItem, 8364, 1 ) TriggerCondition( 1, NoItem, 8365, 1 ) TriggerCondition( 1, NoItem, 8366, 1 ) TriggerCondition( 1, NoItem, 8367, 1 ) TriggerCondition( 1, NoItem, 8368, 1 ) TriggerCondition( 1, NoItem, 8369, 1 ) TriggerCondition( 1, NoItem, 8370, 1 ) TriggerCondition( 1, NoItem, 8371, 1 ) TriggerCondition( 1, NoItem, 8372, 1 ) TriggerCondition( 1, NoItem, 8373, 1 ) TriggerCondition( 1, NoItem, 8374, 1 ) TriggerCondition( 1, NoItem, 8375, 1 ) TriggerCondition( 1, NoItem, 8376, 1 ) TriggerCondition( 1, BankNoItem, 8361, 1 ) TriggerCondition( 1, BankNoItem, 8362, 1 ) TriggerCondition( 1, BankNoItem, 8363, 1 ) TriggerCondition( 1, BankNoItem, 8364, 1 ) TriggerCondition( 1, BankNoItem, 8365, 1 ) TriggerCondition( 1, BankNoItem, 8366, 1 ) TriggerCondition( 1, BankNoItem, 8367, 1 ) TriggerCondition( 1, BankNoItem, 8368, 1 ) TriggerCondition( 1, BankNoItem, 8369, 1 ) TriggerCondition( 1, BankNoItem, 8370, 1 ) TriggerCondition( 1, BankNoItem, 8371, 1 ) TriggerCondition( 1, BankNoItem, 8372, 1 ) TriggerCondition( 1, BankNoItem, 8373, 1 ) TriggerCondition( 1, BankNoItem, 8374, 1 ) TriggerCondition( 1, BankNoItem, 8375, 1 ) TriggerCondition( 1, BankNoItem, 8376, 1 ) TriggerCondition( 1, EquipNoItem, 8361, 1 ) TriggerCondition( 1, EquipNoItem, 8362, 1 ) TriggerCondition( 1, EquipNoItem, 8363, 1 ) TriggerCondition( 1, EquipNoItem, 8364, 1 ) TriggerCondition( 1, EquipNoItem, 8365, 1 ) TriggerCondition( 1, EquipNoItem, 8366, 1 ) TriggerCondition( 1, EquipNoItem, 8367, 1 ) TriggerCondition( 1, EquipNoItem, 8368, 1 ) TriggerCondition( 1, EquipNoItem, 8369, 1 ) TriggerCondition( 1, EquipNoItem, 8370, 1 ) TriggerCondition( 1, EquipNoItem, 8371, 1 ) TriggerCondition( 1, EquipNoItem, 8372, 1 ) TriggerCondition( 1, EquipNoItem, 8373, 1 ) TriggerCondition( 1, EquipNoItem, 8374, 1 ) TriggerCondition( 1, EquipNoItem, 8375, 1 ) TriggerCondition( 1, EquipNoItem, 8376, 1 ) TriggerCondition( 1, HasLeaveBagGrid, 1 ) TriggerCondition( 1, KitbagLock, 0 ) TriggerCondition( 1, LvCheck, ">", 59 ) TriggerAction( 1, GiveItem, 8362, 1, 4 ) TriggerFailure( 1, JumpPage, 5 ) Text( 4, "Get a Hard contract! (60 lvl+)",MultiTrigger, GetMultiTrigger(), 1) Text( 4, "Back", JumpPage, 1 ) Talk( 5, "Tommy: You have run out of inventory. Or you already have a contract. Look maybe it’s in your bank!" ) Text( 5, "Exit", CloseTalk) Talk( 10, "Tommy: To gain experience, kill monsters in the vicinity of the city and on the islands (for beginners, penguins are specially brought in to us who will quickly help to pick up wholesale, look in the vicinity of the city) a passage to the mines was opened for pumping from LVL 30 (272,149), and for further pumping, I recommend visiting various islands near Portalist - Lilith (153,132)." ) Text( 10, "Lets change theme", JumpPage, 1 ) Text( 10, "Thx, i got it", CloseTalk) Talk( 11, "Tommy: You can contact the administrator through our website" ) Text( 11, "Lets change theme", JumpPage, 1 ) Text( 11, "Thx, i got it", CloseTalk) AddNpcMission ( 110 ) end 8361 Easy contract bookorc 10130023 0 0 0 0 0 0 31 0 0 0 0 0 0 0 0 1 1 0 0 -1 0 -1 0 0 -1 -1 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 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 0,0 0 0,0 0,0 0 0 0 0 0 0 0 0 0 ItemUse_orderchest 0 0 0 0,0 0 0 Double-click to get a contract to kill monsters 0 8362 Hard contract bookors 10130023 0 0 0 0 0 0 31 0 0 0 0 0 0 0 0 1 1 0 0 -1 0 -1 0 0 -1 -1 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 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 0,0 0 0,0 0,0 0 0 0 0 0 0 0 0 0 ItemUse_orderchest2 0 0 0 0,0 0 0 Double-click to get a contract to kill monsters 0 8363 Order - Pirate (Overgrown island) bookor 10130005 0 0 0 0 0 0 11 0 0 0 0 0 0 0 0 0 1 0 2000 -1 0 -1 0 0 -1 -1 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 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 0,0 0 0,0 0,0 0 0 0 0 0 0 0 0 0 ItemUse_orderk 0 0 0 0,0 0 0 The contract for the murder of monsters. When fully filled, double-click to receive a reward. 0 8364 Order - Forest Spirit (Crystal) bookor 10130005 0 0 0 0 0 0 11 0 0 0 0 0 0 0 0 0 1 0 2000 -1 0 -1 0 0 -1 -1 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 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 0,0 0 0,0 0,0 0 0 0 0 0 0 0 0 0 ItemUse_orderk 0 0 0 0,0 0 0 The contract for the murder of monsters. When fully filled, double-click to receive a reward. 0 8365 Order - Pumpkin Knight (Mine) bookor 10130005 0 0 0 0 0 0 11 0 0 0 0 0 0 0 0 0 1 0 2000 -1 0 -1 0 0 -1 -1 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 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 0,0 0 0,0 0,0 0 0 0 0 0 0 0 0 0 ItemUse_orderk 0 0 0 0,0 0 0 The contract for the murder of monsters. When fully filled, double-click to receive a reward. 0 8366 Order - Ninja Mole (Mine) bookor 10130005 0 0 0 0 0 0 11 0 0 0 0 0 0 0 0 0 1 0 2000 -1 0 -1 0 0 -1 -1 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 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 0,0 0 0,0 0,0 0 0 0 0 0 0 0 0 0 ItemUse_orderk 0 0 0 0,0 0 0 The contract for the murder of monsters. When fully filled, double-click to receive a reward. 0 8367 Order - Treant (Far island) bookor 10130005 0 0 0 0 0 0 11 0 0 0 0 0 0 0 0 0 1 0 2000 -1 0 -1 0 0 -1 -1 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 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 0,0 0 0,0 0,0 0 0 0 0 0 0 0 0 0 ItemUse_orderk 0 0 0 0,0 0 0 The contract for the murder of monsters. When fully filled, double-click to receive a reward. 0 8368 Order - Mad Boar (Autumn) bookor 10130005 0 0 0 0 0 0 11 0 0 0 0 0 0 0 0 0 1 0 2000 -1 0 -1 0 0 -1 -1 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 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 0,0 0 0,0 0,0 0 0 0 0 0 0 0 0 0 ItemUse_orderk 0 0 0 0,0 0 0 The contract for the murder of monsters. When fully filled, double-click to receive a reward. 0 8369 Order - Grassland Wolf (Autumn) bookor 10130005 0 0 0 0 0 0 11 0 0 0 0 0 0 0 0 0 1 0 2000 -1 0 -1 0 0 -1 -1 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 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 0,0 0 0,0 0,0 0 0 0 0 0 0 0 0 0 ItemUse_orderk 0 0 0 0,0 0 0 The contract for the murder of monsters. When fully filled, double-click to receive a reward. 0 8370 Order - Warrior-werewolf (Zephyr) bookord 10130005 0 0 0 0 0 0 11 0 0 0 0 0 0 0 0 0 1 0 2000 -1 0 -1 0 0 -1 -1 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 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 0,0 0 0,0 0,0 0 0 0 0 0 0 0 0 0 ItemUse_orderk 0 0 0 0,0 0 0 The contract for the murder of monsters. When fully filled, double-click to receive a reward. 0 8371 Order - Granite Golem (Zephyr) bookord 10130005 0 0 0 0 0 0 11 0 0 0 0 0 0 0 0 0 1 0 2000 -1 0 -1 0 0 -1 -1 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 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 0,0 0 0,0 0,0 0 0 0 0 0 0 0 0 0 ItemUse_orderk 0 0 0 0,0 0 0 The contract for the murder of monsters. When fully filled, double-click to receive a reward. 0 8372 Order - Vampire bat (Forgotten) bookord 10130005 0 0 0 0 0 0 11 0 0 0 0 0 0 0 0 0 1 0 2000 -1 0 -1 0 0 -1 -1 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 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 0,0 0 0,0 0,0 0 0 0 0 0 0 0 0 0 ItemUse_orderk 0 0 0 0,0 0 0 The contract for the murder of monsters. When fully filled, double-click to receive a reward. 0 8373 Order - Little Ice Dragon (Forgotten) bookord 10130005 0 0 0 0 0 0 11 0 0 0 0 0 0 0 0 0 1 0 2000 -1 0 -1 0 0 -1 -1 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 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 0,0 0 0,0 0,0 0 0 0 0 0 0 0 0 0 ItemUse_orderk 0 0 0 0,0 0 0 The contract for the murder of monsters. When fully filled, double-click to receive a reward. 0 8374 Order - Pig (Forgotten) bookord 10130005 0 0 0 0 0 0 11 0 0 0 0 0 0 0 0 0 1 0 2000 -1 0 -1 0 0 -1 -1 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 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 0,0 0 0,0 0,0 0 0 0 0 0 0 0 0 0 ItemUse_orderk 0 0 0 0,0 0 0 The contract for the murder of monsters. When fully filled, double-click to receive a reward. 0 8375 Order - Golden Scorpion (Demon) bookord 10130005 0 0 0 0 0 0 11 0 0 0 0 0 0 0 0 0 1 0 2000 -1 0 -1 0 0 -1 -1 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 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 0,0 0 0,0 0,0 0 0 0 0 0 0 0 0 0 ItemUse_orderk 0 0 0 0,0 0 0 The contract for the murder of monsters. When fully filled, double-click to receive a reward. 0 8376 Order - Dawn Owl (Demon) bookord 10130005 0 0 0 0 0 0 11 0 0 0 0 0 0 0 0 0 1 0 2000 -1 0 -1 0 0 -1 -1 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 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 0,0 0 0,0 0,0 0 0 0 0 0 0 0 0 0 ItemUse_orderk 0 0 0 0,0 0 0 The contract for the murder of monsters. When fully filled, double-click to receive a reward. 0 8382 Zephyr contract bookors2 10130023 0 0 0 0 0 0 31 0 0 0 0 0 0 0 0 1 1 0 0 -1 0 -1 0 0 -1 -1 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 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 0,0 0 0,0 0,0 0 0 0 0 0 0 0 0 0 ItemUse_orderchest3 0 0 0 0,0 0 0 Double-click to get a contract to kill monsters 0 8383 Newbie contract bookors3 10130023 0 0 0 0 0 0 31 0 0 0 0 0 0 0 0 1 1 0 0 -1 0 -1 0 0 -1 -1 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 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 0,0 0 0,0 0,0 0 0 0 0 0 0 0 0 0 ItemUse_orderchest4 0 0 0 0,0 0 0 Double-click to get a contract to kill monsters 0 8384 Order - Zephyr mobs bookord1 10130005 0 0 0 0 0 0 11 0 0 0 0 0 0 0 0 0 1 0 2000 -1 0 -1 0 0 -1 -1 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 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 0,0 0 0,0 0,0 0 0 0 0 0 0 0 0 0 ItemUse_orderk 0 0 0 0,0 0 0 The contract for the murder of monsters. When fully filled, double-click to receive a reward. 0 8385 Order - Crystal mobs bookord2 10130005 0 0 0 0 0 0 11 0 0 0 0 0 0 0 0 0 1 0 2000 -1 0 -1 0 0 -1 -1 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 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 0,0 0 0,0 0,0 0 0 0 0 0 0 0 0 0 ItemUse_orderk 0 0 0 0,0 0 0 The contract for the murder of monsters. When fully filled, double-click to receive a reward. 0 function ItemUse_orderk ( role , Item ) local Cha_Boat = GetCtrlBoat ( role ) if Cha_Boat ~= nil then SystemNotice(role ,"Cannot be used at sea!") UseItemFailed ( role ) return end local Item_CanGet = GetChaFreeBagGridNum ( role ) if Item_CanGet < 2 then SystemNotice(role ,"Not enough inventory space!") UseItemFailed ( role ) return end local ItemID = GetItemID ( Item ) -- Получим ID предмета local ItemGet = GetChaItem2 ( role , 2 , ItemID ) local Item_MAXURE = GetItemAttr ( ItemGet , ITEMATTR_MAXURE ) local Item_URE = GetItemAttr ( ItemGet , ITEMATTR_URE ) if Item_URE ~= Item_MAXURE then SystemNotice(role ,"You have not yet killed all the monsters for a reward.") UseItemFailed ( role ) return end if ItemID == 8363 or ItemID == 8364 or ItemID == 8365 or ItemID == 8366 or ItemID == 8367 or ItemID == 8368 or ItemID == 8369 then -- Если ID предмета совпадает с используемым, то: local MON_X = 14000 local MON_Y = Item_MAXURE / 50 local MON_Z = MON_Y * MON_X AddMoney ( role , 0 , MON_Z ) end if ItemID == 8370 or ItemID == 8371 or ItemID == 8372 or ItemID == 8373 or ItemID == 8374 or ItemID == 8375 or ItemID == 8376 then -- Если ID предмета совпадает с используемым, то: local MON_X = 20000 local MON_Y = Item_MAXURE / 50 local MON_Z = MON_Y * MON_X AddMoney ( role , 0 , MON_Z ) end if ItemID == 8384 then -- Если ID предмета совпадает с используемым, то: local MON_X = 17000 local MON_Y = Item_MAXURE / 50 local MON_Z = MON_Y * MON_X AddMoney ( role , 0 , MON_Z ) end if ItemID == 8385 then -- Если ID предмета совпадает с используемым, то: local MON_X = 9500 local MON_Y = Item_MAXURE / 50 local MON_Z = MON_Y * MON_X AddMoney ( role , 0 , MON_Z ) end end function ItemUse_orderchest ( role , Item ) local Cha_Boat = GetCtrlBoat ( role ) if Cha_Boat ~= nil then SystemNotice(role ,"Cannot be used at sea!") UseItemFailed ( role ) return end local Item_CanGet = GetChaFreeBagGridNum ( role ) if Item_CanGet < 2 then SystemNotice(role ,"Not enough inventory space!") UseItemFailed ( role ) return end local r1 = 0 local r2 = 0 local MAX_URE_X = math.random ( 1, 25 ) local MAX_URE_Y = MAX_URE_X * 100 local MAX_URE_F = MAX_URE_Y + 2500 local rad = math.random ( 1, 7 ) if rad == 1 then r1, r2 = MakeItem ( role , 8363 , 1 , 4 ) local Itemnew = GetChaItem ( role , 2 , r2 ) SetItemAttr(Itemnew, ITEMATTR_URE, 0 ) SetItemAttr(Itemnew, ITEMATTR_MAXURE, MAX_URE_F ) end if rad == 2 then r1, r2 = MakeItem ( role , 8364 , 1 , 4 ) local Itemnew = GetChaItem ( role , 2 , r2 ) SetItemAttr(Itemnew, ITEMATTR_URE, 0 ) SetItemAttr(Itemnew, ITEMATTR_MAXURE, MAX_URE_F ) end if rad == 3 then r1, r2 = MakeItem ( role , 8365 , 1 , 4 ) local Itemnew = GetChaItem ( role , 2 , r2 ) SetItemAttr(Itemnew, ITEMATTR_URE, 0 ) SetItemAttr(Itemnew, ITEMATTR_MAXURE, MAX_URE_F ) end if rad == 4 then r1, r2 = MakeItem ( role , 8366 , 1 , 4 ) local Itemnew = GetChaItem ( role , 2 , r2 ) SetItemAttr(Itemnew, ITEMATTR_URE, 0 ) SetItemAttr(Itemnew, ITEMATTR_MAXURE, MAX_URE_F ) end if rad == 5 then r1, r2 = MakeItem ( role , 8367 , 1 , 4 ) local Itemnew = GetChaItem ( role , 2 , r2 ) SetItemAttr(Itemnew, ITEMATTR_URE, 0 ) SetItemAttr(Itemnew, ITEMATTR_MAXURE, MAX_URE_F ) end if rad == 6 then r1, r2 = MakeItem ( role , 8368 , 1 , 4 ) local Itemnew = GetChaItem ( role , 2 , r2 ) SetItemAttr(Itemnew, ITEMATTR_URE, 0 ) SetItemAttr(Itemnew, ITEMATTR_MAXURE, MAX_URE_F ) end if rad == 7 then r1, r2 = MakeItem ( role , 8369 , 1 , 4 ) local Itemnew = GetChaItem ( role , 2 , r2 ) SetItemAttr(Itemnew, ITEMATTR_URE, 0 ) SetItemAttr(Itemnew, ITEMATTR_MAXURE, MAX_URE_F ) end end function ItemUse_orderchest2 ( role , Item ) local Cha_Boat = GetCtrlBoat ( role ) if Cha_Boat ~= nil then SystemNotice(role ,"Cannot be used at sea!") UseItemFailed ( role ) return end local Item_CanGet = GetChaFreeBagGridNum ( role ) if Item_CanGet < 2 then SystemNotice(role ,"Not enough inventory space!") UseItemFailed ( role ) return end local r1 = 0 local r2 = 0 local MAX_URE_X = math.random ( 1, 25 ) local MAX_URE_Y = MAX_URE_X * 100 local MAX_URE_F = MAX_URE_Y + 2500 local rad = math.random ( 1, 7 ) if rad == 1 then r1, r2 = MakeItem ( role , 8370 , 1 , 4 ) local Itemnew = GetChaItem ( role , 2 , r2 ) SetItemAttr(Itemnew, ITEMATTR_URE, 0 ) SetItemAttr(Itemnew, ITEMATTR_MAXURE, MAX_URE_F ) end if rad == 2 then r1, r2 = MakeItem ( role , 8371 , 1 , 4 ) local Itemnew = GetChaItem ( role , 2 , r2 ) SetItemAttr(Itemnew, ITEMATTR_URE, 0 ) SetItemAttr(Itemnew, ITEMATTR_MAXURE, MAX_URE_F ) end if rad == 3 then r1, r2 = MakeItem ( role , 8372 , 1 , 4 ) local Itemnew = GetChaItem ( role , 2 , r2 ) SetItemAttr(Itemnew, ITEMATTR_URE, 0 ) SetItemAttr(Itemnew, ITEMATTR_MAXURE, MAX_URE_F ) end if rad == 4 then r1, r2 = MakeItem ( role , 8373 , 1 , 4 ) local Itemnew = GetChaItem ( role , 2 , r2 ) SetItemAttr(Itemnew, ITEMATTR_URE, 0 ) SetItemAttr(Itemnew, ITEMATTR_MAXURE, MAX_URE_F ) end if rad == 5 then r1, r2 = MakeItem ( role , 8374 , 1 , 4 ) local Itemnew = GetChaItem ( role , 2 , r2 ) SetItemAttr(Itemnew, ITEMATTR_URE, 0 ) SetItemAttr(Itemnew, ITEMATTR_MAXURE, MAX_URE_F ) end if rad == 6 then r1, r2 = MakeItem ( role , 8375 , 1 , 4 ) local Itemnew = GetChaItem ( role , 2 , r2 ) SetItemAttr(Itemnew, ITEMATTR_URE, 0 ) SetItemAttr(Itemnew, ITEMATTR_MAXURE, MAX_URE_F ) end if rad == 7 then r1, r2 = MakeItem ( role , 8376 , 1 , 4 ) local Itemnew = GetChaItem ( role , 2 , r2 ) SetItemAttr(Itemnew, ITEMATTR_URE, 0 ) SetItemAttr(Itemnew, ITEMATTR_MAXURE, MAX_URE_F ) end end function ItemUse_orderchest3 ( role , Item ) local Cha_Boat = GetCtrlBoat ( role ) if Cha_Boat ~= nil then SystemNotice(role ,"Cannot be used at sea!") UseItemFailed ( role ) return end local Item_CanGet = GetChaFreeBagGridNum ( role ) if Item_CanGet < 2 then SystemNotice(role ,"Not enough inventory space!") UseItemFailed ( role ) return end local r1 = 0 local r2 = 0 local MAX_URE_X = math.random ( 1, 25 ) local MAX_URE_Y = MAX_URE_X * 100 local MAX_URE_F = MAX_URE_Y + 2500 r1, r2 = MakeItem ( role , 8384 , 1 , 4 ) local Itemnew = GetChaItem ( role , 2 , r2 ) SetItemAttr(Itemnew, ITEMATTR_URE, 0 ) SetItemAttr(Itemnew, ITEMATTR_MAXURE, MAX_URE_F ) end function ItemUse_orderchest4 ( role , Item ) local Cha_Boat = GetCtrlBoat ( role ) if Cha_Boat ~= nil then SystemNotice(role ,"Cannot be used at sea!") UseItemFailed ( role ) return end local Item_CanGet = GetChaFreeBagGridNum ( role ) if Item_CanGet < 2 then SystemNotice(role ,"Not enough inventory space!") UseItemFailed ( role ) return end local r1 = 0 local r2 = 0 local MAX_URE_X = math.random ( 1, 25 ) local MAX_URE_Y = MAX_URE_X * 100 local MAX_URE_F = MAX_URE_Y + 2500 r1, r2 = MakeItem ( role , 8385 , 1 , 4 ) local Itemnew = GetChaItem ( role , 2 , r2 ) SetItemAttr(Itemnew, ITEMATTR_URE, 0 ) SetItemAttr(Itemnew, ITEMATTR_MAXURE, MAX_URE_F ) end
Вот похожая система была
- 1
-
47 минут назад, Graf сказал:@okitora Preview not opened..
Используй впн, сервис не доступен у нас
- 2
-
15 минут назад, Kst сказал:В таких ситуация обычно смотрят изменения по коммиту/коммитам. Рекомендую использовать git в процессе разработке.
Ругается точечно на tabledata.h, скинь его сюда через https://pastebin.com/ было бы удобнее
Уже получилось собрать, просто интересно было как в таких ситуациях люди узнают что требуется от них
-
Только что, V3ct0r сказал:@BETEP/macs509, может быть, сменил конфигурацию сборки с Release на Debug?
Неа, везде релиз ставил
-
Да, я вносил рекомендации в графу препроцессора. Мне кажется это из того что подключил lua из calua а не из luajit
-
хз почему вчера не работало, сегодня всё работает
-
-
7 часов назад, cpworkerz сказал:Why do you say they have a license?
-
https://baijiahao.baidu.com/s?id=1649166342796351796&wfr=spider&for=pc
вы знаете? Десять лет назад была такая компания, которую игроки уничтожили за блокировку игровых аккаунтов.
В январе 2005 года такая игровая компания была основана в материковом Китае. Уже в 2005 году сетевая компания была очень сильной, с технической группой исследований и разработок, насчитывающей более 200 человек, и успешно разработала движок Full 3D MindPower. Получены авторские права с одобрения Национальной администрации по авторским правам, посредством основного приложения движка MindPower, компания успешно разработала два зрелых продукта для массовых многопользовательских ролевых онлайн-игр (MMORPG) Pirate King Online.
Однако причина, по которой эта компания так популярна, заключается не в том, что их игры идут хорошо, а в том, что в 2007 году Молийо принял решение, которое раздражало большинство игроков. В марте 2007 года он участвовал в потрясающей игре, управляемой company., Оператор Moliyou забанил игровые аккаунты 120 000 пользователей в течение нескольких дней из-за того, что они заподозрили незаконные действия в игре.
Фактически, игровой оператор может блокировать и открывать учетные записи игроков, но проблема заключается в том, что среди игроков в этой группе заблокированных учетных записей 50% или даже больше игроков пополнили счет на тысячи или даже десятки тысяч юаней в игре. Вы должны знать, что это было в 2007 году. В то время, в отличие от сегодняшнего дня, для игры было нормально взимать десятки тысяч юаней. В 2007 году 10 000, вероятно, эквивалентно. Теперь это четыре к пятьдесят тысяч или даже сто тысяч.
Аккаунт, на который были списаны десятки тысяч долларов, был заблокирован в одночасье. Никто не может его терпеть, верно? После официального бана некоторые игроки организовали очень масштабную акцию протеста.
Утром 7 марта 2007 года сотни игроков собрались у главного входа в штаб-квартиру Magic Tour в Шанхае, надеясь, что чиновник сможет дать разумное объяснение, но чиновник, похоже, сознательно избегал его видеть, и до марта ситуация оставалась безвыходной. В два часа ночи 8-го судья так и не явился, измученный игрок решил поселиться поблизости и рано утром стал ждать его.
В 8 часов утра 8-го числа сто игроков, которые снова попросили объяснений, стояли у ворот штаб-квартиры Молию. Он ворвался в компанию и разбил офисное оборудование Magic Tour, устроив сцену турнира. инцидент беспорядок.
Стены Magic Game Company были нарисованы разгневанными игроками такими словами, как недобросовестные операторы, обман денег игроков и т.д. в настоящее время. Картинка, заинтересованные игроки могут просматривать похожие картинки в Интернете.
На самом деле, редактор подумал, что этот инцидент был очень простым бунтом игроков, но после поиска в Интернете я обнаружил, что у компании Magic Tour не прошло дня или двух, чтобы ущемить интересы игроков, и это уже позади. этот запрет. Есть еще большие секреты.
Некоторые пользователи сети сообщили, что после блокировки 120 000 учетных записей на этот раз, Moliyou также выпустил разблокирующую карту стоимостью 300 юаней, что означает, что вы можете разблокировать свою учетную запись, если потратите 300 юаней. Если это так, то официальный представитель Magic Tour действительно сделал это. слишком много, и у редактора также есть основания полагать, что забаненные игроки на самом деле не открываются, а невинно лгут оружие.
С момента этого инцидента прошло 12 лет. За эти 12 лет многое изменилось. В 2011 году было объявлено о приостановлении работы Earth shattering 1. Теперь ситуация с Magic Tour становится все хуже и хуже. Этот инцидент непросто сказать, кто В конце концов. Верно или нет, может быть, это действительно проблема с политикой работы Moliyou. После этого инцидента десятки тысяч игроков хвалили и аплодировали интернет-бизнесу, а большинство пользователей сети обвиняют чиновника Moliyou в том, что он не делаешь все хорошо.
Интересно, слышал ли об этом инциденте каждый читатель? Возможно, игроки после 8090 узнают об этом больше.
- 1
-
https://gamedev.ru/projects/forum/?id=259554
Не знаю как в плане "переделанных" механик, но широкоформат + фпс + улучшенный рендер с тенями и освещением и измененный шрифт дают достаточно приятную картинку.
- 1
- 2
-
17 минут назад, V3ct0r сказал:Привет, @Tales of Ocean, и добро пожаловать на PKOdev.NET!
Я считаю что выкладывать этот мод - плохая идея: если его выкладывать, то придется объяснять как он работает, чтобы люди смогли им воспользоваться, а это лишит смысла мод как защиту .bin-файлов.
Привет! Можешь рассказать подробнее как его обойти?
Привет, знаешь почему Джо неуловимый?) Я к тому что всю нужную информацию человек заберет на сайте с бд либо сам воспроизведет
- 1
-
1 час назад, Tales of Ocean сказал:Спасибо @V3ct0r давно хотел такой мод.
Не могли бы вы поделить таким же кодом для шифрования таблиц ?
2. Шифрование таблиц (файлы .bin)
Эта модификация шифрует .bin-файлы (ItemInfo.bin, CharacterInfo.bin, SkillInfo.bin и остальные) в папке Клиент\scripts\table. Таким образом, из зашифрованных файлов теперь нельзя получить исходные .txt-файлы с помощью декомпилятора, а также их нельзя использовать в других клиентах игры.
Файл ItemInfo.bin до шифрования:
После шифрования:
Данный мод поможет от кражи предметов, монстров и других игровых данных с Вашего сервера.
Не поможет он от кражи и т.д, просто на пару минут замедлит
-
id вещи больше 6000. Вам нужно хексить файлы для расширения лимита. На форуме был гайд
Новогодняя деревня
in Пиратия: Помощь
Posted · Report reply
scripts\txt\CharacterAction.tx
Я не знаю какие файлы были заменены.
Если нет самих эффектов возможно поможет замена этих файлов на оригинальные.
scripts\table\skillinfo.bin
scripts\table\skilleff.bin