Tipp:
#1
Trenne die gravitation und die fortbewegung und verwende je eine c_move anweisung, also im endeffekt 2 stück dafür.
Den gleich rat erteilt das manual, nebenbei.
Sprich: Erst die 2d bewegung die über die bewegungstasten vom spieler gesteuert wird (WASD z.b.) und dann die gravitation (inkl. springen -> positive "gravitation").
#2
Was du auch sicherstellen solltest ist das das model im MED nicht mit dem füßen auf dem mittelpunktskreuz steht sondern das der mittelpunkt in knie oder gar hüfthöhe liegt. Das war zumindest früher immer notwendig damit man vernünftig treppen rauf und runter laufen konnte.
#3
Noch etwas, du verwendest das polygon flag für die spieler entity. Das ist ein NO-GO. das polygon flag ist ausschließlich für STATISCHE entities gedacht, sprich entities die nicht per c_move bewegt werden. Das benutzen des flags plus c_move kann zu fehlern in der kollisionserkennung führen.
#4
Setze an den anfang deiner action folgende script zeilen um die größe deiner entity, die bounding box, korrekt zu berechnen:
c_setminmax(my);
wait(1);
Das "wait(1);" ist nicht unbedingt erforderlich, bringt aber etwas sicherheit. Falls to c_updatehull(my,0) benutzen willst sollte es gar ein wait(2) sein.
Doch c_setminmax sollte völlig ausreichend, zu mal c_updatehull bei mir in letzter zeit falsche ergebnisse gebracht hat, während c_setminmax einwandfrei funktionierte.
edit:
#5
Ersetze jedes "time" durch "time_step". "time" ist veralteter syntax und sollte nicht mehr verwendet werden. Oder benutzt du ein version die älter als die neuste A6 ist?
hoffe das hilft dir etwas weiter
Last edited by Xarthor; 09/27/08 11:16.