Gamestudio Links
Zorro Links
Newest Posts
Free Live Data for Zorro with Paper Trading?
by AbrahamR. 05/18/24 13:28
Change chart colours
by 7th_zorro. 05/11/24 09:25
Data from CSV not parsed correctly
by dr_panther. 05/06/24 18:50
AUM Magazine
Latest Screens
The Bible Game
A psychological thriller game
SHADOW (2014)
DEAD TASTE
Who's Online Now
4 registered members (degenerate_762, AbrahamR, AndrewAMD, ozgur), 667 guests, and 8 spiders.
Key: Admin, Global Mod, Mod
Newest Members
Hanky27, firatv, wandaluciaia, Mega_Rod, EternallyCurious
19051 Registered Users
Previous Thread
Next Thread
Print Thread
Rate Thread
Page 2 of 8 1 2 3 4 5 6 7 8
Re: [REQ] converting a code to lite-c [Re: Cowabanga] #240566
12/11/08 15:58
12/11/08 15:58
Joined: Feb 2008
Posts: 3,232
Australia
EvilSOB Offline
Expert
EvilSOB  Offline
Expert

Joined: Feb 2008
Posts: 3,232
Australia
Im sorry to say, Ive reached the limits of my available help.
Im just not competant enough with c_move and c_scan to know whats wrong...

I was able to dodge the issue by altering the model's origin point, but that
is cheating... I had a couple of other fudges in there that both link to this problem.

If maybe hienekenbottle can help Im sure both you AND me will be grateful..

Again, my apologies for my limitations.


"There is no fate but what WE make." - CEO Cyberdyne Systems Corp.
A8.30.5 Commercial
Re: [REQ] converting a code to lite-c [Re: EvilSOB] #240570
12/11/08 16:04
12/11/08 16:04
Joined: Aug 2008
Posts: 2,838
take me down to the paradise c...
Cowabanga Offline OP
Expert
Cowabanga  Offline OP
Expert

Joined: Aug 2008
Posts: 2,838
take me down to the paradise c...
Please hienekenbottle hurry.

Re: [REQ] converting a code to lite-c [Re: Cowabanga] #240573
12/11/08 16:08
12/11/08 16:08
Joined: Nov 2007
Posts: 1,032
Croatia
croman Offline
Serious User
croman  Offline
Serious User

Joined: Nov 2007
Posts: 1,032
Croatia
http://www.coniserver.net/wiki/index.php/Scripts

Take a look under "Player Movement" section. It's already converted to lite-c but it looks a bit different and smaller..but it works.



Ubi bene, ibi Patria.
Re: [REQ] converting a code to lite-c [Re: croman] #240576
12/11/08 16:12
12/11/08 16:12
Joined: Aug 2008
Posts: 2,838
take me down to the paradise c...
Cowabanga Offline OP
Expert
Cowabanga  Offline OP
Expert

Joined: Aug 2008
Posts: 2,838
take me down to the paradise c...
i know but where is the combo attack?

Originally Posted By: Wiki
I took David Lancaster's Kingdom Heart's movement code and converted it to c-lite and made some changes.


see, he made some changes.

Re: [REQ] converting a code to lite-c [Re: Cowabanga] #240580
12/11/08 16:26
12/11/08 16:26
Joined: Nov 2007
Posts: 1,032
Croatia
croman Offline
Serious User
croman  Offline
Serious User

Joined: Nov 2007
Posts: 1,032
Croatia
yeah i know he made some changes. i thought you might wanna know about that but it seems you already do know about it.

btw. i tried converting that code in lite-c myself and i got those problems with jumping also. then i tried to implement only KH jumping into my project and i once again i got the problem.

so i think that it's not a coincidence that jumping isn't working to me and to you, it has to do with newer Acknex version or c-script & lite-c language difference



