Geçen Yaz Urfada İsot Tarlasında İsot yerken O Anda Aklıma Gelip Yaptıgım Fixler Buda Size Son Kıyagım
Server repo details
At request, my clients can also receive:
Metin2 Lobby'da Dikkat_Sama Source ve C.Source Kavramları
Dikkat_Sama Source Nedir?
Metin2 özel sunucu geliştirme dünyasında, Dikkat_Sama Source oldukça popüler ve kapsamlı bir kaynak kod paketi olarak bilinir. Bu kaynak kodlar, özellikle Metin2 PvP sistemlerinin geliştirilmesinde temel alınan güçlü altyapılardan biridir. Sistemlerin hem stabilitesi hem de gelişmiş özellikleri açısından dikkat çeker. Dikkat_Sama, Metin2 server src dosyalarını düzenlemek isteyen geliştiriciler için geniş bir altyapı sunar. Bu altyapı, auth, game, db gibi temel yapıları barındırır ve geliştiricilere birçok olanak sağlar.
C.Source Nedir?
C.Source, genellikle Metin2 server geliştirme sürecinde kullanılan C++ tabanlı kaynak kodları ifade eder. Bu kodlar doğrudan sunucu çekirdeğini oluşturur ve oyun mekaniklerinin işleyişinde kritik rol oynar. C++ system olarak da bilinen bu yapı, server src düzenlemelerinde esneklik sağlar. Oyun içindeki tüm sistemlerin kontrolü, bu C.Source üzerinden sağlanır. Bu nedenle, doğru şekilde optimize edilmiş bir C.Source, Metin2 özel sunucularının stabilitesi ve performansı için büyük önem taşır.
Python Entegrasyonu ve GUI Kullanımı
Metin2 özel sunucu geliştirme sürecinde Python dili de önemli bir yere sahiptir. Özellikle Py GUI ve Python GUI sistemleri, arayüz geliştirmeleri için tercih edilir. Py Root dosyaları, oyun içi arayüzlerin ve sistemlerin yapılandırılmasında kullanılır. Uiscript ise bu yapıların görsel bileşenlerini tanımlamada yardımcı olur. Python script'lerin doğru entegrasyonu, kullanıcı deneyimini ciddi anlamda artırabilir. Bu sistemlerle birlikte, Metin2 özel sunucularında daha modern ve etkileşimli arayüzler oluşturulabilir.
Martysama ve Geliştirme Süreci
Martysama, Metin2 özel sunucu geliştirme alanında önemli bir figürdür. Onun katkılarıyla ortaya çıkan kaynak kodlar, özellikle C++ ve Python tabanlı sistemlerde birçok geliştirici tarafından kullanılmaktadır. Martysama'nın kaynak kodları, Metin2 development süreçlerinde örnek alınır. Bu altyapılar sayesinde, Metin2 özel sunucularında hem stabil hem de gelişmiş sistemler kurulabilir. Martysama'nın sunduğu yapılar, özellikle PvP sistemlerinin kurulumunda büyük kolaylık sağlar.
DB ve Game Sunucu Yapıları
Metin2 özel sunucularında DB (veritabanı) ve Game sunucuları, sistemin en kritik bileşenlerindendir. Doğru yapılandırılmış bir DB core, oyun içindeki tüm verilerin tutarlı ve hızlı bir şekilde işlenmesini sağlar. Game core ise oyun mantığını ve olay akışlarını yönetir. Bu iki yapı birlikte çalışarak, Metin2 özel sunucularında sorunsuz bir oyun deneyimi sunar. DB core ve Game core'un doğru entegrasyonu, Metin2 özel sunucularının uzun ömürlü ve stabil olmasında anahtar rol oynar.
Compile ve Source Edit İşlemleri
Metin2 özel sunucu geliştirme sürecinde, kaynak kodların derlenmesi (compile) büyük önem taşır. Compile işlemi, yazılan C++ veya Python kodlarının çalıştırılabilir hale gelmesini sağlar. Source edit işlemleri ise, mevcut kodları istenilen şekilde düzenlemek ve özelleştirmek için yapılır. Bu işlemler sırasında dikkat edilmesi gereken birçok detay vardır. Yanlış bir düzenleme, sunucunun çökmesine neden olabilir. Bu nedenle, compile ve source edit işlemleri, tecrübeli geliştiriciler tarafından yapılmalıdır.
Client Src ve Paketleme İşlemleri[/BR]Client src, Metin2 oyununun istemci tarafındaki yapıyı temsil eder. Bu yapı, oyunun istemcide nasıl görüneceğini ve hangi özelliklerin aktif olacağını belirler. Client src üzerinde yapılan düzenlemeler, oyuncuların gördüğü grafiksel arayüzü ve bazı sistemleri etkiler. Paketleme (pack) işlemleri ile bu değişiklikler oyuna entegre edilir. Client src üzerinde yapılan başarılı düzenlemeler, Metin2 özel sunucularında farklı bir deneyim sunabilir.
Attention_Sama Source and C.Source on Metin2 Lobby
What is Attention_Sama Source?[/BR]In the world of Metin2 private server development, Attention_Sama Source is known as a popular and comprehensive source code package. These source codes provide a strong foundation especially for developing Metin2 PvP systems. The stability and advanced features of these systems attract attention. Attention_Sama offers a broad infrastructure for developers who want to edit Metin2 server src files. This infrastructure includes fundamental structures such as auth, game, and db, providing many opportunities to developers.
What is C.Source?[/BR]C.Source generally refers to C++ based source codes used during Metin2 server development. These codes directly form the core of the server and play a critical role in how game mechanics function. Known also as C++ system, this structure provides flexibility when editing server src. All controls over the game systems inside the game are handled through this C.Source. Therefore, a well-optimized C.Source is vital for the stability and performance of Metin2 private servers.
Python Integration and GUI Usage[/BR]In the process of Metin2 private server development, the Python language also holds significant importance. Specifically, Py GUI and Python GUI systems are preferred for interface improvements. Py Root files are used to configure in-game interfaces and systems. Meanwhile, Uiscript helps define the visual components of these structures. Correct integration of Python scripts can significantly enhance user experience. With these systems, more modern and interactive interfaces can be created in Metin2 private servers.
Martysama and Development Process[/BR]Martysama is an important figure in the field of Metin2 private server development. Source codes developed with his contributions are widely used by many developers in C++ and Python-based systems. The infrastructures provided by Martysama serve as examples in Metin2 development processes. Thanks to these infrastructures, stable and advanced systems can be established in Metin2 private servers. The structures provided by Martysama particularly facilitate the setup of PvP systems.
DB and Game Server Structures[/BR]In Metin2 private servers, DB (database) and Game servers are among the most critical components of the system. A correctly configured DB core ensures all in-game data is processed consistently and quickly. The Game core manages game logic and event flows. Together, these two structures provide a seamless gaming experience in Metin2 private servers. The correct integration of DB core and Game core plays a key role in ensuring Metin2 private servers are long-lasting and stable.
Compile and Source Edit Operations[/BR]In the process of Metin2 private server development, compiling the source codes (compile) is highly important. The compilation process turns written C++ or Python codes into executable forms. Source edit operations involve modifying existing codes according to desired customizations. There are many details to consider during these operations. An incorrect edit may cause the server to crash. Therefore, compile and source edit operations should be performed by experienced developers.
Client Src and Packaging Operations[/BR]Client src represents the client-side structure of the Metin2 game. This structure determines how the game appears to players and which features are active. Modifications made on the Client src affect the graphical interface and some systems seen by players. Through packaging (pack) operations, these modifications are integrated into the game. Successful edits on the Client src can offer a unique experience in Metin2 private servers.
Server repo details
- <li data-xf-list-type="ol">Compilable on both Windows (Debug/Release) and Freebsd (deps static linked) <li data-xf-list-type="ol">Fixed all the warnings you could have compiling with the default gcc version <li data-xf-list-type="ol">List of fixes: (the full explanation is written in the README.txt)
- <li data-xf-list-type="ol">SAMLL typo in mob proto <li data-xf-list-type="ol">invalid_server_log query syntax error <li data-xf-list-type="ol">/war -1 bug crash <li data-xf-list-type="ol">ClientCheckVersion comparing issue (int<> to string now) <li data-xf-list-type="ol">Status Point stopped increasing to level 90 issue <li data-xf-list-type="ol">the korean commands have been disabled <li data-xf-list-type="ol">Full-Speeded player will not warp you back when using mounts like lion <li data-xf-list-type="ol">Absorb HP/MP issue (the one which decreases the gauge instead of increases it) <li data-xf-list-type="ol">Entities disappearing when mounting many mounts or not existent ones <li data-xf-list-type="ol">Double triggering of “when kill begin” when you kill a player <li data-xf-list-type="ol">The semi-transparent affect not disappearing when attacking (when reviving or using ninja hidden skill) <li data-xf-list-type="ol">Bonus changing on equipped items issue <li data-xf-list-type="ol">Stone changing on equipped items issue <li data-xf-list-type="ol">Refine Scrolls using (et similia) on equipped items issue <li data-xf-list-type="ol">Drop Hack bug about party detection <li data-xf-list-type="ol">Normal horse skills couldn’t inflict damage <li data-xf-list-type="ol">You couldn’t swap equipment when inventory is full <li data-xf-list-type="ol">Gaining as many hp/mp as many you have on your equipment when refreshing stuff issue <li data-xf-list-type="ol">Losing of hp/mp increased via affect when refreshing stuff issue <li data-xf-list-type="ol">Negative hp/mp when greater than 32767 issue <li data-xf-list-type="ol">item movable from mall/safebox to belt inventory w/o checking the real type issue (potion check bypass) <li data-xf-list-type="ol">few packet IDs were not checked <li data-xf-list-type="ol">refine scroll item value 1 check error <li data-xf-list-type="ol">sub type 24 check bug (the condition could never be true) <li data-xf-list-type="ol">missing check on 6-7 add/change items about costume stuff <li data-xf-list-type="ol">dungeon regen pointing to a dangling pointer <li data-xf-list-type="ol">disband and withdraw guild time limit problem if player is offline <li data-xf-list-type="ol">lovepoints overflow issue <li data-xf-list-type="ol">affect hack at login <li data-xf-list-type="ol">/cube r_index bug crash <li data-xf-list-type="ol">all the new mounts can now attack and/or inflict skill damage if they should (like official) <li data-xf-list-type="ol">unsummoning azrael pets out of dungeons won’t decrease the relative “ghost” bonuses anymore <li data-xf-list-type="ol">messenger_auth flood hack <li data-xf-list-type="ol">sync packets sendable to everyone hack <li data-xf-list-type="ol">wrong checks on normal chat buf <li data-xf-list-type="ol">pc.mount_bonus bypass checks issue <li data-xf-list-type="ol">random crashes if mob’s hp is 0 <li data-xf-list-type="ol">now, when a player dies, his HP will be set as 0 instead of having a negative number <li data-xf-list-type="ol">now, the passwords are hashed before being processed (preventing password stealing from server) <li data-xf-list-type="ol">memory leak fix about CShopEx <li data-xf-list-type="ol">belt unequip if its inventory isn’t empty fix <li data-xf-list-type="ol">items in belt inventory usable even if the slot is disabled fix <li data-xf-list-type="ol">sql injection fix about net.SendMessengerRemovePacket <li data-xf-list-type="ol">sql injection fix about net.SendAnswerMakeGuildPacket <li data-xf-list-type="ol">map/index crash if it has no newline in the end fix <li data-xf-list-type="ol">guild_add_member exploit fix <li data-xf-list-type="ol">player.myshop_pricelist corrupted data fix <li data-xf-list-type="ol">myshop_pricelist primary key duplication error fix <li data-xf-list-type="ol">ramadan candy item could be used even if the relative affect is still up <li data-xf-list-type="ol">type quest, special, attr not handled in ConvSpecialDropItemFile (doing /special_item, special_item_group_vnum.txt will be now generated perfectly) <li data-xf-list-type="ol">prevent item module swapping if the quest is suspended (important!) <li data-xf-list-type="ol">incomplete refine pct for specific scrolls fix <li data-xf-list-type="ol">wrong socket checking for the mount seals fix <li data-xf-list-type="ol">no kill counts for players over lvl99 in the empire war fix <li data-xf-list-type="ol">all_skill_master skill level overflow fix <li data-xf-list-type="ol">ram exploit fix <li data-xf-list-type="ol">another doubling affect fix <li data-xf-list-type="ol">the ox attender list wasn’t cleared after restarting the ox event <li data-xf-list-type="ol">Others are made configurable via define preprocessor
- <li data-xf-list-type="ol">DB <li data-xf-list-type="ol">ENABLE_DEFAULT_PRIV // enable default priv loading from common.priv_settings <li data-xf-list-type="ol">ENABLE_ITEMAWARD_REFRESH // enable a select query every 5 seconds into player.item_award <li data-xf-list-type="ol">ENABLE_PROTO_FROM_DB // enable PROTO_FROM_DB conf.txt feature (vnum_range works fine too) // enable MIRROR2DB conf.txt feature <li data-xf-list-type="ol">ENABLE_AUTODETECT_VNUMRANGE // if protos are loaded from db, it will automatically detect the vnum range for ds items without requiring an extra vnum_range field <li data-xf-list-type="ol">GAME <li data-xf-list-type="ol">ENABLE_D_NJGUILD // enable d.new_jump_all_guild+cpp relative functions <li data-xf-list-type="ol">ENABLE_QUEST_CATEGORY // enable quest category+new packet types (unimplemented) <li data-xf-list-type="ol">ENABLE_NEWSTUFF // enable new stuff (new lua funcs, new CONFIG options, ecc) <li data-xf-list-type="ol">ENABLE_LIMIT_TIME // enable game timestamp expiration <li data-xf-list-type="ol">ENABLE_NEWGUILDMAKE // enable pc.make_guild0 and disable CInputMain::AnswerMakeGuild <li data-xf-list-type="ol">ENABLE_CMD_PLAYER // enable PLAYER grade inside CMD <li data-xf-list-type="ol">ENABLE_IMMUNE_PERC // enable 90% of success instead of 100% regarding immunes (antistun/slow/fall) <li data-xf-list-type="ol">ENABLE_IMMUNE_FIX // fix immune bug where you need to equip shield at last <li data-xf-list-type="ol">ENABLE_SPAMDB_REFRESH // enable a select query every 10 minutes into common.spam_db <li data-xf-list-type="ol">ENABLE_TRANSLATE_LUA // enable translate.lua loading <li data-xf-list-type="ol">ENABLE_LOCALECHECK_CHANGENAME // enable check that unable change name on Europe Locales <li data-xf-list-type="ol">ENABLE_PC_OPENSHOP // enable pc.open_shop0(idshop) but buy/sell not work yet <li data-xf-list-type="ol">ENABLE_SHOP_BLACKLIST // enable ignore 70024 (Blessing Marble) and 70035 (Magic Copper Ore) in npcshop <li data-xf-list-type="ol">ENABLE_STATPLUS_NOLIMIT // disable only 90 points for con+/int+/str+/dex+ commands <li data-xf-list-type="ol">ENABLE_FORCE2MASTERSKILL // skill always pass to m1 when b17 instead of b(number(17-20)) <li data-xf-list-type="ol">ENABLE_MOUNTSKILL_CHECK // check whether horse mount vnum should be checked when skilling <li data-xf-list-type="ol">ENABLE_NULLIFYAFFECT_LIMIT // sura skill 66 won’t nullify players with level < or > of yours by 9 <li data-xf-list-type="ol">NEW_ICEDAMAGE_SYSTEM // add new system for nemere dungeon and so on (the one where only ninja/shaman or buffed players could attack specific mobs) <li data-xf-list-type="ol">ENABLE_SHOWNPCLEVEL // show Lv %d level even for NPCs (not applicable on mob/stone/warp) <li data-xf-list-type="ol">ENABLE_PARTYKILL // re-enable PartyKill <li data-xf-list-type="ol">ENABLE_ACCOUNT_W_SPECIALCHARS // enable special characters in account names (account.account.login) <li data-xf-list-type="ol">ENABLE_CHAT_SPAMLIMIT // limit chat spam to 4 messages for 5 seconds, if you spam it for 10 times, you’ll be disconnected! <li data-xf-list-type="ol">ENABLE_WHISPER_CHAT_SPAMLIMIT // limit whisper chat to 10 messages per 5 seconds, otherwise you’ll be disconnected! <li data-xf-list-type="ol">ENABLE_CHAT_COLOR_SYSTEM // enable chat colors based on IsGm or GetEmpire (+colored empire name) <li data-xf-list-type="ol">ENABLE_FIREWORK_STUN // enable stun affect when using firework items <li data-xf-list-type="ol">ENABLE_ADDSTONE_FAILURE // enable add stone failure <li data-xf-list-type="ol">ENABLE_EXPTABLE_FROMDB // read the exp table from the db <li data-xf-list-type="ol">ENABLE_NEWEXP_CALCULATION // recalculate exp rate so you won’t get random negative exp/marriage points <li data-xf-list-type="ol">ENABLE_CHAT_LOGGING // enable chat logging (which saves all the gm chats) <li data-xf-list-type="ol">ENABLE_EFFECT_EXTRAPOT // enable extrapot effects when using green/purple potions <li data-xf-list-type="ol">ENABLE_EFFECT_PENETRATE // enable penetrate effect when performing a penetration <li data-xf-list-type="ol">ENABLE_BOOKS_STACKFIX // enable stackable books instead of remove all the pile <li data-xf-list-type="ol">ENABLE_PLAYER_PER_ACCOUNT5 // enable 5 characters (per account) in the select phase (instead of 4) <li data-xf-list-type="ol">ENABLE_PORT_SECURITY // block db_port, p2p_port, and remote adminpage exploits <li data-xf-list-type="ol">MAP_ALLOW_LIMIT <int> // define how many maps are allowed per game core (default 32) <li data-xf-list-type="ol">ENABLE_BLOCK_CMD_SHORTCUT // if enabled, people won’t be able to shorten commands <li data-xf-list-type="ol">ENABLE_FULL_NOTICE // enable new big notice features <li data-xf-list-type="ol">ENABLE_ANTI_CMD_FLOOD // limit player’s command execution to 10 commands per second, otherwise it’ll be disconnected! <li data-xf-list-type="ol">ENABLE_QUEST_DIE_EVENT // add quest event “die”
Little sample of the die event:
quest die_sample begin
state start begin
when die with pc.get_gm_level()==5 begin
syschat("die begin")
syschat(pc.get_race())
-- if you "/kill yourself" or die by flame/bleeding/etc, the npc.* won't be available
syschat(npc.is_available0() and npc.get_vnum0() or 0)
syschat("die end")
end
end
end <li data-xf-list-type="ol">ENABLE_CHECK_GHOSTMODE // dead people won’t be able to move <li data-xf-list-type="ol">ENABLE_WOLFMAN_CHARACTER // it enables the wolfman character and its own sub-defines:- <li data-xf-list-type="ol">USE_LYCAN_CREATE_POSITION // if enabled, the lycan will be warped to his own village at character creation <li data-xf-list-type="ol">USE_MOB_BLEEDING_AS_POISON // if enabled, the mob_proto structure won’t change and the bleeding % will be get from the poison field <li data-xf-list-type="ol">USE_MOB_CLAW_AS_DAGGER // if enabled, the mob_proto structure won’t change and the claw % will be get from the dagger field <li data-xf-list-type="ol">USE_ITEM_BLEEDING_AS_POISON // if enabled, the poison reduce bonus can also reduce the bleeding damage as if it’s bleeding reduce itself <li data-xf-list-type="ol">USE_ITEM_CLAW_AS_DAGGER // if enabled, the resist dagger bonus can also reduce the claw damage as if it’s resist claw itself <li data-xf-list-type="ol">USE_WOLFMAN_STONES // if enabled, lycan stones can be dropped from the metin stones <li data-xf-list-type="ol">USE_WOLFMAN_BOOKS // if enabled, lycan skill books can be dropped
//in the GENERAL_CONFIG, all the options are valid except: HOSTNAME, CHANNEL, PLAYER_SQL, COMMON_SQL, LOG_SQL, PORT, P2P_PORT, MAP_ALLOW, AUTH_SERVER, TEEN_ADDR, TEEN_PORT <li data-xf-list-type="ol">ENABLE_OPEN_SHOP_WITH_ARMOR //if enabled, people can open a personal shop with the armor equipped <li data-xf-list-type="ol">ENABLE_MASTER_SKILLBOOK_NO_STEPS //if enabled, you will only need a book to increase a master skill, and not as many as the level-20 <li data-xf-list-type="ol">ENABLE_EXTEND_INVEN_SYSTEM //enable 4 inventory pages <li data-xf-list-type="ol">ENABLE_SET_STATE_WITH_TARGET // enable set_state target as 3rd arg <li data-xf-list-type="ol">ENABLE_WEAPON_COSTUME_SYSTEM // enable weapon costume system <li data-xf-list-type="ol">ENABLE_CMD_IPURGE_EX // /ipurge 2nd arg can remove items from a specific window (inv/equip/ds/belt/all) <li data-xf-list-type="ol">ENABLE_GM_FLAG_IF_TEST_SERVER //show the gm flag if it’s on test server mode <li data-xf-list-type="ol">ENABLE_GM_FLAG_FOR_LOW_WIZARD //show the gm flag for low wizard too <li data-xf-list-type="ol">ENABLE_INFINITE_HORSE_HEALTH_STAMINA // the horse won’t lose health nor stamina <li data-xf-list-type="ol">ENABLE_ITEM_ATTR_COSTUME // it will add costume_body, costume_hair, costume_weapon for item_attr/_rare
So you won’t have differences between we_korea or german except for the charset and the file names (locale/korea <> locale/germany)
You also gained such things: (you can disable ‘em whenever you want; they are catalogued per line)- <li data-xf-list-type="ol">Arena will have an additional potion using check for uncommon values <li data-xf-list-type="ol">You won’t be able to ride the horse in the arena <li data-xf-list-type="ol">No exp check when reading books when you’re already at the maximum level <li data-xf-list-type="ol">The classic notice when a fight between guilds starts. <li data-xf-list-type="ol">A further thing about the limit of attacking people in protect mode
- <li data-xf-list-type="ol">PROTO_FROM_DB = 1/0 // enable/disable item/mob proto loading from db (otherwise, .txt) <li data-xf-list-type="ol">MIRROR2DB = 1/0 // convert .txt protos to .sql ones
- <li data-xf-list-type="ol">ITEM_COUNT_LIMIT <1-250> // you can set the maximum item count (e.g.) to 250 (200 by default) <li data-xf-list-type="ol">DISABLE_SHOP_PRICE_3X // disable the price increase on foreign empires (not disabled by default)
SHOP_PRICE_3X_TAX <0-1> // alternative (1 as default) <li data-xf-list-type="ol">DISABLE_CHANGE_ATTR_TIME // disable bonus switching time limit (not disabled by default)
CHANGE_ATTR_TIME_LIMIT <seconds> // alternative (60 secs as default, 0=disable) <li data-xf-list-type="ol">DISABLE_PRISM_ITEM // disable prism requirement (not disabled by default)
PRISM_ITEM_REQUIRE <0-1> // alternative (1 as default) <li data-xf-list-type="ol">ENABLE_GLOBAL_SHOUT // enable shout as global (not enabled by default)
GLOBAL_SHOUT <0-1> // alternative (0 as default) <li data-xf-list-type="ol">DISABLE_EMOTION_MASK // disable emotion mask requirement (not disabled by default)
EMOTION_MASK_REQUIRE <0-1> // alternative (1 as default) <li data-xf-list-type="ol">ENABLE_BOOTARY_CHECK // enable opening a shop only in village maps (not enabled by default)
BOOTARY_CHECK <0-1> // alternative (0 as default) <li data-xf-list-type="ol">CHECK_VERSION_SERVER <0-1> // set to check the ClientVersion (checked by default) <li data-xf-list-type="ol">CHECK_VERSION_VALUE <STRING> // set the ClientVersion numeric string (1215955205 by default) <li data-xf-list-type="ol">STATUS_POINT_GET_LEVEL_LIMIT <level> // set the maximum level to get status point (default lvl 90) <li data-xf-list-type="ol">STATUS_POINT_SET_MAX_VALUE <int> // set the maximum settable points for status (default 90) <li data-xf-list-type="ol">SHOUT_LIMIT_LEVEL <int> // set the requirement level to use the shout (default 15) <li data-xf-list-type="ol">SHOUT_LIMIT_TIME <int> // set the interval time limit to use the shout (default 15 secs) (commented) <li data-xf-list-type="ol">DB_LOG_LEVEL <0-3> // set which log information to save inside the database log (3 as default) (0=none, 1=fews, 2=many, 3=all) <li data-xf-list-type="ol">ITEM_DESTROY_TIME_AUTOGIVE <0-MAXINT> // set the destroy time for the autogive items (from boxes if inventory is full and so on) spawned (on the ground) (300 as default) <li data-xf-list-type="ol">ITEM_DESTROY_TIME_DROPITEM <0-MAXINT> // set the destroy time for the items dropped by the players (300 as default) <li data-xf-list-type="ol">ITEM_DESTROY_TIME_DROPGOLD <0-MAXINT> // set the destroy time for the gold (yang) dropped by the players (150 as default) <li data-xf-list-type="ol">GM_HOST_CHECK <0-1> // enable the gm host check based on ip (unchecked by default) <li data-xf-list-type="ol">GUILD_INVITE_LIMIT <0-1> // if enabled, the guild can invite new members only after an amount of time (not enabled by default) <li data-xf-list-type="ol">GUILD_INFINITE_MEMBERS <0-1> // if enabled, every guild can have infinite members (not enabled by default) <li data-xf-list-type="ol">EMPIRE_LANGUAGE_CHECK <0-1> // if enabled, you won’t need to read language books or have the relative ring to understand other empires <li data-xf-list-type="ol">SKILLBOOK_NEXTREAD_MIN <int> // set the min value of the next read skill book time (default 28800) <li data-xf-list-type="ol">SKILLBOOK_NEXTREAD_MAX <int> // set the max value of the next read skill book time (default 43200) <li data-xf-list-type="ol">PROXY_IP <ip> // to specify the real ip in which the player will log in (without leaking the public ip); used for servers behind proxies, servers under nat or simply locale/noip/hamachi servers
- <li data-xf-list-type="ol">##pc module <li data-xf-list-type="ol">pc.is_available0() // it checks whether the pc.* functions are available or not [return lua boolean] <li data-xf-list-type="ol">pc.delf(skel, opt) // delete quest flag [return lua boolean: successfulness] <li data-xf-list-type="ol">pc.make_item0({vnum|locale_name, count}, {socket1,2,3}, {type1, value1, … , type7, value7}, gstate(=0: giveitem, 1: dropitem, 2: drop_item_with_leadership)[, countdown_in_secs_before_ownership_vanish(=if <=10 would be 30; default=10->30)]) // master function
Usage:
pc.make_item0({say, 1},{},{},0) --type not valid
pc.make_item0({pc, 1},{},{},0) --type not valid
pc.make_item0({true, 1},{},{},0) --type not valid
pc.make_item0({19, 1},{},{},0) --ok
pc.make_item0({0, 1},{},{},0) --vnum not valid
pc.make_item0({"Runenschwert+9", 1},{},{},0) --ok
pc.make_item0({"Runenschwert+90", 1},{},{},0) --vnum not found
-- complete
pc.make_item0({469, 1}, {27001,27002,27003}, {1,2,3,4,5,6,7,8,9,10,11,12,13,14}, 2, 120) <li data-xf-list-type="ol">pc.pointchange(uint type, int amount, bool bAmount, bool bBroadcast) // same effect of CHARACTER:
ointChange [return nothing] <li data-xf-list-type="ol">pc.pullmob() // same effect of /pull [return nothing] <li data-xf-list-type="ol">pc.select_pid(pc.get_player_id()) // [return lua number: old pid] <li data-xf-list-type="ol">pc.select_vid // alias of pc.select [return lua number: old vid] <li data-xf-list-type="ol">pc.set_level0(level) // same effect of /level <lvl> [return nothing] <li data-xf-list-type="ol">pc.set_gm_level(); instead of /reload a (note: this only refresh gm privileges if you already are gm on common.gm[host|list]) [return nothing] <li data-xf-list-type="ol">pc.is_flag_fire(), pc.is_flag_invisible(), pc.is_flag_poison(), pc.is_flag_slow(), pc.is_flag_stun(), pc.is_flag_bleeding() // is_flag [return lua boolean] <li data-xf-list-type="ol">pc.set_flag_fire(bool), pc.set_flag_invisible(bool), pc.set_flag_poison(bool), pc.set_flag_slow(bool), pc.set_flag_stun(bool), pc.set_flag_bleeding(bool) // set_flag [return nothing] <li data-xf-list-type="ol">pc.set_flag_kill(player_name) // same effect of /kill <nick> [return nothing] <li data-xf-list-type="ol">pc.set_flag_dead() // kill themselves [return nothing] <li data-xf-list-type="ol">pc.get_exp_level(level) // get needed exp for <level> level [return: lua number] <li data-xf-list-type="ol">pc.get_exp_level0(level, perc) // get needed exp for <level> level / 100 * perc [return: lua number] <li data-xf-list-type="ol">pc.set_max_health() // same as /reset [return nothing] <li data-xf-list-type="ol">pc.get_ip0() // get player ip [return lua string] <li data-xf-list-type="ol">pc.get_client_version0() // get player client version [return lua string] <li data-xf-list-type="ol">pc.dc_delayed0(secs) // crash a player after x secs [return lua boolean: successfulness] <li data-xf-list-type="ol">pc.dc_direct0(player_name) // crash the <nick> player [return nothing] <li data-xf-list-type="ol">pc.is_trade0() // get if player is trading [return lua boolean] <li data-xf-list-type="ol">pc.is_busy0() // get if player is “busy” (if trade, safebox, npc/myshop, cube are open) [return lua boolean] <li data-xf-list-type="ol">pc.is_arena0() // get if player is in arena [return lua boolean] <li data-xf-list-type="ol">pc.is_arena_observer0() // get if player is in arena as observer [return lua boolean] <li data-xf-list-type="ol">pc.equip_slot0(cell) // [return lua boolean: successfulness] <li data-xf-list-type="ol">pc.unequip_slot0(cell) // [return lua boolean: successfulness] <li data-xf-list-type="ol">pc.open_shop0(id_shop) // buy/sell won’t work on it [return nothing] <li data-xf-list-type="ol">pc.make_guild0(guild_name) // it returns few state values which you can manage via lua [return lua number]
Usage:
local ret = pc.make_guild0(guild_name)
if ret==-2 then
say_reward("[NO] guild name is invalid (strlen &lt;2 or &gt;11!)")
elseif ret==-1 then
say_reward("[NO] guild name is invalid (special chars found!)")
elseif ret==0 then
say_reward("[NO] guild not created (guild name already present or already member of a guild)")
elseif ret==1 then
say_reward("[YES] guild created")
elseif ret==2 then
say_reward("[NO] player already part of a guild")
elseif ret==3 then
say_reward("[NO] player already guild master")
end <li data-xf-list-type="ol">pc.set_race0(race=[0. Warrior, 1. Ninja, 2. Sura, 3. Shaman, 4. Lycan]) // [return nothing] <li data-xf-list-type="ol">pc.give_random_book0([race]) // it gives a random skill book; if race is specified, the book will be for such race // [return nothing] <li data-xf-list-type="ol">pc.give_item2_with_dice // like give_item2 but with dice roll check if player is in a party [return lua number=item id] <li data-xf-list-type="ol">pc.is_pvp0() // returns true if the player is on pvp [return boolean] <li data-xf-list-type="ol">pc.getf2(“quest.flag”) // returns the quest’s flag’s value [return lua number] <li data-xf-list-type="ol">pc.setf2(“quest.flag”, value) // set the quest’s flag’s value to the specified value [return nothing] <li data-xf-list-type="ol">##d module <li data-xf-list-type="ol">d.is_available0() // it checks whether the d.* functions are available or not [return lua boolean] <li data-xf-list-type="ol">d.new_jump_all_guild(map_index, x, y) // [return nothing]
d.new_jump_guild // alternative <li data-xf-list-type="ol">// for nemere dungeon and other implementations (I’ll show you how it works at requested; it accepts more flags simultaneously)
// It can even let you create mobs attackable only by females/males/mix races and/or by hidden/poisoned/buffed players and so on for all the affects and races
// It works fine with both d.spawn_mob and spawn_mob0
d.set_damage_from_race(flag, vid) // [return nothing]
d.set_damage_from_affect(flag, vid) // [return nothing]
d.reset_damage_from_race(vid) // [return nothing]
d.reset_damage_from_affect(vid) // [return nothing]
Usage:
local vid = spawn_mob0(101, pc.get_map_index(), pc.get_local_x(), pc.get_local_y())
syschat(vid)
d.set_damage_from_race(WARRIOR_M, vid)
d.set_damage_from_race(SHAMAN_W, vid)
d.set_damage_from_affect(AFF_INVISIBILITY, vid)
d.set_damage_from_affect(AFF_SLOW, vid)
d.set_damage_from_affect(AFF_HOSIN, vid)
d.set_damage_from_affect(AFF_GICHEON, vid)
d.reset_damage_from_race(vid)
d.reset_damage_from_affect(vid) <li data-xf-list-type="ol">d.get_damage_from_race(vid) // [return lua number]
d.get_damage_from_affect(vid) // [return lua table]
d.unset_damage_from_race(flag, vid) // [return nothing]
d.unset_damage_from_affect(flag, vid) // [return nothing] <li data-xf-list-type="ol">d.kill_area(start_x, start_y, end_x, end_y) // it kills every mob in the specific range (similar to d.purge_area, but crash safe) [return nothing] <li data-xf-list-type="ol">##guild module <li data-xf-list-type="ol">guild.get_id0() // get guild id [return lua number] <li data-xf-list-type="ol">guild.get_sp0() // get guild sp [return lua number] <li data-xf-list-type="ol">guild.get_maxsp0() // get guild maxsp [return lua number] <li data-xf-list-type="ol">guild.get_money0() // get money guild [return lua number] <li data-xf-list-type="ol">guild.get_max_member0() // get max joinable members [return lua number] <li data-xf-list-type="ol">guild.get_total_member_level0() // get the sum of all the members’ level [return lua number] <li data-xf-list-type="ol">guild.has_land0() // get whether guild has a land or not [return lua boolean] <li data-xf-list-type="ol">guild.get_win_count0() // get guild wins [return lua number] <li data-xf-list-type="ol">guild.get_draw_count0() // get guild draws [return lua number] <li data-xf-list-type="ol">guild.get_loss_count0() // get guild losses [return lua number] <li data-xf-list-type="ol">guild.add_comment0(msg) // add a comment into guild notice board [return nothing] <li data-xf-list-type="ol">guild.set_ladder_point0(points) // set guild ladder points [return nothing] <li data-xf-list-type="ol">guild.set_war_data0(win, draw, loss) // set guild win/draw/loss [return nothing] (commented/local update) <li data-xf-list-type="ol">guild.get_skill_level0(vnum) // get guild skill level [return lua number] <li data-xf-list-type="ol">guild.set_skill_level0(vnum, level) // set guild skill level [return nothing] <li data-xf-list-type="ol">guild.get_skill_point0() // get guild skill points [return lua number] <li data-xf-list-type="ol">guild.set_skill_point0(points) // set guild skill points [return nothing] <li data-xf-list-type="ol">guild.get_exp_level0(level) // get how much exp is necessary for such <level> [return lua number] <li data-xf-list-type="ol">guild.offer_exp0(exp) // give player’s <exp> to guild [return lua boolean=successfulness] <li data-xf-list-type="ol">guild.give_exp0(exp) // give <exp> to guild [return nothing] <li data-xf-list-type="ol">##game module <li data-xf-list-type="ol">game.drop_item_with_ownership_and_dice // like game.drop_item_with_ownership but with dice roll check if player is in a party [return nothing] <li data-xf-list-type="ol">##global module <li data-xf-list-type="ol">big_notice(string txt) // [return nothing] <li data-xf-list-type="ol">big_notice_all(string txt) // [return nothing] <li data-xf-list-type="ol">big_notice_in_map(string txt) // [return nothing] <li data-xf-list-type="ol">spawn_mob0(int vnum, int map_index, int x, int y) // similar to d.spawn_mob, usable for unique functions too [return lua number=mob vid] <li data-xf-list-type="ol">spawn_mob_in_map(int vnum, int count, bool is_aggro, int map_index, int x, int y) // [return lua number=count of the spawned mobs] <li data-xf-list-type="ol">// I already made a thread about ‘em with few samples and stuffZiyaretçiler için gizlenmiş link,görmek için üye olmalısınız! Giriş yap veya üye ol.
get_table_postfix() // get table postfix [return lua string]
mysql_direct_query(string query) // get the number of the affected rows and a table containing ‘em [return lua number, lua table]
mysql_escape_string(string str) // escape <str> [return lua string] <li data-xf-list-type="ol">mysql_password(string str) // same as the sql function PASSWORD(<str>
[return lua string] <li data-xf-list-type="ol">chat_in_map0(int mapIndex, string message) // send a chat packet to everyone in map mapindex with the relative message [return nothing] <li data-xf-list-type="ol">cmdchat_in_map0(int mapIndex, string message) // send a cmdchat packet to everyone in map mapindex with the relative message [return nothing] <li data-xf-list-type="ol">syschat_in_map0(int mapIndex, string message) // send a syschat packet to everyone in map mapindex with the relative message [return nothing] <li data-xf-list-type="ol">##horse module <li data-xf-list-type="ol">horse.set_stat0(int health, int stamina) // same as /do_horse_set_stat [return nothing] <li data-xf-list-type="ol">##item module <li data-xf-list-type="ol">item.is_available0() // it checks whether the item.* functions are available or not [return lua boolean] <li data-xf-list-type="ol">item.get_wearflag0() // [return lua number] <li data-xf-list-type="ol">item.has_wearflag0(int flag) // [return lua boolean] <li data-xf-list-type="ol">item.get_antiflag0() // [return lua number] <li data-xf-list-type="ol">item.has_antiflag0(int flag) // [return lua boolean] <li data-xf-list-type="ol">item.get_immuneflag0() // [return lua number] <li data-xf-list-type="ol">item.has_immuneflag0(int flag) // [return lua boolean] <li data-xf-list-type="ol">item.add_attr0(…)
item.add_attr0(0|1|2[, cnt]) -- (0: baseeraro, 1: base, 2: raro)
item.add_attr0(0) -- add one 1-5 and one 6-7 bonus
item.add_attr0(0, 0) -- add all 1-7 bonuses
item.add_attr0(1|2) -- add one 1-5|6-7 bonus
item.add_attr0(1|2, 0) -- add all 1-5|6-7 bonuses
item.add_attr0(1|2, 4) -- add four 1-5|6-7 bonuses <li data-xf-list-type="ol">item.change_attr0(…)
-- item.change_attr0(0|1|2) -- (0: baseerari, 1: base, 2: rari) <li data-xf-list-type="ol">item.clear_attr0(…)
-- item.clear_attr0(0|1|2) -- (0: baseerari, 1: base, 2: rari) <li data-xf-list-type="ol">item.count_attr0(…)
-- item.count_attr0(0|1|2) -- (0: [cnt(base), cnt(rari)], 1: cnt(base), 2: cnt(rari)) <li data-xf-list-type="ol">item.get_attr0() // get a table containing all the item attrs {1,11,2,22,…,7,77} [return lua table] <li data-xf-list-type="ol">item.set_attr0({1,11,2,22,…,7,77}) // use a table to set the item attrs [return nothing] <li data-xf-list-type="ol">item.set_count(int count) // [return nothing] <li data-xf-list-type="ol">##npc module <li data-xf-list-type="ol">npc.is_available0() // it checks whether the npc.* functions are available or not [return lua boolean] <li data-xf-list-type="ol">npc.get_level0() // [return lua number] <li data-xf-list-type="ol">npc.get_name0() // [return lua string] <li data-xf-list-type="ol">npc.get_pid0() // [return lua number] <li data-xf-list-type="ol">npc.get_vnum0() // [return lua number] <li data-xf-list-type="ol">##party module <li data-xf-list-type="ol">party.get_min_level() // [return lua number] <li data-xf-list-type="ol">party.leave_party() // [return lua boolean=successfulness] <li data-xf-list-type="ol">party.delete_party() // [return lua boolean=successfulness] <li data-xf-list-type="ol">##oxevent module <li data-xf-list-type="ol">oxevent.get_oxquiz_fn() // it returns the name of the oxquiz file to load [return lua string] <li data-xf-list-type="ol">oxevent.set_oxquiz_fn(string pathfile) // it sets the name of the oxquiz file to load starting from locale path [return nothing] <li data-xf-list-type="ol">oxevent.set_oxquiz_fn0(string pathfile) // it sets the name of the oxquiz file to load [return nothing]
Example:
-- get oxquix file path
syschat(oxevent.get_oxquiz_fn())
-- set oxquix file path to oxquizA.lua
oxevent.set_oxquiz_fn("oxquizA.lua")
syschat(oxevent.get_oxquiz_fn())
-- set oxquix file path to oxquizB.lua
oxevent.set_oxquiz_fn("oxquizB.lua")
-- set oxquix file path to locale/%yourlocale%/oxquizC.lua
syschat(oxevent.get_oxquiz_fn())
oxevent.set_oxquiz_fn0(get_locale_base_path().."/oxquizC.lua")
syschat(oxevent.get_oxquiz_fn()) <li data-xf-list-type="ol">##quest module <li data-xf-list-type="ol">quest.get_current_quest_name0() // [return lua string]
- <li data-xf-list-type="ol">/add_rare_attr (like /add_attr) <li data-xf-list-type="ol">/change_rare_attr (like /change_attr) <li data-xf-list-type="ol">/click_safebox (open the safebox such as the mall) <li data-xf-list-type="ol">/force_logout (disconnect themselves) <li data-xf-list-type="ol">/big_notice (now global like /notice) <li data-xf-list-type="ol">/big_notice_map (big notice that works like /notice_map) <li data-xf-list-type="ol">/notice_test (notice printed only to the player himself) <li data-xf-list-type="ol">/big_notice_test (big notice printed only to the player himself) <li data-xf-list-type="ol">/set <name> <field> <value> (added ‘race’, ‘sex’ and ‘job’ fields + help list) <li data-xf-list-type="ol">/poison <name> (the specified player will get poison) <li data-xf-list-type="ol">/bleeding <name> (the specified player will get bleeding) <li data-xf-list-type="ol">/ipurge <inventory=inv|equip|ds|belt|all> (only if ENABLE_CMD_IPURGE_EX is enabled)
- <li data-xf-list-type="ol">gold_drop_limit_time <time_in_secs> // the players will be able to drop a piece of yang/gold every XXX seconds as specified (default=0=no limits) (NB: by ymir) <li data-xf-list-type="ol">item_drop_limit_time <time_in_secs> // the players will be able to drop a piece of item every XXX seconds as specified (default=0=no limits) <li data-xf-list-type="ol">box_use_limit_time <time_in_secs> // the players will be able to open boxes every XXX seconds as specified (default=0=no limits) <li data-xf-list-type="ol">buysell_limit_time <time_in_secs> // the players will be able to buy/sell stuff every XXX seconds as specified (default=0=no limits) <li data-xf-list-type="ol">no_drop_metin_stone <0-1> // if enabled, metin stones won’t drop the default spiritual stones <li data-xf-list-type="ol">no_mount_at_guild_war <0-1> // if enabled, horses/mounts can’t be used inside guild war maps <li data-xf-list-type="ol">no_potions_on_pvp <0-1> // if enabled, all kind of potions and autopots can’t be used on pvp, except for the ones inside IsAllowedPotionOnPVP (by default: only blue potions and blue autopots will work)
- <li data-xf-list-type="ol">BIG_NOTICE <text> // like NOTICE <text>
- <li data-xf-list-type="ol">PARTY // the skill will be applied to all the near party’s members, or just the player itself if alone <li data-xf-list-type="ol">ATTACK_BLEEDING // the skill will inflict the bleeding malus
- <li data-xf-list-type="ol">-C <0/1> // it enables/disables checkpointing check (enabled by default)
- <li data-xf-list-type="ol">ENABLE_GCC_AUTODEPEND // if enabled, it uses the native gcc autodepend feature instead of the dependent makedepend
- <li data-xf-list-type="ol">Bandage (27124) item implemented <li data-xf-list-type="ol">Poison Bottle (27996) now poisons on use <li data-xf-list-type="ol">SpecialItemGroup “bleeding” type implemented <li data-xf-list-type="ol">/warp /transfer /item /mob will print arg1 in case of unsuccessfulness <li data-xf-list-type="ol">Added a system where you can’t inflict damage to stones from a different empire than yours <li data-xf-list-type="ol">tourmaline material and vein implemented <li data-xf-list-type="ol">USE_CHANGE_COSTUME_ATTR, USE_RESET_COSTUME_ATTR implemented
- <li data-xf-list-type="ol">100% Translated (except comments) <li data-xf-list-type="ol">Python switchable from 2.2 to 2.7 and viceversa w/o any problems (currently used 2.7) <li data-xf-list-type="ol">Granny version switchable amongst 2.4, 2.7, 2.8 and 2.9 via define preprocessor <li data-xf-list-type="ol">List of fixes: (the full explanation is written in the README.txt)
- <li data-xf-list-type="ol">/view_equip crash <li data-xf-list-type="ol">Skybox bottom pic <li data-xf-list-type="ol">Python >2.2 long overflow <li data-xf-list-type="ol">Added supplementary check for npc_pet (about new pets) <li data-xf-list-type="ol">“SEQUENCE mismatch 0xaf != 0x64 header 254” fix <li data-xf-list-type="ol">all the new mounts can now attack/skill if they should (like official) <li data-xf-list-type="ol">hyper link graphic issue with 6-7 bonuses <li data-xf-list-type="ol">crash issues when pasting non-text data (if you specifically enable ctrl+v in client) <li data-xf-list-type="ol">non-printing/control characters not more printed in the (chat) input (the ones you get when you press Ctrl+<key> in game) <li data-xf-list-type="ol">on arabic locales, the [HyperText code] (alias Prism code) not more editable pressing <Backspace> <li data-xf-list-type="ol">loop attack bug when you click a monster with a bow without having arrows <li data-xf-list-type="ol">regen.txt loading issue
- <li data-xf-list-type="ol">LOCALE_SERVICE_EUROPE // locale you want (default source feature) <li data-xf-list-type="ol">ENABLE_COSTUME_SYSTEM // costume system (default source feature) <li data-xf-list-type="ol">ENABLE_ENERGY_SYSTEM // energy system (default source feature) <li data-xf-list-type="ol">ENABLE_DRAGON_SOUL_SYSTEM // dss system (default source feature) <li data-xf-list-type="ol">ENABLE_NEW_EQUIPMENT_SYSTEM // belt system (default source feature) <li data-xf-list-type="ol">ENABLE_PACK_GET_CHECK // enable py|pyc|txt check on pack.Get <li data-xf-list-type="ol">ENABLE_CRC32_CHECK // enable/disable crc32 check for type2 <li data-xf-list-type="ol">ENABLE_SKIN_EXTENDED // extended source/targetskin[2-9] inside .msm <li data-xf-list-type="ol">ENABLE_LOAD_ALTER_ITEMICON // load a default item icon if the one inside the item_list.txt is missing <li data-xf-list-type="ol">ENABLE_NO_MOUNT_CHECK // enable attack and skill from all horses/mounts <li data-xf-list-type="ol">ENABLE_MILES_CHECK // check miles
Ziyaretçiler için gizlenmiş link,görmek için üye olmalısınız! Giriş yap veya üye ol.to prevent mss32.dll exploit before load them <li data-xf-list-type="ol">ENABLE_PYLIB_CHECK // check python lib files to prevent exploit before load them <li data-xf-list-type="ol">ENABLE_PLAYER_PER_ACCOUNT5 // enable 5 characters per account <li data-xf-list-type="ol">ENABLE_WOLFMAN_CHARACTER // it enables the wolfman character <li data-xf-list-type="ol">ENABLE_LEVEL_IN_TRADE // it enables the functions to show the target level in the trade dialog <li data-xf-list-type="ol">ENABLE_ATLASINFO_FROM_ROOT // if enabled, the atlasinfo.txt will be read from root instead of the relative locale <li data-xf-list-type="ol">ENABLE_SIMPLE_REFINED_EFFECT_CHECK // if enabled, the refine effect are +7 blue, +8 green, +9 red for any armor/weapon <li data-xf-list-type="ol">ENABLE_MOUNT_COSTUME_SYSTEM // it enables the mount costume system <li data-xf-list-type="ol">ENABLE_MAGIC_REDUCTION_SYSTEM // it enables the RESIST_MAGIC_REDUCTION bonus <li data-xf-list-type="ol">ENABLE_EXTEND_INVEN_SYSTEM //enable 4 inventory pages <li data-xf-list-type="ol">ENABLE_PETS_WITHOUT_COLLISIONS // disable collisions for pets <li data-xf-list-type="ol">ENABLE_SHOPS_WITHOUT_COLLISIONS // disable collisions for shops <li data-xf-list-type="ol">ENABLE_MOUNTS_WITHOUT_COLLISIONS // disable collisions for mounts <li data-xf-list-type="ol">AUTODETECT_LYCAN_RODNPICK_BONE // adjust fishrod/pickaxe attached bone for lycan <li data-xf-list-type="ol">ENABLE_WEAPON_COSTUME_SYSTEM // enable weapon costume system <li data-xf-list-type="ol">USE_WEAPON_COSTUME_WITH_EFFECT // enable refine effect for weapon costume <li data-xf-list-type="ol">USE_BODY_COSTUME_WITH_EFFECT // enable refine effect for body costume <li data-xf-list-type="ol">ENABLE_LVL115_ARMOR_EFFECT //enable sparkle effect for 115 armors <li data-xf-list-type="ol">ENABLE_CANSEEHIDDENTHING_FOR_GM //enable gm to see invisible characters (both normal semi-transparent and gm invisibility) <li data-xf-list-type="ol">ENABLE_PROTOSTRUCT_AUTODETECT // if enabled, all the item_proto/mob_proto official structures (2007~2016) are automatically detected and supported without recompiling <li data-xf-list-type="ol">WJ_SHOW_MOB_INFO //enable mob info update for showing the mob lvl and the asterisk in name if aggro (ENABLE_SHOW_MOBAIFLAG and ENABLE_SHOW_MOBLEVEL) <li data-xf-list-type="ol">ENABLE_NEW_ATLAS_MARK_INFO // for the new locale/map/point.txt <li data-xf-list-type="ol">ENABLE_TEXT_LEVEL_REFRESH // it will refresh the level after a levelup
- <li data-xf-list-type="ol">exchange.GetLevelFromSelf() <li data-xf-list-type="ol">exchange.GetLevelFromTarget() <li data-xf-list-type="ol">systemSetting.IsShowMobAIFlag() <li data-xf-list-type="ol">systemSetting.SetShowMobAIFlag(bool) <li data-xf-list-type="ol">systemSetting.IsShowMobLevel() <li data-xf-list-type="ol">systemSetting.SetShowMobLevel(bool)
- <li data-xf-list-type="ol">new event motion types 11-12 workable <li data-xf-list-type="ol">tourmaline material and vein handling implemented <li data-xf-list-type="ol">USE_CHANGE_COSTUME_ATTR, USE_RESET_COSTUME_ATTR handling implemented
At request, my clients can also receive:
- <li data-xf-list-type="ol">Tools/DumpProto ReMIX with the following features:
- <li data-xf-list-type="ol">Clean <li data-xf-list-type="ol">Translated <li data-xf-list-type="ol">New types included (ds, belt, bleeding, wolfman, claws, etc) <li data-xf-list-type="ol">Unpack feature (it can re-extract the packed protos into .txt again!) <li data-xf-list-type="ol">General splitting issues fix (for mob_proto’s raceflag) <li data-xf-list-type="ol">All the item_proto/mob_proto official structures (2007~2016) are automatically detected and supported without recompiling (if ENABLE_PROTOSTRUCT_AUTODETECT is defined in Client) <li data-xf-list-type="ol">List of defines:
- <li data-xf-list-type="ol">ENABLE_ADDONTYPE_AUTODETECT // it autodetects the addontype field value when unpacking to make an item_proto.txt server-side 100% compatible
o-----------------------------------------o
| USAGE |
o-----------------------------------------o
| PROTO CLIENT -> SQL |
| [1] run Mysql2Proto_UnpackSql.bat |
o-----------------------------------------o
| PROTO CLIENT -> MYSQL |
| [1] edit Mysql2Proto.json |
| [2] run Mysql2Proto_Unpack.bat |
o-----------------------------------------o
| MYSQL -> PROTO CLIENT |
| [1] edit Mysql2Proto.json |
| [2] run Mysql2Proto_Pack.bat |
o-----------------------------------------o
o-----------------------------------------------------------o
| NOTE |
o-----------------------------------------------------------o
| [1] The tool automatically detects the structure of the |
| following protos when extracting |
| [1] TItemTable_r152 (2007) |
| [2] TItemTable_r156 (2012) |
| [3] TItemTable_r158 (2016) |
| [4] TMobTable_r235 (2007) |
| [5] TMobTable_r255 (2011) |
| [6] TMobTable_r256 (2014) |
| [7] TMobTable_r262 (2015) |
| |
| These are all the structures that the officials |
| have used in these years. They don't have a |
| practical use if not for extraction. |
o-----------------------------------------------------------o
| [2] The tool use the default structures to pack the |
| protos: |
| [2] TItemTable_r156 (2012) |
| [5] TMobTable_r255 (2011) |
o-----------------------------------------------------------o <li data-xf-list-type="ol">Tools/Metin2MSAMaker with the following features:- <li data-xf-list-type="ol">Clean <li data-xf-list-type="ol">Usable for granny 2.4/2.7/2.8/2.9 models <li data-xf-list-type="ol">This tool is used to create the .msa of the .gr2 models, and it also generates the Accumulation parameter for all of them. <li data-xf-list-type="ol">This can be used to fix the relative error for the server-side data folder. <li data-xf-list-type="ol">It still requires file/system boost libraries compilation. (there’s a how-to file inside for it)
- <li data-xf-list-type="ol">Clean <li data-xf-list-type="ol">Translated <li data-xf-list-type="ol">Fixed EterPackLog null character printing <li data-xf-list-type="ol">Fixed hard-coded ignored path
- <li data-xf-list-type="ol">questlib_extra.lua // it contains some stuff for nemere dungeon, and a way to setup event flags every core restarting <li data-xf-list-type="ol">pre_qc.py // revisioned with some further fixes <li data-xf-list-type="ol">quest_list // commented quest_list sample for pre_qc.py <li data-xf-list-type="ol">sample__guild_make.quest // sample using pc.make_guild0 instead of <li data-xf-list-type="ol">sample__mob_drop_item.quest // advanced sample of making drop item settings via quest
- <li data-xf-list-type="ol">Clean <li data-xf-list-type="ol">New types included (ds, belt, bleeding, wolfman, claws, etc) <li data-xf-list-type="ol">Fixed \n\nheader issue <li data-xf-list-type="ol">Fixed truncated fields issues <li data-xf-list-type="ol">Fixed vnum_range (automatically detected) <li data-xf-list-type="ol">Created a pan.sh to easily do a .txt-to-db and db-to-.txt proto conversion 100% lossless. Very easy and in just a second.
root@localhost:/home/DBManager $ ./pan.sh
What do you want to do?
1) .txt to db
2) db to .sql
3) db to .txt
4) exit
$? 1
Which locale?
1) common
2) exit
$? 1
root@localhost:/home/DBManager $ ./pan.sh
What do you want to do?
1) .txt to db
2) db to .sql
3) db to .txt
4) exit
$? 3
Which locale?
1) common
2) exit
$? 1
root@localhost:/home/DBManager $
- <li data-xf-list-type="ol">Based on the last official roots before being cythonized <li data-xf-list-type="ol">Compatibility with Cython (rootlib & uiscriptlib) <li data-xf-list-type="ol">Lycan implemented via app.ENABLE_WOLFMAN_CHARACTER <li data-xf-list-type="ol">5th character per account implemented via app.ENABLE_PLAYER_PER_ACCOUNT5 <li data-xf-list-type="ol">Level in trade implemented via app.ENABLE_LEVEL_IN_TRADE <li data-xf-list-type="ol">Costume System implemented via app.ENABLE_MOUNT_COSTUME_SYSTEM <li data-xf-list-type="ol">RESIST_MAGIC_REDUCTION implemented via app.ENABLE_MAGIC_REDUCTION_SYSTEM <li data-xf-list-type="ol">ENABLE_EXTEND_INVEN_SYSTEM implemented via app.ENABLE_EXTEND_INVEN_SYSTEM <li data-xf-list-type="ol">ENABLE_WEAPON_COSTUME_SYSTEM implemented via app.ENABLE_WEAPON_COSTUME_SYSTEM <li data-xf-list-type="ol">ENABLE_LVL115_ARMOR_EFFECT implemented via app.ENABLE_LVL115_ARMOR_EFFECT <li data-xf-list-type="ol">WJ_SHOW_MOB_INFO implemented via app.WJ_SHOW_MOB_INFO <li data-xf-list-type="ol">Additional constants inside constInfo.py:
- <li data-xf-list-type="ol">ENABLE_RANDOM_CHANNEL_SEL // if not enabled, it won’t set a random channel when you open the client <li data-xf-list-type="ol">ENABLE_CLEAN_DATA_IF_FAIL_LOGIN // if not enabled, it won’t remove id&pass if the login attempt fails <li data-xf-list-type="ol">ENABLE_PASTE_FEATURE // if enabled, ctrl+v will work <li data-xf-list-type="ol">ENABLE_FULLSTONE_DETAILS // if enabled, it displays all the bonuses added by a stone instead of the first one <li data-xf-list-type="ol">ENABLE_REFINE_PCT // enable successfulness % in the refine dialog
- <li data-xf-list-type="ol">Leadership skill (guide)’s tooltip fix <li data-xf-list-type="ol">old_open unreadable files issue <li data-xf-list-type="ol">undeclared timeOutMsg variable fix <li data-xf-list-type="ol">ShopEx little glitch with 3 buttons <li data-xf-list-type="ol">blank tooltip issues when the mouse-selected money is over some items <li data-xf-list-type="ol">mobs with shop signs above them
- <li data-xf-list-type="ol">tourmaline material and vein implemented <li data-xf-list-type="ol">USE_CHANGE_COSTUME_ATTR, USE_RESET_COSTUME_ATTR handling implemented <li data-xf-list-type="ol">more precise logs will be printed in case of uiscript load failure
- <li data-xf-list-type="ol">lycan 100% implemented <li data-xf-list-type="ol">type 3-4-5 removed from patch2, and metin2_patch_XXX packs <li data-xf-list-type="ol">it contains every asset the official client has until now
Note: You can always extract updated .sql or .txt from the official client locales using my DumpProto or Mysql2Proto by yourself - <li data-xf-list-type="ol">Clean <li data-xf-list-type="ol">Translated <li data-xf-list-type="ol">New types included (ds, belt, bleeding, wolfman, claws, etc) <li data-xf-list-type="ol">Unpack feature (it can re-extract the packed protos into .txt again!) <li data-xf-list-type="ol">General splitting issues fix (for mob_proto’s raceflag) <li data-xf-list-type="ol">All the item_proto/mob_proto official structures (2007~2016) are automatically detected and supported without recompiling (if ENABLE_PROTOSTRUCT_AUTODETECT is defined in Client) <li data-xf-list-type="ol">List of defines:
- <li data-xf-list-type="ol">A complete server-side locale/data folders <li data-xf-list-type="ol">Autopatcher <li data-xf-list-type="ol">Anything else not specified in here
- <li data-xf-list-type="ol">All the relative updates are automatically provided and free-of-charge (you should create an account in a “specific site” I’ll send you, and give me your nickname; you’ll join the members and then be able to see the new commits) <li data-xf-list-type="ol">At the moment of the payment, you can ask to receive one-time help to compile and setup your machine for such service, until the work provided is working as expected (no post-sell service is provided; even though it’s not an obligation, I usually answer free-of-charge in my free time)
I usually provide the relative “help” using a “teamviewer program like”, and you’re free to record the whole session. The interaction between us is usually made through Skype. <li data-xf-list-type="ol">If you’re a team/group of friends purchasing this service, I’ll interact with only one of you. <li data-xf-list-type="ol">Re-selling, or leaking part-or-all my work is forbidden; I can stop providing you any contact, service, updates if provided, and anything else on my whim.
Ziyaretçiler için gizlenmiş link,görmek için üye olmalısınız!
Giriş yap veya üye ol.
Ziyaretçiler için gizlenmiş link,görmek için üye olmalısınız!
Giriş yap veya üye ol.
Metin2 Lobby'da Dikkat_Sama Source ve C.Source Kavramları
Dikkat_Sama Source Nedir?
Metin2 özel sunucu geliştirme dünyasında, Dikkat_Sama Source oldukça popüler ve kapsamlı bir kaynak kod paketi olarak bilinir. Bu kaynak kodlar, özellikle Metin2 PvP sistemlerinin geliştirilmesinde temel alınan güçlü altyapılardan biridir. Sistemlerin hem stabilitesi hem de gelişmiş özellikleri açısından dikkat çeker. Dikkat_Sama, Metin2 server src dosyalarını düzenlemek isteyen geliştiriciler için geniş bir altyapı sunar. Bu altyapı, auth, game, db gibi temel yapıları barındırır ve geliştiricilere birçok olanak sağlar.
C.Source Nedir?
C.Source, genellikle Metin2 server geliştirme sürecinde kullanılan C++ tabanlı kaynak kodları ifade eder. Bu kodlar doğrudan sunucu çekirdeğini oluşturur ve oyun mekaniklerinin işleyişinde kritik rol oynar. C++ system olarak da bilinen bu yapı, server src düzenlemelerinde esneklik sağlar. Oyun içindeki tüm sistemlerin kontrolü, bu C.Source üzerinden sağlanır. Bu nedenle, doğru şekilde optimize edilmiş bir C.Source, Metin2 özel sunucularının stabilitesi ve performansı için büyük önem taşır.
Python Entegrasyonu ve GUI Kullanımı
Metin2 özel sunucu geliştirme sürecinde Python dili de önemli bir yere sahiptir. Özellikle Py GUI ve Python GUI sistemleri, arayüz geliştirmeleri için tercih edilir. Py Root dosyaları, oyun içi arayüzlerin ve sistemlerin yapılandırılmasında kullanılır. Uiscript ise bu yapıların görsel bileşenlerini tanımlamada yardımcı olur. Python script'lerin doğru entegrasyonu, kullanıcı deneyimini ciddi anlamda artırabilir. Bu sistemlerle birlikte, Metin2 özel sunucularında daha modern ve etkileşimli arayüzler oluşturulabilir.
Martysama ve Geliştirme Süreci
Martysama, Metin2 özel sunucu geliştirme alanında önemli bir figürdür. Onun katkılarıyla ortaya çıkan kaynak kodlar, özellikle C++ ve Python tabanlı sistemlerde birçok geliştirici tarafından kullanılmaktadır. Martysama'nın kaynak kodları, Metin2 development süreçlerinde örnek alınır. Bu altyapılar sayesinde, Metin2 özel sunucularında hem stabil hem de gelişmiş sistemler kurulabilir. Martysama'nın sunduğu yapılar, özellikle PvP sistemlerinin kurulumunda büyük kolaylık sağlar.
DB ve Game Sunucu Yapıları
Metin2 özel sunucularında DB (veritabanı) ve Game sunucuları, sistemin en kritik bileşenlerindendir. Doğru yapılandırılmış bir DB core, oyun içindeki tüm verilerin tutarlı ve hızlı bir şekilde işlenmesini sağlar. Game core ise oyun mantığını ve olay akışlarını yönetir. Bu iki yapı birlikte çalışarak, Metin2 özel sunucularında sorunsuz bir oyun deneyimi sunar. DB core ve Game core'un doğru entegrasyonu, Metin2 özel sunucularının uzun ömürlü ve stabil olmasında anahtar rol oynar.
Compile ve Source Edit İşlemleri
Metin2 özel sunucu geliştirme sürecinde, kaynak kodların derlenmesi (compile) büyük önem taşır. Compile işlemi, yazılan C++ veya Python kodlarının çalıştırılabilir hale gelmesini sağlar. Source edit işlemleri ise, mevcut kodları istenilen şekilde düzenlemek ve özelleştirmek için yapılır. Bu işlemler sırasında dikkat edilmesi gereken birçok detay vardır. Yanlış bir düzenleme, sunucunun çökmesine neden olabilir. Bu nedenle, compile ve source edit işlemleri, tecrübeli geliştiriciler tarafından yapılmalıdır.
Client Src ve Paketleme İşlemleri[/BR]Client src, Metin2 oyununun istemci tarafındaki yapıyı temsil eder. Bu yapı, oyunun istemcide nasıl görüneceğini ve hangi özelliklerin aktif olacağını belirler. Client src üzerinde yapılan düzenlemeler, oyuncuların gördüğü grafiksel arayüzü ve bazı sistemleri etkiler. Paketleme (pack) işlemleri ile bu değişiklikler oyuna entegre edilir. Client src üzerinde yapılan başarılı düzenlemeler, Metin2 özel sunucularında farklı bir deneyim sunabilir.
Attention_Sama Source and C.Source on Metin2 Lobby
What is Attention_Sama Source?[/BR]In the world of Metin2 private server development, Attention_Sama Source is known as a popular and comprehensive source code package. These source codes provide a strong foundation especially for developing Metin2 PvP systems. The stability and advanced features of these systems attract attention. Attention_Sama offers a broad infrastructure for developers who want to edit Metin2 server src files. This infrastructure includes fundamental structures such as auth, game, and db, providing many opportunities to developers.
What is C.Source?[/BR]C.Source generally refers to C++ based source codes used during Metin2 server development. These codes directly form the core of the server and play a critical role in how game mechanics function. Known also as C++ system, this structure provides flexibility when editing server src. All controls over the game systems inside the game are handled through this C.Source. Therefore, a well-optimized C.Source is vital for the stability and performance of Metin2 private servers.
Python Integration and GUI Usage[/BR]In the process of Metin2 private server development, the Python language also holds significant importance. Specifically, Py GUI and Python GUI systems are preferred for interface improvements. Py Root files are used to configure in-game interfaces and systems. Meanwhile, Uiscript helps define the visual components of these structures. Correct integration of Python scripts can significantly enhance user experience. With these systems, more modern and interactive interfaces can be created in Metin2 private servers.
Martysama and Development Process[/BR]Martysama is an important figure in the field of Metin2 private server development. Source codes developed with his contributions are widely used by many developers in C++ and Python-based systems. The infrastructures provided by Martysama serve as examples in Metin2 development processes. Thanks to these infrastructures, stable and advanced systems can be established in Metin2 private servers. The structures provided by Martysama particularly facilitate the setup of PvP systems.
DB and Game Server Structures[/BR]In Metin2 private servers, DB (database) and Game servers are among the most critical components of the system. A correctly configured DB core ensures all in-game data is processed consistently and quickly. The Game core manages game logic and event flows. Together, these two structures provide a seamless gaming experience in Metin2 private servers. The correct integration of DB core and Game core plays a key role in ensuring Metin2 private servers are long-lasting and stable.
Compile and Source Edit Operations[/BR]In the process of Metin2 private server development, compiling the source codes (compile) is highly important. The compilation process turns written C++ or Python codes into executable forms. Source edit operations involve modifying existing codes according to desired customizations. There are many details to consider during these operations. An incorrect edit may cause the server to crash. Therefore, compile and source edit operations should be performed by experienced developers.
Client Src and Packaging Operations[/BR]Client src represents the client-side structure of the Metin2 game. This structure determines how the game appears to players and which features are active. Modifications made on the Client src affect the graphical interface and some systems seen by players. Through packaging (pack) operations, these modifications are integrated into the game. Successful edits on the Client src can offer a unique experience in Metin2 private servers.
