Logo Khaganat
This translation is older than the original page and might be outdated. See what has changed.
Translations of this page?:

This is an old revision of the document!


Creating a new object

Tutorial being edited/tested/modified

Example of creating a “Tent” object!

Copy the file: L:\leveldesign\game_elem\creature\objects\object_watch_tower.creature
in
L:\leveldesign\Game_elem\creature\objects\object_tent_01.creature

Open this file and change line 8 by:
<ATOM Name = “Item” Value = “GE_Mission_tente.shape” />
which is the .shape file of our new object

We use the software make_sheet_id in /code/build/ bin to get a sheets_id.bin:
$ cd /home/YOUR-USER/khanat-code/ryzomcore/code/build/bin /
$ ./make_sheet_id -o /home/khanat/ryzomcore/code/ryzom/common/data_leveldesign/leveldesign/Game_elem/sheet_id.bin /home/YOUR-USER/khanat-code/ /ryzomcore / code / ryzom / common / data_leveldesign / leveldesign / Game_elem / home / Khanat / ryzomcore / code / ryzom / common / data_leveldesign / leveldesign / game_element / home / khanat /
$ 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 <player eid> <nbBots> <sheet> [<dispersionRadius=10m> [<spawnBots=true> [<orientation=random|self|-360..360> [<name> [<x> [<y>]]]]]]")


<player eid> : 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)
<nbBots> : nombre d'objets
<sheet> : nom de la datasheet de l'objet ou nom de l'objet dans cette dernière
<dispersionRadius> : Angle sur lequelle pop va se faire
<spawnBots> : ??
<orientation> : orientation de l'objet (self=identique à l'invocateur)
<name> : nom à donner à l'entité si on ne veut pas celui par défaut
<x> <y> : coordonnées du centre du pop

CC Attribution-Share Alike 4.0 International Driven by DokuWiki
en/creation_nouvel_objet.1482742775.txt.gz · Last modified: 2021/12/03 19:18 (external edit)

Licences Mentions légales Accueil du site Contact