[TUTO] Braquage station service


#1

Bonsoir a tous, comme je n’ai pas vu de tuto encore sur ca sur le forum, je me propose pour en faire un, biensur il part à la base d’ici : http://www.altisliferpg.com/topic/2434-rob-shopsgas-stationsetc/

Allez on commence. Je vous conseil de faire une sauvegarde avant de suivre ce tuto, on ne sait jamais, mieu vaut etre prudent.

Fichier qu’on va modifier : **Mission.sqm, Functions.h **

Fichier qu’on va créer : fn_robShops.sqf dans MISSION\core\actions

Tout d’abord allez dans la racine de votre mission MPMissions\racine ouvrez votre fichier Function.h, chercher class Actions et rajouter a la suite

class Actions  
	{  
		file = "core\actions";  
		class buyLicense {};  
		class healHospital {};  
		class pushVehicle {};  
		class repairTruck {};  
		class serviceChopper {};  

		…  

		class sellLicense {};  
		class robShops {}; //Rob Gas Station & Shops Script  
		class takeOrgans {};  

class robShops {}; //Voler station service  

Une fois cela modifié allez dans core\actions et crée un fichier fn_robShops.sqf et ajouter ca dedans :

/*  
file: fn_robShops.sqf  
Author: MrKraken  
Made from MrKrakens bare-bones shop robbing tutorial on www.altisliferpg.com forums  
Description:  
Executes the rob shob action!  
Idea developed by PEpwnzya v1.0  
*/  
private["_robber","_shop","_kassa","_ui","_progress","_pgText","_cP","_rip","_pos"];  
_shop = [_this,0,ObjNull,[ObjNull]] call BIS_fnc_param; //The object that has the action attached to it is _this. ,0, is the index of object, ObjNull is the default should there be nothing in the parameter or it's broken  
_robber = [_this,1,ObjNull,[ObjNull]] call BIS_fnc_param; //Can you guess? Alright, it's the player, or the "caller". The object is 0, the person activating the object is 1  
//_kassa = 1000; //The amount the shop has to rob, you could make this a parameter of the call (https://community.bistudio.com/wiki/addAction). Give it a try and post below ;)  
_action = [_this,2] call BIS_fnc_param;//Action name  

if(side _robber != civilian) exitWith { hint "Tu ne peux pas dérober cette station" };  
if(_robber distance _shop > 5) exitWith { hint "Tu dois etre a 5 mètres" };  

if !(_kassa) then { _kassa = 1000; };  
if (_rip) exitWith { hint "Avancement du braquage!" };  
if (vehicle player != _robber) exitWith { hint "Sors de ton véhicule!" };  

if !(alive _robber) exitWith {};  
if (currentWeapon _robber == "") exitWith { hint "HaHa, ne me menace pas connard! Casses-toi !" };  
if (_kassa == 0) exitWith { hint "La caisse est vide!" };// si il n'y a rien dans la caisse alors elle est vide (suite a un braquage)  

_rip = true;  
_kassa = 20000 + round(random 10000);//20000= le nombre minimal de la recette + suivant d'un "tirage au hasard"  
_shop removeAction _action;  
_shop switchMove "AmovPercMstpSsurWnonDnon";  
_chance = random(100);  
if(_chance < 50) then { hint "Le caissier avait une alarme secrete, la police arrive!"; [[1,format["ALERTE la Station service: %1 est dérobé!", _shop]],"life_fnc_broadcast",west,false] spawn life_fnc_MP; }; //une chance sur 2 que la police sois contacter pendant le braquage  

_cops = (west countSide playableUnits);  
if(_cops < 2) exitWith{[[_vault,-1],"disableSerialization;",false,false] spawn life_fnc_MP; hint "Il n'y a pas assez de policiers!";}; //2 est le nombre de policiers necessaire   
disableSerialization;  
5 cutRsc ["life_progress","PLAIN"];  
_ui = uiNameSpace getVariable "life_progress";  
_progress = _ui displayCtrl 38201;  
_pgText = _ui displayCtrl 38202;  
_pgText ctrlSetText format["Progression du braquage (tu dois être à 10m) (1%1)...","%"];  
_progress progressSetPosition 0.01;  
_cP = 0.01;  

if(_rip) then  
{  
while{true} do  
{  
sleep 0.8;  
_cP = _cP + 0.01;  
_progress progressSetPosition _cP;  
_pgText ctrlSetText format["Progression du braquage (tu dois être à 10m) (%1%2)...",round(_cP * 100),"%"];  
_Pos = position player; // by ehno: get player pos  
				                _marker = createMarker ["Marker200", _Pos]; //by ehno: Place a Maker on the map  
				                "Marker200" setMarkerColor "ColorRed";  
				                "Marker200" setMarkerText "Attention un braquage a lieu !";  
				                "Marker200" setMarkerType "mil_warning";  
if(_cP >= 1) exitWith {};  
if(_robber distance _shop > 10.5) exitWith { };  
if!(alive _robber) exitWith {};  
};  
if!(alive _robber) exitWith { _rip = false; };  
if(_robber distance _shop > 10.5) exitWith { deleteMarker "Marker200"; _shop switchMove ""; hint "Tu as besoin de resté à 10m pour que le braquage continue !"; 5 cutText ["","PLAIN"]; _rip = false; };  
5 cutText ["","PLAIN"];  

titleText[format["Vous avez volé $%1, maintenant partez, les flics arrivent !",[_kassa] call life_fnc_numberText],"PLAIN"];  
deleteMarker "Marker200"; // by ehno delete maker  
life_cash = life_cash + _kassa;  

_rip = false;  
life_use_atm = false;  
sleep (60 + random(180));  
life_use_atm = true;  
if!(alive _robber) exitWith {};  
[[getPlayerUID _robber,name _robber,"211"],"life_fnc_wantedAdd",false,false] spawn life_fnc_MP;  
};  
sleep 300;  
_action = _shop addAction["Braquer la station service",life_fnc_robShops];  
_shop switchMove "";  

pour finir allez sur votre editeur de map, rajouter un **PNJ civil non jouable !! **et mettez ca dans son initialisation

this addAction["Rob Cash Register",life_fnc_robShops];  

Voila, maintenant vos stations peuvent etre braqué.

Le script Met un point sur la carte quand il y a un braquage

           Appel les flics avec le point sur la carte

          Minuterie

          Fond de caisse aléatoire

Bonne soirée, n’hésitez pas a posez vos questions. Bonne soirée


[5.0] Braquage station service
Braquage De Station Service
#2

Bravo pour cette traduction j’allais le faire dans quelques minutes mais pas graves tu expliques bien ! :wink: (Pas tester pour l’instant)


#3

à la place de “dérober” je mettrais plus “braquer” mais bon… La traduction est moyenne mais merci quand même.


#4

Pas de soucis :slight_smile: harmdhast si tu as des conseils pour les traductions je ne suis pas contre après les traductions chacun peux les changer au pire des cas


#5

Bon tuto ! Mais juste une question, il est possible de mettre le braquage seulement quand il y a par exemple 2 flic minimum de co sur le serveur ?

Tetrax

Modifier: Après avoir lue le script, je voie que 2 flic minimum doit être co ^^ Très bon tuto merci


#6

DELETE


#7

Il faut rajouter le PNJ à toute les stations ?


#8

Neal Yazouz Tu ajoutes les PNJ au station que tu veux toi :slight_smile:


#9

OK merci


#10

on est obliger de les mettre que dans les station service ou on peut les mettre dans les shop


#11

Merci du partage


#12

Par contre c’est chiant pour les PNJ.

Vous auriez du faire un système que si on se retrouve à 10m de distance avec un emblème de station service sur la map, quand on fait la touche d’intérraction un menu s’ouvre et si on est rebelle on peut tenter de braquer la station

Merci ^^


#13

Par contre c’est chiant pour les PNJ.

Vous auriez du faire un système que si on se retrouve à 10m de distance avec un emblème de station service sur la map, quand on fait la touche d’intérraction un menu s’ouvre et si on est rebelle on peut tenter de braquer la station

Merci ^^

a toi d’adapter le code a tes besoin personnel……


#14

Neal Yazouz Tu ajoutes les PNJ au station que tu veux toi :slight_smile:

Si on a deja des PNJ market au stations service , on peut ajouté sur ce meme PNJ ?


#15

MuChT Oui tu peux


#16

Bonjour comment augmenter le temps nécéssaire pour le braquage pour que la police aille le temps de venir ?

Merci


#17

Bonjour et merci pour ton tuto.

J’ai un problème, dès que je lance l’action je me fait kick “Script restriction #3

Script.log

_action = _shop addAction["Braquer la station service",life_fnc_robShops];  
_shop swit"  
08.02.2015 17:53:23: Skyzo (xx.xxx.xxx.xx:xxxx) xxxxxxxxxxxxxxxxxxxxxxxxxxxx - #3 "se,false] spawn life_fnc_MP;  
};  

et je n’arrive pas a mettre la bonne ligne dans le script.txt.

Une idée?


#18

Pas eu ce probleme la, désolé :confused:


#19

Tiens Skyzo63


#20

le temps c’est l’horreur comment l’augmenter svp les flic on meme pas le temps de sortir du comico :wink: