Vorausetzungen erstellen [Hilfe!!]

Habt ihr Fragen zum Galaxy Editor, oder möchtet ihr eure Karte vorstellen? Alles was mit dem Thema Editor und Modding zu tun hat, gehört hier rein.

Moderatoren: Exekutor[NHF], Deathwing, GarfieldKlon, G A F, SaVi

Benutzeravatar
Flow
Zergling
Beiträge: 21
Registriert: 16.02.2012, 12:22
Liga 1vs1: Grandmaster
Liga 2vs2: Grandmaster
Mainrace: Protoss

Vorausetzungen erstellen [Hilfe!!]

Beitrag von Flow »

Hallo leute von heute, bin neu hier, liebe das mappen, und hab gleichmal ne frage :D

Ich habe ein Problem mit den Tech-voraussetzungen..
Ich schaffe es zwar das ich bestimmte vorausetzungen erstelle, wie zb: wenn Tower lvl 2 gebaut ist, ist Cannon lvl 1 freigeschalten. Aber das problem hier ist jetzt, sobald man den Tower lvl 2 auf lvl 3 upgradet gilt die Tower lvl2 vorausetzung nichtmehr und ich kann den Cannon lvl 1 nicht mehr bauen weil der Tower lvl 2 ja nicht mehr existiert da er zu lvl 3 geworden ist ;/ also wie mache ich das es speichert das der Tower lvl 2 schonmal gebaut wurde?.

Ich hab dies jetzt statt mit dem data-editor mim Auslöser-editor versucht, aber stoße an grenzen da ichs nicht schaffe die Towerstufen in eine variable zu speichern da ichs nicht schaffe einheiten(namen) auszulesen.

ich dachte dann an so etwas:

Variable - Towerarray[Auslösender Spieler][Towerart] = (Integerwert ((Unterstring (String, (Position von " " innerhalb String (Groß-/Kleinschreibung Unsensitiv)), (Länge von String))))) festlegen



hier holt er sich vom text zb von "Tower 10" die 10 raus und schreibt sie ins array bei zb spieler 2, Towerart 1 also weiß mann dann Towerart 1 von spieler 2 ist auf 10

nur statt der variable String wie oben gehört halt iwie der Towername hergeholt hier hab ich jetzt nur einen vorgegebenen String Text....

ich wette es gibt einfachere lösungen im daten-editor...

edit//

jetzt hab ich ne neue idee gekriegt aber ias funzt net so recht:

Hier hau ich die türme in ne variable
Bild

Hier hau ich die türme in die turmarten(cannon,Tower,air usw) nicht vom Variable namen irritieren lassen eig. gehört TowerLVL oben und Typ hier aber war ja nur zum test:
Bild

Und hier die Funktion um das level eines towers zu ermitteln und ins array zu schreiben:
bild leider zu groß..
http://img710.imageshack.us/img710/2742/settower.jpg
hoffe ihr werdet schlau draus xD
aber wenn wer ne lösung im data-editor hat wärs ja am besten :D




Bitte bitte helft mir :weinen:

danke

greez flo
Aktuelles Projekt:
Bild
zu 70% fertig
SaVi
Moderator des Zwielichts
Moderator des Zwielichts
Beiträge: 616
Registriert: 21.05.2008, 16:53
Liga 1vs1: Diamant
Liga 2vs2: Platin
Mainrace: Protoss

Re: Vorausetzungen erstellen [Hilfe!!]

Beitrag von SaVi »

Erst einmal herzlich willkommen im Forum!

Werde das später nochmal genauer ansehen, habe nur momentan keine Zeit. Was mich auf den ersten Blick recht verwirrt ist das 2. Bild.
Du Ersetzt die Variable TowerLVL[1] immer wieder..
Sozusagen ist diese Variable nach diesem Auslöser TowerTyp[10], 1 - 9 gehen verloren.
Bild
Benutzeravatar
Flow
Zergling
Beiträge: 21
Registriert: 16.02.2012, 12:22
Liga 1vs1: Grandmaster
Liga 2vs2: Grandmaster
Mainrace: Protoss

Re: Vorausetzungen erstellen [Hilfe!!]

Beitrag von Flow »

ja beachte das 2 bild nicht xD hab da was zamgefailt xD

erste bild is aber noch wichtig + das hier

http://img41.imageshack.us/img41/2742/settower.jpg

nur hab ich da jetzt das prob das es beim turmbauen keine "auslösende einheit" gibt da der turm nicht gemorpht wird.... find keine funktion wo ich diesen turm dann auslesen kann...
Aktuelles Projekt:
Bild
zu 70% fertig
SaVi
Moderator des Zwielichts
Moderator des Zwielichts
Beiträge: 616
Registriert: 21.05.2008, 16:53
Liga 1vs1: Diamant
Liga 2vs2: Platin
Mainrace: Protoss