Ubi bene, ibi Patria.
Re: [REQ] converting a code to lite-c [Re: croman] #240581
12/11/08 16:29
12/11/08 16:29
Joined: Aug 2008
Posts: 2,838
take me down to the paradise c...
Cowabanga Offline OP
Expert
Cowabanga  Offline OP
Expert

Joined: Aug 2008
Posts: 2,838
take me down to the paradise c...
i got an idea! put the combo attack code in the Modified KH movementcode wink

Re: [REQ] converting a code to lite-c [Re: Cowabanga] #240582
12/11/08 16:35
12/11/08 16:35
Joined: Aug 2008
Posts: 2,838
take me down to the paradise c...
Cowabanga Offline OP
Expert
Cowabanga  Offline OP
Expert

Joined: Aug 2008
Posts: 2,838
take me down to the paradise c...
doesn't work -.- waiting you hienekenbottle wink .

Re: [REQ] converting a code to lite-c [Re: Cowabanga] #240661
12/11/08 19:58
12/11/08 19:58
Joined: Oct 2008
Posts: 218
Nashua NH
heinekenbottle Offline
Member
heinekenbottle  Offline
Member

Joined: Oct 2008
Posts: 218
Nashua NH
Originally Posted By: Cowabanga
doesn't work -.- waiting you hienekenbottle wink .


Alright, he's got a script on the wiki, so you just need the combo attack code?


I was once Anonymous_Alcoholic.

Code Breakpoint;
Re: [REQ] converting a code to lite-c [Re: heinekenbottle] #240676
12/11/08 21:08
12/11/08 21:08
Joined: Oct 2008
Posts: 218
Nashua NH
heinekenbottle Offline
Member
heinekenbottle  Offline
Member

Joined: Oct 2008
Posts: 218
Nashua NH
Actually, I just finished and I encountered a problem.

But once that problem is fixed, I think it will be complete.

I took the script, reworked it as lite-c. It is still David Lancaster's script in look and function, I simply translated.

Now from what works, it seems to be fine except for one thing:

the player keeps falling. When he hits the ground he "teleports" to the top of the screen and continues falling.

I think the other scripts work, because he moves and he's animated and he swings his sword, but he keeps falling.

Big script inc:

main.c

Code:
///////////////////////////////
#define PRAGMA_PATH "%EXE_DIR%\templates\images";
#define PRAGMA_PATH "%EXE_DIR%\templates\models";
#define PRAGMA_PATH "%EXE_DIR%\templates\sounds";

#include <acknex.h>
//#include "default.c"
#include "player.c"
#include "enemy.c"
#include "animation.c"

function main()
{
	camera.clip_near = 0;
	video_switch(7,0,1);
	level_load("khmove.wmb");
}



player.c

Code:
function rotate_entity(rotate_angle,rotate_speed);
function handle_animation(animation_speed);

#define nullframe -2
#define blend -1
#define stand 0
#define run 1
#define walk 2
#define jump 3
#define fall 4
#define attack_a 5
#define attack_b 6
#define attack_c 7
#define attack_d 8
#define attack_e 9
#define attack_f 10

#define move_x skill22
#define move_y skill23
#define move_z skill24
#define force_x skill25
#define force_y skill26
#define force_z skill27
#define velocity_x skill28
#define velocity_y skill29
#define velocity_z skill30
#define animate skill31
#define animate2 skill32
#define animblend skill33
#define currentframe skill34
#define blendframe skill35
#define z_offset skill50
#define jumping_mode skill51
#define grav skill52
#define movement_mode skill53
#define moving skill54
#define hit_by_player skill55
#define entity_type skill56

ENTITY* player_weapon;
ENTITY* target_enemy;


var camera_move_to[3];
var camera_distance = 200;
var camera_pan;
var camera_tilt;

var space_press = 0;
var mouse_left_press = 0;
var mouse_right_press = 0;
var combo_continue = 0;
var player_lock_on = 0;
var airborne_attack = 0;

