|
can anyone help me in this code???
#246897
01/17/09 20:06
01/17/09 20:06
|
Joined: Jan 2009
Posts: 36 Philippines
unknown_master
OP
Newbie
|
OP
Newbie
Joined: Jan 2009
Posts: 36
Philippines
|
this code was a .wdl script and if i include this on a .c it showed many errors that .c cannot compile. can anyone help me to convert this code on lite-c(.c) instructions correctly? i will wait for your reply as soon as possible. tnx.
this is my code:
define idle 1; define attacking 2; define dead 3; define status skill1; define health skill10;
string shell_mdl=<shell.mdl>;
function fire_bullets(); function move_bullets(); function remove_bullets();
function main() { fps_max=80; level_load("sample.wmb"); }
function fire_bullets() { proc_kill(4); while(mouse_left==on){ got_shot(); wait(1); }
ent_create(shell_mdl,camera.x,move_bullets); } function got_shot()
{
if (you.skill30 != 1) {return;} my.health -= 35;
if (my.health <= 0) {
my.status = dead; my.event = null; return;
} else { my.status = attacking;
}
} function remove_bullets() { wait(1); ent_remove(my); }
function move_bullets() { var bullet_speed; my.enable_impact=on; my.enable_entity=on; my.enable_block=on; my.event=got_shot; my.pan=camera.pan; my.tilt=camera.tilt; bullet_speed.x = 50 * time; bullet_speed.y=0; bullet_speed.z=0; while(my!=null) { c_move(my,bullet_speed,nullvector,ignore_you); wait(1); } }
function move_enemy_bullets()
{
var bullet_speed; my.skill30 = 1; my.enable_impact = on; my.enable_entity = on; my.enable_block = on; my.event = remove_bullets; my.pan = you.pan; my.tilt = you.tilt; bullet_speed.x = 50 * time_step; bullet_speed.y = 0; bullet_speed.z = 0; while (my != null) { c_move (my, bullet_speed, nullvector, ignore_you); wait (1);
}
}
function hurt_player() { if(you.skill30 !=1){return;} my.health - = 20; }
action my_enemy() { var idle_percentage=0; var run_percentage=0; var death_percentage=0; var content_right; var content_left; my.polygon=on; my.health=100; my.enable_impact = on; my.event=got_shot; my.passable=on; my.status = idle; while(my.status !=dead) { if(my.status == idle) { ent_animate(my,"stand",idle_percentage,anm_cycle); idle_percentage +=5 * time; if(vec_dist(player.x,my.x)<1000) { if((c_scan(my.x,my.pan,vector(120,60,1000), ignore_me) > 0 ) && (you==player)) { my.status=attacking; } } } if(my.status == attacking) { if(c_content(content_right.x,0) + c_content(content_left.x,0)==2) { vec_set(temp, player.x); vec_sub(temp,my.x); vec_to_angle(my.pan,temp); } if(vec_dist(player.x,my.x) > 500) { vec_set(content_right,vector(50,-20,-15)); vec_rotate(content_right,my.pan); vec_add(content_right.x, my.x); if(c_content(content_right.x,0) ! =1 ) { my.pan + = 5 * time; } vec_set(content_left,vector(50,20,-15)); vec_rotate(content_right,my.x); vec_add(content_right.x,my.x); if(c_content(content_left.x,0) ! =1) { my.pan -= 5 * time; } c_move(my,vector(10 * time, 0 , 0), nullvector,glide); ent_animate(my,"run", run_percentage,ANM_CYCLE); run_percentage += 6 * time; } else { ent_animate(my,"attack",100, null); } if((total_frames % 80)==1) { vec_for_vertex(temp, my ,8); ent_create(shell_mdl,temp,move_enemy_bullets); } if(vec_dist(player.x,my.x) > 1500) { my.status=idle; } } wait(1); } while(death_percentage < 100) { ent_animate(my,"death", death_percentage,null); death_percentage +=3 * time; wait(1); } my.passable=on; } action players_code { player=my; my.invisible=on; my.health=100; my.enable_impact=on; my.enable_entity=on; my.event=hurt_player; while(my.health > 0) { c_move(my,vector(20 * (key_w - key_s) * time, 6 * (key_a - key_d) * time,0 ),nullvector,glide | IGNORE_YOU); if(mouse_left==on) { fire_bullets(); } vec_set(camera.x,player.x); camera.z = 3; camera.pan = 5; camera.tilt =3; player.pan=camera.pan; wait(1); } while(camera.tilt < 90) { camera.tilt +=2 * time; camera.roll +=1.5 * time; wait(1); } }
action my_enemy() { var idle_percentage=0; var run_percentage=0; var death_percentage=0; var attack_percentage=0; my.polygon=on; my.health=100; my.enable_impact = on; my.event=got_shot; my.status = idle; while(my.status !=dead) { if(my.status == idle) { ent_animate(my,"stand",idle_percentage,anm_cycle); idle_percentage +=3 * time_step; if(vec_dist(player.x,my.x)<1000) { my.status = attacking; } } if(my.status == attacking) { vec_set(temp, player.x); vec_sub(temp,my.x); vec_to_angle(my.pan,temp); if(vec_dist(player.x,my.x) > 50) { c_move(my,vector(10 * time, 0 , 0), nullvector,glide); ent_animate(my,"run", run_percentage,anm_cycle); run_percentage += 6 * time_step; } else { c_move(my,vector(0 * time, 0 , 0), nullvector,glide); ent_animate(my,"attack",attack_percentage, anm_cycle); attack_percentage += 6 * time_step; my.health - = 10; } if((total_frames % 80)==1) { vec_for_vertex(temp, my ,8); ent_create(shell_mdl,temp,move_enemy_bullets); } if(vec_dist(player.x,my.x) > 150) { my.status=idle; } } wait(1); } while(death_percentage < 100) { ent_animate(my,"death", death_percentage,null); death_percentage +=3 * time; wait(1); } my.passable=on; }
|
|
|
Re: can anyone help me in this code???
[Re: badapple]
#246961
01/18/09 05:11
01/18/09 05:11
|
Joined: Oct 2008
Posts: 218 Nashua NH
heinekenbottle
Member
|
Member
Joined: Oct 2008
Posts: 218
Nashua NH
|
for one thing your first three defines arent useing a skill defines do not have to use skills. That is perfectly legal.
|
|
|
Re: can anyone help me in this code???
[Re: unknown_master]
#246962
01/18/09 05:25
01/18/09 05:25
|
Joined: Oct 2008
Posts: 218 Nashua NH
heinekenbottle
Member
|
Member
Joined: Oct 2008
Posts: 218
Nashua NH
|
In the string definitions:
string shell_mdl=<shell.mdl>;
should be
string shell_mdl="shell.mdl";
In function move_bullets()
my.enable_impact=on;
my.enable_entity=on;
my.enable_block=on; should be
my.emask |= (ENABLE_IMPACT | ENABLE_ENTITY | ENABLE_BLOCK); In action my_enemy() my.polygon=on;
my.health=100;
my.enable_impact = on;
my.event=got_shot;
my.passable=on;
my.status = idle; Needs to change. Flags are set with the set() macro defined in acknex.h and event flags are set with emask:
my.health = 100;
my.status = idle;
my.emask |= (ENABLE_IMPACT);
my.event = got_shot;
set(my,PASSABLE | POLYGON);
vec_set(temp, player.x);
vec_sub(temp,my.x);
vec_to_angle(my.pan,temp); Temp needs to be declared, it is not a predefined variable anymore.
death_percentage +=3 * time; time was replaced with time_step, each time you see time in the code.
|
|
|
Re: can anyone help me in this code???
[Re: heinekenbottle]
#246969
01/18/09 09:15
01/18/09 09:15
|
Joined: Nov 2007
Posts: 1,032 Croatia
croman
Serious User
|
Serious User
Joined: Nov 2007
Posts: 1,032
Croatia
|
string shell_mdl="shell.mdl";
STRING* should be instead of string if i'm not wrong
Ubi bene, ibi Patria.
|
|
|
Re: can anyone help me in this code???
[Re: dracula]
#246972
01/18/09 09:22
01/18/09 09:22
|
Joined: Nov 2007
Posts: 1,032 Croatia
croman
Serious User
|
Serious User
Joined: Nov 2007
Posts: 1,032
Croatia
|
because you put in ent_create(shell_mdl, vec_pos, ent_action); instead of "shell.mdl"
Ubi bene, ibi Patria.
|
|
|
Re: can anyone help me in this code???
[Re: dracula]
#247013
01/18/09 14:55
01/18/09 14:55
|
Joined: Apr 2008
Posts: 437
dracula
Senior Member
|
Senior Member
Joined: Apr 2008
Posts: 437
|
because you put in ent_create(shell_mdl, vec_pos, ent_action); instead of "shell.mdl" Thanks cerberi. Drac
|
|
|
Re: can anyone help me in this code???
[Re: croman]
#247025
01/18/09 16:42
01/18/09 16:42
|
Joined: Oct 2008
Posts: 218 Nashua NH
heinekenbottle
Member
|
Member
Joined: Oct 2008
Posts: 218
Nashua NH
|
string shell_mdl="shell.mdl";
STRING* should be instead of string if i'm not wrong That is correct, my bad.
|
|
|
|