Was ist an diesem Script falsch?
29 replies21.06.13 05:01:56 pm
Hallo,
was ist hier falsch?
TriggerID:23
Es sollte nach dem Trigger ein Krallenäffchen spawnen(in einer bestimmten Position) und ein Pirat(ebenfalls in einer Position),aber es funkt net.
was ist hier falsch?
TriggerID:23
Code:
1
2
3
4
2
3
4
on:trigger {
msg "Bla bla bla!";
create "unit" , 42 , x , z;
}
msg "Bla bla bla!";
create "unit" , 42 , x , z;
}
Code:
1
2
3
4
5
2
3
4
5
trigger, 23 {
$pirate=create "unit" , 41;
unitpath $pirate, 24,25,26,27,28;
addstate $pirate "invulnerability";
}
$pirate=create "unit" , 41;
unitpath $pirate, 24,25,26,27,28;
addstate $pirate "invulnerability";
}
Es sollte nach dem Trigger ein Krallenäffchen spawnen(in einer bestimmten Position) und ein Pirat(ebenfalls in einer Position),aber es funkt net.

schau dir noch einmal die von dir verwendeten befehle an und achte dabei auf klammern, sowie die anzahl und verwendung von parametern.
http://www.stranded.unrealsoftware.de/s2_commands.php?list=all
zudem ist die erste zeile im zweiten script totaler blödsinn.
und falls du an mehreren problem zu einer einzigen map arbeiten solltest, dann ist es nur bedingt sinnvoll, dazu mehrere threads aufzumachen:
Questitem
http://www.stranded.unrealsoftware.de/s2_commands.php?list=all
zudem ist die erste zeile im zweiten script totaler blödsinn.
und falls du an mehreren problem zu einer einzigen map arbeiten solltest, dann ist es nur bedingt sinnvoll, dazu mehrere threads aufzumachen:


Hast du eine spezielle Position wo du die Unit erschaffen möchtest oder möchtest du sie dort erschaffen wo das Skript ausgeführt wird? Für das zweite müsstest du getx("self") und getz("self") anstelle von x und z einfügen bei
create .
Edit:
So müsste es klappen.

Edit:
So müsste es klappen.
Code:
1
2
3
4
5
2
3
4
5
on:23 {
$pirate=create "unit" , 41;
unitpath $pirate, 24,25,26,27,28;
addstate $pirate "invulnerability";
}
$pirate=create "unit" , 41;
unitpath $pirate, 24,25,26,27,28;
addstate $pirate "invulnerability";
}

Es wird von einem Path gespawnt, also wo das Script ausgeführt wird.Und Danke
EDIT:Hab es mal versucht aber der Trigger funkt. garnicht, da kommt nicht mal die Nachricht.Und die Klammer kann man mal ja auslassen oder?
Das obere ist der Code von Trigger(wie man sehen kann)
Der untere ist der Code von der Flagge
Hab grad einen Fehler gefunden die ID vom Piraten ist net 41 sondern 37.

Code:
1
2
3
4
2
3
4
on:trigger {
msg "Ahh tötet dieses Krallenäffchen!" [,4];
create "unit" , 42 [,1];
}
msg "Ahh tötet dieses Krallenäffchen!" [,4];
create "unit" , 42 [,1];
}
Das obere ist der Code von Trigger(wie man sehen kann)
Der untere ist der Code von der Flagge
Code:
1
2
3
4
5
2
3
4
5
on:23 {
$pirate=create "unit" , 37;
unitpath $pirate, 25,26,27,28;
addstate "invulnerability";
}
$pirate=create "unit" , 37;
unitpath $pirate, 25,26,27,28;
addstate "invulnerability";
}
Hab grad einen Fehler gefunden die ID vom Piraten ist net 41 sondern 37.
edited 3×, last 22.06.13 06:31:28 pm
@
Kayren: ich würde dir empfehlen, dich ein klein wenig zurückzuhalten, wenn du selbst nicht die größte ahnung vom scripten hast. beispielsweise sehe ich in deinem 5-zeiligen script allein durch überfliegen schon 3 fehler.
@
Pehlivan: "wer fragt, dem wird geholfen", also frag ruhig, wenn du probleme hast oder sachen nicht verstehst.
wichtig dabei ist allerdings, dass du dein anliegen verständlich und mit möglichst vielen details erklärst.
zudem solltest du natürlich zeigen, dass du selbst auch an dem interessiert bist, was du erreichen möchtest, indem du auch selbst versuchst, nachzudenken und hinter die fehler zu kommen. dies erreichst du beispielsweise, indem du immer mal wieder postest, wie dein code mittlerweile aussieht, vorzugsweise natürlich mit der version, die am besten funktioniert.

@

wichtig dabei ist allerdings, dass du dein anliegen verständlich und mit möglichst vielen details erklärst.
zudem solltest du natürlich zeigen, dass du selbst auch an dem interessiert bist, was du erreichen möchtest, indem du auch selbst versuchst, nachzudenken und hinter die fehler zu kommen. dies erreichst du beispielsweise, indem du immer mal wieder postest, wie dein code mittlerweile aussieht, vorzugsweise natürlich mit der version, die am besten funktioniert.
Ok das mit dem addstate hab ich verstanden
,aber was meinste mit dem 5-Zeiligen Script das hab ich nicht richtig verstanden.
,aber was meinste mit dem 5-Zeiligen Script das hab ich nicht richtig verstanden.

