Forum

> > CS2D > Scripts > key system
Forums overviewCS2D overview Scripts overviewLog in to reply

English key system

19 replies
To the start Previous 1 Next To the start

old key system

Q-Q
User Off Offline

Quote
Hi i need a lua script like this:

On your screen it has to show:
Red keys:
Blue Keys:
Green keys:
and orange keys:

Than what i need is like if you press a button you get for example a red key. So lets name that use trigger Red Key 1.
After that i need that i can open a dynwall with that key.
The name for the dynwall could be redkey 1.

I hope you people understand what i mean if you have any questions about than please feel free to ask
I think this is a bit a complex system but it would be nice if anyone could give this a schot

old Re: key system

Q-Q
User Off Offline

Quote
Like a sprite of a key and under it the trigger use so you can pick it up
But than with the key system included offcourse

old Re: key system

Anti-Grav
User Off Offline

Quote
Check with lua if the trigger_use is activated, if yes show/give the key to the player.

old Re: key system

Kel9290
User Off Offline

Quote
wtf are you talking about? o:
Spoiler >

old Re: key system

Q-Q
User Off Offline

Quote
Hmm let me test it you get result soon.
Hmm i am getting this error:
LUA ERROR: sys/lua/test.lua:1: '=' expected near 'name'
Whats wrong?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
button1_name = your "redkey" button name (button to pickup, example: "myuse")
dynwall_name = your "reddoor" name example: "mywall"
button2_name = your "haveredkey" button name (this button will open door if you have a key "mydynwalluse")


already = false
already2 = false
founded = false

addhook("trigger","_tr")
function _tr(n)
     if n==button1_name and already == false then
          already = true
          msg("You FOUND a key O:")
          founded = true
     elseif n==button2_name and founded==true and already2 == false then
          already2 = true
          parse("trigger "..dynwall_name)
          msg("The red door opened")
     end
edited 3×, last 04.11.11 03:41:29 pm

old Re: key system

Q-Q
User Off Offline

Quote
Ah wait i think i see it..
My mistake

Some one helped me already with fix
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
button1_name = "your "..redkey.." button name (button to pickup, example: "..myuse..""
dynwall_name = "your "..reddoor.." name example: "..mywall..""
button2_name = "your "..haveredkey.." button name (this button will open door if you have a key "..mydynwalluse..""


already = false
already2 = false
founded = false
addhook("trigger","_tr")
function _tr(n)
	if (n == button1_name) and (already == false) then
		already = true
		msg("You FOUND a key O:")
		founded = true
	elseif (n == button2_name) and (founded == true) and (already2 == false) then
		already2 = true
		parse("trigger "..dynwall_name)
		msg("The red door opened")
	end
end

old Re: key system

Kel9290
User Off Offline

Quote
facepalm
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
button1_name = "redkey"
dynwall_name = "reddoor"
button2_name = "haveredkey"


already = false
already2 = false
founded = false
addhook("trigger","_tr")
function _tr(n)
     if (n == button1_name) and (already == false) then
          already = true
          msg("You FOUND a key O:")
          founded = true
     elseif (n == button2_name) and (founded == true) and (already2 == false) then
          already2 = true
          parse("trigger "..dynwall_name)
          msg("The red door opened")
     end
end
make sure you named your entities same
ps. this script only for one door (red door)
edited 1×, last 04.11.11 06:10:34 pm

old Re: key system

Q-Q
User Off Offline

Quote
Hmm and what if i want more doors and more use triggers in one single lua?
Do i just have to copy the same principle under it?
like this?:

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
button1_name = "redkey"
dynwall_name = "reddoor"
button2_name = "haveredkey"


already = false
already2 = false
founded = false
addhook("trigger","_tr")
function _tr(n)
if (n == button1_name) and (already == false) then
already = true
msg("You FOUND a key O:")
founded = true
elseif (n == button2_name) and (founded == true) and (already2 == false) then
already2 = true
parse("trigger "..dynwall_name)
msg("The red door opened")
end
end

button1_name = "bluekey"
dynwall_name = "bluedoor"
button2_name = "havebluekey"


