Jump to content

mangojkee

Community
  • Content Count

    62
  • Joined

  • Last visited

  • Days Won

    9

Posts posted by mangojkee


  1. 9 minutes ago, e1mer said:

    Файл forge.lua, функция jlborn_item()

    Просто из каждой функции для фрукта удаляем этот кусок кода

    
    		Num_newJL = SetNum_Part1 ( Num_newJL , 1 )	 
    		Num_newJL = SetNum_Part2 ( Num_newJL , Part2_newJL )
    		Num_newJL = SetNum_Part3 ( Num_newJL , Part3_newJL )
    		Num_newJL = SetNum_Part4 ( Num_newJL , Part4_newJL )
    		Num_newJL = SetNum_Part5 ( Num_newJL , Part5_newJL )
    		Num_newJL = SetNum_Part6 ( Num_newJL , Part6_newJL )
    		Num_newJL = SetNum_Part7 ( Num_newJL , Part7_newJL )
    		SetItemForgeParam ( Item_newJL , 1 , Num_newJL )
    		
    		SetItemAttr ( Item_newJL , ITEMATTR_VAL_STR , new_str )
    		SetItemAttr( Item_newJL , ITEMATTR_VAL_DEX , new_dex )	 
    		SetItemAttr ( Item_newJL , ITEMATTR_VAL_STA , new_sta )
    		SetItemAttr( Item_newJL , ITEMATTR_VAL_AGI , new_agi )
    		SetItemAttr ( Item_newJL , ITEMATTR_VAL_CON , new_con ) 
    		SetItemAttr ( Item_newJL , ITEMATTR_MAXENERGY , new_MAXENERGY ) 	
    		SetItemAttr ( Item_newJL , ITEMATTR_MAXURE , new_MAXURE ) 	

    Фея так же будет спариваться, выдаваться, но необходимые атрибуты присваиваться уже не будут.

    автору необходимо что бы забирало более 4х лвл при спарке


  2. On 04.02.2017 at 3:36 PM, kekc161 said:

    Здравствуйте, хотелось бы узнать, как сделать чтоб после свадьбы забрало более 4х и т.п лвл феи.

    Например у меня когда я спариваю заберает всего лишь 4 лвл, не могу найти где мне это изменить?

    Для разборки функции спарки фей для начала разобьем ее на части

     Получаем данные про первую фею

    local Num_JLone = GetItemForgeParam ( Item_JLone , 1 )

    Разбиваем на части по параметрам

    local Part1_JLone = GetNum_Part1 ( Num_JLone ) 
    local Part2_JLone = GetNum_Part2 ( Num_JLone ) 
    local Part3_JLone = GetNum_Part3 ( Num_JLone )
    local Part4_JLone = GetNum_Part4 ( Num_JLone )
    local Part5_JLone = GetNum_Part5 ( Num_JLone )
    local Part6_JLone = GetNum_Part6 ( Num_JLone )
    local Part7_JLone= GetNum_Part7 ( Num_JLone )

     

    Аналогично 2я фея

        local Num_JLother = GetItemForgeParam ( Item_JLother , 1 )
        local Part1_JLother = GetNum_Part1 ( Num_JLother ) 
        local Part2_JLother = GetNum_Part2 ( Num_JLother ) 
        local Part3_JLother = GetNum_Part3 ( Num_JLother )
        local Part4_JLother = GetNum_Part4 ( Num_JLother )
        local Part5_JLother = GetNum_Part5 ( Num_JLother )
        local Part6_JLother = GetNum_Part6 ( Num_JLother )
        local Part7_JLother= GetNum_Part7 ( Num_JLother )

    получаем параметры новой феи по формуле (новый параметр а = (параметр а первой феи+параметр а второй феи) *0.125

        local new_str = math.floor ((str_JLone+str_JLother)*0.125 )
        local new_con = math.floor ((con_JLone+con_JLother)*0.125 )
        local new_agi = math.floor ((agi_JLone+agi_JLother)*0.125 )
        local new_dex = math.floor ((dex_JLone+dex_JLother)*0.125 )
        local new_sta = math.floor ((sta_JLone+sta_JLother)*0.125 )

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

     

    local new_lv = new_str + new_con + new_agi + new_dex + new_sta

    далее мы получаем енергию(жизни) на сколько я понимаю новой феи

    local new_MAXENERGY = 240 * ( new_lv + 1 )
        if new_MAXENERGY > 6480 then
            new_MAXENERGY = 6480
        end
        local new_MAXURE = 5000 + 1000*new_lv
        if new_MAXURE > 32000 then
            new_MAXURE = 32000
        end

    далее забираем необходимые предметы для спарки и рандомим необходимую фею

    if Item_EMstone_ID ==3925 then  --если камень Адский фрукт тайны
            local j1 = TakeItem( role, 0,1253, 10 )                
            local j2 = TakeItem( role, 0,3442, 10 )  --забираем    1253 и  3442 по 10 шт      
            if j1==0 or j2==0 then
                SystemNotice ( role ,"Deletion of pet fairy reborn tools failed")
                return
            end
            local rad = math.random ( 1, 100 )
            local r1 = 0
            local r2 = 0
            if Item_JLone_ID ==680 or Item_JLother_ID ==680 then   --проверяем наших морд
                if Item_JLone_ID==Item_JLother_ID then  --если морды 2 , тогда выполняем следуюющее
                    r1,r2 =MakeItem ( role , 681  , 1 , 4 )
                elseif lv_JLone>=20 and lv_JLone<25 and lv_JLother >=20 and lv_JLother<25 and rad>=88 then  --12% Chance of Mordo JR
                    r1,r2 =MakeItem ( role , 681  , 1 , 4 )
                elseif lv_JLone>=25 and lv_JLone<35 and lv_JLother >=25 and lv_JLother<35 and rad>=50 then  --50% Chance of Mordo JR
                    r1,r2 =MakeItem ( role , 681  , 1 , 4 )
                elseif lv_JLone>=35 and lv_JLother >=35 and rad>=10 then    --90% Chance of Mordo JR
                    r1,r2 =MakeItem ( role , 681  , 1 , 4 ) --Mordo JR     
                else
                    r1,r2 =MakeItem ( role , 237  , 1 , 4 ) --Fairy of Evil
                end
            else
                r1,r2 =MakeItem ( role , 237 , 1 , 4 )  --Fairy of Evil
            end

     

    узнаем какой предмет мы получили

    local Item_newJL = GetChaItem ( role , 2 , r2 )  

    узнаем все его параметры

    local Num_newJL = GetItemForgeParam ( Item_newJL , 1 )

    и разбиваем по частям как и раньше 

            local Part1_newJL = GetNum_Part1 ( Num_newJL )  
            local Part2_newJL = GetNum_Part2 ( Num_newJL ) 
            local Part3_newJL = GetNum_Part3 ( Num_newJL )
            local Part4_newJL = GetNum_Part4 ( Num_newJL )
            local Part5_newJL = GetNum_Part5 ( Num_newJL )
            local Part6_newJL = GetNum_Part6 ( Num_newJL )
            local Part7_newJL = GetNum_Part7 ( Num_newJL )

    далле происходят проверки связанные с шансом выдачи владения фей

    if lv_JLone>=20 and lv_JLother >=20 then
                Part2_newJL = 12                                                   
                Part3_newJL = 1                                                
            end
            if lv_JLone>=25 and lv_JLother >=25 then
                Part2_newJL = 12                                               
                Part3_newJL = 2                                            
            end
            if lv_JLone>=35 and lv_JLother >=35 then
                Part2_newJL = 12                                               
                Part3_newJL = 3                                            
            end

    узнаем какое владение феей выдать

    local rad1 = math.random ( 1, 100 )
            if Part3_newJL==3 then
                GiveItem ( role , 0 , 609  , 1 , 4 )    --Expert Fairy Possession
            end
            if Part3_newJL==2 then
                if rad1 <=95 then
                    GiveItem ( role , 0 , 608  , 1 , 4 )    --Standard Fairy Possession
                elseif rad1 > 95 and rad1 <=100 then
                    GiveItem ( role , 0 , 609  , 1 , 4 )    --Expert Fairy Possession
                end
            end
            if Part3_newJL==1 then
                if rad1 <=90 then
                    GiveItem ( role , 0 , 239  , 1 , 4 )    --Novice Fairy Possession
                elseif rad1 > 90 and rad1 <=98 then
                    GiveItem ( role , 0 , 608  , 1 , 4 )    --Standard Fairy Possession
                elseif rad1 > 98 and rad1 <=100 then
                    GiveItem ( role , 0 , 609  , 1 , 4 )    --Expert Fairy Possession
                end
            end

    переносим изменения на нашу фею

           Num_newJL = SetNum_Part1 ( Num_newJL , 1 )
            Num_newJL = SetNum_Part2 ( Num_newJL , Part2_newJL )
            Num_newJL = SetNum_Part3 ( Num_newJL , Part3_newJL )
            Num_newJL = SetNum_Part4 ( Num_newJL , Part4_newJL )
            Num_newJL = SetNum_Part5 ( Num_newJL , Part5_newJL )
            Num_newJL = SetNum_Part6 ( Num_newJL , Part6_newJL )
            Num_newJL = SetNum_Part7 ( Num_newJL , Part7_newJL )
            SetItemForgeParam ( Item_newJL , 1 , Num_newJL )
     
            SetItemAttr ( Item_newJL , ITEMATTR_VAL_STR , new_str )
            SetItemAttr ( Item_newJL , ITEMATTR_VAL_DEX , new_dex )  
            SetItemAttr ( Item_newJL , ITEMATTR_VAL_STA , new_sta )
            SetItemAttr ( Item_newJL , ITEMATTR_VAL_AGI , new_agi )
            SetItemAttr ( Item_newJL , ITEMATTR_VAL_CON , new_con )
            SetItemAttr ( Item_newJL , ITEMATTR_MAXENERGY , new_MAXENERGY )    
            SetItemAttr ( Item_newJL , ITEMATTR_MAXURE , new_MAXURE )  

    следующее сбарасывает уровень наших фей

     Elf_Attr_cs ( role , Item_JLone , Item_JLother )

    Это не вся функция, а лишь основные "куски", может быть что то упустил и не так понял, но думаю должно быть полезно.

    Соответсвенно ищем функцию  Elf_Attr_cs в functions.lua, а именно строки 

        max_JLone_temp = max_JLone_temp - 4
        max_JLother_temp = max_JLother_temp - 4

    На первый взгляд эта четверка  и похожа на значение уровней которое будет отниматься, проверить нет возможности, дерзайте!

    • Like 2

  3. On 14.01.2017 at 0:35 PM, NMS3RR said:

    @mangojkee для идеала не мешало бы сделать дизайн из папки,чтоб каждый мог написать свой дизайн.
     

     

    Сделано)

     

    On 10.01.2017 at 1:39 PM, mangojkee said:

    Программа автообновления с возможностью смены дизайна

    1.png

     

    Изменения:

    • Убрана возможно редактирование ver.ini, о его настройке читать выше;
    • Добавлена возможность смены дизайна, соответсвенно путь "\texture\updater\;
    • Изменено отображение блока новостей, теперь выводиться нужная вам веб страница;
    • Верхний блок выводит случайную картинку (0.jpg-3.jpg).

     

    Скачать с  - MEGA

     

    • Like 2

  4. 11 minutes ago, mkhzaleh said:

    thx
    so to add more maps
    i use like this
     

    add string with map name in gameserver.cfg, for example:

    map = eastgoaf,hell,hell2 ?

    if you want add few maps, you should add new string for every map. For example, if you want add 3 maps its look like that 

    map = eastgoaf
    map = hell
    map = hell2

     


  5. 14 minutes ago, mkhzaleh said:

    i created my server but i still need to know how to move  all Resource from server files to see it ingame client when i run my gam

     

     

    14 minutes ago, mkhzaleh said:

     and i need help to make auto update

    or

     

    15 minutes ago, mkhzaleh said:


    --...also what need to make website for register


     

     

    16 minutes ago, mkhzaleh said:

     

    --.. and how can i open all maps cuz i have only one map so what should i do 


     

    add string with map name in gameserver.cfg, for example:

    map = eastgoaf

    1.png

     

    there you can see all maps that you have "server files/resource/..'

    1.png

     

     

    • Like 1

  6. 51 minutes ago, Graf said:

    Суть вопроса состоит в том..

    Есть кайлин.

    2549    Доспех Кайлин    e0697    10110002    0000670002    0001670002    0002670002    0003970002...

    Он красный. Используется. Хочу сделать, чтобы был второй, но другого цвета.

    Копируем. Меняем ID.

    4000    Доспех Кайлин    zelen0    10110002    0000670002    0001670002    0002670002    0003970002...

    Иконку поменял. Как грамотно поменять вид на персонаже?

     Ищем нужную нам модель, в твоем случае 

    4000    Доспех Кайлин    zelen0    10110002    0000670002    0001670002    0002670002    0003970002

    Соответсвенно                                             "Модель Ланс Модель Карциз  Модель Филлис Модель Ами"

    Открываем, эту модель, я открыл hex редактором, можно открыть блокнотом, через поиск нужно найти bmp, это и будет нашей текстурой

    1.png

    Открываем эту текстуру и перекрашиваем, просто меняя оттенки цветов, это есть почти во всех самых простых редакторах, я к примеру открыл в редакторе faststone

    в котром есть: цвета - использовать цвета (rus)

     2.png

    и соответсвенно сменил цвет текстуры

    3.png

    Получили:

    4.png

    Если же хочешь добавить, то соответсвенно нужно менять имя текстуры, имя модели, имя текстуры в файле моделе *.lgo.

    4000    Доспех Кайлин    zelen0    10110002    0000999991    000999992    000999993    000999994

    • Like 1

  7. Auto-update program v1

    1.png

    Program for automatic client updates. Very easy to use.
     
    How to use:
    1) Throw the program in the folder with client;
    2) Run;
    3) Set up;
     -Version Patch (version for which is currently set to check the patch to the server, the server and its value will change when a new update available);
     -link to patch (file - zip, which contains all the necessary files you updates with the matching folder structure as the client);
     -link to ver.ini - file that will generate the same program, by pressing the save button, the file must also reside on the server and the client - pay attention to the version of the client should be less on the server respectively with each patch increases;
    -link to changelog.txt - a text file that contains any information you want to be displayed in the "News", the file must be the same on the server;

    2.png

    All this can be done by you, an example of ver.ini, below.
    Example generated ver.ini, for the client (server version value must be different!)

    [Settings]
    Patch=http://piratia-a.do.am/patch.zip
    Ver=http://piratia-a.do.am/ver.ini
    Changelog=http://piratia-a.do.am/changelog.txt
    [Main]
    Version=0.0

    4) Throw all the necessary files to the server (patch.zip, ver.ini, changelog.txt)

    As a result, we will get 2 files: ver.ini and Auto-update program v1.exe must to be expanded in the client.
     

     

    The program auto-update v2 [server with dynamic ip]


     
    Added function to check the current  ip address of the server and respectively substituted for the actual in serverset.bin. (Supports clients version 1.3x)
     
    Using the auto-update program is similar to the previous version, there is one small feature:
    In ver.ini file it will add one more line for editing which, added to the item meets both in the settings menu.

    3.png

    The process of inspection and replacement of the address takes place when you start the program, compare the value in ver.ini the client and server respectively, and being replaced in serverset.bin and ver.ini (the client).
    Example ver.ini:

    [Settings]
    Patch=http://piratia-a.do.am/patch.zip
    Ver=http://piratia-a.do.am/ver.ini
    Changelog=http://piratia-a.do.am/changelog.txt
    [Main]
    Version=1.0
    [Server]
    IP=127.0.0.0

    When replacing the client address, the program - show message:

    4.png

     

    Download - dropbox

     

    Translate from russian by google translate.

    • Like 4

  8. 1 hour ago, V3ct0r said:

    Интересное решение проблемы, когда программа автообновления сама устанавливает IP адрес сервера в клиенте.

    В принципе эту тему можно удалять, так как во второй версии программы автобления, есть функция автоматической смены IP, но все же сам способ использования обновления для смены ip, может быть будет кому то полезным.


  9. 28 minutes ago, Арсен said:

    Зачем это постоянно делать, на хост сайта постоянно надо копилировать файлы для клиента и заливать, зачем? не легче просто ip просто на сайте обновлять, и в чате писать.

    Реклама своей же программы.

    Тебе не надо - не делай, это выбор каждого, я лишь описал решение того, что с моей точки зрения в 2017 - необходимо.

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

     


  10. Всем привет! В этом гайде будет описано решение проблемы людей, которы хотят держать сервер и не могут себе позволить статический адрес.

    Все очень просто, но все же я подобного гайда не видел и совсем уж ленивым людям он понадобиться.

    Как мы знаем ip адрес сервера храниться в клиенте игроков в файле ServerSet.bin.

    То есть для того что бы у клиента была возможноть подключиться, необходимо при каждой смене адреса менять значения в ServerSet.bin. Для смены адреса можно взять IP Changer или IP Changer для x86 (1.3х клиент).

    Осталось всего лишь заменить  ServerSet.bin в клиентах игроков на новый. Берем и с помощью  Программа автообновления, которая работает через HTTP, то есть наш патч (содержащий ServerSet.bin)  можно залить на любой веб сервис к которому и будут обращаться клиенты при каждом запуске, соответсвенно будет производиться замена этого файла.

     

     

    • Like 1

  11. Внимание этот пост содержит 3 разные версии программы, все имеют свои особенности, перед исользованием следует выбрать более подходящюю вашим требования:

    1. Программа автообновления - самая первая версия, она же самая простая, поможет вам с обновлением клиента. Дизайн сменить нельзя.

    2. Программа автообновления v2 [для серверов с динамическим ip]  - аналог первой версии, но уже с возможностью автоматической правки ip адреса сервера в клиенте игрков.

    3. Программа автообновления с возможностью смены дизайна - имеет отличие от прошлых версий, изменен функционал, убрано все лишнее, так же нет возможности автоматической смены ip в клиенте (позже будет добавлено)

    Программа автообновления

    1.png

     

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

     

    Как пользоваться программой:

    1) Закинуть программу в папку с клиентом;

    2) Запустить;

    3) Настроить;

     -Версия патча (версия, по которой будет сверяться актуальность установленого патча с сервером, на сервере ее значения и будем менять при выходе новых обновлений);

     -Ссылка на патч (архив - zip, который содержит все нужные вам файлы обновления с соответсвующей структурой папок, как в клиенте);

     -Ссылка на ver.ini - файл, который сгенерирует эта же программа, по нажатию кнопки сохранить, файл должен так же находиться на сервере и в клиенте - обратите внимание на версию, в клиенте должна быть меньше, на сервере соответсвенно с каждым патчем увеличиваем;

    -Ссылка на changelog.txt - текстовый файл, содержит любую нужную вам информацию, которая будет выводиться в поле "новости", файл так же должен находиться на сервере;

     

    2.png

    Все это можно проделать и вручную, пример ver.ini, приведен ниже.

    Пример сгенерированного ver.ini, для клиента ( на сервере значение версии должно быть другим!)

    [Settings]
    Patch=http://piratia-a.do.am/patch.zip
    Ver=http://piratia-a.do.am/Ver.ini
    Changelog=http://piratia-a.do.am/changelog.txt
    [Main]
    Version=0.0

    4) Закинуть все нужные файлы на сервер (patch.zip,  Ver.ini, changelog.txt)

     

    В итоге мы получим 2 файла: ver.ini и Пиратия автообновление.exe, которые необходимо ложить в клиент для работы программы.

     

    Скачать - dropbox

    Скачать - ЯД

     

    Программа автообновления v2 [для серверов с динамическим ip] 

     

    Добавлена функция проверки актуальности ip адреса сервера и соответсвенно замены на актуальный в serverset.bin. (Поддерживает клиенты версии 1.3х)

     

    Использование Программа автообновления аналогично прошлой версии, есть одна небольшая особенность:

    В файле ver.ini будет добавилась еще одна строка для редактирования которой, добавлен соответсвующий пункт в меню-настройки.2.png

    Процес проверки и замены адреса происходит при запуске самой программы, сверяются значение в ver.ini у клиента и на сервере и соответсвенно проводится замена в serverset.bin и ver.ini(у клиента).

    Пример ver.ini:

    [Settings]
    Patch=http://piratia-a.do.am/patch.zip
    Ver=http://piratia-a.do.am/ver.ini
    Changelog=http://piratia-a.do.am/changelog.txt
    [Main]
    Version=1.0
    [Server]
    IP=127.0.0.0

    При замене адреса у клиента, будет выведено следующее сообщение:

    1.png

    Так же частично были поправлены ошибки прошлой версии программы.

    Скачать Программу автообновления v2 [для серверов с динамическим ip]  c - dropbox

    Скачать с  -ЯД

    Программа автообновления с возможностью смены дизайна

    1.png

     

    Изменения:

    • Убрана возможно редактирование ver.ini, о его настройке читать выше;
    • Добавлена возможность смены дизайна, соответсвенно путь "\texture\updater\;
    • Изменено отображение блока новостей, теперь выводиться нужная вам веб страница;
    • Верхний блок выводит случайную картинку (0.jpg-3.jpg).

     

    Не тестировалось с большими размерами патча! 

     

    Скачать с  - dropbox

    Скачать с  - ЯД

     

     

     

    Последние изменения:

    -Исправлены текстовые ошибки;

    P.S. написано на скорую руку, не тестировалось, о всех ошибках прошу сообщать. 

    Первый пост, не судите строго.

     

    • Like 4

  12. У кого возникнет ошибка "Runtime error: Cant load Button image:bitmap...." , следует править пути к изображениям 

    images:#((scriptsPath+"img/logo2.jpg")

    на пути без "scriptsPath+" соответственно 

    images:#(("img/logo2.jpg")

    Скрипт с поправками, как и изображения прикрепить не могу(

    • Like 1

  13. Видел когда-то гайд по созданию защиты от инжекта сторонних приложений в game.exe , при попытке инжекта данное приложение будет закрываться. Так же там присутствовала защита от подмены game.exe ( что то там с пакетами). Очень интересует, как реализовать эту защиту. Данную тему не смог найти на просторах интернета и прошу вашей помощи с данной проблемой)


  14. После использования данного конвертера 

     Конвертер .LGO <-> .OBJ и открытии и дальнейшего сохранения проекта без изменений и последующей переконвертирования его обратно возникает следующая ошибка
    
    
    

    eac3b3079ea0.png

    скрин почему то не видно, линк на радикал

    Прошу вашей помощи!:(

    Заранее спасибо за помощь.

×
×
  • Create New...