Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 20 von 30
  1. #1
    Holzfäller Avatar von Sascha_S3
    Registriert seit
    27.09.2007
    Ort
    Baden-Württemberg
    Beiträge
    141
    Downloads
    0
    Uploads
    0

    Standard Ein paar Fragen...

    Hi an alle,

    nachdem ich 2 kleine Karten (nicht veröffentlicht) gemacht habe, möchte ich nun eine kleine Kampange erstellen. Dafür müsste ich wissen, ob folgendes möglich ist:

    1. Kann man eine Taste (z.B. 1, 2, Q, W,usw.) einer Aktion zuweisen?
    Hier möchte ich, dass man z.B. neben einem Holzstapel steht und durch Drücken von einer Taste das Holz brennt.

    2. Kann man, um ein Tor zu öffnen, ein Passwort hinterlegen?
    Hier möchte ich, dass man nur mit Eingabe eines Codes das Tor öffnen kann.
    Alle meine S3-Maps: Hier
    Alle meine S4-Maps: Hier

    Mitglied der S3-Mappergilde
    Erfinder und Mapersteller der S3-Kampagne "LOST - Verschollen"

    Gruß
    SASCHA

  2. #2
    Lanzenträger Avatar von trabbi
    Registriert seit
    09.03.2006
    Beiträge
    4,968
    Downloads
    1
    Uploads
    0

    Standard AW: Ein paar Fragen...

    zu 2.
    Texte über Tastatur eingeben - Siedler Portal
    mal damit beschäftigen, wos Dir drum geht, steht weiter unten.
    Ist aber auch schon in Maps gewesen, kann aber nicht sagen, in welcher

    zu 1.
    muss auch machbar sein, denn die Tasten 1,2 + 3 werden ja auch für Speed missbraucht
    dadurch fallen aber andere Steuerungen wieder weg.
    ist also nix für Jedermann
    trabbi
    Was ist Theorie, - Wenns klappen soll und es klappt nie
    Was ist Praxis, - Frag nicht so dumm, wenns klappt und Du weißt nicht warum

  3. #3
    Holzfäller Avatar von Sascha_S3
    Registriert seit
    27.09.2007
    Ort
    Baden-Württemberg
    Beiträge
    141
    Downloads
    0
    Uploads
    0

    Standard AW: Ein paar Fragen...

    Zitat Zitat von trabbi Beitrag anzeigen
    zu 1.
    muss auch machbar sein, denn die Tasten 1,2 + 3 werden ja auch für Speed missbraucht
    dadurch fallen aber andere Steuerungen wieder weg.
    ist also nix für Jedermann
    Ich habe jetzt schon ein bisschen probiert, aber bis jetzt habe ich keinen funktionstüchtigen Script-Code für die Geschwindigkeitsänderung durch Drücken von Taste "1" hinbekommen. Kann man mir da vielleicht weiterhelfen?
    Alle meine S3-Maps: Hier
    Alle meine S4-Maps: Hier

    Mitglied der S3-Mappergilde
    Erfinder und Mapersteller der S3-Kampagne "LOST - Verschollen"

    Gruß
    SASCHA

  4. #4
    Lanzenträger Avatar von trabbi
    Registriert seit
    09.03.2006
    Beiträge
    4,968
    Downloads
    1
    Uploads
    0

    Standard AW: Ein paar Fragen...

    Code:
    --++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    -- This function is called on game start after all initialization is done
    function FirstMapAction()
    ---- Tools fürs Scripten ----
    ----------------------------------------------------------------------------------------------------
    Tools.ExploreArea( 1, -1, 900 )
    -- Display.SetRenderInvisibleObjects(1) --alle Scriptentity sichtbar
    -- Entities.XD_ScriptEntity=Entities.XD_CoordinateEntity --alle Scriptentitys die per Script gesetzt werden als CoordinateEntity sichtbar 
    -- Interface_ToggleDebugWindow1() 
    -- StartJob("Modifier") -- x und  y  pos sichbar im Spiel
    -- CheatTechnologies(1)
    -- for k, v in pairs(Technologies) do 
    -- ResearchTechnology(v)end
    -- SpeedUpGame()
    ---------------------------------------------------------------------------------------------
    function GroupSelection_SelectTroops ( _count )
        mySpeed = mySpeed or 0
        if _count == 1 then
        if mySpeed < 200 then
        Game.GameTimeSpeedUp()
        mySpeed = mySpeed + 1
        Message(mySpeed)
    end
        elseif _count == 2 then
        if mySpeed > -16 then
        Game.GameTimeSlowDown()
        mySpeed = mySpeed - 1
        Message(mySpeed)
    end
        elseif _count == 10 then --- muss nicht sein, wenn unten das eingebaut wird (Pausetaste)
        Game.GameTimeReset()
        mySpeed = 0
    end
    end
    
    end
    -----++++++++FMA ENDE+++++--------
    das sind ein paar Sachen, dies Testen erleichtern.
    hab meine Aufrufe vorm letzten end entfernt

    was da jetzt nicht Auskommentiert ist,
    ist die Speed-Funktion !
    trabbi
    Was ist Theorie, - Wenns klappen soll und es klappt nie
    Was ist Praxis, - Frag nicht so dumm, wenns klappt und Du weißt nicht warum

  5. #5
    Holzfäller Avatar von Sascha_S3
    Registriert seit
    27.09.2007
    Ort
    Baden-Württemberg
    Beiträge
    141
    Downloads
    0
    Uploads
    0

    Standard AW: Ein paar Fragen...

    Vielen Dank. Werde es gleich mal versuchen.
    Alle meine S3-Maps: Hier
    Alle meine S4-Maps: Hier

    Mitglied der S3-Mappergilde
    Erfinder und Mapersteller der S3-Kampagne "LOST - Verschollen"

    Gruß
    SASCHA

  6. #6
    Lanzenträger Avatar von trabbi
    Registriert seit
    09.03.2006
    Beiträge
    4,968
    Downloads
    1
    Uploads
    0

    Standard AW: Ein paar Fragen...

    Kannst aber hier noch nachschauen.
    Das alte Forum wird noch erhalten,
    damit eben auch noch mal nachgesehen werden kann
    Siedler Portal

    und hier ist das Wiki.
    leider nicht mehr alles lesbar.
    http://www.siedler-games.de/siedler5scriptwiki/dokuwiki/doku.php/tutorials:index#s5-dedk
    musste Dich mal durchkämpfen.
    vieles über die Suchfunktion einfach abfragen.
    hat leider kein geordnetes System.
    Geändert von trabbi (18.07.2010 um 22:55 Uhr)
    trabbi
    Was ist Theorie, - Wenns klappen soll und es klappt nie
    Was ist Praxis, - Frag nicht so dumm, wenns klappt und Du weißt nicht warum

  7. #7
    Sägewerker Avatar von Flodder
    Registriert seit
    12.07.2006
    Ort
    Wilstedt (Niedersachsen)
    Beiträge
    180
    Downloads
    0
    Uploads
    0

    Standard AW: Ein paar Fragen...

    Zitat Zitat von Sascha_S3 Beitrag anzeigen
    1. Kann man eine Taste (z.B. 1, 2, Q, W,usw.) einer Aktion zuweisen?
    Hier möchte ich, dass man z.B. neben einem Holzstapel steht und durch Drücken von einer Taste das Holz brennt.
    Hi Sascha,
    falls das Problem noch aktuell:
    Ja kann man! Trabbi hat es schon angedeutet. Hier nun die lauffähige und getestete Lösung:

    Aufgabe:
    Wenn eine Entity (...hier als Beispiel ein Hero mit dem Namen "hero") einen Radius von 800 Scm zu einem Holzhaufen mit dem Namen "Holzhaufen" erreicht hat, dann soll was ausgelost werden. Das geht primstens über einen callback.

    Aufruf (...irgenwo, wann es passieren soll):
    Code:
    HeroBeiHolzhaufen()
    Die Funktion:
    Code:
    function HeroBeiHolzhaufen()
    	HeroHH = {
    	EntityName = "hero",
    	TargetName = "Holzhaufen",
    	Distance = 800,
    	Callback = function()
    	Message("Entzuende das Signalfeuer mit der Zifferntaste eins "..
    		"@cr Mit Zifferntaste zwei Signalfeuer wieder loeschen")
    	end	
    	}
    	function GroupSelection_SelectTroops ( _count )
    		if _count == 1 then
    		ReplaceEntity("Holzhaufen",Entities.XD_SingnalFireOn)
    		elseif _count == 2 then 
    		ReplaceEntity("Holzhaufen",Entities.XD_SingnalFireOff)
    		end
    		StartSimpleJob("SignalBeenden")
    	end
    	SetupExpedition(HeroHH)
    end
    function SignalBeenden()
              if not IsNear("hero", "Holzhaufen", 800) then 
              function GroupSelection_SelectTroops ( _count ) end
              return true
         end
    end
    Erklärung:
    Erreicht "hero" das Ziel "Holzhaufen" auf 800 Scm wird ausgelöst, was im Callback steht. Zunächst also die Message. Nun kann der Spieler über die Zifferntaste 1 das Siegnalfeuer anzünden und bei Bedarf über Zifferntaste 2 wieder löschen. Das so oft und so lange, er sich in dem Radius befindet.
    Der SimpleJob wiederum sorgt dafür, dass diese Funktion endgültig beendet wird, wenn "hero" den Radius verlässt. Der zuletzt gewählte Zusstand des Signalfeuers bleibt dann bestehen.
    Zitat Zitat von Sascha_S3 Beitrag anzeigen
    2. Kann man, um ein Tor zu öffnen, ein Passwort hinterlegen?
    Hier möchte ich, dass man nur mit Eingabe eines Codes das Tor öffnen kann.
    Ja! Keine Frage, aber dazu morgen. Ist schon spät. Ich hoffe die obige Funktion war hilfreich für Dein Problem.

    Für Heute jedenfalls:
    Gute Nacht die Damen und Herren!
    Geändert von Flodder (22.07.2010 um 23:30 Uhr)
    Sinnlos ist ein Leben ohne Sinn für nnisnU!

  8. #8
    Lanzenträger Avatar von trabbi
    Registriert seit
    09.03.2006
    Beiträge
    4,968
    Downloads
    1
    Uploads
    0

    Standard AW: Ein paar Fragen...

    Schön, schön, Flodder is widder do
    lang nix von Dir gelesen
    trabbi
    Was ist Theorie, - Wenns klappen soll und es klappt nie
    Was ist Praxis, - Frag nicht so dumm, wenns klappt und Du weißt nicht warum

  9. #9
    Sägewerker Avatar von Flodder
    Registriert seit
    12.07.2006
    Ort
    Wilstedt (Niedersachsen)
    Beiträge
    180
    Downloads
    0
    Uploads
    0

    Standard AW: Ein paar Fragen...

    Zitat Zitat von trabbi Beitrag anzeigen
    Schön, schön, Flodder is widder do
    lang nix von Dir gelesen
    Jau jau Trabbi, mein Freund.

    "Flodder" (...das garantiert schon der Name) ist einfach nicht tot zu kriegen.
    Da zwischenzeitlich auf der Base mal wieder der Teufel los war, nun allerdings wieder Ruhe eingekehrt zu sein scheint, hab ich mir gedacht:

    Flodder schau doch mal, wie es Trabbi geht. Und siehe da, ihm scheint es blendend zu gehen. Das freut mich!
    Sinnlos ist ein Leben ohne Sinn für nnisnU!

  10. #10
    Sägewerker Avatar von Flodder
    Registriert seit
    12.07.2006
    Ort
    Wilstedt (Niedersachsen)
    Beiträge
    180
    Downloads
    0
    Uploads
    0

    Standard AW: Ein paar Fragen...

    Zitat Zitat von Sascha_S3 Beitrag anzeigen
    2. Kann man, um ein Tor zu öffnen, ein Passwort hinterlegen?
    Hier möchte ich, dass man nur mit Eingabe eines Codes das Tor öffnen kann.
    moin sascha,
    wie versprochen, nun zur zweiten Aufgabe und deren Lösung:

    1.) Dem Spieler ein Rätsel vorlegen. Kann ein Worträtsel, ein Zahlenrätsel, oder sonstwas sein. Die richtige Lösung wird vom Mapersteller vorgegeben und sollte der Logic des Rätsels folgen.

    Als Beispiel eine Reihenaddition deren Ergebnis die Zahl 55 ist:
    Dem Torwärter sind nur sieben Zahlen dieser Additionskette bekannt und die achte wird gesucht:

    Erste Zahl 2 Zweite Zahl 3 Dritte Zahl 5 Vierte Zahl 8 Fünfte Zahl 13 Sechste Zahl 21 Siebte Zahl 34 Achte Zahl ??"

    "Wie lautet die achte Zahl?" ...wäre dann die Zahl, die der Spieler in die Abfragezeile eingeben muss. Denkt man die Aufgabe logisch durch, dann ist die Addition der jeweiligen zwei Vorzahlen immer das Ergebnis der nächsten Zahl:

    2+3=5 / 3+5=8 / 5+8=13 / 8+13=21 / 13+21=34 / 21+34= 55

    Nun also zur Frage, wie löst man das funktionstechnisch.
    Zunächst muss dafür gesorgt werden, dass der Spieler bei Falscheingabe weitere Versuche hat, bis letztendlich die richtige Lösung gefunden wurde.

    Das geht sehr gut über zwei Distanzen und einem sog. "Doppelcallback"
    Aufruf:
    Code:
    ZahlenSchlossCall_1()
    Die Funktion dieses Doppelcallbacks:
    Code:
    function ZahlenSchlossCall_1()
    	ZahlenSchlossCall = {
    	EntityName = "erec",
    	TargetName = "zoellner",
    	Distance = 800,
    	Distance2 = 1500,
    	Callback =  ZahlenKombi,
    	Callback2 = function()
    	ZahlenSchlossCall_1()
    	end 
     }
     SetupRoExpedition(ZahlenSchlossCall)
     end
    Hinweis:
    Für obige Funktion werden die Comfort-Funktionen:
    Code:
    function SetupRoExpedition(_table)
         myExpedition = myExpedition or {}
         table.insert(myExpedition,_table)
         if not gvRoExpedition then
         gvRoExpedition = StartSimpleJob("UeberwacheRoExpedition")
         end
    end
         
    function UeberwacheRoExpedition()
         for i = table.getn(myExpedition) ,1, -1 do
         if IsNear(myExpedition[i].EntityName,myExpedition[i].TargetName,   
         myExpedition[i].Distance) and not myExpedition[i].fertig then
         if myExpedition[i].Callback() then table.remove(myExpedition,i) return end
         if not myExpedition[i].Distance2 then
         table.remove(myExpedition,i)
         else
         myExpedition[i].fertig =true
         end
         end
         if myExpedition[i].Distance2 and myExpedition[i].fertig then
         if not IsNear(myExpedition[i].EntityName,myExpedition[i].TargetName,       
         myExpedition[i].Distance2) then
         local func = myExpedition[i].Callback2
         table.remove(myExpedition,i)
         func()
         end
         end
         end
         if table.getn(myExpedition) == 0 then
         gvRoExpedition = nil
         return true
         end
    end
    ... benötigt!

    Nun aber zur Eingabe-Funktion:
    Code:
    function ZahlenKombi()
             if geschafft then return true end
             XGUIEng.ShowWidget( XGUIEng.GetWidgetID( "ChatInput" ), 1 )
             GameCallback_GUI_ChatStringInputDone = function (_M)
             if string.upper(_M) == "55" then
             Camera.FollowEntity(GetEntityId("zoellner"))
             local briefing = {}
             BRIEFING_ZOOMDISTANCE = 2500
             BRIEFING_ZOOMANGLE = 35
             local AP, ASP = AddPages(briefing)
             ASP("zoellner","Zoellner","Ja genau! Das ist die richtige Zahl.")
             briefing.finished = function()
             geschafft = true
             function ZahlenSchlossCall_1() end
             -- Folgefunktion. Also hier Tor gegen ein offenes Tor replacen.
             end
             StartBriefing(briefing);
             else
             Camera.FollowEntity(GetEntityId("zoellner"))
             local briefing = {}
             BRIEFING_ZOOMDISTANCE = 2500
             BRIEFING_ZOOMANGLE = 35
             local AP, ASP = AddPages(briefing)
             ASP("zoellner","Zoellner"," Nein, das war nicht die richtige Zahl. "..
             "Geht ein Stück zurück, komm wieder und versucht es noch mal.")
             briefing.finished = function()
             end
             StartBriefing(briefing);
             end
         end
    end
    Kurze Erklärung:
    Erreicht "erec" die Entity "zoellner" auf der ersten Ditanz von 800, wird die Eingabezeile aufgerufen. Bei richtiger Lösung wird das "Doppelcallback" beendet und die Folgefunktion eingeleitet.

    Wird eine Falsche Lösung eingegeben, wird die zweite Distanz von 1500 abgefragt und bei Erreichen, die function ZahlenSchlossCall_1() erneut eingeleitet.

    Hinweis:
    Für die obige Briefing-Form werden die Comfort-Funktionen:
    Code:
    function AddPages( _briefing )
    und
    Code:
    function CreateShortPage( _entity, _title, _text, _dialog, _explore)
    ...mit allem was dazugehört benötigt!
    Ich hoffe, das alles hilft Dir bei Deiner Frage weiter.
    Sinnlos ist ein Leben ohne Sinn für nnisnU!

  11. #11
    Holzfäller Avatar von Sascha_S3
    Registriert seit
    27.09.2007
    Ort
    Baden-Württemberg
    Beiträge
    141
    Downloads
    0
    Uploads
    0

    Standard AW: Ein paar Fragen...

    Danke für deine ausführliche Hilfe, Flodder.

    Nun. Da Wochenende ist, kann ich gleich mal wieder mit dem Mappen beginnen...

    Bei weiteren Fragen/Problemen werde ich mich wieder melden.
    Alle meine S3-Maps: Hier
    Alle meine S4-Maps: Hier

    Mitglied der S3-Mappergilde
    Erfinder und Mapersteller der S3-Kampagne "LOST - Verschollen"

    Gruß
    SASCHA

  12. #12
    Holzfäller Avatar von Sascha_S3
    Registriert seit
    27.09.2007
    Ort
    Baden-Württemberg
    Beiträge
    141
    Downloads
    0
    Uploads
    0

    Standard AW: Ein paar Fragen...

    So sieht das jetzt bei mir aus:

    Code:
    function HeroBeiHolzhaufen()
        HeroHH = {
        EntityName = "Erec",
        TargetName = "Feuer1",
        Distance = 300,
        Callback = function()
        Message("Entzuende das Signalfeuer mit der Zifferntaste eins")
        end    
        }
    
    function GroupSelection_SelectTroops ( _count )
            if _count == 1 then
            ReplaceEntity("Feuer1",Entities.XD_SingnalFireOn)
            end
            StartSimpleJob("SignalBeenden")
        StartSimpleJob("DoorAuf")
        
        end
        SetupExpedition(HeroHH)
    end
    
    function SignalBeenden()
              if not IsNear("Erec", "Feuer1", 300) then 
              function GroupSelection_SelectTroops ( _count ) end
              return true
         end
    end
    
    
    function HeroBeiHolzhaufen2()
        HeroHH = {
        EntityName = "Erec",
        TargetName = "Feuer2",
        Distance = 300,
        Callback = function()
        Message("Entzuende das Signalfeuer mit der Zifferntaste eins")
        end    
        }
        
    function GroupSelection_SelectTroops ( _count )
            if _count == 1 then
            ReplaceEntity("Feuer2",Entities.XD_SingnalFireOn)
            end
            StartSimpleJob("SignalBeenden2")
        StartSimpleJob("DoorAuf")
        end
        SetupExpedition(HeroHH)
    end
    Ich habe nun 2 Holzstapel, welche entfacht werden müssen. Sind beide an, öffnet sich eine Tür.
    Problem: Es lässt sich nur ein Stapel entfachen, da die GroupSelection_SelectTroops - Funktion schon vorhanden ist.
    Was muss ich an der Funktion ändern, das man sie 2mal an 2 Zielen benutzen kann?
    Alle meine S3-Maps: Hier
    Alle meine S4-Maps: Hier

    Mitglied der S3-Mappergilde
    Erfinder und Mapersteller der S3-Kampagne "LOST - Verschollen"

    Gruß
    SASCHA

  13. #13
    Holzfäller Avatar von Noigi
    Registriert seit
    31.12.2007
    Beiträge
    121
    Downloads
    0
    Uploads
    0

    Standard AW: Ein paar Fragen...

    Eleganter ist es, das Überschreiben von internen Funktionen (hier "GroupSelection_SelectTroops") separat vom Definieren der neuen Funktion zu realisieren.
    Wenn man sich für den Hack einen schönen "Wrapper" schreibt, kann man den immer so lassen und muss nur die darin aufgerufene Funktion anpassen, die Geschichte ist dann beliebig aufwärtskompatibel.

    z.B. so:
    Code:
    -- Wrapper
    GroupSelection_SelectTroops_Orig = GroupSelection_SelectTroops;
    GroupSelection_SelectTroops = function(_count)
        local continue = GroupSelection_SelectTroops_EIGENE_FUNKTION(_count);
        if continue then -- kleiner Bonus: Wenn true zurückkommt, wird die Originalfunktion ausgeführt
            GroupSelection_SelectTroops_Orig(_count);
        end
    end
    
    
    function HeroBeiHolzhaufen()
        HeroHH = {
            EntityName = "Erec",
            TargetName = "Feuer1",
            Distance = 300,
            Callback = function()
                Message("Entzuende das Signalfeuer mit der Zifferntaste eins")
            end
        }
    
        GroupSelection_SelectTroops_EIGENE_FUNKTION = function( _count )
            if _count == 1 then
                ReplaceEntity("Feuer1",Entities.XD_SingnalFireOn)
            end
            StartSimpleJob("SignalBeenden")
            StartSimpleJob("DoorAuf")
            
            return false; -- Original-Tastenfunktion nicht ausführen
        end
        
        SetupExpedition(HeroHH)
    end
    
    function SignalBeenden()
        if not IsNear("Erec", "Feuer1", 300) then 
            GroupSelection_SelectTroops_EIGENE_FUNKTION = function() end;
            return true;
        end
    end
    
    function HeroBeiHolzhaufen2()
        HeroHH2 = {
            EntityName = "Erec",
            TargetName = "Feuer2",
            Distance = 300,
            Callback = function()
                Message("Entzuende das Signalfeuer mit der Zifferntaste eins")
            end    
        }
        
        GroupSelection_SelectTroops_EIGENE_FUNKTION = function( _count )
            if _count == 1 then
                ReplaceEntity("Feuer2",Entities.XD_SingnalFireOn)
            end
            StartSimpleJob("SignalBeenden")
            StartSimpleJob("DoorAuf")
            
            return false; -- Original-Tastenfunktion nicht ausführen
        end
        
        SetupExpedition(HeroHH2)
    end

  14. #14
    Holzfäller Avatar von Sascha_S3
    Registriert seit
    27.09.2007
    Ort
    Baden-Württemberg
    Beiträge
    141
    Downloads
    0
    Uploads
    0

    Standard AW: Ein paar Fragen...

    Hmm... funktioniert nicht. Hab jetzt wie oben beschrieben alles eingefügt, doch nun lässt sich weder das 1. noch das 2. Feuer anzünden. Was kann jetzt falsch sein???
    Alle meine S3-Maps: Hier
    Alle meine S4-Maps: Hier

    Mitglied der S3-Mappergilde
    Erfinder und Mapersteller der S3-Kampagne "LOST - Verschollen"

    Gruß
    SASCHA

  15. #15
    Sägewerker Avatar von Flodder
    Registriert seit
    12.07.2006
    Ort
    Wilstedt (Niedersachsen)
    Beiträge
    180
    Downloads
    0
    Uploads
    0

    Standard AW: Ein paar Fragen...

    Zitat Zitat von Sascha_S3 Beitrag anzeigen
    Hmm... funktioniert nicht. Hab jetzt wie oben beschrieben alles eingefügt, doch nun lässt sich weder das 1. noch das 2. Feuer anzünden. Was kann jetzt falsch sein???
    So, wieder da....
    wird gelöst und getestet Sacha. Etwas Geduld bitte.
    Sinnlos ist ein Leben ohne Sinn für nnisnU!

  16. #16
    Sägewerker Avatar von Flodder
    Registriert seit
    12.07.2006
    Ort
    Wilstedt (Niedersachsen)
    Beiträge
    180
    Downloads
    0
    Uploads
    0

    Standard AW: Ein paar Fragen...

    Leider will die Lösung von Noigi bei mir auch nicht funktionieren.
    Da passiert eigentlich gar nichts.

    Immerhin konnte ich eine Lösung finden, die allerdings an die Reihenfolge der zwei Holzhaufen gebunden ist.
    Code:
    Script.Load( Folders.MapTools.."Main.lua" )
    IncludeGlobals("MapEditorTools")
    function InitDiplomacy()
    end
    function InitResources()
    end
    function InitTechnologies()
    end
    function InitWeatherGfxSets()
    	SetupNormalWeatherGfxSet()
    end
    function InitWeather()
    	AddPeriodicSummer(10)
    end
    function InitPlayerColorMapping()
    end
    function FirstMapAction()
    	Message("Entzuende das erste Signalfeuer!")
    	StartSimpleJob("SignalBeenden")
    	HeroBeiHolzhaufen1()
    end
    function HeroBeiHolzhaufen1()
    	HeroHH1 = {
    	EntityName = "hero",
    	TargetName = "Holzhaufen1",
    	Distance = 800,
    	Callback = function()
    	Message("Entzuende dieses Signalfeuer mit der Zifferntaste eins.")
    	end	
    	}
    	function GroupSelection_SelectTroops ( _count )
    		if _count == 1 then
    		ReplaceEntity("Holzhaufen1",Entities.XD_SingnalFireOn)
    		function GroupSelection_SelectTroops ( _count ) end
    		HeroBeiHolzhaufen2()
    		H1 = 1
    		end
    	end
    	SetupExpedition(HeroHH1)
    end
    function HeroBeiHolzhaufen2()
    	HeroHH2 = {
    	EntityName = "hero",
    	TargetName = "Holzhaufen2",
    	Distance = 800,
    	Callback = function()
    	Message("Entzuende dieses Signalfeuer mit der Zifferntaste zwei "..
                "@cr Dann wird sich das Tor oeffnen.")
    	end	
    	}
    	function GroupSelection_SelectTroops ( _count )
    		if _count == 2 then
    		ReplaceEntity("Holzhaufen2",Entities.XD_SingnalFireOn)
    		function GroupSelection_SelectTroops ( _count ) end
    		H2 = 1
    		end
    	end
    	SetupExpedition(HeroHH2)
    end
    
    function SignalBeenden()
    		if H1 == 1 and H2 ==1 then
    		function GroupSelection_SelectTroops ( _count ) end
                           -- geschlossenes Tor gegen offenes replacen
    		return true
    	end
    end
    Wenn man die Holzhaufen korrekt abläuft funktion das auch einwandfrei. Allerdings ist noch eine kleine "Unschönheit" dabei:

    Geht man zuerst zum ersten Haufen und drück man die Ziffer zwei, passiert wie gefordert auch nichts. Drückt man die Ziffer eins, geht das erste Feuer auch vorschriftsmässig an. Gibt man danach (...beim ersten Holzhaufen verbleibend) gleich danach die Ziffer zwei ein, geht auch der zweite Holzhaufen an, ohne das man dessen Radius erreicht hat.

    Andererseits:
    Geht man ZUERST zum zweiten Holzhaufen, kommt -wie gewollt- auch keine Aufforderung den anzuzünden, weil man ja zunächst der ERSTEN Holzhaufen anzünden soll.

    ABER:
    Man kann dann am Holzhaufen zwei eine "Fernzündung" des ersten Holzhaufens per Ziffer eins veranlassen und gleich danach per Ziffer zwei auch den zweiten Holzhaufen zünden.

    Diese "Unschönheiten" kann man mit Sicherheit anders umgehen.
    Ich arbeite dran und melde mich wieder! Vielleicht weiss Noigi zwischenzeitlich schon, waran diese Geschichte hapert?

    Aber zumindest läuft es, wenn man die Reihenfolge GENAU beachtet.
    Andererseit sollte man alle "Fehlversuche" schon im Vorfeld abfangen!
    Geändert von Flodder (23.07.2010 um 22:32 Uhr)
    Sinnlos ist ein Leben ohne Sinn für nnisnU!

  17. #17
    Sägewerker Avatar von Flodder
    Registriert seit
    12.07.2006
    Ort
    Wilstedt (Niedersachsen)
    Beiträge
    180
    Downloads
    0
    Uploads
    0

    Standard AW: Ein paar Fragen...

    Ich stehe kurz vor der Lösung. Muss es nur noch testen.
    Etwas Geduld bitte.
    Sinnlos ist ein Leben ohne Sinn für nnisnU!

  18. #18
    Lanzenträger Avatar von trabbi
    Registriert seit
    09.03.2006
    Beiträge
    4,968
    Downloads
    1
    Uploads
    0

    Standard AW: Ein paar Fragen...

    if is or ???
    trabbi
    Was ist Theorie, - Wenns klappen soll und es klappt nie
    Was ist Praxis, - Frag nicht so dumm, wenns klappt und Du weißt nicht warum

  19. #19
    Holzfäller Avatar von Sascha_S3
    Registriert seit
    27.09.2007
    Ort
    Baden-Württemberg
    Beiträge
    141
    Downloads
    0
    Uploads
    0

    Standard AW: Ein paar Fragen...

    Hab nach vielem Herumprobieren folgendes fertiggebracht:

    Code:
    function HeroBeiHolzhaufen1()
        HeroHH1 = {
        EntityName = "Erec",
        TargetName = "Feuer1",
        Distance = 400,
        Callback = function()
        Message("Entzuende dieses Signalfeuer mit der Zifferntaste eins.")
        end    
        }
        function GroupSelection_SelectTroops ( _count )
            if _count == 1 then
            StartSimpleJob("Feuer1")
    end
    
    function GroupSelection_SelectTroops ( _count ) end
            
        end
        SetupExpedition(HeroHH1)
    end
    
    function Feuer1()
    if IsNear("Erec", "Feuer1", 400) then
    ReplaceEntity("Feuer1",Entities.XD_SingnalFireOn)
    StartSimpleJob("HeroBeiHolzhaufen2")
    H1 = 1
    elseif not IsNear("Erec", "Feuer1", 400) then 
    HeroBeiHolzhaufen1()
    return true
    end
    end
    
    
    function HeroBeiHolzhaufen2()
        HeroHH2 = {
        EntityName = "Erec",
        TargetName = "Feuer2",
        Distance = 400,
        Callback = function()
        Message("Entzuende dieses Signalfeuer mit der Zifferntaste zwei "..
                "@cr Dann wird sich das Tor oeffnen.")
        end    
        }
        function GroupSelection_SelectTroops ( _count )
            if _count == 1 then
            StartSimpleJob("Feuer2")
         
     end
            function GroupSelection_SelectTroops ( _count ) end
            
            end
        
        SetupExpedition(HeroHH2)
    end
    
    
    function Feuer2()
    if IsNear("Erec", "Feuer2", 400) then
    ReplaceEntity("Feuer2",Entities.XD_SingnalFireOn)
    H2 = 1
    elseif not IsNear("Erec", "Feuer2", 400) then 
    HeroBeiHolzhaufen2()
    return true
    end
    end
    
    function SignalBeenden()
            if H1 == 1 and H2 ==1 then
            function GroupSelection_SelectTroops ( _count ) end
          ReplaceEntity ("Door1",Entities.XD_DarkWallStraightGate) 
                     -- geschlossenes Tor gegen offenes replacen
            return true
        end
    end
    Nach dem Drücken der Taste 1 wird ein "Job" aufgerufen, der überprüft, ob Erec(Hero) am Feuer steht, oder nicht. Die Reihenfolge (erst Feuer 1, dann 2) ist hier eingehalten. Ein Anzünden aus der Ferne ist aber unmöglich.
    Alle meine S3-Maps: Hier
    Alle meine S4-Maps: Hier

    Mitglied der S3-Mappergilde
    Erfinder und Mapersteller der S3-Kampagne "LOST - Verschollen"

    Gruß
    SASCHA

  20. #20
    Sägewerker Avatar von Flodder
    Registriert seit
    12.07.2006
    Ort
    Wilstedt (Niedersachsen)
    Beiträge
    180
    Downloads
    0
    Uploads
    0

    Standard AW: Ein paar Fragen...

    Zitat Zitat von trabbi Beitrag anzeigen
    if is or ???
    Nö, trabbi. Leider nicht. egal wie mans macht.
    Habe aber mal in meiner "Grabbelkiste" gewühlt und was gefunden, was entsprechend abgeändert passen müsste:
    Code:
    function SchalterWahl()
    	GroupSelection_SelectTroopsOld = GroupSelection_SelectTroops
    	function GroupSelection_SelectTroops ( _schalter )
    		if 	_schalter == 1 then
    			_schalter = 0
    			InfoFalscheSchalterWahl.info1()
    		elseif _schalter == 2 then
    			_schalter = 0
    			InfoFalscheSchalterWahl.info1()
    		elseif _schalter == 3 then
    			_schalter = 0
    			InfoFalscheSchalterWahl.info1()
    		elseif _schalter == 4 then
    			_schalter = 0
    			InfoFalscheSchalterWahl.info1()
    		elseif _schalter == 5 then
    			_schalter = 0
    			InfoFalscheSchalterWahl.info1()
    		elseif _schalter == 6 then
    			_schalter = 0
    			InfoFalscheSchalterWahl.info1()
    		elseif _schalter == 7 then
    			_schalter = 0
    			InfoFalscheSchalterWahl.info1()
    		elseif _schalter == 8 then
    			SchalterRichtigBriefing()
    		elseif _schalter == 9 then
    			_schalter = 0
    			InfoFalscheSchalterWahl.info1()
    		elseif _schalter == 10 then
    			_schalter = 0
    			InfoFalscheSchalterWahl.info1()
    		end
    		GroupSelection_SelectTroops = GroupSelection_SelectTroopsOld
    		HideMovieFenster()
    		return true
    	end
    end
    Das da oben ist aber zunächst mal nur der "Schlüssel" zum Erfolg. Einiges kann weg und einiges muss nur angepasst werden.
    Sinnlos ist ein Leben ohne Sinn für nnisnU!

Seite 1 von 2 12 LetzteLetzte

Aktive Benutzer

Aktive Benutzer

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

Ähnliche Themen

  1. Ein paar Gedanken zur WM in SA
    Von Norden im Forum Cafe Paperlapapp (Klön)
    Antworten: 3
    Letzter Beitrag: 12.07.2010, 09:18
  2. Wie wärs mal mit ein paar mehr Foren...
    Von Annosiedler im Forum Siedler 7 Allgemein
    Antworten: 12
    Letzter Beitrag: 26.03.2010, 17:57
  3. Ein paar ganz simple Anfangs-Fragen...
    Von MonacoSteve im Forum S6 Scriptecke
    Antworten: 42
    Letzter Beitrag: 06.02.2008, 17:31
  4. Ein paar besinnliche Weihnachtstage
    Von Norden im Forum Siedler Glückwunschforum
    Antworten: 6
    Letzter Beitrag: 24.12.2007, 12:30
  5. Ein paar kritische Anmerkungen
    Von SpiderFive im Forum Siedler 2 DnG Die nächste Generation
    Antworten: 47
    Letzter Beitrag: 23.04.2006, 22:25

Stichworte

Berechtigungen

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