Brauche Hilfe beim scripten

» Siedler Map Source Forum » Siedler DEdK Script Forum » Brauche Hilfe beim scripten

Seiten: 1

Kenny_McKenner
#1
21.03.2013 10:59
Beiträge: 19

Brauche Hilfe beim scripten

Hallo,

Ich hab gerade mal wieder angefangen mir ein paar landschaftlich schöne Maps zu basteln und würde in die Maps ganz gerne eine kleine Geschichte einbauen.
Also hab ich mir auf dieser Seite sämtliche Tutorials durchgelesen
und auch schon mal selber einen kleinen Test gestartet, der leider nicht funktioniert.Allerdings war für mich anhand der Tutorials nicht ganz ersichtlich warum mein Script nicht funktioniert.
Deshalb wollte ich hier mal fragen ob mir jemand meine elementaren Fehler zusammenfassen könnte.

--------------------------------------------------------------------------------
-- MapName: FirstCase
--
-- Author: Kenny_McKenner
--
--------------------------------------------------------------------------------

-- Include main function
Script.Load( "Data\\Script\\MapTools\\Main.lua" )
IncludeGlobals("MapEditorTools"

--++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- This function is called from main script to initialize the diplomacy states
function InitDiplomacy()
SetHostile(1,2)

SetPlayerName(2,"Varg"
end


--++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- This function is called from main script to init all resources for player(s)
function InitResources()
-- set some resources
AddGold (5000)
AddSulfur(5000)
AddIron (5000)
AddWood (5000)
AddStone (5000)
AddClay (6000)
end

--++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- This function is called to setup Technology states on mission start
function InitTechnologies()
end

--++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- This function is called on game start and after save game is loaded, setup your weather gfx
-- sets here
function InitWeatherGfxSets()
SetupNormalWeatherGfxSet()
end

--++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- This function is called on game start you should setup your weather periods here
function InitWeather()
AddPeriodicSummer(360)
AddPeriodicRain(120)
AddPeriodicWinter(150)
AddPeriodicRain(60)
end

--++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- This function is called on game start and after save game to initialize player colors
function InitPlayerColorMapping()
end

--++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- This function is called on game start after all initialization is done
function FirstMapAction()



-- Level 0 is deactivated...ignore
MapEditor_SetupAI(2, 1, 1000, 1, "HQKI2", 2, 420)
SetupPlayerAi( 2, { serfLimit = 0, extracting = 0, constructing = false, repairing = false } )

LocalMusic.UseSet = HIGHLANDMUSIC
ActivateBriefingsExpansion()
CreatePreludeBriefing()
StartSimpleJob("VictoryJob"



end

function VictoryJob()
if IsDead("HQKI2" then
Victory()
return true
end
end




Einige Sachen funktionieren schon: Die Diplomatie,das Wetter,die Resourcen aber es wäre auch noch schön, wenn der VictryJob funzen würde und die PlayerAi erst nach 420 Sekunden angreift, anststt dies Sofort zu tun.
Ursprünglich war noch ein Briefing geplant,das mir allerdings als Anfänger zu komplex war und ständig einen ERRORSYNTAX verursacht hat

Vielen Dank schon mal im Vorraus

P.S. wie kann man die Smilies abschalten?

____________________
Wer ohne Siedler ist werfe den ersten Stein!
Gruß, Kenny

Peter-FS
#2
21.03.2013 12:10
Beiträge: 1086

Hallo Kenny,

schön wieder einen neuen Scripter hier zu haben!

Für Codezeilen gibt es folgende Formatierung: [ code ] hier dein Code [ /code ]
Dann gibt es auch keine Smilies!

Der SimpleJob wird vermutlich nicht ausgeführt, da du das Briefing entfernt hast und der Aufruf ( CreatePreludeBriefing() ) nicht ausgeführt werden kann.
Briefings sind eigentlich ganz einfach, wenn man es einmal kapiert hat.
Einfach mal dein Briefing posten und es wird dir geholfen.

Gruß Peter

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

Kenny_McKenner
#3
21.03.2013 13:17
Beiträge: 19

Vielen Dank für die schnelle Hilfe

Hier ist das Briefing, das micht richtig funktioniert hatte:

function FirstMapAction()



	-- Level 0 is deactivated...ignore
	MapEditor_SetupAI(2, 1, 1000, 1, "HQKI2", 2, 420)
	SetupPlayerAi( 2, { serfLimit = 0, extracting = 0, constructing = false, repairing = false } )
	
	LocalMusic.UseSet = HIGHLANDMUSIC
	ActivateBriefingsExpansion()
	CreatePreludeBriefing()

	

end

function CreatePreludeBriefing()
    PreludeBriefing = {}
	PreludeBriefing.finished = PreludeBriefingFinished
	page = 0
	
	page = page + 1
	PreludeBriefing[page] 				= {}
	PreludeBriefing[page].title			= "Der Anfang vom Ende"
	PreludeBriefing[page].position		= GetPosition("Dario")
	PreludeBriefing[page].text			= ("Es ist Zeit für ein Duell: Euer Gegner diesesmal heißt Varg")
	PreludeBriefing[page].dialogCamera	= true;
	
	page = page + 1
	PreludeBriefing[page]				= {}
	PreludeBriefing[page].title			= "Pilgrim"
	PreludeBriefing[page].position		= GetPosition("HQKI2")
    PreludeBriefing[page].text			= ("Dort drüben steht euer Gegner Varg, den ihr eliminieren sollt")
	PreludeBriefing[page].explore		= BRIEFING_EXPLORATION_RANGE
	
	PreludeBriefing[page].quest			= {}
	PreludeBriefing[page].quest.id		= 1
	PreludeBriefing[page].quest.type	= MAINQUEST_OPEN
	PreludeBriefing[page].quest.title	= "Besiege Varg"
	PreludeBriefing[page].quest.text	= ("Hau Varg dem Wikinger ordentlich eine rein")
	StartBriefing(PreludeBriefing)
	
end

function PreludeBriefingFinished()
	StartSimpleJob("VictoryJob")
	
end

function VictoryJob()
	if is Dead("HQKI2") then
		CreateEnde()
		return true
	end


Im Ende steht dann nur noch Victory()

____________________
Wer ohne Siedler ist werfe den ersten Stein!
Gruß, Kenny

Peter-FS
#4
21.03.2013 13:38
Beiträge: 1086

das ist zwar die alte Briefing Version, die ich nie verwende, aber der Fehler ist relativ einfach beseitigt.

Du musst nur die Klammern entfernen!

 PreludeBriefing[page].text	= "Dort drüben steht euer Gegner Varg, den ihr eliminieren sollt"



Beispiele für Wertübergabe an eine Variable:
String Variable: text = "hier irgend ein Text".." - hier kommt ein 2. Text X = "..x
Zahlen Variable: x = 5; oder x = 3+1;
Table Variable: table = {"text", 1232, "hier ist fast alles moeglich", x}

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

Kenny_McKenner
#5
21.03.2013 13:50
Beiträge: 19

nochmal Dankeschön

ich werde das nachher nochmal ausprobieren und dann schreiben, ob es geklappt hat.

Ich bin von der Antwortgeschwindigkeit dieses Forums echt begeistert

____________________
Wer ohne Siedler ist werfe den ersten Stein!
Gruß, Kenny

Kenny_McKenner
#6
21.03.2013 19:06
Beiträge: 19

Ein Teilerfolg

Da bin ich wieder,

Bei der gekürzten Version ohne Briefing hat jetzt alles reibungslos geklappt. Bei der anderen mit Briefing hat sich nichts geändert: kein Briefing, kein Schluss.Im Scripttest,den ich leider erst nach dem testen gemacht habe, wurde wieder ERRORSYNTAX angezeigt.
Außerdem ist mir noch aufgefallen, dass mein Dario unten rechts in der Ecke(wenn man Dario selektiert hat) so aussieht wie Regent Dovbar.

____________________
Wer ohne Siedler ist werfe den ersten Stein!
Gruß, Kenny

Dieser Beitrag wurde von Kenny_McKenner am 21.03.2013 um 19:30 editiert.

warrior1024
#7
21.03.2013 19:41
Beiträge: 345

Zitat von Kenny_McKenner:

Außerdem ist mir noch aufgefallen, dass mein Dario unten rechts in der Ecke(wenn man Dario selektiert hat) so aussieht wie Regent Dovbar.



Dann hast du die Entity PU_Hero1 verwendet.
So sollte Dario vermutlich mal aussehen, der Vorschlag wurde aber verworfen.

PU_Hero1a - PU_Hero1c sind die echten Einheiten, die sich jeweils etwas unterscheiden. PU_Hero1a müsste Dario zu Beginn der Kampagne sein, PU_Hero1c müsste Dario als König sein. PU_Hero1b ist irgendwo dazwischen.

____________________
"Banken machen keine Fehlentscheidungen! Haben Euch das Eure Eltern nicht beigebracht?"
- Bankier Samael Silren, Enderal

Kenny_McKenner
#8
21.03.2013 20:00
Beiträge: 19

Hmm...

Okay, das ist ja dann keine dramatische Veränderung, wenn ich einfach nur Dario durch Dario erstze....
Ich glaube übrigens nicht, dass es an den Klammern liegt, da diese im Tutorial "Viertelland" ebenfalls den text einschließen.

____________________
Wer ohne Siedler ist werfe den ersten Stein!
Gruß, Kenny

Peter-FS
#9
22.03.2013 08:49
Beiträge: 1086

Error

Hi Kenny,

poste doch mal den kompletten Code, dann kann man einen Syntaxcheck laufen lassen und den Fehler finden.

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

Kenny_McKenner
#10
22.03.2013 09:07
Beiträge: 19

--------------------------------------------------------------------------------
-- MapName: FirstCase
--
-- Author: Kenny_McKenner
--
--------------------------------------------------------------------------------

-- Include main function
Script.Load( "Data\\Script\\MapTools\\Main.lua" )
IncludeGlobals("MapEditorTools")

--++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- This function is called from main script to initialize the diplomacy states
function InitDiplomacy()
	SetHostile(1,2)
	
	SetPlayerName(2,"Varg")
end


--++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- This function is called from main script to init all resources for player(s)
function InitResources()
    -- set some resources
    AddGold  (5000)
    AddSulfur(5000)
    AddIron  (5000)
    AddWood  (5000)	
    AddStone (5000)	
    AddClay  (6000)	
end

--++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- This function is called to setup Technology states on mission start
function InitTechnologies()
end

--++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- This function is called on game start and after save game is loaded, setup your weather gfx
-- sets here
function InitWeatherGfxSets()
	SetupNormalWeatherGfxSet()
end

--++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- This function is called on game start you should setup your weather periods here
function InitWeather()
	AddPeriodicSummer(360)
	AddPeriodicRain(120)
	AddPeriodicWinter(150)
	AddPeriodicRain(60)
end

--++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- This function is called on game start and after save game to initialize player colors
function InitPlayerColorMapping()
end
	
--++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- This function is called on game start after all initialization is done
function FirstMapAction()



	-- Level 0 is deactivated...ignore
	MapEditor_SetupAI(2, 1, 1000, 1, "HQKI2", 2, 420)
	SetupPlayerAi( 2, { serfLimit = 0, extracting = 0, constructing = false, repairing = false } )
	
	LocalMusic.UseSet = HIGHLANDMUSIC
	ActivateBriefingsExpansion()
	CreatePreludeBriefing()

	

end

function CreatePreludeBriefing()
    PreludeBriefing = {}
	PreludeBriefing.finished = PreludeBriefingFinished
	page = 0
	
	page = page + 1
	PreludeBriefing[page] 				= {}
	PreludeBriefing[page].title			= "Der Anfang vom Ende"
	PreludeBriefing[page].position		= GetPosition("Dario")
	PreludeBriefing[page].text			= "Es ist Zeit für ein Duell: Euer Gegner diesesmal heißt Varg"
	PreludeBriefing[page].dialogCamera	= true;
	
	page = page + 1
	PreludeBriefing[page]				= {}
	PreludeBriefing[page].title			= "Pilgrim"
	PreludeBriefing[page].position		= GetPosition("HQKI2")
    PreludeBriefing[page].text			= "Dort drüben steht euer Gegner Varg, den ihr eliminieren sollt"
	PreludeBriefing[page].explore		= BRIEFING_EXPLORATION_RANGE
	
	PreludeBriefing[page].quest			= {}
	PreludeBriefing[page].quest.id		= 1
	PreludeBriefing[page].quest.type	= MAINQUEST_OPEN
	PreludeBriefing[page].quest.title	= "Besiege Varg"
	PreludeBriefing[page].quest.text	= "Hau Varg dem Wikinger ordentlich eine rein
	StartBriefing(PreludeBriefing)
	
end

function PreludeBriefingFinished()
	StartSimpleJob("VictoryJob")
	
end

function VictoryJob()
	if is Dead("HQKI2") then
		Victory()
		return true
	end
end


So, da hätten wir's.

____________________
Wer ohne Siedler ist werfe den ersten Stein!
Gruß, Kenny

Peter-FS
#11
22.03.2013 11:43
Beiträge: 1086

Ich habe 2 Syntaxfehler entfernt und die fehlende Funktion "ActivateBriefingsExpansion" hinzugefügt. Probier es jetzt bitte noch mal.
Mit dem Waffenstillstand muss man anschließend noch mal sehen, hat bei mir so auch nie funktioniert.


--------------------------------------------------------------------------------
-- MapName: FirstCase
--
-- Author: Kenny_McKenner
--
--------------------------------------------------------------------------------

-- Include main function
Script.Load( "Data\\Script\\MapTools\\Main.lua" )
IncludeGlobals("MapEditorTools")

--++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- This function is called from main script to initialize the diplomacy states
function InitDiplomacy()
	SetHostile(1,2)
	SetPlayerName(2,"Varg")
end

--++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- This function is called from main script to init all resources for player(s)
function InitResources()
    -- set some resources
    AddGold  (5000)
    AddSulfur(5000)
    AddIron  (5000)
    AddWood  (5000)	
    AddStone (5000)	
    AddClay  (6000)	
end

--++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- This function is called to setup Technology states on mission start
function InitTechnologies()
end

--++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- This function is called on game start and after save game is loaded, setup your weather gfx
-- sets here
function InitWeatherGfxSets()
	SetupNormalWeatherGfxSet()
end

--++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- This function is called on game start you should setup your weather periods here
function InitWeather()
	AddPeriodicSummer(360)
	AddPeriodicRain(120)
	AddPeriodicWinter(150)
	AddPeriodicRain(60)
end

--++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- This function is called on game start and after save game to initialize player colors
function InitPlayerColorMapping()
end
	
--++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- This function is called on game start after all initialization is done
function FirstMapAction()
	-- Level 0 is deactivated...ignore
	MapEditor_SetupAI(2, 1, 1000, 1, "HQKI2", 2, 420)
	SetupPlayerAi( 2, { serfLimit = 0, extracting = 0, constructing = false, repairing = false } )
	
	LocalMusic.UseSet = HIGHLANDMUSIC
	ActivateBriefingsExpansion()
	CreatePreludeBriefing()
end

function CreatePreludeBriefing()
    PreludeBriefing = {}
	PreludeBriefing.finished = PreludeBriefingFinished
	page = 0
	
	page = page + 1
	PreludeBriefing[page] 				= {}
	PreludeBriefing[page].title			= "Der Anfang vom Ende"
	PreludeBriefing[page].position		= GetPosition("Dario")
	PreludeBriefing[page].text			= "Es ist Zeit für ein Duell: Euer Gegner dieses mal heißt Varg"
	PreludeBriefing[page].dialogCamera	= true;
	
	page = page + 1
	PreludeBriefing[page]				= {}
	PreludeBriefing[page].title			= "Pilgrim"
	PreludeBriefing[page].position		= GetPosition("HQKI2")
    PreludeBriefing[page].text			= "Dort drüben steht euer Gegner Varg, den ihr eliminieren sollt"
	PreludeBriefing[page].explore		= 3000
	
	PreludeBriefing[page].quest			= {}
	PreludeBriefing[page].quest.id		= 1
	PreludeBriefing[page].quest.type	= MAINQUEST_OPEN
	PreludeBriefing[page].quest.title	= "Besiege Varg"
	PreludeBriefing[page].quest.text	= "Hau Varg dem Wikinger ordentlich eine rein"
	StartBriefing(PreludeBriefing)
end

function PreludeBriefingFinished()
	StartSimpleJob("VictoryJob")
end

function VictoryJob()
	if IsDead("HQKI2") then
		Victory()
		return true
	end
end

function ActivateBriefingsExpansion()
    if not unpack{true} then 
        local unpack2;
        unpack2 = function( _table, i )
                            i = i or 1;
                            assert(type(_table) == "table");
                            if i <= table.getn(_table) then
                                return _table[i], unpack2(_table, i);
                            end
                        end
        unpack = unpack2;
    end
    
    Briefing_ExtraOrig = Briefing_Extra;
    
    Briefing_Extra = function( _v1, _v2 )
                         for i = 1, 2 do
                             local theButton = "CinematicMC_Button" .. i;
                             XGUIEng.DisableButton(theButton, 1);
                             XGUIEng.DisableButton(theButton, 0);
                         end
                         
                         if _v1.action then
                             assert( type(_v1.action) == "function" );
                             if type(_v1.parameters) == "table" then 
                                 _v1.action(unpack(_v1.parameters));
                             else
                                 _v1.action(_v1.parameters);
                             end
                         end
                         
                         Briefing_ExtraOrig( _v1, _v2 );
                     end;
    
    GameCallback_EscapeOrig = GameCallback_Escape;
    StartBriefingOrig = StartBriefing;
    EndBriefingOrig = EndBriefing;
    MessageOrig = Message;
    CreateNPCOrig = CreateNPC;
    
    StartBriefing = function(_briefing)
                        assert(type(_briefing) == "table");
                        if _briefing.noEscape then
                            GameCallback_Escape = function() end;
                            briefingState.noEscape = true;
                        end
                        
                        StartBriefingOrig(Umlaute(_briefing));
                    end
    
    EndBriefing = function()
                      if briefingState.noEscape then
                          GameCallback_Escape = GameCallback_EscapeOrig;
                          briefingState.noEscape = nil;
                      end
                      
                      EndBriefingOrig();
                  end;
    
    Message = function(_text)
                  MessageOrig(Umlaute(tostring(_text)));
              end;
    
    CreateNPC = function(_npc)
                    CreateNPCOrig(Umlaute(_npc));
                end;
    
    Umlaute = function(_text)
                  local texttype = type(_text);
                  if texttype == "string" then
                      _text = string.gsub( _text, "ä", "\195\164" );
                      _text = string.gsub( _text, "ö", "\195\182" );
                      _text = string.gsub( _text, "ü", "\195\188" );
                      _text = string.gsub( _text, "ß", "\195\159" );
                      _text = string.gsub( _text, "Ä", "\195\132" );
                      _text = string.gsub( _text, "Ö", "\195\150" );
                      _text = string.gsub( _text, "Ü", "\195\156" );
                      return _text;
                  elseif texttype == "table" then
                      for k, v in _text do
                          _text[k] = Umlaute( v );
                      end
                      return _text;
                  else return _text;
                  end
              end;
end



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

Kenny_McKenner
#12
22.03.2013 12:36
Beiträge: 19

Hallo Peter,

Es hat alles wunderbar geklappt!
So wie es aussieht hatte ich wohl nur ein halbes Script geschrieben. Vielen Dank, dass du dir die Arbeit gemacht hast.
Jetzt werde ich erstmal versuchen das zu verstehen und anzuwenden.

____________________
Wer ohne Siedler ist werfe den ersten Stein!
Gruß, Kenny

Peter-FS
#13
22.03.2013 12:36
Beiträge: 1086

Beispiel eines Briefings

hier mal ein Beispiel wie ich und einige andere Briefings erstellen.
Schau es dir einfach mal an und entscheide selbst was für dich leichter ist.

 
function Briefing1()
	local briefing = {noEscape=true} --z.B. ohne ESC Abbruch
	BRIEFING_TIMER_PER_CHAR = 1.0
	BRIEFING_ZOOMDISTANCE = 4500
	BRIEFING_ZOOMANGLE = 35

	local AP, ASP = AddPages(briefing);
	-- ASP( Position, Titel, Text, Ansicht nah/fern )
	ASP("Dario","Der Anfang vom Ende","Es ist Zeit für ein Duell: Euer Gegner dieses mal heißt Varg", true)
	ASP("HQKI2","Pilgrim","Dort drüben steht euer Gegner Varg, den ihr eliminieren sollt", false)
	
	AP{ title ="Pilgrim",
	    text = "Dort drüben steht euer Gegner Varg, den ihr eliminieren sollt @cr Oder so könntest du es auch machen, wenn z.B. ein Marker gesetzt werden soll! ",
		dialogCamera = false,
		position    = GetPosition("HQKI2"),
        marker     	= STATIC_MARKER,
		explore		= 1500,
		action = function()
			--hier könnte man eine Aktion ausführen, z.B. Feuerwerk starten
		end		
	}	
	
	MainQuest = AP{
      quest = {
        id    = GetQuestId(),
        type  = MAINQUEST_OPEN,
        title = "Besiege Varg",
        text  = "Hau Varg dem Wikinger ordentlich eine rein."
      }
	}
	briefing.finished=function()
		StartSimpleJob("VictoryJob")
	end				
	StartBriefing(briefing);
end


du benötigst dazu folgende standard Funktionen die einfach am Ende deines Skriptes eingefügt werden.

function GetQuestId()
    gvMission.QuestId = (gvMission.QuestId or 0) + 1
    return gvMission.QuestId
end

function AddPages( _briefing )
    local AP = function(_page) table.insert(_briefing, _page); return _page; end
    local ASP = function(_entity, _title, _text, _dialog, _explore) return AP(CreateShortPage(_entity, _title, _text, _dialog, _explore)); end
    return AP, ASP;
end
function CreateShortPage( _entity, _title, _text, _dialog, _explore) 
    local page = {
        title = _title,
        text = _text,
        position = GetPosition( _entity ),
		action = function ()Display.SetRenderFogOfWar(0) end
    };
    if _dialog then 
            if type(_dialog) == "boolean" then
                  page.dialogCamera = true; 
            elseif type(_dialog) == "number" then
                  page.explore = _dialog;
            end
      end
    if _explore then 
            if type(_explore) == "boolean" then
                  page.dialogCamera = true; 
            elseif type(_explore) == "number" then
                  page.explore = _explore;
            end
      end
    return page;
end



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

AdeBont
#14
22.03.2013 13:50
Beiträge: 666

Hi Kenny

Welcome to the HOK scripter society!

Zitat von Kenny_McKenner:
Ich bin von der Antwortgeschwindigkeit dieses Forums echt begeistert

This is indeed also my experience!


Concerning your query on peace time, you could do this with a simplejob:

function PeaceTime()
  if Counter.Tick2("PeaceTime",420)then
    SetHostile(1,2)
    return true
  end
end

'420' is the peace time in seconds
Remove the SetHostile(1,2) from function InitDiplomacy() and start the job in function FirstMapAction():

StartSimpleJob("PeaceTime")



____________________
AdB
---------------------------------
Now faith is the substance of things hoped for,
the evidence of things not seen.
Heb 11:1

Kenny_McKenner
#15
22.03.2013 15:11
Beiträge: 19

Hi AdeBont,

Thank you for your answer.
I think it will help me.

und vielen Dank für die Standardfunktion an Peter

____________________
Wer ohne Siedler ist werfe den ersten Stein!
Gruß, Kenny

Dieser Beitrag wurde von Kenny_McKenner am 22.03.2013 um 21:41 editiert.

JT
#16
23.03.2013 20:24
Beiträge: 190

Zitat von Kenny_McKenner:
Ich bin von der Antwortgeschwindigkeit dieses Forums echt begeistert


Geht echt Wahnsinnsschnell, was

Seiten: 1

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

Impressum