Gamestudio Links
Zorro Links
Newest Posts
Zorro 2.70
by jcl. 09/29/25 09:24
optimize global parameters SOLVED
by dBc. 09/27/25 17:07
ZorroGPT
by TipmyPip. 09/27/25 10:05
assetHistory one candle shift
by jcl. 09/21/25 11:36
Plugins update
by Grant. 09/17/25 16:28
AUM Magazine
Latest Screens
Rocker`s Revenge
Stug 3 Stormartillery
Iljuschin 2
Galactic Strike X
Who's Online Now
0 registered members (), 18,561 guests, and 5 spiders.
Key: Admin, Global Mod, Mod
Newest Members
krishna, DrissB, James168, Ed_Love, xtns
19168 Registered Users
Previous Thread
Next Thread
Print Thread
Rate Thread
Was ist hier falsch? #122807
04/10/07 20:05
04/10/07 20:05
Joined: Mar 2003
Posts: 51
Fürstenfeldbruck
S
Sticky Offline OP
Junior Member
Sticky  Offline OP
Junior Member
S

Joined: Mar 2003
Posts: 51
Fürstenfeldbruck
Hallo zusammen,

ich hab mal wieder ein Problem.
Ich habe ein Modell gemacht an dem an Vertex #109 Rauch aufsteigen soll.
Effekt wurde mit EP3 an Vertex #109 erstellt und angehängt.
Es funktioniert wenn ich nur "Rauch();" schreibe.
Ich möchte aber das rauch dann aufsteigt, wenn der Gegner 15 Health und weniger hat, so dachte ich mir müsste das doch hiermit gehen "if(my._health <= 15){Rauch(); }
Aber dem scheint nicht so zu sein.
Beispiel, unten im Code ersetze ich meine Zeile durch "Rauch();" gehts, mit dem Nachteil das der Rauch die ganze Zeit besteht.
Was mache ich hier falsch?


Folgend der Code der actor_walk_fight Aktion

Code:

action actor_walk_fight
{
// Health-
if (MY._HEALTH <= 0)
{
MY._HEALTH = 20;
} // default 50 health

// Armor-
if (MY._ARMOR <= 0) { MY._ARMOR = 0; } // default 0 armor

// Force-
if (MY._FORCE == 0) { MY._FORCE = 1.5; } // default force

if (MY._HEALTH < 15) { Rauch(); } // Das ist meine Meinung, schreibe ich hier nur Rauch(), dann gehts zwar aber der Dauerhaftigkeitsnachteil besteht

// Alertness-
MY._I_ALERTNESS = MY._ALERTNESS;

// Cowardice-
MY._I_COWARDICE = MY._COWARDICE;

// Firemode-
if (MY._FIREMODE == 0)
{ MY._FIREMODE = DAMAGE_SHOOT+FIRE_PARTICLE+HIT_FLASH+0.10; } // use default

// Accuracy-
if (MY._ACCURACY > 0)
{
MY._I_ACCURACY = MY._ACCURACY; // positive value given, use specified accuracy
}
else
{
if (MY._ACCURACY < 0)
{ MY._I_ACCURACY = 0; } // negative value given, use perfect accuracy
else // MY._ACCURACY == 0
{ MY._I_ACCURACY = 5; } // no value given, use default accuracy
}



// Hitmode-
//--MY._HITMODE = MY._HITMODE; // zero is the default, no extra checking needed


// Muzzle Vertex-
MY._MUZZLE_VERT = int(MY._MUZZLEATTACH);



// uses same advanced animation packing as player (dont let the function name fool you)
player_anim_pack();

// Other setup
MY._WALKSOUND = _SOUND_ROBOT;
anim_init(); // setup animation a bit
drop_shadow(); // attach shadow to robot
actor_fight(); // start simple AI state machine
}





Danke

Lg Sticky


A7 Commercial
Re: Was ist hier falsch? [Re: Sticky] #122808
04/21/07 21:54
04/21/07 21:54
Joined: Dec 2005
Posts: 490
Germany/Berlin-Velten
kasimir Offline
Senior Member
kasimir  Offline
Senior Member

Joined: Dec 2005
Posts: 490
Germany/Berlin-Velten
ganz einfach^^ ... die funktion dient nur dem stzen von skills/eigenschaften. Um den Rauch aufsteigen zu lassen is eine sich wiederholende funktion nötig!
Lösche die Zeile: "if (MY._HEALTH < 15) { Rauch(); }"

und dann sowas einfügen:

...
MY._WALKSOUND = _SOUND_ROBOT;
anim_init();
drop_shadow();
actor_fight();
rauch();
}

function rauch
{
while(player)
{
if(MY._HEALTH < 15){rauch();}
wait(8);//jenachdem wieviel rauch...
}
}


Moderated by  HeelX, rvL_eXile 

Gamestudio download | 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