Gamestudio Links
Zorro Links
Newest Posts
Executing Trades on Next Bar Open
by Zheka. 06/20/24 14:26
Lapsa's very own thread
by rki. 06/19/24 11:27
A simple game ...
by VoroneTZ. 06/18/24 10:50
Face player all the time ...
by bbn1982. 06/18/24 10:25
Zorro Beta 2.61: PyTorch
by jcl. 06/10/24 14:42
New FXCM FIX Plugin
by flink. 06/04/24 07:30
AUM Magazine
Latest Screens
The Bible Game
A psychological thriller game
SHADOW (2014)
DEAD TASTE
Who's Online Now
0 registered members (), 1,227 guests, and 2 spiders.
Key: Admin, Global Mod, Mod
Newest Members
Mino, squik, AemStones, LucasJoshua, Baklazhan
19061 Registered Users
Previous Thread
Next Thread
Print Thread
Rate Thread
Page 1 of 2 1 2
Bedingungen um in den nächsten Level zu kommen #98490
11/12/06 15:19
11/12/06 15:19
Joined: Sep 2006
Posts: 51
D
drich91 Offline OP
Junior Member
drich91  Offline OP
Junior Member
D

Joined: Sep 2006
Posts: 51
hallo.
ich bin noch ein ziemlicher anfänger, aber ich hab schon den umgang mit dem wed drauf. meine frage ist: ich will einen level haben, wo zum beispiel 10 münzen versteckt sind. nur wenn man alle findet kann man in den nächsten level. wie schaff ich das?
danke im vorraus

Re: Bedingungen um in den nächsten Level zu kommen [Re: drich91] #98491
11/12/06 17:18
11/12/06 17:18
Joined: May 2005
Posts: 2,713
Lübeck
Slin Offline
Expert
Slin  Offline
Expert

Joined: May 2005
Posts: 2,713
Lübeck
Ersteinmal brauchst du eine Variable, die Zählt, wie viele Münzen schon eingesammelt wurden:
Code:

var Munzen = 0;



Dann benötigst du noch eine action für die Münzen, die, wenn der player durch die Münze läuft, die Variable Munze um 1 erhöht und die Münze dann verschwinden lässt:

Code:

action MunzeAct
{
if(my.skill1 == 0){my.skill1 = 5;} //Wenn skill1 im WED nicht gesetzt wurde ist es 5
if(my.skill2 == 0){my.skill2 = 50;} //Wenn skill2 im WED nicht gesetzt wurde ist es 50
my.passable = on; //der Player kann durch mich hindurch laufen

while(!player){wait(1);} //Warte bis es den Player gibt
while(player) //Mache solange der player existiert
{
my.pan += my.skill1*time_step; //drehe mich

if(vec_dist(my.x,player.x) < my.skill2) //Wenn der Player nah genug an mich heran gekommen ist
{
Munze += 1; //erhöhe die Variable Munze um 1
wait(1);
ent_remove(me); //und lösche mich aus dem Level
}
wait(1);
}
}



Hierbei ist skill1 die Drehgeschwindigkeit der Münze und skill2 der Abstand den der Player zur Münze herankommen muss, damit sie aufgesammelt wird.

Dann Brauchst du noch eine action für eine Platte, die bei Kollision mit dem Player, vorausgesetzt es wurden schon genug Münzen gesammelt, das nächste Level lädt.

Code:

function LevelwechselEvent()
{
if(event_type == event_impact) //Wenn es sich um Kollision mit einer Entity handelt
{
if(you == player && Munzen == my.skill1) //Wenn die andere Entity der Player ist und genügend Münzen eingesammelt wurden
{
Munzen = 0; //Nulle die Variable Munzen
level_load(my.string1); //lade das nächste Level
wait(3);
}
}
}

action Levelwechsel
{
my.enable_impact = on; //aktiviere das impact event
my.event = LevelwechselEvent; //Weise die Eventfunktion zu
}



Hierbei muss für skill1 im WED die Anzahl der benötigten Münzen gesetzt sein und für string1 der Name des zuladenen Levels.

Ich habe das nicht getestet, es sollte aber funktionieren.
Slin

