English teleportation with smoke grenade

5 replies
Goto Page
To the start Previous 1 Next To the start
Up
Hey, I need a script that will teleport a player to wherever his Smoke Grenade lands.
06.07.19 10:07:54 pm
Up
DC
Admin
Offline Off
Use the cs2d lua hook projectile-hook, check if the projectile is a smoke grenade (http://www.cs2d.com/img/ref_items.png, type 53) and then set the player position to the x and y values of the hook with cs2d cmd setpos!
www.UnrealSoftware.de | www.CS2D.com | www.CarnageContest.com | Use the forum & avoid PMs!
06.07.19 11:28:33 pm
Up
@user DC: where is the fail?


function Array(size,value)
local array = {}
for i = 1, size do
array[i]=value
end
return array
end

mx = Array(32,0)
my = Array(32,0)

timer(150,"requestdata","",0)


function requestdata()
reqcld(0,2)
end



addhook("clientdata","clientdata")
function clientdata(id,mode,x,y)
if mode == 2 then
mx[id] = x
my[id] = y
end
end

addhook("attack","client")
function client(id)
if player(id,"weapon") == 53 then
parse("setpos "..id.." "..mx[id].." "..my[id].."")
end
end
06.07.19 11:38:08 pm
Up
Goo
User
Offline Off
Code:
1
2
3
4
5
6
7
8
9
local exec = parse

function projectile_launch(p, wpn, x, y)
     if wpn == 53 then
          exec('setpos ' .. p .. ' ' .. x .. ' ' .. y)
     end
end

addhook('projectile', 'projectile_launch')
07.07.19 12:35:20 am
Up
DC
Admin
Offline Off
@user haha1955: Please use the code-tag when sharing code!
I see what you're doing there. Requesting the cursor position all the time and setting the player to that position when he attacks. That's a legit approach and it should work as well (didn't try it).

The problems
• it's complicated
• causes a lot of traffic because cursor position is requested all the time (you can use the cs2d lua cmd player command instead with "mousemapx" and "mousemapy")
• it's not what you asked for. It moves the player to the position at which he AIMED the moment THROWING the grenade. That's not the position were the grenade will land (e.g. when you aim at a spot behind a wall)

user Goo wrote the code exactly like I suggested. That one should work fine and matches what you asked for.
www.UnrealSoftware.de | www.CS2D.com | www.CarnageContest.com | Use the forum & avoid PMs!
07.07.19 02:07:42 pm
Up
@user DC: okay...thx for the tutorial and the tips.

@user Goo: thx for your answer.
To the start Previous 1 Next To the start