Jump to content

passaport

Member
  • Posts

    18
  • Joined

  • Last visited

  • Feedback

    0%

About passaport

Informations

  • Gender
    Male

Recent Profile Visitors

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

passaport's Achievements

Apprentice

Apprentice (3/16)

  • Reacting Well
  • First Post
  • Collaborator
  • Conversation Starter
  • Week One Done

Recent Badges

0

Reputation

  1. hi, try to change the share/data/monster folder with another ,from another serverfiles
  2. 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. Hi I want to ask price for ***GiftsCode V0.1 [C++/Python]*** Can you tell me the skype! Thanks!
  4. 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. 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!
  6. @daradevil124 can you tell us how do you fix the problem ? Thanks
  7. 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
  8. 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!
  9. 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.
  10. 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()
  11. 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:
  12. 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"
×
×
  • 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.