FR/A propos des Map

From Multi Theft Auto: Wiki
Revision as of 12:47, 30 March 2012 by Citizen (talk | contribs) (Created page with "{{Needs Checking|Either complete the translation or remove it.}} {{Resource page}} Le "Map manager" est une ressource inclue dans la suite serveur de MTA DM. Elle offre des comma...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
Dialog-information.png This article needs checking.

Reason(s): Either complete the translation or remove it.

Le "Map manager" est une ressource inclue dans la suite serveur de MTA DM. Elle offre des commandes, fonctions et événements pour les modes de jeu afin de dynamiser vos maps. Par exemple, quand un serveur doit charger plusieurs routes pour plusieurs maps, au lieu d'avoir le tout dans un seul script principal, ces routes peuvent êtres stockée dans plusieurs ressources et chargée simplement grâce à la fonction "changeGamemodeMap" quand une map démarre.

Plus spécifiquement, le "Map manager" liste les modes de jeux et maps chargés sur le serveur. Il inclut un listing sur l'interface web, il rafraîchit cette liste fréquemment et met en gras les ressources et/ou maps actuellement entrain d'être utilisées.

Un Simple Tutoriel

Dans cette section nous allons poursuivre le travail commencé dans Introduction to Scripting. Nous allons ajouter une ressource qui enregistre l'endroit de spawn des joueurs sur la map, le chargement de ce script se fera depuis le script principal.

Premièrement, créez un dossier dans /Your MTA Server/mods/deathmatch/resources/, nommez-le "mymap". Ensuite dans ce dossier, créez un fichier texte et nommez-le "meta.xml", ce fichier est présent dans chaque scripts.

Ecrivez les lignes suivantes dans le fichier meta.xml :

<meta>
   <info type="map" gamemodes="myserver"/>
   <map src="mymap.map"/>
</meta>

Prenez garde car ce fichier est "lié" avec le gamemodes="" choisit, qui contient le nom de la ressource principale qu'utilise ce mode. le paramètre map, indique le nom de la map qui sera afficher sur le serveur.

Maintenant créez un nouveau fichier texte dans /mymap/ et nommez le "mymap.map", écrivez y les lignes suivantes:

<map>
   <spawnpoint id="spawnpoint1" posX="1959.5487060547" posY="-1714.4613037109" posZ="18" rot="63.350006103516" model="0"/>
</map>

Notez que "spawnpoint" est le type de l'élément utilisé dans la fonction getElementsByType, "id" est utilisée dans la fonction getElementByID

Pour charger la map, le script principal doit pouvoir accéder aux maps par lui même. Quelques modifications sont à apportées dans script.lua situé dans "myserver". Entrez les lignes suivantes :

function loadMap(startedMap)
	mapRoot = getResourceRootElement(startedMap)
end

addEventHandler("onGamemodeMapStart", getRootElement(), loadMap)

Par défaut, l'evênement "onGamemodeMapStart" nous donne le "handle"(?) de la map ("startedMap"), lequel nous avons utilisé pour le "handle"(?) de la ressource contenant la map ("mapRoot").

Avec la ressource "handle"(?), nous pouvons extraire les informations relatives au spawnpoint. Jetez un œil à la fonction joinHandler() dans script.lua, à la place de x, y and z, nous pouvons utiliser les informations de la map comme suit :

function joinHandler()
	local spawn = getElementsByType("spawnpoint", mapRoot)
	local x,y,z,r
	for key, value in pairs(spawn) do
		x = getElementData(value, "posX")
		y = getElementData(value, "posY")
		z = getElementData(value, "posZ")
		r = getElementData(value, "rot")
	end
	spawnPlayer(source, x, y, z)
	fadeCamera(source, true)
end

Lancez maintenant votre gamemode avec la commande suivante via la console:

gamemode myserver mymap

Usage

Pour utiliser le map manager, vos ressources doivent d'abord être reconnues en tant que gamemodes ou maps.

Vous devez remplir quelques informations pour votre fichier de configuration du gamemode resource :

<info description="Votre Gamemode" type="gamemode" />

Map resources Les maps ont aussi besoin d'information dans le meta.xml, type="map" et un ou plusieurs gamemodes. Une map peut en effet être compatible avec plusieurs mode de jeu pour se faire il faudra séparer les modes par une virgule sans espaces.

<info description="A gamemode map" type="map" gamemodes="ctv,koth" />

Il ne peut y avoir qu’un mode de jeu 'Gamemode' Actif ou une map chargée à la fois.

Paramètres Supplémentaires

Ces paramètres sont aussi à ajouter dans meta.xml.

name: Entrez ici un message sympa qui sera afficher lors du démarrage de la ressource. C'est en quelques sorte un alias au cas ou le nom de votre ressource ne vous correspond pas.

Commandes

changemap newmap [newgamemode] (changer le 'Gamemode' d'une map)

changemode newgamemode [newmap] (lancer un mode de jeu 'Gamemode' et démarrez une map)

gamemode newgamemode [newmap] (idem que la précédente)

stopmode (Arrête le mode de jeu et la map en cours)

stopmap (Arrête la map en cours)

maps [gamemode] (liste toutes les maps sur le serveurs, ajoutez en option le mode pour lequel vous voulez connaître les maps)

gamemodes (Liste tout les mode de jeu)

Paramètres

*mapmanager.color [hex color string] (change la couleur de sortie des message du mapmanager) (Par défaut : #E1AA5A)

*mapmanager.messages [boolean] (si les changements de map/gm sont activés) (Par défaut : true)

*mapmanager.ASE [boolean] (si le manager doit charger en mode ASE) (Par défaut : true)

Autres fonctions

bool changeGamemode ( resource newGamemode, [ resource mapToLoadWith ] )

Changement de mode de jeu, on peut aussi lui donner une map initial à charger.

bool changeGamemodeMap ( resource newMap, [ resource gamemodeToChangeTo ] )

Change le mode de jeu d'une map pour un nouveau, on peut choisir un mode de jeu à charger une fois cette map rechargée.

table getGamemodes ( )

Renvoie une table des tout les modes de jeu et leur pointeurs.

table getGamemodesCompatibleWithMap ( resource theMap )

Returns a table of compatible gamemode resource pointers.

table getMaps ( )

Returns a table of all map resource pointers.

table getMapsCompatibleWithGamemode ( [ resource theGamemode ] )

Returns a table of compatible map resource pointers. If the gamemode is left blank, it returns all maps which aren't compatible with any gamemode.

resource getRunningGamemode ( )

Returns the currently running gamemode's resource pointer.

resource getRunningGamemodeMap ( )

Returns the currently running GM map's resource pointer.

bool isGamemode ( resource theGamemode )

Determines if a resource is a gamemode or not.

bool isGamemodeCompatibleWithMap ( resource theGamemode, resource theMap )

Determines if a gamemode is compatible with a map or not.

bool isMap ( resource theMap )

Determines if a resource is a map or not.

bool isMapCompatibleWithGamemode ( resource theMap, resource theGamemode )

Determines if a map is compatible with a gamemode or not.

bool stopGamemode ( )

Stops the current gamemode and its map.

bool stopGamemodeMap ( )

Stop the current GM map. Determines if a map is compatible with a gamemode or not.

Fired events

(For all these events, "source" is the resource's root element.)

onGamemodeStart ( resource startedGamemode )

Fired before a gamemode starts.

onGamemodeStop ( resource stoppedGamemode )

Fired before a gamemode is stopped.

onGamemodeMapStart ( resource startedMap )

Fired before a GM map starts.

onGamemodeMapStop ( resource stoppedMap )

Fired before a GM map is stopped.

Supported map settings

The following settings from the registry are applied by the map manager when a map is started:
gamespeed [number]: The map's game speed.
gravity [number]: The map's gravity.
time [string of the form hh:mm]: The map's time.
weather [number]: The map's weather ID.
waveheight [number]: The map's wave height.
locked_time [boolean]: Whether the set time will be frozen by the manager or not.
minplayers [number]: The required minimum number of players to start the map.
maxplayers [number]: The allowed maximum number of players to start the map.