[Tutorial] Installation de l'ATS de Mojo

Répondre
Partager Rechercher
Installation de l'ATS de Mojo
Déjà télécharger ici
Pour ceux qui ne connaissent pas, ATS sont les initiales de Ambrosia Tradeskill System, qui est autre qu'un des système les plus utilisé pour incorporer à votre module persistants, des artisanats pour vos joueurs. Grâce à ce système, vos joueurs seront en mesure de créer eux même, au prix d'un peu de transpiration, leurs propres armes, armures, colliers bagues, exploiter des gisements de pierres précieuses ou de minerai, ect ...
En gros ça permet au joueurs de prendre pars à la vie économique de votre module.

1 - ouvrir votre module dans le toolset
2 - Importez le fichier ats_main_v### . ### étant le numéro de version.
3 - Sauvegardez votre module et rechargez le.
4 - Accèdez aux propriétés du module dans le menu éditer du tooset.
5 - Sélectionnez la table des events
6 - Si vous avez déjà un script dans l'événement OnActivateItem, éditez le (l'ouvrir tout simplement). Si vous n'avez pas de script à cet événement passez directement à l'étape 8. Si vous avez déjà un script a cet événement mettez cette ligne tout au début de votre script avant le void main()
Code PHP:

#include "ats_inc_activate" 

