Jump to content


Popular Content

Showing content with the highest reputation since 08/24/18 in all areas

  1. 67 points
    Hallo liebe Community, @.Kori und ich wollen euch hiermit die M2tec - Community Files präsentieren. Wir sind uns einig geworden, dass es ein Projekt sein wird wo wir aktiv daran arbeiten. Das ganze basiert natürlich auf Clean Files & Source und die Serverfiles werden auch Clean gehalten. Alles was bearbeitet wird, wird mit "Defines" gemacht und wird natürlich auch notiert. (hier im Thread und auf Gitlab) Die erste Version (V: 0.0.1) wird höchstwahrscheinlich den 24.12.2017 rauskommen, als ein kleines Weihnachts release auf M2tec. Wir wollen uns sehr gut Zeit nehmen und deswegen frag uns bitte nicht immer, wann die Files rauskommen werden. Es wird ein sehr schöner "Installer" von @.Kori kommen und wo ich mich erstmal um den Source, Client und Serverfiles kümmern werde. Patchlogs könnt ihr hier sehen: Gitlab Wir hoffen uns dass ihr euch darauf freut! Wir freuen uns auf jeden fall! - Auf einer guten zusammenarbeit! Liebe Grüße, .Lean & .Kori ------------------------------------------------------------------------------------------------------------------------------------------------------------------ Community Files - Alpha Version Hier werden die aktuellen Community Files Released. Bitte achte drauf, dass es noch eine Alpha Version ist. Da wurde nichts großes gemacht, da wir noch an die "Offizielle" Version arbeiten. Bitte teste die Files und sobald ihr ein Bug findet, dann bitte melden. Hier noch etwas von .Kori: Die Aktuelle Version: Alpha (uo) Nächste Version: Beta (Offizielle) Die aktuelle Alpha Version wird eine Test Version sein. Bitte benutze diese uoffizial Version nicht für den Live Server! Es können sich immernoch Lücken im Source befinden die wir nach dem Alpha Status fixxen. Changelogs: Es sind noch mehrere Sachen geplant. In dieser Version sind keine Configs eingefügt, da wir erst die Buggs fixxen möchten. - In der Beta Version werden Configs, Buggs und die Source bearbeitet. Installation: Alpha Version Bugs: Wir hoffen das ihr uns helfen wollt. Wir freuen uns auf euer Feedback. Download: Alpha Client: [Hidden Content] Alpha Serverfiles: [Hidden Content] Liebe Grüße, .Lean & .Kori
  2. 49 points
  3. 38 points
    Game & DB Infrastructure: Mainline Released Client Source Infrastructure: Mainline Released Files And Pack: Maxmi 3.6 - Azura Python Version -> 2.7.15 Granny Version -> Boost Version -> 1.67.0 DevIL Version -> 1.8.0 Crypto ++ Version -> 7.0.0 LZO Version -> 2.10 JPEG Lib Version -> 9c 1) Most of the fixes on the forum have been implemented. 2) Seamlessly Shaped 80 Slot Marketed And Attached To Commerce. : Relievedfa by:24 Slot Trading. 4) Add 6 stones to the items. 5) Ok Bag System Attached. 6) Offical Ruha Linking Attached (I have fixes to do and I can share them with an update.) 7) Offical Highlight System Attached. 8) Offical Inventory Slot Marking Attached. 9) 3 Different Splendid Bottle Attached. 10) Bonus Table Attached. Note: 9th and 10th systems need to be edited. 11) Offical Won System Attached. 12) Ring Effects etc. Attached. 1 : Relievedfa by:Questleri are no problem, they are all copied and made to make.sh Command. 14) Offical Sales Price Letter. 15) Won Writer Color can be distinguished from fire. 16) The Yang Written in Trade was abolished. 17) Yang Written in Inventory has been removed. 18) Removed to Ring Slot 4. 19) The fog was completely abolished. 20) Added Mysql_query command and new quest commands. With the development of the shared feeling in the forum .. Do not Wait For It All As The Infrastructure Files Are Awesome If You Have A Problem. If you find it in comments, please be glad. Yours sincerely ... I have added the following Commands to the Simplicity After I Build the Source. Game Build; cd / usr / src / achellus_core / game / src gmake clean gmake dep gmake -j20 gmake install If you apply these commands, your Gamen will be stripped and loaded into the / usr / game / share directory. Db Build; cd / usr / src / achellus_core / db / src gmake clean. gmake dep gmake -j20 gmake install If you apply these commands, your browser will be stripped and DBI loads into the / usr / game / share directory. Navicat Cipher: giant Gm Account ID: admin Gm Account Password: giant Normal Account ID: admin1 Normal Account Password: gi Add as: Miscellaneous Updates I do not exactly speak in time. Download [Hidden Content] Updates 03.07.2018 [Hidden Content] Informations: If You Are Taking Items From The Market If Won Is Inadequate There Is Not Enough Yang. Written by Yang and Won Separately edited. Some of the spelling errors in Locale_game.txt have been removed. Locale_string.txt Structured. Fixers made; Ruha Baglama System was locked up when the goods were stored in the Baglama. Some For It May Not Express The Meaning But The Moment Has Arrived Fixed The Following Fix: When You Kick An Aggressive Person It Is Falling Now You Will not Fall If It Is Ruha Dependent. "You can not raise Ruha-related goods."; "You can not change the raising of Ruha-related goods."; "You can not add Ruha-bound ore."; "You can not add a furnished stone to Ruha."; "You can not separate a broken stone from Ruha's belongings."; "You can not separate a stone from Ruha's belongings."; "You can not put Ruha-related goods in private storage."; Update 06.07.2018 [Hidden Content] Informations Extra Refine System Localization System A Few Bug Fixi
  4. 32 points
    -> Systeme MEGA.NZ <- Click!
  5. 31 points
    Hey everyone. I want to release a complete ingame interface design, with a webdesign in psd. It's a redesigned version of the Evil-S MMORPG GUI, which made by LovePlay. The rar only contains psd files. Pictures: Ingame interface concept Ingame interface concept 2. Empire flag(s) Character create concept Character select concept Login concept The webdesign Download: Mega.nz, GoogleDrive
  6. 28 points
    [Hidden Content] I dont have More informations sorry but is save and work
  7. 27 points
    #! /usr/bin/env python import app, dbg, chr, chrmgr, os, introSelect """ Render Monster Card ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ A simple Python Module which gives you the chance to be able to turn mob differently with a specific animation such as atack, motion, death etc. This module was not designed for beginners in python, this is just a beginning for the rendering of every monster. You can also use it for other systems for render. WARNING: I don't offer any support for this, that module is just for guys who know what have to do. Code isn't working like official one. This script has not been tested, is just a simple idea like better then 'pseudocode', you need to improve and do compatible with your scripts. Copyright: (c) 2016 VegaS ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ """ class RenderMonsterCardParser(): def __init__(self): self.monsterCardDict = GetMonsterCardPaths() self.srcFileName = 'monster_card.txt' self.startInstanceIndex = 90000 self.destRotation = 25.0 self.renderPos = { 'x': 70.0, 'y': 22.0, 'z': 30.0 } self.chrRenderer = introSelect.SelectCharacterWindow().CharacterRenderer() self.chrRenderer.SetParent(self) self.chrRenderer.Show() def GetMonsterCardPaths(self): m2dict = {'pathName': '','raceData': ''} try: lines = pack_open(self.srcFileName, "r").readlines() except IOError: dbg.LogBox("Can't load: {0}".format(self.srcFileName)) app.Abort() for (key, value) in enumerate(lines): data = value[:-1].split(",") if (not len(data) or not data[0] or not data[1]): continue m2dict.update({key : {'pathName': data[0].strip(), 'raceData': data[1].strip()}}) return m2dict def RegisterDefaultMotion(self): chrmgr.RegisterMotionMode(chr.MOTION_MODE_GENERAL) chrmgr.RegisterMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_WAIT, 'wait.msa') chrmgr.RegisterMotionData(chr.MOTION_MODE_GENERAL, chr.MOTION_RUN, 'wait2.msa') def OnUpdate(self): chr.Update() self.destRotation -= 0.5 chr.SetRotation(self.destRotation) def OnRender(self, slotIndex): def CreateMonsterInstance(slotIndex): chrmgr.CreateRace(slotIndex) chrmgr.SelectRace(slotIndex) chrmgr.SetPathName(self.monsterCardDict[slotIndex]['pathName']) chrmgr.LoadRaceData(self.monsterCardDict[slotIndex]['raceData']) CreateMonsterInstance(slotIndex) chrEventDict = { 0 : (lambda : chr.CreateInstance(slotIndex)), 1 : (lambda : chr.SelectInstance(slotIndex)), 2 : (lambda : chr.SetVirtualID(slotIndex)), 3 : (lambda : chr.SetRace(slotIndex)), 4 : (lambda : chr.SetArmor(0)), 5 : (lambda : chr.SetRotation(self.destRotation)), 6 : (lambda : chr.SetPixelPosition(self.renderPos['x'], self.renderPos['y'], self.renderPos['z'])), 7 : (lambda : chr.SetMotionMode(chr.MOTION_MODE_GENERAL)), 8 : (lambda : chr.SetLoopMotion(chr.MOTION_WAIT)), 9 : (lambda : chr.Refresh()), 10 : (lambda : chr.Show()) } [chrEventDict.get(chrObject, lambda *arg: None)() for chrObject in chrEventDict.values()] def OnChangeMotionData(self, motionMode = chr.MOTION_MODE_GENERAL, motionType = chr.MOTION_COMBO_ATTACK_1, motionPathName = '', motionWeight = 0) chrmgr.RegisterMotionData(motionMode, motionType, motionPathName, motionWeight) def OnRenderMonsterCard(self, slotIndex): def ClearInstance(max_range_num): [chr.DeleteInstance(self.startInstanceIndex + rangeInst) for rangeInst in xrange(max_range_num)] if (not self.monsterCardDict.has_key(slotIndex)): return ClearInstance(len(self.monsterCardDict[0])) self.RegisterDefaultMotion() self.OnRender(self.startInstanceIndex + slotIndex)
  8. 26 points
    Sorry for my english, i try hard. Hello, i want to share these systems with you, i don't know if these are already post here. Link follow mount system: [Hidden Content] gif : [Hidden Content] Info : Only source code, you don't need quest.if you have quest, delete him. Sistem is from romanian community. Tutorial is in romanian. Link slot mount :[Hidden Content] Password archive: grimm virustotal: [Hidden Content] Info : Easy to add, it s not more information about that. I have these system on my server, and works fine. For help, write an comment.
  9. 25 points
    Hey ho ich habe von jemanden die BestProductionv4 Serverfiles bekommen Ich möchte sie gerne mit Euch teilen Ich hab sie Noch nicht richtig wirklich hingesetzt Gebe einen Statement später dazu ob alles Klappt Naja hauptsache das zeugs von diesen Typ ist jetzt Public im Internationalen Die Files Sollten DE-RO-EN-TURK-CZ seien Viel Spaß mit dem Zeugs da ich gerade keinelust hab auf Englisch zuschreiben Entschultigung das Meine richtige Sprache Deutsch ist. Viel Glück mit den Files. da ich leider keine Vorstellung der Files mehr finde habe ich nur ein Video von den SF ich weis nich ob es was Bringt. #GIF ZUM CLIENT PACKEN [Hidden Content] 17:43 UPDATE CLIENTPACK GIF ######IN DEN CLIENT KOMMEN####### Tut: Öffne die Root Änder die Serverinfo.py - apollo_interface.py config.py - #######SERVER CORES ######## in den Cores alle IP's Ändern #Vorstellung Wird noch GESUCHT 20:25 BESTPRODUCTIONV4 [Hidden Content] Locale_inc.h Client: _____________________ #define LOCALE_SERVICE_SINGAPORE // ½Ì°¡Æú #define __GAYA__ #define ENABLE_COSTUME_SYSTEM #define ENABLE_ENERGY_SYSTEM #define ENABLE_DRAGON_SOUL_SYSTEM #define ENABLE_NEW_EQUIPMENT_SYSTEM #define ENABLE_COSTUME_WEAPON_SYSTEM #define ENABLE_PLAYER_PER_ACCOUNT5 #define ENABLE_DICE_SYSTEM #define ENABLE_MAINTENANCE_SYSTEM #define ENABLE_TITLE_SYSTEM #define NEW_PET_SYSTEM #define ENABLE_PVP_ADVANCED #define EQUIP_ENABLE_VIEW_SASH ///* If you not have sash system implemented delete this line. #define EQUIP_ENABLE_VIEW_SASH */// #define ENABLE_SUPPORT_SYSTEM #define ENABLE_NEW_AFFECT_POTION #define ENABLE_SKILLS_LEVEL_OVER_P #define ENABLE_BIOLOG_SYSTEM #define ENABLE_LANGUAGE_SYSTEM #define ENABLE_NEW_EXCHANGE_WINDOW #ifndef ENABLE_STOP_COLISSION_GLOBAL #define ENABLE_STOP_COLISSION_GLOBAL #define ENABLE_STOP_COLLISION_PLAYER_OX #endif #ifndef ENABLE_STOP_COLISSION_GLOBAL #define ENABLE_STOP_COLISSION_GLOBAL #define ENABLE_STOP_COLLISION_PLAYER_OX #endif #define NO_COLISION_SAFEZONE #define ENABLE_MAGIC_REDUCTION_SYSTEM #define ENABLE_LOCALIZATION_SYSTEM #define ENABLE_SHOPNAMES_RANGE #define ENABLE_OKEY_KART_EVENT //#define TICARET_EFEKTI #define ITEM_SILME_SISTEMI #define ENABLE_MOUNT_SYSTEM #define OKEY_CARD_SYSTEM #define ENABLE_SEND_TARGET_INFO //#define ENABLE_NEW_ENCHANT_ATTR #define ENABLE_HIGHLIGHT_SYSTEM #define ITEM_LEVEL #define ENABLE_VIEW_TARGET_PLAYER_HP #define ENABLE_VIEW_TARGET_DECIMAL_HP #define ENABLE_7AND8TH_SKILLS #define ENABLE_WOLFMAN_CHARACTER #define ENABLE_GM_AFFECTS #define ENABLE_2TH_SHOPEX_SYSTEM #define ENABLE_CHEQUE_SYSTEM #define ENABLE_SOULBIND_SYSTEM #define ENABLE_COSTUME_ATTR_SYSTEM #define ENABLE_ATTR_TRANSFER_SYSTEM #define ENABLE_SASH_SYSTEM #define WJ_ENABLE_TRADABLE_ICON #define ENABLE_MELEY_LAIR_DUNGEON #ifdef ENABLE_MELEY_LAIR_DUNGEON #define MELEY_LAIR_DUNGEON_STATUE 6118 #endif #define ENABLE_MANAGER_BANK_SYSTEM #define ENABLE_NEW_EVENTS #ifdef ENABLE_NEW_EVENTS #define ENABLE_KINGDOMS_WAR #endif #define VERSION_162_ENABLED #define ENABLE_USER_PANEL #define ENABLE_FUNCTION_VEGAS_VIP #define WJ_SECURITY_SYSTEM #define WJ_SPLIT_INVENTORY_SYSTEM #define WJ_EXTENDED_PET_SYSTEM #define ENABLE_MESSENGER_BLOCK #define GROUP_MATCH #define WJ_CHANGELOOK_SYSTEM #define ENABLE_CHECK_IF_SAFEBOX_OPEN #define ENABLE_COOL_TIME_NEW_PET_SYSTEM #define ENABLE_TICKET_SYSTEM // Enable //#define __IMPROVED_GUILD_WAR__ #define ENABLE_SAFEBOX_EX_SYSTEM #define WJ_OFFLINESHOP_SYSTEM #define WJ_SHOP_SEARCH_SYSTEM #define WINDOWS_PM_MESAJ #define ENABLE_FEATURES_REFINE_SYSTEM #define ENABLE_NEW_QUICK_SLOT_SYSTEM #define ENABLE_FEATURES_OXEVENT #define ENABLE_ADMIN_BAN_MANAGER #define TOURNAMENT_PVP_SYSTEM #define WJ_SHOW_STROKE_INFO //#define WJ_CONTROL_APPLICATION #define WJ_USER_CONTROL #ifndef _DEBUG #define ENABLE_FOX_FS #endif ##VORSTELLUNG### [Hidden Content] Link ich kann sie hier nicht posten sie wird hier nicht angezeigt ##VORSTELLUNG HINZUGEFÜGT
  10. 23 points
    Hi, Donwload: [Hidden Content] Bye :*
  11. 23 points
    My shop search sistem DOWLOAD
  12. 23 points
    char_item.cpp: search: LPCHARACTER owner = funcFindOwnership.owner; int iEmptyCell; add after: //FIX_DROP_PARTY if (owner) { if (item->IsStackable() && !IS_SET(item->GetAntiFlag(), ITEM_ANTIFLAG_STACK)) { BYTE bCount = item->GetCount(); for (int i = 0; i < INVENTORY_MAX_NUM; ++i) { LPITEM item2 = owner->GetInventoryItem(i); if (!item2) continue; if (item2->GetVnum() == item->GetVnum()) { int j; for (j = 0; j < ITEM_SOCKET_MAX_NUM; ++j) if (item2->GetSocket(j) != item->GetSocket(j)) break; if (j != ITEM_SOCKET_MAX_NUM) continue; BYTE bCount2 = MIN(200 - item2->GetCount(), bCount); bCount -= bCount2; item2->SetCount(item2->GetCount() + bCount2); if (bCount == 0) { owner->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("¾ÆÀÌÅÛ È¹µæ: %s ´ÔÀ¸·ÎºÎÅÍ %s"), GetName(), item2->GetName()); ChatPacket(CHAT_TYPE_INFO, LC_TEXT("¾ÆÀÌÅÛ Àü´Þ: %s ´Ô¿¡°Ô %s"), owner->GetName(), item2->GetName()); M2_DESTROY_ITEM(item); if (item2->GetType() == ITEM_QUEST) quest::CQuestManager::instance().PickupItem(owner->GetPlayerID(), item2); return true; } } } item->SetCount(bCount); } } //END FIX_DROP_PARTY
  13. 23 points
    Twix Files with full source (Let's end with this, don't pay more for this uggly "thing"....) Information Navicat User: root Password: 123 MEGA
  14. 22 points
    Hi everybody, Today I come to share the item_scale from me. "Reworked from A to Z for positions and size. The big sash not suitable for charactere did not suit me, that's why I decided to redo them one by one. Here are some images of the rendering:" [Hidden Content] [Hidden Content] [Hidden Content] [Hidden Content] Link of the item_scale.txt: Click-here ! If you want to share it, do not forget the source
  15. 22 points
    Jo es gibt nichts zusagen hier habt ihr den Client von Skyline2. Ich Supporte den thread nicht. [Hidden Content]
  16. 21 points
    Hello Evryone Today i public my first pokemon pet pack. Pokemons in archive: Bulbasaur, Pikachu and Charmander Preview: Link: [Hidden Content] Password of the archive: [Hidden Content]
  17. 21 points
    Gut M2tec! Entschuldigen Sie die Übersetzung von "Google" Die Quelle ist mainline_sg (CLEAN) mit den folgenden Änderungen: limit_time entfernt check_server entfernt server_key entfernt locale_newcbin entfernt fix constants.cpp / .h auth_brazil entfernt pcbang entfernt xtrap entfernt Teen entfernt Die meisten gelösten Warnungen Entfernte alle locale {links nur ymir Korea und (Europa, dass ich rumänien in allen Quell-Spiel / db umbenannte)} Im Archiv finden Sie auch die Quelle vor "UPDATE" (bevor Sie die lokalen entfernen) Es kompiliert .vdi auf dev 9.2 Es ist ideal, um einen Old-School-Server zu starten Viel Spaß und viel Gesundheit! UNTEN!
  18. 20 points
    Hello guys, System is testet and works good Here the dl : Download
  19. 18 points
    int pc_get_infoip(lua_State* L) { LPCHARACTER ch = CQuestManager::instance().GetCurrentCharacterPtr(); if(!ch) return 0; lua_pushstring(L, ch->GetDesc()->GetHostName()); return 1; } will inform you ip of your character sorry if I upload only 1 function, but now I look at what I can increase to the post Good day, I will create some functions for our use, every day I will update the post, I will also announce that I am working in our own compiler and decompiler, to have a use for the forum
  20. 17 points
    [Hidden Content] [Hidden Content]
  21. 16 points
  22. 16 points
    [Hidden Content] click here, if you can read +epvp Thread +Video
  23. 15 points
  24. 15 points
    Hello. I've decided to myself to release this stuff. If you would like to put items into the safebox immediately via clicking on them with right mouse click in the inventory or vica versa then just follow the steps bellow. First of all, you have to bind your interface class into your safebox class if you has not yet, you can find many of examples in the client how should you do it. Second of all, I rewrote the entire inventory slot class so I will use *args, be careful and use your argument names where I do comment. 1.) Open your uiInventory.py file and search this function: "def __UseItem(self, *args)" and place the followings at the beginning of the function: if self.interface and self.interface.AttachInvenItemToOtherWindowSlot(player.INVENTORY, slotIndex):#slotIndex is the argument of __UseItem return 2.) Paste these functions above of the "def __UseItem(self, *args)" function: def __GetCurrentItemGrid(self): itemGrid = [[False for slot in xrange(player.INVENTORY_PAGE_SIZE)] for page in xrange(player.INVENTORY_PAGE_COUNT)] for page in xrange(player.INVENTORY_PAGE_COUNT): for slot in xrange(player.INVENTORY_PAGE_SIZE): itemVnum = player.GetItemIndex(slot + page * player.INVENTORY_PAGE_SIZE) if itemVnum <> 0: (w, h) = item.GetItemSize(item.SelectItem(itemVnum)) for i in xrange(h): itemGrid[page][slot + i * 5] = True return itemGrid def __FindEmptyCellForSize(self, itemGrid, size): for page in xrange(player.INVENTORY_PAGE_COUNT): for slot in xrange(player.INVENTORY_PAGE_SIZE): if itemGrid[page][slot] == False: possible = True for i in xrange(size): p = slot + (i * 5) try: if itemGrid[page][p] == True: possible = False break except IndexError: possible = False break if possible: return slot + page * player.INVENTORY_PAGE_SIZE return -1 def AttachItemFromSafebox(self, slotIndex, itemIndex): itemGrid = self.__GetCurrentItemGrid() if item.GetItemType(item.SelectItem(itemIndex)) == item.ITEM_TYPE_DS: return emptySlotIndex = self.__FindEmptyCellForSize(itemGrid, item.GetItemSize()[1]) if emptySlotIndex <> -1: net.SendSafeboxCheckoutPacket(slotIndex, player.INVENTORY, emptySlotIndex) return True 3.) Open your interfaceModule.py file and paste the following functions above of this function: "def EmptyFunction(self)" or anywhere you want: def AttachItemFromSafebox(self, slotIndex, itemIndex): if self.wndInventory and self.wndInventory.IsShow(): self.wndInventory.AttachItemFromSafebox(slotIndex, itemIndex) return True def AttachInvenItemToOtherWindowSlot(self, slotWindow, slotIndex): if self.wndSafebox and self.wndSafebox.IsShow(): return self.wndSafebox.AttachItemFromInventory(slotWindow, slotIndex) #if self.dlgExchange and self.dlgExchange.IsShow(): # return self.dlgExchange.AttachItemFromInventory(slotWindow, slotIndex) return False 4.) Open uiSafebox.py and paste the following line into the __init__(self) function of the SafeboxWindow class: self.pageCount = 0 After that jump into the "def __MakePageButton(self, pageCount)" function and paste the following below of this: "self.pageButtonList = []" self.pageCount = pageCount At last replace the whole"def UseItemSlot(self, *args):" function of the SafeboxWindow class with these functions: def __GetCurrentItemGrid(self): itemGrid = [[False for cell in xrange(safebox.SAFEBOX_PAGE_SIZE)] for page in xrange(self.pageCount)] for page in xrange(self.pageCount): for slot in xrange(safebox.SAFEBOX_PAGE_SIZE): itemVnum = safebox.GetItemID(slot + page * safebox.SAFEBOX_PAGE_SIZE) if itemVnum <> 0: item.SelectItem(itemVnum) (w, h) = item.GetItemSize() for i in xrange(h): itemGrid[page][slot + i * safebox.SAFEBOX_SLOT_X_COUNT] = True return itemGrid def __FindEmptyCellForSize(self, itemGrid, size): for page in xrange(self.pageCount): for slot in xrange(safebox.SAFEBOX_PAGE_SIZE): if itemGrid[page][slot] == False: possible = True for i in xrange(size): p = slot + safebox.SAFEBOX_SLOT_X_COUNT * i try: if itemGrid[page][p] == True: possible = False break except IndexError: possible = False break if possible: return slot + page * safebox.SAFEBOX_PAGE_SIZE return -1 def AttachItemFromInventory(self, slotWindow, slotIndex): attachedItemID = player.GetItemIndex(slotWindow, slotIndex) item.SelectItem(attachedItemID) if item.IsAntiFlag(item.ITEM_ANTIFLAG_SAFEBOX): return False itemGrid = self.__GetCurrentItemGrid() item.SelectItem(attachedItemID) emptySafeboxSlot = self.__FindEmptyCellForSize(itemGrid, item.GetItemSize()[1]) if emptySafeboxSlot == -1 or item.GetItemType() == item.ITEM_TYPE_ELK: return False net.SendSafeboxCheckinPacket(slotWindow, slotIndex, emptySafeboxSlot) return True def UseItemSlot(self, slotIndex): if mouseModule.mouseController.isAttached(): mouseModule.mouseController.DeattachObject() if self.interface: globalSlotIndex = self.__LocalPosToGlobalPos(slotIndex) self.interface.AttachItemFromSafebox(globalSlotIndex, safebox.GetItemID(globalSlotIndex))
  25. 14 points
    Hello 'Tecs. Today I would like to share with you the effect of the new items from Rubinum. I'll not write the part of the c++ to you, so good luck and have fun. [Hidden Content]