1 registered members (TipmyPip),
18,449
guests, and 6
spiders. |
Key:
Admin,
Global Mod,
Mod
|
|
|
passable Problem
#174660
12/24/07 21:46
12/24/07 21:46
|
Joined: Jan 2006
Posts: 77
LX_Ulle
OP
Junior Member
|
OP
Junior Member
Joined: Jan 2006
Posts: 77
|
Hi,
ich hab ein kleines Problem mit dem Passable flag; in einer event-funktion soll ein Objekt wenn es getroffen wird passable werden, dann langsam ausgeblendet werden und schließlich entfernt werden. Das unsichtbar werden und das anschließende Entfernen funktioniert. Nur passable wird das Objekt nicht wärend der Ausblendzeit. Weiß jemand woran das liegen könnte.
Hier das Script:
function hit_event() { wait(1); my.passable = on; my.transparent = on; my.alpha = 100; while(my.alpha > 100) { my.alpha -= 5 * time; wait(1) } wait(1); ent_remove(my); return; }
action block_entity { my.enable_entety = on; my.enable_impact = on; my.event = hit_event; }
Hat jemand eine Idee woran es liegt, das das objekt nicht passable wird wenn es wärend der ausblendzeit nochmal getroffen wird?
Schon mal schönen Dank.
Ladet eure Sorgen bei Gott ab, denn er sorgt für euch. 1. Petrus 5, 7
|
|
|
Re: passable Problem
[Re: LX_Ulle]
#174661
12/24/07 21:57
12/24/07 21:57
|
Joined: Apr 2005
Posts: 3,076 Germany, NRW
rvL_eXile

3D Artist
|

