Forum

> > Stranded II > Scripts > Scripting - Fragen/Probleme
Forums overviewStranded II overview Scripts overviewLog in to reply

German Scripting - Fragen/Probleme

6,780 replies
Page
To the start Previous 1 262 63 64339 340 Next To the start

old Re: Scripting - Fragen/Probleme

DC
Admin Off Offline

Quote
Ja das tut mir leid. Aber ob mans glaubt oder nicht: Hinter dem was ich da gemacht habe steckt durchaus ein Sinn
Objects sind für statische, bewegungslose Dinge gedacht, welche in größeren Mengen vorkommen, während Units beweglich sind.
Intern werden diese Klassen daher auch komplett seperat und unterschiedlich gehandhabt und deswegen ist das einfach nicht möglich. Es würde die komplette Logik hinter dem System über den haufen werfen (und somit auch eine Menge Probleme im Code verursachen), wenn man dann fröhlich auf objects durch die gegend flitzt

old Re: Scripting - Fragen/Probleme

DC
Admin Off Offline

Quote
Ich sehe jetzt nicht direkt Fehler. Du kannst dir mich s2 cmd echo oder s2 cmd msg die Werte der Variablen ausgeben lassen (vor den Bedingungen) um zu gucken ob diese überhaupt zutreffen können und auch in die geschweiften Klammern der Bedingungen noch einen msg oder echo Befehl mit ner Ausgabe setzten um zu gucken ob der Inhalt der geschweiften Klammern ausgeführt wird oder nicht. Wenn er das wird musst du den Pfad prüfen. Oder die Sounddateien haben irgendein komisches Format bzw. nen komischen Codec der nicht klappt. Wobei das unwahrscheinlich ist.

Jedenfalls ist es eine gute Methode nach Fehlern zu suchen, wenn man alles mit Ausgaben zupflastert um die Ursache des Problems zu finden.

Über die Eingabe von vars in der Konsole kannst du dir auch alle Variablen mit Wert ausgeben lassen.

old Re: Scripting - Fragen/Probleme

Mr Ast
User Off Offline

Quote
Ich hab vergessen zu sagen, dass die Console jedes mal in etwa die Fehlermeldung: else oder ifelse ohne gültiges if ausgibt.

old Re: Scripting - Fragen/Probleme

bizzl
User Off Offline

Quote
Mr Ast has written
Ich hab vergessen zu sagen, dass die Console jedes mal in etwa die Fehlermeldung: else oder ifelse ohne gültiges if ausgibt.


Das liegt daran das dieser Code mist ist:
1
2
3
4
if (($uspmodus==0) && (playergotitem(202)>1)) { play "Weapons\Pistols\USP\usp_unsil.wav"; } //addstate $attackedclass,$attackedid,"bleeding";
elseif (($uspmodus==1) && (playergotitem(202)>1)) { play "Weapons\Pistols\USP\usp_sil.wav"; } //addstate $attackedclass,$attackedid,"intoxication";
elseif (playergotitem(202)<1) { play "Weapons\dryfire_pistol.wav";}
else{}

richtig wäre:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
if (($uspmodus==0) && (playergotitem(202)>1)) {

play "Weapons\Pistols\USP\usp_unsil.wav";
//addstate $attackedclass,$attackedid,"bleeding";

} elseif (($uspmodus==1) && (playergotitem(202)>1)) { 

play "Weapons\Pistols\USP\usp_sil.wav";
//addstate $attackedclass,$attackedid,"intoxication";

} elseif (playergotitem(202)<1) {

play "Weapons\dryfire_pistol.wav";

}
Besser wäre es noch das komplizierter in die Blöcke zu fassen (PASCAL-Style, also ohne elseif), aber das wird uU etwas wüst.

old Re: Scripting - Fragen/Probleme

DC
Admin Off Offline

