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 —› X-Skript / Developer-Pack —› X-Script = Delphi?

Seite: 1 [2] [3] [4] [5] [6] [7] [8] [9] [10] .. [23] [24] >>

Autor Mitteilung
verfasst am: 26.05.2009, 18:36
Registrierdatum: 18.05.2009, 21:12

 Beiträge: 81
Da ich mich grade mit X-Script beschäftig und auf Grund meiner Abitur-Ausbildung, in der ich grade Delphi lerne, ist mir aufgefallen das sich einige Funktionen, relativ ähneln.
Geh ich richtig in der Annahme das X-Script so "ähnlich" wie Delphi ist?

Noch eine 2. Frage kann X-Script mit Unit umgehen und somit auch welche erstellen kann?
verfasst am: 26.05.2009, 19:08
Spielsatz Alliances

Registrierdatum: 14.07.2004, 14:47

 Beiträge: 1185
Bin zwar kein großer X-Skripter, aber soweit ich weiß (ich bitte um Bestätigung/Korrektur durch jemanden der Ahnung hat) ist es folgendermaßen:
X-Skript basiert auf Pascal, was afaik Delphi verdammt ähnlich ist.
Units sollten eigentlich klappen, ich glaube jedenfalls das zwei der Skripte in meinen Spielsatz (welche nicht vion mir sind, sondern von Baltharus) eine Unit benutzen.
verfasst am: 26.05.2009, 19:21 · Edited by: Natter
Programmierer, allgemeines

Registrierdatum: 06.06.2004, 17:19

 Beiträge: 3186
Sujin hat im wesentlichen recht. X-Skript basiert auf einer Skriptengine Namens PascalScript.

Auch wenn X-Skript für eine Skriptsprache sehr mächtig ist, gibt es doch eine Reihe Punkte, wo es an Grenzen stößt (bzw. sich von Delphi unterscheidet). Eigene Objekte können nicht angelegt werden, überlagerte Prozeduren mit unterschiedlich vielen Parametern sind nicht möglich ...

Der Einsatz von Units ist allerdings kein Problem.
verfasst am: 26.05.2009, 19:46 · Edited by: Susanoo27
Registrierdatum: 18.05.2009, 21:12

 Beiträge: 81
Wenn du das Script mal postest könnte ich dir das auch sagen.
Ich geh aber mal davon aus das X-Script ein deutig aus Delphi stammt.
Das sieht man daran das die Scripte über Proceduren laufen, kann man zwar auch in Pascal möglich, aber in Pascal wird der Procedur-Name im Hauptteil, zwischen Begin und dem End mit den Punkt, steht. Ausserdem wird im X-Script, wie auch in Delphi, so gut wie nichts zwischen "Begin und End." steht.

Edit: Natter das ist gut. Auch wenn ich jetzt meine Zeile entfernen könnte werde ich es nicht tun, da es eigentlich für rellativ jeden interresant sein könnte.

Werden die Unti auch wie in Pascal über TPU realliesiert?
verfasst am: 26.05.2009, 19:51
Spielsatz Alliances

Registrierdatum: 14.07.2004, 14:47

 Beiträge: 1185
Zitat: Susanoo27
Wenn du das Script mal postest könnte ich dir das auch sagen.

uses UNIT_Defaultwerte;

(UNIT_Defaultwerte ist ne Reihe von Variabeln, UFO-IDs um genau zu sein, die in einem Skript ein- und in einem anderen ausgeschaltet werden).
verfasst am: 26.05.2009, 19:55
Registrierdatum: 18.05.2009, 21:12

 Beiträge: 81
@ sujin: Ja das ist eine Unit.
verfasst am: 26.05.2009, 19:55
Spielsatz Alliances

Registrierdatum: 14.07.2004, 14:47

 Beiträge: 1185
Dann ist ja gut ^^
verfasst am: 26.05.2009, 20:01
Admin, Spielsatz GalWar

Registrierdatum: 31.08.2005, 21:51

 Beiträge: 5596
Delphi ist eine Weiterentwicklung von Pascal, nicht umgekehrt. Und Pascalscript ist eine in Delphi geschriebene Opensource-Komponente, die es ermöglicht in Programmen Skripte mit einer Pascal-ähnlichen Syntax ablaufen zu lassen.