already = false
already2 = false
founded = false
addhook("trigger","_tr")
function _tr(n)
if (n == button1_name) and (already == false) then
already = true
msg("You FOUND a key O:")
founded = true
elseif (n == button2_name) and (founded == true) and (already2 == false) then
already2 = true
parse("trigger "..dynwall_name)
msg("The red door opened")
end
end

old Re: key system

Bowlinghead
User Off Offline

Quote
Thats wrong
You can't take 2times the same variables.

Maybe this:
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
button1_name = "redkey"
dynwall_name = "reddoor"
button2_name = "haveredkey"


already = false
already2 = false
founded = false
addhook("trigger","_tr")
function _tr(n)
if (n == button1_name) and (already == false) then
already = true
msg("You FOUND a key O:")
founded = true
elseif (n == button2_name) and (founded == true) and (already2 == false) then
already2 = true
parse("trigger "..dynwall_name)
msg("The red door opened")
end
end

button1_name2 = "bluekey"
dynwall_name2 = "bluedoor"
button_name2 = "havebluekey"


already = false
already2 = false
founded = false
addhook("trigger","_tr")
function _tr(n)
if (n == button1_name) and (already == false) then
already = true
msg("You FOUND a key O:")
founded = true
elseif (n == button2_name) and (founded == true) and (already2 == false) then
already2 = true
parse("trigger "..dynwall_name)
msg("The red door opened")
end
end

old Re: key system

Q-Q
User Off Offline

Quote
No thats not the solution neither i think their needs to be changed more stuff.

old Re: key system

Bowlinghead
User Off Offline

Quote
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
button1_name = "redkey"
dynwall_name = "reddoor"
button2_name = "haveredkey"


already = false
already2 = false
founded = false
addhook("trigger","_tr")
function _tr(n)
if (n == button1_name) and (already == false) then
already = true
msg("You FOUND a key O:")
founded = true
elseif (n == button2_name) and (founded == true) and (already2 == false) then
already2 = true
parse("trigger "..dynwall_name)
msg("The red door opened")
end
end

button1_name2 = "bluekey"
dynwall_name2 = "bluedoor"
button_name2 = "havebluekey"


already_2 = false
already2_2 = false
founded = false
addhook("trigger","_tr")
function _tr(n)
if (n == button1_name) and (already == false) then
already = true
msg("You FOUND a key O:")
founded = true
elseif (n == button2_name) and (founded == true) and (already2 == false) then
already2 = true
parse("trigger "..dynwall_name)
msg("The red door opened")
end
end

This?
I'm to lazy to read the code!

old Re: key system

Q-Q
User Off Offline

Quote
hmm neither
I guess i have to wait for Kel9290

old Re: key system

Bowlinghead
User Off Offline

Quote
I'm so stupid

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
button1_name = "redkey"
dynwall_name = "reddoor"
button2_name = "haveredkey"


already = false
already2 = false
founded = false
addhook("trigger","_tr")
function _tr(n)
if (n == button1_name) and (already == false) then
already = true
msg("You FOUND a key O:")
founded = true
elseif (n == button2_name) and (founded == true) and (already2 == false) then
already2 = true
parse("trigger "..dynwall_name)
msg("The red door opened")
end
end

button1_name2 = "bluekey"
dynwall_name2 = "bluedoor"
button2_name2 = "havebluekey"


already_2 = false
already2_2 = false
founded2 = false
addhook("trigger","_tr2")
function _tr2(n)
if (n == button1_name2) and (already_2 == false) then
already_2 = true
msg("You FOUND a key O:")
founded2 = true
elseif (n == button2_name2) and (founded2 == true) and (already2_2 == false) then
already2_2 = true
parse("trigger "..dynwall_name)
msg("The red door opened")
end
end

old Re: key system

Surplus
User Off Offline

Quote
Wow, you use a blue key to open a blue door and the message will say "The red door opened". Gratz.

old Re: key system

AbAeterno
User Off Offline

Quote
I don't think an image over an use trigger is necessary. You could put a fixed image in the map and with the lua to check if the player stepped on it. Then trigger the image(So it disappears).
I think I can do this in lua.
To the start Previous 1 Next To the start
Log in to reply Scripts overviewCS2D overviewForums overview