Aller au contenu


Création D'un Topic Soudoyer


  • Veuillez vous connecter pour répondre
17 réponses à ce sujet

#1 guiguizmo91

guiguizmo91

    Concentrer le laid accroit sa conservation !


Posté 27 octobre 2007 - 17:43

Bonjour à tous,

J'ai actuellement dans Oblivion un personnage centré sur un métier assez peu recommandable :help:

A chaque fois que je me fais arréter, le fruit de mes efforts se retrouvent dans la poche du garde, j'aimerai créer un mod où en plus de Aller en prision/Resister/Payer il y ai un choix soudoyer, cela dépendrai du niveau de prime par tranche de 500PO, si le player a 500 PO de prime, le garde lui dit qu'il aura ... du mal à oublier ce qu'il a vu, et demandra 250 PO, seulement, c'est un peu facile, il suffirait de toujour ssoudoyer pour éviter de perdre de l'argent, il faudrait générer le niveau de corruption, soit de chacun des gardes, ce qui me parait compliqué, soit un hasard, et c'est cela que je ne sais pas faire.

En clair:

Trouver le topic "arrestation"
Générer l'aléatoire du choix "soudoyer"

Merci d'avance pour vos réponse!

A bientôt!

Modifié par guiguizmo91, 27 octobre 2007 - 20:52.


#2 Le Magicien

Le Magicien

    Maraboutage in Tescs


Posté 27 octobre 2007 - 17:52

Salut,

Ouvre la fenêtre de quête, selectionne la quête Crime.
Elle contient les topics:
ResistArrest "Résister à l'arrestation" , PayGoldforCrime "Payer en or.", ServeSentence "Aller en prison" et même BribeGuard "Acheter le garde".


A plus :help:
Edit

 Tael, le 27.10.2007 à 18:48, dit :

Presque impossible :
La plupart des gardes sont réunis en un seul NPC dans le TESCS.
Donc si on en modifie un, les autres sont affectés.
C'est justement pour ça que c'est possible...

Citation

Si le Magicien passe par là il va te sortir une super explication de malade super facile à comprendre (dans la limite du possible :wizard: )et tu comprendras direct, mais faut qu'il passe :angry:

Pourquoi une explication de malade alors que les topics sont déjà existant... au pire un pauvre script suffira pour faire ce que guiguizmo91 veut faire...

Modifié par Le Magicien, 27 octobre 2007 - 18:00.


#3 guiguizmo91

guiguizmo91

    Concentrer le laid accroit sa conservation !


Posté 27 octobre 2007 - 18:03

Donc j'ai juste à l'ajouter aux Topic Text qui m'interesse, et un remove Item, mais il faut differents topics avec des conditions pour ce que je veux faire, c'est à dire la corruption ET le prix à payer pour qu'il ferme les yeux???

#4 Le Magicien

Le Magicien

    Maraboutage in Tescs


Posté 27 octobre 2007 - 18:24

 guiguizmo91, le 27.10.2007 à 19:03, dit :

Donc j'ai juste à l'ajouter aux Topic Text qui m'interesse, et un remove Item, mais il faut differents topics avec des conditions pour ce que je veux faire, c'est à dire la corruption ET le prix à payer pour qu'il ferme les yeux???
Pour la corruption un topic existe déjà pour ça ... les conditions sont tel que le dialogue présent pour "Acheter le garde" ne s'executera pas... ( il faut à la fois avoir la capuche de renard gris equipée et non equipée ...)
Donc tu n'a qu'à ajouter un dialogue en fonction de ce que tu veux faire...
Moi je pensais plutôt à utiliser un texte unique :
condition : avoir au moins la moitié de la prime en or .

et dans le result script ajouter 2 choses:
enlever au joueur la moitié de la prime au joueur
ajouter un "marqueur temporaire" (variable de quete ou globale passée à 1 ) qui definirait le joueur comme sans prime pendant une petite periode ...( script de quête par exemple) ou encore ajout d'un objet que le jouer ne voit pas et qui est enlever au bout d'un certain temps ... une fois le delai écoulé la prime du joueur redevient normale !