Re: Vorausetzungen erstellen [Hilfe!!]

Beitrag von SaVi »

So müsste es funktionieren. Habe keine Lust jetzt ein komplettes Morph System zum testen zu bauen.

Versuch es mal damit:
http://www.pic-upload.de/view-13003156/ ... e.png.html

Ich lasse mithilfe einer Schleife, so wie du es auch hattest, die Fähigkeit abfragen. Und zwar werden, wenn die Karte gestartet wird, die Variablen für die Fähigkeiten und Requirements (Voraussetzungen) bestimmt.
Dann wenn bei der Schleife die Bedingung zutrifft ist sozusagen dieser gewählte Integer der richtige Index für unsere Variable. Danach frage ich ab ob die Voraussetzung denn bereits schon entfernt wurde und gleichzeitig auch ob das nicht schon das letzte Update ist ( != 4 da ich bis Tower4 erstellt habe). Das +1 ist dafür da, da man ja den ersten Tower einfach so bauen kann.
Wenn das noch nicht gemacht wurde wird es erlaubt und eine kleine Nachricht gesendet.

Das ist in zwei verschiedenen Variationen. Einmal wenn eine Einheit morpht und einmal wenn eine Einheit gebaut wurde, da die Ereignisse anders sind und somit leider auch in diesem Fall die Abfrage der Einheit/Ability.
Anstatt "triggering Ability" dann halt "triggering Progress Unit"

Wenn du Fragen hast oder es nicht funktioniert (habe es nicht getestet) dann meld dich wieder und ich werde mir was anderes überlegen. Du kannst mir auch deine Map schicken, dann kann ich das auf deine Map speziell einbauen. Natürlich nur wenn du das möchtest.

Hier die Map:
http://www.file-upload.net/download-412 ... C2Map.html

Mfg SaVi
Bild
Benutzeravatar
Flow
Zergling
Beiträge: 21
Registriert: 16.02.2012, 12:22
Liga 1vs1: Grandmaster
Liga 2vs2: Grandmaster
Mainrace: Protoss

Re: Vorausetzungen erstellen [Hilfe!!]

Beitrag von Flow »

Yeah das is ja nice :D wusste nicht das man fähigkeiten und vorausetzungen, auch in ne variable packen kann und auch "aufnhemen"... habs nur für einheiten gefunden... sehr nice :D das vereinfacht einiges... hab alles viel umständlicher lösen wollen mit meinem versuch. wenn ein turm gebaut wird in nem array speichern und dann aus dem array abrufen ob man den nächsten schon bauen kann oder nicht :D naja viele wege führen zum ziel nur manche sind länger -.- danke danke

aber das mit vorraussetzungen hab ich jetzt endlich per data-editor lösen können aber da ises nicht schön ich machs lieber ber auslöser geht auch schneller iwie als extra für jede unit im data-editor :D

aber mir fällt sicher wieder etwas ein wo ich hilfe benötigen könnte halt dich warm :P

greez
Aktuelles Projekt:
Bild
zu 70% fertig
Benutzeravatar
Flow
Zergling
Beiträge: 21
Registriert: 16.02.2012, 12:22
Liga 1vs1: Grandmaster
Liga 2vs2: Grandmaster
Mainrace: Protoss

Re: Vorausetzungen erstellen [Hilfe!!]

Beitrag von Flow »

eine frage noch was ist != bzw was is der unterschied zwischen != und == weil == is ja klar aber != ???? das hab ich noch nie bei einer sprache gesehn... (lerne gerade VB, java und RPG(AS400))
Aktuelles Projekt:
Bild
zu 70% fertig
Deathwing
Moderator der Leere
Moderator der Leere
Beiträge: 287
Registriert: 30.04.2010, 16:15
Liga 1vs1: Meister
Liga 2vs2: Keine
Mainrace: Random
Wohnort: Berlin

Re: Vorausetzungen erstellen [Hilfe!!]

Beitrag von Deathwing »

Flow hat geschrieben:eine frage noch was ist != bzw was is der unterschied zwischen != und == weil == is ja klar aber != ???? das hab ich noch nie bei einer sprache gesehn... (lerne gerade VB, java und RPG(AS400))
Hey Flow,
also in Programmiersprachen wie Java, C++, etc. gibt es dieses "!=".
!= ist ein Vergleichsoperator und steht für die Ungleichheit, also:
A B (A!=B)
0 0 0
0 1 1
1 0 1
1 1 0

grüße
It is done... All have been given that which must be given.
I now seal the Dragon Soul forever...
For it to be as it must, yes.

Bild
Benutzeravatar
Lexta
Adler
Beiträge: 188
Registriert: 09.12.2010, 21:07
Liga 1vs1: Platin
Liga 2vs2: Platin
Mainrace: Zerg
Wohnort: Greifswald