Quote
Hmm ich denke mal, dass das
1
$attackedclass,$attackedid,"bleeding";
bzw.
1
$attackedclass,$attackedid,"intoxication";
eigentlich zu den vorhergehenden, auskommentierten "//addstate"-Zeilen gehört und nur durch das Forum in die nächste Zeile umgebrochen wurde.
Zuerst hat mich das nämlich auch irritiert.

Falls das nicht der Fall ist, ist es natürlich falsch. Eine Zeile nur mit Variablen und Strings ohne Befehle oder eine Wertzuweisung ( = ), kann nicht richtig sein.

old Re: Scripting - Fragen/Probleme

bizzl
User Off Offline

Quote
is mir auch klar gewesen, aber die beiden zeieln waren so oder so fehlplatziert (noch scriptkontext gehörten sie in die blöcke rein). Außerdem könnte es sein das Kommentare if-elseif-Statements unterbrechen.

@Mr. Ast: wenn immer noch keine sounds kommen, schau nach ob die dateien/ordner mit den sounds innerhalb von des verzeichnisses sfx liegen.

old Re: Scripting - Fragen/Probleme

Mr Ast
User Off Offline

Quote
Die Ordner und Sounds sind alle an ihrer richtigen position.
Die Schalldämpfergeräusche funktionieren auch(also das auf und abschrauben).
Wenn ich jedoch mit dem von Bizzl vorgeschlagenem Script:

on:attack1
{
if (($uspmodus==0) && (playergotitem(202)>0)) { play "Weapons\Pistols\USP\usp_unsil.wav";}
elseif (($uspmodus==1) && (playergotitem(202)>0)) { play "Weapons\Pistols\USP\usp_sil.wav";}
elseif (playergotitem(202)<1) { play "Weapons\dryfire_pistol.wav";}
}

arbeite, meint die Konsole, dass die erste oder zweite Klammer bei dem ersten if und dem ersten nachfolgendem elseif unerwartet sei.

old Re: Scripting - Fragen/Probleme

bizzl
User Off Offline

Quote
Ich glaube S2S hatte probleme mit boolschen ausdrücken.
Kann sein das es diese Doppelklammern nicht mag.

Probier mal folgendes:
1
2
3
4
5
6
7
8
9
10
11
12
13
on:attack1 {
 if (playergotitem(202)>0) {
  if ($uspmodus==0) {
   play "Weapons\Pistols\USP\usp_unsil.wav";
  }
  if ($uspmodus==1) {
   play "Weapons\Pistols\USP\usp_sil.wav";
  }
  //... platz für mehr modi
 } else {
  play "Weapons\dryfire_pistol.wav";
 }
}

old Re: Scripting - Fragen/Probleme

bizzl
User Off Offline

Quote
Buckelfips has written
Auch steht meine Frage (siehe oben ...) wie man einen "Lehrer" erschafft immer noch im Raum.

Du meinst das mit der Combi-Unterdrückung? Derzeit gar net, du kannst das höchstens für Gebäude implementieren, musst aber mit der Freischaltung nach dem bau bestimmter Gebäude aufpassen. Am besten timer der immerzu s2 cmd lockbuilding ausführt einbauen.
Aber für Combis gibts sowas net und wirds vermutlich auch nie gebe.

old Re: Scripting - Fragen/Probleme

DC
Admin Off Offline

Quote
Es ist natürlich immer die schlechteste Methode permanent ein Script laufen zu lassen (weil es langsam ist). Gehen würde das aber theoretisch.
Bei den Kombinationen von Werkzeugen werden aber sowieso per Scripts Ereignisse ausgelöst (s2 cmd event in combinations_tools.inf). Du kannst einfach diese benutzen und musst somit nicht dauernd prüfen.

old Re: Scripting - Fragen/Probleme

DC
Admin Off Offline

Quote
Ja. Genau. Allerdings wirkt es sich natürlich auf sämtliche Maps aus, wenn du in den inf Dateien rumwerkelst. Falls du nur eine Map machen möchtest, ist das also keine Lösung.
To the start Previous 1 262 63 64339 340 Next To the start
Log in to reply Scripts overviewStranded II overviewForums overview