Voilà ce à quoi je pensais.

Maintenant si tu veux un montant aléatoire c'est aussi faisable.
Tu pourrais même utiliser la disposition du garde vis à vis du joueur pour determiner le montant à payer pour soudoyer ( genre : prime*(100-disposition)/200 ce qui donnerai entre 0 et la moitié de la prime du joueur)

Modifié par Le Magicien, 27 octobre 2007 - 18:32.


#5 guiguizmo91

guiguizmo91

    Concentrer le laid accroit sa conservation !


Posté 27 octobre 2007 - 20:50

Ce que tu propose de faire avec l'objet ou le script de quête, c'est d'être oublié pendant quelque temps c'est bien ça? Je pensais personnellement à ce que le PJ soit exempté du crime, serait-il possible de définir, le moment entre lequel l'action "crime" se déroule et l'action "interpellation", ce qui déterminerait la propagation de l'info "crime" entre les gardes, si il y a moins d'une minute, le garde était trop occupé à vous courir après pour prévenir ses pote, mais après, il les aura prévenus, et le doute est levé jusqu'à ce que le PJ se rende ou paye sa dette auprès d'un Doyen de guilde des Voleurs... en fait ce sont deux dialogues qui sont définis par la variable timer non?

Sinon, je voulais savoir, comment intégrer cette "formule" dans le script?

#6 Le Magicien

Le Magicien

    Maraboutage in Tescs


Posté 27 octobre 2007 - 22:55

 guiguizmo91, le 27.10.2007 à 21:50, dit :

Ce que tu propose de faire avec l'objet ou le script de quête, c'est d'être oublié pendant quelque temps c'est bien ça? Je pensais personnellement à ce que le PJ soit exempté du crime, serait-il possible de définir, le moment entre lequel l'action "crime" se déroule et l'action "interpellation", ce qui déterminerait la propagation de l'info "crime" entre les gardes, si il y a moins d'une minute, le garde était trop occupé à vous courir après pour prévenir ses pote, mais après, il les aura prévenus, et le doute est levé jusqu'à ce que le PJ se rende ou paye sa dette auprès d'un Doyen de guilde des Voleurs... en fait ce sont deux dialogues qui sont définis par la variable timer non?

Sinon, je voulais savoir, comment intégrer cette "formule" dans le script?
Je pensais juste à un delai pendant lequel les gardes fermeraient les yeux après s'être fait acheter et pas à un delai entre le crime et l'arrestation.
Pour définir le moment entre l'arrestation et le crime, bon courage, le joueur a pu commettre plusieurs actions illégales chacune ayant d'augmenter la prime de diverse façon... donc je vois pas trop comment gérer ça... en verifiant constament le montant de la prime du joueur on pourrait avoir le delai entre le dernier crime et le moment de l'interpellation mais ça me semble pas trés logique.
Le garde laisserai par exemple passer un joueur rechercher depuis un an pour meurtre qui fais juste un petit vol à la tire 1 minute avant l'interpellation. (étrange non ?)

pour la formule :
si tu as defini le deux variables de la quêtes "MaQuete" suivantes :
Long Potdevin
short DispositionGarde

Dans le result script tu definis la disposition du garde avec :
Set MaQuete.DispositionGarde to GetDsiposition player

et pour le calcul (prime*(100-disposition)/200 ) ça donnerait :
Set MaQuete.Potdevin to (player.GetCrimeGold * (100 - MaQuete.DispositionGarde ) / 200 )

A bientôt :help:

Modifié par Le Magicien, 27 octobre 2007 - 22:58.


#7 guiguizmo91

guiguizmo91

    Concentrer le laid accroit sa conservation !


Posté 30 octobre 2007 - 18:16

Bonjour,

Serait-il possible que le montant demandé par le garde dépende de la gravité du crime, en gros, y a t'il une fonction de script qui détermine la somme à payer? J'imagine que oui, puisque la somme à verser différe en fonction du délit/crime par exemple, meutre = 1000PO

