Jump to content

Search the Community

Showing results for tags 'python'.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Metin2 Dev
    • Announcements
  • Community
    • Member Representations
    • Off Topic
  • Miscellaneous
    • Metin2
    • Showcase
    • File Requests
    • Community Support - Questions & Answers
    • Paid Support / Searching / Recruiting
  • Metin2 Development
  • Metin2 Development
    • Basic Tutorials / Beginners
    • Guides & HowTo
    • Binaries
    • Programming & Development
    • Web Development & Scripts / Systems
    • Tools & Programs
    • Maps
    • Quests
    • 3D Models
    • 2D Graphics
    • Operating Systems
    • Miscellaneous
  • Private Servers
    • Private Servers
  • Uncategorized
    • Drafts
    • Trash
    • Archive
    • Temporary
    • Metin2 Download

Product Groups

  • Small Advertisement
  • Large Advertisement
  • Advertising

Categories

  • Third Party - Providers Directory

Categories

  • Overview
  • Pages
    • Overview
    • File Formats
    • Network
    • Extensions

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Pillory


Marketplace


Game Server


Country


Nationality


Github


Gitlab


Discord


Skype


Website

  1. M2 Download Center Download Here ( Internal ) [Hidden Content] [Hidden Content] VT: [Hidden Content]
  2. Download Metin2 Download [Hidden Content] It's working without serverside.
  3. Hello, community! I would like to share a simple tutorial about how to make a permanent skill. For this, you will need to modify the following files: skill_proto (SQL) skilldesc.txt (client/locale) skilltable.txt (client/locale) uitooltip.py (client/root) skill_proto skilldesc.txt skilltable.txt uitooltip.py Αny improvements or corrections are welcome!
  4. Download Metin2 Download or Github Time of loading each fragment of the game before and after
  5. M2 Download Center Download Here ( Internal ) Screen: Video: [Hidden Content] Why is this feature good? Cause every yang goes on this little window and players can see the chat log with out the yang spamming when the farm ^^ Download: Mega
  6. M2 Download Center Download Here ( Internal ) Download Here ( GitHub ) Anyway now you can sell shop items with sockets and attrs at shopex. New price types. New sorting options Every Item can have different price type. price_type: 1:Gold 2:Second Coin 3:Item 4:EXP sort: Asc,Desc,Vnum,Price,Name,Type
  7. Download Alternative download links → MEGA or Github Renewal of the quest page, now with categories for each quest. Here are some previous below, Before implementing, please continue reading the topic. In order to make the quest page renewal work properly you will need to implement the following features below released by @ Mali. Required Dependencies You can skip the feature below as I have already included it in the tutorial. .
  8. Download Metin2 Download or Mega Hello! I know, this system is released on a lot of forums but those are not the full systems. I left a "readme" in the playersettingsmodule.py, please read. If you miss something, tell me. If you have problem with the system, i can try to help you. And last but not least, THE BASE SYSTEM IS NOT MINE. I just re-edited and "fixed". Proof vid: Sorry for my bad english.. UPDATE InstanceBase.cpp: Search: if (dwSash == 85020) { m_dwSashEffect = EFFECT_REFINED + EFFECT_WINGS_NEWS2; __EffectContainer_AttachEffect(m_dwSashEffect); } Rreplace with: if (dwSash == 85020) { fSpecular += 35; // im the new m_dwSashEffect = EFFECT_REFINED + EFFECT_WINGS_NEWS2; __EffectContainer_AttachEffect(m_dwSashEffect); } __VT__
  9. [Hidden Content] [Hidden Content] You can do things like these with it: Reversed from 22.2.7.0 Official Binary. Experimental: Contains the modifications that I added that are not in the official.
  10. This itemshop is an open source project written by CYN3 with the assistance of the sura_head community. Special thanks to: CYN3 Amas KaiaProductions Installation guide: [Hidden Content]
  11. Download Alternative download links → Github Hi, This is all interface about SungmaHee Tower Like official servers and the first floor like Official Servers, In this files we have 2k or 3k LOC, maybe more, I'm tired and I don't have information about all floor's tower, but if you want complete this system, you can contact with some-developer and providing the information about the floors or modifying all floors like your concept for Metin2, you'll be a nice dungeon. I already did the hardest part. You can extract all visual part with the official patchs from this forum. This dungeon is Full C++, Python and SQL. PLEASE: Not more messages for my person if you don't want to pay money, I only sell systems "not personal systems" you need understand about my time, my help, code or resolve some problem, needs time. If you want something (not offlineshop, this world has different options with this system) you can contact me but, you will need understand that I will charge you. I'm a nice person (I think), but this world needs money and if I invest time in one project, I will cancel other projects and is overmoney.
  12. M2 Download Center Download Here ( Internal ) Hi there Devs, I would like to share my "little" system. If you aren't interested in the introduction/preview etc. and you just want to download it and put in to your server, just scroll down until the "[How-To] Set up" subtitle. The story Firstly let me tell this system's story. I've got an idea one year before, that it would be good if the players would be able to put their items into a "global" system where they could see the other player's items, and they could buy it for DC or gold (that time I worked with the latest vanilla core (not with the source)). Then in the following 8 days I made it (it took about 80-90 working hours). Originally the system was created for one of my friend's server. but this server has never started, and nobody used this system. After some mounts I've decided to publish it on the Hungarian forum, because it won't worth to work on it for long hours if nobody uses it and its just collecting dust on my computer. Then I've published it on the 2nd of December, 2014. After some time I've decided to translate it into English and I've got a new idea for a new feature. This feature was: the trade system (I will explain its working later). This idea inspired by one of the players (from a server where this system was able to use). He told me that it would be better if they could set the gold price via an item (what's value is very high). Then with more than 180 working hours (totally) behind my back I'm here. Overview [How-To] Set up Customizing the tradehouse Questions and Answers Notes changelog: 19th of August, 2015: I publicated the tradehouse here. my toDo list: add logging for the system (the released version don't log the actions in the tradehouse) Thanks for reading the topic, if you have any problem/remark feel free to ask it here or write me a PM. Have a good day!
  13. I think title says it all. Why this? Why not?
  14. As you well know the affects on the icons for drop yang, exp are in green, and when you attach a skill the skill's affect is red, I never liked this thing and I decided to modify them to be in theme with the other affects. Below is a preview. Let's start. Download: Uiaffectshower.py Search in AFFECT_DATA_DICT chr.AFFECT_GEOMGYEONG chr.AFFECT_CHEONGEUN . . . And replace with: chr.AFFECT_GEOMGYEONG : (localeInfo.SKILL_GEOMGYEONG, "icon/skillaffect/1.png",), chr.AFFECT_JEONGWI : (localeInfo.SKILL_JEONGWI, "icon/skillaffect/2.png",), chr.AFFECT_CHEONGEUN : (localeInfo.SKILL_CHEONGEUN, "icon/skillaffect/3.png",), chr.AFFECT_EUNHYEONG : (localeInfo.SKILL_EUNHYEONG, "icon/skillaffect/4.png",), chr.AFFECT_GYEONGGONG : (localeInfo.SKILL_GYEONGGONG, "icon/skillaffect/5.png",), chr.AFFECT_GWIGEOM : (localeInfo.SKILL_GWIGEOM, "icon/skillaffect/6.png",), chr.AFFECT_GONGPO : (localeInfo.SKILL_GONGPO, "icon/skillaffect/7.png",), chr.AFFECT_JUMAGAP : (localeInfo.SKILL_JUMAGAP, "icon/skillaffect/8.png"), chr.AFFECT_HOSIN : (localeInfo.SKILL_HOSIN, "icon/skillaffect/9.png",), chr.AFFECT_BOHO : (localeInfo.SKILL_BOHO, "icon/skillaffect/10.png",), chr.AFFECT_GICHEON : (localeInfo.SKILL_GICHEON, "icon/skillaffect/11.png",), chr.AFFECT_JEUNGRYEOK : (localeInfo.SKILL_JEUNGRYEOK, "icon/skillaffect/12.png",), chr.AFFECT_KWAESOK : (localeInfo.SKILL_KWAESOK, "icon/skillaffect/13.png",), chr.AFFECT_HEUKSIN : (localeInfo.SKILL_HEUKSIN, "icon/skillaffect/14.png",), chr.AFFECT_MUYEONG : (localeInfo.SKILL_MUYEONG, "icon/skillaffect/15.png",), chr.AFFECT_PABEOP : (localeInfo.SKILL_PABEOP, "icon/skillaffect/16.png",), chr.AFFECT_FALLEN_CHEONGEUN : (localeInfo.SKILL_CHEONGEUN, "icon/skillaffect/3.png",), That's all, good luck !
  15. Download Center Github or M2DL Heyo, this is something i did a while ago, perhaps it will be of use for some. [Hidden Content]
  16. M2 Download Center Download Here ( Internal ) Someone asked me for cache chat messages. Here is the release constInfo.py Add: lastSentenceStack = [] lastSentencePos = 0 game.py In def Open(self): add: if len(constInfo.lastSentenceStack) > 0: constInfo.lastSentencePos = 0 uiChat.py remove: self.lastSentenceStack = [] self.lastSentencePos = 0 All: self.lastSentenceStack Replace with: constInfo.lastSentenceStack All: self.lastSentencePos Replace with: constInfo.lastSentencePos That's all, enjoy
  17. M2 Download Center Download Here ( Internal ) Download Here ( GitHub ) [Hidden Content]
  18. M2 Download Center Download Here ( Internal )
  19. M2 Download Center Download Here ( Internal ) [Hidden Content] Client side is from 2018 official root. It checks the status of the channel from db and gets the port and addr. It also checks if that map exists in that channel(config). *Info: This is currently disabled on official servers.
  20. M2 Download Center Download Here ( Internal ) Hi, folks! With this guide you will be able to combine textlines with images, like rubinum does. Usage is simple: emojiTextLine.SetText("|Eemoji/key_ctrl|e + |Eemoji/key_x|e + |Eemoji/key_rclick|e - Direct sell") The files are located in the icon pack, so basically the code will load from icon/{GIVEN_PATH}.tga - in the sample the path for the X is: icon/emoji/key_x.tga Here are the images from rubinum client:  Howto: Have fun Sorry for arab players , for sure they have also developers, so let's go guys, finish it ? If you have problem, maybe I made a mistake in the guide of missed out something, just leave a comment below. PS.: Sometimes the code tag of the board puts an extra invisible character mostly the end of the lines, if your IDE cries for syntax error, but it seems correct, check that part of the file with notepad++, it will show a ?(question mark) where the problem is.
  21. M2 Download Center Download Here ( Internal ) [Hidden Content] Reversed from 22.2.7.0 Official Binary. Client part is from 2018 Official Root. You can set different colors:
  22. M2 Download Center Download Here ( Internal ) Hello my own use simple anti cheat protection like enigma; What u need? Simple php file for logging Win32modules for 2.2 or 2.7 and badlist.php([Hidden Content]) and secur.dll([Hidden Content]) What this Functions: Base protection > Name + Byte Folder Secuirty > BGM + Miles + Lib + Main Folder Folder Check > ".py" + ".mix" + ".m3d" + ".bat" + ".flt" + ".asi" Hash Check > Miles folder, python core, security base dll, os.pyc(for baseinit methode) TaskList Check Windows Check Script; import sys import os import app import time import thread import dbg import ui import md5 import urllib import uiCommon from os.path import basename try: import win32api except: syslog('Cant import win32api module') dbg.LogBox("Cant import win32api module") app.Exit() DATA_URL = "[Hidden Content]" launchername = sys.executable taskname = basename(launchername) launchers = os.path.getsize(taskname) launchersize = int(launchers) check=' '.join(os.listdir(os.getcwd())) check_miles=' '.join(os.listdir(os.getcwd()+"miles")) check_bgm=' '.join(os.listdir(os.getcwd()+"bgm")) check_lib=' '.join(os.listdir(os.getcwd()+"lib")) check_folder=' '.join(os.listdir(os.getcwd())) ######preparation################################# ##HashFonk def getMd5(file): m = md5.new() fp = open(file,"rb") while 1: data = fp.read(1024) if not data:break m.update(data) fp.close() return m.hexdigest() def getMD5ByFileName(file): try: file = file.strip() md5hash = md5.new() dllFile = open(file, 'rb') tmpFileBlock = dllFile.read() dllFile.close() md5hash.update(tmpFileBlock) md5hash = md5hash.hexdigest() return md5hash except: return '' def ReturnMd5(file,hash): if(getMd5(file) != hash ):return TRUE else:return FALSE def syslog(s): file = open('syserr.txt', 'a') file.write('n' + s + 'n') file.close() def ingameNotifyPopupAndExit(text = ''): popup = uiCommon.PopupDialog() popup.SetWidth(700) popup.SetText(text) popup.Show() time.sleep(7) ###/////////###################################### #Base Security > Name+Byte def BaseCheck(): global launchername, taskname, launchersize if not taskname == "metin2cliento.exe" or launchersize == "3171985": dbg.LogBox("Wrong launcher") os.system("taskkill /im %s /f" % taskname) #Folder Secuirty > BGM + Miles + Lib + Main Folder def FileCheck(): global check, check_bgm, check_folder, check_miles, check_lib banned_ext=[".mix", ".m3d", ".flt", ".asi", ".bat"] miles_clean=["mssa3d.m3d", "mssds3d.m3d", "mssdsp.flt", "mssdx7.m3d", "msseax.m3d", "mssmp3.asi", "mssrsx.m3d", "msssoft.m3d", "mssvoice.asi"] lib_clean=['__future__.pyc','copy_reg.pyc','linecache.pyc','ntpath.pyc','os.pyc','site.pyc','stat.pyc','string.pyc','traceback.pyc','types.pyc','UserDict.pyc','urllib.pyc','win32con.pyc','threading.pyc'] folder_clean=['BGM', 'artpclnt.dll', 'pn.dll', 'channel.inf', 'config.exe', 'devil.dll', 'DSETUP.dll', 'errorlog.exe', 'errorlog.txt', 'granny2.dll', 'ijl15.dll', 'ilu.dll', 'locale.cfg', 'metin2cliento.exe', 'metin2.cfg', 'mouse.cfg', 'mscoree.dll', 'MSS32.DLL', 'msvcp60.dll', 'MSVCRTD.DLL', 'patchw32.dll', 'python22.dll', 'SpeedTreeRT.dll', 'syserr.txt', 'unicows.dll', 'hshield', 'lib', 'mark', 'miles', 'pack', 'temp', 'upload', 'patchskin', 'skins', 'screenshot'] bgm_clean=['a_rhapsody_of_war.mp3','another_way.mp3','back_to_back.mp3','blacksea.mp3','catacomb_of_devil.mp3','characterselect.mp3','death_of_landmark.mp3','desert.mp3','enter_the_east.mp3','follow_war_god.mp3','last-war2.mp3','login_window.mp3','lost_my_name.mp3','m2bg.mp3','misty_forest.mp3','monkey_temple.mp3','mountain_of_death.mp3','mt.mp3','only_my_battle.mp3','open_the_gate.mp3','save_me.mp3','wedding.mp3','wonderland.mp3','xmas.mp3'] for i in miles_clean: check_miles=check_miles.replace(i, '') for i in lib_clean: check_lib=check_lib.replace(i, '') for i in bgm_clean: check_bgm=check_bgm.replace(i, '') for i in folder_clean: check_folder=check_folder.replace(i, '') for i in banned_ext: if check.find(i) != -1: f=open("syserr.txt", "w") nome="%s%s" % (i[0].upper(), i[1:]) f.write("[HACKSHIELD]Invaild File!n" + nome) f.close() app.Exit() if check_bgm.find(i) != -1: f=open("syserr.txt", "w") nome="%s%s" % (i[0].upper(), i[1:]) f.write("[HACKSHIELD]Invaild File!n" + nome) f.close() app.Exit() if check_miles.find(i) != -1: f=open("syserr.txt", "w") nome="%s%s" % (i[0].upper(), i[1:]) f.write("[HACKSHIELD]Invaild File!n" + nome) f.close() app.Exit() if check_lib.find(i) != -1: f=open("syserr.txt", "w") nome="%s%s" % (i[0].upper(), i[1:]) f.write("[HACKSHIELD]Invaild File!n" + nome) f.close() app.Exit() if check_folder.find(i) != -1: f=open("syserr.txt", "w") nome="%s%s" % (i[0].upper(), i[1:]) f.write("[HACKSHIELD]Invaild File!n" + nome) f.close() app.Exit() #Folder check > ".py" def PyDelete(): while 1 == 1: files = [f for f in os.listdir('.') if os.path.isfile(f)] for f in files: if f.endswith(".py"): f1 = f try: os.remove(f) except: pass if f1 == "logininfo.py": syslog("[HACKSHIELD]Detected Hack File") app.Exit("") time.sleep(1) #######Hash Control def HashCheck(): ##Miles if len(os.listdir('miles')) != 10 : return 'Wrong file detected' d = { 'miles/mss32.dll': '6400e224b8b44ece59a992e6d8233719', 'miles/mssa3d.m3d':'e089ce52b0617a6530069f22e0bdba2a', 'miles/mssds3d.m3d':'85267776d45dbf5475c7d9882f08117c', 'miles/mssdsp.flt':'cb71b1791009eca618e9b1ad4baa4fa9', 'miles/mssdx7.m3d':'2727e2671482a55b2f1f16aa88d2780f', 'miles/msseax.m3d':'788bd950efe89fa5166292bd6729fa62', 'miles/mssmp3.asi':'189576dfe55af3b70db7e3e2312cd0fd', 'miles/mssrsx.m3d':'7fae15b559eb91f491a5f75cfa103cd4', 'miles/msssoft.m3d':'bdc9ad58ade17dbd939522eee447416f', 'miles/mssvoice.asi':'3d5342edebe722748ace78c930f4d8a5' } for x in d: if ReturnMd5(x, d[x]): return TRUE else: return FALSE if getMd5("python22.dll") != "97FB91610702B63F071282E9CF86B8C0" : dbg.LogBox("Invaild file:" + "python22.dll") app.Exit() if getMd5("secur.dll") != "F01C8F12DD4662F566433B6DA1B2735E" : dbg.LogBox("Invaild file:" + "secur.dll") app.Exit() if getMd5("lib/os.pyc") != "d0d09c7daa9d57373cd7586a74ec4099" : dbg.LogBox("Invaild file:" + "os.pyc") app.Exit() ##CheckProcess def ProcCheck(): whitelist = ["putty.exe","filezilla.exe"] hack = [] result = [] while 1==1: for l in os.popen("secur.dll "+ str(os.getpid())).readlines(): line = l.lower() if (line.find("switch") != -1 or line.find("hack") != -1 or line.find("inject") != -1 or line.find("bot") != -1 or line.find("loader") != -1 or line.find("lalaker") != -1 or line.find("hile") != -1): urllib.urlopen(DATA_URL + "hack.php?oyuncu=" + player.GetName() + "&server=" + str(net.GetServerInfo().split(',')[0]) + "&hack=" + l[0]) time.sleep(5) break for line in os.popen('secur.dll ' + str(os.getpid())).readlines(): try: if line.strip() != '' and line.strip().startswith('EXE'): line = line.split(' ') line.pop(0) line.pop(0) line = ' '.join(line) f = open(line.strip(), 'r') if f: result.append(line.strip()) except: continue return [] for p in os.popen("tasklist v"): processi = p.read().lower() if (processi.find("hack") != -1 or processi.find("inject") != -1 or processi.find("inject") != -1 or processi.find("bot") != -1 or processi.find("cheat") != -1 or processi.find("ollydbg") != -1 or processi.find("actool") != -1 or processi.find("allydbg") != -1 or processi.find("ollyice") != -1 or processi.find("windbg") != -1 or processi.find("softice") != -1 or processi.find("m2bob") != -1): p = processi.split() if p[0] in whitelist: continue time.sleep(4) if p[0] not in hack: urllib.urlopen(DATA_URL + "hack.php?oyuncu=" + player.GetName() + "&server=" + str(net.GetServerInfo().split(',')[0]) + "&hack=" + l[0]) time.sleep(5) time.sleep(20) return FileCheck() BaseCheck() HashCheck() thread.start_new_thread(PyDelete, ()) thread.start_new_thread(ProcCheck, ()) regards
  23. M2 Download Center Download Here ( Internal ) Download Here ( GitHub ) Informations about system : When you will open a chest with drop , will appear this window. In this window you can preview drop of chest and you can make a setting how many chests you want open. [Hidden Content]
  24. I don't know if developed a tool like this, before by anotherone. I wrote it for myself and I am sharing it to help you too. What is it? Sort the contents of proto files from smallest to largest based on numbers How to use? Simple to use, just put the file to be sorted in the same directory as the tool and run the tool. Easy to use. If undecodable characters are encountered (aka if not in EUC_KR charmap), you will fail. If you agree to ignore this, you can use 'force_sort_proto.exe' or 'force_sort_proto.py' to force sort the file. Effects: Functionally you should not encounter any problems. However, it may lose its meaning in 'human language' .exe? For those who don't have the Python Interpreter, for quick use. [Hidden Content] or [Hidden Content]
  25. M2 Download Center Download Here ( Internal ) Download Here ( MEGA ) Download Here ( GitHub ) Hello again M2Dev, It’s been quite I wile since I haven’t released anything for the community so today I decided to release one of my systems I created some days ago, it’s very simple and it consists on gambling to say the least… The point is to bet your money (yang/gold) on a higher amount of gold and the higher you bet the higher the payout is, similar as how a casino slot machine works without being too complex. The rules are simple, you have three (3) possible jackpots in which each one has a payout amount. Hit the same icon three (3) times and you will win the jackpot. If you get any other combination that contain jackpot reel icons, you will win half your bet back with a short bet multiplier. So, the jackpot reels work as so, A, A, A = Jackpot 1 B, B, B = Jackpot 2 C, C, C = Jackpot 3 All other possible combinations to have a winning: A, A, B; A, A, C; B, B, A; B, B, C; C, C, A; C, C, B; A, B, C; C, A, B; B, A, C; C, B, A; A, C, B; If you happen to win a jackpot while having close to maximum gold, you will receive an item in your inventory if you have space for it otherwise you will receive it in your storage room. The item will contain the jackpot value. How to configure? @ game/constants.cpp you can edit all the betting values you want. @ game/contants.cpp you can edit as well the jackpot values. @ root/uiSlotMachineSystem.py you can edit the reel icons and bet values. In-game, you can also use the commands, /e slot_machine_reels < x > where < x > is the number of reels you want to randomize. The more reel icons you have, the harder it is to win a jackpot! /e slot_machine_multiplier < x > where < x > is the value of the multiplied you want. The higher this value, the higher the payout is. Additional information For those who are using older versions of C++ some data type identifiers need to be changed as shown below. uint64_t = unsigned long long uint32_t = UINT int32_t = INT uint16_t = WORD uint8_t = BYTE Sincerly, Owsap
×
×
  • 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.