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
apply physics on click problem #370900
05/16/11 16:58
05/16/11 16:58
Joined: Jun 2009
Posts: 258
behind this enternet window
zeusk Offline OP
Member
zeusk  Offline OP
Member

Joined: Jun 2009
Posts: 258
behind this enternet window
hello guys im having a small problem with my code that i think you can help with.
im currently working on a minecraft/RTS game called slumbus, and i need help with the physics.

is there any way for me to apply physics only to the slumbus models and not anything else without loosing the function pointer it already has?

heres the code:




Code:
#define HEALTH skill10
#include <acknex.h>
#include <default.c>
ENTITY* er;
ENTITY* a;

STRING* message_str = "#50"; // this string can store up to 50 characters
//SOUND* hurt = "fire.wav";
//SOUND* run = "kung fu run.wav";
//SOUND* muzik = "kung fu loop.wav";
//SOUND* walk = "14metala1.wav";

   var speed_down = 0;   // downward speed by gravity
   var anim_percent = 0; // animation percentage
   VECTOR vFeet;
   vec_for_min(vFeet,er); // vFeet.z = distance from player origin to lowest vertex

function delete() // this function runs when the bullet collides with something

{

       wait (1); // wait a frame to be sure (don't trigger engine warnings)

       ent_remove (my); // and then remove the bullet

}

function mouse_startup()

{  

       // allow the player to switch the characters even if they are 10,000 quants away from each other

       mouse_range = 10000; 

       mouse_mode = 1;

       

       while (1)

       {  

               vec_set(mouse_pos, mouse_cursor);

                   wait(1);

       }

}

function phys()
{
	// Now let's set the ball's physical properties. 
	phent_settype(my,PH_RIGID,PH_BOX);
	phent_setmass(my,1,PH_SPHERE);
	phent_setfriction(my,90);
	phent_setelasticity(my,75,100);
	phent_setdamping(my,30,5);

// We add a small speed to give it a little sidewards kick. 
	phent_addvelcentral(my,vector(10,10,0));
	
	my.emask |= ENABLE_FRICTION;
}


function move_player()

{

       var anim_percentage;

       while (player == my)

       {

               camera.x = my.x - 500 * cos(my.pan); // place the camera 200 quants behind the player

            camera.y = my.y - 200 * sin(my.pan); 
            camera.z = my.z + 100; // and 300 quants above its origin
c_setminmax(my);
            camera.pan = my.pan;

            camera.tilt = -15; // look down at the player

               // move the player using the "W", "S", "A" and "D" keys; "10" = movement speed, "6" = rotation speed

               c_move (my, vector(50 * (key_w - key_s) * time_step, 0, 0), nullvector, GLIDE);

               my.pan += 6 * (key_a - key_d) * time_step;
               my.z += 22 * (key_q - key_e) * time_step;
               camera.ambient += 20 * (key_z - key_x) * time_step;
               if (key_w || key_s) // the player is walking?

               {

                       ent_animate(my, "walk", anim_percentage, ANM_CYCLE);

                       anim_percentage += 8 * time_step; // "8" controls the "walk" animation speed

               }


               else // the player is standing still?

               {

                       ent_animate(my, "stand", anim_percentage, ANM_CYCLE);

                       anim_percentage += 0.5 * time_step; // "0.5" controls the "stand" animation speed

               }     

               wait (1);

       }

}



function switch_players()

{

       if (player == my) {return;} // don't make the switch if the actual player is clicked again

       player = my;

       camera.pan = my.pan; // start with a proper camera orientation

       move_player();
       
}








action set_player()

{

       player = my;

       move_player();

       my.emask |= ENABLE_CLICK;

       my.event = switch_players;

}

 


 function delete()

{

       my.emask |= ENABLE_CLICK;

       my.event = delete;

}

function spawn()
{
	ent_create("slumbus.mdl",vector(0,0,100),set_player);
	
}

function main()

{
	

 
 level_load("boxin{.mdl");//load this premade matrix for now


video_mode = 7;
video_screen = 1;
camera.ambient = 100;
//**********************REMEMBER TO ADD SCI-FI ROOM FOR THE INTERIOR OF THE SPACE CAPSULE IN LEVEL 2*****************************************

	
	er = ent_create("",vector(0,0,100),set_player);// loads joe
	c = ent_create("blank.mdl",vector(0,0,100),spawn);// loads joe
	er.pan = 0;

   b = ent_create("slumbus.mdl",vector(1990,780,100),set_player);
   
   a = ent_create("",vector(1190,40,180),NULL);
   b.pan = 180;
   er.min_z *= 0.5;
   var speed_down = 0;   // downward speed by gravity
   var anim_percent = 0; // animation percentage
   VECTOR vFeet;
   vec_for_min(vFeet,er); // vFeet.z = distance from player origin to lowest vertex
   er.push = 3;
   str_cpy(message_str, "Grace system beta:move with wasd keys tilt with hj keys, and roll with kl keys.");
   c_setminmax(er); // adds a bigger collision box to model
   c_setminmax(b);
   ph_setgravity(vector(0,0,-500));
  on_space = spawn;
   while (1)
   {
   	

 


d3d_fogcolor1.red = 255;d3d_fogcolor1.green = 255;
d3d_fogcolor1.blue = 255; // black fog
//fog_color = 1;




      wait(1);
      

      
   }



    





}



Any help is greatly appreciated laugh

Last edited by zeusk; 05/16/11 20:42.
Re: apply physics on click problem [Re: zeusk] #370933
05/16/11 19:43
05/16/11 19:43
Joined: Mar 2006
Posts: 3,538
WA, Australia
J
JibbSmart Offline
Expert
JibbSmart  Offline
Expert
J

Joined: Mar 2006
Posts: 3,538
WA, Australia
Please use [/code] tags. You'll find that people are more helpful when you do that. Also, blue hurts on the forum background colour.

Jibb


Formerly known as JulzMighty.
I made KarBOOM!
Re: apply physics on click problem [Re: JibbSmart] #370948
05/16/11 20:43
05/16/11 20:43
Joined: Jun 2009
Posts: 258
behind this enternet window
zeusk Offline OP
Member
zeusk  Offline OP
Member

Joined: Jun 2009
Posts: 258
behind this enternet window
srry bout that...now can someone help me please? laugh


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