Version haut débit de: Armée de l'Ombre
Aide - Rechercher - Membres

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

mrchy (02 Mars 2014, 17:31)
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....
poran (04 Mars 2014, 14:22)
cond:
(vehicle player) in thisList AND side player != EAST
Rewan (04 Mars 2014, 15: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)
mrchy (04 Mars 2014, 17: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: )
mrchy (08 Mars 2014, 8:48)
il est ou kiki ?
Angel (08 Mars 2014, 9:16)
il est ou kiki ?


Bonne question ! ^^
The-KiLLeR (17 Mars 2014, 8:54)
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)
mrchy (17 Mars 2014, 11: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;
The-KiLLeR (17 Mars 2014, 17: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;
};
mrchy (18 Mars 2014, 12: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.