Solange du nicht ein eigenes Event deklariert hast das "23" heißt, kannst du es nicht verwenden. Schau mal hier nach; diese Ereignisse gibt es in s2:
on
In der zweiten Zeile möchtest du einer Variable den Wert von einem Befehl zuordnen, deshalb muss der Befehl in Klammern.
So müsste es aussehen:
Du kannst außerdem die Klammern [] bei den Zahlen weglassen. Die stehen in den Referenzen nur für optionale Werte

In der zweiten Zeile möchtest du einer Variable den Wert von einem Befehl zuordnen, deshalb muss der Befehl in Klammern.
So müsste es aussehen:
Code:
1
$pirate=create("unit",37);
Du kannst außerdem die Klammern [] bei den Zahlen weglassen. Die stehen in den Referenzen nur für optionale Werte

edited 1×, last 25.06.13 04:31:48 pm
Danke, aber schon wie geschrieben die msg kommt nicht mal
EDIT:Das hatte ich ja völlig vergessen mit "setat",hier nochmal der vollständige Code:(vom Path, ID 24)
Und dann habe ich noch den Trigger editiert:(Doch ich weiß nicht ob es richtig ist)

EDIT:Das hatte ich ja völlig vergessen mit "setat",hier nochmal der vollständige Code:(vom Path, ID 24)
Code:
1
2
3
4
5
6
2
3
4
5
6
on:trigger {
$pirate=(create "unit" , 37);
setat "unit" , $pirate "info" , 24;
unitpath $pirate , 25,26,27,28;
addstate "unit" , $pirate , "invulnerability";
}
$pirate=(create "unit" , 37);
setat "unit" , $pirate "info" , 24;
unitpath $pirate , 25,26,27,28;
addstate "unit" , $pirate , "invulnerability";
}
Und dann habe ich noch den Trigger editiert:(Doch ich weiß nicht ob es richtig ist)
Code:
1
2
3
4
5
2
3
4
5
on:trigger {
msg "Ahh tötet dieses Krallenäffchen" , 1 , 4;
create "unit" , 42;
trigger 24 <---Ist das richtig?
}
msg "Ahh tötet dieses Krallenäffchen" , 1 , 4;
create "unit" , 42;
trigger 24 <---Ist das richtig?
}

edited 2×, last 24.06.13 06:32:57 pm
Poste mal die Einstellungen vom Trigger, also nicht das Script sondern die Bedingung oben, wann der Trigger ausgelöst wird.
Hast du bei der Zeile mit Anzahl =1 und weiter unten einen vernünftigen Radius eingestellt? Hast du "sofort aktiv" aktiviert?
Der Befehl
trigger sollte stimmen, wenn du ein Semikolon setzt und ein trigger event bei der Flagge mit der ID 24 ausführen willst
Ich verstehe noch nicht so ganz, wie du das Script von der Flagge 24 ausführen willst; willst du es aktivieren, wenn eine Einheit sie beim Unitpath passiert? Dann kannst du on:reach nehmen.
Weshalb hast du ein zusätzliches Script für die Flagge gemacht? So wie ich deine Scripts verstehe, müsste man das doch bequem mit einem Trigger Script (beim Trigger selbst) regeln können.
Außerdem: Achte in Zukunft auf Kommata. In der dritten Zeile bei
setat fehlt z.B. eines. Das sind unnötige Syntaxfehler
Wenn dein Gebietstrigger in Zukunft nicht pausenlos spawnen soll, sondern nur einmal ausgelöst werden darf, dann füge am besten noch diese Zeile ganz unten hinzu:
Dann löscht er sich nach Aktivierung.
Der Befehl


Ich verstehe noch nicht so ganz, wie du das Script von der Flagge 24 ausführen willst; willst du es aktivieren, wenn eine Einheit sie beim Unitpath passiert? Dann kannst du on:reach nehmen.
Weshalb hast du ein zusätzliches Script für die Flagge gemacht? So wie ich deine Scripts verstehe, müsste man das doch bequem mit einem Trigger Script (beim Trigger selbst) regeln können.
Außerdem: Achte in Zukunft auf Kommata. In der dritten Zeile bei


Wenn dein Gebietstrigger in Zukunft nicht pausenlos spawnen soll, sondern nur einmal ausgelöst werden darf, dann füge am besten noch diese Zeile ganz unten hinzu:
Code:
1
free "self";
Dann löscht er sich nach Aktivierung.
Also, wenn es getriggert wird, dann spawnt ein Krallenäffchen(neben dir) und die Message kommt, danach spawnt ein Pirat in der Flagge bzw. neben der Flagge und der Pirat läuft die Paths.Der Trigger ist nicht "Sofort aktiv" der Radius beträgt 30.

Der Trigger muss sofort aktiv sein, sonst beachtet er alles andere nicht.
Ich würde an deiner Stelle alles in den Trigger schreiben, außer ein Teil des Scripts soll später beim Passieren vom Unitpath aktiviert werden.
Ich würde an deiner Stelle alles in den Trigger schreiben, außer ein Teil des Scripts soll später beim Passieren vom Unitpath aktiviert werden.
Aber wenn er sofort aktiv ist, dann spawnt das Krallenäffchen sofort und die Message kommt auch sofort.

Ich dachte du willst das Script ausführen, wenn der Spieler im Radius vom Trigger ist. Willst du jetzt einen Gebietstrigger verwenden oder nicht?
Hast du im Trigger oben bei Anzahl =1 bzw. größer 0?
Standard ist dort =0.
Hast du im Trigger oben bei Anzahl =1 bzw. größer 0?
Standard ist dort =0.
Ja ich möchte das Script ausführen, wenn der Spieler im Radius ist, aber schon wie gesagt das Krallenäffchen spawnt genau, wenn ich auch spawne.Ich möchte ja nur, dass wenn der Spieler im Radius ist.Anzahl groß 0
