Jump to content
metin2dev

JeeX

Members
  • Content count

    52
  • Joined

  • Last visited

Community Reputation

2 Neutral

About JeeX

  • Rank
    Friendly

Profile Information

  • Gender
    Male

Recent Profile Visitors

556 profile views
  1. JeeX

    open DE-Like Horse-Quest

    I'm also interested.
  2. 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.
  3. 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.
  4. omg - brain.exe case AFFECT_BLEEDING: event_cancel(&m_pkBleedingEvent); break;
  5. AttachSash': is not a member of 'CActorInstance' look into your Tutorial an check ActorInstance.h again. (AttachSash is missing)
  6. 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.
  7. 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);
  8. JeeX

    open Unwear mount on warmap

    // open item.h //search: bool IsDragonSoul(); //add under: bool IsCostumeMount() { return GetType() == ITEM_COSTUME && GetSubType() == COSTUME_MOUNT; }
  9. 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;
  10. 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!
  11. JeeX

    open Help Exception C++

    is there a possibility to use an exception? i only tryed like martys potion on pvp map block.
  12. Hey guys. I wanted to create a exception but my core crashes... here my code: bool IsExceptions(DWORD dwVnum) { switch (dwVnum) { case 30036: return true; } return false; } bool CItem::IsItemBox() { LPITEM item; return (GetType() == ITEM_MATERIAL && !IsExceptions(item->GetVnum())); } i Know the bool IsExceptions isnt correctly... i wanted - that the return will load all items from ITEM_MATERIAL but i want an Exception - he should check if there is a vnum there and if yes he should ignore this vnum So -> [return] Load all from ITEM_MATERIAL but not this item... i tryed with an int function - but i wanted a new function like my bool IsExceptions! - because i need this in more lines and i wanted to create a global one. Someone how could help? Best regards!
  13. Hello, yesterday i includes Lennt - Transmutation System but i have 1 Problem: if i put the transmugged item into the exchange-, shop-, safebox window - it won't display me For example: [Transmutation] Sword+9 <- this will be disappear. In inventory all is working fine. uitooltip: https://pastebin.com/kWPLY73C Thanks Best regards
×