Jump to content


  • Content count

  • Joined

  • Last visited

  • Days Won


Everything posted by flygun

  1. flygun

    open Bin does not start

    is there a process running in task manager ?
  2. flygun

    open Bin compile error

    replace granny_variant twoSideResult; if (GrannyFindMatchingMember(pgrnMaterial->ExtendedData.Type, pgrnMaterial->ExtendedData.Object, "Two-sided", &twoSideResult) && NULL != twoSideResult.Type) GrannyConvertSingleObject(twoSideResult.Type, twoSideResult.Object, TwoSidedFieldType, &twoSided, NULL); m_bTwoSideRender = 1 == twoSided; with this granny_variant TwoSidedVariant; if (GrannyFindMatchingMember(pgrnMaterial->ExtendedData.Type, pgrnMaterial->ExtendedData.Object, "Two-sided", &TwoSidedVariant)) GrannyConvertSingleObject(TwoSidedVariant.Type, TwoSidedVariant.Object, TwoSidedFieldType, &twoSided, 0); m_bTwoSideRender = 1 == twoSided; not tested I'm on mobile
  3. flygun

    Visual Studio 2017

    first of all .... yes you can compile the source code in vs2017 it's just a program ... the language itself didn't change ... but for the error you have to provide us with some information other than just saying that you've got a problem ... programing isn't a job it's a life style Best regards Flygun !!
  4. hey guys i was watching some videos on YouTube when accidentally i saw this video is this real??
  5. flygun

    hi dev! freebsd 64 bit build error

    #Moved from How-to to Q&A
  6. flygun


    hmmmm i'm thinking of this as (33% of drop rate ) so if the drop rate = (200%) the 33% is still 33% ... 33% of (100) = 33 33% of (200) = 66 (not 66% which is 132) 33% of (300) = 99 item (not 99% which is 297) i've didn't read it yet ...
  7. flygun

    Changing Channel Method

    #moved (Community>Feedback to Metin2>General)
  8. flygun

    Costume weapon offical bonus change help

    #moved (Tech>C++ to Metin2>Questions and Answers) #please read the forum's rules about bumping ...
  9. flygun

    [Help] Item in inventory

    #moved (Tech>C++ to Metin2>Q&A)
  10. flygun

    Full HP after Login/Warp

    Take a look at this ,,,please make sure that you search before starting a topic + make sure about the section when you start a topic #moved (General to Q&A)
  11. flygun

    Shutdown command

    #moved (releases>binaries.. to Metin2>Q&A)
  12. #moved (Tech>Python to Metin2>Q&A)
  13. Hi..can you please check your inbox?

  14. flygun

    Metin2 Source Files

    Try to search Try to Serach before asking :-) FlyGun :-)
  15. flygun

    Close request

    (2.3) Close/Move/Rename request To make a close/move or rename request please report the topic with the thing you want us to do. Rename request are only allowed by the thread owners
  16. flygun

    MFC PackManager & ProtoManager

    I'm so sorry ..i opend this topic just to gather data about these tools ..i didn't know that it would become a real tool ..i'll complete this topic and share the tool in jun/july 2017 ... Husam(FlyGun) <3
  17. flygun

    MFC PackManager & ProtoManager

    Hello Guys I'm currently working on this program .... i've created this project because Metin2MakePack by ymir is in console mode and i made some python scripts to help me but it's a good idea to manage my packs with a GUI window now this is the program currently only extract button works because I'm testing the GUI i want to see your opinion PS:to try this tool you have to click on (Browse) button first and select your pack folder to see the pack in the Pack Manager list box PS: In the future i'm working on MFC ProtoManager to (Add,Remove,Edit,Import(client/server(sql/txt),export(client/server(sql/txt)) Item\Mob proto) i got too far about this and now i'm importing (itemdesc.txt / itemlist.txt /skillddesc.txt / skilltable.txt / item_proto / mob proto) Download Link :https://mega.nz/#!4EljAKaB!YQWF6olu5kygKqHwPMcTwiSMm_yyjGHTjd8zaO4zw-8 Update (5/3/2017) around 10:19PM ProtoManager -> First of all let me say that I'm on a whole new level on this project from now on .. ProtoManager will be very dynamic a "config.json" file will be created to save your own custom table-like texts ..e.i you don't have to write anything (unless you know what your doing)... there will be "Create/Edit Table" buttons to fully customize your tables... sorry for my bad English FlyGun
  18. flygun

    Packets communication

    i was studying programing but now i now how to write codes thanks anyway
  19. flygun

    Packets communication

    hello guys i got real problem ... i tried client-game / game-client with four packets none of them work :/ no errors .. no logs ... no anything i tried to send packets by buttons from the client to game .... sending ID of player to the client but nothing works i use for binary and mainline for core ## Client-Game works fine just the game-client
  20. unfortunately i stopped working on this project therefore i don't have the source .... my project gonna be open source when i come back ... I'll be back in june/july-2017
  21. hello guys i wrote this script to help using makepack import glob, os , shutil, sys from os import path , system executefile = "execute.cmd" logfolder = "logs" packfile = "D:\Husam\Client\pack/" packedfolder = "packed/" text = ".txt" ivfilename = "" type = "" comptype = "" file_list = [] def yes_no(question, default="yes"): valid = {"yes": True, "y": True, "ye": True, "no": False, "n": False} if default is None: prompt = " [y/n] " elif default == "yes": prompt = " [Y/n] " elif default == "no": prompt = " [y/N] " else: raise ValueError("invalid default answer: '%s'" % default) sys.stdout.write(question + prompt) choice = raw_input().lower() if default is not None and choice == '': return valid[default] if choice in valid: return valid[choice] else: sys.stdout.write("Please respond with 'yes' or 'no' ", "(or 'y' or 'n').\n") def get_size(dirname): total_size = 0 for dirpath, dirnames, filenames in os.walk(dirname): for f in filenames: fp = os.path.join(dirpath, f) total_size += os.path.getsize(fp) return total_size def createpack(filename, dirname): if get_size(dirname) == 0: print("This is an empty folder [%s]"% (dirname)) exit() print("Please Chose the type of pack you want to create\n") print("1:CompressExtNameList --> type 1") print("2:SecurityExtNameList --> type 2") print("3:panamaextnamelist --> type 3") print("4:cshybridencryptexenamelist --> type 4\n") type = raw_input("Your Choice:") type = int(type) if type < 0 or type > 4: print ("Please Type one number Bettwen 1 - 5") if type == 1: comptype = "CompressExtNameList"; if type == 2: comptype = "SecurityExtNameList"; if type == 3: comptype = "panamaextnamelist"; if type == 4: comptype = "cshybridencryptexenamelist"; makeit = filename + text check(makeit,1,"no") x = open(makeit, 'w') x.write("FolderName\t\"%s\"\nPackName\t\"%s\"\n"% (packedfolder, filename)) if type == 3: pack = os.path.join(packfile,filename) check(pack,0,"yes") x.write("IV\t\"%s\"\n"% (pack)) x.write("\nList\t%s\n{\n" % (comptype)) chkdict = {} setdef = chkdict.setdefault for root, dirs, files in os.walk(dirname): for file in files: ext = path.splitext(file)[1] if not ext in chkdict: x.write("\t\"%s\"\n" % setdef(ext,ext)) del chkdict x.write("}\n") x.write("\nList\tFilelist\n{\n") for root, dirs, files in os.walk(dirname): for filesname in files : filepath = os.path.join(root,filesname) if os.stat(filepath).st_size==0: continue x.write("\t\"%s\"\n" %(filepath)) x.write("}\n") def extract_writer(type, iv): global ivfilename , file_list check("",0,"no") if not os.listdir(packfile): print("Error: %s folder is empty \nsystem will close the script now"%(packfile)) system("pause")# this is an optinal command if you want to see what is going on return listofpacks() pack = raw_input("Pack Number:") pack = int(pack) file = file_list[pack] index = file + ".eix" y = check(index,0,"no") if y == True: file2 = os.path.join(packfile,file) if iv == True: ivfilename = file2 x = open(executefile, 'a') #open extract.cmd x.write("MakePack.exe --%s %s %s\t> logs/%s_log.txt\t 2> logs/%s_error.txt\n" % (type,file2, ivfilename, file, file)) print("MakePack.exe --%s %s %s\n" % (type,file2, ivfilename)) #show you on screen what are the file else: return x.close() executeMakePackfiles(executefile) def check(filename,remove,IVa="no"): if filename == "" and remove == 0: if os.path.isfile(executefile): os.remove(executefile) if not os.path.isdir(logfolder): os.system("mkdir %s" % (logfolder)) if not os.path.isdir(packfile): os.system("mkdir pack") return True elif os.path.splitext(filename)[1] == ".eix": filename = os.path.join(packfile,filename) if os.path.isfile(filename): return True print("[%s] Is missing"%(filename)) return False if filename != "": if os.path.isfile(filename) or os.path.isdir(filename): if remove == 1: os.remove(filename) if IVa == "yes": os.system("MakePack.exe --createiv %s"%(filename)) #run extract.cmd to execute the commands def executeMakePackfiles(filename): answer = yes_no("Do you Want to run %s?" %(filename),"yes") if True == answer: if filename == executefile: os.system(executefile) else: os.system("MakePack.exe %s" %(filename)) else: system("pause")# this is an optinal command if you want to see what is going on main() def listofpacks(): global file_list i = 0 file_count = len(glob.glob("%s*.epk"%(packfile))) for file in glob.glob("%s*.epk"%(packfile)): #search for any file with the (.epk) extention file = path.basename(file) file = path.splitext(file)[0] #removeing extention [xxx.epk ---> xxx (without (.epk))] file_list.append(file) # while i < file_count: filo = file_list[i] filo = ("%d:%s" % (i,filo)) print filo i += 1 def cls(): os.system("cls") def main(): print ("Hello This is Make Pack pythn tool") print ("type the number of the command you want to execute") print ("1:Create-iv\n2:Open-iv\n3:Extract\n4:Extract With Iv\n5:Make Pack\n6:Exit") choice = raw_input("Your Choice:") choice = int(choice) if choice < 1 or choice > 6: print ("Please Type one number Bettwen 1 - 6") if choice >= 1 and choice <= 4: if choice == 1: executetype = "createiv" iv = bool(False) elif choice == 2: executetype = "openiv" iv = bool(False) elif choice == 3: executetype = "extract" iv = bool(False) elif choice == 4: executetype = "extract" iv = bool(True) cls() extract_writer(executetype, iv) if choice == 5: packname = raw_input("Pack Name:") path = raw_input("Path:") createpack(packname,path) packname2 = packname + text executeMakePackfiles(packname2) system("pause")# this is an optinal command if you want to see what is going on main() if choice == 6: exit() main() now I'm not a python expert so if any expert here can tell me some notes on how to write better code it would very nice plus if any one want my version of make pack just tell me to upload it now my only problem here is that thae script writes only one type of compressing types using by the binary i you can't use the script to write something like this fro example YET List SecurityExtNameList { ".dds" ".tga" ".jpg" } List Panamaextnamelist { ".msenv" ".sub" }but anyway the script generates something look like this FolderName "packed" PackName "etc" List SecurityExtNameList { ".msenv" ".dds" ".tga" ".sub" ".jpg" } List Filelist { "ymir work\environment\a1.msenv" "....." }#Updated with IV file check for panama type .. thanks to metin2team for noticing the mistake #updated with file size check ... ---> make pack wont pack 0 sized file so the script ignores the 0 file #updated ... now after any command you do the script restarts from the beginning ...because the python window closes after the code is done #update --> now you can specify the pack
  22. flygun

    Why get ssl error Android Chrome

    The problem isn't solve yet
  23. I'll be back in june/july-2017 :-)

  24. Metin2 Enter The East guitar cover <3