SafeZone avec messages pour altis 4.4R4 + 5.0


#1

Bonjour à toute la communauté,

Je vous propose ce script qui vous permettra d’avoir votre SafeZone fonctionnelle.
C’est à dire que le civil:

- Tire une première fois: Il aura un message d’avertissement.
- Il tire une deuxième fois: Il aura un message d’avertissement et il perdra toutes ses armes.
- Il tire une troisième fois: Il meurt.

Allez, on y va:

POUR CEUX QUI ONT DÉJÀ LA SAFEZONE SUR LEUR MAP, PASSER DIRECTEMENT AU 4:

1 - Ouvrez votre mission.sqm avec l’éditeur Arma III

2 - Insérez un marqueur => Ellipse => Entrez un nom “safepyrgos” et Axe A et B = 400

2bis: Faites de même avec d’autres SafeZones que vous auriez sur la map.

3 - Sauvegardez votre mission.

4 - Créez un dossier “scripts” à la racine de votre serveur.

5- A l’interieur de ce dossier, créer un fichier “safezone.sqf” et mettez-y ceci:
https://pastebin.com/U40NBwSt

N’oubliez pas de renseigner les marqueurs qui ce situe à la ligne 12 du script.
[“Nom_De_Votre_Marqueur”, Taille_De_La_Zone_Safe]

Exemple:
[“ZoneSafe_Kavala”, 900]

6- Dans “init.sqf” à la racine de votre serveur et ajoutez :

[] execVM "scripts\safezone.sqf";

7- Et enfin, allez dans “core/configuration.sqf” et dans la section “Backend Variables” mettez cette ligne:

life_advert = 0;

Laissez “0” pour que le script exécute les 3 étapes, mettez “1” si vous voulez la personne tire pour la première fois se vois retirer toutes ses armes et “2” si vous voulez que la personne meurt d’office.

Voila, ce tuto est terminé…Pour ma part il est fonctionnel en 4.4R4 et 5.0.
Merci de préciser si il est aussi fonctionnel sur d’autres versions.

Je remercie proto pour m’avoir aider pour ce script et de m’avoir appris d’autres choses.
Un merci aussi à Johnny et MrDarkSkil à qui je me suis permis de m’appuyer sur leurs tutos.
:wink:


#2

Un merci aussi à Johnny et MrDarkSkil à qui je me suis permis de m’appuyer sur leurs tutos.


#3

Rapide^^ Par contre cite quand même la source sur laquelle tu t’es basé par respect pour le créateur :wink: Sinon bien vu :slight_smile:


#4

proto Fait au-dessus. :wink:


#5

Parfait :wink:


#6

Ce qui pourrait êter encore plus cool avec ce script et je penses tout le monde te dire c’est d’intégrer un anti car kill !

Comme sa pas de tirs et pas de carkill :smiley:


#7

feared_glock

Effectivement, cela pourrait être pas mal… je me penche dessus dès que je pourrais…
Cependant, vu que tu as eu cette belle idée, je te propose de travailler dessus aussi car nous sommes sur un forum de partages et d’entraides… Donc, pour moi, si tout le monde s’y met ensemble, on pourra avoir un meilleur travail et aussi un meilleur forum communautaire.
:wink:


#8

J’ai regarder le script d’anti car kill, seul problème c’est que c’est le carkill entièrement et pas dans une zone et qui doit être mit dans le handle damage ce qui est fort dommage !

Du coup dans le code il faudrait surement intégrer la condition que si ils sont dans les marqueurs : Safe_Kavala / Safe_Athira etc… alors tu met le code et tu peux pas être carkill dans ces zones la :slight_smile:
Avec ce code la il y a un message qui s’affiche ce qui permet de voir qui essaie d’écraser qui, le mieux se serait a la rigueur de les mettre aussi dans les logs pour garder une trace :slight_smile:

Voici le code :

//VDM Report And ADD
if ((isPlayer _source) && (vehicle _source != _source)) then {
if(_part == "body" && (player getVariable["limit",true]) && (side _source == civilian)) then {
player setVariable ["limit",false];
[_source] spawn {
_driver = _this select 0;
[0,format["%1 a écrasé %2!", name _driver, name player]] remoteExec ["life_fnc_broadcast",0];
sleep(10);
player setVariable ["limit",true];
	};
};				
_damage = getDammage player;
};

J’espère que c’est une bonne idée je suis pas très bon de base !


#9

TUTORIEL FONCTIONNEL 5.0


#10

Fonctionne parfaitement pour moi aussi sur 5.0.
Merci a toi :wink:


#11

psycho_tn

De rien. Avec plaisir


#12

Voici une petite mise à jour du tuto.

Je n’ai pu modifier directement le tuto, donc je la met ici. :wink:

- QU’APPORTE CETTE PETITE MISE A JOUR ?

Cela évite d’assommer qqun dans la SafeZone.
Bien sur, ceci est un petit + donc n’est pas obligatoire pour le fonctionnement.

- APPLICATION:

1) Ouvrir: core\civilian \ fn_knockoutAction.sqf

2) Trouvez cette ligne:

#include "..\..\script_macros.hpp"

3) Ajoutez ceci juste en dessous: Changez le nom des marqueurs que vous avez utilisé pour définir vos SafeZone. Vous retrouvez ces noms dans le fichier scripts \ safezone.sqf

Exemple

#define SAFETY_ZONES_knockout    [["Safe_Zone_1", 550],["Safe_Zone_2", 200],["Safe_Zone_3", 200]]

4) Ensuite trouver cette ligne:

life_knockout = true;


5) Et ajoutez ce code juste en dessous:`

if ({((position player) distance (getMarkerPos (_x select 0))) < (_x select 1)} count SAFETY_ZONES_knockout > 0) exitWith {};

Voili voilou… Un bon game à tous. :rofl: