+ Antworten
Ergebnis 1 bis 3 von 3
  1. #1
    Brückenarchitekt Avatar von Annosiedler
    Registriert seit
    02.01.2009
    Ort
    Niedersachsen
    Beiträge
    2,868

    Standard Fehler in Goal_NoChange (WennEsEinCounterIst,IstBeiEndeInterruptUndNichtSu cess!)

    Wie ich heute bei einem Test mit Folge 3 festellen musste ist bei einer Quest mit Goal_NoChange ein Fehler drin!
    Wenn diese Quest mit Zeit läuft ist nach Abschluss der Zeit das Ergebnis GRAFISCH erfolgreich, jedoch erkennt das T_OnQuestSucess(Wait) nicht (oder NoChange versteht es falsch)! Diese erkennen interrupted.

    Ich habe es mit einer Zusatzquest gelöst: T_OnQuestOver und darüber dann T_OnQuestSucess(Wait) laufen lassen.


    Also nicht wundern wenn ihr einen Counter braucht und Sucess nicht weitergibt.

  2. #2
    Wirt Avatar von Fidelio1958
    Registriert seit
    18.06.2008
    Ort
    Wien 1100 (Österreich)
    Beiträge
    815

    Standard AW: Fehler in Goal_NoChange (WennEsEinCounterIst,IstBeiEndeInterruptUndNichtSu cess!)

    Ich glaube, das ist gar kein Fehler, No Change heisst: keine Veränderung.
    Also weder Success, noch failure. Also: interrupted = abgebrochen oder over.

    Bau dir diesen Trigger in deine Qsb ein, dann gehts ohne Zusatzquest!!
    Ist getestet!!

    Code:
    -- Trigger_OnQuestOverWait
    -- User Generated Wolfi
    ------------------------------------------------------------------------------------------------------------------------------
    
    Trigger_OnQuestOverWait = {
        Name = "Trigger_OnQuestOverWait",
        Description = {
            en = "Trigger: Starts a quest after another quest has been finished and a given time has passed",
            de = "Ausloeser: Startet eine Quest nachdem eine andere Quest beendet wurde und die eingestellte Zeit vergangen ist",
        },
        Parameter = {
            { ParameterType.QuestName, en = "Quest name", de = "Questname" },
            { ParameterType.Number, en = "Waiting time", de = "Wartezeit"},
        },
    }
    
    function Trigger_OnQuestOverWait:GetTriggerTable()
    
        return { Triggers.Custom2,{self, self.CustomFunction} }
    
    end
    
    function Trigger_OnQuestOverWait:AddParameter(_Index, _Parameter)
    
        if (_Index == 0) then    
            self.QuestName = _Parameter    
        elseif (_Index == 1) then    
            self.WaitingTime = _Parameter*1 
        end
    
    end
    
    function Trigger_OnQuestOverWait:CustomFunction()
    
        if IsValidQuest(self.QuestName) then
            local QuestID = GetQuestByName(self.QuestName)        
                                   
                    if (Quests[QuestID].State == QuestState.Over) or (Quests[QuestID].Result == QuestResult.Interrupted) then
                        if self.WaitingTime and self.WaitingTime > 0 then
                          self.TimerStartTime = self.TimerStartTime or Logic.GetTime()
                            if Logic.GetTime() >= (self.TimerStartTime + self.WaitingTime) then
                       
                               return true
                       
                            end   
                        end    
                    end    
                 
        end
        return false
        
    end
    
    function Trigger_OnQuestOverWait:DEBUG(_Quest)
        
        if not IsValidQuest(self.QuestName) then
            yam(_Quest.Identifier .. ": Error in " .. self.Name .. ": Quest: "..  self.QuestName .. " does not exist")
            return true
        elseif self.WaitingTime < 0 then
            yam(_Quest.Identifier .. ": Error in " .. self.Name .. ": Waiting time is negative")
            return true
        end    
    
    end
    
    function Trigger_OnQuestOverWait:Reset()
    
        self.TimerStartTime = nil    
    
    end
    
    AddQuestBehavior(Trigger_OnQuestOverWait)
    Funktioniert bei Over und auch bei Interrupted!
    Geändert von Fidelio1958 (22.09.2010 um 21:07 Uhr)

  3. #3
    Brückenarchitekt Avatar von Annosiedler
    Registriert seit
    02.01.2009
    Ort
    Niedersachsen
    Beiträge
    2,868

    Standard AW: Fehler in Goal_NoChange (WennEsEinCounterIst,IstBeiEndeInterruptUndNichtSu cess!)

    danke, schon ergänzt!
    - - - - - -
    auszug aus BB questverbesserungen
    Goal_NoChange
    Dieses Goal macht nichts. Setzt man es in einen Quest wird es niemals erfolgreich sein oder fehlschlagen. Dies ermöglicht viele interessante Konstruktionen. Man kann einen Quest hiermit so lange offen lassen, bis er durch andere Quests mit Reward_QuestSuccess, Reward_QuestFailure oder auch Reward_QuestInterrupt beendet wird.
    Gibt man dem Quest ein Zeitlimit hat man einen Timer (und als versteckten Quest eine Wartezeit). Goal_NoChange ist nach Ablauf der eingestellten Zeit automatisch erfolgreich. Fügt man nun noch einen Reward_RestartQuest auf den eigenen Quest hinzu, kann man einen Reward regelmäßig ausführen lassen.
    seltsam was BB da wieder angestellt hat

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

     

Ähnliche Themen

  1. Fehler bei Siedler 3
    Von Sidlapro im Forum Siedler 3 Allgemein
    Antworten: 30
    Letzter Beitrag: 28.07.2011, 09:18
  2. Ritterfähigkeit - Fehler?
    Von OKEF im Forum S6 Scriptecke
    Antworten: 3
    Letzter Beitrag: 04.01.2010, 23:48
  3. Fehler im Spiel S 3
    Von chri-Wi im Forum Siedler 3 Allgemein
    Antworten: 4
    Letzter Beitrag: 27.03.2009, 17:39
  4. Fehler bei Handel ??
    Von Marius94 im Forum S6 Scriptecke
    Antworten: 7
    Letzter Beitrag: 28.11.2008, 12:55
  5. Fehler bei Reward_RestartQuest in 1.5.
    Von ottokar im Forum S6 Scriptecke
    Antworten: 4
    Letzter Beitrag: 30.03.2008, 14:42

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein