-
Posts
384 -
Joined
-
Last visited
-
Days Won
58 -
Feedback
0%
Content Type
Forums
Store
Third Party - Providers Directory
Feature Plan
Release Notes
Docs
Events
Everything posted by Koray
-
How can I ask whether item is equipped or not?
Koray replied to .Avenue™'s topic in Community Support - Questions & Answers
try this ... if (item->GetType() == ITEM_COSTUME && item->GetSubType() >= COSTUME_BELL && item->GetSubType() <= COSTUME_TWO_HANDED) { LPITEM lpWeapon = GetWear(WEAR_WEAPON); if (lpWeapon == NULL) return false; ... -
How can I ask whether item is equipped or not?
Koray replied to .Avenue™'s topic in Community Support - Questions & Answers
exactly this send me your costume subtype enum -
How can I ask whether item is equipped or not?
Koray replied to .Avenue™'s topic in Community Support - Questions & Answers
Do you want if weapon is not equipped block equip costume weapon, right? -
Installation: *constInfo.py Search: CONSOLE_ENABLE = 0 Add it under: BK_TRADE_SYSTEM = { "qid": 0, "ItemList": "" } [Hidden Content] Search and otherwise add: INPUT_IGNORE = 0 *game.py Search: from _weakref import proxy Add in under: import BKTrade Search: self.curtain = uiPhaseCurtain.PhaseCurtain() self.curtain.speed = 0.03 self.curtain.Hide() Add in under: self.BKTradeSys = BKTrade.BKTrade() self.BKTradeSys.Close() [Hidden Content] Search: "mall" : self.__InGameShop_Show, Add in under: "bk_trade_sys" : self.__BKTradeSys, Search: def PartyHealReady(self): self.interface.PartyHealReady() Add in upper: def __BKTradeSys(self, arg1, arg2): if str(arg1) == "qid": constInfo.BK_TRADE_SYSTEM["qid"] = arg2 if str(arg1) == "get": net.SendQuestInputStringPacket(str(constInfo.BK_TRADE_SYSTEM["ItemList"])) if str(arg1) == "open": self.BKTradeSys.OpenWindow() if str(arg1) == "block": constInfo.INPUT_IGNORE = 1 if str(arg1) == "break": constInfo.INPUT_IGNORE = 0 [Hidden Content] Search: def OpenQuestWindow(self, skin, idx): Change function: def OpenQuestWindow(self, skin, idx): if constInfo.INPUT_IGNORE: return self.interface.OpenQuestWindow(skin, idx) [Hidden Content] Add bktrade.py ve ui_wrapper.py files in root pack Add bktrade.lua in quest folder write ./qc bktrade.lua command and compile quest, Open game and write /reload q command If you are see "Unknown Error. Please contact with game admin" error Look at quest comments If you are upgraded inventory page count look at quest 71.line [Hidden Content]
- 10 replies
-
- 12
-
Hello, Have a bug in much published channel switcher due from DirectConnect function here is unbugged switcher [Hidden Content] *Move: uichangechannel and ui_wrapper in root pack *networkmodule.py Search: self.isAutoLogin=0 Add it under: self.channel = 0 *locale/xx/ui/systemdialog.py Search: { "name" : "game_option_button", "type" : "button", "x" : 10, "y" : 117, "text" : uiScriptLocale.GAMEOPTION_TITLE, "default_image" : ROOT + "XLarge_Button_01.sub", "over_image" : ROOT + "XLarge_Button_02.sub", "down_image" : ROOT + "XLarge_Button_03.sub", }, Add it under: { "name" : "change_ch_button", "type" : "button", "x" : 10, "y" : 147, "text" : "CH Switcher", "default_image" : ROOT + "XLarge_Button_01.sub", "over_image" : ROOT + "XLarge_Button_02.sub", "down_image" : ROOT + "XLarge_Button_03.sub", "disable_image" : ROOT + "XLarge_Button_03.sub", }, *game.py Search: self.interface.ShowDefaultWindows() Add it under: self.stream.isAutoSelect = 0 Search: self.interface = interfaceModule.Interface() Add it under: self.interface.SetStream(self.stream) *intrologin.py Search: if constInfo.SEQUENCE_PACKET_ENABLE: net.SetPacketSequenceMode() Add it upper: net.ACC_ID = id net.ACC_PWD = pwd *interfacemodule.py Search: def __del__(self): systemSetting.DestroyInterfaceHandler() event.SetInterfaceWindow(None) Add it under: def SetStream(self, stream): self.stream = stream Search: self.dlgSystem = uiSystem.SystemDialog() Change: self.dlgSystem = uiSystem.SystemDialog(self.stream) *uisystem.py Add in imports import uiChangeChannel Search: def __init__(self): Change: def __init__(self, stream): Search: def __init__(self, stream): Find: self.__Initialize() Add it under: self.stream = stream Search: self.GetChild("system_option_button").SAFE_SetEvent(self.__ClickSystemOptionButton) Add it upper: self.GetChild("change_ch_button").SAFE_SetEvent(self.__ClickChangeChannelButton) Search: def __OnClosePopupDialog(self): Add it upper: def __ClickChangeChannelButton(self): self.Close() if not self.changeChDlg: self.changeChDlg = uiChangeChannel.uiChangeChannel(self.stream) self.changeChDlg.Show() Search: self.gameOptionDlg = None Add it under: self.changeChDlg = None Search: if self.systemOptionDlg: self.systemOptionDlg.Destroy() Add it under: if self.changeChDlg: self.changeChDlg.Destroy() [Hidden Content]
- 41 replies
-
- 17
-
M2 Download Center Download Here ( Internal ) Code: class MultiTextLine(ui.TextLine): def __init__(self, parent, text, x, y, range = 15): ui.TextLine.__init__(self) self.TextList = [] self.CreateUI(parent, text, x, y, range) def __del__(self): del self.TextList ui.TextLine.__del__(self) def CreateUI(self, parent, text, x, y, range): if "\n" in str(text): self.first_text = ui.TextLine() self.first_text.SetParent(parent) self.first_text.SetPosition(x, y) self.first_text.SetText(text.split("\n")[0]) self.first_text.Show() self.TextList.append(self.first_text) for i in xrange(text.count("\n")): self.i = ui.TextLine() self.i.SetParent(parent) self.i.SetPosition(x, (i + 1) * range + y) self.i.SetText(text.split("\n")[i+1]) self.i.Show() self.TextList.append(self.i) def SetText(self, text): tmpMiktar = 0 if "\n" in str(text): for i in self.TextList: if i == self.TextList[0]: i.SetText(text.split("\n")[0]) else: i.SetText(text.split("\n")[tmpMiktar]) tmpMiktar += 1 def Close(self): for i in self.TextList: i.Hide() self.__del__() Usage: Syntax: veriable = MultiTextLine(parent, text , x, y, range[optional]) Example: self.TestText = MultiTextLine(self, 'Test1\nTest2\nTest3\nTest4\nTest5', 60, 35, 15)
-
Python - Link Quality | Day | Month | Year | FPS
Koray replied to llReonas's topic in Programming & Scripts
why not? self.__SendChatPacket(" |Hmsg: %s|h(#)|h|r - |cffCC6633|H|hSavaşçı|h|r - Lv.%d %s |Hdasdsasadxd;%s : %s|h(x)|h|r|h|r : text[1:]" % (player.GetName(), player.GetStatus(player.LEVEL), mapyaziduzelt[mapadicek], player.GetName(), text), chat.CHAT_TYPE_SHOUT)) -
Python - Link Quality | Day | Month | Year | FPS
Koray replied to llReonas's topic in Programming & Scripts
xDDDD bagla=b+gc+b+aycek+b+yilx+b+gun+b+st+ti+text+kl+ti+fps WTF? -
[SEARCHING]Soul Binding System
Koray replied to Aurora's topic in Paid Support / Searching / Recruiting
System logic isn't hard but maybe this system isn't logicable, why you need lock item one by one? Inventory lock or Character lock is better -
Svn Changelog; Removed limit time Removed internal ip check Removed Invalid server check Edited extern folder, Removed unused libs and inculde files and optimized some libs Removed unused libs Serverfiles Info; DB Info; IP:localhost ID:metin2 PASS:winsf Ports; AUTH - 27000 Game99 - 11202 DB - 2552 Channels - 13000 15000 17000 19000 For SVN Configuration; Select all libraries from solution explorer Press right click and select Properties Select All configurations from Configurations (Property pages) Configuration properties > VC++ Directories Press Include Directories and Select <Edit...> Press New Line button (Folder icon) and press ... button Now select _extern/include folder and Press OK Button Press Library Directories and Select <Edit...> Press New Line button (Folder icon) and press ... button Now select _extern/lib folder and Press OK Button Now rebuild project and enjoy Installation; Copy your db and game core in sf binary folder Install with python script Install xampp, move your db files in xampp mysql Start xampp mysql Run with python script For Serverfiles; *Start commands: "oyun", "oyunuac", "ac", "oyunu ac" , "oyunuac", "start", "game" -Arg1: command - Arg2: Type[debug-normal] - Arg3: Channel count -Example: m2panel.py start debug 1 *Clean commands: "temizle", "temiz", "log", "clear" -Arg1: command -Example: m2panel.py clear *Remove commands: "kaldir", "remove", "sil" -Arg1: command - Arg2: Type[debug-normal] -Example: m2panel.py remove debug *Install commands: "kur", "install", "yukle" -Arg1: command - Arg2: Type[debug-normal] -Example: m2panel.py install debug *Backup command: "yedekal", "backup" -Arg1: command -Example: m2panel.py backup *Install backup command: "yedekkur", "installbackup", "reinstall" -Arg1: command -Example: m2panel.py installbackup Serverfiles: [Hidden Content] SVN: [Hidden Content]
- 18 replies
-
- 32
-
yes
-
Sometimes my client crash
Koray replied to iRETEMAG's topic in Community Support - Questions & Answers
"__pack_import() takes at most 4 arguments (5 given)" this isn't specific problem your problem due from "File "uiCharacter.py", line 563, in RefreshAlignment" function check here changes -
Thanks updated first post
-
M2 Download Center Download Here ( Internal ) V4 (ZED) V3 (MALI61) (MAX 2) V2 (KEN) V1 (KORAY)
- 32 replies
-
- 75
-
official Monster Informations Official like - Lv + AIFlag
Koray replied to xP3NG3Rx's topic in Features & Metin2 Systems
I have off topic question, do you know what do mean "wj" ? there are a lot of this word in new function macros -
first add say_title()
-
No, This -EDIT-
-
Only used function is "SetAffect" in console, if you want you can change Group teleport function isn't using "Move" function Colorful shop so title colored shop released in epvp but now I dont find thread link, people's put color in shop sign like chat
-
#updated again
-
Block maps in the ring of marriage
Koray replied to Krixius's topic in Community Support - Questions & Answers
int iBadMapIdx[2] = { 66, 208 }; for (int i = 0; i < _countof(iBadMapIdx); i++){ if (iBadMapIdx[i] == pMarriage->ch1->GetMapIndex() || iBadMapIdx[i] == pMarriage->ch2->GetMapIndex()){ ChatPacket(CHAT_TYPE_INFO, "warn msg"); break; } } #Edit: has more than one "case ITEM_MARRIAGE_RING:" case ITEM_MARRIAGE_RING: { marriage::TMarriage* pMarriage = marriage::CManager::instance().Get(GetPlayerID()); add in under -
Block maps in the ring of marriage
Koray replied to Krixius's topic in Community Support - Questions & Answers
char_item.cpp case ITEM_MARRIAGE_RING: if (idx == pMarriage->ch1->GetMapIndex() || idx == pMarriage->ch2->GetMapIndex()){ ... }