Jump to content

VegaS

Banned
  • Posts

    363
  • Joined

  • Last visited

  • Days Won

    40
  • Feedback

    0%

Everything posted by VegaS

  1. You kidding dude or you kidding me? Is your actual function: You need new argument for the 2nd item and it can change depending on the source EVENT_TYPE_INSERT_IMAGE launcher that is in PythonEventManager.cpp, change the function from there with another argument vnum / desc / title / index. And new function will look like with two arguments: function say_item(n_1, n_2, v_1, v_2, d_1, d_2) n - name v - vnum d - desc
  2. Check function in /UserInterface/PythonEventManager.cpp
  3. A small mistake which makes it easier to adapt introLoading xD Delete: def __SetServerInfo(self, name): net.SetServerInfo(name.strip()) Change: self.__SetServerInfo(serverName + m2_devChannel99) with: net.SetServerInfo(serverName + m2_devChannel99)
  4. def __SetServerInfo(self, name): net.SetServerInfo(name.strip()) def Channel99_ListMapIndex(self): indexMap = [ "season1/metin2_map_oxevent", "metin2_map_devilsCatacomb", ] if str(background.GetCurrentMapName()) in indexMap: pass if self.Channel99_ListMapIndex(): serverName = "Metin2YourName" m2_devChannel99 = "Channel 99" self.__SetServerInfo(serverName + m2_devChannel99) I have not tested, but when you get to teleport in full you entered in the list that is on channel99, automatic channel name will change to channel 99.
  5. Milder version.. Open game.py. #Search: self.onClickKeyDict=onClickKeyDict #Add a row below: def Checking_Maps(self): import background list_maps = [ "season1/metin2_map_oxevent", #"season3/your maps etc etc", ] if str(background.GetCurrentMapName()) in list_maps: return TRUE return FALSE #Search: def RecvPartyInviteQuestion(self, leaderVID, leaderName): #Change with: def RecvPartyInviteQuestion(self, leaderVID, leaderName): if self.Checking_Maps(): return else: partyInviteQuestionDialog = uiCommon.QuestionDialog() partyInviteQuestionDialog.SetText(leaderName + localeInfo.PARTY_DO_YOU_JOIN) partyInviteQuestionDialog.SetAcceptEvent(lambda arg=TRUE: self.AnswerPartyInvite(arg)) partyInviteQuestionDialog.SetCancelEvent(lambda arg=FALSE: self.AnswerPartyInvite(arg)) partyInviteQuestionDialog.Open() partyInviteQuestionDialog.partyLeaderVID = leaderVID self.partyInviteQuestionDialog = partyInviteQuestionDialog #Search: def StartExchange(self): #Change with: def StartExchange(self): if self.Checking_Maps(): return else: self.interface.StartExchange() #Search: def OnMessengerAddFriendQuestion(self, name): #Change with: def OnMessengerAddFriendQuestion(self, name): if self.Checking_Maps(): return else: messengerAddFriendQuestion = uiCommon.QuestionDialog2() messengerAddFriendQuestion.SetText1(localeInfo.MESSENGER_DO_YOU_ACCEPT_ADD_FRIEND_1 % (name)) messengerAddFriendQuestion.SetText2(localeInfo.MESSENGER_DO_YOU_ACCEPT_ADD_FRIEND_2) messengerAddFriendQuestion.SetAcceptEvent(ui.__mem_func__(self.OnAcceptAddFriend)) messengerAddFriendQuestion.SetCancelEvent(ui.__mem_func__(self.OnDenyAddFriend)) messengerAddFriendQuestion.Open() messengerAddFriendQuestion.name = name self.messengerAddFriendQuestion = messengerAddFriendQuestion #Search: def RecvGuildInviteQuestion(self, guildID, guildName): #Change with: def RecvGuildInviteQuestion(self, guildID, guildName): if self.Checking_Maps(): return else: guildInviteQuestionDialog = uiCommon.QuestionDialog() guildInviteQuestionDialog.SetText(guildName + localeInfo.GUILD_DO_YOU_JOIN) guildInviteQuestionDialog.SetAcceptEvent(lambda arg=TRUE: self.AnswerGuildInvite(arg)) guildInviteQuestionDialog.SetCancelEvent(lambda arg=FALSE: self.AnswerGuildInvite(arg)) guildInviteQuestionDialog.Open() guildInviteQuestionDialog.guildID = guildID self.guildInviteQuestionDialog = guildInviteQuestionDialog #Search: def StartShop(self, vid): #Change with: def StartShop(self, vid): if self.Checking_Maps(): return else: self.interface.OpenShopDialog(vid) #Search: def StartOfflineShop(self, vid): #Change with: def StartOfflineShop(self, vid): if self.Checking_Maps(): return else: self.interface.OpenOfflineShopDialog(vid) Other: def OnRecvWhisperSystemMessage(self, mode, name, line): if self.Checking_Maps(): return else: chat.AppendWhisper(chat.WHISPER_TYPE_SYSTEM, name, line) self.interface.RecvWhisper(name) def OpenSafeboxWindow(self, size): if self.Checking_Maps(): return else: self.interface.OpenSafeboxWindow(size) def OpenMallWindow(self, size): if self.Checking_Maps(): return else: self.interface.OpenMallWindow(size)
  6. int Titan2_FunctionGetFileSize(char* FileName) { HANDLE pFile_done = CreateFileA(FileName, GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL); return Titan2_FunctionGetFileSize(pFile_done, NULL); } HINSTANCE hGetProcIDDLL = LoadLibrary("name_dll_vegas.dll"); if (hGetProcIDDLL == NULL) { MessageBox(NULL, "The customer name can not start without dll_vegas.dll, please update your autopatcher.", "#VegaS - System Error", MB_ICONSTOP); return 0; } else { if (Titan2_FunctionGetFileSize("name_dll_vegas.dll") != 54200) //kb { MessageBox(NULL, "DLL has been changed, please update.", "#VegaS - System Error", MB_ICONSTOP); return 0; } }
  7. You should not have put it for free :), now many guys will start to sell it.
  8. I'm pretty tired and can not see well, but I'm still the only one not see any video link, or are too tired?
  9. If we were to measure the square footage then divided the total to 2, would come out as yes.
  10. uIToolTip.py def __IsOldHair(self, itemVnum): return itemVnum > 73000 and itemVnum < 74000 def __IsNewHair(self, itemVnum): return itemVnum > 74000 and itemVnum < 75000 def __IsNewHair2(self, itemVnum): return itemVnum > 75000 and itemVnum < 76000 def __IsNewHair3(self, itemVnum): return ((74012 < itemVnum and itemVnum < 74022) or (74262 < itemVnum and itemVnum < 74272) or (74512 < itemVnum and itemVnum < 74522) or (74762 < itemVnum and itemVnum < 74772) or (45000 < itemVnum and itemVnum < 47000)) def __AppendHairIcon(self, itemVnum): itemImage = ui.ImageBox() itemImage.SetParent(self) itemImage.Show() if self.__IsOldHair(itemVnum): itemImage.LoadImage("d:/ymir work/item/quest/"+str(itemVnum)+".tga") elif self.__IsNewHair3(itemVnum): itemImage.LoadImage("icon/hair/%d.sub" % (itemVnum)) elif self.__IsNewHair(itemVnum): itemImage.LoadImage("d:/ymir work/item/quest/"+str(itemVnum-1000)+".tga") elif self.__IsNewHair2(itemVnum): itemImage.LoadImage("icon/hair/%d.sub" % (itemVnum)) elif self.__IsCostumeHair(itemVnum): itemImage.LoadImage("icon/hair/%d.sub" % (itemVnum - 100000)) itemImage.SetPosition(itemImage.GetWidth()/2, self.toolTipHeight) self.toolTipHeight += itemImage.GetHeight() self.childrenList.append(itemImage) self.ResizeToolTip()
  11. local map_index = {110,111} if tab_(map_index, pc.get_map_index()) then syschat("<Sistem Mount> You can not do this in this map!") return end questlib.lua function tab_(self, fuckoff) for i = 1, table.getn(self) do if self==fuckoff then return true end end return false end questfunction: tab_ Example :
  12. when 8001.kill begin local vegas_count_stones = pc.getqf("count_metin5") pc.setqf("count_metin5", vegas_count_stones + 1) end when 101.kill begin local vegas_count_dogs = pc.getqf("count_dogs") pc.setqf("count_dogs", vegas_count_dogs + 1) end when 8001.kill or 101.kill begin if party.is_party() and pc.getqf("count_metin5") >= 5 and pc.getqf("count_dogs") >= 20 then pc.delqf("count_metin5") pc.delqf("count_dogs") --[[ --[[.......]] --[[..............]] --[[............................]] end ------------*** if pc.getqf("count_metin5") < 5 return end if pc.getqf("count_dogs") < 20 return end ------------***
  13. A small example, I not tested, is just one example. listEmpire = { net.EMPIRE_A : localeInfo.EMPIRE_A, #Shinshoo net.EMPIRE_B : localeInfo.EMPIRE_B, #Chunjo net.EMPIRE_C : localeInfo.EMPIRE_C #Jinno } mRace = net.GetMainActorRace() mEmpire = net.GetEmpireID() if mRace == 5 and mEmpire == 1 or mEmpire == 2: self.PopupMessage("This character is only available for Jinno's Kingdom!") return False #### If your current realm that is Chunjo stay or Shinshoo and your character is one type wolfman not have access to enter the kingdom of nature than from Jinno. if mRace == 1 or mRace == 2 or mRace == 3 or mRace == 4 and mEmpire == 3 or mEmpire == 1: self.PopupMessage("This character is only available for Chunjo's Kingdom!") return False #### If your current realm that is Jinno or Shinshoo stay and your character is Warrior / Sura / Ninja / Shaman do not have access to enter the character than if you are on Chunjoo kingdom.
  14. It is a simple check... uiofflineshop.py 1.) //Search function: def GetTitle(self): 2.) //Change with this: def GetTitle(self): vegas = self.inputValue.GetText() if net.IsInsultIn(vegas): chat.AppendChat(chat.CHAT_TYPE_INFO, "[Offline Shop] Store name contains forbidden words.") return else: return self.inputValue.GetText() And add in insult.txt, and other words to block: %s
  15. Still a small check, which does not hurt. Words can block them from insult.txt def GetTitle(self): vegas = self.inputValue.GetText() #vegas_len = len(vegas) #if vegas_len > 0: if net.IsInsultIn(vegas): chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.CHAT_INSULT_STRING) return #titan2_block = self.inputValue.GetText() #vegas_lista = ["%s","%","etc0","etc1","etc2"] #for x in xrange(len(vegas_lista)): #if titan2_block == vegas_lista[x]: #chat.AppendChat(chat.CHAT_TYPE_INFO, "[Offline Shop] Store name contains forbidden words.") #return else: return self.inputValue.GetText()
  16. Add in questlib.lua: function say_test_pro(text_vegas, value) local maxim, titan, work = value or 50, 0, '(.-)(%[.-%])()' local result,nb,lastPos,back_m2 = {}, 0, 0, '' local function m2dev(pro) for pass1 in string.gfind(pro,'((%S+)%s*)') do if titan + string.len(pass1) > maxim then back_m2 = back_m2..'[ENTER]' titan = 0 end back_m2 = back_m2..pass1 titan = titan + string.len(pass1) end end for ymir, vegas_2,vegas_3 in string.gfind(text_vegas, work) do if ymir ~= '' then m2dev(ymir) end back_m2 = back_m2..vegas_2 lastPos = vegas_3 end m2dev(string.sub(text_vegas, lastPos)) say(back_m2) end Add in questfunction: say_test_pro I do not own all the credits for this function Example: say_test_pro("Hello metin2dev!",8) say_test_pro("This message is only test! .....................................................",15) You can develop more if you want, that you start with a row below the test without having to put you directly enter other shit than the number of characters you want to start. What you want is a kind of: (x,y) raw_script("[function x;"..x.."|y;"..y.."]") But it is not easy to do, but I'll try when I have time.
  17. Open game.py and search function: def OpenQuestWindow(self, skin, idx): and replaces it all def OpenQuestWindow(self, skin, idx): if constInfo.INPUT_IGNORE == 1: return self.interface.OpenQuestWindow(skin, idx) or in QuestDialog: def __init__(self,skin,idx): if constInfo.INPUT_IGNORE == 1: return
×
×
  • 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.