Forum

> > CS2D > Scripts > Longshot Script
Forums overviewCS2D overview Scripts overviewLog in to reply

English Longshot Script

8 replies
To the start Previous 1 Next To the start

old Longshot Script

XSmoker
User Off Offline

Quote
Can anyone make a script that by killing a player without seeing, in the center of the screen appears a message saying, Player Killed distance!

Sorry for error! √

old Re: Longshot Script

archmage
User Off Offline

Quote
I guess by "without seeing" you mean offscreen so...

1
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

old Cant make it work, help?

asdbanana
User Off Offline

Quote
user 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
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!

old Re: Longshot Script

DannyDeth
User Off Offline

Quote
@TheArchMage:
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
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

old Re: Longshot Script

archmage
User Off Offline

Quote
@Danny
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
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

old Re: Longshot Script

DC
Admin Off Offline

Quote
@user archmage: you can't use this method because the screen is a rectangle (assumed that we are really talking about seeing/not seeing the victim). it would work if your screen is a circle but it isn't. it's very imprecise that way.

old Re: Longshot Script

Apache uwu
User Off Offline

Quote
So would this work?

1
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

old Re: Longshot Script

Chex
User Off Offline

Quote
user Apache uwu has written
So would this work?

1
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.

old Re: Longshot Script

XSmoker
User Off Offline

Quote
user Apache uwu has written
So would this work?

1
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.
To the start Previous 1 Next To the start
Log in to reply Scripts overviewCS2D overviewForums overview