Last edited by Slin; 11/12/06 17:19.
Re: Bedingungen um in den nächsten Level zu kommen [Re: drich91] #98492
11/12/06 17:19
11/12/06 17:19
Joined: Jan 2004
Posts: 557
Wurzen, Deutschland
White_Wolf Offline
User
White_Wolf  Offline
User

Joined: Jan 2004
Posts: 557
Wurzen, Deutschland
Hallo,

Man müsste das mit einer Variablen machen. Die wenn man eine Münze aufzammelt um 1 Höher gezählt wird. Um am Levelende müste diese bevor das neue Level gelader wird überprüft werden ob sie Z.b. wenn man 10 Münzen einsammeln muss, der Wert 10 hat und nur dann dass nächste Level laden.


A8 Com Version 8.40 Win 7 64 Bit
Re: Bedingungen um in den nächsten Level zu kommen [Re: White_Wolf] #98493
11/12/06 17:26
11/12/06 17:26
Joined: Sep 2006
Posts: 51
D
drich91 Offline OP
Junior Member
drich91  Offline OP
Junior Member
D

Joined: Sep 2006
Posts: 51
danke!!
ich werds mal testen.

Re: Bedingungen um in den nächsten Level zu kommen [Re: drich91] #98494
11/12/06 17:53
11/12/06 17:53
Joined: Sep 2006
Posts: 51
D
drich91 Offline OP
Junior Member
drich91  Offline OP
Junior Member
D

Joined: Sep 2006
Posts: 51
leider hab ich zwei fehlermeldungen:
1. my.pan+=my.skill1*time_step
da steht parameter unknown time_step

2. level_load(level2.wmp)
parameter unknown level2 keyword

hilfe bitte

Re: Bedingungen um in den nächsten Level zu kommen [Re: drich91] #98495
11/12/06 17:56
11/12/06 17:56
Joined: Jul 2002
Posts: 4,436
Germany, Luebeck
Xarthor Offline
Expert
Xarthor  Offline
Expert

Joined: Jul 2002
Posts: 4,436
Germany, Luebeck
1. my.pan += my.skill1 * time; //time_step ist ab A6.40.5

2. level_load("level2.wmb"); //level_load erwartet einen string als parameter, desweiteren läd man die wmB datei, also die compiled map und nicht die wmP datei.

Re: Bedingungen um in den nächsten Level zu kommen [Re: drich91] #98496
11/12/06 17:58
11/12/06 17:58
Joined: May 2005
Posts: 2,713
Lübeck
Slin Offline
Expert
Slin  Offline
Expert

Joined: May 2005
Posts: 2,713
Lübeck
time_step ist neu und ersetzt seit Version 6.40.5 time:
my.pan+=my.skill1*time;
sollte eigentlich funktionieren.

level_load(level2.wmp) muss heißen:
level_load("level2.wmb");

Re: Bedingungen um in den nächsten Level zu kommen [Re: Slin] #98497
11/12/06 18:07
11/12/06 18:07
Joined: Sep 2006
Posts: 51
D
drich91 Offline OP
Junior Member
drich91  Offline OP
Junior Member
D

Joined: Sep 2006
Posts: 51
danke. jetzt klappts.

Re: Bedingungen um in den nächsten Level zu kommen [Re: drich91] #98498
11/12/06 18:34
11/12/06 18:34
Joined: Sep 2006
Posts: 51
D
drich91 Offline OP
Junior Member
drich91  Offline OP
Junior Member
D

Joined: Sep 2006
Posts: 51
ich habe ein neues problem. wenn ich eine münze einsammel, dann wir das spiel minimiert un eine meldung erscheint: empty pointer in my.pan...
dann drück ich bei der meldung auf ok. das spiel erscheint wieder aber meine figur dreht sich nur im kreis

Re: Bedingungen um in den nächsten Level zu kommen [Re: drich91] #98499
11/12/06 18:42
11/12/06 18:42
Joined: May 2005
Posts: 2,713
Lübeck
Slin Offline
Expert
Slin  Offline
Expert

Joined: May 2005
Posts: 2,713
Lübeck
Mache hieraus: while(player)
dies: while(player && my)
damit auch überprüft wird, ob die my-entity existiert.

Alternativ kannst du auch
return(1);
oder
break
unter das ent_remove schreiben.
Das müsste bei der Ausführung eigentlich sogar minimal schneller sein.

Page 1 of 2 1 2

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