[Topic à lire] Gros projet inside, avis à tous les scripteurs!

Fil fermé
Partager Rechercher
C'est une bonne initiative, je trouve. Mais... (faut bien un râleur dans le tas )

D'après ce que j'ai lu de ci de là, vous êtes partis pour faire une altération au jeu et non pas pour proposer une bibliothèque de choses basiques.
L'un veut des sorts modifiés, l'autre des feats altérés etc...
Il en est quoi exactement ? C'est une association de gens qui veulent que ce dont ils ont besoin soit développé en groupe ou plutôt quelque chose qui servira à n'importe qui ?

Les choses dont ont besoin les builders débutants ne sont pas légion:

- un système d'anti déco/reco (mort et sorts)
- un système ouverture fermeture/verrouillage des portes
- un système pour s'asseoir sur des plaçables
- un système de respawn de coffres (et encore, pour les modules solo, c'est loin d'être indispensable)

Pour les mondes persistants:
- un système de sauvegarde de position peut être une option intéressante.
- éventuellement une banque
- un système anti voleur de comptes

Mais modifier les sorts ou les règles du jeu, je ne crois pas que ça va intéresser tout le monde, loin de là.
Si modifier des options veut dire aller positionner telle ou telle variable dans un script, on ne s'adresse plus à des débutants non scripteurs. Il n'y a qu'à voir ce que ça donne avec les variables implémentées par Bioware dans HotU. Les non-scripteurs ne savent ni de quoi il s'agit, ni comment les utiliser.
Je crois qu'il serait sage de définir d'abord à qui va s'adresser ce "pack".
Un non-scripteur sait lire et utiliser un clavier et une souris non ?

Si c'est trop difficile pour lui de lire une documentation, d'ouvrir Aurora, un script, et de remplacer un 1 par un 0, il ferait mieux de se contenter de jouer.
Citation :
Provient du message de Azmathiel
Si modifier des options veut dire aller positionner telle ou telle variable dans un script, on ne s'adresse plus à des débutants non scripteurs. Il n'y a qu'à voir ce que ça donne avec les variables implémentées par Bioware dans HotU. Les non-scripteurs ne savent ni de quoi il s'agit, ni comment les utiliser.
Je crois qu'il serait sage de définir d'abord à qui va s'adresser ce "pack".
Tout à fait.

