[Tutorial] Installation de l'ATS de Mojo

Répondre
Partager Rechercher
Le système d'artisanat ultime ce serait quand meme qu les compétences d'artisanat soient dans la liste des compétences du PJ... Oui je sais je fantasme.

Le truc que je reproche aux systèmes que j'ai vus jusqu'ici, c'est qu'ils ont tendance a pousser au grosbillisme : au lieu de tuer des monstres, les joueurs passent leur temps a entrainer leurs skills... Enfin c'est ptet mieux foutu dans le CNR, j'ai pas testé.
Jaha, Dans le script "cnr_config_inc" tu as cette option:
Code PHP:

// game XP (not trade XP) awarded on recipe success
int CNR_BOOL_GAME_XP_SCALAR_ENABLED FALSE;
float CNR_FLOAT_GAME_XP_SCALAR 0.2
Dans la version que tu as testé ça devait être sur TRUE. (par défaut elle est sur FALSE).

Si ça intéresse des gens, nous avons un module de test de CNR en français où nous expérimentons et testons tous les artisanats mis en place afin de développer des systèmes plus cohérents.

Le Forum dédié:

Forum CNR-VF
Ah oui j'avais pas fait gaffe aux scripte de config, j'étais plutôt penché sur le livre d'avancement moi
Lol, la seul partie du forum que je lis pas, décidément j'accumule

Jaha Effect

[Edit] Si tu pouvais mettre le lien du fichier directement ça serait cool
Citation :
Provient du message de Zunder
Le système d'artisanat ultime ce serait quand meme qu les compétences d'artisanat soient dans la liste des compétences du PJ... Oui je sais je fantasme.
J'ai vu un truc dans le genre sur le vault, si je le retrouve, et que personne n'a choppé le lien avant moi, je te le file.

Citation :
Le truc que je reproche aux systèmes que j'ai vus jusqu'ici, c'est qu'ils ont tendance a pousser au grosbillisme : au lieu de tuer des monstres, les joueurs passent leur temps a entrainer leurs skills... Enfin c'est ptet mieux foutu dans le CNR, j'ai pas testé.
Je suis tout à fait d'accord, j'avais pour idée de faire un système qui, dès la création donne des points à répartir dans les compétences d'artisanat, et ce, parce que je trouve que c'est un plus indéniable au module, au Roleplay. Et, éventuellement, après création du perso, de voir à augmenter grace à des animations, scénarios. Mais c'est pour un semi-persistant et très spécifique à mon module. Ët ce, pour que les joueurs ne fassent pas ce que tu dis, ce que j'ai pu remarquer sur mon précédent module, avec l'ATS.
Mais pour un persistant, je ne vois pas quel serait le système ultime.
"Ultime" je sais pas, mais des compétences d'artisanat traitées comme des compétences normales (qui pompent des pts de comp a chaque lvl, etc...) ca me parait très bien
Ouais, enfin je crois qu'il faut quand même scripter tous les résultats des compétences. Donc, c'est pas du gateau quand même, puis, je trouve quand même pas ça super logique (mais c'est D&D, alors bon, j'ai jamais été fan... Ralala) de progresser en tapant du streum pour des compétences d'artisanat.
Et surtout, ça ne résout pas le problème de la course à la puissance.
Sur Valprofond nous étions confrontés également à cette course à la puissance.
A cela, quelques parades habiles:

- Rendre les ressources plus difficiles à trouver. (Par exemple les minerais les plus rares étaient dans des endroits inconnus, non référencés et souvent très dangereux)
Mais également ne pas permettre que la récolte de ressources naturelles soit automatique. Par exemple pour la cueillette, instaurez un jet de fouille, ou encore un jet de premier soin s'il s'agit d'une plante médicinale. Et bien sur allongez les temps de respawn. Sans ressources, un artisan ne peut pas grobilliser.
- Allonger le temps nécessaire pour la création artisanale (ne pas lésiner sur les ActionWait dans les scripts ATS ou CNR de création, si on se rapproche du réalisme, on ne fabrique pas 20 armures de plate en une heure. Quand le joueur devra attendre 20 minutes IRL pour faire une armure, il arrêtera la course à la puissance )
- Ne pas permettre la revente des objets d'artisan à des PNJ, sauf dans le cadre de "commandes". Par exemple la milice de la ville peut commander 20 épées longues et le forgeron qui leur fera le meilleur prix remportera le marché. Mais les marchands classiques n'achèteront rien (mettez les objets en "Stolen" si vous utilisez le système standard de Bioware, mais je vous conseille d'utiliser un système de commerce plus souple et configurable, il y en a plusieurs valables sur le Vault où vous pouvez déterminer l'offre et la demande de façon assez complète).
- Réagir par le Roleplay, un exemple qui est arrivé sur Valprofond: il y avait un abus de cueillette et de revente de Belladone. Les elfes se sont plaint du pillage des ressources naturelles et afin de respecter le traité entre les elfes et les humains, le Seigneur local a annoncé un décret visant à engeôler les braconniers, confisquer leurs biens; de plus il a imposé une augmentation du prix des outils de bucheronnage, cueillete, mine, etc