Zum XScript gibt es in unserem Wiki auch ein Tutorial, in dem insbesondere auf die speziellen XForce-Befehle eingegangen wird.
verfasst am: 26.05.2009, 20:09
Registrierdatum: 18.05.2009, 21:12

 Beiträge: 81
Ja Dirk bei dem bin ich grade.
So hab das mit der Unit hinbekommen.
Dirk wenn du das hier, meinst:

Zitat: Susanoo27
Das sieht man daran das die Scripte über Proceduren laufen, kann man zwar auch in Pascal möglich, aber in Pascal wird der Procedur-Name im Hauptteil, zwischen Begin und dem End mit den Punkt, steht. Ausserdem wird im X-Script, wie auch in Delphi, so gut wie nichts zwischen "Begin und End." steht.


Entschuldigung wenn das falsch rüber gekommen ist. Ich weis schon das Delphi die weiter Entwicklung von Pascal ist.
verfasst am: 27.05.2009, 21:51 · Edited by: Susanoo27
Registrierdatum: 18.05.2009, 21:12

 Beiträge: 81
Brauche mal Hilfe.
Ich bekomme bei meine kleinen Test-Unit :

Unit NameU;

Interface

  procedure NameU;
  Var  Nab : String;

  
  Implementation

    procedure NameU;
      Begin
        game_api_MessageBox('Geben sie ihren Namen ein');
        game_api_QueryText('Name', 20, Nab);
      end;

End.


Auf der Zeile 9, vor Implementation, verlangt er ein "Begin". Wenn ich die Variable nach Implementation schiebe will er das Begin nicht mehr haben.

Meiner Auffassung nach müsste es mit der Var auch im Interfacebereich gehen, von Pascal her, oder irre ich mich da?
verfasst am: 27.05.2009, 22:03 · Edited by: Natter
Programmierer, allgemeines

Registrierdatum: 06.06.2004, 17:19

 Beiträge: 3186
Hmm, X-Skript arbeitet da doch etwas anders. Auf Implementation kannst/solltest du ganz verzichten. Gleiches gilt für Interface. Willst du einen Prozedur-Namen vor der Definition der Prozedur schon deklarieren, dann kannst du einfach 'forward;' anhängen. Hier mal 2 Beispiele.

1) normales Skript:
program AlienAI_default;

uses GFAItools;

const
  MinHitChance=80;

var
  EnemyFound:Boolean;
  AlienFigure:TGameFigure;

procedure FindAndAttackTarget; forward;
procedure LookAround; forward;
procedure OnGetSpotted(Sender: TObject); forward;
procedure OnReachedReservedTU(Sender: TObject); forward;
procedure OnReachedDest(Sender: TObject); forward;
procedure OnSeeUnit(Sender: TOBJECT); forward;
procedure OnRoundBreak(Sender:TObject); forward;
procedure OnNewRound(Sender: TOBJECT); forward;

... Definitionen zu den Prozeduren ...

procedure StartMission; // darf in keinem normalen Skript fehlen
var
  ... // je nach Bedarf können hier lokale Variablen angelegt werden
begin
...
end;

begin
  MissionName:='AlienAI_default';
  MissionType:=mzUser;
end.
2) Unit - dort gibt es keine Prozedur StartMission
unit GEN99test;

// Listet die Namen aller globalen Variablen auf
procedure GEN99ShowAllGVs;
var
  Vars: TStringArray;
  Dummy : Integer;
  Text  : String;
