Results 1 to 10 of 21

Thread: isTouching()

Threaded View

Previous Post Previous Post   Next Post Next Post
  1. #9
    Private First Class
    Join Date
    Oct 2013
    Posts
    219
    Thanks
    56
    Thanked 105 Times in 66 Posts
    Here is disablePickup()

    Usage example:
    PHP Code:
    self disablePickup(true); 
    Also make sure to set disablePickup(bool) on player connect so it will reset properly.

    Installation
    Open gsc.cpp, CTRL + F and search for "resetNextReliableTime". Then add the following on a new line;
    PHP Code:
    {"disablepickup"         gsc_player_disable_pickup     0}, 
    Open gsc_player.hpp, CTRL + F and search for "void gsc_player_resetNextReliableTime(int id);". Then add the following on a new line;
    PHP Code:
    void gsc_player_disable_pickup(int id); 
    Open gsc_player.cpp, CTRL + F and search for "// entity functions". Then add the following on a new line;
    PHP Code:
    void gsc_player_disable_pickup(int id)
    {
        
    int disable;
        
        if ( ! 
    stackGetParams("i", &disable)) {
            
    printf("scriptengine> ERROR: gsc_player_allow_pickup(): param \"disable\"[1] has to be an integer!\n");
            
    stackPushUndefined();
            return;
        }
        
        
    extern int disable_player_pickup[64];
        
        if(
    disable)
            
    disable_player_pickup[id] = (1);
        else
            
    disable_player_pickup[id] = (0);

    Open libcod.cpp, CTRL + F and search for "int hook_RemoteCommandTime(void)". Then add the following function before "int hook_RemoteCommandTime(void)";
    PHP Code:
    int disable_player_pickup[64] = {0};
    int clientaddress_to_num(int client);

    cHook *hook_disable_pickup;
    int disable_pickup(int a1int a2int a3)
    {
        
    int addrtyperet 0;
        
    int clientnum clientaddress_to_num(a2);
        
    extern int playerinfo_baseplayerinfo_size;
        if(*(
    int*)(*(int*)playerinfo_base clientnum playerinfo_size) == && !disable_player_pickup[clientnum])
        {
            
    hook_disable_pickup->unhook();
            
    signed int (*sig)(int a1int a2int a3);
            *(
    int *)&sig hook_disable_pickup->from;
            
    ret sig(a1a2a3);
            
    hook_disable_pickup->hook();
        }
        return 
    ret;

    Also while in libcod.cpp, add search and add the following new lines depending on your version;

    1.0;
    Search for "cracking_hook_call(0x080707C3, (int)Scr_GetCustomMethod);"

    Add the following on a new line;
    PHP Code:
                hook_disable_pickup = new cHook(0x080DCC7A, (int)disable_pickup);
                
    hook_disable_pickup->hook(); 
    1.2;
    Search for "cracking_hook_call(0x08070D3F, (int)Scr_GetCustomMethod);"

    Add the following on a new line;
    PHP Code:
                hook_disable_pickup = new cHook(0x080DF25A, (int)disable_pickup);
                
    hook_disable_pickup->hook(); 
    1.3;
    Search for "cracking_hook_call(0x08070E0B, (int)Scr_GetCustomMethod);"

    Add the following on a new line;
    PHP Code:
                hook_disable_pickup = new cHook(0x080DF39E, (int)disable_pickup);
                
    hook_disable_pickup->hook(); 
    Compile your version and you are done.

  2. The Following User Says Thank You to filthy_freak_ For This Useful Post:

    Mitch (19th June 2015)

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •