Gamestudio Links
Zorro Links
Newest Posts
AlpacaZorroPlugin v1.3.0 Released
by kzhao. 05/22/24 13:41
Free Live Data for Zorro with Paper Trading?
by AbrahamR. 05/18/24 13:28
Change chart colours
by 7th_zorro. 05/11/24 09:25
AUM Magazine
Latest Screens
The Bible Game
A psychological thriller game
SHADOW (2014)
DEAD TASTE
Who's Online Now
1 registered members (Akow), 1,361 guests, and 9 spiders.
Key: Admin, Global Mod, Mod
Newest Members
AemStones, LucasJoshua, Baklazhan, Hanky27, firatv
19055 Registered Users
Previous Thread
Next Thread
Print Thread
Rate Thread
Page 2 of 3 1 2 3
Re: Herumfliegende Körperteile #9207
06/06/02 00:07
06/06/02 00:07

A
Anonymous OP
Unregistered
Anonymous OP
Unregistered
A



Dann versuchen wir's mal anzugehen. Du brauchst ein Knochen-Modell (bone.mdl) und eine Blutflecken-Sprite (blut.bmp). Wie erschaffst Du die Knochen? Mit EMIT ?? -> dann musst Du halt selbst eine Knochen-Definition scheiben z.B. (definition_flying_bones). Ich hab den Code so geschrieben, dass Du einfach beispielsweise 7x einen Knochen erschaffen kannst, bevor Du das Ewige segnest, geht das ok.
...
CREATE (<bone.mdl>, MY.X, flying_bones);
CREATE (<bone.mdl>, MY.X, flying_bones);
CREATE (<bone.mdl>, MY.X, flying_bones);
CREATE (<bone.mdl>, MY.X, flying_bones);
CREATE (<bone.mdl>, MY.X, flying_bones);
CREATE (<bone.mdl>, MY.X, flying_bones);
CREATE (<bone.mdl>, MY.X, flying_bones);
...
wait 1;
REMOVE (ME);
...

OK, dann mein Code (hab ihn nicht getestet, hat vielleicht noch ein paar Fehler drin).

//BIND <blut.bmp>;
//BIND <bone.mdl>;

DEFINE _COUNTER_1, SKILL32;
DEFINE _COUNTER_2, SKILL33;
DEFINE _ARRAY_X,SKILL34;
DEFINE _ARRAY_Y,SKILL35;
DEFINE _ARRAY_Z,SKILL36;
DEFINE _ARRAY_PAN,SKILL37;
DEFINE _ARRAY_TILT,SKILL38;
DEFINE _ARRAY_ROLL,SKILL39;

VAR angles[3];
VAR bounce_pos[3];

//Prototypes

FUNCTION flying_bones();
FUNCTION blut_function();
FUNCTION bone_bounce();
FUNCTION blut_init();

//FUNCTION der fliegenden Knochen

FUNCTION flying_bones
{
MY.SCALE_X = YOU.SCALE_X/2.5;
MY.SCALE_Y = YOU.SCALE_Y/2.5;
MY.SCALE_Z = YOU.SCALE_Z/2.5;
MY._ARRAY_X = (40 - RANDOM (80)) * TIME;
MY._ARRAY_Y= (40 - RANDOM (80)) * TIME;
MY._ARRAY_Z= RANDOM (20) * TIME;

MY._ARRAY_PAN=(20 - RANDOM (40)) * TIME;
MY._ARRAY_TILT=(20 - RANDOM (40)) * TIME;
MY._ARRAY_ROLL=(20 - RANDOM (40)) * TIME;
MY._COUNTER_1 = 1000;
MY._COUNTER_2 = 1 + RANDOM (3);

MY.EVENT = bone_bounce;
MY.ENABLE_BLOCK = ON;
MY.ENABLE_ENTITY = ON;

WHILE (MY._COUNTER_1 > 0)
{
MY._COUNTER_1 -= MY._COUNTER_2;
MY.PAN += MY._ARRAY_PAN;
MY.TILT += MY._ARRAY_TILT;
MY.ROLL += MY._ARRAY_ROLL;
ent_move (NULLVECTOR, MY._ARRAY_X);
wait (1);
}
REMOVE (ME);
}

//FUNCTION der abprallenden Knochen

FUNCTION bone_bounce()
{
IF ((EVENT_TYPE == EVENT_BLOCK) || (EVENT_TYPE == EVENT_ENTITY))
{
TO_ANGLE angles,BOUNCE; // BOUNCE
MY.PAN -= MY._ARRAY_PAN;
MY.TILT -= MY._ARRAY_TILT;
MY.ROLL -= MY._ARRAY_ROLL;
blut_init();
CREATE(<blut.bmp>,bounce_pos,blut_function);
}
}

