FR/A propos des Map: Difference between revisions
(Problème du "rgb(127, 0, 127);" class="sectionSubCaption">Resource" Résolu) |
|||
Line 102: | Line 102: | ||
Renvoie une table des tout les modes de jeu et leur pointeurs. | Renvoie une table des tout les modes de jeu et leur pointeurs. | ||
<syntaxhighlight lang="lua">table getGamemodesCompatibleWithMap ( resource theMap )</syntaxhighlight> | <syntaxhighlight lang="lua">table getGamemodesCompatibleWithMap ( resource theMap )</syntaxhighlight> | ||
Retourne une table de tout les modes de jeu compatibles. | |||
<syntaxhighlight lang="lua">table getMaps ( )</syntaxhighlight> | <syntaxhighlight lang="lua">table getMaps ( )</syntaxhighlight> | ||
Reourne une table de toutes les ressources en rapport avec la map. | |||
<syntaxhighlight lang="lua">table getMapsCompatibleWithGamemode ( [ resource theGamemode ] )</syntaxhighlight> | <syntaxhighlight lang="lua">table getMapsCompatibleWithGamemode ( [ resource theGamemode ] )</syntaxhighlight> | ||
Retourne une table de tout les modes de jeu compatibles. Si l'argument "theGamemode" est inexistant, ça retourne toutes les maps qui n'ont aucun mode de jeu compatible.. | |||
<syntaxhighlight lang="lua">resource getRunningGamemode ( )</syntaxhighlight> | <syntaxhighlight lang="lua">resource getRunningGamemode ( )</syntaxhighlight> | ||
Renvoie le mode de jeu actif. | |||
<syntaxhighlight lang="lua">resource getRunningGamemodeMap ( )</syntaxhighlight> | <syntaxhighlight lang="lua">resource getRunningGamemodeMap ( )</syntaxhighlight> | ||
Renvoie le mode de jeu de la map en cours. | |||
<syntaxhighlight lang="lua">bool isGamemode ( resource theGamemode )</syntaxhighlight> | <syntaxhighlight lang="lua">bool isGamemode ( resource theGamemode )</syntaxhighlight> | ||
Déterminie si une ressources est un mode de jeu ou pas. | |||
<syntaxhighlight lang="lua">bool isGamemodeCompatibleWithMap ( resource theGamemode, resource theMap )</syntaxhighlight> | <syntaxhighlight lang="lua">bool isGamemodeCompatibleWithMap ( resource theGamemode, resource theMap )</syntaxhighlight> | ||
Déterminie si une map est compatible avec un mode de jeu ou pas. | |||
<syntaxhighlight lang="lua">bool isMap ( resource theMap )</syntaxhighlight> | <syntaxhighlight lang="lua">bool isMap ( resource theMap )</syntaxhighlight> | ||
Détermine si ressources est une map ou pas. | |||
<syntaxhighlight lang="lua">bool isMapCompatibleWithGamemode ( resource theMap, resource theGamemode )</syntaxhighlight> | <syntaxhighlight lang="lua">bool isMapCompatibleWithGamemode ( resource theMap, resource theGamemode )</syntaxhighlight> | ||
Déterminie si une map est compatible avec un gamemode ou pas. | |||
<syntaxhighlight lang="lua">bool stopGamemode ( )</syntaxhighlight> | <syntaxhighlight lang="lua">bool stopGamemode ( )</syntaxhighlight> | ||
Arrêter le mode de jeux actif ainsi que la map chargée. | |||
<syntaxhighlight lang="lua">bool stopGamemodeMap ( )</syntaxhighlight> | <syntaxhighlight lang="lua">bool stopGamemodeMap ( )</syntaxhighlight> | ||
Arrêter la map active. | |||
==Fired events== | ==Fired events== |
Revision as of 14:20, 3 April 2014
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 )
Retourne une table de tout les modes de jeu compatibles.
table getMaps ( )
Reourne une table de toutes les ressources en rapport avec la map.
table getMapsCompatibleWithGamemode ( [ resource theGamemode ] )
Retourne une table de tout les modes de jeu compatibles. Si l'argument "theGamemode" est inexistant, ça retourne toutes les maps qui n'ont aucun mode de jeu compatible..
resource getRunningGamemode ( )
Renvoie le mode de jeu actif.
resource getRunningGamemodeMap ( )
Renvoie le mode de jeu de la map en cours.
bool isGamemode ( resource theGamemode )
Déterminie si une ressources est un mode de jeu ou pas.
bool isGamemodeCompatibleWithMap ( resource theGamemode, resource theMap )
Déterminie si une map est compatible avec un mode de jeu ou pas.
bool isMap ( resource theMap )
Détermine si ressources est une map ou pas.
bool isMapCompatibleWithGamemode ( resource theMap, resource theGamemode )
Déterminie si une map est compatible avec un gamemode ou pas.
bool stopGamemode ( )
Arrêter le mode de jeux actif ainsi que la map chargée.
bool stopGamemodeMap ( )
Arrêter la map active.
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.