action attach_weapon()
{
	VECTOR temp;
	VECTOR temp2;
	ANGLE tempAng;
	player_weapon = my;
	set(my,PASSABLE,SHADOW);
	proc_mode = PROC_LATE;
	while(!player) wait(1);
	while (player) {
		vec_for_vertex(temp.x,player,1175); //hand palm base
		vec_for_vertex(temp2.x,player,1240); //hand palm tip
		vec_set(my.x,temp.x);
		vec_diff(temp.x,temp2.x,temp.x);
		vec_to_angle(tempAng.pan,temp.x);
		vec_set(my.pan,tempAng.pan);
		wait(1);
	}
}

function handle_movement() 
{
	VECTOR temp;
	VECTOR temp2;
	ANGLE plAng;
	temp.x = -1000;
	temp.y = 0;
	my.moving = 0;
	if (key_w == 1 && key_s == 0 && key_a == 0 && key_d == 0) { temp.x = camera.pan; }
	if (key_s == 1 && key_w == 0 && key_a == 0 && key_d == 0) { temp.x = camera.pan + 180; }
	if (key_a == 1 && key_s == 0 && key_w == 0 && key_d == 0) { temp.x = camera.pan + 90; }
	if (key_d == 1 && key_s == 0 && key_a == 0 && key_w == 0) { temp.x = camera.pan - 90; }
	if (key_w == 1 && key_a == 1 && key_d == 0 && key_s == 0) { temp.x = camera.pan + 45; }
	if (key_w == 1 && key_d == 1 && key_a == 0 && key_s == 0) { temp.x = camera.pan - 45; }
	if (key_s == 1 && key_a == 1 && key_d == 0 && key_w == 0) { temp.x = camera.pan + 135; }
	if (key_s == 1 && key_d == 1 && key_a == 0 && key_w == 0) { temp.x = camera.pan - 135; }
	if (temp.x != -1000) {
		my.moving = 1;
		if (key_shift == 1) { temp.y = 10 * time_step; } else { temp.y = 15 * time_step; }
	}

	if (my.movement_mode == 0) {
		my.move_x = fcos(temp.x,temp.y);
		my.move_y = fsin(temp.x,temp.y);
	}
	if (my.movement_mode == 1 || my.movement_mode == 2) {
		temp.y = fsin((my.animate * 1.2) + 45,15 * time_step);
		my.move_x = fcos(my.pan,temp.y);
		my.move_y = fsin(my.pan,temp.y);
		temp.y = 0;
		if (temp.x != -1000) { //if we need to rotate whilst attacking (the player is pressing keys to rotate)
			temp.y = 1;
		}
	}

//	move_mode = IGNORE_PASSABLE | GLIDE; //replace c_move with these 2 lines in versions of gamestudio below 6.4
//	ent_move(nullvector,my.move_x);
	c_move(my,nullvector,my.move_x,USE_AABB | IGNORE_PASSABLE | GLIDE);

	result = c_trace(vector(my.x,my.y,my.z - my.z_offset),vector(my.x,my.y,my.z - 4000),IGNORE_ME | IGNORE_PASSABLE | USE_BOX);
	if (result < 0) { my.z -= result; my.velocity_z = 0; }

	if (target_enemy == NULL) {
		if (temp.y > 0) { rotate_entity(temp.x,30); }
	} else {
		vec_diff(temp2.x,target_enemy.x,my.x);
		vec_to_angle(plAng.pan,temp2.x);
		rotate_entity(plAng.pan,30);
	}

	if (my.movement_mode == 0) {
		my.grav = 6;
		if (my.move_x != 0 || my.move_y != 0) { //if we are moving
			if (my.animblend == stand) { //if our current animation is stand
				if (key_shift == 1) { my.blendframe = walk; } else { my.blendframe = run; }
			}
			if (my.animblend == run && key_shift == 1) { my.blendframe = walk; }
			if (my.animblend == walk && key_shift == 0) { my.blendframe = run; }
		} else {
			if (my.animblend > stand && my.animblend != jump && my.animblend != fall) { //if we arn't moving and our current animation is walk or run, blend and cycle the stand animation
				my.blendframe = stand;
			}
		}
		if (mouse_left == 0 && mouse_left_press == 1) { mouse_left_press = 0; }
		if (mouse_left == 1 && mouse_left_press == 0 && my.animblend >= stand) {
			mouse_left_press = 1;
			my.blendframe = attack_a;
			if (my.jumping_mode == 1) {
				airborne_attack = 1;
			} else {
				airborne_attack = 0;
			}
			my.movement_mode = 1;
			combo_continue = 0;
		}
		if (mouse_right == 0 && mouse_right_press == 1) { mouse_right_press = 0; } ///////////////
		if (mouse_right == 1 && mouse_right_press == 0) {
			if (player_lock_on == 0) {
//				vec_set(temp.x,vector(360,180,250)); //replace c_scan with these 2 lines in versions of gamestudio below 6.4
//			 	result = scan_entity(player.x,temp);
				c_scan(player.x,player.pan,vector(360,180,250),SCAN_ENTS | SCAN_LIMIT | IGNORE_ME);
				if (you != NULL) {
					if (you.entity_type == 2) { //make sure you've scanned an enemy
						player_lock_on = 1;
						target_enemy = you;
					}
				}
			} else {
				player_lock_on = 0;
				target_enemy = NULL;
			}
			mouse_right_press = 1;
		}
	}
	if (my.movement_mode == 1) {
		if (my.jumping_mode != 10) {
			my.jumping_mode = 0;
		} else {
			if (my.animate >= 60 && my.animblend >= stand) { my.jumping_mode = 0; }
		}
		if (mouse_left == 0 && mouse_left_press == 1) { mouse_left_press = 0; }
		if (mouse_left == 1 && mouse_left_press == 0 && my.animate >= 30 && combo_continue == 0) { mouse_left_press = 1; combo_continue = 1; }
	}
	if (my.movement_mode == 2) {
		my.jumping_mode = 0;
		if (mouse_left == 0 && mouse_left_press == 1) { mouse_left_press = 0; }
		if (mouse_left == 1 && mouse_left_press == 0 && my.animate >= 30 && combo_continue == 0) { mouse_left_press = 1; combo_continue = 1; }
	}
}