3D Artist
Joined: Apr 2005
Posts: 3,076
Germany, NRW
|
Bitte "Code Tags"( [code ] [/code ] ) verwenden... Probier das mal : Code:
function hit_event() { if(event_type==event_push) { while(me)//solange ich existiere { my.passable = on; my.transparent = on; my.alpha = 100;
if(my.alpha >= 0) //100)größer 100 ? das funktioniert??? oO Machs lieber mal mit "0" { my.alpha -= 5 * time; if(my.alpha<=0) { wait(3); ent_remove(my); //Ohne die zusätzliche While Schleife wirst du hier evtl Probleme bekommen mit dem Pointer ! return; } } wait(1); } }
}
action block_entity { my.push=-1; my.enable_entity = on;//Benutze Push, damit gehts besser my.enable_impact = on;//brauchste nicht... my.enable_push=on; my.event = hit_event; }
Habs nicht getestet, sollte aber funktionieren Frohe Weihnachten noch  cya Sebastian
Tutorials: [Blender]Terrain creation ENG/GER [Blender]Low Poly Tree Modeling [GIMP]Create a Texture for Terrains CLICK HERE
|
|
|
Re: passable Problem
[Re: rvL_eXile]
#174662
12/24/07 22:14
12/24/07 22:14
|
Joined: Jan 2006
Posts: 77
LX_Ulle
OP
Junior Member
|
OP
Junior Member
Joined: Jan 2006
Posts: 77
|
Danke, habs ausprobiert. Aber jetzt passiert garnichts mehr, wenn mein player gegen die Entity stößt. Kann es vielleicht an der anstoßenden Entity liegen, das es nicht so richtig funktioniert?
Frohe Weihnachten
Last edited by LX_Ulle; 12/24/07 22:16.
Ladet eure Sorgen bei Gott ab, denn er sorgt für euch. 1. Petrus 5, 7
|
|
|
Re: passable Problem
[Re: LX_Ulle]
#174663
12/24/07 22:15
12/24/07 22:15
|
Joined: Apr 2005
Posts: 3,076 Germany, NRW
rvL_eXile

3D Artist
|

3D Artist
Joined: Apr 2005
Posts: 3,076
Germany, NRW
|
schreib mal in die C_Move Anweisung des players hinten bei "Glide" "+ignore_push" rein
cYa Sebastian
Last edited by rvL_eXile; 12/24/07 22:15.
Tutorials: [Blender]Terrain creation ENG/GER [Blender]Low Poly Tree Modeling [GIMP]Create a Texture for Terrains CLICK HERE
|
|
|
Re: passable Problem
[Re: rvL_eXile]
#174664
12/24/07 22:19
12/24/07 22:19
|
Joined: Jan 2006
Posts: 77
LX_Ulle
OP
Junior Member
|
OP
Junior Member
Joined: Jan 2006
Posts: 77
|
jetzt fällt der Player durch die anzustoßenden entities durch.
Ladet eure Sorgen bei Gott ab, denn er sorgt für euch. 1. Petrus 5, 7
|
|
|
Re: passable Problem
[Re: LX_Ulle]
#174665
12/24/07 22:37
12/24/07 22:37
|
Joined: Apr 2005
Posts: 3,076 Germany, NRW
rvL_eXile

3D Artist
|

3D Artist
Joined: Apr 2005
Posts: 3,076
Germany, NRW
|
Gib dem Spieler Entity nen Push von my.push=-1; und den entitys die du aufsammeln willst nen Push von my.push=-2;
Poste mal deinen Kompletten Code, der damit zutun hat!
cYa Sebastian
Tutorials: [Blender]Terrain creation ENG/GER [Blender]Low Poly Tree Modeling [GIMP]Create a Texture for Terrains CLICK HERE
|
|
|
Re: passable Problem
[Re: rvL_eXile]
#174666
12/24/07 23:09
12/24/07 23:09
|
Joined: Jan 2006
Posts: 77
LX_Ulle
OP
Junior Member
|
OP
Junior Member
Joined: Jan 2006
Posts: 77
|
Wie funktionieren eigentlich diese Code Tags??? Hoffe ich hab alles richtig übertragen, da ich eigentlich an einem anderem Computer arbeite.
Der Spieler soll einen Block von unten beim Springen berühren und dann nach unten falen oder abprallen. Bounce wollte ich nicht verwennden, da sich die Entity nicht drehan sollte. Der Block soll dann aber passable werden und ausgeblendet werden. Sory, das das Script schlecht komentiert ist.
[code ]
function hit_event() { if (event_type == event_impact) { while(me) { my.passable = on; my.transparent = on; my.alpha = 100; if (my.alpha >= 0) { my.alpha -= 5 * time; if (my.alpha <= 0) { wait(3); ent_remove(my); return; } } wait(1); } } }
action block { // my.enable_entity = on; // my.ENABLE_IMPACT = ON; my.enable_push = on; my.push = -2; my.event = hit_event; //my.passable = on; }
function hit_bottom_event() //die Entity soll von Level und Entity Blocks abprallen { if (event_type == EVENT_BLOCK) && (_distance_to_bottom < 2) {
rel_speed.z *= -1;
return; } if (event_type == EVENT_ENTITY) && (_distance_to_bottom < 2) { rel_speed.z *= -1; return; } }
action spieler { my.push = -1; my.ENABLE_BLOCK = ON; my.enable_entity = on; my.enable_push = on; my.event = hit_bottom_event;
while(1) { vec_set (temp, my.x); temp.z = my.z - 2000; //trace nach unten _distance_to_ground = c_trace (my.x, temp, ignore_me + ignore_passable) - ((my.max_z - my.min_z) / 2); vec_set (temp, my.x); temp.z = my.z + 5000; //trace nach oben _distance_to_bottom = c_trace (my.x, temp, ignore_me + ignore_passable) - ((my.max_z - my.min_z) / 2);
// Jump & Gravitation if (key_force.y == 1) && (_distance_to_ground <= 3) && (jumping == 0) { rel_speed.z = 128; jumping = 1; } if (_distance_to_ground > 1) { grav = -13; //die Gravitation if (key_force.y == 0) { jumping = 0; } } else { grav = 0; if (key_force.y == 0) { jumping = 0; } } _rel_dist.z = accelerate (rel_speed.z, grav, 0.1); ///walk left/right if (key_force.x != 0) { _rel_dist.y = accelerate (rel_speed.y, -32 * key_force.x, 0.7); } else { if (_distance_to_ground > 1) { _rel_dist.y = accelerate (rel_speed.y, 0, 0.1); } else { _rel_dist.y = accelerate (rel_speed.y, 0, 0.7); } } c_move (my, _rel_dist, nullvector, glide + ignore_passable); camera.y = my.y; camera.z = my.z + 512; wait(1); } }
Last edited by LX_Ulle; 12/24/07 23:14.
Ladet eure Sorgen bei Gott ab, denn er sorgt für euch. 1. Petrus 5, 7
|
|
|
Re: passable Problem
[Re: LX_Ulle]
#174667
12/24/07 23:16
12/24/07 23:16
|
Joined: Apr 2005
Posts: 3,076 Germany, NRW
rvL_eXile

3D Artist
|

3D Artist
Joined: Apr 2005
Posts: 3,076
Germany, NRW
|
Code tags funktionieren so: [code ] am Anfang des Codes (Ohne Leerzeichen) [/code ] am Ende des Codes (Ohne Leerzeichen) Code:
c_move (my, _rel_dist, nullvector, glide + ignore_passable +ignore_push); //ähhmmm hier fehlte das +ignore_push)
cYa Sebastian
Tutorials: [Blender]Terrain creation ENG/GER [Blender]Low Poly Tree Modeling [GIMP]Create a Texture for Terrains CLICK HERE
|
|
|
Re: passable Problem
[Re: rvL_eXile]
#174668
12/24/07 23:23
12/24/07 23:23
|
Joined: Jan 2006
Posts: 77
LX_Ulle
OP
Junior Member
|
OP
Junior Member
Joined: Jan 2006
Posts: 77
|
hatte ich schon ausprobiert, auch bei den beiden trace-Strahlen. Aber dann fällt der Spieler immer durch die Entity-Blocks durch. Der Player soll darüber hergehen können.
Ladet eure Sorgen bei Gott ab, denn er sorgt für euch. 1. Petrus 5, 7
|
|
|
Re: passable Problem
[Re: LX_Ulle]
#174669
12/25/07 11:51
12/25/07 11:51
|
Joined: Jan 2006
Posts: 77
LX_Ulle
OP
Junior Member
|
OP
Junior Member
Joined: Jan 2006
Posts: 77
|
Jetzt gehts. Danke für die Hilfe. Frohe Weihnachten
Ladet eure Sorgen bei Gott ab, denn er sorgt für euch. 1. Petrus 5, 7
|
|
|
|