//FUNCTION der blut sprites

FUNCTION blut_function
{
MY.FACING = ON;
wait 200;
REMOVE (ME);
}

//FUNCTION der gebouncten Knochen (Vectorübergabe)

FUNCTION blut_init()
{
VEC_SET(blut_pos,MY.X);
VEC_SET(NULLVECTOR, MY._ARRAY_X);
}

Re: Herumfliegende Körperteile #9208
06/06/02 18:38
06/06/02 18:38

A
Anonymous OP
Unregistered
Anonymous OP
Unregistered
A



@Evelyne Boo:
Habe deinen Code ausprobiert. Ja waren tatsächlich ein paar Fehler drin. Aber ich habe ihn zum laufen gekriegt. Was jetzt mein Problem ist, ich will die Geschwindigkeit der herumfliegenden Teile begrenzen und auch die weite, die sie fliegen können-so dass sie nicht die ganze Zeit herumschwirren. Was muss ich dazu ändern? Habe probiert die random-Werte kleiner zu stellen, nur dann bewegen sich die Teile nicht mehr, weil sie unter einander kollidieren! Ich weiß auch nicht mehr weiter...
[Frown] [Big Grin] [Eek!] [Frown] [Frown] [Frown] [Frown]

Re: Herumfliegende Körperteile #9209
06/06/02 21:47
06/06/02 21:47

A
Anonymous OP
Unregistered
Anonymous OP
Unregistered
A



In der FUNCTION flying_bones kannst Du die Geschwindigkeit und die Lebensdauer ändern

Geschwindigkeit: so halbierst Du die Geschwindigkeit

MY._ARRAY_X = (20 - RANDOM (40)) * TIME;
MY._ARRAY_Y= (20 - RANDOM (40)) * TIME;
MY._ARRAY_Z= RANDOM (10) * TIME;

Lebensdauer: so leben Deine Knochen nur noch 1/10

MY._COUNTER_1 = 100;
(MY._COUNTER_1 = 1000; ist ja pervers lange!!!)

Du kannst natürlich den Knochen auch das FLAG TRANSPARENT = ON setzen und dann die Knochen ausblenden lassen, für MY.ALPHA setzt Du einfach MY._COUNTER_1 gleich (MY.ALPHA = MY._COUNTER_1;).

Mach mal ein Screenshot! Würd mich echt interessieren!!

Re: Herumfliegende Körperteile #9210
06/06/02 23:45
06/06/02 23:45

A
Anonymous OP
Unregistered
Anonymous OP
Unregistered
A



@Evelyne Boo:
Danke hast mir sehr geholfen. Hab jetzt schon einen schönen Effekt. Allerdings habe ich noch ein paar Problemchen bei den Blutspritzern. Diesen Effekt werde ich morgen oder übermorgen fertig haben. Wenn du interessiert bist, kann ich dir dann den rohen Code per Nachricht senden-weil du mir so geholfen hast! [Razz] Und einen Screenshot werde ich auch noch hier reintun-aber heut habe ich keine Zeit mehr zum Coden!

Re: Herumfliegende Körperteile #9211
06/07/02 14:28
06/07/02 14:28

A
Anonymous OP
Unregistered
Anonymous OP
Unregistered
A



Alles funktioniert wunderbar. Nur wenn ich die Blutspritzerfunktion einschalte, bekomme ich immer nur die Fehlermeldung: "Engine Crash - More than MAX_ENTITIES (300)". Aber ich erstelle doch garnicht so viele Entities, woran kann es liegen? Kann man den Wert nicht ein bißchen hochschrauben, oder ist der bei einer anderen Version höher? [Roll Eyes]

Re: Herumfliegende Körperteile #9212
06/07/02 16:37
06/07/02 16:37
Joined: Mar 2002
Posts: 1,774
Magdeburg
F
FlorianP Offline
Serious User
FlorianP  Offline
Serious User
F

Joined: Mar 2002
Posts: 1,774
Magdeburg
Hi,
Du musst schreiben:
max.entities = 500;
Ich glaube so war´s wenn nicht schau mal in der Referenz nach.


I <3 LINQ
Re: Herumfliegende Körperteile #9213
06/07/02 17:33
06/07/02 17:33

A
Anonymous OP
Unregistered
Anonymous OP
Unregistered
A