function handle_grav() 
{
	//trace_mode = IGNORE_ME+IGNORE_PASSABLE+USE_BOX;
	result = c_trace(vector(my.x,my.y,my.z - my.z_offset),vector(my.x,my.y,my.z - 4000),IGNORE_ME | IGNORE_PASSABLE | USE_BOX);
	if (result < 3) {
		if (my.jumping_mode == 0) {
			my.force_z = -1 * result;
			if (key_space == 0 && space_press == 1) { space_press = 0; }
			if (key_space == 1 && space_press == 0 && my.movement_mode == 0 && my.animblend >= stand && my.animblend != jump && my.animblend != fall) {
				space_press = 1;
				my.jumping_mode = 1;
				my.force_z = 25;
				my.blendframe = jump;
				my.animate2 = 0;
				my.animblend = blend;
			}
		}
		if (my.jumping_mode == 2 || my.jumping_mode == 3) { my.jumping_mode = 0; }
	} else {
		if (my.jumping_mode == 2) {
			if (result > 120) {
				my.animate = 60;
				my.jumping_mode = 3;
			} else {
				my.jumping_mode = 0;
			}
		}
		if (my.jumping_mode == 3 && result <= 120) { my.jumping_mode = 0;	}
		if (my.jumping_mode == 0 && my.movement_mode == 0) {
			if (result > 120 && my.animblend >= stand && my.animblend != jump && my.animblend != fall) {
				my.jumping_mode = 3;
				my.blendframe = fall;
				my.animate2 = 0;
				my.animblend = blend;
			}
		}
		my.force_z -= my.grav * time_step;
		my.force_z = maxv(-30,my.force_z);
		if (my.movement_mode == 2) { my.force_z = 0; }
	}
 	my.velocity_z += (time_step * my.force_z) - (minv(time_step*0.7,1) * my.velocity_z);
	my.move_z = my.velocity_z * time_step;
}

