====== 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}}