Toutes ces petites mesures ont été appliquées chez nous, et je peux dire que depuis Septembre 2002 nous avons seulement 3 artisans qui ont dépassé les 200 dans une compétence artisanale (sur un maximum de 500 chez nous).
j'ai un petit problème sur mon module avec L'ats , quand un joueur quitte il marque , " vous ne pouvez vendre cet objet", " boite outils obtenu", " perte de 14 po"," perte 5 po"pourkoi??
bien mo problème est que le système me redonne une boite est un livre de progression en plus de ce qu'on a déjà quand on utilise l'artisan , quand on quitte il me met la phrase que j'ai mis au dessus !!! pourkoi??
Le problème de duplication de journal et de boite est connu avec ATS. Généralement, une déco/reco suffit à les faire disparaitre, vu que dans le script OnClientEnter ATS, il vérifie la présence du Journal et de la Boite et les supprime pour ensuite les recréer dans l'inventaire. (Tu peux d'ailleurs le vérifier dans les messages serveur te disant que ton PJ a perdu puis reçu les objets).

Le fait que ton personnage ne puisse "dropper" la boite et le journal est du au fait qu'ATS utilise un script de "non-drop".
Il existe cependant une faille connue dans ce script: si un autre PJ tente un pickpocket et qu'il vole ton journal, ta boite ou un Token; celui-ci changera d'inventaire mais sera toujours considéré comme "non-drop" dans l'inventaire du voleur !!

Par contre le message de "vente" je ne vois pas trop ce que c'est, si tu pouvais mettre ton script OnClientExit, ça aiderait
merci beaucoup alors moi il s'appelle on client leave mais je penses que c'est pareil !!!



#include "fix_deco_reco"
#include "ats_inc_leave"

void main()
{
ATS_ClientClose(GetExitingObject());



object oPC=GetExitingObject();
fix_deco_reco_leave(oPC);
}

merci
voila m'dame et merci beau


coup pour votre aide



#include "sethp"

// fonctions declarations


//************************************************************
//* Fix du dead bug et de la deco mort reco vivant *
//* Retrouve les PV qu il avait lors de la deco *
//* !! script a mettre dans evenenement OnClientEnter!! *
//*************************************************************
void fix_deco_reco_enter (object oPC);


//************************************************************
//* Fix du dead bug et de la deco mort reco vivant *
//* Retrouve les PV qu il avait lors de la deco *
//* !! script a mettre dans evenenement OnClientLeave!! *
//*************************************************************
void fix_deco_reco_leave (object oPC);



void fix_deco_reco_enter (object oPC)
{
//Récupération des infos PJ uniques
string sKey=GetPCPublicCDKey(oPC);
string sPName=GetPCPlayerName(oPC);
string sCName=GetName(oPC);
string sUniqueKey=sKey+sPName+sCName+"fpv";


//Sauvegarde de la CDKey et du PlayerName pour usage ultérieur
SetLocalString(oPC, "CDKEY", sKey);
SetLocalString(oPC, "PNAME", sPName);


//Récupération du flag de première connexion
int nNoFirst=GetLocalInt(GetModule(), sUniqueKey+"CONNEXION");

//Test de la première connexion ou non
if (nNoFirst)
{
// recupration du nombre de PV lors de la deconection
int nb_HP=GetLocalInt(GetModule(), sUniqueKey);
SetCurrentHitPoints(oPC, nb_HP);
}
else
{
//Mettre le flag de première connexion
SetLocalInt(GetModule(), sUniqueKey+"CONNEXION", 1);
}
}


void fix_deco_reco_leave (object oPC)
{
int nHP=GetCurrentHitPoints(oPC);


//Récupération des infos PJ uniques, dont celles sauvées à la connexion
string sKey=GetLocalString(oPC, "CDKEY");
string sPName=GetLocalString(oPC, "PNAME");
string sCName=GetName(oPC);
string sUniqueKey=sKey+sPName+sCName+"fpv";

//Stocr les PV d'un joueur à la déco
SetLocalInt(GetModule(), sUniqueKey, nHP);

}
Ah mais j'ai déjà vu ce script quelque part

