Jump to content

.TeodorPL

Inactive Member
  • Posts

    16
  • Joined

  • Last visited

  • Feedback

    0%

Posts posted by .TeodorPL

  1.  

     

     

     

     

    This is layer7 flood, protect your web server or use proxy. ;)

     

    a guide ? Thank you.

     

     

    If you're using Apache install & configure mod_qos, mod_evasive and mod_spamhaus, when you're using nginx configure limit_req.

    Possibly you can install xtables module to iptables and block countries from which the attacks are getting or use proxy (ex. CloudFlare).

     

     

    I have webserver the same with game server (FreeBSD).

     

     

    You need to manually compile modules to web server on FreeBSD. :(

    I think a better solution would be a proxy.

     

     

    I'm sorry, thank for your help but i'm too newbie to can complete your request. :(

     

     

     

    Send me your Skype on PM.

  2.  

     

     

    This is layer7 flood, protect your web server or use proxy. ;)

     

    a guide ? Thank you.

     

     

    If you're using Apache install & configure mod_qos, mod_evasive and mod_spamhaus, when you're using nginx configure limit_req.

    Possibly you can install xtables module to iptables and block countries from which the attacks are getting or use proxy (ex. CloudFlare).

     

     

    I have webserver the same with game server (FreeBSD).

     

     

    You need to manually compile modules to web server on FreeBSD. :(

    I think a better solution would be a proxy.
  3.  

    This is layer7 flood, protect your web server or use proxy. ;)

     

    a guide ? Thank you.

     

     

    If you're using Apache install & configure mod_qos, mod_evasive and mod_spamhaus, when you're using nginx configure limit_req.

    Possibly you can install xtables module to iptables and block countries from which the attacks are getting or use proxy (ex. CloudFlare).

    • Love 1
  4. Very nice, but...

    local str = slowa[vnum][1]..""..slowa[vnum][2]..""..slowa[vnum][3]..""..slowa[vnum][4]..""..slowa[vnum][5]..""..slowa[vnum][6]

    =

    local str = slowa[vnum][1]..slowa[vnum][2]..slowa[vnum][3]..slowa[vnum][4]..slowa[vnum][5]..slowa[vnum][6]

    Anyway, good job.

    • Love 2
  5. Hi, I want to release shop with the new currency.

    Client:

    inventorywindow.py (locale/uiscript):

    You must replace this:

    "y" : SCREEN_HEIGHT - 37 - 565,
    "y" : SCREEN_HEIGHT - 37 - 589,

    2x replace this:

    "height" : 565,
    "height" : 589,

    And replace this:

                    ## Print
    
                    {
    
                        "name":"Money_Slot",
    
                        "type":"button",
    
    
    
                        "x":8,
    
                        "y":28,
    
    
    
                        "horizontal_align":"center",
    
                        "vertical_align":"bottom",
    
    
    
                        "default_image" : "d:/ymir work/ui/public/parameter_slot_05.sub",
    
                        "over_image" : "d:/ymir work/ui/public/parameter_slot_05.sub",
    
                        "down_image" : "d:/ymir work/ui/public/parameter_slot_05.sub",
    
    
    
                        "children" :
    
                        (
    
                            {
    
                                "name":"Money_Icon",
    
                                "type":"image",
    
    
    
                                "x":-18,
    
                                "y":2,
    
    
    
                                "image":"d:/ymir work/ui/game/windows/money_icon.sub",
    
                            },
    
    
    
                            {
    
                                "name" : "Money",
    
                                "type" : "text",
    
    
    
                                "x" : 3,
    
                                "y" : 3,
    
    
    
                                "horizontal_align" : "right",
    
                                "text_horizontal_align" : "right",
    
    
    
                                "text" : "123456789",
    
                            },
    
                        ),
    
                    },
    
    
                    ## Print
    
                    {
    
                        "name":"Money_Slot",
    
                        "type":"button",
    
    
    
                        "x":8,
    
                        "y":28+24,
    
    
    
                        "horizontal_align":"center",
    
                        "vertical_align":"bottom",
    
    
    
                        "default_image" : "d:/ymir work/ui/public/parameter_slot_05.sub",
    
                        "over_image" : "d:/ymir work/ui/public/parameter_slot_05.sub",
    
                        "down_image" : "d:/ymir work/ui/public/parameter_slot_05.sub",
    
    
    
                        "children" :
    
                        (
    
                            {
    
                                "name":"Money_Icon",
    
                                "type":"image",
    
    
    
                                "x":-18,
    
                                "y":2,
    
    
    
                                "image":"d:/ymir work/ui/game/windows/money_icon.sub",
    
                            },
    
    
    
                            {
    
                                "name" : "Money",
    
                                "type" : "text",
    
    
    
                                "x" : 3,
    
                                "y" : 3,
    
    
    
                                "horizontal_align" : "right",
    
                                "text_horizontal_align" : "right",
    
    
    
                                "text" : "123456789",
    
                            },
    
                        ),
    
                    },
    
                    ## Print
    
                    {
    
                        "name":"Premium_Slot",
    
                        "type":"button",
    
    
    
                        "x":8,
    
                        "y":28,
    
    
    
                        "horizontal_align":"center",
    
                        "vertical_align":"bottom",
    
    
    
                        "default_image" : "d:/ymir work/ui/public/parameter_slot_05.sub",
    
                        "over_image" : "d:/ymir work/ui/public/parameter_slot_05.sub",
    
                        "down_image" : "d:/ymir work/ui/public/parameter_slot_05.sub",
    
    
    
                        "children" :
    
                        (
    
                            {
    
                                "name":"Premium_Icon",
    
                                "type":"image",
    
    
    
                                "x":-18,
    
                                "y":2,
    
    
    
                                "image":"d:/ymir work/ui/game/windows/money_icon.sub",
    
                            },
    
    
    
                            {
    
                                "name" : "Premium",
    
                                "type" : "text",
    
    
    
                                "x" : 3,
    
                                "y" : 3,
    
    
    
                                "horizontal_align" : "right",
    
                                "text_horizontal_align" : "right",
    
    
    
                                "text" : "123456789",
    
                            },
    
                        ),
    
                    },
    
    

    game.py (root):

    In table "servercommandlist" you must add this lines:

     

                "GetInputStart"            : self.GetInputStart,
    
                "GetInputStop"            : self.GetInputStop,
    
                "GetInput"                : self.GetInput,
    
                "SetQuestIndex"            : self.QuestIndexShop,
    
                "SetIsNpc"                : self.SetIsNpc,
    
                "SetPrice"                : self.SetIsPrice,
    
                "NieMamPP"                : self.NieMamPP,
    
                "setPP"                   : self.__setAchievementPoints,
    

    And add this lines under "servercommandlist" table:

     

        def NieMamPP(self):
    
            import uiShop
    
            self.wndShop = uiShop.ShopDialog()
    
            self.wndShop.NieMamPP()
    
    
    
        def __setAchievementPoints(self, points):
    
            constInfo.ACHIEVEMENT_POINTS = int(points)
    
            self.interface.wndInventory.UpdatePremiumInSlot()
    
    
    
        def SetIsPrice(self, value):
    
            self.interface.dlgShop.SetShopPrice(value)
    
    
    
        def SetIsNpc(self):
    
            constInfo.IsItemShop = 1
    
    
    
        def QuestIndexShop(self, value):
    
            constInfo.IS_QUEST = int(value)
    
    
    
        def GetInputStart(self):
    
            constInfo.INPUT_IGNORE = 1
    
    
    
        def GetInputStop(self):
    
            constInfo.INPUT_IGNORE = 0
    
    
    
        def GetInput(self):
    
            net.SendQuestInputStringPacket(str(constInfo.INPUT_DATA))
    
    

    constinfo.py (root):

    You must add this lines in the middle of the file:

     

    ACHIEVEMENT_POINTS = 0
    
    IS_QUEST = 0
    
    IsItemShop = 0
    
    INPUT_IGNORE = 0
    
    INPUT_DATA = ""
    
    

    uitooltip.py (root):

    You must replace this function:

     

        def SetShopItem(self, slotIndex):
    
            itemVnum = shop.GetItemID(slotIndex)
    
    
    
            if 0 == itemVnum:
    
                return
    
    
    
            price = shop.GetItemPrice(slotIndex)
    
            self.ClearToolTip()
    
            self.isShopItem = TRUE
    
    
    
            item.SelectItem(itemVnum)
    
    
    
            metinSlot = []
    
            for i in xrange(player.METIN_SOCKET_MAX_NUM):
    
                metinSlot.append(shop.GetItemMetinSocket(slotIndex, i))
    
            attrSlot = []
    
            for i in xrange(player.ATTRIBUTE_SLOT_MAX_NUM):
    
                attrSlot.append(shop.GetItemAttribute(slotIndex, i))
    
    
    
            self.AddItemData(itemVnum, metinSlot, attrSlot)
    
    
    
            self.AppendPrice(price)
    
    
        def SetShopItem(self, slotIndex, addprice = 0, waltype = 0):
    
            itemVnum = shop.GetItemID(slotIndex)
    
    
    
            if 0 == itemVnum:
    
                return
    
    
    
            price = shop.GetItemPrice(slotIndex)
    
            self.ClearToolTip()
    
            self.isShopItem = TRUE
    
    
    
            item.SelectItem(itemVnum)
    
    
    
            metinSlot = []
    
            for i in xrange(player.METIN_SOCKET_MAX_NUM):
    
                metinSlot.append(shop.GetItemMetinSocket(slotIndex, i))
    
            attrSlot = []
    
            for i in xrange(player.ATTRIBUTE_SLOT_MAX_NUM):
    
                attrSlot.append(shop.GetItemAttribute(slotIndex, i))
    
    
    
            self.AddItemData(itemVnum, metinSlot, attrSlot)
    
    
    
            if waltype == 0:
    
                self.AppendPrice(price)
    
            else:
    
                self.AppendSpace(5)
    
                self.AppendTextLine("Cena: %s TR" % (locale.NumberToMoneyString(addprice)[:-5]), self.SPECIAL_TITLE_COLOR)
    
    

    uiinventory.py (root):

    Under:

     

        def RefreshStatus(self):
    
            money = player.GetElk()
    
            self.wndMoney.SetText(locale.NumberToMoneyString(money))
    
    

    Add:

     

        def UpdatePremiumInSlot(self):
    
            import constInfo
    
            value = str(constInfo.ACHIEVEMENT_POINTS)
    
            self.wndPremium.SetText(locale.NumberToMoneyString(value)[:-5] + " TR")
    
    

    Under:

     

            self.wndMoneySlot = 0
    
    

    Add:

     

            self.wndPremium = 0
    
            self.wndPremiumSlot = 0
    
    

    Under:

     

                self.wndMoneySlot = self.GetChild("Money_Slot")
    
    

    Add:

     

                self.wndPremium = self.GetChild("Premium")
    
                self.wndPremiumSlot = self.GetChild("Premium_Slot")
    
    

    And replace this function:

     

        def SelectEmptySlot(self, selectedSlotPos):
    
            if constInfo.GET_ITEM_DROP_QUESTION_DIALOG_STATUS() == 1:
    
                return
    
    
    
            selectedSlotPos = self.__InventoryLocalSlotPosToGlobalSlotPos(selectedSlotPos)
    
    
    
            if mouseModule.mouseController.isAttached():
    
    
    
                attachedSlotType = mouseModule.mouseController.GetAttachedType()
    
                attachedSlotPos = mouseModule.mouseController.GetAttachedSlotNumber()
    
                attachedItemCount = mouseModule.mouseController.GetAttachedItemCount()
    
                attachedItemIndex = mouseModule.mouseController.GetAttachedItemIndex()
    
    
    
                if player.SLOT_TYPE_INVENTORY == attachedSlotType:
    
                    itemCount = player.GetItemCount(attachedSlotPos)
    
                    attachedCount = mouseModule.mouseController.GetAttachedItemCount()
    
                    self.__SendMoveItemPacket(attachedSlotPos, selectedSlotPos, attachedCount)
    
    
    
                    if item.IsRefineScroll(attachedItemIndex):
    
                        self.wndItem.SetUseMode(FALSE)
    
    
    
                elif player.SLOT_TYPE_PRIVATE_SHOP == attachedSlotType:
    
                    mouseModule.mouseController.RunCallBack("INVENTORY")
    
    
    
                elif player.SLOT_TYPE_SHOP == attachedSlotType:
    
                    if constInfo.IsItemShop == 0:
    
                        net.SendShopBuyPacket(attachedSlotPos)
    
                    else:
    
                        import uiShop
    
                        self.wndShop = uiShop.ShopDialog()
    
                        self.wndShop.BuyFromIS(attachedSlotPos)
    
    
    
                elif player.SLOT_TYPE_SAFEBOX == attachedSlotType:
    
    
    
                    if player.ITEM_MONEY == attachedItemIndex:
    
                        net.SendSafeboxWithdrawMoneyPacket(mouseModule.mouseController.GetAttachedItemCount())
    
                        snd.PlaySound("sound/ui/money.wav")
    
    
    
                    else:
    
                        net.SendSafeboxCheckoutPacket(attachedSlotPos, selectedSlotPos)
    
    
    
                elif player.SLOT_TYPE_MALL == attachedSlotType:
    
                    net.SendMallCheckoutPacket(attachedSlotPos, selectedSlotPos)
    
    
    
                mouseModule.mouseController.DeattachObject()
    
    

    uishop.py (root):

    This file is too much editing, I give you the finished file.

     

    http://wklej.to/YR452

    Server:

    Add shop, and then add items in this shop.

    In my system, a standard shop has id 15.

    Remember not to give the shop directly at NPC!

    Quest:

     

    http://wklej.to/T5Ild

    The price we give here:

     

    cmdchat("SetPrice 200|50|100|200|150|250|100|100|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0")

    Slots are separated by "|".

    The items we give here:

     

                local items = {
    
                    [1]={71124, 1, 200},
    
                    [2]={71125, 1, 200},
    
                    [3]={71126, 1, 200},
    
                    [4]={71127, 1, 200},
    
                    [5]={71128, 1, 200},
    
                }
    
    
                    [slot_id]={item_id, item_count, item_price},
    
    

    This guide and information contained in it things are by Teodor.

    Sorry for my english, I come from Polish.

    Greetings!

     

    Screen:

    09977500848733865551.jpg

    • Love 19
×
×
  • Create New...

Important Information

Terms of Use / Privacy Policy / Guidelines / We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.