EDIT: J'ai trouvé, avec les Getcrime et Getcrimegold, ce que je voudrais, c'est une explication un peu plus détaillé de la marche à suivre pour que pendant une durée X, le PJ ne soit pas recherché

Merci d'avance

Modifié par guiguizmo91, 30 octobre 2007 - 18:41.


#8 N.tox

N.tox

Posté 30 octobre 2007 - 20:41

Salut,
La soluce serait peut-être de faire un script de quête tournant constamment. Ce script  devrait vérifier si le joueur à une prime (ou sinon pour que ce soit plus classe, voir si le joueur vient d'effectuer un crime avec getcrime, mais je ne m'en suis jamais servi, alors est-ce que c'est possible, j'en sais rien) puis de mettre cette valeur en mémoire avant de fixer la prime du joueur à 0, puis au bout de X temps lui remettre.

Previsualisation du code
scn NewCrimeRuleQuestScript
;
float crimegoldmem
float crimehour
short crimedef
short done
;
begin gamemode
if ( crimegoldmem != player.getcrimegold ) & ( crimedef == 0 )
set crimegoldmem to player.getcrimegold
set crimehour to (La variable pour recup l'heure du jeu, me rapelle plus son nom, GameHour je crois)
player.setcrimegold 0.0
set crimedef to 1
endif
if ( crimegoldmem != 0 ) & ( (La variable pour recup l'heure du jeu) == crimehour + X ) &  ( done  == 0 )
; (où X est le nombre d'heures pendant lesquelles le joueur est "tranquille")
player.setcrimegold crimegoldmem
set done to 1
endif
if ( crimegoldmem != 0 ) & ( player.getcrimegold == 0 ) & ( crimedef == 1 )
set crimegoldmem to 0
set crimedef to 0
set done to 0
endif
end

Voilà ça devrait, en théorie ( j'ai pas fait une analyse très poussée non plus en ce qui concerne la "fiabilité" de ce script : l'analyse de tous les cas pouvant se présenter ), remplir la fonction que tu recherche...

edit

Citation

Serait-il possible que le montant demandé par le garde dépende de la gravité du crime, en gros, y a t'il une fonction de script qui détermine la somme à payer? J'imagine que oui, puisque la somme à verser différe en fonction du délit/crime par exemple, meutre = 1000PO
heu pour ça je crois que ce n'est pas un script mais des paramètres du jeu à modifier (accessible depuis un menu mais je ne sais plus lequel...)

Modifié par N.tox, 31 octobre 2007 - 01:46.

"E-A-Bug, It's it the game !"
Rejoignez le MJLA
"Mais on ne naît pas con quand même...On l'devient!...Par solidarité très certainement !"-Dieudonné-
"La mort, c'est un peu comme la connerie. Le mort, lui, il ne sait pas qu'il est mort... ce sont les autres qui sont tristes. Le con c'est pareil..." -Philippe Geluck-

#9 guiguizmo91

guiguizmo91

    Concentrer le laid accroit sa conservation !


Posté 30 octobre 2007 - 22:03

Pfiou, j'ai rien compris au script ... pourquoi on a besoin de l'heure dans le jeu?

#10 N.tox

N.tox

Posté 30 octobre 2007 - 22:36

On a besoin de l'heure (ou bien les minutes) dans le jeu parce que ce que tu veux, c'est que les guardes ne te courent pas après tout de suite si tu as commis un crime, mais juste une peu plus tard (le temps que le crime se fasse connaître), c'est là où l'heure (ou les minutes) interviennent... et oui, si tu veux que les gardes te cherchent après un quart d'heure, c'est quand même mieux que l'ordi sache quelle heure il était pour savoir à quelle heure les gardes commenceront à te chercher.... désolé j'ai pas commenter le script pour qu'il reste lisible (bon j'avoue, aussi par feignantise...), mais en plus si tu passes du temps à le décoder, tu apprendras et retiendra mieux (c'est un peu facile de ma part de dire ça je te l'accorde, mais ça reste vrai)
"E-A-Bug, It's it the game !"
Rejoignez le MJLA
"Mais on ne naît pas con quand même...On l'devient!...Par solidarité très certainement !"-Dieudonné-
"La mort, c'est un peu comme la connerie. Le mort, lui, il ne sait pas qu'il est mort... ce sont les autres qui sont tristes. Le con c'est pareil..." -Philippe Geluck-

#11 guiguizmo91

guiguizmo91

    Concentrer le laid accroit sa conservation !


Posté 30 octobre 2007 - 22:53

Pas grave, merci p0our la part de boulot réalisé, je vais me baser sur ce que tu as fait! sleeping.gif

Modifié par guiguizmo91, 30 octobre 2007 - 22:53.


#12 N.tox

N.tox

Posté 30 octobre 2007 - 22:59

Oubli pas le wiwiki et cs.elderscrolls.com
allez, courage :grin:
"E-A-Bug, It's it the game !"
Rejoignez le MJLA
"Mais on ne naît pas con quand même...On l'devient!...Par solidarité très certainement !"-Dieudonné-
"La mort, c'est un peu comme la connerie. Le mort, lui, il ne sait pas qu'il est mort... ce sont les autres qui sont tristes. Le con c'est pareil..." -Philippe Geluck-

#13 guiguizmo91

guiguizmo91

    Concentrer le laid accroit sa conservation !


Posté 01 novembre 2007 - 14:39

bonjour,

J'ai décidé de ce que j'allais faire, le Pj commet l'infraction, s'il est repéré, normal arrestation, le topic soudoyer est tout le temps accessible, mais j'aimerais la corruption ne dépende pas que de Getdisposition, donc peut on intégrer une formule miracle dans les conditions de topic text? Si la corruption réussit, le garde prend une part défini par la formule du Magicien, pour le moment, j'ai mis un payfinethief pour tester, mais ce que j'aimerais, ce serait que pour 15 minutes (900 secondes si necessaire), le joueur ne soit plus un criminel mais que la prime revienne avec +20% ( avec ModCrimeGold ca doit être faisable) le problème, c'est que je n'arriva pas à déterminer les 900secondes dans le jeu, et comment faire pour que la prime du début revienne au bout de ces 15minutes

J'espére avoir été clair, Merci d'avance!

EDIT: je crois avoir compris, en fait il faut faire juste:

Set Crime.PCbounty to GetcrimeGold +(getcrimegold / 5)

Le problème, c'est le compte à rebours

Modifié par guiguizmo91, 01 novembre 2007 - 14:42.


#14 N.tox

N.tox

Posté 01 novembre 2007 - 15:37

hmm tu as bien la fonction getsecondspassed, qui compte les secondes, renseigne toi sur elle, mais il faut savoir qu'elle compte les seconde réelles et pas les secondes jeu (donc que tu dorme 24 h ou 1H ne changera rien, ensuite pour le principe, tout est dans le script que je t'ai indiqué. Et quand je dis un script de quête c'est que tu peux définir 3 type de script (quest, behavior, magic), et cela se situe dans la feenêtre de script, dans une liste déroulante en haut à droite de la dite fenêtre, une définit comme script de quête, il faut créer une quête bidon qui n'aura comme seule utilité de servir de receptacle au fameux scrip. Bon j'dois y aller donc renseignes-toi auprès des sites que je t'ai indiquer, avec un peu de persevérence, tu y arriveras.
Bon courage :P

Edit :

Citation

Set Crime.PCbounty to GetcrimeGold +(getcrimegold / 5)
En fait ici j'écrirais plutôt
Previsualisation du code
 set PCBounty to player.getcrimegold
set PCBounty to PCBounty + ( PCBounty / 5 )
player.setcrimegold PCBounty

Si j'ai le courage, je te referais le script avec les commentaire et tout et tout, mais en toute logic, avec ce qui est déjà indiquer (site, script, et suggestions, tu devrait pouvoir t'en sortir..°

Modifié par N.tox, 01 novembre 2007 - 16:01.

"E-A-Bug, It's it the game !"
Rejoignez le MJLA
"Mais on ne naît pas con quand même...On l'devient!...Par solidarité très certainement !"-Dieudonné-
"La mort, c'est un peu comme la connerie. Le mort, lui, il ne sait pas qu'il est mort... ce sont les autres qui sont tristes. Le con c'est pareil..." -Philippe Geluck-

#15 Le Magicien

Le Magicien

    Maraboutage in Tescs


Posté 01 novembre 2007 - 16:03

Salut,

Pour le montant de la prime, il suffit de le stoquer dans une variable intermédiare et de le fixer à 0. Puis au bout des 15 min de reprendre la nouvelle valeur de la prime ( en cas de nouvelle infraction ) et de lui ajouter le montant sauvegardé majorée de 20% .

Pour résumer il faut :
-Créer une nouvelle quête ex:"MaQueteCorruption" ...
script de quete :
Spoiler
-lui ajouter le topic "acheter un garde"
-ajouter le texte qui sera dit par le garde et ses conditions...
-dans le result script du dialogue ajouter la ligne :
Set MaQueteCorruption.Corruption to 1
- Ajouter le topic "acheter un garde" dans les choix des dialogues (quete Crime topic Greetings) correspondant aux arrestations ...( en gros la ou il existe au moins les 2 choix ServeSentence et ResistArrest )


Voilà
A bientôt :P

Modifié par Le Magicien, 01 novembre 2007 - 16:05.


#16 guiguizmo91

guiguizmo91

    Concentrer le laid accroit sa conservation !


Posté 02 novembre 2007 - 10:39

Merci pour le post plus que précis, Gandalf le Blanc :lol: C'est en gros ce  quoi j'avais pensé. J'avais déjà créé les dialogues pour les gardes, je vais essayer le script que tu m'as passé!

Sinon, je n'ai pas réussi à utiliser la condition IsActorVictim parce que si la victime est le garde, ça m'étonnerait qu'il accepte la corruption ... je mets surle topic soudoyer la condition IsActorVictim == 0 mais ça ne marche pas, il fautlui mettre une cible?

#17 Le Magicien

Le Magicien

    Maraboutage in Tescs


Posté 02 novembre 2007 - 14:08

salut,

 guiguizmo91, le 02.11.2007 à 10:38, dit :

Merci pour le post plus que précis, Gandalf le Blanc :( C'est en gros ce quoi j'avais pensé. J'avais déjà créé les dialogues pour les gardes, je vais essayer le script que tu m'as passé!

Sinon, je n'ai pas réussi à utiliser la condition IsActorVictim parce que si la victime est le garde, ça m'étonnerait qu'il accepte la corruption ... je mets surle topic soudoyer la condition IsActorVictim == 0 mais ça ne marche pas, il fautlui mettre une cible?
Pourquoi utiliser cette condition ? ( IsActorVictim )
Je n'en vois pas l'interet ...

Les seules conditions que tu as besoins de mettre sur le dialogue du garde sont
pour une reponse positive ( le joueur peut payer ):
(target=yes) GetIsID "Player" == 1  AND
(target=Yes) CanPayCrimeGold == 1  AND ( ou un test sur la quantité d'or du joueur )
(target=no) IsGuard == 1 AND

Pour une réponse négative (si le joueur n'a pas assez d'or ) :
(target=yes) GetIsID "Player" == 1  AND
(target=Yes) CanPayCrimeGold == 0  AND ( ou un test sur la quantité d'or du joueur )
(target=no) IsGuard == 1 AND

A bientôt :wizard:

#18 guiguizmo91

guiguizmo91

    Concentrer le laid accroit sa conservation !


Posté 02 novembre 2007 - 15:45

En fait je veux juste créer un nouveau dialogue qui est dit par les gardes s'ils sont les cibles du joueur, imagine la situation:

Je vole dans la poche d'un garde
Il me repére
Il m'arréte
J'essaye de le soudoyer
-Va te faire voir, pourquoi me laisserait-il filer?

Après si je ne peux pas le fare ce n'est pas bien grave, la plus grande partie de ce que je voulais faire est fait




0 utilisateur(s) li(sen)t ce sujet

0 membre(s), 0 invité(s), 0 utilisateur(s) anonyme(s)