Counter
» Siedler Map Source Forum » Siedler DEdK Script Forum » Counter
Seiten: 1
LolBroX
|
#1 06.10.2015 17:00 Beiträge: 49 |
Counter
Hallo,
ich habe probleme mit den Countern, die man nicht sieht. Ich hab folgendes eingefügt:
EP = 0 StartSimpleJob("GiveEP") StartSimpleJob("Heimatlieferung") function GiveEP() EP = EP + 1 end function Heimatlieferung() end
Mein Problem ist, dass ich nicht weiß, wie man machen kann, dass wenn mindestens EP = 750 ist, dass dann eine Message kommt:
Message("Ihr koennt euch bei eurem Hafen eine Heimatstadtlieferung bestellen!")
Kann mir da jemand helfen?
____________________
#nobody #cares #about #your #hashtags
Zedeg
|
#2 06.10.2015 17:03 Beiträge: 428 |
Variante 1 mit Variablen:
EP = 0 StartSimpleJob("GiveEP") --StartSimpleJob("Heimatlieferung") --unnötig function GiveEP() EP = EP + 1 if EP == 750 then Heimatlieferung() return true end end function Heimatlieferung() Message("Ihr koennt euch bei eurem Hafen eine Heimatstadtlieferung bestellen!") end
Variante 2 mit Counter:
--EP = 0 --StartSimpleJob("GiveEP") StartSimpleJob("Heimatlieferung") function GiveEP() end function Heimatlieferung() if Counter.Tick2("EP", 750) then Message("Ihr koennt euch bei eurem Hafen eine Heimatstadtlieferung bestellen!") return true end end
____________________
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
LolBroX
|
#3 06.10.2015 17:06 Beiträge: 49 |
Danke Zedeg, aber das Problem ist, dass man durch das Bauen & Zerstören von Gebäuden auch EP bekommt. So kann man auch EP = 766 haben. Deswegen habe ich da Probleme.
____________________
#nobody #cares #about #your #hashtags
Zedeg
|
#4 06.10.2015 17:18 Beiträge: 428 |
Kein Problem. Dann nehmen wir eben Variante 1 :
EP = 0 StartSimpleJob("GiveEP") function GiveEP() EP = EP + 1 if EP >= 750 then -- größer-gleich Heimatlieferung() return true end end function Heimatlieferung() Message("Ihr koennt euch bei eurem Hafen eine Heimatstadtlieferung bestellen!") end
____________________
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
LolBroX
|
#5 08.10.2015 19:36 Beiträge: 49 |
Danke Zedeg, aber wenn man dann EP = 1500 hat, dann sagt es ja nicht, dass eine zweite Heimatlieferung erlaubt ist. Und wenn man sich alle Lieferungen aufhebt, dann ist es auch ziemlich aufwendig über 20 SimpleJobs mit immer die vorherige Zahl +750 zu erstellen. Würde es dann auch gehen mit:
EP = 0 Lieferung = 0 StartSimpleJob("GiveEP") StartSimpleJob("Liefern") function GiveEP() EP = EP + 1 if EP >= 750 then -- größer-gleich Lieferung = Lieferung + 1 EP = EP - 750 end end function Liefern() if Lieferung == 1 then -- größer-gleich Heimatlieferung() return true end end function Heimatlieferung() Message("Ihr koennt euch bei eurem Hafen eine Heimatstadtlieferung bestellen!") end
Ich benutze das Auftrags Menü nicht, also könnte ich machen, dass da die Lieferungs & EP Anzahl angezeigt wird.
____________________
#nobody #cares #about #your #hashtags
Zedeg
|
#6 08.10.2015 20:02 Beiträge: 428 |
Zitat von LolBroX:
Würde es dann auch gehen mit:
Nein. Der Job Liefern (eh unnötig) wird beendet, sobald Lieferung = 1 ist. Da ich nicht weiß, wie deine Heimatstadtlieferung aufgebaut ist, kann ich nicht viel genaues dazu sagen. Ich nehme jetzt einfach einmal an, dass es eine Aktion ist, die vom Spieler extra aufgerufen werden muss. Dann wäre der Ansatz mit der zweiten Variable richtig.
Zitat von LolBroX:
Ich benutze das Auftrags Menü nicht, also könnte ich machen, dass da die Lieferungs & EP Anzahl angezeigt wird.
Zeige es doch einfach direkt oben links an.
EP = 0 Lieferung = 0 StartSimpleJob("GiveEP") function GiveEP() EP = EP+1 XGUIEng.SetText("TopMainMenuTextButton", Umlaute("Menü @cr @cr @cr EP: @cr Lieferungen:")) XGUIEng.SetText("TopDiplomacyMenuTextButton", Umlaute("Dipl. @cr @cr @cr "..EP+Lieferungen*750.." @cr "..Lieferungen)) if EP >= 750 then Lieferung = Lieferung+1 Heimatlieferung() EP = EP-750 end end function Heimatlieferung() Message("Ihr koennt euch bei eurem Hafen eine Heimatstadtlieferung bestellen!") end
____________________
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 08.10.2015 um 20:07 editiert.
LolBroX
|
#7 09.10.2015 15:22 Beiträge: 49 |
Bei mir werden die Heimatstadtlieferungen in der Uni geholt (Model & Widgets geändert). Kann man auch die Diplomatie oben rechts anzeigen?
z.B.:
Team 1:
@colorBlue "Playername"
@colorGreen Sueleyman
@colorPurple Friedrich der Grosse
Team 2:
@colorRed Koenigin Elisabeth
@colorLightBlue Iwan der Schreckliche
@colorPink Napoleon
Ich weiß nicht welche Farbe welcher Code ist, also hab ich nur die Farbe angegeben.
____________________
#nobody #cares #about #your #hashtags
mcb
|
#8 09.10.2015 17:40 Beiträge: 1472 |
Generell geht das genauso. Einfach das ganze zu einem string zusammenbauen und über XGUIEng.SetText setzen. (Dabei Umlaute und den Originaltext nicht vergessen)
Beispiel (für die ersten 2 Spieler):
"Team1: @cr @color:"..table.concat({GUI.GetPlayerColor(1)},",").." "..UserTool_GetPlayerName(1).. " @cr @color:"..table.concat({GUI.GetPlayerColor(2)},",").."Sueleyman"
Dabei ergibt table.concat({GUI.GetPlayerColor(1)},"," ) genau den Farbcode für Spieler 1 und UserTool_GetPlayerName(1) lädt den Spielernamen (normalerweise Spieler).
LolBroX
|
#9 11.10.2015 16:35 Beiträge: 49 |
OK, danke!
____________________
#nobody #cares #about #your #hashtags
Seiten: 1