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
2 registered members (TipmyPip, 1 invisible), 18,731 guests, and 7 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
function stoppen #77724
06/14/06 14:28
06/14/06 14:28
Joined: Apr 2005
Posts: 2,332
Germany, BaWü
aztec Offline OP

Expert
aztec  Offline OP

Expert

Joined: Apr 2005
Posts: 2,332
Germany, BaWü
Ist es möglich eine function zu stoppen?


Visit:
schwenkschuster-design.de
Re: function stoppen [Re: aztec] #77725
06/14/06 14:46
06/14/06 14:46
Joined: Jul 2005
Posts: 15
Germany
Keksbuster Offline
Newbie
Keksbuster  Offline
Newbie

Joined: Jul 2005
Posts: 15
Germany
Naja, du könntest eine Variable definieren, die wiederrum, wenn sie einen bestimmten Wert hat, Befehle ausführt. So könntest du auch mehrere Funktionen
einer Entity zuweisen.

while(1)
{
if(status==1)
{
//tu was
}
wait(1);
}

Du könntest aber auch, wenn du z.B. eine while-Schleife hast, die du nicht mehr
brauchst, mit break; beenden.

while(1)
{
//tu was
if(status==1){break;}
wait(1);
}

Re: function stoppen [Re: Keksbuster] #77726
06/14/06 15:02
06/14/06 15:02
Joined: Feb 2005
Posts: 3,687
Hessen, Germany
T
Tempelbauer Offline
Expert
Tempelbauer  Offline
Expert
T

Joined: Feb 2005
Posts: 3,687
Hessen, Germany
exakt. wobei die letztere methode nicht sonderlich sauer ist. break sollte man wenn möglich vermeiden.



generell um ne funktion zu stoppen gibts

return;


man kann auch einen parameter des typs var übergeben. damit kann man z.B. prüfen, ob fehler auftauchen:

Code:

function test()
{
... //tu was
if( a==4 )
{
return 0; //a ist 4 und das hat eine fatale wirkung auf die funktion, also beenden wir sie und teilen das anderen funktionen mit
}
else
{
return 1; //alles plaetti
}
}



Die funktion gibt nun 0 zurück im fehlerfall und 1 im regulären, akzeptablen fall

Code:


var i;
function main()
{

...
i = test(); //i enthält nun 1 oder 0, je nach fall
if(i == 0)
{
//melde dem user dasn fehler aufgetaucht is
}
}



Re: function stoppen [Re: Tempelbauer] #77727
06/14/06 15:41
06/14/06 15:41
Joined: Apr 2005
Posts: 2,332
Germany, BaWü
aztec Offline OP

Expert
aztec  Offline OP

Expert

Joined: Apr 2005
Posts: 2,332
Germany, BaWü
gibte es eine möglichkeit in diesm script
Code:
 // Strings and filenames
// change this string to your own starting mission message.
string mission_str = "Fight your way through the level. Press [F1] for help";
string level = <irrgarten.wmb>;
string schaffen ="Kannst du das Ziel in der Zeit finden?";
string schade ="schade die Zeit ist aber Abgelaufen\n ESC drücken um zu beenden";
string gut ="Super du hast das Ziel erreicht\nDanke das du es gespielt hast";
sound peep <beep.wav>;
sound hurry <harry.wav>;
var count_down = 200;
var_nsave wavhandle;
bmap les =<les.bmp>;


/////////////////////////////////////////////////////////////////
// The main() function is started at game start

font simple = "arial",0,40;

text nein
{
font = simple;
string = schade;
}

function zeit_abziehen
{
while (count_down > 0)
{
wavhandle = snd_play(peep,50,100);
if(count_down < 10)
{
snd_stop(wavhandle);
snd_play(hurry,50,100);
}

count_down -= 1;
sleep(1);
}

if(count_down == 0)
{
nein.pos_x = 80;
nein.pos_y = 100;
nein.visible = on;
}
}

panel anfang
{
bmap = les;
flags = d3d, refresh;
}

panel zeit
{
pos_x =20;
pos_y =20;
digits = 20, 20, 3, simple, 1, count_down;
flags = visible;
layer = 21;
}

text Versuch
{
font = simple;
string = schaffen;
}


function main
{
anfang.pos_x = (screen_size.x - bmap_width(les))/2;
anfang.pos_y = (screen_size.y - bmap_height(les))/2;
anfang.visible = on;
wait(3);
level_load(level);
freeze_mode = 1;
sleep(1);
anfang.visible = off;
freeze_mode = 0;
Versuch.pos_x = 80;
Versuch.pos_y = 100;
Versuch.visible = on;
sleep(1);
Versuch.visible = off;
zeit_abziehen();
}

function ende
{
exit;
}
on_esc = ende;
}

function ziellinie
{
if(event_type == event_impact)
{
count_down = 50;
}
}

action ziel
{
my.enable_impact = on;
my.event = ziellinie;
}


bei function ziellinie
die function count_down irgendwie zu stoppen?


Visit:
schwenkschuster-design.de
Re: function stoppen [Re: aztec] #77728
06/14/06 15:48
06/14/06 15:48
Joined: Jul 2002
Posts: 4,436
Germany, Luebeck
Xarthor Offline
Expert
Xarthor  Offline
Expert

Joined: Jul 2002
Posts: 4,436
Germany, Luebeck
Ja einfach:
count_down = 0;
in die function ziellinie schreiben.
Desweiteren brauchst du allerdings noch eine variable um zu überprüfen ob der countdown nun abgebrochen wurde, weil der spieler die ziellinie passiert hat, oder aber weil er zu lange gebraucht hat.
Dies könntest du auch lösen, indem du count_down auf z.b. -10 setzt und dann überprüfst ob count_down < -5 ist, wenn ja dann hat er die ziel linie passiert, wenn nicht, ist die zeit abgelaufen.

Re: function stoppen [Re: Xarthor] #77729
06/14/06 15:59
06/14/06 15:59
Joined: Jun 2005
Posts: 4,875
broozar Offline
Expert
broozar  Offline
Expert

Joined: Jun 2005
Posts: 4,875
@hdz: wieso ist "break" unsauber?

Re: function stoppen [Re: broozar] #77730
06/14/06 17:47
06/14/06 17:47
Joined: Apr 2005
Posts: 2,332
Germany, BaWü
aztec Offline OP

Expert
aztec  Offline OP

Expert

Joined: Apr 2005
Posts: 2,332
Germany, BaWü
Ich hätte noch ne idee wenn der Spieler die Ziellinie passiert setze ich die var einfach auf minus -10 zb. in einer while schleife:
if(die_var == -10)
{
macht den sieger Text sichtbar
und blende den counter aus
}

glaubt ihr dass das auch so gehen würde?
////////////////////////////////////////////////////////////////////////////////
Ich habe es einfach mal getestet und ich habe es geschafft ist ganz einfach gewesen in die function ziellinie einfach dasshier rein
Code:
 function ziellinie
{
if(event_type == event_impact)
{
count_down = -10;
}
if(count_down == -10)
{
zeit.visible= off;
}

}


Juhu ganz alleine langsam wirds was mit dem Scripten und proggen




Last edited by Star_Fox; 06/14/06 17:53.

Visit:
schwenkschuster-design.de

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