incorrectly terminated character constant

Fragen zu "Adventure Game Studio"? Hier rein!
Antworten
Benutzeravatar
DieFüchsin
Adventure-Gott
Adventure-Gott
Beiträge: 4406
Registriert: 12.03.2004, 16:55

incorrectly terminated character constant

Beitrag von DieFüchsin »

Kann mir jemand sagen was das bedeuten soll?

"incorrectly terminated character constant"

angeblich in dieser Zeile gefunden:

int ai=character[FUL].activeinv;

im script

int ai=character[FUL].activeinv;
if(ai==39){}
else{if(ai==34){if(kaffeetasse==1){DisplaySpeech(FUL, Ich kann doch den Kaffee nicht auf den Zucker kippen.");}}

else cannotful();
Danke, Adventuretreff! <3
Benutzeravatar
KhrisMUC
Adventure-Gott
Adventure-Gott
Beiträge: 4674
Registriert: 14.03.2005, 00:55
Wohnort: München

Beitrag von KhrisMUC »

AFAIK kann man einer Variablen bei der Deklaration nur eine Konstante zuweisen.
Dein Problem sollte sich also so lösen lassen:

Code: Alles auswählen

int ai;
ai=character[FUL].activeinv;
Noch was, statt:

Code: Alles auswählen

if (ai==39) {
}
else {
  ...
}
geht auch

Code: Alles auswählen

if (ai!=39) {   // ungleich
  ...
}
Use gopher repellent on funny little man
Benutzeravatar
Sinitrena
Tastatursteuerer
Tastatursteuerer
Beiträge: 678
Registriert: 08.05.2004, 01:01
Wohnort: Frankfurt
Kontaktdaten:

Beitrag von Sinitrena »

... und wenn wir schon gerade dabei sind: statt

Code: Alles auswählen

else{if(ai==34){if(kaffeetasse==1){DisplaySpeech(FUL, Ich kann doch den Kaffee nicht auf den Zucker kippen.");}} 
geht auch:

Code: Alles auswählen

else{
if ((ai==34)&&(kafeetasse==1)) {
cFUL.Say("Ich kann doch den Kaffee nicht auf den Zucker kippen.");
}
}
(Ich meine das && statt zwei mal if und das cFUL statt DisplaySpeech zumindest wenn du eine aktuelle Version verwendest.)
Außerdem hast du in deinem Original einmal Anführungszeichen vergessen, aber das wäre dir sicher noch aufgefallen.
http://www.sinitrena.de.vu Meine Spiele: "A very special dog", "A magic stone", "James Bond - Who wants to live again?", "Lonely Night", "Death of an Angel", "The Witch, the Wizard and the Blue Cup", "Emerald Eyes"
Benutzeravatar
DieFüchsin
Adventure-Gott
Adventure-Gott
Beiträge: 4406
Registriert: 12.03.2004, 16:55

Beitrag von DieFüchsin »

if (ai==39) {
}
else {
...
}


war so beabsichtigt, da nichts passieren soll, wenn man gegenstand 39 mit sich selbst benutzt.
Danke, Adventuretreff! <3
Benutzeravatar
KhrisMUC
Adventure-Gott
Adventure-Gott
Beiträge: 4674
Registriert: 14.03.2005, 00:55
Wohnort: München

Beitrag von KhrisMUC »

Rate mal, was passiert, wenn Du nur

Code: Alles auswählen

if (ai!=39) {
  ...
}
schreibst und dann ai 39 ist...
Richtig, nichts ;)
Use gopher repellent on funny little man
Benutzeravatar
DieFüchsin
Adventure-Gott
Adventure-Gott
Beiträge: 4406
Registriert: 12.03.2004, 16:55

Beitrag von DieFüchsin »

öh, ok :oops:
Danke, Adventuretreff! <3
strazer
Komplettlösungsnutzer
Komplettlösungsnutzer
Beiträge: 35
Registriert: 17.06.2005, 14:22

Beitrag von strazer »

KhrisMUC hat geschrieben:AFAIK kann man einer Variablen bei der Deklaration nur eine Konstante zuweisen.
Dein Problem sollte sich also so lösen lassen:

Code: Alles auswählen

int ai;
ai=character[FUL].activeinv;
Das geht sehr wohl, allerdings nur innerhalb von Skript-Funktionen.
Ausserhalb von Funktionen, z.B. direkt am Anfang des global script müssen es Konstanten sein, richtig, aber Skript-Code darf da gar nicht hin.
DieFüchsin hat geschrieben: DisplaySpeech(FUL, Ich kann
Hier fehlt das Anführungszeichen, kann es daran liegen?
Benutzeravatar
DieFüchsin
Adventure-Gott
Adventure-Gott
Beiträge: 4406
Registriert: 12.03.2004, 16:55

Beitrag von DieFüchsin »

Möglicherweise lags daran, aber dann kommt eigentlich immer ein anderer Kommentar... naja jedenfalls gehts jetzt.
Danke, Adventuretreff! <3
Benutzeravatar
KhrisMUC
Adventure-Gott
Adventure-Gott
Beiträge: 4674
Registriert: 14.03.2005, 00:55
Wohnort: München

Beitrag von KhrisMUC »

strazer hat geschrieben:Das geht sehr wohl, allerdings nur innerhalb von Skript-Funktionen.
Hab ich einen Tag später auch gemerkt, war aber zu faul es zu korrigieren ;)
Use gopher repellent on funny little man
Antworten