Difference between revisions of "Scripting"

From Wolfire Games Wiki
Jump to: navigation, search
Line 59: Line 59:
  
 
#include "keyTranslator.h"
 
#include "keyTranslator.h"
 +
 
3         
 
3         
 +
 
4        SDLKey keyToSDL(const std::string &s)
 
4        SDLKey keyToSDL(const std::string &s)
 +
 
5        {
 
5        {
 +
 
6                if (s == "backspace")
 
6                if (s == "backspace")
 +
 
7                        return SDLK_BACKSPACE;
 
7                        return SDLK_BACKSPACE;
 +
 
8                if (s == "tab")
 
8                if (s == "tab")
 +
 
9                        return SDLK_TAB;
 
9                        return SDLK_TAB;
 +
 
10                if (s == "clear")
 
10                if (s == "clear")
 +
 
11                        return SDLK_CLEAR;
 
11                        return SDLK_CLEAR;
 +
 
12                if (s == "return")
 
12                if (s == "return")
 +
 
13                        return SDLK_RETURN;
 
13                        return SDLK_RETURN;
 +
 
14                if (s == "pause")
 
14                if (s == "pause")
 +
 
15                        return SDLK_PAUSE;
 
15                        return SDLK_PAUSE;
 +
 
16                if (s == "esc")
 
16                if (s == "esc")
 +
 
17                        return SDLK_ESCAPE;
 
17                        return SDLK_ESCAPE;
 +
 
18                if (s == "space")
 
18                if (s == "space")
 +
 
19                        return SDLK_SPACE;
 
19                        return SDLK_SPACE;
 +
 
20                if (s == "!")
 
20                if (s == "!")
 +
 
21                        return SDLK_EXCLAIM;
 
21                        return SDLK_EXCLAIM;
 +
 
22                if (s == "\"")
 
22                if (s == "\"")
 +
 
23                        return SDLK_QUOTEDBL;
 
23                        return SDLK_QUOTEDBL;
 +
 
24                if (s == "#")
 
24                if (s == "#")
 +
 
25                        return SDLK_HASH;
 
25                        return SDLK_HASH;
 +
 
26                if (s == "$")
 
26                if (s == "$")
 +
 
27                        return SDLK_DOLLAR;
 
27                        return SDLK_DOLLAR;
 +
 
28                if (s == "&")
 
28                if (s == "&")
 +
 
29                        return SDLK_AMPERSAND;
 
29                        return SDLK_AMPERSAND;
 +
 
30                if (s == "\'")
 
30                if (s == "\'")
 +
 
31                        return SDLK_QUOTE;
 
31                        return SDLK_QUOTE;
 +
 
32                if (s == "(")
 
32                if (s == "(")
 +
 
33                        return SDLK_LEFTPAREN;
 
33                        return SDLK_LEFTPAREN;
 +
 
34                if (s == ")")
 
34                if (s == ")")
 +
 
35                        return SDLK_RIGHTPAREN;
 
35                        return SDLK_RIGHTPAREN;
 +
 
36                if (s == "*")
 
36                if (s == "*")
 +
 
37                        return SDLK_ASTERISK;
 
37                        return SDLK_ASTERISK;
 +
 
38                if (s == "+")
 
38                if (s == "+")
 +
 
39                        return SDLK_PLUS;
 
39                        return SDLK_PLUS;
 +
 
40                if (s == ",")
 
40                if (s == ",")
 +
 
41                        return SDLK_COMMA;
 
41                        return SDLK_COMMA;
 +
 
42                if (s == "-")
 
42                if (s == "-")
 +
 
43                        return SDLK_MINUS;
 
43                        return SDLK_MINUS;
 +
 
44                if (s == ".")
 
44                if (s == ".")
 +
 
45                        return SDLK_PERIOD;
 
45                        return SDLK_PERIOD;
 +
 
46                if (s == "/")
 
46                if (s == "/")
 +
 
47                        return SDLK_SLASH;
 
47                        return SDLK_SLASH;
 +
 
48                if (s == "0")
 
48                if (s == "0")
 +
 
49                        return SDLK_0;
 
49                        return SDLK_0;
 +
 
50                if (s == "1")
 
50                if (s == "1")
 +
 
51                        return SDLK_1;
 
51                        return SDLK_1;
 +
 
52                if (s == "2")
 
52                if (s == "2")
 +
 
53                        return SDLK_2;
 
53                        return SDLK_2;
 +
 
54                if (s == "3")
 
54                if (s == "3")
 +
 
55                        return SDLK_3;
 
55                        return SDLK_3;
 +
 
56                if (s == "4")
 
56                if (s == "4")
 +
 
57                        return SDLK_4;
 
57                        return SDLK_4;
 +
 
58                if (s == "5")
 
58                if (s == "5")
 +
 
59                        return SDLK_5;
 
59                        return SDLK_5;
 +
 
60                if (s == "6")
 
60                if (s == "6")
 +
 
61                        return SDLK_6;
 
61                        return SDLK_6;
 +
 
62                if (s == "7")
 
62                if (s == "7")
 +
 
63                        return SDLK_7;
 
63                        return SDLK_7;
 +
 
64                if (s == "8")
 
64                if (s == "8")
 +
 
65                        return SDLK_8;
 
65                        return SDLK_8;
 +
 
66                if (s == "9")
 
66                if (s == "9")
 +
 
67                        return SDLK_9;
 
67                        return SDLK_9;
 +
 
68                if (s == ":")
 
68                if (s == ":")
 +
 
69                        return SDLK_COLON;
 
69                        return SDLK_COLON;
 +
 
70                if (s == ";")
 
70                if (s == ";")
 +
 
71                        return SDLK_SEMICOLON;
 
71                        return SDLK_SEMICOLON;
 +
 
72                if (s == "<")
 
72                if (s == "<")
 +
 
73                        return SDLK_LESS;
 
73                        return SDLK_LESS;
 +
 
74                if (s == "=")
 
74                if (s == "=")
 +
 
75                        return SDLK_EQUALS;
 
75                        return SDLK_EQUALS;
 +
 
76                if (s == ">")
 
76                if (s == ">")
 +
 
77                        return SDLK_GREATER;
 
77                        return SDLK_GREATER;
 +
 
78                if (s == "?")
 
78                if (s == "?")
 +
 
79                        return SDLK_QUESTION;
 
79                        return SDLK_QUESTION;
 +
 
80                if (s == "@")
 
80                if (s == "@")
 +
 
81                        return SDLK_AT;
 
81                        return SDLK_AT;
 +
 
82                if (s == "[")
 
82                if (s == "[")
 +
 
83                        return SDLK_LEFTBRACKET;
 
83                        return SDLK_LEFTBRACKET;
 +
 
84                if (s == "\\")
 
84                if (s == "\\")
 +
 
85                        return SDLK_BACKSLASH;
 
85                        return SDLK_BACKSLASH;
 +
 
86                if (s == "]")
 
86                if (s == "]")
 +
 
87                        return SDLK_RIGHTBRACKET;
 
87                        return SDLK_RIGHTBRACKET;
 +
 
88                if (s == "^")
 
88                if (s == "^")
 +
 
89                        return SDLK_CARET;
 
89                        return SDLK_CARET;
 +
 
90                if (s == "_")
 
90                if (s == "_")
 +
 
91                        return SDLK_UNDERSCORE;
 
91                        return SDLK_UNDERSCORE;
 +
 
92                if (s == "`")
 
92                if (s == "`")
 +
 
93                        return SDLK_BACKQUOTE;
 
93                        return SDLK_BACKQUOTE;
 +
 
94                if (s == "a")
 
94                if (s == "a")
 +
 
95                        return SDLK_a;
 
95                        return SDLK_a;
 +
 
96                if (s == "b")
 
96                if (s == "b")
 +
 
97                        return SDLK_b;
 
97                        return SDLK_b;
 +
 
98                if (s == "c")
 
98                if (s == "c")
 +
 
99                        return SDLK_c;
 
99                        return SDLK_c;
 +
 
100                if (s == "d")
 
100                if (s == "d")
 +
 
101                        return SDLK_d;
 
101                        return SDLK_d;
 +
 
102                if (s == "e")
 
102                if (s == "e")
 +
 
103                        return SDLK_e;
 
103                        return SDLK_e;
 +
 
104                if (s == "f")
 
104                if (s == "f")
 +
 
105                        return SDLK_f;
 
105                        return SDLK_f;
 +
 
106                if (s == "g")
 
106                if (s == "g")
 +
 
107                        return SDLK_g;
 
107                        return SDLK_g;
 +
 
108                if (s == "h")
 
108                if (s == "h")
 +
 
109                        return SDLK_h;
 
109                        return SDLK_h;
 +
 
110                if (s == "i")
 
110                if (s == "i")
 +
 
111                        return SDLK_i;
 
111                        return SDLK_i;
 +
 
112                if (s == "j")
 
112                if (s == "j")
 +
 
113                        return SDLK_j;
 
113                        return SDLK_j;
 +
 
114                if (s == "k")
 
114                if (s == "k")
 +
 
115                        return SDLK_k;
 
115                        return SDLK_k;
 +
 
116                if (s == "l")
 
116                if (s == "l")
 +
 
117                        return SDLK_l;
 
117                        return SDLK_l;
 +
 
118                if (s == "m")
 
118                if (s == "m")
 +
 
119                        return SDLK_m;
 
119                        return SDLK_m;
 
120                if (s == "n")
 
120                if (s == "n")

Revision as of 19:42, 25 February 2010

Overgrowth is using AngelScript as its core scripting language. The best AngelScript reference is here: [1]


Checking for Keypresses:

You can check for keypresses by using the boolean check function GetInputDown():

Syntax examples:

GetInputDown("a") returns true if the 'a' key is being pressed, returns false if not
GetInputDown("attack") returns true if the left mouse button is being pressed, returns false if not
GetInputDown("move_left") returns true if the "left key" is being pressed, returns false if not (by default this key is defined in the config.txt to be the 'a' key)


The following controls are designed to be relative to the player's preferences and are given a binding in the config.txt file.

Config.txt Dependent References

Predefined Term Default binding in Config.txt Scripting Reference Name
Left Key a move_left
Right Key d move_right
Up Key w move_up
Down Key s move_down
Crouch Key left shift crouch
Jump Key space jump

Generic Key References

  1. include "keyTranslator.h"

3

4 SDLKey keyToSDL(const std::string &s)

5 {

6 if (s == "backspace")

7 return SDLK_BACKSPACE;

8 if (s == "tab")

9 return SDLK_TAB;

10 if (s == "clear")

11 return SDLK_CLEAR;

12 if (s == "return")

13 return SDLK_RETURN;

14 if (s == "pause")

15 return SDLK_PAUSE;

16 if (s == "esc")

17 return SDLK_ESCAPE;

18 if (s == "space")

19 return SDLK_SPACE;

20 if (s == "!")

21 return SDLK_EXCLAIM;

22 if (s == "\"")

23 return SDLK_QUOTEDBL;

24 if (s == "#")

25 return SDLK_HASH;

26 if (s == "$")

27 return SDLK_DOLLAR;

28 if (s == "&")

29 return SDLK_AMPERSAND;

30 if (s == "\'")

31 return SDLK_QUOTE;

32 if (s == "(")

33 return SDLK_LEFTPAREN;

34 if (s == ")")

35 return SDLK_RIGHTPAREN;

36 if (s == "*")

37 return SDLK_ASTERISK;

38 if (s == "+")

39 return SDLK_PLUS;

40 if (s == ",")

41 return SDLK_COMMA;

42 if (s == "-")

43 return SDLK_MINUS;

44 if (s == ".")

45 return SDLK_PERIOD;

46 if (s == "/")

47 return SDLK_SLASH;

48 if (s == "0")

49 return SDLK_0;

50 if (s == "1")

51 return SDLK_1;

52 if (s == "2")

53 return SDLK_2;

54 if (s == "3")

55 return SDLK_3;

56 if (s == "4")

57 return SDLK_4;

58 if (s == "5")

59 return SDLK_5;

60 if (s == "6")

61 return SDLK_6;

62 if (s == "7")

63 return SDLK_7;

64 if (s == "8")

65 return SDLK_8;

66 if (s == "9")

67 return SDLK_9;

68 if (s == ":")

69 return SDLK_COLON;

70 if (s == ";")

71 return SDLK_SEMICOLON;

72 if (s == "<")

73 return SDLK_LESS;

74 if (s == "=")

75 return SDLK_EQUALS;

76 if (s == ">")

77 return SDLK_GREATER;

78 if (s == "?")

79 return SDLK_QUESTION;

80 if (s == "@")

81 return SDLK_AT;

82 if (s == "[")

83 return SDLK_LEFTBRACKET;

84 if (s == "\\")

85 return SDLK_BACKSLASH;

86 if (s == "]")

87 return SDLK_RIGHTBRACKET;

88 if (s == "^")

89 return SDLK_CARET;

90 if (s == "_")

91 return SDLK_UNDERSCORE;

92 if (s == "`")

93 return SDLK_BACKQUOTE;

94 if (s == "a")

95 return SDLK_a;

96 if (s == "b")

97 return SDLK_b;

98 if (s == "c")

99 return SDLK_c;

100 if (s == "d")

101 return SDLK_d;

102 if (s == "e")

103 return SDLK_e;

104 if (s == "f")

105 return SDLK_f;

106 if (s == "g")

107 return SDLK_g;

108 if (s == "h")

109 return SDLK_h;

110 if (s == "i")

111 return SDLK_i;

112 if (s == "j")

113 return SDLK_j;

114 if (s == "k")

115 return SDLK_k;

116 if (s == "l")

117 return SDLK_l;

118 if (s == "m")

119 return SDLK_m; 120 if (s == "n") 121 return SDLK_n; 122 if (s == "o") 123 return SDLK_o; 124 if (s == "p") 125 return SDLK_p; 126 if (s == "q") 127 return SDLK_q; 128 if (s == "r") 129 return SDLK_r; 130 if (s == "s") 131 return SDLK_s; 132 if (s == "t") 133 return SDLK_t; 134 if (s == "u") 135 return SDLK_u; 136 if (s == "v") 137 return SDLK_v; 138 if (s == "w") 139 return SDLK_w; 140 if (s == "x") 141 return SDLK_x; 142 if (s == "y") 143 return SDLK_y; 144 if (s == "z") 145 return SDLK_z; 146 if (s == "delete") 147 return SDLK_DELETE; 148 if (s == "keypad0") 149 return SDLK_KP0; 150 if (s == "keypad1") 151 return SDLK_KP1; 152 if (s == "keypad2") 153 return SDLK_KP2; 154 if (s == "keypad3") 155 return SDLK_KP3; 156 if (s == "keypad4") 157 return SDLK_KP4; 158 if (s == "keypad5") 159 return SDLK_KP5; 160 if (s == "keypad6") 161 return SDLK_KP6; 162 if (s == "keypad7") 163 return SDLK_KP7; 164 if (s == "keypad8") 165 return SDLK_KP8; 166 if (s == "keypad9") 167 return SDLK_KP9; 168 if (s == "keypad.") 169 return SDLK_KP_PERIOD; 170 if (s == "keypad/") 171 return SDLK_KP_DIVIDE; 172 if (s == "keypad*") 173 return SDLK_KP_MULTIPLY; 174 if (s == "keypad-") 175 return SDLK_KP_MINUS; 176 if (s == "keypad+") 177 return SDLK_KP_PLUS; 178 if (s == "keypadenter") 179 return SDLK_KP_ENTER; 180 if (s == "keypad=") 181 return SDLK_KP_EQUALS; 182 if (s == "up") 183 return SDLK_UP; 184 if (s == "down") 185 return SDLK_DOWN; 186 if (s == "right") 187 return SDLK_RIGHT; 188 if (s == "left") 189 return SDLK_LEFT; 190 if (s == "insert") 191 return SDLK_INSERT; 192 if (s == "home") 193 return SDLK_HOME; 194 if (s == "end") 195 return SDLK_END; 196 if (s == "pageup") 197 return SDLK_PAGEUP; 198 if (s == "pagedown") 199 return SDLK_PAGEDOWN; 200 if (s == "f1") 201 return SDLK_F1; 202 if (s == "f2") 203 return SDLK_F2; 204 if (s == "f3") 205 return SDLK_F3; 206 if (s == "f4") 207 return SDLK_F4; 208 if (s == "f5") 209 return SDLK_F5; 210 if (s == "f6") 211 return SDLK_F6; 212 if (s == "f7") 213 return SDLK_F7; 214 if (s == "f8") 215 return SDLK_F8; 216 if (s == "f9") 217 return SDLK_F9; 218 if (s == "f10") 219 return SDLK_F10; 220 if (s == "f11") 221 return SDLK_F11; 222 if (s == "f12") 223 return SDLK_F12; 224 if (s == "f13") 225 return SDLK_F13; 226 if (s == "f14") 227 return SDLK_F14; 228 if (s == "f15") 229 return SDLK_F15; 230 if (s == "numlock") 231 return SDLK_NUMLOCK; 232 if (s == "capslock") 233 return SDLK_CAPSLOCK; 234 if (s == "scrollock") 235 return SDLK_SCROLLOCK; 236 if (s == "rshift") 237 return SDLK_RSHIFT; 238 if (s == "lshift") 239 return SDLK_LSHIFT; 240 if (s == "rctrl") 241 return SDLK_RCTRL; 242 if (s == "lctrl") 243 return SDLK_LCTRL; 244 if (s == "ralt") 245 return SDLK_RALT; 246 if (s == "lalt") 247 return SDLK_LALT; 248 if (s == "rmeta") 249 return SDLK_RMETA; 250 if (s == "lmeta") 251 return SDLK_LMETA; 252 if (s == "lsuper") 253 return SDLK_LSUPER; 254 if (s == "rsuper") 255 return SDLK_RSUPER; 256 if (s == "mode") 257 return SDLK_MODE; 258 if (s == "compose") 259 return SDLK_COMPOSE; 260 if (s == "help") 261 return SDLK_HELP; 262 if (s == "print") 263 return SDLK_PRINT; 264 if (s == "sysreq") 265 return SDLK_SYSREQ; 266 if (s == "break") 267 return SDLK_BREAK; 268 if (s == "menu") 269 return SDLK_MENU; 270 if (s == "power") 271 return SDLK_POWER; 272 if (s == "euro") 273 return SDLK_EURO; 274 275 return (SDLKey)SDLK_SYSREQ; 276 }