[Development] Source Mu Main 1.03.35 [Season 5.1 - Season 5.2]

Page 25 of 25 FirstFirst ... 15171819202122232425
Results 361 to 370 of 370
  1. #361
    Member city7 is offline
    MemberRank
    May 2011 Join Date
    92Posts
    module_dll = LoadLibrary("Antihack.dll"); will it be better

  2. #362
    if(!caffeine) continue; leorond is offline
    MemberRank
    Jul 2012 Join Date
    Czech RepublicLocation
    479Posts
    Quote Originally Posted by city7 View Post
    module_dll = LoadLibrary("Antihack.dll"); will it be better
    Easier yes, better no. Your antihack will offline a small child with a debugger.

    I would also add. I'm not teaching you to program.
    I'll give you a piece of code to work on.
    If you hang a batch file in the game client without protection, it is easy to bypass this batch file.
    You have to think about the code and modify it, secure it.
    Use VM protection, add hang protection, add license protection,...

    I won't write all the code for you and I won't share the code I created for protection. In other words, I won't do all the work for you.
    Last edited by leorond; 01-12-22 at 11:21 AM.

  3. #363
    Novice login1 is offline
    MemberRank
    Sep 2014 Join Date
    4Posts
    Please tell me which server (with sources) is suitable for this client? And another question is, can I use the zTeam season 6 server files (for example these https://forum.ragezone.com/f197/rele...100-a-1156924/) ?

  4. #364
    if(!caffeine) continue; leorond is offline
    MemberRank
    Jul 2012 Join Date
    Czech RepublicLocation
    479Posts
    Quote Originally Posted by login1 View Post
    Please tell me which server (with sources) is suitable for this client? And another question is, can I use the zTeam season 6 server files (for example these https://forum.ragezone.com/f197/rele...100-a-1156924/) ?
    I have not tested which servers are compatible with these source codes.
    I edited season 4 for these resources.

    It will be best if you use source codes that have already been tested with the game client.

    Luis Fernando Más Ortiz
    LouisEmulator
    I want to thank the creator. Good work but no further development.
    Such a shame

  5. #365
    if(!caffeine) continue; leorond is offline
    MemberRank
    Jul 2012 Join Date
    Czech RepublicLocation
    479Posts
    Has anyone created the SKILL_ATTRIBUTE season 6 structure where the Rage Fighter is entered?
    I don't want to deal with it.

  6. #366
    Member city7 is offline
    MemberRank
    May 2011 Join Date
    92Posts
    I won't write all the code for you and I won't share the code I created for protection. In other words, I won't do all the work for you.

    typedef struct
    {
    char Name[32]; //32
    BYTE Level; //
    WORD Damage; //
    WORD Mana; //
    WORD AbilityGuage; //
    BYTE Distance; //
    DWORD Delay; //
    DWORD Energy; //所需能量(所需计算=20+(Reqeng*Level)*0.04)
    WORD Charisma; //Req_Level
    BYTE MasteryType; //Property_1
    BYTE SkillUseType; //技能用户类型。
    BYTE SkillBrand; //使用该技能必须施放的技能编号。
    BYTE KillCount; //KillCount
    BYTE RequireDutyClass[MAX_DUTY_CLASS]; //
    BYTE RequireClass[MAX_CLASS]; //
    BYTE TypeSkill; //80
    WORD Magic_Icon; // 76
    WORD m_byItemSkill; //84
    WORD m_byMasterSkillValAtt; //88
    WORD Strength; //
    WORD Dexterity; //
    BYTE m_Stnk[6];

    } SKILL_ATTRIBUTE;

    你个小老外 我以为有多吊。还不是个小垃圾

  7. #367
    if(!caffeine) continue; leorond is offline
    MemberRank
    Jul 2012 Join Date
    Czech RepublicLocation
    479Posts
    Quote Originally Posted by city7 View Post
    I won't write all the code for you and I won't share the code I created for protection. In other words, I won't do all the work for you.

    typedef struct
    {
    char Name[32]; //32
    BYTE Level; //
    WORD Damage; //
    WORD Mana; //
    WORD AbilityGuage; //
    BYTE Distance; //
    DWORD Delay; //
    DWORD Energy; //所需能量(所需计算=20+(Reqeng*Level)*0.04)
    WORD Charisma; //Req_Level
    BYTE MasteryType; //Property_1
    BYTE SkillUseType; //技能用户类型。
    BYTE SkillBrand; //使用该技能必须施放的技能编号。
    BYTE KillCount; //KillCount
    BYTE RequireDutyClass[MAX_DUTY_CLASS]; //
    BYTE RequireClass[MAX_CLASS]; //
    BYTE TypeSkill; //80
    WORD Magic_Icon; // 76
    WORD m_byItemSkill; //84
    WORD m_byMasterSkillValAtt; //88
    WORD Strength; //
    WORD Dexterity; //
    BYTE m_Stnk[6];

    } SKILL_ATTRIBUTE;

    你个小老外 我以为有多吊。还不是个小垃圾
    Nice, I had to do it myself anyway.

    Open Skill Eng.bmd in Magic Hand editor for Skill season 6.
    Write the Rage Fighter skill and save as skill_eng.bmd.

    The structure is like this.

    PHP Code:
    typedef struct
    {
        
    char Name[32];
        
    BYTE Level;
        
    WORD Damage;
        
    WORD Mana;
        
    WORD AbilityGuage;
        
    BYTE Distance;
        
    int  Delay;
        
    int Energy;
        
    WORD Charisma;
        
    BYTE MasteryType;
        
    BYTE SkillUseType
        
    BYTE SkillBrand
        
    BYTE KillCount;
        
    BYTE RequireDutyClass[MAX_DUTY_CLASS];
        
    BYTE RequireClass[MAX_CLASS];
        
    WORD Magic_Icon;
        
    BYTE TypeSkill;
        
    int Strength;
        
    int Dexterity;
    SKILL_ATTRIBUTE
    Then remove the CRC or find out the checksum for better security and it's OK.

  8. #368
    if(!caffeine) continue; leorond is offline
    MemberRank
    Jul 2012 Join Date
    Czech RepublicLocation
    479Posts
    I am also attaching the skill_eng.bmd file here with fully functional Rage fighter attacks.

    skill_eng.bmd

    The MagicHand editor must be used for editing.
    For example this one

    MagicHand editor

    You can turn off CRC like this

    PHP Code:
    if ( dwCheckSum != GenerateCheckSum2BufferSize*MAX_SKILLS0x5A18)) // With CRC
    if ( dwCheckSum == GenerateCheckSum2BufferSize*MAX_SKILLS0x5A18)) // Without CRC 
    Or better

    PHP Code:
    void OpenSkillScript(char *FileName)
    {
        
    FILE *fp fopen(FileName,"rb");
        if(
    fp != NULL)
        {
            
    int Size sizeof(SKILL_ATTRIBUTE);

            
    BYTE *Buffer = new BYTE [Size*MAX_SKILLS];
            
    fread(Buffer,Size*MAX_SKILLS,1,fp);

            
    BYTE *pSeek Buffer;
            for(
    int i=0;i<MAX_SKILLS;i++)
            {
                
    BuxConvert(pSeek,Size);
                
    memcpy(&SkillAttribute[i],pSeek,Size);
                
    pSeek += Size;
            }
            
    delete [] Buffer;
        }
        else
        {
            
    char Text[256];
            
    sprintf(Text,"%s - File not exist.",FileName);
            
    g_ErrorReport.WriteText);
            
    MessageBox(g_hWnd,Text,NULL,MB_OK);
            
    SendMessage(g_hWnd,WM_DESTROY,0,0);
        }

    Or even slightly better for the above skill_eng.bmd

    PHP Code:
    void OpenSkillScript(char *FileName)
    {
        
    FILE *fp fopen(FileName,"rb");
        if(
    fp != NULL)
        {
            
    int Size sizeof(SKILL_ATTRIBUTE);
            
    // 읽기
            
    BYTE *Buffer = new BYTE [Size*MAX_SKILLS];
            
    fread(Buffer,Size*MAX_SKILLS,1,fp);
            
    // crc 체크
            
    DWORD dwCheckSum;
            
    fread(&dwCheckSum,sizeof DWORD),1,fp);
            
    fclose(fp);
            
    //DWORD dwCheckSum2 = GenerateCheckSum2( Buffer, Size*MAX_SKILLS, 0x5A18);
            
    DWORD dwCheckSum2 7798882;
            if ( 
    dwCheckSum != dwCheckSum2)
            {
                
    char Text[256];
                
    sprintf(Text,"%s - File corrupted.",FileName);
                
    g_ErrorReport.WriteText);
                
    MessageBox(g_hWnd,Text,NULL,MB_OK);
                
    SendMessage(g_hWnd,WM_DESTROY,0,0);
            }
            else
            {
                
    BYTE *pSeek Buffer;
                for(
    int i=0;i<MAX_SKILLS;i++)
                {

                    
    BuxConvert(pSeek,Size);
                    
    memcpy(&SkillAttribute[i],pSeek,Size);

                    
    pSeek += Size;
                }
            }
            
    delete [] Buffer;
        }
        else
        {
            
    char Text[256];
            
    sprintf(Text,"%s - File not exist.",FileName);
            
    g_ErrorReport.WriteText);
            
    MessageBox(g_hWnd,Text,NULL,MB_OK);
            
    SendMessage(g_hWnd,WM_DESTROY,0,0);
        }

    I would add the most correct option to my answer.
    Set MAX_SKILLS to the number of lines in the Skill_eng.bmd file + 1.
    When using the correct number of lines for the correct BMD file, the CRC will successfully evaluate to key 0x5A18.

    PHP Code:
    void OpenSkillScript(char *FileName)
    {
        
    FILE *fp fopen(FileName,"rb");
        if(
    fp != NULL)
        {
            
    int Size sizeof(SKILL_ATTRIBUTE);
            
    // read
            
    BYTE *Buffer = new BYTE [Size*MAX_SKILLS];
            
    fread(Buffer,Size*MAX_SKILLS,1,fp);
            
    // crc check
            
    DWORD dwCheckSum;
            
    fread(&dwCheckSum,sizeof DWORD),1,fp);
            
    fclose(fp);
            
    DWORD dwCheckSum2 GenerateCheckSum2BufferSize*MAX_SKILLS0x5A18);
            if ( 
    dwCheckSum != dwCheckSum2)
            {
                
    char Text[256];
                
    sprintf(Text,"%s - File corrupted.",FileName);
                
    g_ErrorReport.WriteText);
                
    MessageBox(g_hWnd,Text,NULL,MB_OK);
                
    SendMessage(g_hWnd,WM_DESTROY,0,0);
            }
            else
            {
                
    BYTE *pSeek Buffer;
                for(
    int i=0;i<MAX_SKILLS;i++)
                {

                    
    BuxConvert(pSeek,Size);
                    
    memcpy(&SkillAttribute[i],pSeek,Size);

                    
    pSeek += Size;
                }
            }
            
    delete [] Buffer;
        }
        else
        {
            
    char Text[256];
            
    sprintf(Text,"%s - File not exist.",FileName);
            
    g_ErrorReport.WriteText);
            
    MessageBox(g_hWnd,Text,NULL,MB_OK);
            
    SendMessage(g_hWnd,WM_DESTROY,0,0);
        }

    Last edited by leorond; 3 Weeks Ago at 10:55 AM.

  9. #369
    if(!caffeine) continue; leorond is offline
    MemberRank
    Jul 2012 Join Date
    Czech RepublicLocation
    479Posts
    If you don't have the correct file, I recommend using the function

    PHP Code:
    void SaveSkillScript(char *FileName
    This function creates an empty Skill_eng.bmd file with the key 0x5A18.
    After that, just write all the spells into it and you have a fully functional CRC.

  10. #370
    Enthusiast son1xx2 is offline
    MemberRank
    Jul 2019 Join Date
    34Posts
    Old minimap,





Advertisement