-
Posts
1361 -
Joined
-
Days Won
77 -
Feedback
0%
Content Type
Forums
Store
Third Party - Providers Directory
Feature Plan
Release Notes
Docs
Events
Posts posted by Shogun
-
-
Today I have some more goodies for mappers / modellers
SpoilerSpeedtree is the software used by Metin2 to render trees and other kinds of vegetation. Many games such as Oblivion, Ragnarok 2, Gran Theft Auto IV... use Speedtree 4, while Metin2 uses the older Speedtree 3.
It's possible to import Speedtree 4 models for Metin2 by loading and saving them with SpeedtreeCAD 3. A pic of the tool:
In this pack you can find Speedtree CAD Lite 3 and Speedtree CAD 4 and their respective plugins for 3DSMAX.
Plugins http://ul.to/76hxts40
- 43
- 3
- 3
- 1
- 23
- 2
- 48
-
To get the ball rolling on this forum, here is a real oldschool release, the original Metin2 client for the chinese Beta in 2004.
SpoilerDownload: https://mega.co.nz/#!IkZzDYhS!KXsSgEExVlcUzPF7bU03U7xrlXH1VPUMpGszXW1EJok
- 70
- 1
- 1
- 1
- 1
- 1
- 3
- 1
- 30
- 1
- 10
- 76
-
-
Arbana Map
in Maps
Just sexy.
- 1
-
Added the missing dll to the archive.
-
Nice tool indeed. I like BlackYuko tools in that they look professional and work stable.
-
-
I am proud to release exclusively for metin2dev -with the blessing from its author Tim Niederhausen- the latest version of the original FileArchiver command line tool, which is now divided into two Windows executables:
FileArchiver_Eterpack (r3869)
This command line tool can pack and unpack EterPack (epk) files. Types 0, 1, 2 and 3 are supported for the packing function. Parameters are configured through xml files:FileArchiver_Eterpack.exe rootpack.xml
Optionally you can drag and drop the xml file over FileArchiver_Eterpack.exe in Windows Vista and higher.
Unpacking
Example XML: unpack root.epk to the folder root_unpacked. ArchivePath is the path to the packed file (without extension) and OutputPath is the folder where files should be written.<ScriptFile> <ExtractEterPack ArchivePath="root" OutputPath="root_unpacked/" CreateXml="No" /> </ScriptFile>
Example XML: unpack a series of epk files, creating a xml file that we can use to pack them back later with FA. CreateXml and XmlPath elements are self explanatory here.<ScriptFile> <ExtractEterPack ArchivePath="yt2/pack/uiloading" OutputPath="yt2_unpacked/" CreateXml="Yes" XmlPath="uiloading_pack.xml" /> <ExtractEterPack ArchivePath="yt2/pack/etc" OutputPath="yt2_unpacked/" CreateXml="Yes" XmlPath="etc_pack.xml" /> <ExtractEterPack ArchivePath="yt2/pack/uiscript" OutputPath="yt2_unpacked/" CreateXml="Yes" XmlPath="uiscript_pack.xml" /> </ScriptFile>
Packing
Example XML: Create uiloading.epk with Type 2 (LZO packed and XTEA key); note how ArchivePath is the path to write the packed file, ArchivedPath is the absolute path of each file in the Metin2 virtual filesystem, while CDATA is the actual location of the file in our PC (relative or absolute)<ScriptFile> <CreateEterPack ArchivePath="../bin/pack/uiloading"> <File ArchivedPath="d:/ymir work/uiloading/loading0.jpg" Type="2"><![CDATA[uiloading/loading0.jpg]]></File> <File ArchivedPath="d:/ymir work/uiloading/loading1.jpg" Type="2"><![CDATA[uiloading/loading1.jpg]]></File> <File ArchivedPath="d:/ymir work/uiloading/loading2.jpg" Type="2"><![CDATA[uiloading/loading2.jpg]]></File> <File ArchivedPath="d:/ymir work/uiloading/loading3.jpg" Type="2"><![CDATA[uiloading/loading3.jpg]]></File> <File ArchivedPath="d:/ymir work/uiloading/loading4.jpg" Type="2"><![CDATA[uiloading/loading4.jpg]]></File> <File ArchivedPath="d:/ymir work/uiloading/loading5.jpg" Type="2"><![CDATA[uiloading/loading5.jpg]]></File> <File ArchivedPath="d:/ymir work/uiloading/loading6.jpg" Type="2"><![CDATA[uiloading/loading6.jpg]]></File> <File ArchivedPath="d:/ymir work/uiloading/loading7.jpg" Type="2"><![CDATA[uiloading/loading7.jpg]]></File> </CreateEterPack> </ScriptFile>
Example XML: Create a Type 3 (Panama) file. IvPath contains the path to a 32 byte file that will be used as key. Obviously, you should not share this file. This encryption requires a server part which is explained below.<ScriptFile> <CreateEterPack ArchivePath="../bin/pack/metin2_mypatch" IvPath="iv/mypatch.iv"> <File ArchivedPath="d:/ymir work/pc/assassin/assassin_5_1.gr2" Type="3"><![CDATA[pc/assassin/assassin_5_1.gr2]]></File> <File ArchivedPath="d:/ymir work/pc/assassin/assassin_5_1.dds" Type="3"><![CDATA[pc/assassin/assassin_5_1.dds]]></File> <File ArchivedPath="d:/ymir work/pc/assassin/assassin_5_1_lod_01.gr2" Type="3"><![CDATA[pc/assassin/assassin_5_1_lod_01.gr2]]></File> <File ArchivedPath="d:/ymir work/pc/assassin/assassin_5_1_lod_02.gr2" Type="3"><![CDATA[pc/assassin/assassin_5_1_lod_02.gr2]]></File> <File ArchivedPath="d:/ymir work/pc/assassin/assassin_5_1_lod_03.gr2" Type="3"><![CDATA[pc/assassin/assassin_5_1_lod_03.gr2]]></File> </CreateEterPack> </ScriptFile>
Panama encryption: serverside setup
Once you have your Panama encrypted packs, you need to upload the keys to auth/panama along with a text file called panama.lst containing a list of files to be decrypted with their respective key file, separated by tabs.
Example panama.lst file:pack/mypatch mypatch.iv pack/terrainmaps terrainmaps.iv pack/tree tree.iv
Caveats: you can not encrypt the root with panama. Also, if a pack encrypted with panama contains armors or hairstyles, these may not appear in the character selection screen.
FileArchiver_Proto (r2806)
This tool also takes an xml file as parameter and is intended to read and write clientside item_proto and mob_proto files.
Example XML: Read a clientside, packed item_proto and write it to to a xml file<ScriptFile> <ReadItemProto ItemProtoPath="item_proto" OutputPath="item_proto.xml" /> </ScriptFile>
Example XML: Write back, once edited, our XML file as a packed item_proto file.<ScriptFile> <WriteItemProto ItemProtoPath="item_proto" InputPath="item_proto.xml" /> </ScriptFile>
Now for the mob_proto (Only use the Proto archiver for this one!!!):
To extract it from the client use this XML<ScriptFile> <mob_proto_extract path="mob_proto" output="mob_proto.xml" /> </ScriptFile>
To pack it back use this one:<ScriptFile> <mob_proto_create path="mob_proto.xml" output="mob_proto_edited" /> </ScriptFile>
For questions and comments, you can post in this same thread.- 60
- 3
- 1
- 1
- 4
- 36
- 8
- 74
-
In the name of the forum administration team, I would like to give you a warm welcome to metin2dev.
You may ask, what makes this forum different from others?
Many communities have been built around the subject of modifications for Ymir's Metin2. However, truly original and groundbreaking releases are often found mixed with others that are ripped, or of little value. A famous german forum even managed to gather a small non-german community around it, yet no real attempt was yet made to put germans, spanish, polish, turkish, romanians..., all the Metin2 lovers around the world, in contact with each other.
Therefore, the goal of metin2dev is to gather that part of the global Metin2 scene that is primarily interested in game design or development -leaving subjects such as cheats or hacking out of the scope of this community- and to give its deserved value, once again, to the efforts of the artists and programmers that really make a difference showing us skills that, sometimes, outshine that of reputed game publishers. Metin2dev is, to sum it up, a forum made by creators for creators.
We welcome you, once again, to showcase your work, offer your services or provide help to others in this new community, or even become part of our moderator team if you are a forum junkie. Please note we are still setting up everything and some things may not work as intended. In such case, please drop InyaProductions, Martin or Chuck a PM.
Kind regards,
The metin2dev administration team
- 10
-
priv_empire?/priv_empirewhere type is 1:expfrog?/frog (1 2 3)Spawn a Gold Frog during Siege War. Mob drops 10m gold.weakenGM_GODNO ARGReduce Hp of all nearby mobs to 1itemGM_GOD/item /itemcreate an itemadvanceGM_GOD/advanceset player level to valuserGM_HIGH_WIZARDNOARGlists all user in the current corenoticeGM_HIGH_WIZARD/noticebroadcast a notice to all servereventflagGM_HIGH_WIZARD/eventflagset event flagmobGM_HIGH_WIZARD/mob
/mob
spawn a mobmaGM_HIGH_WIZARD/maspawn an agressive mobmcGM_HIGH_WIZARD/mcspawn a coward mobmmGM_HIGH_WIZARD/mmspawn a mob in a random placekillGM_HIGH_WIZARD/killkill a playeripurgeGM_HIGH_WIZARDNO ARGpurge a item in my invertorygroupGM_HIGH_WIZARD/groupspawn a mob groupgrrandomGM_HIGH_WIZARD/grrandomspawn a random groupresetGM_HIGH_WIZARDNO ARGset player HP and SP to normal stateshutdownGM_HIGH_WIZARDNO ARGshutdown all servermakeguildGM_HIGH_WIZARD/makeguildcreate a guild for testdeleteguildGM_HIGH_WIZARDNO ARGdelete guildsetskillotherGM_HIGH_WIZARD/setskillotherset specified character's skill levelcooltimeGM_HIGH_WIZARDNO ARGmake a character who have no skill cooltimepolyitemGM_HIGH_WIZARD/polyitemcreate a polymorph item(70104) for polymorph to vnumxmas_boomGM_HIGH_WIZARDNO ARGmake it eclipse. And spawn event helperxmas_snowGM_HIGH_WIZARDNO ARGlet it snowxmas_santaGM_HIGH_WIZARDNO ARGspawn a santablock_chatGM_HIGH_WIZARD/jyblock character chating time: add to h, m, s with number. Ex> 10m for 10 minutesblock_chat_listGM_HIGH_WIZARDNO ARGdisplay blocked character listhorse_stateGM_HIGH_WIZARDNO ARGdisplay my horse informationhorse_levelGM_HIGH_WIZARD/horse_levelset character's horse levelhorse_rideGM_HIGH_WIZARDNO ARGtoggle horse ridehorse_summonGM_HIGH_WIZARDNO ARGsummon my horsehorse_unsummonGM_HIGH_WIZARDNO ARGsend back horsehorse_set_statGM_HIGH_WIZARD/horse_set_statset my horse statereset_subskillGM_HIGH_WIZARD/reset_subskillreset character's sub skill levelseclipseGM_HIGH_WIZARD/eclipsemake it eclipse0: not eclipse mode 1: eclipse mode
whoGM_IMPLEMENTORNO ARGprint user count statesetGM_IMPLEMENTOR/setset player attribute.Field: gold, exp, max_hp, max_sp, aligment
bookGM_IMPLEMENTOR/book/book
create a book for specifed skillrefine_rodGM_IMPLEMENTOR/refine_rodrefine my rod to val levelrefine_pickGM_IMPLEMENTOR/refine_pickrefine my pick to val levelmax_pickGM_IMPLEMENTOR/max_pickchange my pick at inventory pos to max levelfish_simulGM_IMPLEMENTOR/fish_simulsimulate fish probability.Prob_idx: 1~4
setskillpointGM_IMPLEMENTOR/setskillpointset characters skill pointreloadGM_IMPLEMENTOR/reloadreload server settings.u: Reloading state_user_count
p: Reloading prototype tables
s: Reloading notice string
q: Reloading quest
f: Reloading fishing
a: Reloading Admin information
c: Reloading Blending Cube
mount_testGM_IMPLEMENTOR/mount_testmount to vnum (not all vnum can ride)observerGM_IMPLEMENTORNO ARGtoggle observer modesocketitemGM_IMPLEMENTOR/socketitemcreate a item that have socketchange_attrGM_IMPLEMENTORNO ARGchange weapon's attributeadd_attrGM_IMPLEMENTORNO ARGadd a attribute to weaponadd_socketGM_IMPLEMENTORNO ARGadd a socket to weaponwarpGM_LOW_WIZARD/warp/warp
warp to character or map pos(global coordinate)notice_mapGM_LOW_WIZARD/motice_mapbroadcast a notice message to a Map which is GM connected todcGM_LOW_WIZARD/dcforce disconnect a player.transferGM_LOW_WIZARD/transferbring a player to GMgotoGM_LOW_WIZARD/gotowarp to local map position(local coordinate)levelGM_LOW_WIZARD/levelset GM level togeteventflagGM_LOW_WIZARDNO ARGlists event flag to chat windowconsoleGM_LOW_WIZARDNO ARGenable a client debug modestat_resetGM_LOW_WIZARDNO ARGreset character state pointstateGM_LOW_WIZARD/state #/state
/state display a character stateinvisibleGM_LOW_WIZARDNO ARGtoggle invisiable modesetskillGM_LOW_WIZARD/setskillset my skill levelgwlistGM_LOW_WIZARDNO ARGdisplay guild war listgwstopGM_LOW_WIZARD/gwstopstop guild war between id1 and id2 forcelygwcancelGM_LOW_WIZARD/gwcancelcancel guild war between id1 and id2 forcelygstateGM_LOW_WIZARD/gstatedisplay guild stategetqfGM_LOW_WIZARDNO ARG/getqf
display character's quest flagsetqfGM_LOW_WIZARD/setqf/setqf
set character's quest flagdelqfGM_LOW_WIZARD/delqf/delqf []
delete character's quest flagforgetmeGM_LOW_WIZARDNO ARGmonsters that attack me will not attackaggregateGM_LOW_WIZARDNO ARGnear monsters will attack meattract_rangerGM_LOW_WIZARDNO ARGrange attack monsters will attack mepull_monsterGM_LOW_WIZARDNO ARGpull monster to mepolymorphGM_LOW_WIZARD/polymorphpolymorph to vnumshow_arena_listGM_LOW_WIZARDNO ARGlists arenaend_all_duelGM_LOW_WIZARDNO ARGstops all arena duelend_duelGM_LOW_WIZARD/end_duelstops specificed name's duelduelGM_LOW_WIZARD/duelstarts duel betweencon+GM_LOW_WIZARD/con+add con state pointint+GM_LOW_WIZARD/int+add int state pointstr+GM_LOW_WIZARD/str+add str state pointdex+GM_LOW_WIZARD/dex+add dex state pointbreak_marriageGM_LOW_WIZARD/break_marriagebreak marriage and forcelyopen_oxeventGM_LOW_WIZARDNO ARGstart ox quiz eventclose_oxevent_doorGM_LOW_WIZARDNO ARGstop user enter to ox quiz eventend_oxeventGM_LOW_WIZARDNO ARGend current ox quiz eventend_oxevent_forceGM_LOW_WIZARDNO ARGend current ox quiz event forcestart_quizGM_LOW_WIZARDNO ARGdisplay a ox quiz.show_quizGM_LOW_WIZARDNO ARGlists loaded current ox quizlog_oxeventGM_LOW_WIZARDNO ARGlog current attended ox quiz user.get_oxevent_attGM_LOW_WIZARDNO ARGcounts current attend usergive_item_to_attGM_LOW_WIZARD/give_item_to_attgive item to attend usereffectGM_LOW_WIZARD/effectshow effectthreeway_infoGM_LOW_WIZARDNO ARGshow threeway war infothreeway_myinfoGM_LOW_WIZARDNO ARGshow threeway war info of minesiegeGM_LOW_WIZARD/siegestart or stop siege war. When siege war is running, re-type/sige will be stop current war.
Empire num
0: random empire 1-3: specific empire tower count 5-10
ungroupGM_PLAYERNO ARGquit from partyclose_shopGM_PLAYERNO ARGclose my private shopset_walk_modeGM_PLAYERNO ARGmake player walkset_run_modeGM_PLAYERNO ARGmake player runbuildGM_PLAYER/build rclear land and land ownerkissGM_PLAYERNO ARGemotionslapGM_PLAYERNO ARGemotionfrench_kissGM_PLAYERNO ARGemotionclapGM_PLAYERNO ARGemotioncheer1GM_PLAYERNO ARGemotioncheer2GM_PLAYERNO ARGemotiondance1GM_PLAYERNO ARGemotiondance2GM_PLAYERNO ARGemotiondance3GM_PLAYERNO ARGemotiondance4GM_PLAYERNO ARGemotiondance5GM_PLAYERNO ARGemotiondance1GM_PLAYERNO ARGemotiondance2GM_PLAYERNO ARGemotiondance3GM_PLAYERNO ARGemotiondance4GM_PLAYERNO ARGemotiondance5GM_PLAYERNO ARGemotioncongratulationGM_PLAYERNO ARGemotionforgiveGM_PLAYERNO ARGemotionangryGM_PLAYERNO ARGemotionattractiveGM_PLAYERNO ARGemotionsadGM_PLAYERNO ARGemotionshyGM_PLAYERNO ARGemotioncheerupGM_PLAYERNO ARGemotionbanterGM_PLAYERNO ARGemotionjoyGM_PLAYERNO ARGemotionuser_horse_rideGM_PLAYERNO ARGtoggle horse rideuser_horse_backGM_PLAYERNO ARGsend back horseuser_horse_feedGM_PLAYERNO ARGfeed horsemtoGM_PLAYER/mtowarp to character. Empire Lord only can use this commandmtrGM_PLAYER/mtrtransfer character to me. Empire Lord only can use this commandminfoGM_PLAYERNO ARGdisplay Empire information. Empire Lord only can use this commandmtaxGM_PLAYER/mtaxset trade tax for my empire. Empire Lord only can use this commandmmobGM_PLAYER/mmobsummon a monster.Summonable monster vnum
191, 192, 193, 194, 391, 392, 393, 394, 491, 492, 493, 494, 591,691, 791, 1091, 1304, 1901, 2091, 2191, 2206mnoticeGM_PLAYER/mnoticebroadcast a notice to my empire. Empire Lord only can use this commandpurgeGM_WIZARD/purge allpurge all npc and mob near to GMrespawnGM_WIZARD/respawn all/respawn
respawn all mob or near mob- 1
- 24
-
Hi everyone,
Here's a rework of the Ymir Guildzone maps. It was done without World Editor.
Spoiler
Technical details:
- All textures are 1024x1024 and made by me (except a few of the original YMIR textures that I kept) using Paint.NET
- Shrubs are imported from TES:Oblivion and resized/recolored to match the Metin2 size and palette.
- A skybox is included, this requires a recent client to work. It was also converted by me from free sources.
- Heightmap is unchanged as this is no easy task to do currently with an already existing heightmap.- 7
- 2
- 1
- 1
- 1
- 24
MySQL Backup Script + FTP
in Operating Systems
Posted
wow
such script
so backup!