|
|
Membre
- Messages : 23
- Inscrit : 04 Mars 2018
- Statut :
|
Reprise du dernier message
J'ai réussi !!! Voila ce que j'ai fait
Script init.sqf
Citation if (isServer) then
{
missionNamespace setVariable ["Manpower", 200, true];
missionNamespace setVariable ["Munition", 50, true];
missionNamespace setVariable ["Gas", 15, true];
missionNamespace setVariable ["Manpower2", 200, true];
missionNamespace setVariable ["Munition2", 50, true];
missionNamespace setVariable ["Gas2", 15, true];
if (side player == west) then
hintSilent format["Manpower : %1\nMunition : %2\nGas : %3",missionNamespace getVariable "Manpower",missionNamespace getVariable "Munition",missionNamespace getVariable "Gas"];
if (side player == independent) then
hintSilent format["Manpower : %1\nMunition : %2\nGas : %3",missionNamespace getVariable "Manpower2",missionNamespace getVariable "Munition2",missionNamespace getVariable "Gas2"];
};
execVM "ressources.sqf";
execVM "ressources2.sqf";
Script ressources
Citation if (isServer) then {
while {true} do {
sleep 60;
missionNamespace setVariable ["Manpower",(missionNamespace getVariable "Manpower") + 100, true];
missionNamespace setVariable ["Munition",(missionNamespace getVariable "Munition") + 15, true];
missionNamespace setVariable ["Gas",(missionNamespace getVariable "Gas") + 5, true];
if (side player == west) then
hintSilent format["Manpower : %1\nMunition : %2\nGas : %3",missionNamespace getVariable "Manpower",missionNamespace getVariable "Munition",missionNamespace getVariable "Gas"];
};
};
et script ressources2
Citation if (isServer) then {
while {true} do {
sleep 60;
missionNamespace setVariable ["Manpower2",(missionNamespace getVariable "Manpower2") + 100, true];
missionNamespace setVariable ["Munition2",(missionNamespace getVariable "Munition2") + 15, true];
missionNamespace setVariable ["Gas2",(missionNamespace getVariable "Gas2") + 5, true];
if (side player == independent) then
hintSilent format["Manpower : %1\nMunition : %2\nGas : %3",missionNamespace getVariable "Manpower2",missionNamespace getVariable "Munition2",missionNamespace getVariable "Gas2"];
};
};
Voila. ;)
|
Membre
- Messages : 23
- Inscrit : 04 Mars 2018
- Statut :
|
J'ai du changé le nom du script ressoureces2 pour ressourcesV. Il fonctionnaient mais m'affichais un msg d'erreur.
|
Membre
- Messages : 23
- Inscrit : 04 Mars 2018
- Statut :
|
J'ai créé une zone capturable dans ma mission et j'ai ajouté une variable a l'entité zone; gasS.
Je l'est inscrite dans; Nom de la variable.
Maintenant dans mon script ressources j'ai ajouté ceci
Citation if (isServer) then {
while {true} do {
sleep 60;
missionNamespace setVariable ["Manpower",(missionNamespace getVariable "Manpower") + 100, true];
missionNamespace setVariable ["Munition",(missionNamespace getVariable "Munition") + 15, true];
missionNamespace setVariable ["Gas",(missionNamespace getVariable "Gas") + 5, true];
if ( gasN == west) then
missionNamespace setVariable ["Gas",(missionNamespace getVariable "Gas") + 5, true];
if (side player == west) then
hintSilent format["Manpower : %1\nMunition : %2\nGas : %3",missionNamespace getVariable "Manpower",missionNamespace getVariable "Munition",missionNamespace getVariable "Gas"];
};
};
Le script ne fonctionne pas? Je veux ajouté des ressources supplémentaire lorsque ma variable gasN appartient au blufor. Est-ce parce que j'ai créé la variable dans la mission et non dans un script.?
|
Leader
- Age : 36 ans
- Messages : 2156
- Inscrit : 29 Janvier 2007
- Statut :
- Spécialité :
|
Message édité 3 fois, dernière édition par The-KiLLeR, 15 Mars 2018, 19:25
Voici un test en aillant modifié légèrement tes fichiers :
init.sqf
if (isServer) then
{
missionNamespace setVariable ["Manpower", 200, true];
missionNamespace setVariable ["Munition", 50, true];
missionNamespace setVariable ["Gas", 15, true];
missionNamespace setVariable ["Manpower2", 200, true];
missionNamespace setVariable ["Munition2", 50, true];
missionNamespace setVariable ["Gas2", 15, true];
execVM "ressources.sqf";
};
execVM "infos.sqf";
ressources.sqf
while {true} do
{
if (({side _x == west} count list maZone) > 0) then
{
missionNamespace setVariable ["Gas",(missionNamespace getVariable "Gas") + 5, true];
};
if (({side _x == resistance} count list maZone) > 0) then
{
missionNamespace setVariable ["Gas2",(missionNamespace getVariable "Gas2") + 5, true];
};
sleep 1;
};
infos.sqf
while {true} do
{
if (side player == west) then
{
hintSilent format["Manpower : %1\nMunition : %2\nGas : %3",missionNamespace getVariable "Manpower",missionNamespace getVariable "Munition",missionNamespace getVariable "Gas"];
};
if (side player == resistance) then
{
hintSilent format["Manpower : %1\nMunition : %2\nGas : %3",missionNamespace getVariable "Manpower2",missionNamespace getVariable "Munition2",missionNamespace getVariable "Gas2"];
};
sleep 1;
};
Dans cet exemple, j'ai créé un déclencheur avec comme propriété :
"Nom de variable" : maZone
"Type" : aucun
"Activation" : Tout joueur
"Type d'activation" : Présent
"Condition" : This
Si un Blufor (west) est dans la zone, son "Gas" sera incrémenté de +5 toute les secondes. De même pour un indépendant (resistance), son "Gas2" sera incrémenté de +5 toute les secondes.
|
Membre
- Messages : 23
- Inscrit : 04 Mars 2018
- Statut :
|
A ok. Ça simplifie le script. Merci!!!
Par-contre si je veux juste qu'une équipe capture la zone et ne sont pas obliger de resté a l'intérieur
de celle-ci.
Citation if (({side _x == west} count list maZone) > 0) then
{
missionNamespace setVariable ["Gas",(missionNamespace getVariable "Gas") + 5, true];
};
il faut changer quel que chose ici?
|
Leader
- Age : 36 ans
- Messages : 2156
- Inscrit : 29 Janvier 2007
- Statut :
- Spécialité :
|
Il y a qu'une seule équipe qui puisse la capturer ? la premier équipe dedans ?
Une fois capturée, cela incrémente le "Gas" à l'infini ?
|
Membre
- Messages : 23
- Inscrit : 04 Mars 2018
- Statut :
|
Message édité 1 fois, dernière édition par Jben, 15 Mars 2018, 21:09
Oui ou jusqu’à ce que l'autre équipe la capture.5 gas sont ajouté au 60 sec.
|
Membre
- Messages : 23
- Inscrit : 04 Mars 2018
- Statut :
|
Message édité 1 fois, dernière édition par Jben, 15 Mars 2018, 21:49
Voici les scripts dans dossier de mission mon que j'ai pour le moment;
init.
Citation if (isServer) then
{
missionNamespace setVariable ["Manpower", 200, true];
missionNamespace setVariable ["Munition", 50, true];
missionNamespace setVariable ["Gas", 15, true];
missionNamespace setVariable ["Manpower2", 200, true];
missionNamespace setVariable ["Munition2", 50, true];
missionNamespace setVariable ["Gas2", 15, true];
execVM "ressources.sqf";
};
execVM "ressourcesauto.sqf";
execVM "infos.sqf";
infos.
Citation while {true} do
{
if (side player == west) then
{
hintSilent format["Manpower : %1\nMunition : %2\nGas : %3",missionNamespace getVariable "Manpower",missionNamespace getVariable "Munition",missionNamespace getVariable "Gas"];
};
if (side player == resistance) then
{
hintSilent format["Manpower : %1\nMunition : %2\nGas : %3",missionNamespace getVariable "Manpower2",missionNamespace getVariable "Munition2",missionNamespace getVariable "Gas2"];
};
sleep 1;
};
et ressourcesauto.
Citation while {true} do
{
missionNamespace setVariable ["Manpower",(missionNamespace getVariable "Manpower") + 15, true];
missionNamespace setVariable ["Manpower2",(missionNamespace getVariable "Manpower2") + 15, true];
missionNamespace setVariable ["Munition",(missionNamespace getVariable "Munition") + 10, true];
missionNamespace setVariable ["Munition2",(missionNamespace getVariable "Munition2") + 10, true];
missionNamespace setVariable ["Gas",(missionNamespace getVariable "Gas") + 5, true];
missionNamespace setVariable ["Gas2",(missionNamespace getVariable "Gas2") + 5, true];
sleep 60;
};
J'aimerai que lorsqu'une des deux équipe ont une zone capturer, le propriétaire de celle-ci obtiens 5 gas supplémentaire au 60 sec.
|
Membre
- Messages : 23
- Inscrit : 04 Mars 2018
- Statut :
|
Pour faire simple chaque équipe commencera avec des ressources de départ soit 200 manpower, 50 munition et 15 gas.
Au 60 seconde chaque équipe obtiendront des ressources soit 15 manpower, 10 munition et 5 gas et ajoutera un bonus de ressources
pour chaque zone capturé.
Exemple 3 min est écoulé. L'équipe blufor ont capturé la zone gas, au lieu doptenir seulement 5 gas au 60 sec il obtiendront 10 gas.
|
Membre
- Messages : 23
- Inscrit : 04 Mars 2018
- Statut :
|
J'ai créer un module de secteur et dans nom de la variable j'y est mit maZone. J'y est syncronisé 3 entités logique, blufor, indepentant et zone.
J'ai testé ceci mais sa fonctionne pas....
Citation while {true} do
{
missionNamespace setVariable ["Manpower",(missionNamespace getVariable "Manpower") + 15, true];
missionNamespace setVariable ["Manpower2",(missionNamespace getVariable "Manpower2") + 15, true];
missionNamespace setVariable ["Munition",(missionNamespace getVariable "Munition") + 10, true];
missionNamespace setVariable ["Munition2",(missionNamespace getVariable "Munition2") + 10, true];
missionNamespace setVariable ["Gas",(missionNamespace getVariable "Gas") + 5, true];
missionNamespace setVariable ["Gas2",(missionNamespace getVariable "Gas2") + 5, true];
if ( maZone == west) then
missionNamespace setVariable ["Gas",(missionNamespace getVariable "Gas") + 5, true];
sleep 60;
};
|
Membre
- Messages : 23
- Inscrit : 04 Mars 2018
- Statut :
|
J'ai testé ceci:
Citation while {true} do
{
if ((side maZone) == west) then
{
missionNamespace setVariable ["Gas",(missionNamespace getVariable "Gas") + 5, true];
};
if ((side maZone) == independent) then
{
missionNamespace setVariable ["Gas2",(missionNamespace getVariable "Gas2") + 5, true];
};
sleep 3;
};
J'ai aucun message d’erreur mais portent il ne fonctionne pas.
|
Leader
- Age : 36 ans
- Messages : 2156
- Inscrit : 29 Janvier 2007
- Statut :
- Spécialité :
|
Message édité 2 fois, dernière édition par The-KiLLeR, 21 Mars 2018, 18:23
Voici pour la capture d'une zone :
ressources.sqf
private ["_zoneCamp"];
_zoneCamp = "";
while {true} do
{
_countWest = parseNumber format["%1",{side _x == west} count list maZone];
_countInd = parseNumber format["%1",{side _x == resistance} count list maZone];
if ((_countWest > _countInd) || (_zoneCamp == "west" && (_countWest > _countInd || _countInd == 0))) then
{
missionNamespace setVariable ["Gas",(missionNamespace getVariable "Gas") + 5, true];
_zoneCamp = "west";
};
if ((_countWest < _countInd) || (_zoneCamp == "resistance" && (_countWest < _countInd || _countWest == 0))) then
{
missionNamespace setVariable ["Gas2",(missionNamespace getVariable "Gas2") + 5, true];
_zoneCamp = "resistance";
};
sleep 1;
};
|
Membre
- Messages : 23
- Inscrit : 04 Mars 2018
- Statut :
|
Message édité 1 fois, dernière édition par Jben, 21 Mars 2018, 20:29
Merci The-Killer. Pour savoir je doit modifier quelque chose dans ce script?
Parce que cela ne semble pas fonctionné. J'ai aucun message d'erreur mais les ressource ne sont pas ajouté a la suite de la capture.
|
Leader
- Age : 36 ans
- Messages : 2156
- Inscrit : 29 Janvier 2007
- Statut :
- Spécialité :
|
Non
Si tu as bien renseigné les fichiers comme dans ce message (sauf le ressources.sqf), cela devrait fonctionner :
https://www.clan-ado.fr/forum/...id=86000#p86000
|
Membre
- Messages : 23
- Inscrit : 04 Mars 2018
- Statut :
|
J'ai rajouté ressourcesauto.sqf
Citation while {true} do
{
missionNamespace setVariable ["Manpower",(missionNamespace getVariable "Manpower") + 15, true];
missionNamespace setVariable ["Manpower2",(missionNamespace getVariable "Manpower2") + 15, true];
missionNamespace setVariable ["Munition",(missionNamespace getVariable "Munition") + 10, true];
missionNamespace setVariable ["Munition2",(missionNamespace getVariable "Munition2") + 10, true];
missionNamespace setVariable ["Gas",(missionNamespace getVariable "Gas") + 5, true];
missionNamespace setVariable ["Gas2",(missionNamespace getVariable "Gas2") + 5, true];
sleep 60;
};
|
Membre
- Messages : 23
- Inscrit : 04 Mars 2018
- Statut :
|
J'ai oublié le déclencheur ...
|
|
|
|
|