Most asked questions |
Top Previous Next |
Q: I need a simple action that does the following thing: when the "W" key is pushed, the entity should cycle through its "wave" movement once. A: Here's your function:
action your_player { ........... while (1) { ...................... if (key_w == 1) { while (key_w == 1) {wait (1);} my.skill40 = 0; while (my.skill40 < 100) { ent_cycle("wave", my.skill40); my.skill40 += 3 * time; // 3 = animation speed wait (1); } } wait (1); } }
Q: I have an animated texture on a block and it is really slow.... does anybody have any idea how to speed it up some? A: Decrease the number of frames for your texture or place an animated sprite over the block; you can control its animation speed this way:
function animated_sprite() { my.passable = on; while (my.frame < 10) { my.frame += 1 * time; wait (1); } }
Q: Can you tell me what is the function and in what file is the function that is activated by right click? A: Sure. Check function mouse_toggle() in menu.wdl.
Q: I have added an entity to my level and it is named lampe_mdl_020. How can I get the values of its skills using C-script? A: I am attaching an example; please note that you can only read the skills, you can't change their values:
entity* my_model; function test_lamp() { my_model = ptr_for_name("lampe_mdl_020"); if (my_model.skill1 == 1) {beep; beep;} // beep twice if skill1 is set to 1 in Wed }
Q: Once you set an entity as something, can you clear it, so that character no longer equals you? entity* character; character = you; A: Sure. Use
character = null;
and character will be reset.
Q: Is there a way to have a sound follow an entity around as it moves? A: Use short sounds with ent_playsound and ent_playloop.
Q: How can I create vars for entitys, like my._stupidhat? A: These aren't vars, they are other names for skills. Use something like this:
define _stupidhat skill1;
and you have got yourself a funny name for skill1.
Q: When I use the inkey command to accept user input, how can I position it? A: First of all you have to create a string:
string getvalue_str;
Now define a text that uses the string:
text my_txt { layer = 20; pos_x = 27; pos_y = 28; font = arial_font; string = getvalue_str; }
When you use these lines in your code:
my_txt.visible = on; inkey getvalue_str;
the cursor will appear at the position given by pos_x and pos_y.
Q: I am using ent_move for my player but anything that is set to passable will act just like a solid. What can I do? A: Place this line before your ent_move line and everything will work ok:
move_mode = ignore_passable;
Q: I want to make a little triangle above the enemy so you can see if he is mad or not. A: This piece of code will display the triangle if the enemy is mad (skill8 = 1).
string triangle_pcx = <triangle.pcx>;
function am_i_mad();
action my_model { ent_create (triangle_pcx, my.pos, am_i_mad); while (1) { // your code here wait (1); } }
function am_i_mad() { my.passable = on; my.flare = on; while (1) { if (you != null) { vec_set (temp, you.pos); temp.z += 65; // above the head vec_set (my.pos, temp); if (you.flag8 == 1) { my.invisible = off; } else { my.invisible = on; } } wait (1); } }
|