//////////////////////////////
//Stable/rigid camera collision
//////////////////////////////
function handle_camera()
{
	var temp;
	VECTOR tempVec;
	camera.pan -= mouse_force.x * 12 * time_step;
	camera.tilt += mouse_force.y * 8 * time_step;
	camera.tilt = clamp(camera.tilt,-30,10);
	temp = fcos(camera.tilt,-camera_distance);
	vec_set(camera.x,vector(my.x + fcos(camera.pan,temp),my.y + fsin(camera.pan,temp),my.z + 20 + fsin(camera.tilt,-camera_distance)));

	vec_diff(tempVec.x,camera.x,my.x); //find the vector from the player to the camera
	vec_normalize(tempVec.x,16); //get the magnitude of it's vector to 16 quants and store it in temp
	vec_add(tempVec.x,camera.x); //add the vector (from player to camera) of a magnitude of 16 quants and add it to the camera's position.

	//trace_mode = IGNORE_ME+IGNORE_PASSABLE+ignore_models;
	result = c_trace(my.x,tempVec.x,IGNORE_ME | IGNORE_PASSABLE | IGNORE_MODELS); //trace from the player to 16 quants behind the camera.
	if (result > 0) {
		vec_diff(tempVec.x,my.x,target.x); //find the vector from the point the trace hit to the player
		vec_normalize(tempVec.x,16); //get the magnitude of this vector to 16 quants and store in temp
		vec_set(camera.x,target.x); //place the camera at the trace hit point
		vec_add(camera.x,tempVec.x); //move the camera away from the wall by the vector temp, 16 quants towards the player
	}
}


//////////////////////////////
//Smooth camera collision
//////////////////////////////
/*function handle_camera() {
	camera_pan -= mouse_force.x * 12 * time_step_step_step;
	camera_tilt += mouse_force.y * 8 * time_step_step_step;
	camera_tilt = clamp(camera_tilt,-30,10);

	camera.pan = camera_pan;
	temp = fcos(camera_tilt,-camera_distance);
	vec_set(camera_move_to.x,vector(my.x + fcos(camera.pan,temp),my.y + fsin(camera.pan,temp),my.z + 20 + fsin(camera_tilt,-camera_distance)));

	temp = minv(1,0.5 * time_step_step); //changing 0.5 will change how fast the camera moves, at 1 places us at target, this value is what allows the smooth movement
	camera.x += temp*(camera_move_to.x - camera.x);
	camera.y += temp*(camera_move_to.y - camera.y);
	camera.z += temp*(camera_move_to.z - camera.z);

	vec_diff(temp.x,camera.x,my.x);
	vec_normalize(temp.x,16);
	vec_add(temp.x,camera.x);

	trace_mode = IGNORE_ME + IGNORE_PASSABLE + ignore_models;
	if (trace(my.x,temp.x) > 0) {
		vec_diff(temp.x,my.x,target.x);
		vec_normalize(temp.x,16);
		vec_set(camera.x,target.x);
		vec_add(camera.x,temp.x);
	}

	vec_diff(temp.x,my.x,camera.x);
	vec_to_angle(camera.pan,temp.x);
}*/

function rotate_entity(rotate_angle,rotate_speed)
{
	if (my.pan == rotate_angle) return;
	result = ang(rotate_angle - my.pan);
	if (result > 0) { my.pan += rotate_speed * time_step; }
	if (result < 0) { my.pan -= rotate_speed * time_step; }
	if (ang(rotate_angle - my.pan) < 0 && result > 0) { my.pan = rotate_angle; }
	if (ang(rotate_angle - my.pan) > 0 && result < 0) { my.pan = rotate_angle; }
}

