Configuration des zones contaminées statiques

Configuration des zones contaminées statiques

La configuration des zones contaminées se fait via un fichier dans le dossier de la mission, de sorte que tout propriétaire de serveur peut contaminer n’importe quelle partie de la map.

La création de zones statiques se fait au démarrage du serveur, les entités ne sont pas persistantes, donc d’un redémarrage du serveur à l’autre elles peuvent être supprimées ou ajoutées SANS EFFACEMENT REQUIS .

Le fichier doit contenir la liste complète de toutes les zones statiques à utiliser par la logique des zones contaminées. Les zones dynamiques sont générées via l’économie centrale et utilisent les valeurs par défaut du script (elles sont traitées comme des événements dynamiques).

Le nom du fichier est : cfgEffectArea.json

Dans le cas où l’on souhaite désactiver les zones d’effet, mettre un fichier vide dans le dossier Mission fera l’affaire → Vide signifiant avec un crochet ouvrant et fermant { }

Exemple de fichier vide pour désactiver les zones statique

{
}

NOTE IMPORTANTE :

  1. JSON ne prend PAS en charge les commentaires, supprimez tous les commentaires de votre fichier avant de l’envoyer sur le serveur ou cela ne fonctionnera PAS.
  2. Toutes les valeurs numériques doivent être VALABLE Entiers ou Flotteurs ( 0150 n’est pas valide et dois être écrit 150 )

Ci dessous un exemple avec une zone contaminé et deux positions safe au cas ou le joueur qui respawn serait trop près de la zone contaminée.

Exemple d’une zone contaminé :

{
    "Areas": [
		{ 	"AreaName": "Ship-SW", 
			"Type": "ContaminatedArea_Static", 
			"TriggerType": "ContaminatedTrigger",
			"Data": { 
				"Pos": [ 13684, 0, 11073 ],
				"Radius": 100,
				"PosHeight": 22,
				"NegHeight": 10,
				"InnerRingCount": 1,
				"InnerPartDist": 50,
				"OuterRingToggle": 1, 
				"OuterPartDist": 50, 
				"OuterOffset": 0, 
				"VerticalLayers": 0,
				"VerticalOffset": 0,
				"ParticleName": "graphics/particles/contaminated_area_gas_bigass"
				},
			"PlayerData": {
				"AroundPartName": "graphics/particles/contaminated_area_gas_around",
				"TinyPartName": "graphics/particles/contaminated_area_gas_around_tiny",
				"PPERequesterType": "PPERequester_ContaminatedAreaTint"
			}
		}
    ],
	"SafePositions":[
		[434, 13624],
		[360, 10986],
	]
}

Les Variables et leurs valeurs :

AreaName

Nom pour aider à différencier les zones dans le fichier mais peut également être utilisé pour le débogage.
Vous pouvez mettre les noms que vous souhaitez mais ils doivent être unique dans le fichier.

Type

Le nom de classe dérivé de EffectArea déterminant le type de zone à faire spawn.

TriggerType

Trigger type (typename sous forme de chaîne ), laissez vide si aucun déclencheur souhaité.

Pos

Position d’ancrage de l’élément principale.
3 valeurs sont précisé dans ces coordonnées, le x et y bien connu que vous pouvez trouver sur izurvive ou un mode offline, et l’élévation par rapport au sol.
Les 3 valeurs sont a définir dans cette ordre : X Élévation et  Y.
Si la coordonnée d’élévation est non nulle l’entité et la première couche de particules ne seront pas fixé au sol.

Radius

Le rayon d’action de votre Zone.

PosHeight

Hauteur du cylindre d’effet de la zone vers le haut à partir de la position au sol.

NegHeight

Hauteur du cylindre d’effet de la zone vers le bas à partir de la position au sol.

InnerPartDist

Distance sur une ligne droite entre deux particules émettrices sur l’intérieur des anneaux.
Si la valeur est strictement supérieure au rayon, AUCUN anneaux ne sera généré.

OuterRingToggle

Bascule si l’anneau extérieure est souhaité (si oui, ce sera un anneau supplémentaire aux anneaux intérieures)

VerticalLayers

La quantité de couches verticales que l’utilisateur souhaite définir (en plus du niveau du sol).

VerticalOffset

Décalage entre deux couches verticales.

ParticleName

Le nom de la particule avec laquelle on veut peupler la zone.

AroundPartName

Le nom de la particule extérieur à faire apparaître autour du joueur lors du déclenchement.
Nécessite un déclencheur pour faire quoi que ce soit.

TinyPartName

Le nom de la “minuscule” particule à apparaître autour du joueur lorsque celui ci est dans le déclencheur.
Nécessite un déclencheur pour faire quoi que ce soit.

PPERequesterType

Le nom de type de l’effet de post-traitement à appliquer sur la caméra du joueur à l’intérieur de la zone.

Calcul des particules

La formule utilisée pour déterminer la quantité d’émetteurs de particules dans une zone est la suivante :
2 PI / ACOS( 1 – ( x ^ 2 / 2 * y ^ 2 ) ) où ‘x’ est l’espacement entre les émetteurs et ‘y’ est le rayon d’un anneau donné.
exemple avec x = 20 et y = 1
2 PI / ACOS( 1 – ( 20 ^ 2 / 2 * 105 ^ 2 ) ) = 2 PI / ACOS( 1 – ( 400 / 2 * 11025 ) ) = 2 PI / ACOS( 1 – ( 400 / 22050 ) ) = 2 PI / ACOS (1 – 0,01814059 ) = 2 PI / ACOS (0,98185941 ) = 2 PI / 0,190765318 = 32,93672756

Ces valeurs étant arrondies, vous aurez 32 émetteurs de particules sur cet anneau spécifique.
Lors de la configuration d’une zone, si vous voulez savoir à l’avance combien d’émetteurs vous aurez au total, passez chacun de vos réglages de bague dans cette formule, additionnez les résultats et ajoutez 1 (émetteur central) et multipliez par la quantité de couches verticales que vous ayez (au moins 1 au sol) et vous aurez votre nombre total d’émetteurs.

Pour les valeurs ‘y’ de la bague intérieure, prenez votre rayon de zone (100 par exemple) divisez par le nombre de bagues intérieures moins 1 (2 bagues intérieures = 100/3) votre premier anneau aura un rayon de 33 et le second aura un rayon de 66. Cela peut sembler une façon étrange de faire les choses, mais nous supposons qu’un anneau extérieur existe et ce serait votre 3 de la formule précédente.

NOTE IMPORTANTE : Nous vous déconseillons d’avoir plus de 100 émetteurs par zone, chaque émetteur de zone par DEFAUT est de 10 particules. Plus il y a de particules, plus les performances sont importantes. Lorsque vous utilisez des particules autres que celles par défaut, gardez à l’esprit que l’impact sur les performances provient du nombre de particules et non du nombre d’émetteurs.

Exemples visuels de configuration

Fig.1 Génération des anneaux et des émetteurs

Fig.2 Configuration de la hauteur de déclenchement

Vous l’avez vu les calculs sont un peu plus complexe que d’habitude et nous vous conseillons donc de n’intervenir que sur les coordonnées et le rayon et de garder des valeurs par défaut partout ou c’est rendu possible.