Konnte im UNgeschützen speicher nicht Spielen?

» Siedler Map Source Forum » Siedler DEdK Script Forum » Konnte im UNgeschützen speicher nicht Spielen?

Seiten: 1 2 Nächste Seite

Der_Deutsche
#1
27.05.2017 10:40
Beiträge: 349

Konnte im Ungeschützen speicher nicht Spielen?

Hallo,
seit tagen habe ich das
Problem bei meinem Skript:
https://workupload.com/file/fmJFAxL

Das dort so ein Fehler kommt,
der mir Unbekannt ist.

http://prntscr.com/fblil5

Weis jemand eine Lösung?

MFG

____________________
Nachbau von Siedler 5 Lobbys "Ubi.Com"

Updatelösungen Siedler 5 Patch 1.06

Creators Update Lösung Windows 10 Siedler 5

Dieser Beitrag wurde von Der_Deutsche am 28.05.2017 um 11:27 editiert.

Zedeg
#2
27.05.2017 11:23
Beiträge: 428

Du hast die Frage schon einmal gestellt. Was ist der Sinn des Threads? Außerdem kann man das Skript nicht lesen.

____________________
Journalisten erkundigen sich bei Wissenschaftlern meist nicht nach Grundlagen, sondern eher nach Ergebnissen und Folgerungen. Das erklärt womöglich auch, warum sich Forschungsberichte in den Medien so häufig als feststehende Erkenntnisse lesen, nicht aber als Ideen, Entdeckungen oder Indizien, um die es sich genau genommen in den meisten Fällen handelt. -Axel Bojowski

Peter-FS
#4
29.05.2017 16:47
Beiträge: 1086

Fehlersuche will gelernt sein

was für einen Editor benutzt du? Notepad++ ?
Wenn nicht, versuche es mal damit. Dort sieht man gleich alle Funktionen.

Solche Fehler solltest du selbst finden können!
- GetQuestId() ist doppelt vorhanden

Prüfen ob alle Positionen auf der Map vorhanden sind!
Du hast ein Briefing geändert, dort sucht man natürlich zuerst.
- posBabarenLager, posSpeere
- Du startest dort einen neuen SimpleJob!

Was bezweckst du damit? BMNPCEND() gibt es nicht und wird jede Sekunde aufgerufen!

function IsDeadBabaren()
if IsDead("EnemyHQ") then
return true
end
BMNPCEND()
end


Erst die Funktion erstellen, dann verwenden! Oder noch auskommentieren, bis du sie erstellt hast, dann ensteht kein Fehler!!!!

____________________
Man muss nicht alles wissen, man muss nur wissen wo es steht!

Zedeg
#5
29.05.2017 17:35
Beiträge: 428

Es wäre auch gut, die Erklärungen in bereits vorhandenen Threads zu lesen. Zudem könnte eventuell der Zeitpunkt der Fehlernachricht vielleicht von einem möglichen Nutzen sein.

____________________
Journalisten erkundigen sich bei Wissenschaftlern meist nicht nach Grundlagen, sondern eher nach Ergebnissen und Folgerungen. Das erklärt womöglich auch, warum sich Forschungsberichte in den Medien so häufig als feststehende Erkenntnisse lesen, nicht aber als Ideen, Entdeckungen oder Indizien, um die es sich genau genommen in den meisten Fällen handelt. -Axel Bojowski

Peter-FS
#6
30.05.2017 11:53
Beiträge: 1086

briefing.finished

den Zeitpunkt hat er im ersten Thread angegeben.
Nämlich am Ende des Briefings mit dem BM.

@Der Deutsche
daraus kann man aber schon mal folgern, dass der Fehler im briefing.finished zu finden ist. Also alles verdächtige dort deaktivieren und prüfen ob der Fehler beseitigt ist.

____________________
Man muss nicht alles wissen, man muss nur wissen wo es steht!

Peter-FS
#7
30.05.2017 15:06
Beiträge: 1086

Entities

Falsche Entities mag das System gar nicht!!!!
- Entities.CU_Babarian_LeaderClub1 = falsch
- Entities.CU_Barbarian_LeaderClub1 = richtig

Wenn du die Funktion BabarenArmy() erneut aufrufst um Truppen zu erstellen, werden auch die beiden SimpleJobs erneut gestartet!
Mach eine Abfrage rein, ob der Job schon läuft.

if JobIsRunning(Job1_Id) == 0 then
    Job1_Id = StartSimpleJob("ControlArmyOne")
end


Job BabarenIsDead() kann auch wieder beendet werden, wenn das Hq zerstört ist, richtig?

____________________
Man muss nicht alles wissen, man muss nur wissen wo es steht!

