metin2united

JeeX

Member
  • Content Count

    55
  • Joined

  • Last visited

Community Reputation

2 Neutral

About JeeX

  • Rank
    Friendly

Profile Information

  • Gender
    Male

Recent Profile Visitors

678 profile views
  1. Nice thank you, when im home, im looking at this source! I usually look for the First source, which are untouched, fully clean of User changes or something else The reason why: i want to start a new project, i want to create Very old files like 2008 and want to use a source (not only serverfiles and sura.exe) i want to rework the source and back -Patch it (newer stuff delete) ->thats why im looking for clean untouched source which are released years ago So for the new project i need: serversource, binary, clientfiles (python) - which are very very old and untouched & they have to be compileable and compartible together. Thanks at First & i look your files. Best regards
  2. Hello, i Working years ago with marty source and created a good project with new stuff and so on... But im very interested in to create a full stock Server with realy old files, maybe i want to backpatch it. (Sever like 2008 but with backpatched source support) This is why i create this thread, because im looking for the First compile-able Source untouched, which are ever released. I need Serversource, binary(clientsource), clientside (root -> pythonfiles) which are compartible, untouched & clean. So i mean reay realy old stuff (since source is public) Could you maybe Help?, because i already searched, but the mt2 Forums are full with modifyed stuff and i didnt know, which files are untouched and compartible together. Thank you very much! Best regards.
  3. JeeX

    open DE-Like Horse-Quest

    I'm also interested.
  4. JeeX

    open Anti mount in combat

    char_horse.cpp - bool CHARACTER::StartRiding() - void CHARACTER::HorseSummon here you have to create a little function to forbid mount/horse & riding there. Best regards.
  5. Hey budys. I have a very important question - and i think the other players wanted also to know! @First my Settup: i have an HP-ProLiant DL380 G6 Server @ home - which has Windows Server 2012 R2 installed. i created a virtual machine with FreeBSD 9.3 under Hyper-V - there are my MT2-Files running. To my Files: - i use Martysama Source - Client (Python) Offical Webzen 03.2018 (cleaned & incl. my changes) -> works flawlessly (locally) But i want to create a DDNS Server, because i want to save costs and i dont want to hire a root! short explain: my server runs 24/7 because there are other server on, so i dont need to hire a root. i usually wants to use this mt2 server on my HP-Server as a test-server for my teammates (not root server for other players). i know, there are many other topics, but i didnt found any solution to fix that problem! So i wanted to create an topic, maybe we find together a solution. My Problem: i can connect with the ddns address in serverinfo.py and im able to choose the character, but if i choose one, i get kicked. My configuration: - Serverip: 192.168.0.100 - IP (bsdconfig): ipv4: 192.168.0.150 netmask: 255.255.255.0 router: 192.168.0.1 nameserver: 192.168.0.1 / 8.8.8.8 / 8.8.4.4 hostname: xxx.ddns.net - Ports are all released in the router / nat (really all!) -> Based on the VM. Now for the really interesting part of the whole thing: some years ago, i startet with mt2 with normal files (without Source) i thing it was (r2089M). other guys had the same problem like me => homeroot with ddns but kick after choosing character. So there was only 1 method to connect: "Surakopf.exe" Then i found an tutorial on ePvpers it called: "[RELEASE]Packet bypass for Homeservers/DynDns" Credits: Anohros (epvpers) I patched my Core and changed the server_start.sh and other players could connect to my server, without problems. So my Question: Is it maybe possible to rework something in source, or change something, that players are able to connect to an DDNS Homeroot without characterkick? Like this tutorial (bypass). Or something to change @config.cpp -> ( g_szPublicIP) ??? This would be great if it would work! - because i found so many Threads about, and no one have a solution for this problem - and still many people looking for this. Sorry for my bad english... Best regards.
  6. omg - brain.exe case AFFECT_BLEEDING: event_cancel(&m_pkBleedingEvent); break;
  7. AttachSash': is not a member of 'CActorInstance' look into your Tutorial an check ActorInstance.h again. (AttachSash is missing)
  8. JeeX

    open Shoulder-Sash system in Martysama

    this is correct, he only includes some lines but (only for proto [Clientside/Serversource]) he includes soulbind and pet lines too - but only 1% from full system! you have to buy a full working system or take the public one <- and include this into your project.
  9. JeeX

    open Unwear mount on warmap

    //open char_item.cpp //search: bool CHARACTER::UnEquipSpecialRideUniqueItem() //add avbove: bool CHARACTER::UnEquipCostumeMoudeItem(bool isOnDeath) { LPITEM CostumeMount = GetWear(WEAR_COSTUME_MOUNT); if (NULL != CostumeMount) { if (CostumeMount->IsCostumeMount()) { return UnequipItem(CostumeMount); } } return true; } //open char.h //search: bool UnEquipSpecialRideUniqueItem (); //add: bool UnEquipCostumeMoudeItem(bool isOnDeath);
  10. JeeX

    open Unwear mount on warmap

    // open item.h //search: bool IsDragonSoul(); //add under: bool IsCostumeMount() { return GetType() == ITEM_COSTUME && GetSubType() == COSTUME_MOUNT; }
  11. JeeX

    open Unwear mount on warmap

    I hope i didn't forgot anything <- //char.cpp //add after includes: bool IsMountable(int map_index, bool isHorse) { if (CArenaManager::instance().IsArenaMap(map_index)) return false; switch (map_index) { case YOUR_MAPINDEX: //edit this <- [e.g. 61 - look @ your map_index] return false; } return true; } //char_item.cpp //add after includes: extern bool IsMountable(int map_index, bool isHorse); //search: bool CHARACTER::CanEquipNow(const LPITEM item, const TItemPos& srcCell, const TItemPos& destCell) //add: if (item->IsCostumeMount() && !IsMountable(GetMapIndex(), false)) return false; //input_login.cpp //add after includes: extern bool IsMountable(int map_index, bool isHorse); //search: void CInputLogin::Entergame(LPDESC d, const char * data) if (!IsMountable(ch->GetMapIndex(), false)) ch->UnEquipCostumeMoudeItem(false); //questlua_horse.cpp //add after includes: extern bool IsMountable(int map_index, bool isHorse); //search: ALUA(horse_summon) //add: if (!IsMountable(ch->GetMapIndex(), true)) return 0; //search: ALUA(horse_in_summonable_area) //add: lua_pushboolean(L, IsMountable(ch->GetMapIndex(), isMount)); //questlua_pc.cpp //add after includes: extern bool IsMountable(int map_index, bool isHorse); //search: ALUA(pc_mount) //add: if (!IsMountable(ch->GetMapIndex(), mount_vnum == ch->GetMyHorseVnum())) return 0;
  12. JeeX

    open Unwear mount on warmap

    why with quest? do you use source? - its pritty simple to create in c++
  13. Hey guys. i wanted to create a new Function, because @my Project i created a new GMFlag. I created "GM_DEVELOPER" only for Serverowner, now im sitting on the permissions - i wanted to block all situations like (exchange, Storage, drop items and so on...) For example: (Block Friendlist) if (!ch->IsGM() && ch_companion->IsLowLevelGM()) // Player -> GM { ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("<¸Þ½ÅÁ®> ¿î¿µÀÚ´Â ¸Þ½ÅÁ®¿¡ Ãß°¡ÇÒ ¼ö ¾ø½À´Ï´Ù.")); return sizeof(TPacketCGMessengerAddByVID); } if (ch->IsLowGM() && gm_get_level(name) == GM_PLAYER) // GM -> Player { ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("GameMasters can't have player friends.")); return CHARACTER_NAME_MAX_LEN; } I created "IsLowLevelGM()" it should only contains GM_LOW_WIZARD up to GM_IMPLEMENTOR My IsLowLevelGM(): BOOL CHARACTER::IsLowLevelGM() const { if (GetGMLevel() >= GM_LOW_WIZARD <= GM_HIGH_WIZARD) return true; return false; } In case of [Adding GM to Friendlist/Adding Players to GM-Friendlist] it is working, adding to guild isnt working, but only drop down is working... The original Function works with "IsGM()" but i only wanted that GM_DEVELOPER" is higher Ranked as GM_IMPLEMENTOR and have more Permissions than GM_IMPLEMENTOR. I wanted with the Dev Rank Full Perm. and only to block for all other gm's My Question - is the IsLowLevelGM() correct? or where is the problem?^^ Thanks!