28 Avril 2024 à 08:35:15

Nouvelles:

Teamspeak 3 OFCRA
IP : ts.ofcra.org
Mot de passe : mineisbiggerthanyours
Discord: https://discord.gg/bWtGS7N


/!\ L'OFCRA RECRUTE /!\


Nearest Objects

Démarré par Flamm, 23 Juin 2012 à 18:29:58

« précédent - suivant »

0 Membres et 1 Invité sur ce sujet

Flamm

Bonjours à tous!

Actuellement, j'aimerai faire apparaître un addaction sur un véhicule uniquement si un objet est prêt de lui.

Donc j'essai d'utiliser ça en le mettant dans l'init.sqf.

if(nearestObjects [avion, ["uaz"], 15]) then
{
avion addaction ["Mon script","monscript.sqf"]
};

Hélas, même quand l'objet "uaz" est à côté de l'objet "avion", le addaction n'apparaît pas sur l'avion.
De plus j'aimerai que ce soit une boucle, donc si l'"uaz" est à coté de l'avion, l'action apparaît, à l'inverse, elle disparaît mais peut revenir.

Warlock

Ajouter la ligne :

#fucking_script [please_work]
////////////////////////////////////////////////////////////////////////////////////////////////////////////
Player "Flamm" if alive after fail then shut down Editor;


:plusun:



Flamm

Pas sur que ça m'aide héhé  :D

Zombi

Tu peux faire une boucle qui contrôle la distance entre les deux objets, en les appelant par leurs noms. Ca évite les problèmes de classnames (parce qu'en fait, nearest objects ne prend pas le nom d'une unité en tant que paramètre, mais son type, si je me souviens bien).

Genre :
Citer
If ( (avion distance uaz) < 15) then
{
    avion addaction blablabla:
};

Si tu veux continuer à utiliser le nearestobjects... bah je te conseillerais d'utiliser nearestobject (sans le s à objects) et de corriger le classname : UAZ c'est UAZ_Base, ou les spécificités genre UAZ_RU,etc.. (voir le cfgVehicles)
NearestObjects : te retourne un tableau d'objets
NearestObject : te retourne l'objet le plus proche (rayon de 50m par contre)

Donc, il te faut tester
Citer
if (nearestobject[avion,"UAZ_Base"] == "uaz") then ....

ou

Citer
_uaz = nearestobjects[avion, ["UAZ_Base"], 15];

{if _x == "uaz" then {avion addaction blablabla;}; }foreach _uaz;