begin
  game_api_GetGlobalVars(Vars);
  Text:='';
  for Dummy:=0 to getarraylength(Vars)-1 do
    Text:=Format('%s%d. %s'#13#10,[Text,Dummy+1,Vars[Dummy]]);
  savegame_api_Message(Text,lmMissionMessage,NIL);
end;

end.



Siehe auch
http://doc.xforce-online.de/ger_pages/XSkriptTutorial/Skriptaufbau.htm l

PS: Wenn dir das Tutorial zu X-Skript zu ausführlich ist, kannst du ja mal einen Blick in den Anhang B werfen.
verfasst am: 28.05.2009, 05:42 · Edited by: Susanoo27
Registrierdatum: 18.05.2009, 21:12

 Beiträge: 81
Ne das Tutorial ist nicht zu ausführlich.

Aber danke für den Tip mit Anhang B.
Dort steht ja auch die Unit mit drinne.
Danke Natter
verfasst am: 22.11.2023, 09:49
Registrierdatum: 22.11.2023, 07:10

 Beiträge: 69158
нача136.8BettBettCarlLyneТолкDefoкартWomaDisnFiskLastOrieJeanGeorLoveÐÑмоThunGoodДумбGeorAnne
AlphКурьМаруGeorÑертPalmSainaudeLouiÑертErnsГрибавтоDailPlaiИллюЧереFyodXVIIMariÐрдаKathШтор
ÑертDonnPhilИллюоÑноDaveChanзапиLuxoчитаЛиндChesEtniCounmailXVIIПушкElliХакаXIIIIrviХоллХоуÑ
SEGAавтоМадиздеÑКарÑCollСероHAWXквалFIFASympMeieКитаArtsзавеRighдатипродBillXVIIPaulParkСтра
менÑ(184FuxiSwarMiyoTonyкотоЛаднШривRobeCharKreoPierAlasHectglaeБурдцививелеÑтилКитаWindInte
BalkмамукуклCMK-повÑauthLiebAntiконÑкомпинÑÑ‚XIIIРазм8158WoodмножплаÑPierURBAInfiкомпраздFunk
1152PillДущеJingРазмВыÑоÑзыклиÑÑ‚ZeppРазмLEGOBranBorkIntrCesa
verfasst am: 01.12.2023, 11:27
Registrierdatum: 22.11.2023, 07:10

 Beiträge: 69158
audiobookkeepercottageneteyesvisioneyesvisionsfactoringfeefilmzonesgadwallgaffertapegageboardgagrulegallductgalvanometricgangforemangangwayplatformgarbagechutegardeningleavegascauterygashbucketgasreturngatedsweepgaugemodelgaussianfiltergearpitchdiameter
geartreatinggeneralizedanalysisgeneralprovisionsgeophysicalprobegeriatricnursegetintoaflapgetthebouncehabeascorpushabituatehackedbolthackworkerhadronicannihilationhaemagglutininhailsquallhairyspherehalforderfringehalfsiblingshallofresidencehaltstatehandcodinghandportedheadhandradarhandsfreetelephone
hangonparthaphazardwindinghardalloyteethhardasironhardenedconcreteharmonicinteractionhartlaubgoosehatchholddownhaveafinetimehazardousatmosphereheadregulatorheartofgoldheatageingresistanceheatinggasheavydutymetalcuttingjacketedwalljapanesecedarjibtypecranejobabandonmentjobstressjogformationjointcapsulejointsealingmaterial
journallubricatorjuicecatcherjunctionofchannelsjusticiablehomicidejuxtapositiontwinkaposidiseasekeepagoodoffingkeepsmthinhandkentishglorykerbweightkerrrotationkeymanassurancekeyserumkickplatekillthefattedcalfkilowattsecondkingweakfishkinozoneskleinbottlekneejointknifesethouseknockonatomknowledgestate
kondoferromagnetlabeledgraphlaborracketlabourearningslabourleasinglaburnumtreelacingcourselacrimalpointlactogenicfactorlacunarycoefficientladletreatedironlaggingloadlaissezallerlambdatransitionlaminatedmateriallammasshootlamphouselancecorporallancingdielandingdoorlandmarksensorlandreformlanduseratio
languagelaboratorylargeheartlasercalibrationlaserlenslaserpulselatereventlatrinesergeantlayaboutleadcoatingleadingfirmlearningcurveleavewordmachinesensiblemagneticequatormagnetotelluricfieldmailinghousemajorconcernmammasdarlingmanagerialstaffmanipulatinghandmanualchokemedinfobooksmp3lists
nameresolution<
verfasst am: 11.01.2024, 19:19
Registrierdatum: 22.11.2023, 07:10

 Beiträge: 69158
verfasst am: 11.01.2024, 19:20
Registrierdatum: 22.11.2023, 07:10

 Beiträge: 69158
verfasst am: 11.01.2024, 19:21
Registrierdatum: 22.11.2023, 07:10

 Beiträge: 69158
verfasst am: 11.01.2024, 19:22
Registrierdatum: 22.11.2023, 07:10

 Beiträge: 69158
verfasst am: 11.01.2024, 19:23
Registrierdatum: 22.11.2023, 07:10

 Beiträge: 69158
verfasst am: 11.01.2024, 19:24
Registrierdatum: 22.11.2023, 07:10

 Beiträge: 69158

Seite: 1 [2] [3] [4] [5] [6] [7] [8] [9] [10] .. [23] [24] >>




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

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