Jump to content

Cambiar dirección y fuerza del viento


Spark

Publicaciones recomendadas

El otro día cuando vi la pregunta de Flame en discord me bastaron menos de dos minutos para encontrar las dos funciones y un vídeo explicando los ejes. Más tarde Micky escribió exactamente la misma función explicándola y luego comentó lo del holdaction y le dió por crear el script a partir de esa función por que quiso y tenía un rato, a mi me sentó como una patada en el culo intentar ayudar buscando las funciones y el vídeo para mis antiguos compañeros del gcv y luego agradecer más tarde solamente al que te lo ha dado hecho, y no es la primera vez.

P.D: A mi me da igual que no agradezcais, se supone que toda ayuda o trabajo hecho es bien recibido y agradecido y no hace falta estar agradeciendo continuamente, pero agradecer solo a uno de los que intentan ayudar excluyendo al resto...

 

Yo os recomiendo que antes de preguntar y que os hagan el código/script ya hecho (que empieza a cansar a algunos editores porque es lógico si además la gente tampoco aporta/ayuda y solo se ve pidiendo o no se ve que hayan intentado buscar la función tan siquiera, lo digo en general por todos los que preguntan, no por vosotros solamente) cojais y busquéis en la wiki de bohemia interactive, y en su foro, lleva desde 2013 con arma 3 y podéis encontrar todo lo que imaginéis, hasta a la IA haciendo katas, es muy raro que desde 2013 no haya preguntado alguien lo mismo que vosotros, o en la wiki de arma3.es que hay algunos scripts, la mayoría recopilados (que no hechos) por mí, la verdad es que son pocos, pero eso ya depende de que la gente quiera contribuir.

 

El caso es que os ayudaran en la medida que conozcan el tema o la pregunta sea concreta y tengan un rato, si habéis buscado la función y habéis buscado en el foro de arma3 ya habéis hecho mucho y podéis hacer pregunta más concretas, o preguntar por la sintaxis de tal cosa que habéis visto en el foro o de tal función de la wiki de bohemia, para ellos es más fácil responder preguntas concretas que otras que tienen que hacer esa misma búsqueda que podríais haber hecho vosotros para saber de que habláis y de que función se trata. Aún así no pasa nada por preguntar directamente, pero ya tiene que haber un editor con tiempo para que haga la búsqueda o quiera daros un script hecho.

 

Buscando en google obtuve la respuesta rápidamente, por lo que he leído la función no está del todo terminada por bohemia, se suele resetear los valores que introduces. Leedlo todo para que entendáis como va la historia.

https://forums.bohemia.net/forums/topic/183268-what-works-with-wind-gusts-etc-setwind-setwindstr-setwindforce-setgusts-etc/?tab=comments#comment-2893041

 

Otra persona hizo un script/mod, pero según comenta para cambiar los valores hay que reiniciar la misión o usar la consola, lo leí muy por encima porque ya no es cosa mía.

 

https://forums.bohemia.net/forums/topic/218994-dynamic-weather-3-by-tortuosit/

Changes to the behaviour need a mission restart. If you want to enforce changes WHILE being in a mission: this currently has to happen by changing global variables or calling the script - you need a debug console then.

 

Editado por Spark
  • Like 1
u3h2pSm.png
Enlace al comentario
Compartir en otros sitios web

Las funciones las conocíamos... pero no como unirlas en una sola y poner tanto dirección y fuerza en una misma Script, además de quererlo meter en una interacción, algo que llevábamos varios días intentando sin éxito.

 

Micky si entendió la pregunta.

 

Pero gracias igualmente por la ayuda como siempre.

  • Like 1

 GCV_nuevo.pngParcheBW18.jpg  parche BW-19v1.5.png  BW_23.png

Enlace al comentario
Compartir en otros sitios web

Estuvimos mirando y probando varios dias como dice Flame, y sabiamos como hacerlo, pero haciendo una cantidad ingente de addAction porque no se podia separar la direccion de la fuerza del viento ya que setWindDir sobreescribe en fuerza a setWindStr y vicieversa, asique solo nos quedaba usar setWind[x,y,true] y hacer unos 6 addAction como poco por cada dirección horaria, lo que salia a unos 72 addaction como mínimo.

 

