Lahap Dupe Protection

Results 1 to 6 of 6
  1. #1
    Retired Old Man Shatter is offline
    MemberRank
    Jun 2008 Join Date
    NowhereLocation
    1,884Posts

    idea Lahap Dupe Protection

    thought this might come handy for the mu coders who are out there, since i left myself and have all kinds of stuff lying around useless guess dont mind releasing some, after all sharing is caring

    Structs
    Code:
    struct tagInterfaceState 
    {
    /*<bitfield this+0x0>*/ /*|0x4|*/ unsigned long use:2;
    /*<bitfield this+0x0>*/ /*|0x4|*/ unsigned long state:4;
    /*<bitfield this+0x0>*/ /*|0x4|*/ unsigned long type:0xA;
    };
    
    THE CODE BELOW GOES TO OBJECTSTRUCT
    
    /*<thisrel this+0xe74>*/ /*|0x4|*/ struct tagInterfaceState m_IfState;
    Lahap Protection
    Code:
    case 0xBC:
    if(ObjTable[aIndex].m_IfState.use > 0 && ObjTable[aIndex].m_IfState.type != 12)
    return false;
    break;
    this piece of code checks the states, and if someone tries to dupe, gs returns a false and breaks the action. yet simple but effective.

    in addition you can implement a logger and/or an individual system, some kind of punishment system for example.

    Example 1
    Code:
    case 0xBC:
    if(ObjTable[aIndex].m_IfState.use > 0 && ObjTable[aIndex].m_IfState.type != 12)
    LogAddFunc(2,"[Anti-Hack][Trade Dupe] [Lahap] (%s)(%s)",gObj->AccountID,gObj->Name);
    return false;
    break;
    Example 2
    Code:
    case 0xBC:
    if(ObjTable[aIndex].m_IfState.use > 0 && ObjTable[aIndex].m_IfState.type != 12)
    LogAddFunc(2,"[Anti-Hack][Trade Dupe] [Lahap] (%s)(%s)",gObj->AccountID,gObj->Name);
    DupeProtection(aIndex);
    return false;
    break;
    
    -----
    
    void DupeProtection(aIndex)
    {
    if (DupePunishmentSystem = 0)
    {
    return;
    }
    if (PunishmentType = 1)
    {
    GCServerMsgStringSend("Kiss My Ass Nawb",aIndex,1);
    }
    if (PunishmentType = 2)
    {
    GCServerMsgStringSend("Hai, You Just Got BANNED",aIndex,1);
    SQL.Execute(UPDATE MuOnline.dbo.MEMB_INFO SET ctl1_code = '1' WHERE memb___id = '%s'",gObj->AccountID);
    }
    else
    {
    do nothing
    }
    }
    Definitions
    Code:
    #define LogAddFunc ((void(*) (unsigned char cor,char* Texto,...)) 0x00403CC9) <- For 1.00.18 GS
    This is useful only up to .18 gs since it has been fixed by webzen on .66 and later versions.


    Have Fun, Shatter


  2. #2
    Alpha Member iBimbo is offline
    MemberRank
    Oct 2007 Join Date
    Section 192Location
    2,423Posts

    re: Lahap Dupe Protection

    Source codes belongs to Guides now ;)

  3. #3
    iNewLegend , Leo123 zolamu is offline
    MemberRank
    Apr 2006 Join Date
    Холон, IsrLocation
    737Posts

    Re: Lahap Dupe Protection

    first time fixed by me and drakelv ;)

  4. #4
    Rawwwwr! devisz is offline
    MemberRank
    Aug 2009 Join Date
    291Posts

    Re: Lahap Dupe Protection

    so who care if that wasn t released for community ?

    Thanks shatter

  5. #5
    Proficient Member josesp is online now
    MemberRank
    Mar 2009 Join Date
    186Posts

    Re: Lahap Dupe Protection

    Quote Originally Posted by devisz View Post
    so who care if that wasn t released for community ?

    Thanks shatter
    uhm, i think leo or drakelv release it, on coderzfactory forums, i dont know if was there today

    Edit: i think was on his S3 EP1 Project, no?
    Edit2: the source are differents but the idea is the same
    Last edited by josesp; 22-01-10 at 08:45 PM.

  6. #6
    Rawwwwr! devisz is offline
    MemberRank
    Aug 2009 Join Date
    291Posts

    Re: Lahap Dupe Protection

    was smth included in his files, not something usefull for others who use other versions



Advertisement