|
|
Je vais met a jours ce topic.
Premièrement ya que moi qui vois les ressources s'afficher en haut a droit.
voici le 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];
execVM "infos.sqf";
execVM "ressourcesauto.sqf";
execVM "ressourcesGasn.sqf";
execVM "ressourcesGass.sqf";
execVM "ressourcesmunitionn.sqf";
execVM "ressourcesmunitions.sqf";
execVM "ressourcesmanpowern.sqf";
execVM "ressourcesmanpowerm.sqf";
execVM "ressourcesmanpowers.sqf";
};
et voici le infos.sqf
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;
};
ensuite mon deuxième problème, les zone de capture fonctionne bien, par contre pour qu'une autre équipe capture la zone ils doivent être dans cette dernière 60 sec. J'ai le principe. J'aimerai bien voir une barre de temps ou quelque chose au moins pour savoir que la zone est en capture.
voici un script de zone
Citation private ["_zoneCamp"];
_zoneCamp = "";
while {true} do
{
_countWest = parseNumber format["%1",{side _x == west} count list gasn];
_countInd = parseNumber format["%1",{side _x == resistance} count list gasn];
if ((_countWest > _countInd) || (_zoneCamp == "west" && (_countWest > _countInd || _countInd == 0))) then
{
"gasni" setMarkerColor "ColorBlue";
"gasnzone" setMarkerColor "ColorBlue";
sleep 60;
missionNamespace setVariable ["Gas",(missionNamespace getVariable "Gas") + 5, true];
_zoneCamp = "west";
};
if ((_countWest < _countInd) || (_zoneCamp == "resistance" && (_countWest < _countInd || _countWest == 0))) then
{
"gasni" setMarkerColor "ColorGreen";
"gasnzone" setMarkerColor "ColorGreen";
sleep 60;
missionNamespace setVariable ["Gas2",(missionNamespace getVariable "Gas2") + 5, true];
_zoneCamp = "resistance";
};
};
Jte remercie encore The_Killer. Si mon projet avance c'est grace a toi. ;)
|
|
J'ai ajouté des marqueurs qui change de couleur ainsi qu'une zone.
J'ai changé un peut le script et sa donne ca. J'ai testé avec un ami moi je vois les ressource a droite mais pas lui. De plus une fois la zone capturé l'autre équipe ne peut plus capturé cette zone.
Citation private ["_zoneCamp"];
_zoneCamp = "";
while {true} do
{
_countWest = parseNumber format["%1",{side _x == west} count list gasn];
_countInd = parseNumber format["%1",{side _x == resistance} count list gasn];
if ((_countWest > _countInd) || (_zoneCamp == "west" && (_countWest > _countInd || _countInd == 0))) then
{
"gasni" setMarkerColor "ColorBlue";
"gasnzone" setMarkerColor "ColorBlue";
sleep 60;
missionNamespace setVariable ["Gas",(missionNamespace getVariable "Gas") + 5, true];
_zoneCamp = "west";
};
if ((_countWest < _countInd) || (_zoneCamp == "resistance" && (_countWest < _countInd || _countWest == 0))) then
{
"gasni" setMarkerColor "ColorGreen";
"gasnzone" setMarkerColor "ColorGreen";
sleep 60;
missionNamespace setVariable ["Gas2",(missionNamespace getVariable "Gas2") + 5, true];
_zoneCamp = "resistance";
};
};
|
|
Sa fonctionne parfaitement. J'aurais quand mémé aimé avec un module. Ont ne pourrait tout simplement pas juste vérifier le side d'une zone (Module de secteur) ? Parceque en ce moment la zone ce capture sur le coups. Ya pas de cooldown et ont ne vois pas la zone sur la map. systeme/module/secteur.
|
|
Comment tu fait la zone? J'ai créer module de secteur avec des entité Logic synchronisé, Blufor, Independent et zone. J'ai créer le déclencheur comme dit ici.
Citation 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
Doit-je synchronisé le déclencheur avec quoi que ce soit?
|
|
J'ai oublié le déclencheur ...
|
|
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;
};
|
|
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.
|
|
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.
|
|
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;
};
|
|
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.
|
|
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.
|
|
Oui ou jusqu’à ce que l'autre équipe la capture.5 gas sont ajouté au 60 sec.
|
|
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?
|
|
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.?
|
|
J'ai du changé le nom du script ressoureces2 pour ressourcesV. Il fonctionnaient mais m'affichais un msg d'erreur.
|
|
|