Siedler DEdK Probleme mit Multiplayer Script

» Siedler Map Source Forum » Siedler DEdK Script Forum » Siedler DEdK Probleme mit Multiplayer Script

Seiten: 1

Fir3st4r
#1
24.01.2019 21:40
Beiträge: 20

Siedler DEdK Probleme mit Multiplayer Script

Hallo,
vor kurzem habe ich zum Zweck einer LAN-Party mit Freunden eine simple Multiplayer-Map erstellt, aufgrund ihres Verwendungszweckes natürlich nicht sonderlich optimiert. Nun habe ich das Problem, dass bei Spielstart das eigentlich simple und größtenteils nur auf die Grundfunktionen begrenzte Script nicht ausgeführt wird. Ich würde mich sehr darüber freuen, wenn mir hier jemand weiterhelfen könnte.

PS: Die Karte ist hochgeladen unter dem Namen (3)Swamp_2vs1

PPS: Ich bin weder im Mapping noch im Scripting sonderlich bewandert.

mcb
#2
25.01.2019 14:37
Beiträge: 1472

Könnte ein Syntaxfehler sein, aktiviere mal die Fehlermeldungen und sag mir, was dann passiert: http://www.siedler-games.de/si...als:fehlermeldungen_aktivieren

Fir3st4r
#3
25.01.2019 16:22
Beiträge: 20

Folgende Fehlermeldung ist aufgetreten:

