instructions
replace the addexp function in functions.lua with this
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
function init0arr32() 	local ret={} 	for i=1,32 do 		ret[i]=0 	end 	return ret end dblPtnTm=init0arr32() trpplPtnTm=init0arr32() function addexp(id, exp) 	if trpplPtnTm[id]>0 then 		PLAYERS[id].Experience = PLAYERS[id].Experience + exp*3 	elseif dblPtnTm[id]>0 then 		PLAYERS[id].Experience = PLAYERS[id].Experience + exp*2 	else 		PLAYERS[id].Experience = PLAYERS[id].Experience + exp 	end 	local prevlevel = PLAYERS[id].Level 	while PLAYERS[id].Experience >= EXPTABLE[PLAYERS[id].Level+1] do 		PLAYERS[id].Level = PLAYERS[id].Level + 1 	end 	if prevlevel ~= PLAYERS[id].Level then 		parse('effect "colorsmoke" ' .. player(id, 'x') .. ' ' .. player(id, 'y') .. ' 0 64 0 128 255') 		message(id, "You have leveled up to level " .. PLAYERS[id].Level .. "!") 		parse("sv_sound2 " .. id .. " fun/Victory_Fanfare.ogg") 	end 	updateHUD(id) 	return true end addhook("leave","ptnLv") function ptnLv(id) 	dblPtnTm[id]=0 	trpplPtnTm[id]=0 end addhook("second","ptnScnd") function ptnScnd() 	for i=1,32 do 		dblPtnTm[i]=dblPtnTm[i]-1 		trpplPtnTm[i]=trpplPtnTm[i]-1 	end end
items
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
[110] = { 		name = "double exp potion", 		desc = "Doubes the amount of exp you get temporary.", 		r = 255, g = 255, b = 0, 		action = {"drink"}, 		fimage = "gfx/weiwen/rune.png", --edit --image when dropped 		func = {function(id,itemslot,itemid,equip) 			radiusmsg(player(id,"name") .. " drinks a exp potion.", player(id,"x"), player(id,"y")) 			dblPtnTm[id]=500 --edit --duration in seconds 			destroyitem(id, itemslot, equip) 		end}, 	}, 	[111] = { 		name = "tripple exp potion", 		desc = "Tripples the amount of exp you get temporary.", 		r = 255, g = 255, b = 0, 		action = {"drink"}, 		fimage = "gfx/weiwen/rune.png", --edit --image when dropped 		func = {function(id,itemslot,itemid,equip) 			radiusmsg(player(id,"name") .. " drinks a exp potion.", player(id,"x"), player(id,"y")) 			trpplPtnTm[id]=500 --edit --duration in seconds 			destroyitem(id, itemslot, equip) 		end}, 	},
This should work, the effects expire after the durations run off or the player leaves.
It's not stackable. Drinking another potion will reset the duration.
Only one potion type can be active. That means:
If you drink a double exp potion and a tripple exp potion only the tripple exp potion has an effect