c_move, c_trace ??

Posted By: eq

c_move, c_trace ?? - 08/30/10 05:02

Hi,
verflixt, ich schaffe es einfach nicht, dass mein player nicht überall durch die wände (bzw. blöcke) läuft...obwohl ich GLIDE im c_move
angegeben habe.

Auch das c_trace aus dem c-lite-Workshop funktioniert nicht, (also ohne die Terrain-map aus dem Shooter-Workshop),
mein Player hängt einfach immer unter der Decke rum,
statt sich auf den Boden zu stellen,
insgesamt kommt es mir so vor, als ob meine Blöcke,
mein ganzer Raum (hollow Block)
einfach nicht erkannt wird,
weder von c_move/GLIDE, noch vom trace-strahl,
ich bin solangsam wirklich verzweifelt, ich denke ständig, ich habe verstanden wie es funktioniert, aber mein player tut nie was er soll. kann das was mit den verschiedenen Versionen (A7, A8) zu tun haben?

action move_me()

hier mein player-script:
{
VECTOR vFeet;
vec_for_min(vFeet,me);




player=me;
//set(my,INVISIBLE );


while (1)
{

c_move(me, vector(playerX,playerY,playerY),NULL, GLIDE | IGNORE_PASSABLE);

var distance = (key_cuu-key_cud)*5*time_step;

my.ANIMATION += 1.2*playerX;
ent_animate(me,"walk",my.ANIMATION,ANM_CYCLE);

// adjust entity to the ground height, using a downwards trace
c_trace(my.x,vector(my.x,my.y,my.z-2000),IGNORE_ME);



my.z = hit.z - vFeet.z; // always place player's feet on the ground
my.tilt= camPanX ;
my.pan = camPanY+180;
wait (1);
camera.pan = player.pan;
camera.tilt = player.tilt;
camera.x= player.x - 150;
camera.y= player.y;
camera.z= player.z;
}


}
Posted By: jane

Re: c_move, c_trace ?? - 09/02/10 17:10

Setz doch mal bei der c_move in die Parameter |USE_BOX oder |USE_POLYGON

Damit benutzt der Player seine Hülle zur Kollissions-Erkennung.

Mit dem im Boden stecken könnte daran liegen, daß der Player im WED von
Anfang an zu tief plaziert ist. Wenn nicht probier mal das:

my.z -= c_trace(my.x,vector(my.x,my.y,vFeet.z-2000),IGNORE_ME);

diese Zeile my.z = hit.z - vFeet.z; // always place player's feet on the ground
dann natürlich ausklammern

Beim Vector vFeet noch ein [3], also VECTOR vFeet[3];

Posted By: TrackingKeks

Re: c_move, c_trace ?? - 09/02/10 18:23

Also ich weiß nicht, ob ich dich richtig verstanden habe, aber hast du deine Entity in einem Würfel/Model/.. platziert oder einen Level aus Blöcken/Modellen geschaffen? Wenn die Entity in einem Objekt steht (auch nur zum Teil/bzw. der Ursprung), dann wird dein Code nie funktionieren. Um ihn zu testen, würde ich dir vorschlagen, dass du entweder ein einfaches Terrain erstellst und dort die Entity platzierst und deinen Code testet oder die Position der Entity änderst. Wenn es funktionieren sollte, ist der Level das Problem und ansonsten ist es dein Code.

Ach ja, die Engine Version kann kein Problem dafür sein außer du hast den Level in einer anderen Version gebuildet.
© 2024 lite-C Forums