|
3 registered members (TipmyPip, Quad, AndrewAMD),
10,074
guests, and 2
spiders. |
|
Key:
Admin,
Global Mod,
Mod
|
|
|
Spiel beenden
#71082
04/16/06 17:16
04/16/06 17:16
|
Joined: Jan 2006
Posts: 179
Cemper
OP
Member
|
OP
Member
Joined: Jan 2006
Posts: 179
|
Hallo mal wieder, ich bin einen Templateshooter am machen, muss mir aber selbst ein Skript zum Spiel beenden schreiben(A5). Ich hab im Level eine Mapentity platziert und hab ihr ein Skript geschrieben dass das Spiel beendet werden soll sobald der Player sie eingesammelt hat. Ich hab das folgendermassen gemacht: Code:
action spiel_ziel { while (1) { if (my.x == player.x && my.y == player.y && my.z == player.z) { freeze_mode = 1; wait (1); exit(); } } } Wenn ich das Spiel starte sagt der aber immer: Error(97): Misssing keywords nonexistent/empty action exit  Was kann ich dagegen machen? Dankeschön im voraus!!! 
|
|
|
Re: Spiel beenden
[Re: Cemper]
#71083
04/16/06 17:24
04/16/06 17:24
|
Joined: Sep 2005
Posts: 159 Germany, nrw
Chansang
Member
|
Member
Joined: Sep 2005
Posts: 159
Germany, nrw
|
hi, bei exit(); willst du ne Funktion aufrufen die nicht existiert. Du must die Klammern weglassen  exit;
|
|
|
Re: Spiel beenden
[Re: Chansang]
#71084
04/16/06 17:34
04/16/06 17:34
|
Joined: Jan 2006
Posts: 179
Cemper
OP
Member
|
OP
Member
Joined: Jan 2006
Posts: 179
|
Dankeschön!!! Daran lags! (Den Fehler hab ich gemacht, weil das mit den Klammern in der Referenz steht und ich auch Visual Basic schreibe und mich die ganzen Klammern in C-Skript also sowieso total verwirren...
Was nie begonnen, kann auch nie scheitern.
(Mit anderen Worten: Leg dich aufs Sofa und sieh fern  )
|
|
|
Spiel beenden - Problem zwei
[Re: Cemper]
#71085
04/16/06 17:43
04/16/06 17:43
|
Joined: Jan 2006
Posts: 179
Cemper
OP
Member
|
OP
Member
Joined: Jan 2006
Posts: 179
|
Ich hab noch ein Problem mit obenstehendem Skript: Man kann natürlich nie exakt die x,y und z-Werte der Mapentity treffen. Sie ist zwar passable abba das geit trotzdem net. Was kann man da machen???
Was nie begonnen, kann auch nie scheitern.
(Mit anderen Worten: Leg dich aufs Sofa und sieh fern  )
|
|
|
Re: Spiel beenden - Problem zwei
[Re: Xarthor]
#71087
04/17/06 09:00
04/17/06 09:00
|
Joined: Jan 2006
Posts: 179
Cemper
OP
Member
|
OP
Member
Joined: Jan 2006
Posts: 179
|
Klappt nich. Bei der vec_dist-Zeile sagt der jetzt immer
Missing/wrong parameter comma unexpected
Ich hab A5, ne? Kann das sein, dass das bei dir 'n A&-Skrpt ist? Trotzdem danke... Was aber nicht heissen soll, das ich nich auf weitere Ideen hoffe...?
Was nie begonnen, kann auch nie scheitern.
(Mit anderen Worten: Leg dich aufs Sofa und sieh fern  )
|
|
|
Re: Spiel beenden - Problem zwei
[Re: Xarthor]
#71089
04/17/06 09:11
04/17/06 09:11
|
Joined: Jan 2006
Posts: 179
Cemper
OP
Member
|
OP
Member
Joined: Jan 2006
Posts: 179
|
Code:
action spiel_ziel { while(player == null) { wait(1); } while(1) { if(vec_dist(my.x,player.x && my.y,player.y && my.z,player.z) < 50) { freeze_mode = 1; wait(1); exit; } wait(1); }}
die y & z-Parameter habe ich noch eingefügt, damit das Spiel nicht beendet wird, wenn der Player dran vorbeiläuft.
Last edited by Cemper; 04/17/06 09:12.
Was nie begonnen, kann auch nie scheitern.
(Mit anderen Worten: Leg dich aufs Sofa und sieh fern  )
|
|
|
Re: Spiel beenden - Problem zwei
[Re: Cemper]
#71090
04/17/06 09:48
04/17/06 09:48
|
Joined: Jul 2002
Posts: 4,436 Germany, Luebeck
Xarthor
Expert
|
Expert
Joined: Jul 2002
Posts: 4,436
Germany, Luebeck
|
jo is auch klar: du kannst innerhalb des vec_dist befehls keine logischen verknüpfungen machen (&&). Um die chance das der spieler dran vorbeiläuf zu minimieren kannst du: a) die distanz kleiner machen also die 50 auf sagen wir 10 ändern oder b) Ein collisions event benutzen hier möglichkeit a: Code:
action spiel_ziel { while(player==null) { wait(1); } while(1) { if(vec_dist(my.x,player.x) < 10) { freeze_mode = 1; wait(1); exit; } wait(1); } }
Lass dich von dem .x innerhalb des vec_dists nicht irritieren! es werden trotzdem alle drei werte (x,y,z) übergeben, da das .x nur den ersten wert des vectors angibt. vec_dist nimmt dann automatisch noch die nächsten beiden hinzu. (also in diesem fall .y und .z) Möglichkeit b) (ZIEL MODEL DARF NICHT PASSABLE SEIN!) Code:
function ziel_event() { if(event_type == event_impact || event_type == event_entity) { my.skill21 = 1; } }
action spiel_ziel { my.skill21 = 0; my.enable_impact = on; my.enable_entity = on; my.event = ziel_event; while(my.skill21 == 0) { wait(1); } freeze_mode = 1; wait(1); exit; }
|
|
|
Moderated by mk_1, Perro, rayp, Realspawn, Rei_Ayanami, rvL_eXile, Spirit, Superku, Tobias, TSG_Torsten, VeT
|