ATTACK2
Forum




Throwing Machete Script
34 repliesATTACK2
BrahOrkah has written
when you say copy and paste it in server.lua do you mean the thing like dofile("sys/lua/SCRIPT.lua") like that or i paste the SCRIPT ITSELF to server.lua? ok sorry i know im stupid but i dont script that much so tell me what i have to put in or edit here to make this work and if it is possible in right click can you do it :X well thats up to you because you migt get pissed if u remake the script but anyway what do i put in? MISTERpinoy has written
Brah0rkah it works fine but ithink he wants it on right click
ATTACK2
ATTACK2
Problem is that machete doesn't have a second attack.. It wont fire the attack2 function when you right click, so there's no point in doing that. U can reskin the knive to a machete and then it will work if u replace attack with attack2. ( and change weapon id to knive_id)
Other guy:
you can:
1. copy paste it DIRECTLY into server.lua... ( delete everything else)
2.create a new script ( blabla.lua) and type in server.lua: dofile("sys/lua/blabla.lua") in case blabla is located in sys/lua.
edited 1×, last 13.04.11 05:52:32 pm
binding? you can just do binding?
use the binding key like this
parse bind rightclick throwmachete
Lua scripts are run on the server, and can't force clients to bind a key to something.
You could just use:
1
addhook("attack2","machete_throw")
DannyDeth has written
bind rightclick? lol.
You could just use:
You could just use:
1
addhook("attack2","machete_throw")
No this is not gonna work because machete DOESN'T trigger attack2 ever.
wtf what a *****
MISTERpinoy has written
then just use knife?
wtf what a *****
wtf what a *****
Hey, I'm not gonna help you if you are badmouthing me.
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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
--[[Constants]]-- rpiconst = 180/math.pi imagepath = "gfx/weapons/machete.bmp" -- path to imagepath speed = 25--speed of machete rotation_speed = 60 -- rotation speed tileconst = 32 collisionradius = 50 MACHETES = {} machete = {} machete_mt = {__index = machete} function machete:new(x,y,dir,rot,playerid) return setmetatable({x=x,y=y,dir=dir,rot=rot,id =nil, imageid = nil, pid = playerid},machete_mt) end function machete:draw() self.imageid = image(imagepath,self.x,self.y,1) end function machete:update() self.y = self.y - (math.cos(self.dir)*speed) self.x = self.x + (math.sin(self.dir)*speed) self.rot = self.rot + rotation_speed if self.rot >= 360 then self.rot = 0 end local t,x,y = self:wall_collision() if(t) then self:destroy() fall_x,fall_y = (x - round(math.sin(self.dir))),y + round(math.cos(self.dir)) parse('spawnitem 69 '..fall_x..' '..fall_y) end if(self.x > (map("xsize")*tileconst) or self.x < 0 or self.y > (map("ysize")*tileconst) or self.y < 0) then self:destroy() else imagepos(self.imageid,self.x,self.y,self.rot) end self:player_collision() end function machete:wall_collision() local xt,yt = math.floor(self.x/tileconst),math.floor(self.y/tileconst) return not tile(xt,yt,"walkable"),xt,yt end function machete:destroy() freeimage(self.imageid) table.remove(MACHETES,self.id) for i,m in ipairs(MACHETES) do m.id = i end end function machete:player_collision() local players = player(0,"tableliving") for i=1,#players,1 do if i ~= self.pid then local dis = (self.x - player(players[i],"x"))^2 + (self.y - player(players[i],"y"))^2 if dis <= 400 then parse('customkill '..self.pid..' "Throwing Machete" '..players[i]) self:destroy() local x,y = math.floor(player(players[i],"x")/32),math.floor(player(players[i],"y")/32) parse('spawnitem 69 '..x..' '..y) return end end end end addhook("attack2","my_attack2") function my_attack2(id,mode) if player(id,"weapontype") == 50 then parse('strip '..id..' 51') local m = machete:new(player(id,"x"),player(id,"y"),toRad(player(id,"rot")),0,id) table.insert(MACHETES,m) m.id = #MACHETES m:draw() end end addhook( "ms100","my_ms100") function my_ms100() for i,v in ipairs(MACHETES) do v:update() end end function toRad(deg) return (deg / rpiconst) end function round(d) if d < 0 then return math.floor(d) else return math.ceil(d) end end
Argh, I forgot that weapons that don't have an 'attack2' won't call the attack2 hook. I feel like a complete moron

1
Moron




edited 1×, last 22.04.11 07:22:50 am