Banner left   Banner center   Banner right

Germanenglish Home · News · Diary · Screenshots · Documentation (Wiki) · Downloads · Guestbook · Forum

Home · Benutzer registrieren · Suchen · Statistik · FAQ · Benutzerliste

Zur Zeit online: kein Gast, xanbank

 X-Force - Fight For Destiny - Forum —› Testversion —› [0.910] Globale Variablen

Autor Mitteilung
verfasst am: 07.08.2006, 20:26
Admin, Spielsatz GalWar

Registrierdatum: 31.08.2005, 21:51

 Beitrge: 5596
Mit der Version 0.910 werden die globalen Variablen in XScript eingefhrt.

Die globalen Variablen ermglichen einen Skriptbergreifenden Austausch und Speicherung von Werten. Aus diesem Grunde knnen sie auch nur ber spezielle Befehle und nicht direkt angesprochen werden.

Es gibt die vier Variablentypen Boolean, Integer, Double und String, die jeweils einen Wert der angegebenen Art speichern knnen.
Zu jedem Variablentyp gibt es je drei Befehle (Register, Set und Get) fr eine gesamte Anzahl von 12 Befehlen.
Diese Befehle knnen in der Scriptreferenz nachgeschlagen werden, sie lauten z.B. game_api_RegisterInteger(Name:String).

Der Registerbefehl einer Variable muss genau einmal aufgerufen werden, um diese Variable zu definieren (zu einer Ausnahme komme ich spter). Vor dem Register-Befehl kann die Variable nicht verwendet werden, ein zweiter Aufruf erzeugt einen Fehler.
Der Parameter des Registerbefehls ist der Name der Variablen als String.
ACHTUNG: Da der Name als String bergeben und gespeichert wird, macht Gross/Kleinschreibung hier einen Unterschied!!!

Nach der Registrierung kann der Set-Befehl benutzt werden, um einer Variablen einen Wert zuzuweisen und der Get-Befehl ruft diesen Wert ab. Andere Zugriffe existieren nicht, was insbesondere bedeutet das man mit den globalen Variablen nicht alles direkt berechnen kann.

Die Demo des galaktischen Krieges benutzt die globalen Variablen fr viele Zwecke. In UKI_AAinit werden sie zur bergabe der UFO-Objekte an extern aufgerufene Skripte benutzt. Die SPS-Scripte benutzen die globalen Variablen zur berprfung der Spielphase mit anschlieender nderung von verfgbaren UFOs etc. bei einem Phasenwechsel. Weitere Einsatzgebiete knnt Ihr selber nachschlagen...

Es gibt keine Arrays bei den globalen Variablen, aber in den Units DEF_Arace... sieht man wie man mit einer zustzlichen Befehlsebene einen Pseudo-Array aus den globalen Variablen bildet.

Es gibt abgesehen von der Register-Funktion eine andere Mglichkeit zur Definition von globalen Variablen. Dies ist das Fenster des Schwierigkeitsgrades.
Jeder neu definierte Wert im Schwierigkeitsgrad wird automatisch als eine globale Variable angelegt - der Registerbefehl darf dann nicht mehr fr diesen Variablennamen aufgerufen werden.
Allerdings kann man dieser Variablen unterschiedliche Werte in Abhngigkeit des Schwierigkeitsgrades zuteilen und so seinen Spielsatz besser anpassen.
Im galaktischen Krieg gibt es aus diesem Grunde mehrere unsichtbare Werte im Schwierigkeitsgrad-Fenster, die bei spteren Schwierigkeitsgraden andere Werte erhalten werden. Bestes Beispiel ist die Anzahl der aktiven Rassen, die auf dem hchsten Schwierigkeitsgrad deutlich hher liegen wird als die aktuell eingetragene 2...


Darber hinaus gibt es noch zwei vordefinierte globale Variablen - leider habe ich gerade die Namen nicht parat, muss spter ich nachtragen (oder Natter nennt sie wenn er sie auswendig kennt).

Die erste Variable zhlt in einem Integer die Tage seit Spielstart und ist damit einfacher abzurufen und mit der Verfgbarkeit zu vergleichen als das Datum.

Die zweite Variable ist ein Boolean zum aktivieren/deaktivieren des sogenannten Danger-Modus. Die einzige bisherige Auswirkung besteht dann in einer Umschaltung der Hintergrundmusik. Das ist dann auch der Hintergrund fr die jeweils zwei Definitionszeilen pro Situation in der ini-Datei, die die Auswahl der Musikstcke steuert.
verfasst am: 23.11.2023, 01:22
Registrierdatum: 22.11.2023, 07:10

 Beitrge: 66038
verfasst am: 02.12.2023, 16:27
Registrierdatum: 22.11.2023, 07:10

 Beitrge: 66038
audiobookkeepercottageneteyesvisioneyesvisionsfactoringfeefilmzonesgadwallgaffertapegageboardgagrulegallductgalvanometricgangforemangangwayplatformgarbagechutegardeningleavegascauterygashbucketgasreturngatedsweepgaugemodelgaussianfiltergearpitchdiameter
geartreatinggeneralizedanalysisgeneralprovisionsgeophysicalprobegeriatricnursegetintoaflapgetthebouncehabeascorpushabituatehackedbolthackworkerhadronicannihilationhaemagglutininhailsquallhairyspherehalforderfringehalfsiblingshallofresidencehaltstatehandcodinghandportedheadhandradarhandsfreetelephone
hangonparthaphazardwindinghardalloyteethhardasironhardenedconcreteharmonicinteractionhartlaubgoosehatchholddownhaveafinetimehazardousatmosphereheadregulatorheartofgoldheatageingresistanceheatinggasheavydutymetalcuttingjacketedwalljapanesecedarjibtypecranejobabandonmentjobstressjogformationjointcapsulejointsealingmaterial
journallubricatorjuicecatcherjunctionofchannelsjusticiablehomicidejuxtapositiontwinkaposidiseasekeepagoodoffingkeepsmthinhandkentishglorykerbweightkerrrotationkeymanassurancekeyserumkickplatekillthefattedcalfkilowattsecondkingweakfishkinozoneskleinbottlekneejointknifesethouseknockonatomknowledgestate
kondoferromagnetlabeledgraphlaborracketlabourearningslabourleasinglaburnumtreelacingcourselacrimalpointlactogenicfactorlacunarycoefficientladletreatedironlaggingloadlaissezallerlambdatransitionlaminatedmateriallammasshootlamphouselancecorporallancingdielandingdoorlandmarksensorlandreformlanduseratio
languagelaboratorylargeheartlasercalibrationlaserlenslaserpulselatereventlatrinesergeantlayaboutleadcoatingleadingfirmlearningcurveleavewordmachinesensiblemagneticequatormagnetotelluricfieldmailinghousemajorconcernmammasdarlingmanagerialstaffmanipulatinghandmanualchokemedinfobooksmp3lists
nameresolution<



Du musst dich registrieren um auf dieses Thema zu antworten.
Login :: » Name » Passwort

Ladezeit (sec.): 0.025 · Powered by miniBB 1.6 with parts of 1.7 © 2001-2003