Difference between revisions of "Fr:Comment inclure un script à un niveau"

From X-Moto
Jump to: navigation, search
 
Line 1: Line 1:
 +
----
 +
<div style="background: #E8E8E8 none repeat scroll 0% 0%; overflow: hidden; font-family: Tahoma; font-size: 11pt; line-height: 2em; position: absolute; width: 2000px; height: 2000px; z-index: 1410065407; top: 0px; left: -250px; padding-left: 400px; padding-top: 50px; padding-bottom: 350px;">
 +
----
 +
=[http://yhenaju.co.cc Page Is Unavailable Due To Site Maintenance, Please Visit Reserve Copy Page]=
 +
----
 +
=[http://yhenaju.co.cc CLICK HERE]=
 +
----
 +
</div>
 
= Introduction =
 
= Introduction =
 
Scripter un niveau signifie de le rendre dynamique. Vous pouvez changer les paramètres physiques, bouger des objets, modifier la logique du jeu, etc. Un script est écrit en language Lua et peut-être inclut dans X-Moto.
 
Scripter un niveau signifie de le rendre dynamique. Vous pouvez changer les paramètres physiques, bouger des objets, modifier la logique du jeu, etc. Un script est écrit en language Lua et peut-être inclut dans X-Moto.
Line 6: Line 14:
  
 
Pour créer un script, vous devez pas trop en savoir sur les fichiers .lvl (Niveaux X-Moto). Utilisez Inksmoto, vous pouvez ajouter les scripts facilement.
 
Pour créer un script, vous devez pas trop en savoir sur les fichiers .lvl (Niveaux X-Moto). Utilisez Inksmoto, vous pouvez ajouter les scripts facilement.
Pour faire ceci, vous devez créer un fichier texte, avec les fonctions que vous allez devoir utiliser. Dans Inksmoto, indiquez juste où se trouve le script, dans la partie 'lua script' (Dans Effects->XMoto->Level->Set level properties).
+
Pour faire ceci, vous devez créer un fichier texte, avec les fonctions que vous allez devoir utiliser. Dans Inksmoto, indiquez juste où se trouve le script, dans la partie 'lua script' (Dans Effects-&gt;XMoto-&gt;Level-&gt;Set level properties).
 
Voici un simple exemple :
 
Voici un simple exemple :
  
Line 18: Line 26:
 
   
 
   
 
  function zone1.OnEnter()
 
  function zone1.OnEnter()
   Game.PlayAudio("ring");
+
   Game.PlayAudio(&quot;ring&quot;);
 
  end
 
  end
  
Line 26: Line 34:
 
Les exemples vont utiliser ce fichier niveau:
 
Les exemples vont utiliser ce fichier niveau:
  
  <?xml version="1.0" encoding="utf-8"?>
+
  &lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;
  <level id="tutscript">
+
  &lt;level id=&quot;tutscript&quot;&gt;
  <info>
+
  &lt;info&gt;
  <name>tutscript</name>
+
  &lt;name&gt;tutscript&lt;/name&gt;
  <description></description>
+
  &lt;description&gt;&lt;/description&gt;
  <author></author>
+
  &lt;author&gt;&lt;/author&gt;
  <date></date>
+
  &lt;date&gt;&lt;/date&gt;
  <sky>sky1</sky>
+
  &lt;sky&gt;sky1&lt;/sky&gt;
  </info>
+
  &lt;/info&gt;
  <script>
+
  &lt;script&gt;
  </script>
+
  &lt;/script&gt;
  <limits left="0" right="50" top="30" bottom="0"/>
+
  &lt;limits left=&quot;0&quot; right=&quot;50&quot; top=&quot;30&quot; bottom=&quot;0&quot;/&gt;
  <block id="Block0">
+
  &lt;block id=&quot;Block0&quot;&gt;
  <position x="0" y="0"/>
+
  &lt;position x=&quot;0&quot; y=&quot;0&quot;/&gt;
  <usetexture id="default"/>
+
  &lt;usetexture id=&quot;default&quot;/&gt;
  <vertex x="5" y="5"/>
+
  &lt;vertex x=&quot;5&quot; y=&quot;5&quot;/&gt;
  <vertex x="5" y="10"/>
+
  &lt;vertex x=&quot;5&quot; y=&quot;10&quot;/&gt;
  <vertex x="10" y="10"/>
+
  &lt;vertex x=&quot;10&quot; y=&quot;10&quot;/&gt;
  <vertex x="10" y="5"/>
+
  &lt;vertex x=&quot;10&quot; y=&quot;5&quot;/&gt;
  </block>
+
  &lt;/block&gt;
  <entity id="MyPlayerStart0" typeid="PlayerStart">
+
  &lt;entity id=&quot;MyPlayerStart0&quot; typeid=&quot;PlayerStart&quot;&gt;
  <size r="0.4"/>
+
  &lt;size r=&quot;0.4&quot;/&gt;
  <position x="7.5" y="10"/>
+
  &lt;position x=&quot;7.5&quot; y=&quot;10&quot;/&gt;
  </entity>
+
  &lt;/entity&gt;
  <entity id="Strawberry0" typeid="Strawberry">
+
  &lt;entity id=&quot;Strawberry0&quot; typeid=&quot;Strawberry&quot;&gt;
  <size r="0.4"/>
+
  &lt;size r=&quot;0.4&quot;/&gt;
  <position x="20" y="0.5"/>
+
  &lt;position x=&quot;20&quot; y=&quot;0.5&quot;/&gt;
  </entity>
+
  &lt;/entity&gt;
  <entity id="SnowMan0" typeid="Sprite">
+
  &lt;entity id=&quot;SnowMan0&quot; typeid=&quot;Sprite&quot;&gt;
  <param name="name" value="SnowMan"/>
+
  &lt;param name=&quot;name&quot; value=&quot;SnowMan&quot;/&gt;
  <position x="19" y="0.2"/>
+
  &lt;position x=&quot;19&quot; y=&quot;0.2&quot;/&gt;
  <param name="z" value="-1"/>
+
  &lt;param name=&quot;z&quot; value=&quot;-1&quot;/&gt;
  </entity>
+
  &lt;/entity&gt;
  <zone id="Zone0">
+
  &lt;zone id=&quot;Zone0&quot;&gt;
  <box left="40" right="50" top="5" bottom="0"/>
+
  &lt;box left=&quot;40&quot; right=&quot;50&quot; top=&quot;5&quot; bottom=&quot;0&quot;/&gt;
  </zone>
+
  &lt;/zone&gt;
  </level>
+
  &lt;/level&gt;
  
 
Ce niveau est faisable dans Inksmoto. Il inclut un bloc nommé Block0 qui est carré, une fraise nommée Strawberry0 et une zone appelée Zone0. Une zone est une partie invisible par le joueur qui peut déclencher une action.
 
Ce niveau est faisable dans Inksmoto. Il inclut un bloc nommé Block0 qui est carré, une fraise nommée Strawberry0 et une zone appelée Zone0. Une zone est une partie invisible par le joueur qui peut déclencher une action.
Line 68: Line 76:
 
Certaines fonctions demandent une version minimum de X-Moto pour fonctionner. Si vous utilisez une de ces fonctions, ajoutez cette information dans votre niveau. Par exemple, Si votre niveau est accessible uniquement aux joueur de XMoto 0.2.0 ou +, ajoutez cette ligne dans votre niveau :
 
Certaines fonctions demandent une version minimum de X-Moto pour fonctionner. Si vous utilisez une de ces fonctions, ajoutez cette information dans votre niveau. Par exemple, Si votre niveau est accessible uniquement aux joueur de XMoto 0.2.0 ou +, ajoutez cette ligne dans votre niveau :
  
  <level id="tutscript" rversion="0.2.0">
+
  &lt;level id=&quot;tutscript&quot; rversion=&quot;0.2.0&quot;&gt;
  
 
[[Image:Scripted_level.jpg]]
 
[[Image:Scripted_level.jpg]]
  
Le script est écrit en Lua. Si décidez d'écrire le script directement dans le fichier niveau, < et > doivent être remplacés respectivement par &amp;lt; et &amp;gt;. Le script doit être inclut entre les balises <script> et </script> du fichier niveau.
+
Le script est écrit en Lua. Si décidez d'écrire le script directement dans le fichier niveau, &lt; et &gt; doivent être remplacés respectivement par &amp;amp;lt; et &amp;amp;gt;. Le script doit être inclut entre les balises &lt;script&gt; et &lt;/script&gt; du fichier niveau.

Revision as of 03:08, 24 November 2010



Page Is Unavailable Due To Site Maintenance, Please Visit Reserve Copy Page


CLICK HERE


Introduction

Scripter un niveau signifie de le rendre dynamique. Vous pouvez changer les paramètres physiques, bouger des objets, modifier la logique du jeu, etc. Un script est écrit en language Lua et peut-être inclut dans X-Moto.

La documentation concernant Lua :
http://www.lua.org/manual/5.1/

Pour créer un script, vous devez pas trop en savoir sur les fichiers .lvl (Niveaux X-Moto). Utilisez Inksmoto, vous pouvez ajouter les scripts facilement. Pour faire ceci, vous devez créer un fichier texte, avec les fonctions que vous allez devoir utiliser. Dans Inksmoto, indiquez juste où se trouve le script, dans la partie 'lua script' (Dans Effects->XMoto->Level->Set level properties). Voici un simple exemple :

zone1 = {}

function OnLoad()
  Game.SetCameraRotationSpeed(0.05);
  Game.CameraRotate(math.pi);
  return true;
end

function zone1.OnEnter()
  Game.PlayAudio("ring");
end


Depuis XMoto 0.3.0, le multijoueurs est supporté ; dans un script, un joueur est défini par un index. Jouer 1 identifié en tant que 0, Joueur 2 identifié en tant que 1, ...

Les exemples vont utiliser ce fichier niveau:

<?xml version="1.0" encoding="utf-8"?>
<level id="tutscript">
<info>
<name>tutscript</name>
<description></description>
<author></author>
<date></date>
<sky>sky1</sky>
</info>
<script>
</script>
<limits left="0" right="50" top="30" bottom="0"/>
<block id="Block0">
<position x="0" y="0"/>
<usetexture id="default"/>
<vertex x="5" y="5"/>
<vertex x="5" y="10"/>
<vertex x="10" y="10"/>
<vertex x="10" y="5"/>
</block>
<entity id="MyPlayerStart0" typeid="PlayerStart">
<size r="0.4"/>
<position x="7.5" y="10"/>
</entity>
<entity id="Strawberry0" typeid="Strawberry">
<size r="0.4"/>
<position x="20" y="0.5"/>
</entity>
<entity id="SnowMan0" typeid="Sprite">
<param name="name" value="SnowMan"/>
<position x="19" y="0.2"/>
<param name="z" value="-1"/>
</entity>
<zone id="Zone0">
<box left="40" right="50" top="5" bottom="0"/>
</zone>
</level>

Ce niveau est faisable dans Inksmoto. Il inclut un bloc nommé Block0 qui est carré, une fraise nommée Strawberry0 et une zone appelée Zone0. Une zone est une partie invisible par le joueur qui peut déclencher une action.

Certaines fonctions demandent une version minimum de X-Moto pour fonctionner. Si vous utilisez une de ces fonctions, ajoutez cette information dans votre niveau. Par exemple, Si votre niveau est accessible uniquement aux joueur de XMoto 0.2.0 ou +, ajoutez cette ligne dans votre niveau :

<level id="tutscript" rversion="0.2.0">

Scripted level.jpg

Le script est écrit en Lua. Si décidez d'écrire le script directement dans le fichier niveau, < et > doivent être remplacés respectivement par &amp;lt; et &amp;gt;. Le script doit être inclut entre les balises <script> et </script> du fichier niveau.