Forum

> > CS2D > Scripts > bot doesent work correct
Forums overviewCS2D overview Scripts overviewLog in to reply

English bot doesent work correct

No replies
To the start Previous 1 Next To the start

old bot doesent work correct

EnderCrypt
User Off Offline

Quote
my bot doesent work correct, it gives error:
LUA ERROR: attempt to call a nil value
mosltly after it killed its target, its suppose to walk random untill someone in vision and range shots...

but it seems like only the bot with highest id reacts

im pretty new to lua nd dont se the wrong

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
direction = {}
mode = {}
target = {}

i = 0
while (i <= 32) do
i = i + 1
direction [i]= 0
mode [i] = 1
target [i] = 0
end
addhook ("attack","player_attack")
addhook ("die","player_die")
addhook ("movetile","player_new_tile")

function ai_update_dead(id)
ai_respawn(id)
end

function ai_onspawn(id)
mode [id] = 1
parse ("setname "..id.." police bot")
parse ("equip "..id.." 1")
parse ("equip "..id.." 81")
direction [id] = math.random (0,360)
end

function ai_update_living(id)
if mode [id] == 1 then
direction [id] = direction [id] + math.random (-10,10)
ai_move(id,direction[id],0)
ai_rotate(id,direction[id])
function player_attack (id_shot)
i = 0
while (i <= 32) do
i = i + 1
if (player(i,"bot")) == true then
if (player(id_shot,"bot")) == false then
if (id_shot == i) == false then
if ai_freeline(id,player(id_shot,"x"),player(id_shot,"y")) then
if (math.sqrt((player(id,"x") - player(id_shot,"x"))^2 + (player(id,"y") - player(id_shot,"y"))^2)) < 250 then
mode [i] = 2
target [i] = id_shot
end
end
end
end
end
end
end
end
if mode [id] == 2 then
if (player(target[id],"health")) > 0 then
if ai_freeline(id,player(target [id],"x"),player(target [id],"y")) then
ai_aim(id,player(target [id],"x"),player(target [id],"y"))
ai_move(id,player(id,"rot"),1)
ai_iattack(id)
else
mode [id] = 1
target [id] = 0
end
end
end
function player_new_tile (id_move,x,y)
if id_move == id then
ai_use(id)
end
end
end

function ai_hear_radio(source,radio)

end

function ai_hear_chat(source,msg,teamonly)

end
To the start Previous 1 Next To the start
Log in to reply Scripts overviewCS2D overviewForums overview