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/YOUR-USER/khanat-code/code/ryzom/common/data_leveldesign/leveldesign/Game_elem/sheet_id.bin /home/YOUR-USER/khanat-code/code/ryzom/common/data_leveldesign/leveldesign/Game_elem /home/YOUR-USER/Khanat-code/code/ryzom/common/data_leveldesign/leveldesign/game_element /home/YOUR-USER/khanat-code/
$ cd /home/YOUR-USER/khanat-code/code/ryzom/common/data_leveldesign/leveldesign/
$ /home/YOUR-USER/khanat-code/code/build/bin/make_sheet_id -o Game_elem/sheet_id.bin Game_elem game_element World
This file is copied into the client's /user directory on the client's computer, and is copied to sheets_id.bin (created/modified in /home/YOUR-USER/khanat-code/code/ryzom/common/data_leveldesign/leveldesign/Game_elem/ It is also copied to /home/YOUR-USER/khanat-code/code/ryzom/common/data_leveldesign/leveldesign/Game_elem/
We use the sheets_packer to get the * .packed_sheets:
Go to the /home/YOUR-USER/khanat-code/code/ryzom/tools/sheets_packer directory
Running the command: /home/YOUR-USER/khanat-code/code/build/bin/sheets_packer
The * .packed_sheets are manufactured in: /code/ryzom/client/data
These * .packed_sheets are copied to the client's /user directory on the client computer
Possibly:
We add a name to our object
- Edit creature_words_en.txt in /home/YOUR-USER/khanat-code/code/ryzom/server/data_shard/language
- Edit creature_en.txt in the $ client_dir $ /user
- Add to each a line of the type:
_A07A5C396E75AF9C arma My Arma at the Armas
Be careful to separate each field from a tab.
Place objects on the server by the World Editor
This places the object dynamically each time the server is restarted.
With the World Editor, tents are placed in the Pribitive BotObject of NewbieLand similar to the Watch Tower. It is recorded.
Make a copy/paste of the file on the local RC server.
We delete the packed_sheets from the server, which will recalculate them on the fly when it restarts:
$ shard stop
$ cd /home/YOUR-USER/khanat-code/code/ryzom/server/data_shard
$ rm * .packed_sheets
$ shard start
Temporarily added
We will invoke the object by a command that requires certain privileges: eventCreateNpcGroup Then call the object you want to appear:
/a eventCreateNpcGroup <<eid> <nbBots> <sheet> [<dispersionRadius = 10m> [<Y>]]]]]] ")
<player eid>: not necessary when the command is passed directly via chat, by default it is the player's EID that invokes (which must have GM privileges)
<nbBots>: number of objects
<sheet>: name of the datasheet of the object or name of the object in the latter
<dispersionRadius>: Angle on which pop will be made
<spawnBots>: ??
<orientation>: orientation of the object (self = identical to the invoker)
<name>: name to be given to the entity if you do not want the default
<x> <y>: pop center coordinates
datasheet Tutorial