Seite 1 von 1

zufall spawn

Verfasst: 11.12.2010, 14:10
von Qambert
hallo forum,
ich möchte in meiner map sone art zufallsspawn einbaun, das heist ich hab vier punkte in der karte und möchte, dass durch zufall ein punkt ausgewählt wird und dort eine einheit gespawnt wird, aber wie kann ich einen zufall definieren?
grüße qambert

Re: zufall spawn

Verfasst: 11.12.2010, 18:07
von Commander Andy
Das ist eigentlich ganz easy. Zuerst erstellst du einen Trigger

Ergeignis:
Was du möchtest

Lokale Variabel:
Interger = 0

Aktion
-> Wenn, dann, sonst
'-> Falls: (tippst unter suche "zufälliger" ein) Zufälliger Intergerwert
min 1, max 4, =1

dann Aktion: Erstelle eine Einheit an (Spawn 1) ...
sonst Aktion: Falls Zufälliger Integerwert = 2

dann Aktion: Erstelle eine Einheit an (Spawn 2)

etc. etc

Hoffe ich konnte dir helfen

Re: zufall spawn

Verfasst: 14.12.2010, 11:08
von Thial
Ich würde es auch so machen wie andy, aber es gibt zum Auswerten von Variablen noch eine Alternative zu if/then/else (ich kenne nicht die deutschen Bezeichnungen dafür): es gibt das switch statement.
Damit kannst du einfacher auf verschiedene Werte prüfen:

switch variable
if wert1
->mache x
if wert2
->mache y
sonst
->mache z

Wenn du mehr als vier-fünf verschiedene Werte prüfen willst, wirds sonst unübersichtlich und extra Arbeit.

Re: zufall spawn

Verfasst: 19.12.2010, 14:45
von MelleMellowski
man sollte allerdings bedenken, dass der 'sonst' teil immer dann abläuft, wenn die condition nicht erfüllt ist... also z.b. bei

Code: Alles auswählen

if wert2
->mache y
sonst
->mache z

würde immer wenn wert 2 nicht eintritt die aktion z gestartet werden... würde vllt zu verwirrung seitens von qambert kommen

-mellowski

Re: zufall spawn

Verfasst: 19.12.2010, 18:15
von Thial
Ich meine das switch statement nicht if/then/else.

Für ein Turret Defense habe ich z.B. sowas in der Art geschrieben:

Code: Alles auswählen

switch currentWave
  if 1
    spawne Einheit A
  if 2
    spawne Einheit B
  if 3
    spawne Einheit C
  default
    aktiviere winTrigger
Der winTrigger wird nur dann aktiviert wenn currentWave weder auf 1, noch auf 2 oder 3 gesetzt ist.

Mit if/then/else müsste das ganze so in der Art aussehen, was mit persönlich irgendwann unübersichtlich wird und extra Aufwand bedeutet (wenn man z.B. auf 10+ Werte prüfen will):

Code: Alles auswählen

if currentWave == 1
    spawne Einheit A
  else 
    if currentWave == 2
      spawne Einheit B
    else
      if currentWave == 3
        spawne Einheit C
      else
        aktiviere winTrigger

Re: zufall spawn

Verfasst: 16.01.2011, 12:52
von Qambert
vielen dank leute, hat sehr geholfen.