Dieser Beitrag wurde von Peter-FS am 30.05.2017 um 15:14 editiert.

Zedeg
#8
30.05.2017 15:45
Beiträge: 428

Zitat von Peter-FS:
den Zeitpunkt hat er im ersten Thread angegeben

Und deshalbt sollte man nicht splitten. >.>

    [...]
    briefing.finished = function()
        [...]
        StartSimpleJob("IsDeadBabaren")	
    end
end

function IsDeadBabaren()
    if IsDead("EnemyHQ") then
        return true
    end
    BMNPCEND()
end

Nicht nur existiert BMNPCEND nicht, die Abfrage würde im derzeitigen Zustand bis zur Zerstörung jede Sekunde diese Funktion aufrufen. So meintest du es wahrscheinlich:

function IsDeadBabaren()
    if IsDead("EnemyHQ") then
        BMNPCEND()
        return true
    end
end



Edit: Hier stand Müll.
Edit2: Du verwendest DefeatJob und VictoryJob. Hast du auch die entsprechenden Skriptnamen auf der Karte vergeben (HQKI2 vs. EnemyHQ)?

____________________
Journalisten erkundigen sich bei Wissenschaftlern meist nicht nach Grundlagen, sondern eher nach Ergebnissen und Folgerungen. Das erklärt womöglich auch, warum sich Forschungsberichte in den Medien so häufig als feststehende Erkenntnisse lesen, nicht aber als Ideen, Entdeckungen oder Indizien, um die es sich genau genommen in den meisten Fällen handelt. -Axel Bojowski

Dieser Beitrag wurde von Zedeg am 30.05.2017 um 15:52 editiert.

Peter-FS
#10
31.05.2017 14:49
Beiträge: 1086

Rückmeldung

Und? Fehler gefunden und beseitigt?
Rückmeldung wäre nett!

____________________
Man muss nicht alles wissen, man muss nur wissen wo es steht!

Der_Deutsche
#11
31.05.2017 17:04
Beiträge: 349

Zitat von Peter-FS:
Falsche Entities mag das System gar nicht!!!!
- Entities.CU_Babarian_LeaderClub1 = falsch
- Entities.CU_Barbarian_LeaderClub1 = richtig

Wenn du die Funktion BabarenArmy() erneut aufrufst um Truppen zu erstellen, werden auch die beiden SimpleJobs erneut gestartet!
Mach eine Abfrage rein, ob der Job schon läuft.

if JobIsRunning(Job1_Id) == 0 then
    Job1_Id = StartSimpleJob("ControlArmyOne")
end


Job BabarenIsDead() kann auch wieder beendet werden, wenn das Hq zerstört ist, richtig?



Allerdings,
doch ich bin gerade
nicht so schlau, wo ich es
einsetzen soll. In der Controlarmy?

MFG

PS:
Bin noch am Rumprobieren,
danke für die Tipps

____________________
Nachbau von Siedler 5 Lobbys "Ubi.Com"

Updatelösungen Siedler 5 Patch 1.06

Creators Update Lösung Windows 10 Siedler 5

Der_Deutsche
#12
31.05.2017 17:08
Beiträge: 349
Der_Deutsche
#13
31.05.2017 17:35
Beiträge: 349

ohh Gott!

Wenn die Army gespawnt wird

100000834275234x

Wie fixen?
(Irgedwas SimpleJob)

____________________
Nachbau von Siedler 5 Lobbys "Ubi.Com"

Updatelösungen Siedler 5 Patch 1.06

Creators Update Lösung Windows 10 Siedler 5

Peter-FS
#14
31.05.2017 18:18
Beiträge: 1086

Genau lesen und versuchen zu verstehen!
Programmieren heißt logisch vorgehen.

Ich habe geschrieben, dass der simpleJob immer wieder neu gestartet wird, wenn du die Armee neu erstellst. D.h. es laufen dann immer mehr Jobs, bis dahin verstanden?
Um das zu verhindern, abfragen ob der job schon läuft, so wie ich es gepostet habe, dann startet er nur beim ersten Aufruf. Gilt natürlich für beide Jobs.

Ein Problem nach dem anderen lösen.

____________________
Man muss nicht alles wissen, man muss nur wissen wo es steht!

Der_Deutsche
#15
31.05.2017 18:29
Beiträge: 349

if JobIsRunning(Job1_Id) == 0 then
    Job1_Id = StartSimpleJob("ControlArmyOne")
end



Wo muss DAS denn hin?

____________________
Nachbau von Siedler 5 Lobbys "Ubi.Com"

Updatelösungen Siedler 5 Patch 1.06

