Question(s) sur les scripts.

Toutes vos idées pour créer des mods.
Répondre
Dada4
Confrère
Messages : 34

Question(s) sur les scripts.

Message par Dada4 »

Je ne sais pas où et à qui le demander, alors je me permet de le poster ici.
J'aurai aimé connaitre le langage des script (lua? c++? ou autre?)

J'essai de comprendre le script du mod : AmmoWeight
(celui qui permet de calculer le poids des munitions)

Voila l'original:

Code : Tout sélectionner

scn AmmoWeightScript
Short AWC

Begin GameMode
	set AT to Player.GetItemCount AmmoDart
	set AT to (AT + Player.GetItemCount AmmoBB)
	set AT to (AT + Player.GetItemCount Ammo5mm)
	set AWC to AT
	set AT to Player.GetItemCount Ammo10mm
	set AT to (AT + Player.GetItemCount Ammo32Caliber)
	set AT to (AT + Player.GetItemCount AmmoElectronChargePack)
	set AT to (AT + Player.GetItemCount AmmoSmallEnergyCell)
	set AT to (AT + Player.GetItemCount AmmoAlienPowerCell)
	set AT to (AT*3)
	set AWC to (AWC + AT)
	set AT to Player.GetItemCount AmmoRailwaySpikes
	set AT to (AT + Player.GetItemCount Ammo44magnum)
	set AT to (AT + Player.GetItemCount Ammo308Caliber)
	set AT to (AT + Player.GetItemCount Ammo556mm)
	set AT to (AT + Player.GetItemCount AmmoMicroFusionCell)
	set AT to (AT + Player.GetItemCount AmmoFlamerFuel)
	set AT to (AT*5)
	set AWC to (AWC + AT)
	set AT to Player.GetItemCount AmmoShotgunShell
	set AT to (AT + Player.GetItemCount AmmoMesmetronPowerCell)
	set AT to (AT*10)
	set AWC to (AWC + AT)
	set AT to Player.GetItemCount AmmoMissile
	set AT to (AT*100)
	set AWC to (AWC + AT)
	set AT to Player.GetItemCount ammoFatMan
	set AT to (AT*300)
	set AWC to (AWC + AT) 
	if AWC > (Player.GetItemCount AmmoWeightCounter)
		set AWC to (AWC - Player.GetItemCount AmmoWeightCounter)
		Player.AddItem AmmoWeightCounter AWC 1
	elseif AWC < (Player.GetItemCount AmmoWeightCounter)
		set AWC to (Player.GetItemCount AmmoWeightCounter - AWC)
		Player.RemoveItem AmmoWeightCounter AWC 1
	endif
End

Ce que j'aimerai faire c'est ça:

Code : Tout sélectionner

scn AmmoWeightScript
Short AWC

Begin GameMode
	set AWC to (Player.GetItemCount AmmoDart)*1
	set AWC to (AWC + (Player.GetItemCount AmmoBB)*1)
	set AWC to (AWC + (Player.GetItemCount Ammo5mm)*2)
	set AWC to (AWC + (Player.GetItemCount Ammo10mm)*3)
	set AWC to (AWC + (Player.GetItemCount Ammo32Caliber)*4)
	set AWC to (AWC + (Player.GetItemCount AmmoElectronChargePack)*4)
...etc...
	set AWC to (AWC + (Player.GetItemCount ammoFatMan)*16)

	if AWC > (Player.GetItemCount AmmoWeightCounter)
		set AWC to (AWC - Player.GetItemCount AmmoWeightCounter)
		Player.AddItem AmmoWeightCounter AWC 1
	elseif AWC < (Player.GetItemCount AmmoWeightCounter)
		set AWC to (Player.GetItemCount AmmoWeightCounter - AWC)
		Player.RemoveItem AmmoWeightCounter AWC 1
	endif
End
sachant que dans ARMO on triuve l'objet ; AmmoWeightCounter
qui a un poids de 0.01 donc si j'ai bien pigé, le poids indiqué sera de :
AmmoWeightCounter*AWC ( si AWC = 200, alors 0.01*200=2 lb)

par contre je comprends pas cette formulation:
Player.AddItem AmmoWeightCounter AWC 1
Player -> joueur
AddItem -> ajoute l'objet au "Player"
AmmoWeightCounter -> est l'objet à ajouter
AWC -> est la quantité
1 -> ????

Pourquoi? comme ça c'est facile de rajouter les ammo que l'on veux et avec des poids unitaire personnalisé.

