CNDG
Würden Sie gerne auf diese Nachricht reagieren? Erstellen Sie einen Account in wenigen Klicks oder loggen Sie sich ein, um fortzufahren.


Ein Forum, in dem sich neue Clonk Entwickler untereinander austauschen können.
 
StartseiteStartseite  PortalPortal  SuchenSuchen  Neueste BilderNeueste Bilder  AnmeldenAnmelden  LoginLogin  

 

 Problem mit Script

Nach unten 
5 verfasser
AutorNachricht
Tobiris
Fähnrich
Fähnrich



Anmeldedatum : 18.05.08

Problem mit Script Empty
BeitragThema: Problem mit Script   Problem mit Script EmptySa Aug 16, 2008 5:49 pm

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


Der script lautet bis jetzt:

/*-- Neues Szenario --*/

#strict

func Initialize()
{
ScriptGo(1);
return(1);
}

func IntializePlayer()
{
GetCrew()->SetPosition(100,100);
}


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 RV(int iCount)
{
for(var pObj in FindObjects(Find_OCF(OCF_CrewMember), Find_Owner(iCount)))
{
SetPlrViewRange(0, pObj);
}
}

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?
Nach oben Nach unten
sareiken
Major
Major
sareiken


Anmeldedatum : 29.03.08

Problem mit Script Empty
BeitragThema: Re: Problem mit Script   Problem mit Script EmptySa 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


Der script lautet bis jetzt:

/*-- Neues Szenario --*/

#strict

func Initialize()
{
ScriptGo(1);
return(1);
}

func IntializePlayer()
{
GetCrew()->SetPosition(100,100);
}


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 RV(int iCount)
{
for(var pObj in FindObjects(Find_OCF(OCF_CrewMember), Find_Owner(iCount)))
{
SetPlrViewRange(0, pObj);
}
}

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?
Nach oben Nach unten
Tobiris
Fähnrich
Fähnrich



Anmeldedatum : 18.05.08

Problem mit Script Empty
BeitragThema: Re: Problem mit Script   Problem mit Script EmptySa 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
Nach oben Nach unten
Mega Hazard
Staatsrat
Staatsrat
Mega Hazard


Männlich Alter : 32
Ort : Brunswiek *helllau*
Anmeldedatum : 24.01.08

Problem mit Script Empty
BeitragThema: Re: Problem mit Script   Problem mit Script EmptySa 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.
Nach oben Nach unten
http://megahazard.lima-city.de/Main.htm
Gast
Gast




Problem mit Script Empty
BeitragThema: Re: Problem mit Script   Problem mit Script EmptySo 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.
Nach oben Nach unten
Elfangor
General
General
Elfangor


Männlich Alter : 32
Ort : Mainz
Anmeldedatum : 26.06.08

Problem mit Script Empty
BeitragThema: Re: Problem mit Script   Problem mit Script EmptySo 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);
    }     
  }

  // Film ist aus
  FilmEnd();
}

protected func CloseAbortMenu()
{
  SetCrewEnabled(false, pCamera);
  CloseMenu(pCamera);
  return(1);
}

protected func MenuQueryCancel(int iSelection, object pMenuObj)
{
  return(true);
}

private func SetPlrViewToTower()
{
  // Sicht aller Spieler auf den Turm setzen
  SetPlrViewRange(300, FindObject(TWR2));
  for(var i=0; i<GetPlayerCount(); i++)
  {
    SetPlrView(GetPlayerByIndex(i), FindObject(TWR2));
    SetFoW(true, GetPlayerByIndex(i));
  }
}

private func Film1()
{
  // Film-Phase
  iPhase = 1;
  // Sicht aller Spieler auf Turm setzen
  SetPlrViewToTower();
  // Clonks werfen Feuersteine auf Statue
  iReady = 0;
  for(var i=0; i<3; i++)
  {
    pClonk[i]->CreateContents(FLNT);
    SetCommand(pClonk[i], "Call", this(),,,, "Film2");
    AddCommand(pClonk[i], "Wait",,,,,, 18);
    AddCommand(pClonk[i], "Throw",, 2860+Random(21), 353,,,,5);
  }
}

private func Film2()
{
  iReady++;
  if(iReady<3) return();
  // Film-Phase
  iPhase = 2;
  // Sicht aller Spieler auf Turm setzen
  SetPlrViewToTower();
  // Statue zerspringt
  CastObjects(GDLS, 3, 10+Random(10), GetX(FindObject(GIDL)), GetY(FindObject(GIDL)));
  RemoveObject(FindObject(GIDL));
  // Jeder Clonk sammelt einen Splitter ein
  var pSplinter; iReady = 0;
  for(var i=0; i<3; i++)
  {
    pSplinter = FindObject(GDLS,,,,,,,,,pSplinter);
    pClonk[i]->CreateContents(TIM1);
    SetCommand(pClonk[i], "Call", this(),,,, "Film3");
    AddCommand(pClonk[i], "MoveTo",, AbsX(2280), AbsY(438),,,,5);
    AddCommand(pClonk[i], "Get", pSplinter,,,,,, 5);
  }
}

private func Film3()
{
  iReady++;
  if(iReady<3) return();
  // Film-Phase
  iPhase = 3;
  // Blitzlicht-Effekt
  RemoveFlashlight();
  // Spielerclonks laufen dorthin, wo die Statue war
  iReady = 0;
  for(var i=0,c,p; i<GetPlayerCount(); i++)
  {
    p = GetPlayerByIndex(i);
    c = FindObject2(Find_Owner(p), Find_Func("IsClonk"));
    SetPlrView(p, c);
    SetCommand(c, "Call", this(),,,, "Film4");
    AddCommand(c, "MoveTo",, 2840+Random(40), 350,,,, 5);
    AddCommand(c, "Wait",,,,,, 20+Random(20));
  }
}