Ce script n'influe pas sur l'ATS ou sur la possession d'items, donc je ne vois pas pourquoi tu as un problème de "vente" lorsqu'un joueur déco
Si tu n'as pas modifié les scripts ATS et qu'ils ont été correctement installés, tu ne devrais pas avoir ce problème.

Je serais toi je vérifierais les scripts ATS que tu aurais pu modifier ainsi que les OnScripts de ton module.
Bonjour ,
je me permet de me mêler a cette discussion pour un problème également avec l'ATS ,quand un joueur "travaille" un artisanat avec un inventaire plein et qu'il gagne un point de compétence, il arrive que les tokens qui n'ont apparemment pas toujours la place dans leur petite boite pour faire leur bidouille, sortent de celle ci, mais ne trouvant pas de place dans l'inventaire,se retrouvent alors droppé dans une boucle infinie (non droppable) qui fait planter le serveur ...
rencontrez vous ce problème et existe t'il une parade ?
Aussi il m'est arrivé 3 fois que des joueurs perdent tout ou partit de leur progression, sans qu'il y ait de raison apparente ??(souvent d'ailleurs des joueurs bien avancés) ,la encore de quoi viens ce bug ? et comment peux on rendre les points d'artisanat a un joueur ??
Voila , merci
DELPHINEA pouvez vous me dire quel scrypt dans l'ATS nous dit que je ne peux dropper le livre quand on quite, car en faite " vente " est une movaise traduction de ma part, je pense quand corrigeant le scrypt en question j'ai fait une erreur, mais je sais plus lequel sais ?
Le problème des Tokens hors de la boite, ça peut être du à plusieurs choses:

- Modification du script OnAcquireItem d'ATS (souvent dans 90% des cas, ça vient de là). Vous avez ajouté un script à votre sauce, vous avez inclu un script du Vault un peu n'importe comment.
=>Remarque: un script qui ne met pas d'erreur à la compilation, ça ne veut pas dire qu'il donnera le résultat désiré, ça veut juste dire que la syntaxe est correcte. Evidemment si il annonce une erreur à la compilation, là il y a déjà un problème
=>ATS est fourni avec un Readme, que Jaha a traduit dans ce post. Suivez bien les instructions lorsque vous modifiez un OnScript du module.

- Mauvais TAG/ResRef de la boite: ça peut arriver si vous l'avez changé, on sait jamais.

- Utilisation du bug "récolte multiple": il existe une faille dans le système ATS qui permet à un joueur de récolter plusieurs ressources en cliquant rapidement en un temps très bref. Faire cela vous donnera 2 ou 3 ressources au lieu d'une, mais risque sur un système lent, de ne pas laisser le temps au Token de se mettre en place, j'explique:
A chaque fois que votre personnage progresse dans une compétence, le script vérifie la valeur du Token, la valeur est stockée, le Token est détruit, le Token avec la nouvelle valeur est créé dans la boite.
Si un joueur utilise la "récolte multiple":
-il va se passer ceci (dans le cas d'une réinitialisation de la compétence):
"clic": le script vérifie la valeur du Token (notons 200), la valeur est stockée, le Token est détruit, "clic", le script vérifie la valeur du Token (il n'existe pas, il renvoit 0), le Token avec la nouvelle valeur est créé dans la boite (valeur 0), le Token est détruit.
-ou ceci (dans le cas d'une perte de Token):
"clic": le script vérifie la valeur tu Token (200), "clic", la valeur est stockée, le script vérifie la valeur tu Token (200), la valeur est stockée, le Token est détruit, le Token est détruit, le nouveau Token est créé, le nouveau Token est créé (vu qu'il existe déjà, il en créera un doublon sur dans l'inventaire ou sur le sol), etc....

A partir du moment où il y tentative d'exploitation de faille d'un système, il y a détraquage de ce système. Et souvent ce sont les joueurs les plus "expérimentés" qui, forts de leur "expérience", tentent de jouer au plus fin. Et après ça vient pleurer auprès du MD parce que leur compétence est à zéro.
Si tu veux leur rendre leurs points malgré tout, il existe une baguette ATS qui est donnée aux MD via la OnClientEnter ATS (encore faut il qu'il s'agisse du script original bien installé).
Répondre

Connectés sur ce fil

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