Par contre, s'il est évident que la modification du sort TimeStop ne peut interesser que les PW, la modif. d'un sort comme celle faite sur le Rayon prismatique peut être envisageable (quoique l'idée ne soit pas de faire du HCR français. Toutefois, certaines modifs sont plus en adéquation avec les règles, sans rentrer dans le côté hardcore des HCR)

Quant à la mise en option, il suffit de prégénerer les variable à non, et de gerer le tout avec un baton de DM qui lancera un dialogue gestion_MSB...
Pour les options, il doit être possible de faire des trucs simple.
Pour le script de mort il faut par exemple (liste non exhaustive) :
- perte d'or à la mort
- perte d'objet à la mort
- perte d'xp à la mort
- perte d'or au respawn
- perte d'objet au respawn
- perte d'xp au respawn
- mort définitive
- lieu de téléportation à la mort
- lieu de téléportation au respawn

Après, vous vous débrouillez pour faire un script générique intégrant tout ça, mais chacune de ces sous-parties ayant un // devant.
Vous coller un petit tutorial en expliquant ce qui se passe lorsque vous débloquez une de ces sous-parties. Vous expliquez aussi comment modifier ces sous-parties (c'est à dire expliquer que c'est à la place de NombredXPPerdue qu'il faut mettre le nombre d'XP que perdra le personnage).
Vous rajoutez aussi des petites aides supplémentaires qui ne font pas parti du script lui-même qui qui sont destinées à ceux qui veulent aller plus loin (par exemple gestion des factions pour ce qui est du lieu de téléportation au respawn).

Au final, on se retrouve avec un script de mort assez complet et avec des petites aides pour ceux qui voudraient le complexifier.
Citation :
Un non-scripteur sait lire et utiliser un clavier et une souris non ?

Si c'est trop difficile pour lui de lire une documentation, d'ouvrir Aurora, un script, et de remplacer un 1 par un 0, il ferait mieux de se contenter de jouer.
je dirais même plus....

rien n'empèche de laisser des valeurs par défaut, et de les rendre modifiables a volonté.

Ainsi, le scripteur débutant qui n'a pas envie de passer des heures a lire la doc pourra laisser les valeurs par défaut (soit le cas le plus "général" qui a tendance a satisfaire la majorité), et le scripteur qui veut aller un peu plus loin pourra mettre un peu les mains dans le cambouis (si on peut appeler "mettre les mains dans le cambouis" le fait de modifier quelques constantes dans un fichier include spécifique) pour adapter le système a ses exigences.

De la, on satisfait sans peine et sans embéter personne a la fois les débutant et a la fois les expérimentés.
Il est même possible d'aller encore plus loins en fournissant de la documentation quand a l'utilisation des fonctions utilisées, pour permettre une utilisation des bibliothèque sauf toute l'interface qui sera fournis, ce qui satisfera aussi les scripteurs experimentés qui n'ont pas envie de s'encombrer avec un système dont ils ne voudront pas necessairement en entier.
Si on ne va pas vers une dénaturation du jeu, mais bien vers un "plus" apporté en rajoutant tout ce qui a été oublié à la base dans les scripts de "gestes quotidiens de base", vous pouvez me compter comme partie prenante au projet.

mon msn: azmathiel.no.spam@hotmail.com (bien sûr, vous virez le .no.spam)
N'hésitez pas à me contacter, malgré les apparences, je mords moins que Le Grognon
Citation :
Provient du message de Azmathiel
Les choses dont ont besoin les builders débutants ne sont pas légion:

- un système d'anti déco/reco (mort et sorts)
- un système ouverture fermeture/verrouillage des portes
- un système pour s'asseoir sur des plaçables
- un système de respawn de coffres (et encore, pour les modules solo, c'est loin d'être indispensable)

Pour les mondes persistants:
- un système de sauvegarde de position peut être une option intéressante.
- éventuellement une banque
- un système anti voleur de comptes

Mais modifier les sorts ou les règles du jeu, je ne crois pas que ça va intéresser tout le monde, loin de là.
Même après 3 modules ( les bâtards de Kosigan) je me considère encore comme un scripteur débutant, et je peux vous dire que quand on a jamais vu la queue d'un script avant de s'y plonger, on a besoin de bien autre chose:
Des choses simples, des choses de base...


- script d'ouverture de porte en cours de conversation
- script pour faire bouger un npc ou le pc d'un endroit à un autre...pareil pour la téléportation (JumpTo)
- Script pour donner des xp mais surtout en retirer
- Script pour faire apparaitre une nouvelle entrée de journal sur une "trigger"
- Script pour conditionner l'usage d'une Aire de transition à l'existence d'une Variable locale
- Script pour faire d'abord menacer puis attaquer un npc en cas d'infraction sur un coffre ou autre dans son champs de vision
- Script pour tuer le pc ou un npc directement...
- Ou pour leur faire des dégats...
- Eventuellement avec des effets visuels....
- Ou audios...
- Script pour faire tomber inconscient un pc ou un npc momentanément
- Script pour mettre un npc à genoux
- Script pour "spawner" des monstres ou un npc
- Script pour changer la faction d'un pc ou d'un monstre
- Script de DelayCommand (super utile)
- Script de SpeakString pour faire apparaitre un message pour le pc....avec une mise en place selon une ou plusieurs variables
- Script pour faire lancer un sort à un npc ou à un objet invisible au cours d'une conversation
- Script pour embaucher un henchman
- Script de gestion de la mort d'un henchman
- Script pour donner./retirer des xp selon l'alignement
- Script pour donner des xp en cas de désamorçage de piège ou d'ouverture de serrure
- Script qui ne s'active que la nuit/le jour
- Script pour modifier l'orientation (SetFacing) d'un npc
- Script pour arrêter un combat avant la mort (pour qu'un npc se rende)
-Script pour faire parler un npc durant un combat
-Script de "ou" (pour vérifier si le pc a une variable ou une autre, un objet ou un autre etc...)....pareil avec "et"...
- Script pour changer l'heure (après un repos ou un temps d'attente prévu dans le scénar par exemple)...(NB: je ne l'ai pas celui là)
-Script pour changer le nom d'un npc durant une conversation (au début on ne le connait pas puis après on le connait)...Celui-la, je ne l'ai pas non plus...
- Script pour qu'un ou plusieurs npc suivent le pc.
- Script pour lancer une musique durant une conversation
- Script pour modifier le son (plus fort ou moins fort)...Je ne sais même pas si ça existe ça...
- Script pour faire apparaitre un rayon d'un point A à un point B.
- Script pour faire un objet de téléportation
- Script pour géré le sommeil ou la mort (la proposition très structurée de Simkin est intéressante)
- Script pour appeler la garde
- Script d'AutoSave
- Script pour passer d'un module à un autre
- Script pour mettre fin à un module
- Script pour qu'un npc ou un monstre apparaisse directement comme mort....ou comme endormi (avec ronflement ou pas)
- Script pour qu'un npc chante
- Script pour créer un objet dans l'inventaire d'un pc ou dans un coffre
- Script pour qu'un npc soit assis et se rassoit après la conversation
- Script pour qu'un pc suive un npc
- Script pour désarmer un pc (ou un npc) durant un combat ou une conversation
- Script pour qu'un npc agisse ou parle si un pc a tel ou tel déguisement
- Script pour que l'Aire apparaisse entièrement dans la carte dès que le pc y arrive...ou à l'inverse script pour que l'Aire ne se découvre pas dans la carte.
- Script pour détruire un objet ou une créature
- Script de pickpocket d'un npc sur un joueur dans une conversation
- Script de polymorph d'un npc...ou d'un pc
- Script de soin complet....ou partiel...selon l'alignement ou une variable
- Script pour qu'un npc entame une conversation quand un pc entre dans une "trigger"....mais pas si il est invisible...
etc...etc...

Il faudrait classer tout ça en scripts de conversation (de condition et d'action), en scripts de trigger et en scripts particulier (OnDeath, OnUserDefined, OnUsed) etc....


Je pense que pour beaucoup d'entre vous tout cela doit sembler d'une simplicité enfantine....et pourtant!...
Si vous saviez combien d'heures j'ai passé à chercher ceci ou cela!...C'est vraiment l'horreur...
Voila mon expérience personnelle.
A mon avis votre système devrait comporter tout ça...Et plus si affinité, mais si affinité seulement...Il faut je pense vraiment commencer par la base...

Je peux éventuellement envoyer à quelqu'un une Aire (exportée d'un module) avec la majorité des scripts que j'utilise habituellement....Mais je ne pense pas qu'elle fasse gagner du temps à quelqu'un qui sait scripter pour de vrai!...

Bon courage
Fabien
D'abord, félicitations pour ton boulot. Si si, j'insiste.


Ensuite pour revenir au sujet :

Les trois quart, voire plus, de ce que tu demandes est lié à l'environnement, à l'histoire ou au développement d'un module particulier. Il n'est pas question ici de faire les modules à la place de qui que ce soit mais de mettre à disposition des "grandes options".

Je prends quelques exemples parmi d'autres :

Citation :
- Script pour conditionner l'usage d'une Aire de transition à l'existence d'une Variable locale

- Script pour faire apparaitre une nouvelle entrée de journal sur une "trigger"
L'équipe qui travaille sur ce projet, elle va savoir comment quelle est la variable déterminante et l'aire en question ? Elle va deviner comment qu'on ne peut entrer dans un endroit que si telle ou telle quête a été réalisée ? En mettant une variable par défaut sur tous les personnages et en mettant un script par défaut sur toutes les zones ? Ben, non, ça devra être fait par le concepteur...
Idem pour le trigger.

Là dessus, je suis radical, personnellement. Si on n'y connaît rien aux scripts, il y a deux alternatives : on oublie ou on apprend.


Mon module compte plus de 900 scripts, pas le vingtième ne trouverait sa place dans un autre. Tous sont dépendants d'une situation particulière relevant du développement de l'intrigue ou de choix de MD que j'ai faits et que ne ferait pas un autre.

Il n'est pas question, je pense (arrêtez moi si je me trompe), que ce pack devienne un MD automatique mais plutôt qu'il offre des outils de base pour la gestion des choses simples.

Cela dit, merci quand même de ces réflexions qui permettent de soulever ce genre de problèmes.
Citation :
Provient du message de Azmathiel
D'abord, félicitations pour ton boulot. Si si, j'insiste.
Merci beaucoup


Citation :
Les trois quart, voire plus, de ce que tu demandes est lié à l'environnement, à l'histoire ou au développement d'un module particulier. [/i]
Je ne suis pas vraiment d'accord: les scripts dont je fais la liste plus haut sont autant d'actions ou de conditions simples que pratiquement tout le monde pourrait utiliser dans de nombreux cas, et dont les débutants pourraient profiter pour comprendre facilement le fonctionnement de l'ensemble (tout en apprenant les bases bien sûr).

Citation :
L'équipe qui travaille sur ce projet, elle va savoir comment quelle est la variable déterminante et l'aire en question ? Elle va deviner comment qu'on ne peut entrer dans un endroit que si telle ou telle quête a été réalisée ? [/i]
Justement, elle s'en fout l'équipe: il faut des scripts GENERIQUES simples, du genre:

//A mettre sur le OnClick d'une "Area Transition" pour conditionner la transition vers une autre Aire à l'existence //d'une variable locale:

void main()
{
object oPC = GetClickingObject();


if(GetLocalInt(oPC, "variable_a_definir_1") == 1)
{
AssignCommand(oPC, ActionJumpToObject(GetObjectByTag("Transition_Arrivee")));
SetLocalInt(oPC, "variable_a_definir_1", 2);
}

else
{
AssignCommand(oPC, SpeakString("phrase_a_definir_exemple_Vous ne pouvez pas passer pour l'instant car il manque un ingrédient à la formule de la potion de teleportation..."));
}

}

Ensuite c'est au créateur de remplacer la variable et la phrase par ce qui convient pour son module....Et à copier cette structure en rajoutant d'autres éléments de scripts (dont il pourra facilement trouver les exemples) pour faire exactement ce qui lui plait...
J'ai pesté des heures et des heures parce que ce genre d'outil n'existait pas et je connais au moins 2 créateurs qui avaient de supers idées et qui ont été moins pugnaces que moi et qui ont fini par renoncer...
Ce genre d'abandons, c'est autant de scénars potentiellement bons en moins...Et c'est dommage...

Si EN ANNEXE DE VOTRE PROJET il y avait des exemples de scripts simples pour la trentaine de cas que j'ai définis plus haut, cela faciliterait grandement la tâche de beaucoup de monde et tout particulièrement des débutants...
Et, de mon point de vue, tout ce qui peut être bon pour les débutants est à terme bon pour tous...

Mais évidemment, les conseilleurs ne sont pas les payeurs, c'est donc à vous de voir bien sûr...Réfléchissez juste à mes arguments et voyez si vous ne pourriez pas faire ce que je propose facilement...Selon moi, à 4 ou 5 c'est fait en moins d'une heure et ainsi votre pack de script s'adressera à un public beaucoup plus vaste en incluant les débutants...

A+
Fabien (néophyte acharné)
Citation :
Provient du message de Azrael07
Elmo, la ramène pas sinon j'dis a tout le monde que tu sais pas ce que c'est qu'une variable locale
et moi je dis à tout le monde que t'es pas foutu de choper ragnarok dans chronicles! gnak!
Citation :
la banque de rat à été retiré du lot car d'après [je sais plus qui] y'a encore quelque bugs, prière de les signaler dans l'autre post afin de pas trop polluer celui-ci
moi j'ai un problème lié a un trigger (enfin je crois) qui se place devant la porte du coffre de la banque.
Il est censé reprendre la clef au deuxième passage mis en fait il la prend des le 1er et je me trouve enfermé dans le coffre.
Citation :

1: le DMFI TRADUIT A 100%

2: système d'artisanat 100% CUSTOM

Le système de peuplement et SPARP de tyrion (à propos si tu pouvais nous dire ou ça en est ça serait kewl)

4: la taverne animée de RAT

un système de spawn de monstre comme dans les MMORPG (peut-etre voir sur http://www.hellfire.firstream.net/ j'ai cru en voir un)

5: le système de mort de jaha effect (en le rescriptant un peu de manière à pouvoir remplacer/ajouter/retirer des dieux)

un script générique permettant d'ajouter facilement des pouvoirs unique d'item via un executescript()
Dommage ca aurais pu etre sympa votre projet mais je crois que ne sera pas pour le debutant de base parce que comme a dis Kergael les quiche en script veulent faire faire des actions simple au script !

En gros c est des trucs simple du genre ce que Azmathiel a decrit en page 3 c est a dire des script qui sauvegarde la position, empeche des deco reco .....pas besoin de chopé des script super compliqué du genre la taverne de rat ....

Je suis une vrai quiche (mais une vrai puisque je connais pas le nwnscript ) mais ce que vous voulez faire et bien ......je ne m en servirai pas dommage car le strict essentiel y est pas , ca parter d une bonne idée.......
bha c'est surtout que l'on avait décidé se genre de chose sur MSN , mais que personne n'avais fait de compte rendu...

alors je me suis dévoué

T.
__________________
www.Kaegys.com
KaegysTV ma chaine YouTube
Un Dragon ne Meurt Jamais Seul.

TyKeM , Après les GBs réunis sur NWN, avoir fait du gros dps sur WoW, après avoir squatté le platine dans SC2 après le théory crafting de Diablo 3 je me lance sur KaegysTV YouTube
Banque de Rat, les problèmes résiduels
Les problèmes constatés dans le système de banque de Rat:

- En cas de lag du serveur, on perd la clef à l'entrée du trigger qui permet au banquier de détecter en principe une sortie, et on reste coincé dans la pièce du coffre en attendant qu'un autre vienne nous libérer.

- Bug des plaçables sur lesquels on clique comme un damné et qui restent ouverts avec le contenu dedans sans qu'il soit "débité" du compte. Du coup, les events OnOpen et OnClose ne fonctionnent plus. OnUsed, par contre fonctionne, mais il ne peut pas s'appliquer dans ce cas car il est déclenché sur l'ouverture et la fermeture de l'interface d'inventaire (donc deux fois de suite).
Malgré, à l'époque, mes études sur le sujet et des essais d'anti-rebond, rien n'y a fait. J'espérais que Bioware solutionne ce problème dans HotU, mais ça n'a pas été le cas.

- Lorsque qu'un PJ déconnecte avec la clef dans son sac (dans la pièce du coffre par exemple) la banque devient inaccessible pour tous les autres joueurs.

Ce sont ceux que j'ai constatés sur un module qui l'utilise et que je ne citerai pas pour ne pas inciter ses joueurs au bug exploit.

NOTE : il peut y en avoir d'autres, mais je ne les ai pas remarqués.
Citation :
Provient du message de TyKeM
Elmo les a zapé ( et je ne sais pas pourquoi ) mais ils sont en cour de dev sur l'autre forum ^^
ouais mais faudra freezer ce dev pour se concentrer sur les gros système en priorité, si tout le monde part dans une direction différente ça va pas aller.
Je réponds sur ce fil à une remarque que l'autre fil m'a inspirée pour ne pas le polluer : Je ne suis pas persuadée de l'intérêt d'intégrer totalement le DMFI à votre outil. C'est vraiment une usine à gaz et je doute que le développeur de module lambda y trouve véritablement une utilité à l'avoir dans sa totalité... sauf bien sûr si la gestion de l'intégration est simplifiée dans votre système .
Fil fermé

Connectés sur ce fil

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