private func Film4()
{
  iReady++;
  if(iReady<GetPlayerCount()) return();
  // Film-Phase
  iPhase = 4;
  // Gamma-Bugfix (hoffentlich reicht das...)
  SetGamma(RGB(0,0,0), RGB(128,128,128), RGB(255,255,255), 0);
  SetGamma(RGB(0,0,0), RGB(128,128,128), RGB(255,255,255), 2);
  SetGamma(RGB(0,0,0), RGB(128,128,128), RGB(255,255,255), 4);
  SetGamma(RGB(0,0,0), RGB(128,128,128), RGB(255,255,255), 5);
  SetGamma(RGB(0,0,0), RGB(128,128,128), RGB(255,255,255), 6);
  SetGamma(RGB(0,0,0), RGB(128,128,128), RGB(255,255,255), 7);
  // Nachricht
  Message("<c %x>$Statue$", GetCrew(GetPlayerByIndex(0)), GetPlrColorDw(GetPlayerByIndex(0)));
  // Nächste Funktion
  ScheduleCall(this(), "Film5", 70);
}

private func Film5()
{
  // Film-Phase
  iPhase = 5;
  // Nachricht
  Message("<c %x>$Statue2$", GetCrew(GetPlayerByIndex(0)), GetPlrColorDw(GetPlayerByIndex(0)));
  // Film ist zu Ende
  FilmEnd();
}

private func FilmEnd()
{
  // Menü schließen und Kameraobjekt löschen
  iPhase = -1;
  CloseMenu(pCamera);
  if(pCamera) RemoveObject(pCamera);
  // Gamma-Bugfix (besser nochmal)
  SetGamma(RGB(0,0,0), RGB(128,128,128), RGB(255,255,255), 0);
  SetGamma(RGB(0,0,0), RGB(128,128,128), RGB(255,255,255), 2);
  SetGamma(RGB(0,0,0), RGB(128,128,128), RGB(255,255,255), 4);
  SetGamma(RGB(0,0,0), RGB(128,128,128), RGB(255,255,255), 5);
  SetGamma(RGB(0,0,0), RGB(128,128,128), RGB(255,255,255), 6);
  SetGamma(RGB(0,0,0), RGB(128,128,128), RGB(255,255,255), 7);
  // Diebesclonks an ihre Endpositionen setzen (dort, wo sie ihren Splitter verteidigen)
  var aClonkPos = [[3090, 707],
                  [568, 788],
                  [348, 360],
                  [51, 290],
                  [927, 438],
                  [1463, 295],
                  [2137, 390]], p;
  for(var i=0; i<3; i++)
  {
    while(!aClonkPos[p=Random(GetLength(aClonkPos))]); // Leerlaufschleife beabsichtigt!
    pClonk[i]->SetPosition(aClonkPos[p][0], aClonkPos[p][1]);
    aClonkPos[p] = 0;
    pClonk[i]->SetAI(0, 50);
  }
  // Spielerclonks wieder aktivieren
  for(var i=0,p; i<GetPlayerCount(); i++)
  {
    p = GetPlayerByIndex(i);
    for(var j=0; j<GetCrewCount(p); j++)
      SetCrewEnabled(true, GetCrew(p, j));
    SelectCrew(p, GetCrew(p), true);
  }
  // Spielerbeitritt wieder erlauben
  SetMaxPlayer(6);
  // ScriptCounter läuft weiter
  ScriptGo(1);
  // Filmobjekt entfernen
  RemoveObject();
}


Ist btw ein Extraobjekt
Nach oben Nach unten
http://www.m-w-c.de.vu
NilsZ
Admiral
Admiral



Männlich Ort : Mein Rekord: 27 Punkte! :D
Anmeldedatum : 07.08.08

Problem mit Script Empty
BeitragThema: Re: Problem mit Script   Problem mit Script EmptyMi Aug 27, 2008 3:23 pm

Nettes script aber du hast ein paar Sachen übersehen:

Nils schrieb:


/*-- Neues Szenario --*/

#strict

func Initialize()
{
ScriptGo(1);
return(1);
}

func IntializePlayer(PARAMETER FEHLT!)
{
GetCrew(PARAMETER FEHLT!,0)->SetPosition(100,100);
}


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
}

func RV(int iCount)
{
//while passt besser
while(var pObj = FindObjects(Find_OCF(OCF_CrewMember), Find_Owner(iCount)))
{
SetPlrViewRange(0, pObj);
}
}

func Script1() //Hier noch richtig
{
PlayerMenu();
var iCount;
iCount = 0;
while (iCount < GetPlayerCount())
{
if (GetCursor(iCount)) { SetFoW (1, iCount); RV(iCount); }
++iCount;
}
}

Script10() //und hier war es falsch
{ // Klammer hat auch gefehlt
SetPlrViewRange(5, oClonk);
}

Script20()
{
SetPlrViewRange(10, oClonk);
}

public func IntroYes()
{
var oClonk = GetCursor(0);
SetCrewEnabled(0, oClonk);
goto(10);// kleingeschrieben
}

// Ich hoffe hier folgt noch IntroNo()

Nach oben Nach unten
Gesponserte Inhalte





Problem mit Script Empty
BeitragThema: Re: Problem mit Script   Problem mit Script Empty

Nach oben Nach unten
 
Problem mit Script
Nach oben 
Seite 1 von 1
 Ähnliche Themen
-
» script problem(szen)
» Effect Script
» script mit Hyp. Clonk
» Atellerie-Script
» Fehler im Script

Befugnisse in diesem ForumSie können in diesem Forum nicht antworten
CNDG :: Sonstiges :: Scripthilfe-
Gehe zu: