Bonjour, vous n'êtes actuellement pas connecté sur le forum
Contacter un administrateur :: Se connecter :: S'enregistrer


Armée de l'Ombre


Nouveau sujet Répondre Imprimer Syndication RSS 2.0

probleme de CreateGroup sur serveur dédié


Membre
Avatar de larcenn
  • Messages : 4
  • Inscrit : 19 Mars 2015
  • Statut : Hors ligne
 
Lien vers ce message 19 Mars 2015, 5:13

Salut a tous,

Je suis en train de faire une missions multijoueur mais je rencontre un problême qui me rend fou sur la création d'un groupe via un script.


Citation

grp1 = createGroup East;
grp1 = [getMarkerPos posMission, east, (configfile >> "CfgGroups" >> "East" >> "OPF_F" >> "Infantry" >> eniMission )] call BIS_fnc_spawnGroup;


Cette commande fonctionne três bien si je l'exécute en global ou local et ne fonctionne pas si je l'exécute coté serveur.

Il me semble pourtant que cela est possible et même conseillé si je ne veux pas qu'il y ai autant de groupe de de joueur sur ma mission.
Avez vous une idée de la solution ?

PS: poMission et eniMission sont des variables publique généré par un script qui s'exécute que coté serveur, pas de souci pour cela.

Mission Maker
Adjudant Chef
Avatar de Reapy
  • Age : 49 ans
  • Messages : 374
  • Inscrit : 13 Janvier 2009
  • Statut : Hors ligne
  • Spécialité : Démolition Expert
 
Lien vers ce message 19 Mars 2015, 20:39

Essaye ca:

Pour lancer le script:
_handle=[NomDuGroupe,"NomDuMarker","TypeDeGroupe"] execVM "TonScript.sqf";


TonScript.sqf:
_nameGrp = (_this select 0); // Nom du Groupe
_marker = (_this select 1); // Position du spawn
_typeGrp = (_this select 2); // Type de groupe

_nameGrp = createGroup East;
_nameGrp = [getMarkerPos _marker, east, (configfile >> "CfgGroups" >> "East" >> "OPF_F" >> "Infantry" >> _typeGrp )] call BIS_fnc_spawnGroup;



"L'ennemi est con, il croit que c'est nous l'ennemi alors que c'est lui." Pierre Desproges

Membre
Avatar de larcenn
  • Messages : 4
  • Inscrit : 19 Mars 2015
  • Statut : Hors ligne
 
Lien vers ce message 20 Mars 2015, 17:37
Message édité 2 fois, dernière édition par larcenn, 20 Mars 2015, 19:08  

Merci pour ta réponse,

En fait je n'utilise pas ce bout de script de cette maniêre, mais je vais essayer d'être clair :

dans mon init.sqf :

Citation
if (isServer) then {
if (isDedicated) then {
execVM "init_server.sqf";
}else
{
execVM "init_server.sqf";
execVM "init_client.sqf";
};
}else
{
execVM "init_client.sqf";
};


Dans mon init_server.sqf :

Citation

if(!isServer)exitwith{};

vehMission = call compile preprocessFile "fnc\fnc_randomVeh.sqf";
eniMission = call compile preprocessFile "fnc\fnc_randomEni.sqf";
typeMission = call compile preprocessFile "fnc\fnc_randomMission.sqf";
posMission = call compile preprocessFile "fnc\fnc_randomPos.sqf";
publicVariable "posMission";
publicVariable "vehMission";
publicVariable "eniMission";
publicVariable "typeMission";

grp1 = createGroup East;
grp1 = [getMarkerPos _marker, east, (configfile >> "CfgGroups" >> "East" >> "OPF_F" >> "Infantry" >> eniMission )] call BIS_fnc_spawnGroup;





A savoir les fnc\fnc_xxxx.sqf ne sont que des scripts de choix aléatoire dans un tableau.

Tel que c'est ça ne fonctionne pas, les unité n'apparaissent pas, cependant si je met la partie que j'ai poster dans mon message précédent, dans le script init_client.sqf ( qui est exécuté que par le client ) j'ai mes unités qui apparaissent.

Quand je contrôle la valeur de mes variables publique, elles sont correctement renseignée ( merci les Hint ).

edit : j'avais mis la vieille version de mon init_server.sqf

Membre
Avatar de larcenn
  • Messages : 4
  • Inscrit : 19 Mars 2015
  • Statut : Hors ligne
 
Lien vers ce message 20 Mars 2015, 19:22

j'ai toute fois essayer avec la version que tu m'a conseiller, purement et brutalement, sur une nouvelle mission, mais je confirme qu'il n'est pas possible de le lancer coté serveur.
( en rajoutant if(!isServer)exitwith{}; )

Membre
Avatar de larcenn
  • Messages : 4
  • Inscrit : 19 Mars 2015
  • Statut : Hors ligne
 
Lien vers ce message 20 Mars 2015, 23:14

J'ai trouver la solution ( enfin on me la souffler : )

Comme les unité ne sont pas dans mon mission.sqm, il faut déclarer l'existence d'un groupe correspondant.

Il faut donc ajouter cette ligne de commande a votre init:

_SideHQ = createCenter east

https://community.bistudio.com/wiki/createCenter

Merci
Répondre





.