[Résolu] Remplir un coffre toutes les 24h du jeu
- narugatsuto
- Traducteur aguerri
- Messages : 1033
- Contact :
Remplir un coffre toutes les 24h du jeu
Bonjour/Bonsoir, je viens poster une demande d'aide car je voudrais faire des coffres qui respawn toute les 24h et donc ça doit passer par du script mais je ne m'y connais rien en script et j'ai essayé le tuto de Gerauld mais j'ai rien compris donc je vous demande de l'aide pour savoir comment faire.
Modifié en dernier par narugatsuto le 27 nov. 2012, 14:19, modifié 5 fois.

Mon Skype :
-Pseudo : narugatsuto
-Nom et prénom :
J'ai un blog de dessin aussi si vous voulez : http://dessins-d-un-geek.blogspot.be/
Re: [demande d'aide] script sur coffre
Avant tout, tu créés une variable globale (dans miscellaneous => Global) que tu appelles comme tu veux mais dont tu mets la valeur à 1 (très important sinon ça ne marche pas).
Il faut faire une formlist contenant les objets à ajouter toutes les 24 heures.
Tu créés un script attaché à ton coffre en prenant soin d'avoir décoché la case "respawn" de ce coffre.
Tu peux partir d'un truc du genre (avec exemple d'une formlist, d'une arme ou d'un miscobject) :
Ne pas oublier de remplir les propriétés en double-cliquant sur le nom du script une fois celui-ci compilé.
Il est possible de renommer les propriétés du script pour qu'elles portent le même nom que l'objet dans le CK. Cela permet de remplir automatiquement les propriétés en cliquant sur auto-fill.
Je n'ai pas testé ce bout de script mais, à vue de nez, il devrait fonctionner.
Il est très important de créer une variable globale à 1 pour la propreté du script et ne pas laisser de traces dans les saves après désactivation du mod.
Il faut faire une formlist contenant les objets à ajouter toutes les 24 heures.
Tu créés un script attaché à ton coffre en prenant soin d'avoir décoché la case "respawn" de ce coffre.
Tu peux partir d'un truc du genre (avec exemple d'une formlist, d'une arme ou d'un miscobject) :
Code : Tout sélectionner
globalvariable property mavariable auto ;tu remplaces mavariable par le nom de la variable globale que tu a créée
formlist property maliste auto ;la formlist avec des objets
miscobject property unobjet auto ;un miscobject
weapon property monarme auto ;une arme
event oninit()
registerforsingleupdategametime(24)
endevent
event onupdategametiem() ;c'est l'heure
self.RemoveAllItems() ;je vide le coffre
;j'ajoute les éléments de la liste
Int Index = 0
While Index < maliste.GetSize()
self.additem(ListesArmes.GetAt(Index), 1, true)
Index += 1
EndWhile
self.additem(monarme,2,true);j'ajoute 2 exemplaires de mon arme
self.additem(unobjet, 10,true) ;j'ajoute 10 exemplaires de mon objet (un miscobject)
;je relance 24h d'attente si le mod est toujours installé
if mavariable.getvalueint() == 1
registerforsingleupdategametime(24)
endif
endevent
Il est possible de renommer les propriétés du script pour qu'elles portent le même nom que l'objet dans le CK. Cela permet de remplir automatiquement les propriétés en cliquant sur auto-fill.
Je n'ai pas testé ce bout de script mais, à vue de nez, il devrait fonctionner.
Il est très important de créer une variable globale à 1 pour la propreté du script et ne pas laisser de traces dans les saves après désactivation du mod.
- narugatsuto
- Traducteur aguerri
- Messages : 1033
- Contact :
Re: [demande d'aide] script sur coffre
Merci Gerauld, je test et je te dis quoi mais je ne sais pas le faire tout de suite, dans la soirée oui.

Mon Skype :
-Pseudo : narugatsuto
-Nom et prénom :
J'ai un blog de dessin aussi si vous voulez : http://dessins-d-un-geek.blogspot.be/
- narugatsuto
- Traducteur aguerri
- Messages : 1033
- Contact :
Re: [demande d'aide] script sur coffre
J'ai essayé de faire le script que tu as mis, Gerauld, mais je n'y comprend rien aux scripts et donc j'arrive pas à le faire fonctionner.

Mon Skype :
-Pseudo : narugatsuto
-Nom et prénom :
J'ai un blog de dessin aussi si vous voulez : http://dessins-d-un-geek.blogspot.be/
- narugatsuto
- Traducteur aguerri
- Messages : 1033
- Contact :
Re: [demande d'aide] script sur coffre
Salut, j'ai réessayer mais je n'arrive pas donc je viens demander si quelqu'un peut me faire le script, si quelqu'un veut se charger du script, je lui passe le mod si il a besoin de renseignement dessus, qu'il me le demande.
Je vous remercie d'avance.
Je vous remercie d'avance.

Mon Skype :
-Pseudo : narugatsuto
-Nom et prénom :
J'ai un blog de dessin aussi si vous voulez : http://dessins-d-un-geek.blogspot.be/
Re: [demande d'aide] script sur coffre
Envoie moi le mod et les détails par MP.
- narugatsuto
- Traducteur aguerri
- Messages : 1033
- Contact :
Re: [demande d'aide] script sur coffre
Oki, merci Gerauld mais je te passe quoi comme détails ? les editors id ? ou autre ?

Mon Skype :
-Pseudo : narugatsuto
-Nom et prénom :
J'ai un blog de dessin aussi si vous voulez : http://dessins-d-un-geek.blogspot.be/
Re: [demande d'aide] script sur coffre
Quel coffre, ce que tu veux y mettre dedans...
- narugatsuto
- Traducteur aguerri
- Messages : 1033
- Contact :
Re: [demande d'aide] script sur coffre
Oki, ça je l'ai mis dans le mp que je t'ai déjà envoyer.

Mon Skype :
-Pseudo : narugatsuto
-Nom et prénom :
J'ai un blog de dessin aussi si vous voulez : http://dessins-d-un-geek.blogspot.be/
Re: [Demande] Script sur coffre
Bon, le script ci-dessous a été placé sur les 4 coffres (qui ont chacun une variable globale attachée) :
Plutôt que des formlists, ce sont des tableaux à remplir en propriété qui sont utilisés. L'avantage des tableaux, c'est que l'on peut jouer directement sur le nombre d'objets à avoir dans le coffre.
Le script regarde dans les tableaux toutes les 24 heures et vérifient à chaque fois le nombre de chaque objet dans le coffre. S'il en manque, il rajoute la différence.
Il y a, dans cet exemple, les 3 types d'objets utilisés par le mod mais cela marchera si on fait des copier-coller et que l'on ajoute des tableaux en plus. Pour chaque type d'objet, on a un tableau avec la liste des objets à avoir dans le coffre et un tableau avec le nombre d'objets à obtenir. Il te suffira de regarder dans l'esp pour voir comment ces tableaux sont remplis.
Pour modifier le nombre d'heures entre deux remplissages de coffre, il suffit de remplacer le 24 par une autre valeur (en heures-temps du jeu) en début et en fin de script.
IMPORTANT : A tester sur une nouvelle partie ou une partie qui n'a jamais eu le mod d'activé. Cela évitera les habituels soucis entre données de scripts des objets sauvegardées et modifications effectuées entre temps...
Je n'ai pas eu le temps de tester cette version. Je préfère te l'envoyer par MP tout de suite vu que je t'ai déjà fait attendre suffisamment longtemps... (jencore désolé de t'avoir zappé...)
Code : Tout sélectionner
Scriptname naru_chest extends ObjectReference
Potion[] Property listepotion Auto
Int[] Property nbpotion Auto
MiscObject[] Property listemisc Auto
Int[] Property nbmisc Auto
SoulGem[] Property listesoul Auto
Int[] Property nbsoul auto
GlobalVariable Property cadeauGV Auto
Event OnInit()
If cadeauGV.getvalueint() == 1
RegisterForSingleUpdateGameTime(24)
EndIf
EndEvent
Event OnUpdateGameTime()
Int index = 0
while index < listepotion.length
If Self.GetItemCount(listepotion[index]) < nbpotion[index]
Self.AddItem(listepotion[index], nbpotion[index] - self.getitemcount(listepotion[index]))
EndIf
index += 1
EndWhile
index = 0
while index < listemisc.length
If Self.GetItemCount(listemisc[index]) < nbmisc[index]
Self.AddItem(listemisc[index], nbmisc[index] - self.getitemcount(listemisc[index]))
EndIf
index += 1
EndWhile
index = 0
while index < listesoul.length
If Self.GetItemCount(listesoul[index]) < nbsoul[index]
Self.AddItem(listesoul[index], nbsoul[index] - self.getitemcount(listesoul[index]))
EndIf
index += 1
EndWhile
If cadeauGV.getvalueint() == 1
RegisterForSingleUpdateGameTime(24)
EndIf
EndEvent
Le script regarde dans les tableaux toutes les 24 heures et vérifient à chaque fois le nombre de chaque objet dans le coffre. S'il en manque, il rajoute la différence.
Il y a, dans cet exemple, les 3 types d'objets utilisés par le mod mais cela marchera si on fait des copier-coller et que l'on ajoute des tableaux en plus. Pour chaque type d'objet, on a un tableau avec la liste des objets à avoir dans le coffre et un tableau avec le nombre d'objets à obtenir. Il te suffira de regarder dans l'esp pour voir comment ces tableaux sont remplis.
Pour modifier le nombre d'heures entre deux remplissages de coffre, il suffit de remplacer le 24 par une autre valeur (en heures-temps du jeu) en début et en fin de script.
IMPORTANT : A tester sur une nouvelle partie ou une partie qui n'a jamais eu le mod d'activé. Cela évitera les habituels soucis entre données de scripts des objets sauvegardées et modifications effectuées entre temps...
Je n'ai pas eu le temps de tester cette version. Je préfère te l'envoyer par MP tout de suite vu que je t'ai déjà fait attendre suffisamment longtemps... (jencore désolé de t'avoir zappé...)
Hors-sujet
Autrement, il y a le CK qui couine concernant un soucis de Navmesh quand on ouvre ton esp. Il faudra que tu te penches là-dessus avant de sortir ton mod. Si tu ne trouves pas, il faudra rechercher dans "questions de modding" et éventuellement poster un nouveau sujet.