Gamestudio Links
Zorro Links
Newest Posts
Zorro FIX plugin - Experimental
by flink. 04/21/24 07:12
Data from CSV not parsed correctly
by EternallyCurious. 04/20/24 21:39
M1 Oversampling
by 11honza11. 04/20/24 20:57
Scripts not found
by juergen_wue. 04/20/24 18:51
zorro 64bit command line support
by 7th_zorro. 04/20/24 10:06
StartWeek not working as it should
by jcl. 04/20/24 08:38
folder management functions
by VoroneTZ. 04/17/24 06:52
AUM Magazine
Latest Screens
The Bible Game
A psychological thriller game
SHADOW (2014)
DEAD TASTE
Who's Online Now
3 registered members (frutza, Quad, AndrewAMD), 385 guests, and 1 spider.
Key: Admin, Global Mod, Mod
Newest Members
EternallyCurious, howardR, 11honza11, ccorrea, sakolin
19047 Registered Users
Previous Thread
Next Thread
Print Thread
Rate Thread
entity schwebt. #75785
05/28/06 12:47
05/28/06 12:47
Joined: Apr 2006
Posts: 109
Stuttgart
S
starwolf Offline OP
Member
starwolf  Offline OP
Member
S

Joined: Apr 2006
Posts: 109
Stuttgart
habe eine schwebende kugel die ich auf denn boden des raumes setzen will und versuche über scripte dies nun zu meistern doch sie schwebt immer noch.

1: habe die A6 extra von sybex also keine c_befehle möglich
2: kollision passt soweit.
3: Modell in MED genau auf dem nullpunkt der Achsen
4: script

action my_ball
{
my.passable == off;
var move_vec [3];

while(me)
{
move_vec.x = 10 * (key_w-key_s) * time;
move_vec.y = 10 * (key_a-Key_d) * time;
vec_set(temp,my.x);
temp.z -= 1000;
trace_mode = glide;
trace(my.x,temp);
if(result>0){
my.z -= result;
}
wait(2);

move_mode = glide;
result = ent_move (move_vec, nullvector);
wait (1);
}
}

weiß einer woran das liegen kann?

Re: entity schwebt. [Re: starwolf] #75786
05/28/06 13:29
05/28/06 13:29
Joined: May 2005
Posts: 2,713
Lübeck
Slin Offline
Expert
Happy Birthday Slin  Offline
Expert

Joined: May 2005
Posts: 2,713
Lübeck
Versuchs mal so:

action my_ball
{
my.passable == off;
var move_vec [3];

while(me)
{
move_vec.x = 10 * (key_w-key_s) * time;
move_vec.y = 10 * (key_a-Key_d) * time;

vec_set(temp,my.x);
temp.z -= 1000;
trace_mode = use_box;
my.skill20 = trace(my.x,temp);
my.z -= result;

move_mode = glide;
ent_move (move_vec, nullvector);

wait (1);
}
}

Re: entity schwebt. [Re: Slin] #75787
05/28/06 13:40
05/28/06 13:40
Joined: Apr 2006
Posts: 109
Stuttgart
S
starwolf Offline OP
Member
starwolf  Offline OP
Member
S

Joined: Apr 2006
Posts: 109
Stuttgart
mit dem code entschwebt die kugel in die unendlichkeit nach oben.
was könnte es denn noch sein ?

Re: entity schwebt. [Re: starwolf] #75788
05/28/06 14:02
05/28/06 14:02
Joined: Apr 2006
Posts: 109
Stuttgart
S
starwolf Offline OP
Member
starwolf  Offline OP
Member
S

Joined: Apr 2006
Posts: 109
Stuttgart
sagmal ist das eigentlich normal das die entity bei bewegung mit kollision immer nen gewissen abstand zu denn wänden behält ? sollte die nicht immer genau auf die wand treffen ?

Re: entity schwebt. [Re: starwolf] #75789
05/28/06 15:18
05/28/06 15:18
Joined: Jul 2002
Posts: 4,436
Germany, Luebeck
Xarthor Offline
Expert
Xarthor  Offline
Expert

Joined: Jul 2002
Posts: 4,436
Germany, Luebeck
Ja, bei dem alten Kollisions-system ist das normal, da um das entity herum eine bounding-box berechnet wird die die kollision übernimmt.

Code:

