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

Teleportation spaciaux temporel hyperdrive..................

teleportation d'un avion en vol

Membre
Avatar de mrchy
  • Messages : 8
  • Inscrit : 26 Février 2010
  • Statut : Hors ligne
 
Lien vers ce message 02 Mars 2014, 18:31
Message édité 3 fois, dernière édition par mrchy, 02 Mars 2014, 19:49  

salut, j'ai un souci docteur

le joueur qui monte dans son avion et qui s'envole doit passer a un endroit specifique (en vol) qui va le teleporter à un autre endroit.
actuellement le script marche si tu es tout seul mais à deux ca deviens compliqué.
problemme actuel :le joueur qui rentre dans la zone téléporte avec lui le deuxieme joueur... or cela doit etre indépendant des joueurs
c'est pour une coop en multi ofcourse

voici la bete :
(trigger)
cond: this && (vehicle player != player);
activ: nul = [player] execVM "tele.sqf"

tele.sqf
Citation


waitUntil {!isNull player};
if (local player) then

{
_vehicle = vehicle player;
_vel = velocity _vehicle;
_dir = 90;
_speed = 300;

sleep 0.01;
_vehicle setDir 90;
_vehicle setPosATL [getMarkerPos "teleportDestination" select 0,getmarkerPos "teleportDestination" select 1, 300];
_vehicle setVelocity [(_vel select 0)+(sin _dir*_speed),(_vel select 1)+(cos _dir*_speed),(_vel select 2)];

};



help....

Mission Maker
Avatar de poran
  • Age : 50 ans
  • Messages : 883
  • Inscrit : 28 Mars 2013
  • Statut : Hors ligne
  • Spécialité : Génie Expert
 
Lien vers ce message 04 Mars 2014, 15:22

cond:
(vehicle player) in thisList AND side player != EAST

Mission Maker
Adjudant Chef
Avatar de Rewan
  • Age : 32 ans
  • Messages : 480
  • Inscrit : 28 Octobre 2008
  • Statut : Hors ligne
  • Spécialité : Anti-char, Anti-Aérien Expert
 
Lien vers ce message 04 Mars 2014, 16:01

Perso je serais plus tenté de bidouiller l'activation du trigger.
Genre avoir un truc comme ça : {[_x] execVM "tele.sqf"} foreach thislist

(Je crois pas que t'ai besoin du nul= mais je peux me tromper)


"Je suis devenu la mort, le destructeur des mondes"

Membre
Avatar de mrchy
  • Messages : 8
  • Inscrit : 26 Février 2010
  • Statut : Hors ligne
 
Lien vers ce message 04 Mars 2014, 18:44

une lueur d'espoir apparait

le souci est que le script est apparemment incoherent (melange de local avec global etc)
j'ai vue aussi que pour activer un trigger pour n'importe quelle personne du group il faut creer......."un groupe" et ensuite grouper le trigger avec le leader du groupe
un peu farfelu mais je vais tester ca sinon il y a certainement un moyen de faire tout par script théoriquement (il est passer ou killer :fsb2_smyle: :fsb2_smyle: :fsb2_smyle: )

Membre
Avatar de mrchy
  • Messages : 8
  • Inscrit : 26 Février 2010
  • Statut : Hors ligne
 
Lien vers ce message 08 Mars 2014, 9:48

il est ou kiki ?

Membre
VIP
Avatar de Angel
  • Age : 35 ans
  • Messages : 1826
  • Inscrit : 01 Février 2007
  • Statut : Hors ligne
 
Lien vers ce message 08 Mars 2014, 10:16

il est ou kiki ?


Bonne question ! ^^

Leader
Général
Avatar de The-KiLLeR
  • Age : 36 ans
  • Messages : 2152
  • Inscrit : 29 Janvier 2007
  • Statut : Hors ligne
  • Spécialité : Démolition Expert
 
Lien vers ce message 17 Mars 2014, 9:54
Message édité 4 fois, dernière édition par The-KiLLeR, 17 Mars 2014, 9:56  

Je dirais ceci :

if (isServer) exitWith {}; // Dsactiver cette ligne dans l'diteur !

_vehicle = vehicle player;

if (_vehicle in list monTrigger) then
{
	_vel = velocity _vehicle;
	_dir = 90;
	_speed = 300;

	sleep 0.01;
	_vehicle setDir 90;
	_vehicle setPosATL [getMarkerPos "teleportDestination" select 0,getmarkerPos "teleportDestination" select 1, 300];
	_vehicle setVelocity [(_vel select 0)+(sin _dir*_speed),(_vel select 1)+(cos _dir*_speed),(_vel select 2)];
};

Il faut nommer le déclencheur ("monTrigger" dans cet exemple)


http://www.clan-ado.fr/images/upload/membres/3_1335205596.jpg

Membre
Avatar de mrchy
  • Messages : 8
  • Inscrit : 26 Février 2010
  • Statut : Hors ligne
 
Lien vers ce message 17 Mars 2014, 12:37

le mec, il se leve, pisse un coup, hop café clop, et hop il me regle mon probleme de script en se grattant les bouboules....

tester à deux avec plusieurs passage, RAS, c'est nickel!!! merci kiki

j'abuserais si je te demandais de te gratter une deuxieme fois les bouboules pour mon script de random son?
c'est toute la partie immersive de la mission sans elle pas d'ambiance...
le souci c'est que le son s'active chez tous les joueurs or il faudrais que seul la personne qui passe dans le trigger entend le son.

le trigger
expCond="this && (vehicle player != player) ";
expActiv="this = [(thislist select 0)] execVM ""vador.sqf"";";

vador.sqf
Citation

private "_player","_vehicle";
_player = _this select 0;
_vehicle = vehicle _player;
_sounds = ["vadernooo",
"goodshot",
"thisisit",
"vader",
"master"] call BIS_fnc_selectRandom;
_vehicle Say2D _sounds;

Leader
Général
Avatar de The-KiLLeR
  • Age : 36 ans
  • Messages : 2152
  • Inscrit : 29 Janvier 2007
  • Statut : Hors ligne
  • Spécialité : Démolition Expert
 
Lien vers ce message 17 Mars 2014, 18:39

De la même façon :


if (isServer) exitWith {}; // Dsactiver cette ligne dans l'diteur !

private "_player","_vehicle";

_player = _this select 0;
_vehicle = vehicle player;

if (_vehicle in list monTrigger2) then
{
	_sounds = ["vadernooo",
	"goodshot",
	"thisisit",
	"vader",
	"master"] call BIS_fnc_selectRandom;
	_vehicle Say2D _sounds;
};


http://www.clan-ado.fr/images/upload/membres/3_1335205596.jpg

Membre
Avatar de mrchy
  • Messages : 8
  • Inscrit : 26 Février 2010
  • Statut : Hors ligne
 
Lien vers ce message 18 Mars 2014, 13:03

je me suis dit la meme chose mais j'avais un doute, j'ai fait un test hier ca à foiré, certainement un souci au niveau du fichier description car meme en normal ca ne marchais pas donc je refais un test aujourd'hui et je te tien au courant.

Par la suite, je vous inviterais pour l'inauguration/test de la petite mission pour les amateurs de pilotage extreme.
12 place disponibles.

merci encore killer.
Répondre





.