Por eso pregunto Flame, para ver si alguien podria resumir todos esos addAction en algo mas simple, o se podia meter el valor directamente desde la partida, de ahi lo de "(ahora si cambia la dirección se quita la fuerza puesta anteriormente)", ya lo habiamos porbado.

 

De todos modos muchas gracias, si no hubieramos conocido esas funciones las habriamos trasteado bien. Miky hizo el holdaction por voluntad propia con toda su buena fe (que por cierto puso "sen" en vez de "sin" y me pegue 3 horas buscando el error xD luego lo corrigió para que estuviera bien :) ), nosotros no pedimos nada salvo algo de información.

 

Cuando consigamos que funcione, que de momento no nos ha marchado, lo postearemos en discord para que todo el mundo pueda darle uso ;)

  • Like 1
Enlace al comentario
Compartir en otros sitios web

Micky no entendió la pregunta, lo supuso, se lo comenté si habría que hacer un addaction por cada dirección y fuerza y el dijo: "En plan, por eso pregunto como quiere hacer el action, como el jugador va a introducir los valores numericos .. "

Tampoco entendimos lo de uno sobre escribe la otra, yo lo entendí más tarde cuando leí lo del foro que otra persona lo comentaba, no sabía a que te referías en ese momento y si micky lo hubiera sabido no habría hecho el holdaction y que perdieraís el tiempo, habría mirado a ver porque se sobreescribian los valores para no darte algo que no funcionaba. Al no saber de que va el tema es lo que pasa, haciendo preguntas más concretas tipo, hemos probado esta función/script pero cuando le damos al addaction se resetea o algo así, es a lo que me refería, así conseguís mejores respuestas, y más gente responde porque no tiene que dedicar tanto tiempo en desgranar. También en el foro de BIS hay más gente y es más fácil que os respondan, al menos antes era así, no sé cómo está ahora la cosa.

 

Claro que micky lo hizo por que quiso, no he dicho lo contrario, lo he dicho en mi primer post y el también lo dijo en su momento, porque quiso y tenía un rato.

 

Y sí, lo del sen y el sin es por el seno en castellano, error de traducción jajaja, espero que el script/mod os pueda servir o déis con otra solución, es muy interesante el tema para las prácticas de sniper, bien pensado chicos. :thumbsu:

u3h2pSm.png
Enlace al comentario
Compartir en otros sitios web

Listo, a la vieja usanza pero funciona. aqui lo tenemos para cuando lo necesiteis:

 

en un archivo de texto le poneis de nombre "fnc_setWind" y de extension ".sqf" y poneis esto dentro:

fov = _this select 0;
valor = _this select 1;


if ( fov == 0) then {

    switch (valor) do {
    
        case 1: {
            x = 3;
            hint "viento con fuerza 1";
        };
        case 2: {
            x = 6;
            hint "viento con fuerza 2";
        };
        case 3: {
            x = 9;
            hint "viento con fuerza 3";
        };
        case 4: {
            x = 12;
            hint "viento con fuerza 4";
        };
        case 5: {
            x = 15;
            hint "viento con fuerza 5";
        };
        case 6: {
            x = 18;
            hint "viento con fuerza 6";
        };
        case 7: {
            x = 21;
            hint "viento con fuerza 7";
        };
        case 8: {
            x = 24;
            hint "viento con fuerza 8";
        };
        case 9: {
            x = 27;
            hint "viento con fuerza 9";
        };
        case 10: {
            x = 30;
            hint "viento con fuerza 10";
        };
    
    }

};