Error:LUA_ERRRUN: [string "Map Script"]:97: attempt to call global `SetupMoorWeatherGfxSet' (a nil value)

mcb
#4
25.01.2019 18:05
Beiträge: 1472

Ok, kein Syntaxfehler. Wahrscheinlich steht der Funktionsaufruf von SetupMoorWeatherGfxSet an der falschen Stelle. Von wo rufst du die denn auf?

Fir3st4r
#5
25.01.2019 19:00
Beiträge: 20

Hier mal das komplette Script:

--------------------------------------------------------------------------------
-- MapName: XXX
--
-- Author: XXX
--
--------------------------------------------------------------------------------

function GameCallback_OnGameStart()

-- Include global tool script functions
Script.Load(Folders.MapTools.."Ai\\Support.lua"
Script.Load( "Data\\Script\\MapTools\\MultiPlayer\\MultiplayerTools.lua" )
Script.Load( "Data\\Script\\MapTools\\Tools.lua" )
Script.Load( "Data\\Script\\MapTools\\WeatherSets.lua" )
IncludeGlobals("Comfort"

--Init local map stuff
Mission_InitWeatherGfxSets()
Mission_InitWeather()
Mission_InitGroups()
Mission_InitLocalResources()

-- Init global MP stuff
--MultiplayerTools.InitResources("normal"
MultiplayerTools.InitCameraPositionsForPlayers()
MultiplayerTools.SetUpGameLogicOnMPGameConfig()
MultiplayerTools.GiveBuyableHerosToHumanPlayer( 0 )

if XNetwork.Manager_DoesExist() == 0 then
for i=1,3,1 do
MultiplayerTools.DeleteFastGameStuff(i)
end
local PlayerID = GUI.GetPlayerID()
Logic.PlayerSetIsHumanFlag( PlayerID, 1 )
Logic.PlayerSetGameStateToPlaying( PlayerID )
end

LocalMusic.UseSet = EVELANCEMUSIC

local mercTent = GetEntityId("MercTent1";
Logic.AddMercenaryOffer(mercTent, Entities.CU_Evil_LeaderBearman1, 3, ResourceType.Gold, 650);
Logic.AddMercenaryOffer(mercTent, Entities.CU_Evil_LeaderSkirmisher1, 2, ResourceType.Gold, 1000);
Logic.AddMercenaryOffer(mercTent, Entities.PU_Scout, 2, ResourceType.Gold, 400);
Logic.AddMercenaryOffer(mercTent, Entities.PU_Thief, 1, ResourceType.Gold, 600);
Logic.AddMercenaryOffer(mercTent, Entities.PU_LeaderBow2, 3, ResourceType.Gold, 1500);
Logic.AddMercenaryOffer(mercTent, Entities.PU_LeaderBow3, 2, ResourceType.Gold, 2500);
Logic.AddMercenaryOffer(mercTent, Entities.PU_LeaderBow4, 1, ResourceType.Gold, 3500);
Logic.AddMercenaryOffer(mercTent, Entities.PU_LeaderRifle1, 1, ResourceType.Gold, 4500);
Logic.AddMercenaryOffer(mercTent, Entities.PU_LeaderRifle2, 1, ResourceType.Gold, 5000);
Logic.AddMercenaryOffer(mercTent, Entities.PV_Cannon3, 1, ResourceType.Gold, 1000);
Logic.AddMercenaryOffer(mercTent, Entities.PV_Cannon4, 1, ResourceType.Gold, 2000);
Logic.AddMercenaryOffer(mercTent, Entities.CU_AggressiveWolf, 20, ResourceType.Gold, 500);




local mercTent = GetEntityId("MercTent2";
Logic.AddMercenaryOffer(mercTent, Entities.CU_Evil_LeaderBearman1, 6, ResourceType.Gold, 650);
Logic.AddMercenaryOffer(mercTent, Entities.CU_Evil_LeaderSkirmisher1, 4, ResourceType.Gold, 1000);
Logic.AddMercenaryOffer(mercTent, Entities.PU_Scout, 4, ResourceType.Gold, 400);
Logic.AddMercenaryOffer(mercTent, Entities.PU_Thief, 2, ResourceType.Gold, 600);
Logic.AddMercenaryOffer(mercTent, Entities.PU_LeaderBow2, 6, ResourceType.Gold, 1500);
Logic.AddMercenaryOffer(mercTent, Entities.PU_LeaderBow3, 4, ResourceType.Gold, 2500);
Logic.AddMercenaryOffer(mercTent, Entities.PU_LeaderBow4, 2, ResourceType.Gold, 3500);
Logic.AddMercenaryOffer(mercTent, Entities.PU_LeaderRifle1, 2, ResourceType.Gold, 4500);
Logic.AddMercenaryOffer(mercTent, Entities.PU_LeaderRifle2, 2, ResourceType.Gold, 5000);
Logic.AddMercenaryOffer(mercTent, Entities.PV_Cannon3, 2, ResourceType.Gold, 1000);
Logic.AddMercenaryOffer(mercTent, Entities.PV_Cannon4, 2, ResourceType.Gold, 2000);
Logic.AddMercenaryOffer(mercTent, Entities.CU_AggressiveWolf, 40, ResourceType.Gold, 500);




local mercTent = GetEntityId("MercTent3";
Logic.AddMercenaryOffer(mercTent, Entities.CU_Evil_LeaderBearman1, 3, ResourceType.Gold, 650);
Logic.AddMercenaryOffer(mercTent, Entities.CU_Evil_LeaderSkirmisher1, 2, ResourceType.Gold, 1000);
Logic.AddMercenaryOffer(mercTent, Entities.PU_Scout, 2, ResourceType.Gold, 400);
Logic.AddMercenaryOffer(mercTent, Entities.PU_Thief, 1, ResourceType.Gold, 600);
Logic.AddMercenaryOffer(mercTent, Entities.PU_LeaderBow2, 3, ResourceType.Gold, 1500);
Logic.AddMercenaryOffer(mercTent, Entities.PU_LeaderBow3, 2, ResourceType.Gold, 2500);
Logic.AddMercenaryOffer(mercTent, Entities.PU_LeaderBow4, 1, ResourceType.Gold, 3500);
Logic.AddMercenaryOffer(mercTent, Entities.PU_LeaderRifle1, 1, ResourceType.Gold, 4500);
Logic.AddMercenaryOffer(mercTent, Entities.PU_LeaderRifle2, 1, ResourceType.Gold, 5000);
Logic.AddMercenaryOffer(mercTent, Entities.PV_Cannon3, 1, ResourceType.Gold, 1000);
Logic.AddMercenaryOffer(mercTent, Entities.PV_Cannon4, 1, ResourceType.Gold, 2000);
Logic.AddMercenaryOffer(mercTent, Entities.CU_AggressiveWolf, 20, ResourceType.Gold, 500);


end

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

-- Use gfx sets
SetupMoorWeatherGfxSet()

end

--++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- This function is called on game start you should setup your weather periods here
function Mission_InitWeather()

-- Init with gfx set 1
AddPeriodicSummer(1000)
AddPeriodicRain(250)
AddPeriodicSummer(750)
AddPeriodicRain(500)
AddPeriodicSummer(1250)
AddPeriodicRain(250)

end

--++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- Build Groups and attach Leaders
function Mission_InitGroups()

end

--++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- Limit the Technologies here. For example Weathermashine.
function
Mission_InitTechnologies()
--no limitation in this map
end

--++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- Set local resources
function
Mission_InitLocalResources()


local HumenPlayer = XNetwork.GameInformation_GetMapMaximumNumberOfHumanPlayer()

-- Initial Resources
local InitGoldRaw = 1000
local InitClayRaw = 750
local InitWoodRaw = 750
local InitStoneRaw = 500
local InitIronRaw = 350
local InitSulfurRaw = 200


--Add Players Resources
local i
for i=1,8,1
do
Tools.GiveResouces(i, InitGoldRaw , InitClayRaw,InitWoodRaw, InitStoneRaw,InitIronRaw,InitSulfurRaw)
end
end

mcb
#6
25.01.2019 19:13
Beiträge: 1472

Ok, also zuerst: Wenn du Scripte ins Forum stellst, mach es so:
[code]
function foo()
bar()
end
[/code]
Das Sieht dann so aus:

function foo()
   bar()
end



Dann ein Blick auf dein Script: Sieht so aus als wäre der Aufruf korrekt, nur das Script mit der Funktion drinn wird vom MP-Standardscript nicht geladen. Wenn du die Funktion selbst lädst, sollte es funktionieren:

Script.Load("data/script/maptools/extra2comfort.lua")


(oder

Script.Load("data/script/maptools/extra1comfort.lua")

wen du in Nebelreich bist)
Das muss dann in Zeile 17, zu den anderen Aufrufen von Script.Load.
(Nebenbei: Söldnerquartieren können nur 4 verschidenen angebote haben.)

Fir3st4r
#7
25.01.2019 19:17
Beiträge: 20

Ok. Vielen Dank für die Hilfe

Seiten: 1

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

Impressum