Créateur de module noob en scripting

Répondre
Partager Rechercher
Bonjour a vous, je suis Arkain,

J'ai commencer un module rp assez original et interressant et qui, je pense, mériterait quelques aides de scripteurs qui aurait l'aimabilitée de m'aider a établir des scripts.

Pour commencer :

Aujourd'hui j'ai lu attentivement presque tous les topic et ai trouvé un script de banque interressant ! Mais n'étant pas fort en scripting et celui-ci ne répondant pas tout à fait à mes demandes je me demander si vous ne pourriez pas m'aider à trouver un script de banque qui ferai:

- Stockage d'argent mais pas d'objets
- Augmentation de la somme d'étenue chaque jour de 3% (pour faire un peut compte épargne ^^)
- Possiblité d'ouvir qu'un seul compte
- La banque devra être gérée par une personnes et une porte.

Merci
pour l'existence des banques je pense que oui les banques sa existe partout enfin c pas trop grave ca aide les joueurs a faire des reserve et comme mon module et un module rp assez dur au niveau de tout se qui ai gagner de l'argent cela peut leur être une source de revenu intarrissable et interressante pour ceux qui tiennent des commerces et qui doivent payer la location chaque jour par exemple !!!! Sinon merci pour tes encouragement !!!
euh...
Des banques il y a tout un paquet sur le vault.
Apres cela depend de la façon dont tu geres la persistance sur ton mod (Database de bio, MySQL, ou variable locale sur un item de l'inventaire de ton PJ)
Je pense pas qu'il y en ai qui gere une retribution du compte...
Pour cela il faut que tu stockes la date IG du depot d'argent et que tu calcules le montant du % a chaque fois que tu fais une operation...
oui ok mais bon moi étant pas très doué dans le bidulage tu voit ca m'aurait aider d'avoir un script spécifique!!! Et puis sur vault la majorité des scripts sont en anglais et moi déja ke g du mal avec les scripts en francai alors en anglais !!!! ce i serait bien se serai ke kelkun me passe un script de banque déja tout fait avec non-pas une porte qui ferait banque mais une personne !!!
Ce n'est pas la peine de se braquer pour ça.

D'abord le forum n'est pas spécialement fait pour offrir un système ultra-complexe, comme ce que tu cherches, les yeux fermés. Un système de banque, avec intérêt de surcroît, est assez compliqué à mettre en place. De plus la majeure partie des membres du forum n'auraient (je m'avance) pas spécialement le temps de se consacrer à cela sur simple demande.

Par contre, tu as toujours le SYSTEME DE BANQUE PAR "RAT". Je ne l'ai pas testé, mais je fais entièrement confiance à l'auteur concernant le bon fonctionnement.
Sinon j'aurait une autre question a poser ce serait pour savoir si on peut faire un script pour mettre des dialogues aléatoire mes programmer avec leur réponse entre de personne ! "Contexte" deux personnes sont aux marcher l'une lui demande soit - on achete quoi ? dans ce cas l'autre répond des tomates
soit - Tu veut des tomates et l'autre répond oui
soit - "autre chose"

Voila j'ai essayer de mettre un exemple pour être clai mdr merci d'avance !!!
Un autre petit truc !!! eske kelkun pourrait me faire un script pour mettre dans le onused d'un lit placable qui ferai :

- dormire le perso pendant 15 sec
- un effet (du style tenebre) pour qu'il ne voit rien

merci
Ne le prends surtout pas mal, car là n'est pas mon intention.

(si par contre un modo trouve ma réponse déplacée, il l'enlèvera, c'est normal)

Les demandes du genre "qui pourrait me faire" ne sont pas les meilleures. D'une part, elles peuvent être ressenties comme "faites moi ça, ça, et ça. j'ai plus qu'à attendre que ça me tombe tout cuit", d'autre part ça n'encourage pas celui ayant des problèmes d'y remédier.

Essaye, teste, et si tu as un problème poste ton script ou la partie de ton script qui te pose problème. Le cas échéant, demande de quelle manière tu peux y arriver, et tente l'expérience par toi-même. Si les gens sont réticents pour faire le travail des autres, ils n'en sont pas moins prêts à résoudre leur(s) problèmes(s).

----

Pour ta demande, il y a plusieurs choses à voir. Si tu veux faire dormir le personnage SUR un lit, c'est actuellement impossible, le moteur ne le permet pas. Si c'est juste faire attendre 15 secondes avec un effet type "Ténèbres", tu auras des commandes comme "AssignCommand()" pour assigner une action à un personnage, "ActionWait()" pour le faire attendre, "EffectDarkness()" pour l'effet de ténèbres, "EffectSleep()" pour l'effet de sommeil", ApplyEffectToObject()" pour assigner un effet à un objet (dans ce cas précis, une créature).

N'hésite pas à visiter le site NWN Lexicon. Même si il est en anglais, il explique chaque chose dans l'ordre pour amadouer l'éditeur de script. Beaucoup d'autres sites en français le permettent également (je ne les ai pas en tête, ni en favori, par contre).

