Jump to content

Static

Advanced members
  • Content Count

    28
  • Joined

  • Last visited

  • Days Won

    1

Posts posted by Static


  1. Решил. Может кому понадобится.

    Цитата

    function teleport()

        local CurMapName1 = "garner" --Название карты куда тп.
        
        local GoTo01X = 9777 --(координата Х)
        local GoTo01Y = 9077 --(координата Y)
        local GoTo01M = CurMapName1

        Talk( 1, "Джина: Я телепортер.Ты готов?")
        Text( 1, "Я: Да, Отправь меня.", JumpPage, 2 )
        
        InitTrigger()
        TriggerCondition( 1, HasItem,ИД предмета,1 ) --Вписываем ид предмета для проверки.
        TriggerCondition( 1, HasLeaveBagGrid, 1 )
        TriggerAction( 1, GoTo, GoTo01X, GoTo01Y, GoTo01M )
        TriggerFailure( 1, JumpPage, 3 )
        Talk( 2, "Джина: Мне кажется ты не готов." )
        Text( 2, "Отправляй уже.",MultiTrigger, GetMultiTrigger(), 2)
        Text( 2, "Забудь, я останусь здесь" ,CloseTalk )
        
        Talk( 3, "Джина: Я же говорила ты не готов! _Обманщик!" )
    end

     


  2. Всем привет. Кто может скинуть готовый скрипт для нпс с проверкой на лут,  для примера.

    Я хочу сделать нпс телепорт, но он будет работать когда у персонажа есть определенный лут.

    Самому найти не удалось.


  3. @Minimi

    Эффект смерти 

    Эффект во время смерти
        Глава снежного люда    xxx    4    5    672    0    1    1    0    0    0    0    0    0    0    0    0    0,0,0    1    179    100    396    397    398    0    0    -50    0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1    2,896    4,954    6,268    120    1,5,0    2,5,0    399    398    0    0    0,0,0    1    1    0    0    0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1    0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1    0,-1,-1,-1,-1,-1,-1,-1,-1,-1    0,-1,-1,-1,-1,-1,-1,-1,-1,-1    0    0    0    0,-1,-1,-1,-1,-1,-1,-1,-1,-1    0,-1,-1,-1,-1,-1,-1,-1,-1,-1    10    1    1200    0    0    1    0    65    1000000    0    10000    0    1120    1680    53    274    400    262    10    126    500    100    1500    500    1499    500    0    37    37    37    37    37    37    20    0    0    0    118500    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1,1,1

    Может что-то из этого.


  4. 2 часа назад, NMS3RR сказал:

    Повтори такое же с гемом:
    r1,r2 =MakeItem ( role , item_tureID , 1 , 2 )    
    local Item_ture = GetChaItem ( role , 2 , r2 ) 
    SetItemAttr ( Item_ture , ITEMATTR_VAL_BaoshiLV , Item_Lv )
     

    Можешь помочь, скинуть готовый код? Я что-то совсем запутался... 


  5. Всем привет, интересует такая тема, как можно сделать, чтобы когда гем вытаскиваешь, он с рефом вытаскивался? Кто шарит и сможет помочь?

    Код в forge.lua

    Скрытый текст

    function can_getstone_item(...)
        if arg.n ~= 10 and arg.n ~= 14 then
            SystemNotice ( arg[1] , "parameter value illegal"..arg.n )
            return 0
        end
        local Check = 0
        Check = can_getstone_item_main ( arg )
        if Check == 1 then
            return 1
        else
            return 0
        end
    end

    function can_getstone_item_main( Table )
        local role = 0
        local ItemBag = {}                                        
        local ItemCount = {}                                        
        local ItemBagCount = {}                                        
        local ItemBag_Now = 0
        local ItemCount_Now = 0
        local ItemBagCount_Num = 0
        role , ItemBag , ItemCount , ItemBagCount , ItemBag_Now , ItemCount_Now , ItemBagCount_Num = Read_Table ( Table )
        if ItemCount [0] ~= 1 or ItemCount [1] ~= 1 or ItemBagCount [0] ~= 1 or ItemBagCount [1] ~= 1 then
            SystemNotice ( role ,"equipment quantity illegal ")
            return 0
        end
        local Item_CanGet = GetChaFreeBagGridNum ( role )    
        if Item_CanGet < 1 then
            SystemNotice(role ,"Вы должны иметь 1 свободный слот в инвентаре ")
            UseItemFailed ( role )
            return
        end
        local Item_mainitem = GetChaItem ( role , 2 , ItemBag [0] )    
        local Item_otheritem = GetChaItem ( role , 2 , ItemBag [1] )    
        local  ItemType_mainitem = GetItemType ( Item_mainitem )
        local  ItemType_otheritem = GetItemType ( Item_otheritem )
        local ItemID_mainitem = GetItemID ( Item_mainitem )
        local ItemID_otheritem = GetItemID ( Item_otheritem )
        local Item_mainitem_Lv =  GetItemLv ( Item_mainitem )
        local Item_Stone = {}
        local Item_StoneLv = {}
        local Jinglianxinxi = GetItemForgeParam ( Item_mainitem , 1 )
        Jinglianxinxi = TansferNum ( Jinglianxinxi )
        Item_Stone[0] = GetNum_Part2 ( Jinglianxinxi )
        Item_Stone[1] = GetNum_Part4 ( Jinglianxinxi )
        Item_Stone[2] = GetNum_Part6 ( Jinglianxinxi )
        Item_StoneLv[0] = GetNum_Part3 ( Jinglianxinxi )
        Item_StoneLv[1] = GetNum_Part5 ( Jinglianxinxi )
        Item_StoneLv[2] = GetNum_Part7 ( Jinglianxinxi )
        local checkstar=CheckItem_CanJinglian(Item_mainitem)
        if checkstar==0 then
        SystemNotice( role ,"Неверный тип предмета ")
            return 0    
        end
        if Item_Stone[0]==0 and Item_Stone[1]==0 and Item_Stone[2]==0 then
        SystemNotice( role ,"Предмет не ковался самоцветами ")
            return 0        
        end
        if ItemID_otheritem ~= 1020 then
            SystemNotice( role ,"Используйте Клещи кузнеца ")
            return 0            
        end
        local Money_Need = getstone_money_main ( Table )
        local Money_Have = GetChaAttr ( role , ATTR_GD )
        if Money_Need > Money_Have then
            SystemNotice( role ,"У вас не хватает золота ")
            return 0
        end
        return 1
    end

    function begin_getstone_item(...)
        local Check_Cangetstone = 0
        Check_Cangetstone = can_getstone_item_main ( arg )
        if Check_Cangetstone == 0 then
            return 0
        end
        local role = 0
        local ItemBag = {}                                            
        local ItemCount = {}                                            
        local ItemBagCount = {}                                        
        local ItemBag_Num = 0
        local ItemCount_Num = 0
        local ItemBagCount_Num = 0
        role , ItemBag , ItemCount , ItemBagCount , ItemBag_Num , ItemCount_Num , ItemBagCount_Num = Read_Table ( arg )
        local Item_mainitem = GetChaItem ( role , 2 , ItemBag [0] )    
        local Item_otheritem = GetChaItem ( role , 2 , ItemBag [1] )    
        local Money_Need = getstone_money_main ( arg )
        local Money_Have = GetChaAttr ( role , ATTR_GD )
        TakeMoney(role,nil,Money_Need)
        Check_TiChun_Item = getstone_item ( arg )
        if Check_TiChun_Item == 0  then
            SystemNotice ( role ,"Не удалось вытащить самоцвет. Проверьте ход работы ")
        end
        return 1
    end

    function get_item_getstone_money(...)
        local Money = getstone_money_main ( arg )
        return Money
    end

    function getstone_money_main ( Table )
        local role = 0
        local ItemBag = {}                                        
        local ItemCount = {}                                        
        local ItemBagCount = {}                                    
        local ItemBag_Num = 0                                    
        local ItemCount_Num = 0                                    
        local ItemBagCount_Num = 0                                
        role , ItemBag , ItemCount , ItemBagCount , ItemBag_Num , ItemCount_Num , ItemBagCount_Num = Read_Table ( Table )
        local Item_mainitem = GetChaItem ( role , 2 , ItemBag [0] )    
        local Item_StoneLv = {}
        local Jinglianxinxi = GetItemForgeParam ( Item_mainitem , 1 )
        Jinglianxinxi = TansferNum ( Jinglianxinxi )
        Item_StoneLv[0] = GetNum_Part3 ( Jinglianxinxi )
        Item_StoneLv[1] = GetNum_Part5 ( Jinglianxinxi )
        Item_StoneLv[2] = GetNum_Part7 ( Jinglianxinxi )
        local Money_Need = (Item_StoneLv[0]+Item_StoneLv[1]+Item_StoneLv[2])*10000
        return Money_Need
    end

    function getstone_item ( Table )
        local role = 0
        local ItemBag = {}                                        
        local ItemCount = {}                                        
        local ItemBagCount = {}                                        
        local ItemBag_Num = 0
        local ItemCount_Num = 0
        local ItemBagCount_Num = 0
        local ItemID_Cuihuaji = 0
        role , ItemBag , ItemCount , ItemBagCount , ItemBag_Num , ItemCount_Num , ItemBagCount_Num = Read_Table ( Table )
        local Item_mainitem = GetChaItem ( role , 2 , ItemBag [0] )    
        local Item_otheritem = GetChaItem ( role , 2 , ItemBag [1] )    
        local  ItemType_mainitem = GetItemType ( Item_mainitem )
        local  ItemType_otheritem = GetItemType ( Item_otheritem )
            local ItemID_mainitem = GetItemID ( Item_mainitem )
            local ItemID_otheritem = GetItemID ( Item_otheritem )
        local Item_mainitem_Lv =  GetItemLv ( Item_mainitem )
        local Item_otheritem_Lv =  GetItemLv ( Item_otheritem )
        local Num = GetItemForgeParam ( Item_mainitem , 1 )
        Num = TansferNum ( Num )
        local lg_Num=Num
        local Item_Stone = {}
        local Item_StoneLv = {}
        local Item_StoneID = {}
        Item_Stone[0] = GetNum_Part2 ( Num )
        Item_Stone[1] = GetNum_Part4 ( Num )
        Item_Stone[2] = GetNum_Part6 ( Num )
        Item_StoneLv[0] = GetNum_Part3 ( Num )
        Item_StoneLv[1] = GetNum_Part5 ( Num )
        Item_StoneLv[2] = GetNum_Part7 ( Num )
        Item_StoneID[0] = StoneTpye_ID[Item_Stone[0]]
        Item_StoneID[1] = StoneTpye_ID[Item_Stone[1]]
        Item_StoneID[2] = StoneTpye_ID[Item_Stone[2]]
        local r1 = 0
        local r2 = 0
        local Item_Lv = 0
        local item_tureID=0    
        if Item_StoneID[0]~=0 then
            item_tureID = Item_StoneID[0]
            Item_Lv = Item_StoneLv[0]
            Item_StoneLv[0] = Item_StoneLv[0]-1
            if Item_StoneLv[0]==0 then
                Item_Stone[0] = 0
            end
        elseif Item_StoneID[0]==0 and Item_StoneID[1]~=0 then
            item_tureID = Item_StoneID[1]
            Item_Lv = Item_StoneLv[1]
            Item_StoneLv[1] = Item_StoneLv[1]-1
            if Item_StoneLv[1]==0 then
                Item_Stone[1] = 0
            end
        elseif Item_StoneID[0]==0 and Item_StoneID[1]==0  and Item_StoneID[2]~=0 then
            item_tureID = Item_StoneID[2]
            Item_Lv = Item_StoneLv[2]
            Item_StoneLv[2] = Item_StoneLv[2]-1
            if Item_StoneLv[2]==0 then
                Item_Stone[2] = 0
            end
        else 
            SystemNotice( role , "Gem Extraction tool ID error")
            return        
        end
        r1,r2 =MakeItem ( role , item_tureID , 1 , 2 )    
        local Item_ture = GetChaItem ( role , 2 , r2 ) 
        SetItemAttr ( Item_ture , ITEMATTR_VAL_BaoshiLV , Item_Lv )
        Num = SetNum_Part2 ( Num , Item_Stone[0] )
        Num = SetNum_Part3 ( Num , Item_StoneLv[0] )
        Num = SetNum_Part4 ( Num , Item_Stone[1] )
        Num = SetNum_Part5 ( Num , Item_StoneLv[1] )
        Num = SetNum_Part6 ( Num , Item_Stone[2] )
        Num = SetNum_Part7 ( Num , Item_StoneLv[2] )
        SetItemForgeParam ( Item_mainitem , 1 , Num )
        local cha_name = GetChaDefaultName ( role )
        LG( "star_tiqu_lg" ,cha_name, item_tureID , Item_Lv , lg_Num , Num )
        local R1 = 0
        R1 = RemoveChaItem ( role , ItemID_otheritem , 1 , 2 , ItemBag [1] , 2 , 1 , 0 )        
        if R1 == 0 then
            SystemNotice( role , "Переместить предмет не удалось ")
            return
        end
    end

    function can_manufacture_item (...)
        local ItemBagCount = arg[2]
        local Length = ItemBagCount+3
        if arg.n ~= Length then
            Notice("parameter value illegal"..arg.n)
            return 0
        end    
        local Check = 0
        Check = can_manufacture_item_main ( arg )
        if Check == 1 then        
            return 1
        else
            return 0
        end
    end

     


  6. 3 часа назад, BETEP/macs509 сказал:

        local POS_X=2217
        local POS_Y=2828

     

    координаты поставь как AddBirthPoint("1st Aurora Area", "mjing1", 366,395)

    хотя я не знаю какую ты используешь карту под аврору

    На сколько я знаю,  AddBirthPoint("1st Aurora Area", "mjing1", 366,395) - это координаты, где появляешься в авроре.

    А,  local POS_X=2217
         local POS_Y=2828 - это координаты, где находится портал в аврору. В данном случае, в аргенте, в ctrl все указано.


  7. Всем привет. Проблема в том, что когда нажимаю на портал, он не тпшит в аврору. В чем может быть проблема?

    1) ctrl.lua

    Скрытый текст

    function config(map)
        MapCanSavePos(map, 0)
        MapCanPK(map, 1)
        MapCopyNum(map, 1)
        SingleMapCopyPlyNum(map, 300)
        MapCanTeam(map , 1)
        MapType ( map , 4 )
    end

    function get_map_entry_pos_mjing1()
        local POS_X=2217
        local POS_Y=2828
        return POS_X , POS_Y
    end

    function init_entry(map)
        SetMapEntryMapName(map, "garner")
        SetMapEntryTime(map, "2005/8/30/0/0", "0/0/0", "0/0/0", "0/0/0")

    end

    2) entry.lua

    Скрытый текст

    function config_entry(entry) 
        SetMapEntryEntiID(entry, 193,1)
    end 

    function after_create_entry(entry) 
        local copy_mgr = GetMapEntryCopyObj(entry, 0)
        local EntryName = " Край Авроры "
        SetMapEntryEventName( entry, EntryName )
        map_name, posx, posy, tmap_name = GetMapEntryPosInfo(entry)
        Notice("В Чистом городе, открылся портал ["..posx..","..posy.."] ведущий в Край Авроры.")
    end

    function after_destroy_entry_mjing1(entry)
        map_name, posx, posy, tmap_name = GetMapEntryPosInfo(entry) 
        Notice("Портал, ведущий в Край Авроры, закрылся!") 
    end

    function after_player_login_mjing1(entry, player_name)
        map_name, posx, posy, tmap_name = GetMapEntryPosInfo(entry)
        ChaNotice(player_name, "В Чистом городе, открылся портал ["..posx..","..posy.."] ведущий в Край Авроры.")
    end

    3) birth_conf.lua

    Скрытый текст

    AddBirthPoint("1st Aurora Area", "mjing1", 366,395)

    4) MapInfo.txt

    Скрытый текст

    35    mjing1    1st Aurora Area    0    202,171    3,202,171    255,255,255

     


  8. 3 часа назад, DaGroIII сказал:

    Там все прописано, 
    function ItemHint_New11 ( Lv )
        local eff =  Lv *1
        local Hint = "\209\224\236\238\246\226\229\242: \196\243\245 +"..eff
        return Hint
    end

    Один из примеров.

    Порядковый номер к примеру в variable.lua 
    StoneAttrType[19]    = ITEMATTR_VAL_STA (то есть 19 номер)

    А в StoneInfo.txt у тебя к примеру
    22    Свет азраила    5773    24,0,0    2    ItemHint_New11 ( то есть 22 номер)

    Итог: Они должны быть на одном номере!

    • Like 1

  9. В 03.02.2018 в 16:21, BETEP/macs509 сказал:

    Создаешь строку в чарактере, там есть пункты голова,тело,нога,руки туда прописываешь id ап, примеры те же самые бд, нг мобы. HD и GM можно подставить двумя способами. Первый опять же в чарактере в конце есть поле под эффект, смотреть как пример нпс с крыльями или ауры у мини боссов. Можно через чатаймер наложить, но это более некорректно будет.

    Можешь подсказать ID эффекта HD или GM, для чарактера?


  10. Всем привет. Не могу понять в чем проблема, не получается скомпилировать iteminfo.txt, в сборке его нет почему-то, но есть патч, и от туда решил взять iteminfo.txt, но выдает ошибку при компилировании. Кто знает как можно её решить?

    fail.png


  11. 32 минуты назад, NMS3RR сказал:

    Проверь кодировку файла.
    Вставь любой другой файл NpcScript01.lua и посмотри что будет писать, если будет ошибка - проверяй правильность загрузки файлов. 

    Почему то при любой сборке одна и та же ошибка, напомни как проверить правильность загрузки файлов


  12. Всем привет, возникла для меня необычная ошибка при запуске Gameserver.exe, а именно когда загружает NpcScript01.lua, и Gameserver просто вырубается.

    • К примеру, пишет ошибка в строке 127, открываю смотрю, там строчка Text( 1, "Купить", BuyPage ), ничего ошибочного не вижу, ладно, убираю её. 
    • Потом совершенно рандомно выходит ошибка в строчке 227, там Text(1, "Стать Чемпионом", MultiTrigger, GetMultiTrigger(), 1), тоже ничего ошибочного не вижу, и так продолжается без конечно, пока весь файл не освобожу.

    Случилось такое просто внезапно, вечером выключил сервер и все хорошо, утром уже при запуске пошла такая ошибка. Может кто сталкивался с таким и может более менее объяснить?


  13. У меня две проблемы, помогите разобраться. 
    1. Может кто-нибудь объяснить как редактировать баланс персонажей, именно какая строчка за что отвечает и на сколько менять надо значения.

    2. Как сделать, чтобы из ожерелья и колец можно было вытащить гемы?

×
×
  • Create New...