function handle_sword_collision()
{
	VECTOR temp;
	VECTOR temp2;
	you = NULL;
	vec_for_vertex(temp.x,player_weapon,274); //sword base
	vec_for_vertex(temp2.x,player_weapon,54); //sword tip
	//trace_mode = IGNORE_ME+IGNORE_PASSABLE+USE_BOX;
	result = c_trace(temp.x,temp2.x, IGNORE_ME | IGNORE_PASSABLE | USE_BOX);
	if (you != NULL) {
		if (you.entity_type == 2 && you.hit_by_player == 0) {
			if (airborne_attack == 1 && my.animblend == attack_a) {
				my.movement_mode = 2;
			}
			you.hit_by_player = 1;
			if (target_enemy == NULL) { target_enemy = you; player_lock_on = 1; }
		}
	}
}


action player_action()
{
	player = my;
	my.grav = 6;
	my.z_offset = 6;
	set(my,SHADOW);
	ent_create("sword.mdl",my.x,attach_weapon);
	wait(1);
	while (1) { //the main loop
		handle_grav();
		handle_movement();
		handle_camera();
		handle_animation(1);
		wait(1);
	}
}


enemy.c

Code:
action enemy_dummy()
{
	set(my,SHADOW);
	my.entity_type = 2;
	//my.enable_scan = on;
	my.emask |= ENABLE_SCAN;
	while (1) {
		if (my.hit_by_player == 1) {
			my.move_x = player.move_x;
			my.move_y = player.move_y;
			my.move_z = player.move_z;
			//	move_mode = ignore_passable | glide; //replace c_move with these 2 lines in versions of gamestudio below 6.4
			//	ent_move(nullvector,my.move_x);
			c_move(my,nullvector,my.move_x,USE_AABB | IGNORE_PASSABLE | GLIDE);
			if (player.animblend == blend || player.animblend < attack_a || my.animblend > attack_f) { my.hit_by_player = 0; }
		}
		if ((player.animblend >= stand && target_enemy == my && player_lock_on == 0) && (player.animblend < attack_a || player.animblend > attack_f)) target_enemy = NULL;
		if (target_enemy == my && vec_dist(my.x,player.x) > 200) target_enemy = NULL;
		wait(1);
	}
}


animation.c

