Not logged inOpenClonk Forum
Up Topic Community / German / ScriptGo
- - By Maddino [de] Date 2013-01-12 15:13 Edited 2013-01-12 15:26
Gibt es kein ScriptGo() mehr? Habe es in der Doku nicht gefunden und Eclipse (C4DT) kennt es auch nicht. Wie erstellt man jetzt einen Szenariotimer?
Reply
Parent - - By Andriel Date 2013-01-12 15:29
Gibts in der Form nicht mehr, in einigen Szenarien wird das mit einem globalen Effekt geregelt, also in diesem Schema:

AddEffect("IntIrgendeinName", nil, 1, 2, nil, nil);

global func FxIntIrgendeinNameTimer(object target, proplist effect, int time)
{
if(effect.Time == 20)
{
     DoSomething();
}

if(effect.Time == 50)
{
     SomethingElse();
}

usw. etc. pp...
}
Reply
Parent - By Maddino [de] Date 2013-01-12 15:53
Danke!
Reply
Parent - - By Zapper [de] Date 2013-01-12 15:50 Edited 2013-01-12 15:57
Ich hab fuer das Caedestutorial ein ganz nettes System geschrieben, das auch Bedingungen fuer Funktionen kennt. Kann ich ja bei Zeiten mal in ein schönes Interface verpacken und ins Repos tun :)

PS: Wenn du nur erstmal einen Ersatz fuer die Szenarientimer suchst, dann kannst du sowas nehmen:

func FxScenarioTimerTimer(target, effect, time)
{
  if(effect.stopped) return 1;
  effect.counter += 1;
  Scenario->Call(Format("Script%d", effect.counter));
  return 1;
}

func ScriptGo(bool go)
{
  var e = GetEffect("ScenarioTimer");
  if (!e && !go) return 1;
  if (!go)
  {
    e.stopped = true;
  }
  else
  {
    if (!e)
      e = AddEffect("ScenarioTimer", nil, 10, 1);
    e.stopped = false;
  }
  return 1;
}

func goto(int x)
{
  var e = GetEffect("ScenarioTimer");
  if (!e)
      e = AddEffect("ScenarioTimer", nil, 10, 1);
  e.counter = x - 1;
}
Parent - By Maddino [de] Date 2013-01-12 15:53
Wäre klasse ;D
Reply
Parent - - By Zapper [de] Date 2013-01-12 15:58
Der Zusatz ist natuerlich nicht getestet ;)
Parent - By Maddino [de] Date 2013-01-12 16:53
Ich teste mal. ;)
Reply
Up Topic Community / German / ScriptGo

Powered by mwForum 2.29.7 © 1999-2015 Markus Wichitill