Difference between revisions of "Objets aléatoires"

From Worms Knowledge Base

Jump to: navigation, search
(Nombre d'objets)
Line 55: Line 55:
 
Alors là, c'est un peu plus compliqué.
 
Alors là, c'est un peu plus compliqué.
  
First, you will have to re-use the modulo's result as M.
+
Tout d'abord, vous devrez réutiliser le résultat du modulo ci-dessus. On va l'appeler M.
  
Then, considering V as the byte's value, do :
+
Puis, en considérant que V est la valeur de l'octet, faites :
  
 
N = V - (8 + M)
 
N = V - (8 + M)
  
Then finally, divide N by 4 for getting the array's entry (E).
+
Et enfin, divisez N par 4 pour obtenir la clé de l'array (E).
  
 
E = N / 4.
 
E = N / 4.
  
Adjust the E value with your array. Meaning for example:
+
Ajustez E selon votre array. C'est-à-dire par exemple :
  
* You can make an array with a NULL entry as the entry number 0, and you keep the same values for the entries.
+
* Vous pouvez faire un array dont la clé 0 vaut NULL. Dans ce cas, vous n'aurez pas besoin de changer le résultat, vous avez déjà la clé de l'array.
* You can make an array normally, meaning you will have to remove 1 to E.
+
* Vous pouvez faire un array normal (0 => 1, 1 => 2...). Il vous faudra dans ce cas enlever 1 à E.
* You can make an array with values from 35 to 250 only. If E < 31, E already equals to the value (if E = 5 for example, then C = 5 - considering C is the object count). If E >= 31, then remove 31 to get your array entry and select this entry (for example, 32 - 31 = 1, and 1 is the second entry of the array, 1 => 40 so C = 40).
+
* Vous pouvez enfin faire un array avec les valeurs de 35 à 250 uniquement. Si E < 31, E équivaut déjà à la valuer (si E = 5 par exemple, alors C = 5 - si on considère que C est le nombre d'objets). Si E >= 31, alors enlevez 31 pour avoir la clé de la valeur dans l'array (par exemple, 32 - 31 = 1, et 1 est la deuxième entrée de l'array - un array commence à 0, 1 => 40 donc C = 40).
  
The array's values are, as we said above:
+
Pour rappel, les valeurs de l'array sont :
  
 
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 35, 40, 45, 50, 55, 60, 65, 70, 75, 80, 85, 90, 95, 100, 110, 120, 130, 140, 150, 160, 170, 180, 190, 200, 210, 220, 230, 240, 250.
 
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 35, 40, 45, 50, 55, 60, 65, 70, 75, 80, 85, 90, 95, 100, 110, 120, 130, 140, 150, 160, 170, 180, 190, 200, 210, 220, 230, 240, 250.
  
'''For example'''
+
'''Par exemple'''
  
We have again the value "79". V = 79.
+
On reprend la valeur "79". V = 79.
  
M = 3 as we saw above.
+
Comme on a vu plus haut, M = 3.
  
So:
+
Donc :
  
 
N = 79 - (8 + 3)<br />
 
N = 79 - (8 + 3)<br />
Line 87: Line 87:
 
N = 68.
 
N = 68.
  
Then let's calculate E:
+
Ensuite, calculons E :
  
 
E = 68 / 4<br />
 
E = 68 / 4<br />
 
E = 17.
 
E = 17.
  
Then let's see with the 3 methods we suggested for the array:
+
Regardons ce qu'il se passe dans chacun des trois arrays de tout à l'heure :
  
* Get the 17th entry of the array. Value of it is 17. C = 17.
+
* Il suffit de prendre la clé E de l'array. Donc on prend la clé n°17, qui vaut 17. Donc C = 17.
* 17 - 1 = 16. Get the entry number 16 of the array. It contains 17. C = 17.
+
* 17 - 1 = 16. On va donc prendre la clé n°16 de l'array. Elle contient 17, donc C = 17.
* 17 < 31, so simply C = E = 17.
+
* 17 < 31, donc C = E = 17 tout simplement.
  
So there will be 17 mines and barrels.
+
Donc il y aura 17 mines et barils.
  
'''Another example'''
+
'''Essayons avec l'autre exemple'''
  
 
V = 246.
 
V = 246.
  
As we said above, M = 2.
+
Comme on a dit, M = 2.
  
So:
+
Donc :
  
 
N = 246 - (8 + 2)<br />
 
N = 246 - (8 + 2)<br />
Line 112: Line 112:
 
N = 236.
 
N = 236.
  
Then let's calculate E:
+
Calculons E :
  
 
E = 236 / 4<br />
 
E = 236 / 4<br />
 
E = 59.
 
E = 59.
  
Then let's see with the 3 methods we suggested for the array:
+
Ensuite, pour les arrays :
  
* Get the 59th entry of the array. Value of it is 250. C = 250.
+
* Il suffit de prendre la clé E de l'array, donc la clé n°59. La clé n°59 contient la valeur 250. Donc C = 250.
* 59 - 1 = 58. Get the entry number 58 of the array. It contains 250. C = 250.
+
* 59 - 1 = 58. On va donc prendre la clé n°58 de l'array, qui contient la valeur 250. Donc C = 250.
* 59 > 31, so 59 - 31 = 28. Entry number 28's value is 250. C = 250.
+
* 59 > 31, donc on doit faire 59 - 31, ce qui nous donne 28. La valeur de la clé n°28 est 250. Donc C = 250.
  
So there will be 250 barrels.
+
Il y aura donc 250 barils sur le terrain, et uniquement des barils.
  
 
==== Invalid byte values ====
 
==== Invalid byte values ====

Revision as of 12:48, 12 October 2011

Autres langues : English (en) • français (fr) • +/-

Les objets aléatoires de Worms 2, Worms Armageddon et Worms World Party sont les mines et les barils de pétrole.

Types d'objets

Il peut y avoir quatre valeurs : pas d'objet, mines uniquement, barils uniquement, ou bien les deux.

Nombre d'objets

Cette valeur n'existe que dans W:A. Vous pouvez définir le nombre d'objets qui vont apparaître, de 1 à 250. Pour avoir zéro objets, mettez tout simplement "pas d'objets" comme type.

Attention cependant, si vous dites, par exemple, qu'il y aura 250 objets, il n'y aura pas forcément 250 objets. En effet, il doit y avoir un écart minimal entre les objets, ainsi qu'entre les objets et les vers. Donc cette option ne représente que le nombre maximum d'objets, et donc pas le nombre exact

On ne peut pas choisir n'importe quelle valeur entre 1 et 250. Voici la liste des valeurs possibles :
Tous les entiers de 1 à 30, tous les multiples de 5 de 35 à 100, tous les multiples de 10 de 110 à 250.

Comment cette option est-elle sauvegardée dans un fichier WSC ?

Vieux schemes

Dans les schemes WWP et les schemes W:A v1 (et les vieux schemes W:A v2 jusqu'à la version ??? - TODO: Trouver cette version), seuls le type d'objet est sauvegardé, ce qui fait qu'il y aura jusqu'à 8 objets sur le terrain.

Les valeurs sont : 0x00=Pas d'objet, 0x01=Mines, 0x02=Barils de pétrole, 0x05=Les deux.

Nouveaux schemes

Dans les nouveaux schemes de W:A, il y a également l'option nombre d'objets. Du coup, le type et le nombre d'objets sont deux valeurs stockées dans le même octet.

Types

Vous devez faire un modulo (%) par 4 avec cette valeur. Le modulo est en fait une opération qui prend le reste d'une division euclidienne.

  • Si vous obtenez 0, il n'y aura pas d'objets.
  • Si vous obtenez 1, il n'y aura que des mines.
  • Si vous obtenez 2, il n'y aura que des barils.
  • Si vous obtenez 3, il y aura des mines et des barils.

Par exemple

Vous avez la valeur "79".

79 % 4 = 3 (parce que 79 / 4 = 19 et il reste 3)

Donc il y aura les deux types d'objets dans ce scheme.

Prenons un autre exemple

Vous avez maintenant la valeur "246".

246 % 4 = 2 (parce que 246 / 4 = 61 et il reste 2)

Nombre d'objets

Alors là, c'est un peu plus compliqué.

Tout d'abord, vous devrez réutiliser le résultat du modulo ci-dessus. On va l'appeler M.

Puis, en considérant que V est la valeur de l'octet, faites :

N = V - (8 + M)

Et enfin, divisez N par 4 pour obtenir la clé de l'array (E).

E = N / 4.

Ajustez E selon votre array. C'est-à-dire par exemple :

  • Vous pouvez faire un array dont la clé 0 vaut NULL. Dans ce cas, vous n'aurez pas besoin de changer le résultat, vous avez déjà la clé de l'array.
  • Vous pouvez faire un array normal (0 => 1, 1 => 2...). Il vous faudra dans ce cas enlever 1 à E.
  • Vous pouvez enfin faire un array avec les valeurs de 35 à 250 uniquement. Si E < 31, E équivaut déjà à la valuer (si E = 5 par exemple, alors C = 5 - si on considère que C est le nombre d'objets). Si E >= 31, alors enlevez 31 pour avoir la clé de la valeur dans l'array (par exemple, 32 - 31 = 1, et 1 est la deuxième entrée de l'array - un array commence à 0, 1 => 40 donc C = 40).

Pour rappel, les valeurs de l'array sont :

1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 35, 40, 45, 50, 55, 60, 65, 70, 75, 80, 85, 90, 95, 100, 110, 120, 130, 140, 150, 160, 170, 180, 190, 200, 210, 220, 230, 240, 250.

Par exemple

On reprend la valeur "79". V = 79.

Comme on a vu plus haut, M = 3.

Donc :

N = 79 - (8 + 3)
N = 79 - 11
N = 68.

Ensuite, calculons E :

E = 68 / 4
E = 17.

Regardons ce qu'il se passe dans chacun des trois arrays de tout à l'heure :

  • Il suffit de prendre la clé E de l'array. Donc on prend la clé n°17, qui vaut 17. Donc C = 17.
  • 17 - 1 = 16. On va donc prendre la clé n°16 de l'array. Elle contient 17, donc C = 17.
  • 17 < 31, donc C = E = 17 tout simplement.

Donc il y aura 17 mines et barils.

Essayons avec l'autre exemple

V = 246.

Comme on a dit, M = 2.

Donc :

N = 246 - (8 + 2)
N = 246 - 10
N = 236.

Calculons E :

E = 236 / 4
E = 59.

Ensuite, pour les arrays :

  • Il suffit de prendre la clé E de l'array, donc la clé n°59. La clé n°59 contient la valeur 250. Donc C = 250.
  • 59 - 1 = 58. On va donc prendre la clé n°58 de l'array, qui contient la valeur 250. Donc C = 250.
  • 59 > 31, donc on doit faire 59 - 31, ce qui nous donne 28. La valeur de la clé n°28 est 250. Donc C = 250.

Il y aura donc 250 barils sur le terrain, et uniquement des barils.

Invalid byte values

These byte values are converted to 1 (8 mines) by the game:

3, 4, 6, 7, 8, 9, 10, 11, 248, 249, 250, 251, 252, 253, 254, 255.



Cet article a une to-do list :
  • Trouver la version où W:A à introduit l'option du nombre d'objets
Personal tools