Re: Vorausetzungen erstellen [Hilfe!!]

Beitrag von Lexta »

Allgemein steht das ! immer für Negation in der boolschen Logik.
(Bsp.: !(A == B), wenn A gleich B ist kommt 0 heraus, sonst 1)
Alle Angaben stellen meine Sichtweise dar, ansich hab' ich keine Ahnung, tu aber immer gerne so.
Benutzeravatar
Flow
Zergling
Beiträge: 21
Registriert: 16.02.2012, 12:22
Liga 1vs1: Grandmaster
Liga 2vs2: Grandmaster
Mainrace: Protoss

Re: Vorausetzungen erstellen [Hilfe!!]

Beitrag von Flow »

aber etwas versteh ich bei deinem auslösern nicht...

du setzt ne variable: "Tower = Keine Einheit <Einheit[4]>"
die aber iwie nix macht..

ebenfalls versteh ich das nicht:
"Variable - RequirementSystem.Record.Requirement[1] = Tower1Built festlegen"
wozu is das denn das verwendest du auch nirgenst und ich kann da nichtmal rechts vom "=" einen wert eintragen der brauchbar ist....

und so wie ich es verstanden habe schaltest du wenn zb Tower 2 gemorpht wird, die fähigkeit des gemorphten Tower +1 frei also den Tower der nächsthöheren stufe (?)

aber meine voraussetzungen sind ja zb bei der Cannon:

Voraussetzung -> Dann Verfügbar
--------------------------------------
Tower2 -- -> Cannon1
Tower5 -- -> Cannon2
Tower7 -- -> Cannon3
Tower9,AA1 -> Cannon4
Cannon5
AA2 -- -> Cannon6
Slow1 -- -> Cannon7
AA3 -- -> Cannon8
Cannon9
AA4,Slow2 -- -> Cannon10
---------------------------------------
(AA = antiair, Slow = slowtower)

Also is schon etwas komplizierter :D

aber denk das sollte iwie mit deinem system gehn nur muss ich darauß noch schlau werden ^^
Aktuelles Projekt:
Bild
zu 70% fertig
Benutzeravatar
Flow
Zergling
Beiträge: 21
Registriert: 16.02.2012, 12:22
Liga 1vs1: Grandmaster
Liga 2vs2: Grandmaster
Mainrace: Protoss

Re: Vorausetzungen erstellen [Hilfe!!]

Beitrag von Flow »

Deathwing hat geschrieben:
Flow hat geschrieben:eine frage noch was ist != bzw was is der unterschied zwischen != und == weil == is ja klar aber != ???? das hab ich noch nie bei einer sprache gesehn... (lerne gerade VB, java und RPG(AS400))
Hey Flow,
also in Programmiersprachen wie Java, C++, etc. gibt es dieses "!=".
!= ist ein Vergleichsoperator und steht für die Ungleichheit, also:
A B (A!=B)
0 0 0
0 1 1
1 0 1
1 1 0

grüße
jo kann sein :D abe rjava is grad die sprache die wir in der schule nur kurz angerissen haben machen eig jetzt nur RPG ich kenn das ungleich nur so: <>
Aktuelles Projekt:
Bild
zu 70% fertig
SaVi
Moderator des Zwielichts
Moderator des Zwielichts
Beiträge: 616
Registriert: 21.05.2008, 16:53
Liga 1vs1: Diamant
Liga 2vs2: Platin
Mainrace: Protoss

Re: Vorausetzungen erstellen [Hilfe!!]

Beitrag von SaVi »

Immer her damit :D

Also zur ersten Frage:
du setzt ne variable: "Tower = Keine Einheit <Einheit[4]>"
die aber iwie nix macht..
Ja da hast du recht, ich habe vergessen diese zu löschen. Ich habe diese Variable erstellt, da ich dachte, dass ich sie brauchen würde.
Also mach dir darüber keine Gedanken. Einfach löschen und weglassen.

Zweite Frage:
"Variable - RequirementSystem.Record.Requirement[1] = Tower1Built festlegen"
Ich habe da ganz besonder das hier im Auge:
"Variable - RequirementSystem.Record.Requirement[1] = Tower1Built festlegen"
Ich benutze bei dieser Variable keine 1 im Index. Nach meinem System fängt die Requirement erst bei Tower 2 an. Tower 1 soll ja von Anfang an baubar sein und erst Tower 2 soll durch diesen freigeschaltet werden.
So wie du das benutzen möchtest bin ich der Meinung einen riesen Switch-Befehl (Vertauschen-Befehl) benutzen zu müssen.

Ich werde mal schauen ob ich das System so aufbauen kann, dass man recht leicht bestimmten kann, was wann wie wo passiert.

