====== Création d'un nouvel objet ======
Tutoriel en cours de rédaction/test/modification
Exemple de la création d'un objet "Tente"
Copier le fichier :
L:\leveldesign\game_elem\creature\objects\object_watch_tower.creature
\\ en
\\ L:\leveldesign\Game_elem\creature\objects\object_tent_01.creature
Ouvrir ce fichier et changer la ligne 8 par :
\\
\\ qui est le fichier .shape de notre nouvel objet
On utilise le logiciel make_sheet_id dans /code/build/bin pour obtenir un sheets_id.bin :
\\ $ cd /home/khanat/ryzomcore/code/build/bin/
\\ $ ./make_sheet_id -o /home/khanat/ryzomcore/code/ryzom/common/data_leveldesign/leveldesign/Game_elem/sheet_id.bin /home/khanat/ryzomcore/code/ryzom/common/data_leveldesign/leveldesign/Game_elem /home/khanat/ryzomcore/code/ryzom/common/data_leveldesign/leveldesign/game_element /home/khanat/ryzomcore/code/ryzom/common/data_leveldesign/leveldesign/World
\\ ou bien :
\\ $ cd /home/khanat/ryzomcore/code/ryzom/common/data_leveldesign/leveldesign/
\\ $ /home/khanat/ryzomcore/code/build/bin/make_sheet_id -o Game_elem/sheet_id.bin Game_elem game_element World
On copie ce fichier sheets_id.bin (créé/modifié dans /home/khanat/ryzomcore/code/ryzom/common/data_leveldesign/leveldesign/Game_elem/ ) dans le répertoire /user du client sur l'ordinateur du client
On le copie aussi dans /home/khanat/ryzomcore/code/ryzom/common/data_leveldesign/leveldesign/Game_elem/ (remplacer l'ancien éventuellement)
On utilise le sheets_packer pour obtenir les *.packed_sheets :
\\ \\ Aller dans le répertoire /home/khanat/ryzomcore/code/ryzom/tools/sheets_packer
Lancer la commande : /home/khanat/ryzomcore/code/build/bin/sheets_packer
\\ Les *.packed_sheets sont fabriqués dans : ryzomcore/code/ryzom/client/data
\\ On copie ces *.packed_sheets dans le répertoire /user du client sur l'ordinateur du client
A faire éventuellement :
\\ On ajoute un nom à notre objet
* Éditer le creature_words_en.txt dans /home/khanat/ryzomcore/code/ryzom/server/data_shard/language
* Éditer creature_en.txt dans le $client_dir$/user
* Ajouter à chacun une ligne du type :
\\ _A07A5C396E75AF9C arma My Arma a the Armas the
\\ Attention à bien séparer d'une tabulation chaque champ.
===== Placer des objets sur le serveur par le World Editor =====
Cela place l'objet de façon dynamique à chaque redémarrage du serveur
Avec le World Editor, on place des tentes dans la Primitive BotObject de NewbieLand de façon similaire à la Watch Tower. On enregistre.
\\ Faire un copier/coller du fichier sur le serveur RC local
On efface les packed_sheets du serveur, qui les recalculera à la volée lorsqu'il redémarrera :
\\ $ shard stop
\\ $ cd /home/khanat/ryzomcore/code/ryzom/server/data_shard
\\ $ rm *.packed_sheets
\\ $ shard start
===== Ajout temporaire =====
On va invoquer l'objet par une commande qui nécessite certains privilèges : //eventCreateNpcGroup//
Puis ensuite appeler l'objet que l'on veut faire apparaitre :
/a eventCreateNpcGroup [ [ [ [ [ []]]]]]")
\\ : pas nécessaire quand la commande est passée directement via le chat, par défaut c'est le EID du joueur qui invoque (qui doit avoir des privilèges de GM)
\\ : nombre d'objets
\\ : nom de la datasheet de l'objet ou nom de l'objet dans cette dernière
\\ : Angle sur lequelle pop va se faire
\\ : ??
\\ : orientation de l'objet (self=identique à l'invocateur)
\\ : nom à donner à l'entité si on ne veut pas celui par défaut
\\ : coordonnées du centre du pop
{{tag>datasheet Tutoriel}}