if ( fov == 1) then {

    switch (valor) do {
    
        case 1: {
            setWind [x * cos (240), x * sin (240), true];
            hint "viento de rumbo 30";
        };
        case 2: {
            setWind [x * cos (210), x * sin (210), true];
            hint "viento de rumbo 60";
        };
        case 3: {
            setWind [x * cos (180), x * sin (180), true];
            hint "viento de rumbo 90";
        };
        case 4: {
            setWind [x * cos (150), x * sin (150), true];
            hint "viento de rumbo 120";
        };
        case 5: {
            setWind [x * cos (120), x * sin (120), true];
            hint "viento de rumbo 150";
        };
        case 6: {
            setWind [x * cos (90), x * sin (90), true];
            hint "viento de rumbo 180";
        };
        case 7: {
            setWind [x * cos (60), x * sin (60), true];
            hint "viento de rumbo 210";
        };
        case 8: {
            setWind [x * cos (30), x * sin (30), true];
            hint "viento de rumbo 240";
        };
        case 9: {
            setWind [x * cos (0), x * sin (0), true];
            hint "viento de rumbo 270";
        };
        case 10: {
            setWind [x * cos (330), x * sin (330), true];
            hint "viento de rumbo 300";
        };
        case 11: {
            setWind [x * cos (300), x * sin (300), true];
            hint "viento de rumbo 330";
        };
        case 12: {
            setWind [x * cos (270), x * sin (270), true];
            hint "viento de rumbo 360";
        };
    
    }

};

despues en el init.sqf de la mision  poneis toa esta chorrilá:

// ---------------funcion para poner viento----------------

portatil1 addaction [ "<t color='#ffffff'>Fuerza 1", { params ["_target", "_caller", "_actionId", "_arguments"];[[0,1], "fnc_setWind.sqf"] remoteExecCall ["BIS_fnc_execVM", 2];} ];
portatil1 addaction [ "<t color='#ffffff'>Fuerza 2", { params ["_target", "_caller", "_actionId", "_arguments"];[[0,2], "fnc_setWind.sqf"] remoteExecCall ["BIS_fnc_execVM", 2];} ];
portatil1 addaction [ "<t color='#ffffff'>Fuerza 3", { params ["_target", "_caller", "_actionId", "_arguments"];[[0,3], "fnc_setWind.sqf"] remoteExecCall ["BIS_fnc_execVM", 2];} ];
portatil1 addaction [ "<t color='#ffffff'>Fuerza 4", { params ["_target", "_caller", "_actionId", "_arguments"];[[0,4], "fnc_setWind.sqf"] remoteExecCall ["BIS_fnc_execVM", 2];} ];
portatil1 addaction [ "<t color='#ffffff'>Fuerza 5", { params ["_target", "_caller", "_actionId", "_arguments"];[[0,5], "fnc_setWind.sqf"] remoteExecCall ["BIS_fnc_execVM", 2];} ];
portatil1 addaction [ "<t color='#ffffff'>Fuerza 6", { params ["_target", "_caller", "_actionId", "_arguments"];[[0,6], "fnc_setWind.sqf"] remoteExecCall ["BIS_fnc_execVM", 2];} ];
portatil1 addaction [ "<t color='#ffffff'>Fuerza 7", { params ["_target", "_caller", "_actionId", "_arguments"];[[0,7], "fnc_setWind.sqf"] remoteExecCall ["BIS_fnc_execVM", 2];} ];
portatil1 addaction [ "<t color='#ffffff'>Fuerza 8", { params ["_target", "_caller", "_actionId", "_arguments"];[[0,8], "fnc_setWind.sqf"] remoteExecCall ["BIS_fnc_execVM", 2];} ];
portatil1 addaction [ "<t color='#ffffff'>Fuerza 9", { params ["_target", "_caller", "_actionId", "_arguments"];[[0,9], "fnc_setWind.sqf"] remoteExecCall ["BIS_fnc_execVM", 2];} ];
portatil1 addaction [ "<t color='#ffffff'>Fuerza 10", { params ["_target", "_caller", "_actionId", "_arguments"];[[0,10], "fnc_setWind.sqf"] remoteExecCall ["BIS_fnc_execVM", 2];} ];

