Ich habe ein Szenario gemacht wo man auswählen kann ob man ein Intro sehen will oder nicht. dazu habe ich ein menu angelegt. Doch es funktioniert nicht ganz, da kommt immer folgener fehler wenn ich au "Intro ansehen" drücke:
ERROR: syntax error: see previous parser error for details. by: IntroYes(HACK) (New.c4s\Script.c:55) by: MenuCommand in New.c4s\Script.c
func PlayerMenu() { var plr = GetCursor(); CreateMenu(FLAG, plr, 0, 0, "", 0, 1); AddMenuItem("Intro ansehen", "IntroYes", HACK, plr, 0, 0, "Zeigt ein Intro wie alles begann."); AddMenuItem("Intro überspringen", "IntroNo", KREU, plr, 0, 0, "Überspringt das Intro und startet dort wo das Intro hätte aufgehört."); return(plr); }
func Script1() { PlayerMenu(); var iCount; iCount = 0; while (iCount < GetPlayerCount()) { if (GetCursor(iCount)) { SetFoW (1, iCount); RV(iCount); } ++iCount; } }
Script(10) SetPlrViewRange(5, oClonk);
Script(20) SetPlrViewRange(10, oClonk);
public func IntroYes() { var oClonk = GetCursor(0); <---- Zeile 55 SetCrewEnabled(0, oClonk); Goto(10); }
Könnt ihr mir weiterhelfen?
sareiken Major
Anmeldedatum : 29.03.08
Thema: Re: Problem mit Script Sa Aug 16, 2008 6:14 pm
Tobiris schrieb:
Ich habe ein Szenario gemacht wo man auswählen kann ob man ein Intro sehen will oder nicht. dazu habe ich ein menu angelegt. Doch es funktioniert nicht ganz, da kommt immer folgener fehler wenn ich au "Intro ansehen" drücke:
ERROR: syntax error: see previous parser error for details. by: IntroYes(HACK) (New.c4s\Script.c:55) by: MenuCommand in New.c4s\Script.c
func PlayerMenu() { var plr = GetCursor(); CreateMenu(FLAG, plr, 0, 0, "", 0, 1); AddMenuItem("Intro ansehen", "IntroYes", HACK, plr, 0, 0, "Zeigt ein Intro wie alles begann."); AddMenuItem("Intro überspringen", "IntroNo", KREU, plr, 0, 0, "Überspringt das Intro und startet dort wo das Intro hätte aufgehört."); return(plr); }
func Script1() { PlayerMenu(); var iCount; iCount = 0; while (iCount < GetPlayerCount()) { if (GetCursor(iCount)) { SetFoW (1, iCount); RV(iCount); } ++iCount; } }
Script(10) SetPlrViewRange(5, oClonk);
Script(20) SetPlrViewRange(10, oClonk);
public func IntroYes() { var oClonk = GetCursor(0); <---- Zeile 55 SetCrewEnabled(0, oClonk); Goto(10); }
Könnt ihr mir weiterhelfen?
bin mir zwar nicht sicher müssen die beiden scripts vom gleichzeichen nicht zusammen?
Tobiris Fähnrich
Anmeldedatum : 18.05.08
Thema: Re: Problem mit Script Sa Aug 16, 2008 6:20 pm
Meinst du Script(10) und Scriot(20)? Ja das kann gut sein jemand hat mir sowas ähnliches ertählt
Aber es ändert nichts an dem Error in in Zeile 55
Mega Hazard Staatsrat
Alter : 32 Ort : Brunswiek *helllau* Anmeldedatum : 24.01.08
Thema: Re: Problem mit Script Sa Aug 16, 2008 6:45 pm
Also zuerst hat func Script() keine Parameter und dann erstrecht keine Integer. Also heißt es immernoch Script10() und Script20().
Das mit der Zeile 55 liegt wahrscheinlich an dem voherigen Menü, da Menüs und Variabeln zusammen spinnen.
Gast Gast
Thema: Re: Problem mit Script So Aug 17, 2008 1:37 am
Tobiris schrieb:
ERROR: syntax error: see previous parser error for details. by: IntroYes(HACK) (New.c4s\Script.c:55) by: MenuCommand in New.c4s\Script.c
Gib mal den richtigen Fehler.
Elfangor General
Alter : 32 Ort : Mainz Anmeldedatum : 26.06.08
Thema: Re: Problem mit Script So Aug 17, 2008 10:20 am
Ich gebe zwar jetzt keine Fehleranalyse oder Reperatur, sondern einen Vorschlag sich den Script aus "Kreuzzüge" aus dem Pack "Rebellion" anzugucken. Dort wird der Host gefragt ob er das Intro ansehen will oder nicht.
Code:
/*-- Film --*/
#strict
local pClonk, iReady, iPhase;
local pCamera;
public func StartFilm() { // Kein Spielerbeitritt während dem Film! SetMaxPlayer(0); // Clonks deaktivieren for(var i=0; i<GetPlayerCount(); i++) for(var j=0; j<GetCrewCount(GetPlayerByIndex(i)); j++) SetCrewEnabled(false, GetCrew(GetPlayerByIndex(i), j)); // Ersten Clonk von Spieler 1 wieder aktivieren und Menü erzeugen pCamera = CreateObject(_CAM,,,0); MakeCrewMember(pCamera, 0); pCamera->SetPosition(2950, 300); pCamera->SetCrewEnabled(true); SelectCrew(0, pCamera, true); CreateMenu(_F00, pCamera, this(), 0, "$Intro$", 0, 1); AddMenuItem("$Abort$", "AbortFilm", _F00, pCamera, 0, 0, "$AbortDesc$", 2, 2); AddMenuItem("$CloseMenu$", "CloseAbortMenu", _F00, pCamera, 0, 0, "$CloseMenuDesc$", 2, 1); // Film-Phase iPhase = 0; // Blitzlicht-Effekt CreateFlashlight(2); // Clonks erzeugen pClonk = CreateArray(3); pClonk[0]=CreateObject(CLNK,AbsX(2280+Random(50)),AbsY(438),-1); pClonk[1]=CreateObject(CLNK,AbsX(2280+Random(50)),AbsY(438),-1); pClonk[2]=CreateObject(CLNK,AbsX(2280+Random(50)),AbsY(438),-1); // Clonks färben for(var i=0; i<3; i++) CLFS->Colorize(pClonk[i]); // Sicht aller Spieler auf den Turm setzen SetPlrViewToTower(); // Nächste Funktion ScheduleCall(this(), "Film1", 20); }
public func AbortFilm() { var pObj;
// Goldstatue noch da? if(pObj=FindObject(GIDL)) { // Entfernen RemoveObject(pObj); // Clonks bekommen Splitter for(var clonk in pClonk) { for(pObj in FindObjects(Find_Container(clonk))) RemoveObject(pObj); CreateContents(GDLS, clonk); } } // Commands aller Clonks löschen for(pObj in FindObjects(Find_Func("IsClonk"))) { SetCommand(pObj, "None"); SetComDir(COMD_Stop, pObj); } // Blitzlicht-Effekt RemoveFlashlight();
// Sonderbehandlung für einzelne Phasen if(iPhase == 2) { // Alte Splitter entfernen for(pObj in FindObjects(Find_ID(GDLS))) RemoveObject(pObj); // Clonks bekommen Splitter for(var clonk in pClonk) { for(pObj in FindObjects(Find_Container(clonk))) RemoveObject(pObj); CreateContents(GDLS, clonk); } }
func PlayerMenu() { var plr = GetCursor(); CreateMenu(FLAG, plr, 0, 0, "", 0, 1); AddMenuItem("Intro ansehen", "IntroYes", HACK, plr, 0, 0, "Zeigt ein Intro wie alles begann."); AddMenuItem("Intro überspringen", "IntroNo", KREU, plr, 0, 0, "Überspringt das Intro und startet dort wo das Intro hätte aufgehört."); return(plr); // warum gibt das die Spielernummer zurück? Naja egal }