Jump to content
Metin2 Network
Create New...

Leaderboard

Popular Content

Showing content with the highest reputation on 10/26/2024 in all areas

  1. Mysql8 vs2022 Bsd: User: root Password : dev Navicat/Mysql User: root Password: password For client to open: change the letter "ı" at the end of the Directx9 Infrastructure folder Download: [Hidden Content]
    3 points
  2. Hi Guys, I'm sharing a performance system with you today. If you spawn a lot of mobs, you will get significant fps drops. Let me show you a GIF. Before/ : [Hidden Content] After/: [Hidden Content] Download: [Hidden Content]
    2 points
  3. 1. With this modification, you can set a time interval for respawning. 2. After disappearing/killing, the new respawn event will start. 3. The new spawn time will be set after the CHARACTER::Destroy() function. On every level, the files boss.txt, npc.txt ... etc. must be supplemented with an interval column immediately after the respawn time. You can also use 's', 'm', 'h' after the given value. Example of a .txt file: -Old: m 804 830 1 1 0 0 10s 100 1 591 -New: m 804 830 1 1 0 0 10s 10s 100 1 591 So if monster 591 is killed, it will respawn sometime between 10-20 seconds. (Time does not run from direct killing, but from CHARACTER::Destroy() (CHARACTER::Destroy() == when something disappears (in the case of a killed monster, its corpse))) Advanced_regen-main.zip
    2 points
  4. Freebsd 13.2+ Mariadb 10.6.16 pkg install python3 Navicat id: mdkc password: Dev Download: [Hidden Content]
    2 points
  5. Download: DracaryS Renewal_Auto_Pickup.rar
    2 points
  6. A client-sided anti-cheat developed during a freelance project to "plug-in" to a proprietary client for a private server. Includes memory integrity checks, thread execution restrictions, hook detection, memory honeypots, and more. *Memory Integrity Check Gathers a collection of memory pages initially within the game's module (anticheat::cheat_monitor::init) and generates a CRC32 hash based on the memory contents of each page (calc_vpt_hashes) - each validated every cycle (anticheat::cheat_monitor::check_pages). *Thread Blocking Hooks RtlUserThreadStart and checks if the designated address of execution for the thread is within the correct memory bounds. In this case, it is called "image-only execution", where only threads within the primary image (and some other excluded images such as ucrtbased.dll) are allowed to have threads run. If a thread is running outside of these bounds then it is detected as malicious inside an invalid execution space. This also prevents debuggers from attaching the process since RtlUserThreadStart is executed before DbgUiRemoteBreakIn is called which executes outside of the secure boundaries. *Memory Honeypots Memory honeypots are created within the init routine, where memory pages aren't yet accessed, but when they are (which they shouldn't be), it is detected. Prevents "cheat" scanners. *Anti-Debugging Checks the PEB directly (instead of using IsDebuggerPresent, which can be easily looked up) for the value of the BeingDebugged flag as well as the value of NtGlobalFlag. Prone to just directly modifying the BeingDebugged flag to bypass this check though. DbgUiRemoteBreakIn is blocked because debug threads can't be executed in the process (DebugActiveProcess executes a thread within the process, but our process has memory bounds checking, simplified when thread scanning is mentioned.) TBA: Arbitrary Vectored Exception Handling Detection *Protected Functions Similar in concept to a memory integrity check, but specifically detects if Winsock routines designated as "protected" are hooked/modified, preventing user-mode packet modification and reading by software such as WPE Pro and rPE. *Process Scanner Scans each process based on the contents (process name, window name) and unique memory signature. *Module Scanner Scans the loaded modules in the process for any with blacklisted names. Download: RudiAC-master.zip
    1 point
  7. Freebsd 13.2+ Mariadb 10.6.16 pkg install python3 Download: [Hidden Content]
    1 point
  8. Download: [Hidden Content]
    1 point
  9. Open uiToolTip.py and do these steps: # Add at the top (under imports): ENABLE_HIGHLIGHT_ATTR_VALUE = True # Search for: ENABLE_COLOR = grp.GenerateColor(0.7607, 0.7607, 0.7607, 1.0) DISABLE_COLOR = grp.GenerateColor(0.9, 0.4745, 0.4627, 1.0) # Add under: if ENABLE_HIGHLIGHT_ATTR_VALUE: NORMAL_COLOR_HEX = 0xffC2C2C2 NORMAL_COLOR_STR = "C2C2C2" NEGATIVE_COLOR_HEX = 0xffE67976 NEGATIVE_COLOR_HIGHLIGHT_STR = "E15753" SPECIAL_POSITIVE_COLOR_HEX = 0xffB0DFB4 SPECIAL_POSITIVE_COLOR_HIGHLIGHT_STR = "7CDB84" SPECIAL_POSITIVE_COLOR2_HEX = 0xffE1FAE1 SPECIAL_POSITIVE_COLOR2_HIGHLIGHT_STR = "A0FBA0" SPECIAL_POSITIVE_COLOR5_HEX = 0xffC8E6CD SPECIAL_POSITIVE_COLOR5_HIGHLIGHT_STR = "91E29F" # Search for: affectColor = self.__GetAttributeColor(i, value) # Add under: if ENABLE_HIGHLIGHT_ATTR_VALUE and self.CanEquip(): hightlightColor = self.__GetAttributeHighlightColor(affectColor) value_pos = affectString.find(str(value)) if value_pos > 1: value_text = affectString[value_pos - 1:] affectString = "{}|cff{}{}|r".format(affectString[:value_pos - 1], hightlightColor, value_text) elif value_pos == 0: value_text = affectString[:value_pos + len(str(value)) + 1] affectString = "|cff{}{}|r{}".format(hightlightColor, value_text, affectString[len(value_text):]) # Search for: def __GetAttributeColor(self, index, value): if value > 0: if index >= player.ATTRIBUTE_SLOT_RARE_START and index < player.ATTRIBUTE_SLOT_RARE_END: return self.SPECIAL_POSITIVE_COLOR2 else: if index == player.ATTRIBUTE_SLOT_NORM_END: return self.SPECIAL_POSITIVE_COLOR5 else: return self.SPECIAL_POSITIVE_COLOR elif value == 0: return self.NORMAL_COLOR else: return self.NEGATIVE_COLOR # Replace with: if ENABLE_HIGHLIGHT_ATTR_VALUE: def __GetAttributeHighlightColor(self, color): if color == self.NORMAL_COLOR_HEX: return self.NORMAL_COLOR_STR elif color == self.SPECIAL_POSITIVE_COLOR_HEX: return self.SPECIAL_POSITIVE_COLOR_HIGHLIGHT_STR elif color == self.SPECIAL_POSITIVE_COLOR2_HEX: return self.SPECIAL_POSITIVE_COLOR2_HIGHLIGHT_STR elif color == self.NEGATIVE_COLOR_HEX: return self.NEGATIVE_COLOR_HIGHLIGHT_STR else: return self.SPECIAL_POSITIVE_COLOR5_HIGHLIGHT_STR def __GetAttributeColor(self, index, value): if value > 0: if index >= player.ATTRIBUTE_SLOT_RARE_START and index < player.ATTRIBUTE_SLOT_RARE_END: return self.SPECIAL_POSITIVE_COLOR2_HEX else: if index == player.ATTRIBUTE_SLOT_NORM_END: return self.SPECIAL_POSITIVE_COLOR5_HEX else: return self.SPECIAL_POSITIVE_COLOR_HEX elif value == 0: return self.NORMAL_COLOR_HEX else: return self.NEGATIVE_COLOR_HEX else: def __GetAttributeColor(self, index, value): if value > 0: if index >= player.ATTRIBUTE_SLOT_RARE_START and index < player.ATTRIBUTE_SLOT_RARE_END: return self.SPECIAL_POSITIVE_COLOR2 else: if index == player.ATTRIBUTE_SLOT_NORM_END: return self.SPECIAL_POSITIVE_COLOR5 else: return self.SPECIAL_POSITIVE_COLOR elif value == 0: return self.NORMAL_COLOR else: return self.NEGATIVE_COLOR
    1 point
  10. 1 point
  11. Search in Userinterface bool CPythonNetworkStream::RecvDamageInfoPacket() Available in bTarget = (pInstTarget == m_pInstTarget); Add below if (!bTarget) bTarget = pInstTarget->IsPC(); who like to add multipledmg to mosters/stone/pc char_battle.cpp if (IsPC() == true || (pAttacker->IsPC() == true && pAttacker->GetTarget() == this)) Replace with if (IsPC() || pAttacker->IsPC()) // Allow damage info for both PCs and mobs InstanceBaseEffect.cpp else if (bTarget == false) { strDamageType = "nontarget_"; rdwCRCEft = EFFECT_DAMAGE_NOT_TARGET; return false; } Replace with else if (bTarget == true) { strDamageType = "nontarget_"; rdwCRCEft = EFFECT_DAMAGE_NOT_TARGET; return true; } PythonNetworkStreamPhaseGame.cpp add under bool bTarget = (pInstTarget == m_pInstTarget); in bool CPythonNetworkStream::RecvDamageInfoPacket() This if (!bTarget) bTarget = pInstTarget->IsPC();
    1 point
  12. Check if you have this, if not, add this system [Hidden Content] this system is generally available in martysama files. Open: imput_main.cpp #Add #include "../../common/PulseManager.h" //pulse manager sayesinde anticheat #In imput_main.cpp search int CInputMain::Analyze(LPDESC d, BYTE bHeader, const char * c_pData) { LPCHARACTER ch; if (!(ch = d->GetCharacter())) { sys_err("no character on desc"); d->SetPhase(PHASE_CLOSE); return (0); } int iExtraLen = 0; #Add under if (bHeader == HEADER_CG_CHARACTER_MOVE) { if (ch && !PulseManager::Instance().IncreaseCount(ch->GetPlayerID(), ePulse::GuildComment, std::chrono::milliseconds(500), !POINT_MOV_SPEED)) { // ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("Please stop anti-hack thank.1111111111111")); // ch->Move(pinfo->lX, pinfo->lY); ch->UpdatePacket();//anlik guncelleme // ch->UpdateSectree(); // ch->Update(); // ch->ComputePoints(); // ch->GetDesc()->DelayedDisconnect (7); return (iExtraLen); } } if (bHeader == HEADER_CG_ATTACK) { if (ch && !PulseManager::Instance().IncreaseCount(ch->GetPlayerID(), ePulse::CommandRequest, std::chrono::milliseconds(500), !POINT_ATT_SPEED)) { // ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("Please stop anti-hack thank.1111111111111")); // ch->Move(pinfo->lX, pinfo->lY); ch->UpdatePacket();//anlik guncelleme // ch->UpdateSectree(); // ch->Update(); // ch->ComputePoints(); // ch->GetDesc()->DelayedDisconnect (7); return (iExtraLen); } } #In this documents packet.h packet_info.cpp input_main.cpp input_login.cpp #Change HEADER_CG_MOVE #With HEADER_CG_CHARACTER_MOVE if you get an error, change it like this while building char.cpp input_main.cpp packet.h HEADER_GC_MOVE Change with HEADER_GC_CHARACTER_MOVE
    1 point
  13. 1 point
×
×
  • Create New...

Important Information

Terms of Service

Write what you are looking for and press enter or click the search icon to begin your search