Post Reply 
 
Thread Rating:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Loot Delay
Author Message
hctez
Apprentice
*

Posts: 11
Likes Given: 0
Likes Received: 0 in 0 posts
Joined: Apr 2012
Reputation: 0



Post: #1
Loot Delay
Hello.

There are a lot of programs that let you make a macro to loot items from corpses really fast, i'm trying to add a delay to this.
Basically i want to be able to detect when someone is looting too fast (for a human) and put a delay there, without affecting normal players looting.

My idea was to create a tag when a player starts looting, adding +1 each time he picks an item, but also having a timer, that removes -1 (from the tag) each second.
And if the tag reaches a certain number, then the player can't loot for X seconds.

I was wondering if maybe someone already did something like this or has some tips.

Thanks
08-11-2015 03:01 PM
Find all posts by this user Like Post Quote this message in a reply
XuN
Sphere Developer
*****

Posts: 852
Likes Given: 102
Likes Received: 156 in 119 posts
Joined: Jul 2013
Reputation: 30



Post: #2
RE: Loot Delay
Code:
[TYPEDEF t_corpse]//Overriding default corpse

ON=@PICKUP_SELF
IF ((<SRC.ISGM>) || (<SRC.Brain>))
    return 0
endif
IF (<SERV.Time>>=<SRC.CTAG0.Loot>)    // Anti Fast Loot.
    SRC.CTAG.Loot=<Eval <SERV.Time>+2>//Creating a 0.2s delay between looted items
ELSE //If player picks up another item before these 0.2s he receives a penalty of another +0.2s
    SRC.CTAG.Loot +=2
    //SRC.sysmessage=You are looting so fast, you can only loot one item each 0.2s, you have a penalty of +0.2s.
    Return 1
ENDIF

Additionally, if you don't like Corpse's AutoOpen you can add a tag on the corpse when the character dies like
Code:
//character trigger
ON=@Death
TAG.DeathTime=<SERV.Time>+2

//t_corpse trigger
ON=@DClick
if (<TAG0.DeathTime> > <SERV.TIME>)
return 1
endif
08-11-2015 06:08 PM
Find all posts by this user Like Post Quote this message in a reply
Post Reply 


Forum Jump:


User(s) browsing this thread: 1 Guest(s)