Sorry for error!
Forum
CS2D Scripts Longshot ScriptLongshot Script
8 replies 1
Sorry for error!
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
local longshot_distsq = 640^2 + 480^2 + 32 addhook("kill", "longshot_kill") function longshot_kill(k,v) 	local x, y, x2, y2 	x = player(k, "x"); y = player(k, "y") 	x2 = player(v, "x"); y2 = player(v, "y") 	local distsq = (x2 - x)^2 + (y2 - y)^2 	if ( distsq >= longshot_distsq ) then 		msg2(k, "Longshot!"); 	end end
archmage has written
I guess by "without seeing" you mean offscreen so...
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
local longshot_distsq = 640^2 + 480^2 + 32 addhook("kill", "longshot_kill") function longshot_kill(k,v) 	local x, y, x2, y2 	x = player(k, "x"); y = player(k, "y") 	x2 = player(v, "x"); y2 = player(v, "y") 	local distsq = (x2 - x)^2 + (y2 - y)^2 	if ( distsq >= longshot_distsq ) then 		msg2(k, "Longshot!"); 	end end
Hey! I Wanna have this one aswell but idk how do make it work!? Help please?, Message me!
Your script is really quite crappy. Distance function is wrong, will be like half way across some maps and the shot will still not count as a distance shot.
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
addhook("hit","longshot") function longshot(victim,killer,wpn,hpdmg) 	if(hpdmg >= player(victim,"health")) then 		if( ( player(victim,"x")-player(killer,"x") > 680 or player(victim,"x")-player(killer,"x") < -680 ) ) or ( player(victim,"x")-player(killer,"y") > 520 or player(victim,"y")-player(killer,"y") < -520 ) ) then 			msg("©255000000Longshot kill by player '"..player(killer,"name").."'!") 		end 	end end
I thought I could leave out the sqrt and save an insignificant amount of time. If I checked like this: dist^2 >= lshot_dist^2
Fixed code:
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
local longshot_distsq = (320^2 + 240^2 + 32)^0.5 addhook("kill", "longshot_kill") function longshot_kill(k,v) 	local x, y, x2, y2 	x = player(k, "x"); y = player(k, "y") 	x2 = player(v, "x"); y2 = player(v, "y") 	local distsq = ((x2 - x)^2 + (y2 - y)^2)^0.5 	if ( distsq >= longshot_distsq ) then 		msg2(k, "Longshot!"); 	end end
1
2
3
4
5
6
7
2
3
4
5
6
7
addhook("kill","_kill") function _kill(killer,victim,weapon,x,y)	 	if math.abs(player(killer,"x")-x)>320 or math.abs(player(killer,"y")-y)>240 then 		msg2(killer,"Longshot!") 	end end
Apache uwu has written
So would this work?
1
2
3
4
5
6
7
2
3
4
5
6
7
addhook("kill","_kill") function _kill(killer,victim,weapon,x,y)	 	if math.abs(player(killer,"x")-x)>320 or math.abs(player(killer,"y")-y)>240 then 		msg2(killer,"Longshot!") 	end end
Yeah that looks about right.
Apache uwu has written
So would this work?
1
2
3
4
5
6
7
2
3
4
5
6
7
addhook("kill","_kill") function _kill(killer,victim,weapon,x,y)	 	if math.abs(player(killer,"x")-x)>320 or math.abs(player(killer,"y")-y)>240 then 		msg2(killer,"Longshot!") 	end end
Thanks Ketamire! its work! Sorry for bad english.
1