portatil2 addaction [ "<t color='#ffffff'>Desde rumbo 30", { params ["_target", "_caller", "_actionId", "_arguments"];[[1,1], "fnc_setWind.sqf"] remoteExecCall ["BIS_fnc_execVM", 2];} ];
portatil2 addaction [ "<t color='#ffffff'>Desde rumbo 60", { params ["_target", "_caller", "_actionId", "_arguments"];[[1,2], "fnc_setWind.sqf"] remoteExecCall ["BIS_fnc_execVM", 2];} ];
portatil2 addaction [ "<t color='#ffffff'>Desde rumbo 90", { params ["_target", "_caller", "_actionId", "_arguments"];[[1,3], "fnc_setWind.sqf"] remoteExecCall ["BIS_fnc_execVM", 2];} ];
portatil2 addaction [ "<t color='#ffffff'>Desde rumbo 120", { params ["_target", "_caller", "_actionId", "_arguments"];[[1,4], "fnc_setWind.sqf"] remoteExecCall ["BIS_fnc_execVM", 2];} ];
portatil2 addaction [ "<t color='#ffffff'>Desde rumbo 150", { params ["_target", "_caller", "_actionId", "_arguments"];[[1,5], "fnc_setWind.sqf"] remoteExecCall ["BIS_fnc_execVM", 2];} ];
portatil2 addaction [ "<t color='#ffffff'>Desde rumbo 180", { params ["_target", "_caller", "_actionId", "_arguments"];[[1,6], "fnc_setWind.sqf"] remoteExecCall ["BIS_fnc_execVM", 2];} ];
portatil2 addaction [ "<t color='#ffffff'>Desde rumbo 210", { params ["_target", "_caller", "_actionId", "_arguments"];[[1,7], "fnc_setWind.sqf"] remoteExecCall ["BIS_fnc_execVM", 2];} ];
portatil2 addaction [ "<t color='#ffffff'>Desde rumbo 240", { params ["_target", "_caller", "_actionId", "_arguments"];[[1,8], "fnc_setWind.sqf"] remoteExecCall ["BIS_fnc_execVM", 2];} ];
portatil2 addaction [ "<t color='#ffffff'>Desde rumbo 270", { params ["_target", "_caller", "_actionId", "_arguments"];[[1,9], "fnc_setWind.sqf"] remoteExecCall ["BIS_fnc_execVM", 2];} ];
portatil2 addaction [ "<t color='#ffffff'>Desde rumbo 300", { params ["_target", "_caller", "_actionId", "_arguments"];[[1,10], "fnc_setWind.sqf"] remoteExecCall ["BIS_fnc_execVM", 2];} ];
portatil2 addaction [ "<t color='#ffffff'>Desde rumbo 330", { params ["_target", "_caller", "_actionId", "_arguments"];[[1,11], "fnc_setWind.sqf"] remoteExecCall ["BIS_fnc_execVM", 2];} ];
portatil2 addaction [ "<t color='#ffffff'>Desde rumbo 360", { params ["_target", "_caller", "_actionId", "_arguments"];[[1,12], "fnc_setWind.sqf"] remoteExecCall ["BIS_fnc_execVM", 2];} ];

 y por ultimo en el editor, poneis dos portatiles, uno se llamara "portatil1" que sera el de la fuerza y el otro "portatil2" que sera el de la direccion.

 

ojo cuidao! hay que darle siempre primero al de fuerza, que si no se lia parda xD

 

cualquier duda por aqui estoy ;)

  • Like 4
Enlace al comentario
Compartir en otros sitios web

  • 2 weeks later...

Join the conversation

Puede publicar ahora y registrarse más tarde. Si tiene una cuenta, iniciar sesión para publicar con su cuenta.

Guest
Responder a este tema...

×   Pegar como texto enriquecido.   Pegar como texto sin formato

  Sólo se permiten 75 emoji.

×   Tu enlace se ha incrustado automáticamente..   Mostrar como un enlace en su lugar

×   Se ha restaurado el contenido anterior.   Limpiar editor

×   No se pueden pegar imágenes directamente. Carga o inserta imágenes desde la URL.

Cargando...
×
×
  • Crear nuevo...

Información importante

Términos de Uso