C'est possible? ou bof...
Dada4
Confrère
Messages : 34

Re: Question(s) sur les scripts.

Message par Dada4 »

OUPSS!!! je me suis trompé de Forum! c'était dans ce lui de Fallout 3 que je voulais poster. Mille zexcuses... :tape2: :tape2: :tape2: :tape2: :tape2:

C'est possible de le déplacer, svp? :fouet:
Avatar du membre
Mohawk
Confrère
Messages : 290

Re: Question(s) sur les scripts.

Message par Mohawk »

Dada4 a écrit : par contre je comprends pas cette formulation:
Player.AddItem AmmoWeightCounter AWC 1
Player -> joueur
AddItem -> ajoute l'objet au "Player"
AmmoWeightCounter -> est l'objet à ajouter
AWC -> est la quantité
1 -> ????

Pourquoi? comme ça c'est facile de rajouter les ammo que l'on veux et avec des poids unitaire personnalisé.

C'est possible? ou bof...
Tu est sûr que c'est dans Oblivion ça ? M'enfin... c'est un script donc ..... dans ta ligne :
Player <= est le référent, l'objet qui est concerné par la fonction, l'objet sur lequel la fonction va s'appliquer.
AddItem <= est la fonction ajouter un objet.
AmmoWeightCounter <= est l'objet a ajouté à la fonction.
AWC <= est en effet une variable déterminant la quantité de AmmoWeightCounter à ajouter.
1 <= est logiquement inutile ici, mais peut être utile suivant le script si l'on veut être certain de forcer la fonction. Dans le cas de AddItem je ne vois pas trop l'intérêt, mais pourquoi pas...

Pour le reste de ce que tu veux faire, je ne vois pas de problème. Logiquement ça doit fonctionner, enfin sous réserve qu'il y ait bien tous les marqueurs, etc... tu comptes faire tourner ce machin en permanence ? Ou uniquement lors de l'accès à l'inventaire ?
Image
Dada4
Confrère
Messages : 34

Re: Question(s) sur les scripts.

Message par Dada4 »

Mohawk a écrit : ... tu comptes faire tourner ce machin en permanence ? Ou uniquement lors de l'accès à l'inventaire ?
Voila une question bigrement intéressante.
Logiquement il devrait tourner en temps réel, puisque cela te détermine le poids qu'on porte. Si on tire des munitions, le poids devrait chuter.
Mais il est vrai, est-ce bien nécessaire que ce soit en temps réel. Le poids pourrait aussi bien être mis à jour lors de l'accès à l'inventaire.
Là, j'avoue ne pas trop savoir que choisir, surement la plus simple et la moins contraignante pour le calcul(e) du jeu.

Merci de tes remarques fort intéressantes. ;) .
Modifié en dernier par Dada4 le 20 juin 2015, 17:31, modifié 4 fois.
Raison : .
Avatar du membre
Shadow she-wolf
Confrère
Messages : 830
Contact :

Re: Question(s) sur les scripts.

Message par Shadow she-wolf »

Comme je m'ennuie...

Concernant le 1 tout seul à la fin, je dis, rien ne vaut un bon vieux RTFM où c'est très bien expliqué...

Concernant la fréquence à laquelle tourne le script...
Sur Oblivion...donc Fallout ça doit être pareil, un script n'a que des répercutions infinitésimales sur les performances en jeu.
Dada4
Confrère
Messages : 34

Re: Question(s) sur les scripts.

Message par Dada4 »

Je sais bien, le seul blème c'est que mes cours d'anglais date de plus 20 ans. J'arrive à comprendre vaguement le sens, mais pour l'exactitude ... :nul:

(je suis déjà allé zieuter, un peu, les cours de GErCK :triste: )
Avatar du membre
Shadow she-wolf
Confrère
Messages : 830
Contact :

Re: Question(s) sur les scripts.

Message par Shadow she-wolf »

Le 1 est un flag qui sert à masquer le message de l'ajout de l'objet dans l'inventaire.

De base, quand on ajoute un objet au joueur, il y a un message indiquant que l'objet est ajouté à l'inventaire. Avec le flag, il n'y a plus de message, le changement de poids se trouve être "silencieux" donc.
Dada4
Confrère
Messages : 34

Re: Question(s) sur les scripts.

Message par Dada4 »

Merci beaucoup de cette précision. :bisou:
Répondre

Retourner vers « Idées »