action my_ball
{
my.passable == off;
var move_vec [3];

while(me)
{
move_vec.x = 10 * (key_w-key_s) * time;
move_vec.y = 10 * (key_a-Key_d) * time;

vec_set(temp,my.x);
temp.z -= 1000;
trace_mode = ignore_me + ignore_passable + use_box;
my.skill20 = trace(my.x,temp);
my.z -= my.skill20;

move_mode = glide;
ent_move (move_vec, nullvector);

wait (1);
}
}


Probiers mal mit dem code Hab den trace_mode ein bissle geändert.

Re: entity schwebt. [Re: starwolf] #75790
05/28/06 15:23
05/28/06 15:23
Joined: May 2005
Posts: 2,713
Lübeck
Slin Offline
Expert
Happy Birthday Slin  Offline
Expert

Joined: May 2005
Posts: 2,713
Lübeck
oh sorry ich hab noch ein paar sachen über sehen:

action my_ball
{
my.passable == off;
var move_vec [3];

while(me)
{
move_vec.x = 10 * (key_w-key_s) * time;
move_vec.y = 10 * (key_a-Key_d) * time;

vec_set(temp,my.x);
temp.z = 1000;
trace_mode = use_box;
my.skill20 = trace(my.x,temp);
my.z -= my.skill20;

move_mode = glide;
ent_move(move_vec, nullvector);

wait (1);
}
}


Auf die wand treffen tut nur die boundingbox welche viereckig ist.
Mit my.polygon = on würde es tatsächlich die wand berühren.
wenn du my.narrow = on setzt müsste die kügel eigentlich in die wand reingehen bis zu dem punkt wo du bonding box anfängt.

Re: entity schwebt. [Re: Slin] #75791
05/28/06 15:37
05/28/06 15:37
Joined: Apr 2006
Posts: 109
Stuttgart
S
starwolf Offline OP
Member
starwolf  Offline OP
Member
S

Joined: Apr 2006
Posts: 109
Stuttgart
ja leider geht das my.polygon noch nicht aber ich spare schon auf die com version, ok soweit klappt das nur noch eine bitte wie berechnet man das die entinity zwar denn punkt erreicht aber wenn sie über eine sagen wir rampe fährt nicht direkt denn boden erreicht sondern sagen wir mal mit nem wert von 5 pro sek runtergeht ?

dankeeeeeeeeeeee ihr bringt mich dem anfang meines ersten spiels immer näher grins.

Re: entity schwebt. [Re: starwolf] #75792
05/28/06 16:29
05/28/06 16:29
Joined: May 2005
Posts: 2,713
Lübeck
Slin Offline
Expert
Happy Birthday Slin  Offline
Expert

Joined: May 2005
Posts: 2,713
Lübeck
Dann musst du mit if überprüfen wie groß der abstand zum boden ist und den ball dann entsprechend auf den boden bewegen:

action my_ball
{
my.passable == off;
var move_vec [3];

while(me)
{
move_vec.x = 10 * (key_w-key_s) * time;
move_vec.y = 10 * (key_a-Key_d) * time;

vec_set(temp,my.x);
temp.z = 1000;
trace_mode = use_box;
my.skill20 = trace(my.x,temp);
if(my.skill20 > 2) //diese Zahl muss vielleicht etwas größer oder kleiner sein
{
move_vec.z -= 1*time; //diese zahl bestimmt die fallgeschwindigkeit
}else
{
if(my.skill20 < 0)
{
move_vec.z += 1*time;
}else
{
move_vec.z = 0;
}
}
move_mode = glide;
ent_move(move_vec, nullvector);

wait (1);
}
}

Re: entity schwebt. [Re: starwolf] #75793
05/30/06 09:50
05/30/06 09:50
Joined: Dec 2004
Posts: 1,509
München
anarchie2199 Offline
Serious User
anarchie2199  Offline
Serious User

Joined: Dec 2004
Posts: 1,509
München
Wenn du die bounding_box nicht nutzen willst, mache es so:

- erstelle eine Map-Entity die genau die Ausmaße der Kugel hat
- bewege diese Entity und setze die Kugel nur an die jeweilige Position -> die Map-Entity sorgt für Kollision und ist invisible, die Kugel ist visible und passable.


MFG;
Punker.


aktuelle Projekte: Medizinstudium

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