Ja es funktioniert. Außerdem war der Fehler in der Blut_Sprite Funktion. Dort wird ein Create(<...pcx... ausgeführt, wenn die Einzelteile einen Block oder eine Entity berühren-und das tun sie doch die ganze Zeit, weil ich in meiner eigenen Funktion noch Schwerkraft eingebaut habe. Aber nochmals vielen Dank. Trotzdem sieht der Effekt bei mir irgendwie total scheiße aus. Ich habe jetzt auch noch trace verwendet, damit das Blut auf dem Boden kommt, aber ich weiß nicht wie ich es anstellen soll, dass es an den Wänden in der gleichen Schräglage hängenbleibt! Weiß jemand Rat? [Confused]

Re: Herumfliegende Körperteile #9214
06/08/02 00:36
06/08/02 00:36

A
Anonymous OP
Unregistered
Anonymous OP
Unregistered
A



Das Blut runterfliessen? Das würd ich mit EFFECT machen?
Post mal ein Screenshot vom Gemetzel!

PS: TRACE würd ich vergessen, braucht viel zuviel Speicher.

Re: Herumfliegende Körperteile #9215
06/08/02 01:30
06/08/02 01:30

A
Anonymous OP
Unregistered
Anonymous OP
Unregistered
A



OK, ich hab die FUNCTION blut_function verbessert. Mach mal eine zweite Blut-Bitmap (blut2.bmp) und häng das darunter. Irgendwie sollte das Blut ganz langsam runterlaufen. Hab's nicht ausprobiert ... aber versuchs mal, würd mich echt interessieren, ob's funktioniert!

code:
BMAP blood_map,<blut2.bmp>;

VAR parray [1801];
VAR ppoint = 0;

//PROTOTYPEN
FUNCTION array_function();
FUNCTION blut_function();
FUNCTION blut_function_2();
FUNCTION blood_particle();

FUNCTION array_function()
{
ppoint = 0;
while (parray [ppoint*6] != 0) { ppoint += 1; }
}

FUNCTION function_blut
{
MY.FACING = ON;
blut_function_2();
wait 200;
REMOVE (ME);
}

FUNCTION blut_function_2
{
MY.PASSABLE = ON;
array_function();
if (ppoint >= 300) { END; }
my.skill14 = ppoint;
parray[my.skill14 * 6] = 1;
if (my.skill8 == 0)
{ my.skill8 = 4; }
if (my.skill7 == 0)
{ my.skill7 = 1; }
if (my.skill7 < 0.2 && my.skill7 != -1)
{ my.skill7 = 0.2; }
if (my.skill7 > 3)
{ my.skill7 = 3; }
while(1) {
if (my.skill7 > 0)
{my.skill13 -= 1;
if (my.skill13 <= 0)
{
my.skill13 = my.skill8 / TIME;
parray[my.skill14 * 6 +2] = my.skill7;
parray[my.skill14 * 6 +1] = my.x + (random(4) - 2) * my.skill7;
my.skill10 = my.skill14;
my.skill11 = my.y + (random(4) - 2) * my.skill7;
my.skill12 = my.z;
emit(1,my.skill10,blood_particle);
}
}
wait(1);
}
}

FUNCTION blood_particle()
{
if(my_age == 0) {my_alpha = 0;
my_color.blue = parray[my_pos.x * 6 + 2];
my_pos.x = parray[my_pos.x * 6 + 1];
my_speed.z = -((0.7+random(1)) * my_color.blue);
my_color.red = random (80);
my_color.green = random (80);
my_size = (1100+random(200)) * my_color.blue;
my_map = blut_map;
my_flare = on;
END;
}
if (my_age > 80) {MY_ACTION = NULL;}
if (my_age > 17){my_alpha = 40 - my_age/2;}
else { my_alpha = my_age * 2; }
my_speed.x = (sin(my_age * 6 + my_color.red) / 2.5) * my_color.blue;
my_speed.y = (cos(my_age * 7 + my_color.green) / 2) * my_color.blue;
}



Re: Herumfliegende Körperteile #9216
06/10/02 04:52
06/10/02 04:52

A
Anonymous OP
Unregistered
Anonymous OP
Unregistered
A



Hallo nochmal
Habe jetzt ein Problem, dass die Körperteile die ganze Zeit den Boden und so berühren und keine Blutflecken, sondern Blutschlieren verursachen, weil andauernd Blutsprites generiert werden. Mein zweites Problem besteht darin, dass die Blutsprites sich mit den tilt,roll und pan Winkel nicht der Geometrie anpassen. Wie stelle ich das alles an? Schaut mal auf mein Screenshot!

 -

Page 2 of 3 1 2 3

Moderated by  HeelX, Spirit 

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