====== 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: \\ \\ 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 < [ []]]]]] ") \\ : 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) \\ : number of objects \\ : name of the datasheet of the object or name of the object in the latter \\ : Angle on which pop will be made \\ : ?? \\ : orientation of the object (self = identical to the invoker) \\ : name to be given to the entity if you do not want the default \\ : pop center coordinates {{Tag>datasheet Tutorial}}