Eine Frage an dich: "Sind Cannon 5 und Cannon 9 einfach ohne Requirement baubar?"

Mfg SaVi
Bild
Benutzeravatar
Flow
Zergling
Beiträge: 21
Registriert: 16.02.2012, 12:22
Liga 1vs1: Grandmaster
Liga 2vs2: Grandmaster
Mainrace: Protoss

Re: Vorausetzungen erstellen [Hilfe!!]

Beitrag von Flow »

Ich habe da ganz besonder das hier im Auge:
"Variable - RequirementSystem.Record.Requirement[1] = Tower1Built festlegen"
Ich benutze bei dieser Variable keine 1 im Index. Nach meinem System fängt die Requirement erst bei Tower 2 an. Tower 1 soll ja von Anfang an baubar sein und erst Tower 2 soll durch diesen freigeschaltet werden.
So wie du das benutzen möchtest bin ich der Meinung einen riesen Switch-Befehl (Vertauschen-Befehl) benutzen zu müssen.
hmm jo is klar :D aber was ich mein, iwie kann ich rechts vom =
"Variable - RequirementSystem.Record.Requirement[1] = HIER festlegen"

nichts brauchbares reingeben... weiß net was reingehört weil meine reqs ausm data-editor lassen sich hier net wählen.. ka -.-

Eine Frage an dich: "Sind Cannon 5 und Cannon 9 einfach ohne Requirement baubar?
genau sind one requirement

Hier mein requirement system:
http://img819.imageshack.us/img819/6171 ... etzung.jpg

danke für deine hilfe is echt fein :D :anbeten: :gut:
Aktuelles Projekt:
Bild
zu 70% fertig
SaVi
Moderator des Zwielichts
Moderator des Zwielichts
Beiträge: 616
Registriert: 21.05.2008, 16:53
Liga 1vs1: Diamant
Liga 2vs2: Platin
Mainrace: Protoss

Re: Vorausetzungen erstellen [Hilfe!!]

Beitrag von SaVi »

Also du musst bei der Variable im ersten Feld bei Typ auf engl. "Game - Link" nehmen (3. von oben). Dann wird das 2. Feld benutzbar und in diesem wählst du dann auf engl. "Requirements" aus.

Bei der Variable dann in "### Variables ###" nimmst du dann diese Variable und suchst unter "Values" (Werte) deine Requirements.

Zu deinem Requirement-System: Find ich echt cool, dass du das im Vorraus planst und dich nicht einfach planlos reinwirfst. Ich werd mal schauen was ich damit anfangen kann.
Hab so konkret keine Lösung im Kopf aber das wird schon kommen ;D

Mfg SaVi
Bild
Benutzeravatar
Flow
Zergling
Beiträge: 21
Registriert: 16.02.2012, 12:22
Liga 1vs1: Grandmaster
Liga 2vs2: Grandmaster
Mainrace: Protoss

Re: Vorausetzungen erstellen [Hilfe!!]

Beitrag von Flow »

Hehe klar muss man das vorplanen :D

und jo wegen der variable is schon klar wie ich mir die herhol aber ich kann meine requirements net in de rliste auswählen dann :(

jo zu meinen sys..

dachte ich eben wie im letzten auslöserbild was ich gepostet habe
http://img41.imageshack.us/img41/2742/settower.jpg

das ich eben durch die schleife da oben die tower in ne array speicher was auch scho ma eig funzt

array sieht dann etwa so aus
wenn zb spieler 2 den normalen Tower Level 2 gebaut hat
Spieler : 1 . 2 . 3 . usw
Tower1: 0 . 0 . 0 .
Tower2: 0 . 2 . 0 .
Tower3: 0 . 0 . 0 .
Tower4: 0 . 0 . 0 .


und zb "morph cannon level 1" wird freigeschalten wenn hier ne 2 steht bei ner 0 is es nicht frei, da die vorraussetzung für cannon level 1 ja Tower level 2 ist

nur eben mim ausm array auslesen und ne fähigkeit freischalten damit hab ichs nicht so. fehlt halt bisl die erfahrung

aber ich denk der ansatz is net schlecht
Aktuelles Projekt:
Bild
zu 70% fertig
SaVi
Moderator des Zwielichts
Moderator des Zwielichts
Beiträge: 616
Registriert: 21.05.2008, 16:53
Liga 1vs1: Diamant
Liga 2vs2: Platin
Mainrace: Protoss

Re: Vorausetzungen erstellen [Hilfe!!]

Beitrag von SaVi »

Mhh wie kommst du denn auf die Zahl 2?
Hat das eine besondere Bedeutung? Gewohnt ist man ja 1 - an / 0 - aus..

Auf diese Art ist es natürlich auch möglich. Die Frage ist natürlich wie du das ohne einen Kilometerlangen Auslöser abfragst.
Bild
Antworten