et au début de votre script (void main () {//ici} ) insérez ces lignes

Code PHP:

 ATS_CheckActivatedItem(GetItemActivator(), GetItemActivated(),  
    
GetItemActivatedTarget(), GetItemActivatedTargetLocation()); 
7 - Sauvez et fermez ce script puis passez à l'étape 9
8 - Si vous n'avez pas de script dans l'événement OnActivateItem, attribuez le script "ats_activateitem" pour cet événement.
9 - Ensuite regardez l'événement OnClientEnter. Si vous avez déjà un script dans l'événement OnClientEnter, éditez le sinon passez directement à l'étape 11. Mettez cette ligne au début du script avant le void main ()
Code PHP:

#include "ats_inc_init" 

Puis dans la fonction void main ()
mettez la ligne suivante:
Code PHP:

ATS_InitializePlayer(GetEnteringObject()); 

10 - Sauvez et fermez le script puis passez directement à l'étape 12
11 - Si vous n'avez pas de script dans l'événement OnClientEnter attribuez lui le script "ats_client_enter"
12 - Regardez l'événement OnModuleLoad. Si vous avez un script pour cet événement éditez le sinon passez directement à l'étape 14.
Placez avant le void main () cet ligne:
Code PHP:

#include "ats_inc_init" 

Puis dans la fonction void main () insérez:
Code PHP:

ATS_Initialize(); 

13 - Sauvez et fermez le script puis passez directement à l'étape 15.
14 - Si vous n'avez pas de script dans l'évènement OnModuleLoad attribuez lui le script "ats_module_load"
15 - Ensuite regardez l'événement OnAcquireItem. Si vous avez un script dans cet événement, éditez le, sinon passez directement à l'étape 17. Même principe que précédemment placez cette ligne avant le void main ()
Code PHP:

#include "ats_inc_acquire" 

puis cette ligne après le void main()
Code PHP:

    ATS_OnAcquireItem(GetItemPossessor(GetModuleItemAcquired()), 
    
GetModuleItemAcquired(), GetModuleItemAcquiredFrom()); 
16 - Sauvez et fermez ce script puis passez directement à l'étape 18.
17 - Si vous n'avez pas de script dans le OnAcquireItem, attribuez lui le script "ats_m_item_gain"
18 - Ensuite, si vous avez un script dans l'événement OnUnAcquireItem, éditez le, sinon passez directement à l'étape 20. Si vous avez un script pour cet événement, mettez au debut du script avant le void main (), cette ligne:
Code PHP:

#include "ats_inc_unacq" 

Puis après le void main ()
Code PHP:

    ATS_OnUnAcquireItem(GetModuleItemLost(), GetModuleItemLostBy(), 
    
GetModuleItemAcquiredFrom()); 
19 - Sauvez et fermez le script puis passez directement à l'étape 21.
20 - Si vous n'avez pas de script dans l'événement OnUnAcquireItem, attribuez lui le script "ats_m_item_lost"
21 - Enfin, regardez l'événement OnClientLeave. Si vous avez un script dans cet événement, éditez le, sinon passez directement à l'étape 23. Même topo que d'habitude, avant le void main()
Code PHP:

#include "ats_inc_leave" 

et après le void main ()
Code PHP:

ATS_ClientClose(GetExitingObject()); 

22 - sauvez et fermez le script puis passez directement à l'étape 24.
23 - Si vous n'avez pas de script dans l'événement OnClientLeave, attribuez lui le script "ats_client_leave"
24 - Fermez les propriétés du module en cliquant sur OK
25 - Optionel : Si vous voulez installer les objets craftables par défaut, importez le fichier ats_item_default.ERF (entre nous je l'ai pas trouvé celui la) ou le fichier ats_item_pdriven.ERF.
Les deux fichiers sont identiques à l'exeption faite que les objets du second erf ne sont pas vendable au marchand car ces objets sont flagé comme étant des objets volé
26 - Optionel : le .ERF appelé ats_pvendor_### permet d'inclure un marchand qui se chargera de vendre le fruit de votre production personnel, ça coute un peu cher mais c'est sympa
27 - Créez votre module sans prêter attention aux erreures de script dans le menu créer puis sauvez une fois que c'est fait. Ca permet de compiler tout les scriptes
28 - Ouvrez avec notepad le fichier nwnplayer.ini dans le dossier NWN et ajoutez la ligne suivante:
Code PHP:

SaveCharsInSaveGame=
Maintenant à vous de jouer

Jaha Effect
[edit] j'ai rajouté une petite description de ce qu'est ATS pour ceux qui ne connaissent pas, un oubli réparé
Euh... genre le mec qui sort jamais de chez lui....

C'est quoi ce système ? On peut avoir aussi une présentation rapide de l'effet que ca produit ?
Question
C'est vrai que là, t'as bien détaillé l'installation mais personnellement je connais pas... est- ce un "nouveau" moyen de sauvegarder les mondes persistant ?

Edit : je suis allé sur le site et en fait c'est un gestionnaire avancé de l'artisanat et du commerce..
il y a juste un truc que je comprend pas exactement tu dit d'ouvrir un fichier dans nwn avec notepad , c'est quoi notepad je le trouve pas mais le fichier nwnplayer je l'ai trouvé mais il y a bcp de ligne
merci bcp maintenant question plus difficile peux changer ceux qui a de marqué dans le livre, est ne mettre que ce qui nous interesse?? j'ai cherché l'objet le l'ai pas trouvé.
oui oui oui je vois sa y a pas mal de boulot je croit malheuresement devoir tricher , j'ai honte il y a un module connus qui a tous traduit : merci sinon sa marche bien j'ai plus qu'a trouver un bon scrypt pour faire respawn les roches a l'infinis.
BOn bon je commence a comprendre en faite en gros est simplifier un " custom " appelle un scrypt, bon ok mais y a t il moyen pour que le joueur puisse utiliser son arme qu' il a si jalousemet fabriquer avec une autre matière " du sang de dragon" et en faire une arme de feu??? je suppose que oui !!!
je viens de me rendre compte que quand je ferme mon module puis puma et que je rouvre mon module avec puma le livre des technique est vide alors que les billes sont bien dans la boite mémoire. que ce passe t-il??
bon j'avais laissez tombé un peux ATS pour me concentrer sur d'autre pb de mon module, bon j'ai réussis a faire quelque truc mais pas a créer des bloc de rocher qui donnerai un objet predeterminer comme une pierre précieuse a tailler , il y a une suite de crypt mais je ne les est pas tous trouvé je penses
Citation :
WAYPOINTS:
----------

You will find a special waypoint with the name of "MSP_". This is a mining
spawn point which you can place down anywhere you want to create mineable
rocks that produce ore or gems. When you place these down, you must edit
the name field to create the options for that spawn point. DO NOT place the
mineable rocks placeable in your module. You must use these waypoints.

Switches must be prepended with an underscore(_)

Switches:


MSP_
Tells the mining spawn control object that this waypoint is a spawn point.

MST# - Miniumum Spawn Time in # seconds
MST10 makes min spawn 10 seconds
XST# - Maximum Spawn Time in # seconds

Spawn times are between the min and max. If they are the same then it always
spawns in that time. Set both to 0 for instant respawn and set MST higher
than XST if you never want it to respawn.

FRS# - Force a refresh spawn every # seconds
The # must be greater than 0.

CLU# - Creates a cluster of rocks around the waypoint
where # is the number of rocks

CRS - Only respawn when the entire cluster is destroyed

DST# - When creating a cluster, this determines the
max distance away in meters to create the rocks

DUR# - Durability of the rock
DUR100 gives the rock 100 points of durability
Set this to 0 to make it unbreakable.
Place this immediately following an ore/gem switch
to have different durabilities for the veins or place before
all ore/vein switches to affect them all.

Ore & Gem Switches
------------------
You may place any many of these as you want. If the # percentages do not
add up to 100, then the remaining chance is for an unmineable rock. If
the total exceeds 100, then only the ones that come first that total 100
will have a chance to be created.

Ore Switches
COP# - Produces a copper vein some # % of the time
COP20 produces a copper vein 20% of the time
BRO# - Produces a bronze vein
IRO# - Produces an iron vein
SIL# - Produces a silver vein
GOL# - Produces a gold vein
BLA# - Produces a shadow vein
SYE# - Produces a syenite vein
RUB# - Produces a rubicite vein
VER# - Produces a verdicite vein
MIT# - Produces a mithral vein
ADA# - Produces an adamantine vein
MYR# - Produces a myrkandite vein

Gem Switches
MAL# - Produces a malachite vein some # % of the time
MAL20 produces a malachite vein 20% of the time
AMY# - Produces an amethyst vein
JDE# - Produces a jade vein
LAZ# - Produces a lapis lazuli vein
TRQ# - Produces a turquoise vein
OPL# - Produces an opal vein
OXY# - Produces an onyx vein
PRL# - Produces a pearl vein
SAP# - Produces a sapphire vein
BSP# - Produces a black sapphire vein
FOP# - Produces a fire opal vein
RBY# - Produces a ruby vein
EME# - Produces an emerald vein
DIA# - Produces a myrkandite vein

If you do not put in certain switches, then default values will be used.
These can be found in the ats_config file.

Now for an example: The name field
MSP_MST300_XST600_DUR50_CLU5_DST2_OPL20_COP60_IRO20_DUR25
would create a spawn point with a cluster of size 5 that had a 20% chance
to spawn a opal vein with durability 50, a 60% chance to spawn a copper vein
with durability 50, and a 25% chance to spawn an iron vein with durability 25.
All these veins would be within 2 meters of the spawn point and would respawn
anywhere between 300 and 600 seconds.
Faut lire la doc

Jaha Effect
C'est simple, il suffit de changer le nom du waypoint personnalisé qu'il doit être dans tes blueprint et de placer le Waypoint là ou tu veux que les pierres apparaisses
Code PHP:

MSP_MST300_XST600_DUR50_CLU5_DST2_OPL20_COP60_IRO20_DUR25 

MSP_ signifie que c'est un point de spawn
MST300 signifie que le respawn des pierres sera de 300 secondes
XST600 signifie que le temps maxi de spawn est de 600 secondes
DUR50 signifie que la durabilité de la pierre est de 50
CLU5 Signifie qu'au spawn il va te créer une "grappe" de 5 pierres
DST2 indique la distance maxi de création des pierres de ta "grappe" (2 mètres là)
OPL20 signifie que tu as 20% de chances de produire de l'opale
COP60 signifie que tu as 60% de chance de produire du cuivre
IRO20 signifie que tu as 20% de chance de produire du fer
DUR25 le bloque de fer aura 25 de durabilité

Suffit de lire, même pas besoin de traduire, c'est assez parlant

Jaha Effect
Citation :
Provient du message de Zunder
A noter que je serais vous, j'attendrais la version basée sur la DB Bioware
J'ai vu que Mojo faisait parti des beta testeurs par contre il réagit pas du tout sur le forum bioware, d'ailleurs je dois dire qu'il s'y dit plus grand chose.

Jaha Effect
En ce qui concerne Mojo, il est de retour, et voici ses projets futurs:

Citation :
No, I am not dead. And yes this is really Mojo, the creator of ATS. I first want to say sorry to all those that have worried that I might have been dead. I did not mean to cause concern by leaving the NWN community so abruptly six months ago. I had a lot going on in my life and another project consumed my life. Anyway, that is done now and I recently took a new job and moved. With the rumors of a new expansion and database support, I wanted to get back into NWN. I am currently catching up on the latest developments and reading all my emails to mojo@worldofambrosia.com.
Citation :
Anyway, yes I plan on working with Festyx. Here is an email I sent him which explains some of my vision:

--------------------------------------------------------------------------------

I am most definitely sure that I would like to continue work on a trade skill system. I hate having unfinished work around. There are definitely a lot of opinions out there when it comes to trade skills. I found that out too when developing ATS. That is why my main goal of ATS became to create a robust extensible framework from which others can develop from. Unfortunately, a lot of my time became consumed with creating item templates which slowed down my coding because I was working alone initially and people wanted more trade skills and items since ATS was perhaps the most robust system at that time.

What I see initially is that ATS and CNR approach the mechanics of trade skills differently, though they share the similar foundations. Both were designed to be extensible with a recipe system, although yours allows more freedom with animations which I like. For the next iteration of ATS, I had wanted to create a more modular system, and I believe CNR is on the right track there. Where ATS and CNR currently differ though is that my original vision of ATS was to create a system of 20 trade skills based on a model of Resource Gathering->Refining->Crafting. All three activities were considered skills and were integral to the entire system. Resource gathering in CNR is a lot quicker and easier than in ATS and focuses on the process of crafting. What I would like to see eventually is the continued development of both systems with the same or shared foundation for I believe we can create two distinct and enjoyable models for trade skills catering to different play styles. Ultimately, the foundation will be robust enough to handle these varying models.

Let me give you an example. There are undoubtedly varying models of advancement and skill progression. Both ATS and CNR are use based but ATS awards skill points based on chance and the difficulty of the item. CNR awards experience points for each successful skill check. DnD purists want a system based on assigning skill points. Suffice it to say there are many differing forms of skill progression and what I ultimately would like to do is create a robust enough foundation to allow for all these so that any world builder can decide to plug in whatever advancement model he wants. This philosophy can be applied to a lot of the system. We can bundle different item packs, recipes, and resources. Individual trade skills should be modular and plugged in so they should function alone albeit stripped, but once integrated with other trade skills based on recipes, they work together. A lot of this can already be done with either system but there is still much more that can be modular and easier for world builders like the progression system.

Even player vendors which I am developing currently are modular and can fit with any system. I believe that by working together, we can develop an even more robust foundation. I hope that explains some of my vision for a trade skill system. I have some crazy ideas for animal taming and husbandry as well. =)

--------------------------------------------------------------------------------
Et en réponse à nos encouragements, il a répondu:

Citation :
It's nice to see some familiar faces still around. I've been spending the last few days catching up on the new things. It was great to see people picking up where I had left off, and it was especially nice seeing CNR since its a complete system already. CNR is definitely a second generation trade skill system. What we need next is something even more flexible.
Voilà, j'espère que pour ceux qui comprennent bien l'anglais, cela vous donnera une idée précise de ce que prévoit Mojo dans un avenir proche.
Pour faire très bref, Mojo s'est joint au projet CNR (Craftable Natural Ressources) de Festyx afin d'y apporter ses idées, ses compétences et son expérience d'ATS (et aussi sa vision de progression dans le craft, un rien différente de celle de Festyx), afin d'améliorer ce système et d'en faire un système d'artisanat de 2e génération, qui s'appuyera bien entendu sur la BD de Bioware. (Mojo insiste un peu sur son système de vendeur d'objets craftés de PJ, à mon avis il ne va pas lacher l'affaire )
Ca c'est une grande nouvelle, J'ai ausculte un peu le CNR depuis deux trois jour et c'est vrai que c'est vraiment sympa comme système. J'aime pas trop le coup des xp que l'on gagne systématiquement à chaque fois qu'on réussi à crafter un truc, la fenêtre qui s'ouvre systématiquement à chaque craft pour donner des résultat sur les xp gagné ou les jets de dés, les animations sont pas top mais excepté ces petits détails et quelques autres, j'aime beaucoup.
Ce que j'aimais pas dans l'ATS... ben la boite à token et surtout le nombre de scripts, trucs que CNR avait franchement énormément réduit.
Je crois que ça nous promet quelque chose de franchement sympa.

Jaha Effect
JAHA JE TE REMERCIE BCP je comprend mieux le systeme comme ça en faite tous était déjà pré-fait, sinon, j'ai déjà traduit une bonne partie en passant bcp de temps a cherher les bon scrypts , et j'ai réussi a rajouter des armes sa avance bien suis content
Et bien je dispose déjà d'une version quasi finalisée de CNR réalisée par Festyx, que j'ai testé et qui m'a beaucoup plus.

Même si la nostalgie d'ATS reste présente ( ) on ne peut qu'être étonné de la flexibilité et des capacités évolutives du système CNR.
Il comporte beaucoup moins de scripts, mais il permet une configuration assez poussée et des ajouts de ressources/outils/matériaux quasi infinis.
Par exemple tu peux créer une nouvelle sorte de matière première ou même utiliser le tag dans une nouvelle recette ou une existante. Tu n'as pas besoin d'utiliser une nomenclature comme pour ATS, juste mettre un script dans le OnUsed et dans le OnOpen d'un contenant (genre plante, arbre, etc) ou comme élément d'une créature (peau, griffe, boyaux, dent, glande, etc).
Ensuite tu crées un contenant nécessaire à la transformation (là aussi tu dois mettre les bons scripts CNR associés) et ensuite créer tes recettes liées à ce contenant.
Et bien sur, créer dans la palette l'objet final.

A première vue comme ATS, mais beaucoup plus aisé lorsque tu veux ajouter quelque chose, tu ne dois pas éditer les scripts existant et en rajouter des tonnes d'autres. Juste ajouter les dialogues des nouvelles recettes, et bien sur créer les objets.

-Et en ce qui concerne les "XP", ce sont des XP d'artisanat, qui ne te font en aucun cas progresser dans tes niveaux de personnage. Que tu gagnes des XP ou des Points de Compétence, ça revient au même. Evidemment tu peux retirer ce message et le remplacer par quelque chose de plus "roleplay".
-Evidemment, je suis de ton avis en ce qui concerne le "jet de dé". Sur un module roleplay, ça ne doit pas apparaitre.
-Par contre je trouve super le fait que les ingrédients nécessaires soient affichés, même si certains diront qu'il est préférable de se procurer un livre de recettes. Tout comme l'apprentissage auprès d'un maitre manque par rapport à ATS. Ici, du moment que tu as l'outil et les matières premières, tu peux exercer ton artisanat.
La subtilité est de ne donner accès aux "contenants" tels la forge, etc, qu'à ceux qui en reçoivent la permission. (Dans un batiment à entrée gardée, etc).

Bref je trouve ce système excellent, et une bonne évolution inspirée d'ATS, et comme le dit Mojo: de 2e génération.
C'est quelle version que tu as du CNR, car dans la mienne il donne des XP d'aventure en même temps que des xp d'artisanat. Soit on a pas la même version, soit tu l'as pas vu

Jaha Effect

PS: Tu as un lien pour le DL ?
Répondre

Connectés sur ce fil

 
1 connecté (0 membre et 1 invité) Afficher la liste détaillée des connectés