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.1561750732.txt.gz · Zuletzt geändert: 2021/09/18 19:00 (Externe Bearbeitung)
