scripting:ems
Dies ist eine alte Version des Dokuments!
Inhaltsverzeichnis
Enhanced Multiplayer Script
Das EMS ist ein Regelskript für Mehrspieler - ähnlich wie das Regelskript von Anarki - für Legendenkarten. Es sollte in jede Mehrspielerkarte eingebunden werden, da es neben der Möglichkeit einer Regeleinstellung auch verschiedene Fehler im Spiel behebt.
Verwendung
Folgendes Skript kann ins Mapskript kopiert werden:
-- ################################################################################################### -- # # -- # # -- # Mapname: XXXXXXXXXX # -- # # -- # Author: XXXXXXXXXX # -- # # -- # Script: Enhanced Multiplayer Script by MadShadow # -- # # -- # # -- ################################################################################################### initEMS = function()return false end; Script.Load("maps\\user\\EMS\\load.lua"); if not initEMS() then local errMsgs = { ["de"] = "Achtung: Enhanced Multiplayer Script wurde nicht gefunden! @cr \195\156berpr\195\188fe ob alle Dateien am richtigen Ort sind!", ["eng"] = "Attention: Enhanced Multiplayer Script could not be found! @cr Make sure you placed all the files in correct place!", } local lang = "de"; if XNetworkUbiCom then lang = XNetworkUbiCom.Tool_GetCurrentLanguageShortName(); if lang ~= "eng" and lang ~= "de" then lang = "eng"; end end GUI.AddStaticNote("@color:255,0,0 ------------------------------------------------------------------------------------------------------------"); GUI.AddStaticNote("@color:255,0,0 " .. errMsgs[lang]); GUI.AddStaticNote("@color:255,0,0 ------------------------------------------------------------------------------------------------------------"); return; end
Die Konfiguration
Jede Karte lädt eine Standardkonfiguration. Die reicht in der Regel jedoch nicht aus, daher musst du noch ein Konfigurationsskript erstellen und in den EMSconfigurations Ordner kopieren:
-- ************************************************************************************************ -- * * -- * * -- * EMS * -- * CONFIGURATION * -- * * -- * * -- ************************************************************************************************ EMS_CustomMapConfig = { -- ******************************************************************************************** -- * Configuration File Version -- * A version check will make sure every player has the same version of the configuration file -- ******************************************************************************************** Version = 1, -- ******************************************************************************************** -- * Callback_OnMapStart -- * Called directly after the loading screen vanishes and works as your entry point. -- * Similar use to FirstMapAction/GameCallback_OnGameSart -- ******************************************************************************************** Callback_OnMapStart = function() AddPeriodicSummer(60); SetupHighlandWeatherGfxSet(); LocalMusic.UseSet = HIGHLANDMUSIC; end, -- ******************************************************************************************** -- * Callback_OnGameStart -- * Called at the end of the 10 seconds delay, after the host chose the rules and started -- ******************************************************************************************** Callback_OnGameStart = function() end, -- ******************************************************************************************** -- * Callback_OnPeacetimeEnded -- * Called when the peacetime counter reaches zero -- ******************************************************************************************** Callback_OnPeacetimeEnded = function() end, -- ******************************************************************************************** -- * Peacetime -- * Number of minutes the players will be unable to attack each other -- ******************************************************************************************** Peacetime = 30, -- ******************************************************************************************** -- * GameMode -- * GameMode is a concept of a switchable option, that the scripter can freely use -- * -- * GameModes is a table that contains the available options for the players, for example: -- * GameModes = {"3vs3", "2vs2", "1vs1"}, -- * -- * GameMode contains the index of selected mode by default - ranging from 1 to X -- * -- * Callback_GameModeSelected -- * Lets the scripter make changes, according to the selected game mode. -- * You could give different ressources or change the map environment accordingly -- * _gamemode contains the index of the selected option according to the GameModes table -- ******************************************************************************************** GameMode = 1, GameModes = {"Standard"}, Callback_GameModeSelected = function(_gamemode) end, --[[ Ressources You can specify the ressources for a player in one of the tables Normal, FastGame, SpeedGame by adding a key entry with the playerId containing 6 entries which either contain a number or a function that returns a number as amount for the respective ressource If a player is not specified, he will get the ressources of player 1 So if you want to give the same amount of ressources to all players, just specify player 1 ]] -- ******************************************************************************************** -- * Resource Level -- * Determines how much ressources the players start with -- * 1 = Normal -- * 2 = FastGame -- * 3 = SpeedGame -- * See the ressources table below for configuration -- ******************************************************************************************** ResourceLevel = 1, -- ******************************************************************************************** -- * Resources -- * Order: -- * Gold, Clay, Wood, Stone, Iron, Sulfur -- * Rules: -- * 1. If no player is defined, default values are used -- * 2. If player 1 is defined, these ressources will be used for all other players too -- * 3. Use the players index to give ressources explicitly -- ******************************************************************************************** Ressources = { -- * Normal default: 1k, 1.8k, 1.5k, 0.8k, 50, 50 Normal = { [1] = { 500, 2400, 1750, 700, 50, 50, }, }, -- * FastGame default: 2 x Normal Ressources FastGame = {}, -- * SpeedGame default: 20k, 12k, 14k, 10k, 7.5k, 7.5k SpeedGame = {}, }, -- ******************************************************************************************** -- * Callback_OnFastGame -- * Called together with Callback_OnGameStart if the player selected ResourceLevel 2 or 3 -- * (FastGame or SpeedGame) -- ******************************************************************************************** Callback_OnFastGame = function() end, -- ******************************************************************************************** -- * AI Players -- * Player Entities that belong to an ID that is also present in the AIPlayers table won't be -- * removed -- ******************************************************************************************** AIPlayers = {}, -- ******************************************************************************************** -- * DisableInitCameraOnHeadquarter -- * Set to true if you don't want the camera to be set to the headquarter automatically -- * (default: false) -- ******************************************************************************************** DisableInitCameraOnHeadquarter = false, -- ******************************************************************************************** -- * DisableSetZoomFactor -- * If set to false, ZoomFactor will be set to 2 automatically -- * Set to true if nothing should be done -- * (default: false) -- ******************************************************************************************** DisableSetZoomFactor = false, -- ******************************************************************************************** -- * DisableStandardVictoryCondition -- * Set to true if you want to implement your own victory condition -- * Otherwise the player will lose upon losing his headquarter -- * (default: false) -- ******************************************************************************************** DisableStandardVictoryCondition = false, };
scripting/ems.1561750744.txt.gz · Zuletzt geändert: 2021/09/18 19:00 (Externe Bearbeitung)