Creators Update Lösung Windows 10 Siedler 5

Peter-FS
#16
31.05.2017 20:37
Beiträge: 1086

Zitat von Der_Deutsche:
Wo muss DAS denn hin?



Ist jetzt nicht dein ernst? Sprechen ich chinesisch?

____________________
Man muss nicht alles wissen, man muss nur wissen wo es steht!

Peter-FS
#17
31.05.2017 20:38
Beiträge: 1086

Zitat von Der_Deutsche:
Wo muss DAS denn hin?



Ist jetzt nicht dein ernst? Sprechen ich chinesisch?

____________________
Man muss nicht alles wissen, man muss nur wissen wo es steht!

Peter-FS
#19
01.06.2017 16:10
Beiträge: 1086

einfach den SimpleJob durch die drei Zeilen ersetzen! Fertig
Das Gleiche aber auch für den zweiten SimpleJob.

____________________
Man muss nicht alles wissen, man muss nur wissen wo es steht!

Der_Deutsche
#20
01.06.2017 16:56
Beiträge: 349

Hää?
Das ergibt doch keinen
Sinn, wenn ich beide Simple
Jobs durch die 3 Zeilen ersetze...
dann geht ja garnischt mehr bei der
Army

____________________
Nachbau von Siedler 5 Lobbys "Ubi.Com"

Updatelösungen Siedler 5 Patch 1.06

Creators Update Lösung Windows 10 Siedler 5

Peter-FS
#21
01.06.2017 18:20
Beiträge: 1086

StartSimpleJob("ControlArmyOne")


durch die drei Zeilen ersetzen.
Verstehst du den Sinn nicht, dann sag es.

____________________
Man muss nicht alles wissen, man muss nur wissen wo es steht!

Der_Deutsche
#22
01.06.2017 19:00
Beiträge: 349

Doch ich verstehe ihn, jetzt hab ichs
auch kapiert, aber was ist mit dem
12487564548336x Spawn von Babaren?

____________________
Nachbau von Siedler 5 Lobbys "Ubi.Com"

Updatelösungen Siedler 5 Patch 1.06

Creators Update Lösung Windows 10 Siedler 5

Peter-FS
#23
02.06.2017 09:25
Beiträge: 1086

Groß- Kleinschreibung

armyone ist immer tot, da es sie nicht gibt (armyOne)! Groß- Kleinschreibung beachten!!!!!!!!!
Die eingefügten Zeilen beenden den Job, wenn das Hq zerstört und die Armee tot ist.

function BabarenIsDead()
    if not IsDead("EnemyHQ") and IsDead(armyone) then
        BabarenArmy()
    --elseif IsDead("EnemyHQ") and IsDead(armyOne) then
    --    return true
    end
end



____________________
Man muss nicht alles wissen, man muss nur wissen wo es steht!

Peter-FS
#24
02.06.2017 09:32
Beiträge: 1086

Quizfrage: Was fehlt?????

Falls es irgend wann mal die Funktion BMNPCEND() gibt, wird sie jede Sekunde gestartet, sobald das EnemyHQ zerstört wurde!

Quizfrage: SimpleJob, was fehlt?????

function IsDeadBabaren()
  if IsDead("EnemyHQ") then
    BMNPCEND()
  end
end



____________________
Man muss nicht alles wissen, man muss nur wissen wo es steht!

Zedeg
#25
02.06.2017 12:43
Beiträge: 428

Zitat von Peter-FS:
Quizfrage: SimpleJob, was fehlt?????

@Der_Deutsche:
Hinweis 1: Die korrekte Lösung wurde bereits vor drei Tagen gepostet.
Hinweis 2: Posts von wegen

Zitat von Der_Deutsche:
ohh Gott!

Wenn die Army gespawnt wird

100000834275234x

Wie fixen?
(Irgedwas SimpleJob)

sagen mir persönlich gar nichts.

@Peter-FS:
Ich bewundere deine Geduld (auch wenn's jetzt wohl selbst für dich schwer wird ).

____________________
Journalisten erkundigen sich bei Wissenschaftlern meist nicht nach Grundlagen, sondern eher nach Ergebnissen und Folgerungen. Das erklärt womöglich auch, warum sich Forschungsberichte in den Medien so häufig als feststehende Erkenntnisse lesen, nicht aber als Ideen, Entdeckungen oder Indizien, um die es sich genau genommen in den meisten Fällen handelt. -Axel Bojowski

Seiten: 1 2 Nächste Seite

SiteEngine v1.5.0 by nevermind, ©2005-2007
Design by SpiderFive (www.siedler-games.de) - English translation by juja

Impressum