Jump to content
metin2dev

passaport

Members
  • Content count

    16
  • Joined

  • Last visited

Community Reputation

0 Neutral

About passaport

  • Rank
    Neutral

Profile Information

  • Gender
    Male

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. passaport

    open [HELP] Inventory Slidebar

    UP!
  2. passaport

    open [HELP] Inventory Slidebar

    Hi,metin2dev.. I wanto to ask if you know how to add this system in my inventory.. I wanto to make with the function to hide de menu... Please who have this system and know how to do ...
  3. passaport

    c++ [RLS]Official Inventory Expansion

    Can you post your fix ? Thanks!
  4. passaport

    open Inventory Expansion Bug

    Hi, metin2dev The bug is manifest like this : My exchange.cpp file: bool CExchange::CheckSpace() { static CGrid s_grid1(5, 9); // 9 Rows a 5 Columns static CGrid s_grid2(5, 9); // 9 Rows a 5 Columns static CGrid s_grid3(5, 9); // 9 Rows a 5 Columns static CGrid s_grid4(5, 9); // 9 Rows a 5 Columns s_grid1.Clear(); s_grid2.Clear(); s_grid3.Clear(); s_grid4.Clear(); LPCHARACTER victim = GetCompany()->GetOwner(); LPITEM item; int i; const int perPageSlotCount = INVENTORY_MAX_NUM / 4; for (i = 0; i < INVENTORY_MAX_NUM; ++i) { if (!(item = victim->GetInventoryItem(i))) continue; BYTE itemSize = item->GetSize(); if (i < perPageSlotCount) // Notice: This is adjusted for 4 Pages only! s_grid1.Put(i, 1, itemSize); else if (i < perPageSlotCount * 2) s_grid2.Put(i - perPageSlotCount, 1, itemSize); else if (i < perPageSlotCount * 3) s_grid3.Put(i - perPageSlotCount * 2, 1, itemSize); else s_grid4.Put(i - perPageSlotCount * 3, 1, itemSize); } static std::vector <WORD> s_vDSGrid(DRAGON_SOUL_INVENTORY_MAX_NUM); bool bDSInitialized = false; for (i = 0; i < EXCHANGE_ITEM_MAX_NUM; ++i) { if (!(item = m_apItems[i])) continue; #ifdef NEW_ADD_INVENTORY int envanterblack; if (item->IsDragonSoul()) envanterblack = victim->GetEmptyDragonSoulInventory(item); else envanterblack = victim->GetEmptyInventory(item->GetSize()); if (envanterblack < 0) { victim->ChatPacket(CHAT_TYPE_INFO, "Text Bug1"); GetOwner()->ChatPacket(CHAT_TYPE_INFO, "Text Bug2"); return false; } #endif BYTE itemSize = item->GetSize(); if (item->IsDragonSoul()) { if (!victim->DragonSoul_IsQualified()) return false; if (!bDSInitialized) { bDSInitialized = true; victim->CopyDragonSoulItemGrid(s_vDSGrid); } bool bExistEmptySpace = false; WORD wBasePos = DSManager::instance().GetBasePosition(item); if (wBasePos >= DRAGON_SOUL_INVENTORY_MAX_NUM) return false; for (int i = 0; i < DRAGON_SOUL_BOX_SIZE; i++) { WORD wPos = wBasePos + i; if (0 == s_vDSGrid[wBasePos]) { bool bEmpty = true; for (int j = 1; j < item->GetSize(); j++) { if (s_vDSGrid[wPos + j * DRAGON_SOUL_BOX_COLUMN_NUM]) { bEmpty = false; break; } } if (bEmpty) { for (int j = 0; j < item->GetSize(); j++) { s_vDSGrid[wPos + j * DRAGON_SOUL_BOX_COLUMN_NUM] = wPos + 1; } bExistEmptySpace = true; break; } } if (bExistEmptySpace) break; } if (!bExistEmptySpace) return false; } else { int iPos = s_grid1.FindBlank(1, itemSize); if (iPos >= 0) { s_grid1.Put(iPos, 1, itemSize); continue; } iPos = s_grid2.FindBlank(1, itemSize); if (iPos >= 0) { s_grid2.Put(iPos, 1, itemSize); continue; } iPos = s_grid3.FindBlank(1, itemSize); if (iPos >= 0) { s_grid3.Put(iPos, 1, itemSize); continue; } iPos = s_grid4.FindBlank(1, itemSize); if (iPos >= 0) { s_grid4.Put(iPos, 1, itemSize); continue; } return false; // No space left in inventory } } return true; } If i don't have any space in inventory and i make a trade i recive the message : Text Bug 1 and the victim(another player) Text Bug 2 and the trade don't make..but if i have 2 slots for a sword and i give 2 sword ,the another player recive 1 sword and 1 stay in my inventory... Soory for my bad english but i worked 4 days to it and i don't know what to do anymore...
  5. passaport

    c++ [RLS]Official Inventory Expansion

    Trade-bug when one person have inventory full!
  6. passaport

    open Question about mob_drop_item

    I understand now with types.. Thank you very much! But with drop chance i can't understand anything.. If you don't mind i will like to make a mini tutorial with your photo to explain the types :). Thanks again!
  7. passaport

    solved Quest ESC syserr

    @daradevil124 can you tell us how do you fix the problem ? Thanks
  8. passaport

    open Question about mob_drop_item

    Thanks,i finded this but i don't understand exacted what means... Can you explain me please how they calculate and what means kill,drop,limit and the last one? @Syreldar Thanks
  9. Hi, metin2dev I have a question abou mob_drop_item,what is the max value for drop procent. I mean i have an example: Group test { Type drop mob 8001 1 50131 1 1000 } I have 1000% procent to drop , what is the maximum procent to be 100% change to drop,i looked in source but i don't understand how they calculate. And i want to know how many type they are i know : drop,limit,and what that mean. Thanks!
  10. passaport

    solved Quest ESC syserr

    UP! I need this fix too ,i tried to change sys_err to sys_log but when i press esc on quest run the taskbar is loking and i need to run again the quest to unlock.
  11. passaport

    open BonusPage Multiple Opening

    and uipagebonus import ui import chat import app import player import snd import item import net import game class BonusBoardDialog(ui.ScriptWindow): MaxBoni = { "1": 16000, "2": 320, "3": 32, "4": 32, "5": 32, "6": 32, "7": 16, "9": 40, "10": 60, "11": 60, "12": 16, "13": 24, "14": 16, "15": 30, "16": 30, "17": 50, "18": 100, "19": 100, "20": 100, "21": 100, "22": 100, "23": 20, "24": 40, "27": 15, "28": 30, "29": 72, "30": 72, "31": 72, "32": 72, "33": 72, "34": 72, "35": 60, "36": 60, "37": 40, "38": 60, "39": 20, "41": 10, "43": 60, "44": 60, "45": 40, "48": 1, "53": 50 } BonusDict = ["Bonusuri PvP", "Bonusuri PvM", "Bonusuri extra"] BonusIDListe = [["", 0, 0],["PV acumulat:", 1, 0],["PM acumulat:", 2, 0],["Viteza farmecului:", 9, 0],["Regenerare PV:", 10, 32],["Regenerare PM:", 11, 33],["ªansa de otrãvire:", 12, 37],["ªansa de blocare:", 13, 38],["ªansa unei lov. critice:", 15, 40],["ªansa unei lov. pãtr:", 16, 41],["Tare împotriva semi-om:", 17, 43],["Tare împotriva animalelor:", 18, 44],["Tare împotriva orcilor:", 19, 45],["Tare împotriva esoteriecilor:", 20, 46],["Tare împotriva vampirilor:", 21, 47],["Tare împotriva diavolului:", 22, 48],["Absorbire PV:", 23, 63],["Absorbire PM:", 24, 64],["Blocare atac corporal:", 27, 67],["Evitare atac cu sãgeþi:", 28, 68],["Apãrare cu sabia:", 29, 69],["Apãrare cu douã mâini:", 30, 70],["Apãrare pumnal:", 31, 71],["Apãrare clopot:", 32, 72],["Apãrare evantai:", 33, 73],["Rezistenþã la sãgeþi:", 34, 74],["Rezistenþã la foc:", 35, 75],["Rezistenþã la magie:", 37, 77],["Rezistenþã la vânt:", 38, 78],["Rezistenþã la otravã:", 41, 81],["Bonus exp acumulat:", 43, 83],["Bonus yang acumulat:", 44, 84],["Bonus drop acumulat:", 45, 85],["APPLY_SKILL", 51, 0],["Valoarea atacului:", 53, 0],["Tare împotriva monstrilor:", 63, 53]] SpecialBoni = { 1: "Norm.State", 2: "Norm.State", 3: "Norm.State", 4: "Norm.State", 5: "Norm.State", 6: "Norm.State", 55: "Norm.State", 56: "Norm.State", 58: "Norm.State" } PvPOffenseBoni = ["Tare împotriva semi-om:", "ªansa unei lov. critice:", "ªansa unei lov. pãtr:", "Viteza farmecului:", "Valoarea atacului:", "ªansa de otrãvire:", "ªansa de blocare:", "Rezistenþã la otravã:", "Rezistenþã la foc:", "Regenerare PM:"] PvPDefenseBoni = ["Apãrare cu sabia:", "Apãrare cu douã mâini:", "Apãrare pumnal:", "Apãrare clopot:", "Apãrare evantai:", "Rezistenþã la sãgeþi:", "Evitare atac cu sãgeþi:", "Rezistenþã la magie:", "Blocare atac corporal:", "Regenerare PV:"] PvMOffenseBoni = ["PV acumulat:", "Tare împotriva animalelor:", "Tare împotriva vampirilor:", "Tare împotriva orcilor:", "Absorbire PM:", "Rezistenþã la vânt:"] PvMDefenseBoni = ["PM acumulat:", "Tare împotriva monstrilor:", "Tare împotriva diavolului:", "Tare împotriva esoteriecilor:", "Absorbire PV:"] LeftoversOffenseBoni = ["Bonus exp acumulat:", "Bonus yang acumulat:"] LeftoversDefenseBoni = ["Bonus drop acumulat:"] BonusList = [] UI = [] TestSystem = 0 ProcessTimeStamp = 0 def __init__(self): ui.ScriptWindow.__init__(self) self.LoadUI() game.BPisLoaded = 1 def __del__(self): ui.ScriptWindow.__del__(self) self.Board.Hide() game.BPisLoaded = 0 def LoadUI(self): self.Board = ui.BoardWithTitleBar() self.Board.SetSize(343, 418) self.Board.SetCenterPosition() self.Board.AddFlag("movable") self.Board.AddFlag("float") self.Board.SetTitleName("Statistici bonusuri active") self.Board.SetCloseEvent(self.__del__) self.Board.Show() Vertical = ui.Line() Vertical.SetParent(self.Board) Vertical.SetPosition(23, 60) Vertical.SetSize(298, 0) Vertical.SetColor(0xff777777) Vertical.Show() self.UI.append(Vertical) x = 25 for i in xrange(3): ChangeBonusDict = ui.Button() ChangeBonusDict.SetParent(self.Board) ChangeBonusDict.SetUpVisual("d:/ymir work/ui/public/large_button_01.sub") ChangeBonusDict.SetOverVisual("d:/ymir work/ui/public/large_button_02.sub") ChangeBonusDict.SetDownVisual("d:/ymir work/ui/public/large_button_03.sub") ChangeBonusDict.SetText(self.BonusDict[i]) ChangeBonusDict.SetPosition(x, 380) ChangeBonusDict.SetEvent(lambda arg = ChangeBonusDict.GetText(): self.ChangeBonusDict(arg)) ChangeBonusDict.Show() x += 97 self.UI.append(ChangeBonusDict) x = 50 Type = ["Bonusurile ofensive & defensive sunt afisate in timp real!"] for i in xrange(1): BonusDescription = ui.TextLine() BonusDescription.SetParent(self.Board) BonusDescription.SetPosition(x, 35) BonusDescription.SetText(str(Type[i])) BonusDescription.SetFontColor(4.0, 0.83, 0) BonusDescription.Show() x += 150 self.UI.append(BonusDescription) self.SetBoni(self.BonusDict[0]) self.dict = self.BonusDict[0] def SetBoni(self, type): Offense = [[25, 70], [25, 100], [25, 130], [25, 160], [25, 190], [25, 220], [25, 250], [25, 280], [25, 310], [25, 340]] Defense = [[170, 70], [170, 100], [170, 130], [170, 160], [170, 190], [170, 220], [170, 250], [170, 280], [170, 310], [170, 340]] for bonus in self.BonusIDListe: if type == self.BonusDict[0]: self.CheckBonus(bonus, self.PvPOffenseBoni, Offense) self.CheckBonus(bonus, self.PvPDefenseBoni, Defense) elif type == self.BonusDict[1]: self.CheckBonus(bonus, self.PvMOffenseBoni, Offense) self.CheckBonus(bonus, self.PvMDefenseBoni, Defense) elif type == self.BonusDict[2]: self.CheckBonus(bonus, self.LeftoversOffenseBoni, Offense) self.CheckBonus(bonus, self.LeftoversDefenseBoni, Defense) else: return def CheckBonus(self, bonus, bonuslist, offset): for boni in bonuslist: if bonus[0] == boni: try: Index = bonuslist.index(boni) BonusDescription = ui.TextLine() BonusDescription.SetParent(self.Board) BonusDescription.SetPosition(offset[Index][0], offset[Index][1]) BonusDescription.SetText(str(bonus[0])) BonusDescription.Show() BonusSlotBar = ui.SlotBar() BonusSlotBar.SetParent(self.Board) BonusSlotBar.SetSize(125, 15) BonusSlotBar.SetPosition(offset[Index][0], offset[Index][1] + 15) BonusSlotBar.Show() BonusAttrLine = ui.TextLine() BonusAttrLine.SetParent(self.Board) BonusAttrLine.SetPosition(offset[Index][0] + 5, offset[Index][1] + 15) try: Type = self.SpecialBoni[bonus[1]] Attribute = self.EquipAttribute(bonus) except: Attribute = player.GetStatus(int(bonus[2])) if self.TestSystem != 1: BonusAttrLine.SetText(str(Attribute)) try: if int(Attribute) >= int(self.MaxBoni[str(bonus[1])]): BonusAttrLine.SetFontColor(1.0, 0.63, 0) else: BonusAttrLine.SetFontColor(1, 1, 1) except: BonusAttrLine.SetFontColor(1, 1, 1) else: BonusAttrLine.SetText("Test system is active") BonusAttrLine.SetFontColor(0.1, 0.7, 1.0) BonusAttrLine.Show() self.BonusList.append([BonusDescription, BonusAttrLine, BonusSlotBar]) except: pass def EquipAttribute(self, bonus): value = 0 for slot in xrange(90, 101): for attr in xrange(0, 7): attr, val = player.GetItemAttribute(slot, attr) if int(attr) == bonus[1]: value += int(val) return int(value) def ChangeBonusDict(self, dict): self.dict = dict for bonus in self.BonusList: try: for array in bonus: array.Hide() except: pass self.SetBoni(dict) def OnUpdate(self): import item if int(app.GetTime()) > int(self.ProcessTimeStamp) + 6: self.SetBoni(self.dict) self.ProcessTimeStamp = app.GetTime() #BonusBoardDialog().Show()
  12. Hi,i have a problem with BonusPage,i add this in taskbar but when i click on button multiple time he spam me: i don't know what function i need to add in uibonuspage.py to close the bonuspage if i click another time the button. Picture:
  13. passaport

    c++ [RLS]Official Inventory Expansion

    Bug Trade If i have inventory almost full and sombody trade with me i recive some item but not all,need to add a ckeck ,if i don't have space for all items from trade to recive a messaje "can' trade"
  14. passaport

    open Error pid_init

    Hi,i have a problem in syserror: Can you help me to solve that? I don't know why give me this Thanks
×