Il faut savoir mettre la main à la pâte, et apprendre à la pétrir.

Ne prend pas ça (je répète...) pour une attaque personnelle. Car une grande majorité est prête à te donner un coup de main si tu bloques réellement sur un point (ou plusieurs). Et c'est à ce moment là qu'il ne faut pas hésiter à demander.
Merci de ta réponse il est vrai ke lorsque j'écrit je ne fait pas toujour attention aux consonances que cela peut avoir !!!! sinon il ne faut pas croire que je ne tente rien j'ai déja essayer plusieurs choses mais les actions ne se font pas !!!
J'ai essayer :

void main()
{
object oPC = GetLastUsedBy();
effect eEffect = EffectSleep();
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eEffect, oPC, 60.0f);
}
sinon je vient d'essayer ça :

void main()
{
object oPC = GetLastUsedBy();
oPC ApplyEffectToObject (oPC, EffectDarkness (15.0));
ActionWait (15.0f);
SpeakString ("Vous decidez de dormir sur ce lit...")
}

marche pas non plus !!!
Tu l'as mis où ce script ? Car ton premier script devrait fonctionner.

Sinon le deuxième est un peu désordonné...


Pour cette commande :
"oPC ApplyEffectToObject(oPC,EffectDarkness(15.0));"


1°) Je suppose que le "oPC" en tête est un copier-coller accidentel.


2°) Regarde la construction de "ApplyEffectToObject()" ainsi que "EffectDarkness()".

-> "EffectDarkness()" ne requiert aucun paramètre, les "15.0" sont donc inutile à cet endroit.

-> "ApplyEffectToObject()" nécessite dans l'ordre :
----> Une catégorie de durée (DURATION_TYPE_*) que tu trouves dans les constantes (dans l'éditeur de script. "DURATION_TYPE_INSTANT" ne nécessite aucun temps, ça s'applique une seule fois, certains effets ne le supportant pas. "DURATION_TYPE_PERMANENT" ne nécessite aucun temps, ça reste indéfiniment, certains effets ne le supportant pas. "DURATION_TYPE_TEMPORARY" nécessite un temps, certains effets ne le supportant pas. Dans ce cas précis, c'est la dernière catégorie qui nous intéresse.
----> Un effet déterminé par les fonctions "Effect****()". Dans ce cas précis, c'est "EffectDarkness()" ou "EffectSleep()" qui nous intéresse.
----> Une cible. Dans ce cas précis, c'est "oPC" qui nous intéresse.
----> Une durée, si la catégorie de durée est "DURATION_TYPE_TEMPORARY". Dans ce cas précis c'est 15.0 qui nous intéresse.

--> Le tout séparé par des virgules.

- La ligne correcte est :
"ApplyEffectToObject(DURATION_TYPE_TEMPORARY,EffectDarkness(),oPC,15.0);"


Pour cette commande :
"ActionWait(15.0f)"


- Il faut savoir qui va effectuer cette action. Dans ce cas précis, c'est oPC qui va attendre 15.0 secondes. Il faut donc lui assigner cette commande, car actuellement c'est l'objet sur lequel est mis le script qui va attendre ce temps.
-> "AssignCommand()" est utilisé dans ce cas là, et nécessite :
----> Une cible, qui va effectuer la commande demandée. Dans ce cas précis, c'est oPC qui nous intéresse.
----> Une action à effectuer. Dans ce cas précis c'est "ActionWait()" qui nous intéresse.
--> Le tout séparé par des virgules.

La ligne devient donc :
"AssignCommand(oPC,ActionWait(15.0));" (le "f" à la fin de 15.0f n'est pas nécessaire)


Enfin, tu as omis de ponctuer la ligne "SpeakString(... ...)" par un point-virgule.


Mine de rien tu n'es pas loin du résultat la première fois, et tu t'en es encore rapproché la deuxième fois :
Code PHP:

void main()
{
    
object oPC GetLastUsedBy();
    
oPC ApplyEffectToObject (oPCEffectDarkness (15.0));
    
ActionWait (15.0f);
    
SpeakString ("Vous decidez de dormir sur ce lit...")

Se transforme en :
Code PHP:

void main()
{
    
object oPC GetLastUsedBy();
    
ApplyEffectToObject(DURATION_TYPE_TEMPORARY,EffectSleep(),oPC,15.0);
    
AssignCommand(oPC,ActionWait(15.0));
    
SpeakString("Vous decidez de dormir sur ce lit...");

quelqu'un pourrait m'aider en me donnant les raisons pour lequels le script ci-dessus ne fonctionne pas svp !!! merci

Edit Mastokk\ Bonjour, il existe une fonction https://jolstatic.fr/forums/jol/images/buttons/edit.gif, je te saurai gré de l'utiliser plutôt que de poster tes messages à la suite les uns des autres. Merci.
Répondre

Connectés sur ce fil

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