Code:
function handle_animation(animation_speed) {
	if (animation_speed <= 0) { animation_speed = 1; }
	if (my.animblend != blend && my.blendframe != nullframe) { my.animate2 = 0; my.animblend = blend; }
	if (my.animblend == blend) {
		if (my.currentframe == stand) { ent_animate(my,"stand",my.animate,ANM_CYCLE); }
		if (my.currentframe == run) { ent_animate(my,"run",my.animate,ANM_CYCLE); }
		if (my.currentframe == walk) { ent_animate(my,"walk",my.animate,ANM_CYCLE); }
		if (my.currentframe == jump) { ent_animate(my,"jump",my.animate,0); }
		if (my.currentframe == attack_a) { ent_animate(my,"attack_a",my.animate,0); }
		if (my.currentframe == attack_b) { ent_animate(my,"attack_b",my.animate,0); }
		if (my.currentframe == attack_c) { ent_animate(my,"attack_c",my.animate,0); }
		if (my.currentframe == attack_d) { ent_animate(my,"attack_d",my.animate,0); }
		if (my.currentframe == attack_e) { ent_animate(my,"attack_e",my.animate,0); }
		if (my.currentframe == attack_f) { ent_animate(my,"attack_f",my.animate,0); }
		if (my.blendframe == stand) { ent_blend("stand",0,my.animate2); }
		if (my.blendframe == run) { ent_blend("run",0,my.animate2); }
		if (my.blendframe == walk) { ent_blend("walk",0,my.animate2); }
		if (my.blendframe == jump) { ent_blend("jump",0,my.animate2); }
		if (my.blendframe == fall) { ent_blend("jump",60,my.animate2); }
		if (my.blendframe == attack_a) { ent_blend("attack_a",0,my.animate2); }
		if (my.blendframe == attack_b) { ent_blend("attack_b",0,my.animate2); }
		if (my.blendframe == attack_c) { ent_blend("attack_c",0,my.animate2); }
		if (my.blendframe == attack_d) { ent_blend("attack_d",0,my.animate2); }
		if (my.blendframe == attack_e) { ent_blend("attack_e",0,my.animate2); }
		if (my.blendframe == attack_f) { ent_blend("attack_f",0,my.animate2); }
		my.animate2 += 45 * time_step;
		if (my.animate2 >= 100) {
			my.animate = 0;
			my.animblend = my.blendframe;
			my.blendframe = nullframe;
		}
	}
	if (my.animblend == stand) {
		ent_animate(my,"stand",my.animate,ANM_CYCLE);
		my.animate += 5 * animation_speed * time_step;
		my.animate %= 100;
		my.currentframe = stand;
	}
	if (my.animblend == run) {
		ent_animate(my,"run",my.animate,ANM_CYCLE);
		my.animate += 8 * animation_speed * time_step;
		my.animate %= 100;
		my.currentframe = run;
	}
	if (my.animblend == walk) {
		ent_animate(my,"walk",my.animate,ANM_CYCLE);
		my.animate += 8 * animation_speed * time_step;
		my.animate %= 100;
		my.currentframe = walk;
	}
	if (my.animblend == jump || my.animblend == fall) {
		if (my.jumping_mode == 3) { my.animate = 60; }
		ent_animate(my,"jump",my.animate,0);
		my.animate += 10 * animation_speed * time_step;
		my.currentframe = jump;
		if (my.animate >= 60 && my.jumping_mode == 1) { my.jumping_mode = 2; }
		if (my.animate >= 100) {
			ent_animate(my,"jump",100,0);
			my.animate = 100;
			my.blendframe = stand;
			if (my.moving == 1) {
				if (key_shift == 1) { my.blendframe = walk; } else { my.blendframe = run; }
			}
		}
	}
	if (my.animblend == attack_a) {
		ent_animate(my,"attack_a",my.animate,0);
		my.animate += 20 * animation_speed * time_step;
		my.currentframe = attack_a;
		if (my.animate >= 100) {
			ent_animate(my,"attack_a",100,0);
			my.animate = 100;
			my.blendframe = stand;
			if (my.moving == 1) {
				if (key_shift == 1) { my.blendframe = walk; } else { my.blendframe = run; }
			}
			if (combo_continue == 1) {
				combo_continue = 0;
				my.blendframe = attack_b;
			} else {
				my.movement_mode = 0;
			}
		}
	}
	if (my.animblend == attack_b) {
		ent_animate(my,"attack_b",my.animate,0);
		my.animate += 15 * animation_speed * time_step;
		my.currentframe = attack_b;
		if (my.animate >= 100) {
			ent_animate(my,"attack_b",100,0);
			my.animate = 100;
			my.blendframe = stand;
			if (my.moving == 1) {
				if (key_shift == 1) { my.blendframe = walk; } else { my.blendframe = run; }
			}
			if (combo_continue == 1) {
				combo_continue = 0;
				my.blendframe = attack_c;
			} else {
				my.movement_mode = 0;
			}
		}
	}
	if (my.animblend == attack_c) {
		ent_animate(my,"attack_c",my.animate,0);
		my.animate += 10 * animation_speed * time_step;
		my.currentframe = attack_c;
		if (my.animate >= 100) {
			ent_animate(my,"attack_c",100,0);
			my.animate = 100;
			my.blendframe = stand;
			if (my.moving == 1) {
				if (key_shift == 1) { my.blendframe = walk; } else { my.blendframe = run; }
			}
			if (combo_continue == 1) {
				my.jumping_mode = 10;
				my.force_z = 12;
				my.grav = 4;
				combo_continue = 0;
				my.blendframe = attack_d;
			} else {
				my.movement_mode = 0;
			}
		}
	}
	if (my.animblend == attack_d) {
		handle_sword_collision();
		ent_animate(my,"attack_d",my.animate,0);
		my.animate += 15 * animation_speed * time_step;
		my.currentframe = attack_d;
		if (my.animate >= 100) {
			ent_animate(my,"attack_d",100,0);
			my.animate = 100;
			my.blendframe = stand;
			if (my.moving == 1) {
				if (key_shift == 1) { my.blendframe = walk; } else { my.blendframe = run; }
			}
			if (combo_continue == 1) {
				combo_continue = 0;
				my.blendframe = attack_e;
			} else {
				my.movement_mode = 0;
			}
		}
	}
	if (my.animblend == attack_e) {
		ent_animate(my,"attack_e",my.animate,0);
		my.animate += 15 * animation_speed * time_step;
		my.currentframe = attack_e;
		if (my.jumping_mode == 0 && my.animate >= 20 && my.animate < 60) {
			my.grav = 3;
			my.jumping_mode = 10;
			my.force_z = 15;
		}
		if (my.animate >= 100) {
			ent_animate(my,"attack_e",100,0);
			my.animate = 100;
			my.blendframe = stand;
			if (my.moving == 1) {
				if (key_shift == 1) { my.blendframe = walk; } else { my.blendframe = run; }
			}
			if (combo_continue == 1) {
				combo_continue = 0;
				my.blendframe = attack_f;
			} else {
				my.movement_mode = 0;
			}
		}
	}
	if (my.animblend == attack_f) {
		ent_animate(my,"attack_f",my.animate,0);
		my.animate += 6 * animation_speed * time_step;
		my.currentframe = attack_f;
		if (my.jumping_mode == 0 && my.animate >= 40 && my.animate < 60) {
			my.grav = 6;
			my.jumping_mode = 10;
			my.force_z = 12;
		}
		if (my.animate >= 100) {
			my.movement_mode = 0;
			ent_animate(my,"attack_f",100,0);
			my.animate = 100;
			my.blendframe = stand;
			if (my.moving == 1) {
				if (key_shift == 1) { my.blendframe = walk; } else { my.blendframe = run; }
			}
		}
	}
	if (my.animblend >= attack_a && my.animblend <= attack_f) { handle_sword_collision(); }
	if (my.animblend != blend && my.blendframe != nullframe) { my.animate2 = 0; my.animblend = blend; }
}




I was once Anonymous_Alcoholic.

Code Breakpoint;
Re: [REQ] converting a code to lite-c [Re: Cowabanga] #240740
12/12/08 09:28
12/12/08 09:28
Joined: Aug 2008
Posts: 2,838
take me down to the paradise c...
Cowabanga Offline OP
Expert
Cowabanga  Offline OP
Expert

Joined: Aug 2008
Posts: 2,838
take me down to the paradise c...
Great. now player keeps falling.

what to do now.... so okay! ill get the modified kh movement code. but it have an errors, and i need the combo attack.

and kh movement code animation is cool, so can you put the kh animation code to the modified?

sorry -_-

Page 2 of 8 1 2 3 4 5 6 7 8

Moderated by  HeelX, Lukas, rayp, Rei_Ayanami, Superku, Tobias, TWO, VeT 

Gamestudio download | chip programmers | Zorro platform | shop | Data Protection Policy

oP group Germany GmbH | Birkenstr. 25-27 | 63549 Ronneburg / Germany | info (at) opgroup.de

Powered by UBB.threads™ PHP Forum Software 7.7.1