2 registered members (AndrewAMD, juanex),
1,247
guests, and 6
spiders. |
Key:
Admin,
Global Mod,
Mod
|
|
|
c_move, c_trace ??
#339946
08/30/10 05:02
08/30/10 05:02
|
Joined: Jan 2004
Posts: 76 Germany
eq
OP
Junior Member
|
OP
Junior Member
Joined: Jan 2004
Posts: 76
Germany
|
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; } }
“It's not about what it is, it's about what it can become.”
(Dr. Seuss, The Lorax)
|
|
|
Re: c_move, c_trace ??
[Re: eq]
#340259
09/02/10 17:10
09/02/10 17:10
|
Joined: Nov 2008
Posts: 216
jane
Member
|
Member
Joined: Nov 2008
Posts: 216
|
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];
Last edited by jane; 09/02/10 17:13.
|
|
|
Re: c_move, c_trace ??
[Re: jane]
#340265
09/02/10 18:23
09/02/10 18:23
|
Joined: Nov 2009
Posts: 89 Germany, NRW
TrackingKeks
Junior Member
|
Junior Member
Joined: Nov 2009
Posts: 89
Germany, NRW
|
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.
Gamestudio: A7.82 Commercial/A8 Commercial System specs (Laptop): Windows 7 64bit DirectX v10.1 Intel Core i7-720QM CPU @ 1,60 GHz 4GB DDR2 Ram NVIDIA GeForce GT 230M (1024MB)
|
|
|
Moderated by mk_1, Perro, rayp, Realspawn, Rei_Ayanami, rvL_eXile, Spirit, Superku, Tobias, TSG_Torsten, VeT
|