Diff
checker
Texto
Texto
Imágenes
Documentos
Excel
Carpetas
Legal
Enterprise
Aplicación de escritorio
Precios
Iniciar sesión
Descargar Diffchecker Desktop
Comparar texto
Encuentra la diferencia entre dos archivos de texto
Herramientas
Historial
Editor live
Ocultar sin cambios
Sin ajuste de línea
Vista
Dividido
Unificado
Nivel de detalle
Inteligente
Palabra
Letra
Resaltado de sintaxis
Elegir sintaxis
Ignorar
Transformar texto
Ir al primer cambio
Editar entrada
Diffchecker Desktop
La forma más segura de usar Diffchecker. ¡Obtén la app de Diffchecker Desktop: tus diffs nunca salen de tu computadora!
Obtener Desktop
Untitled diff
Creado
hace 10 años
El diff nunca expira
Borrar
Exportar
Compartir
Explicar
24 eliminaciones
Líneas
Total
Eliminado
Caracteres
Total
Eliminado
Para continuar usando esta función, actualice a
Diff
checker
Pro
Ver precios
79 líneas
Copiar todo
19 adiciones
Líneas
Total
Añadido
Caracteres
Total
Añadido
Para continuar usando esta función, actualice a
Diff
checker
Pro
Ver precios
83 líneas
Copiar todo
// _null = [this, 0, 1] execVM "moveWithWind.sqf"; // Rotate with Wind
// _null = [this, 0, 1] execVM "moveWithWind.sqf"; // Rotate with Wind
// _null = [this, 1, 1] execVM "moveWithWind.sqf"; // Continuous rotation
// _null = [this, 1, 1] execVM "moveWithWind.sqf"; // Continuous rotation
Copiar
Copiado
Copiar
Copiado
private ["_obj", "_mod", "_vel", "_dif", "_wdr", "_upd"];
params [
_obj = _this select 0;
// The object being affected
"_obj",
// The object being affected
_mod
= _this select 1;
// The mode of movement (0 = wind, 1 = Rotation, 2 = TBD, etc.)
"
_mod
",
// The mode of movement (0 = wind, 1 = Rotation, 2 = TBD, etc.)
_vel
= _this select 2;
// Movement velocity (1° to 45°)
"
_vel
"
// Movement velocity (1° to 45°)
_upd = 1 / 30; // The object update rate
];
// If this isn't the server then get out
// If this isn't the server then get out
if (!isServer) exitWith {};
if (!isServer) exitWith {};
Copiar
Copiado
Copiar
Copiado
private _upd = 1 / 30; // The object update rate
//----------------------------------------------------------------------
//----------------------------------------------------------------------
// Constrain velocity
// Constrain velocity
if (_mod == 0) then {
if (_mod == 0) then {
_vel = abs _vel;
_vel = abs _vel;
Copiar
Copiado
Copiar
Copiado
if (_vel < 1) then {
if (_vel < 1) then {
_vel = 1;
_vel = 1;
};
};
Copiar
Copiado
Copiar
Copiado
if (_vel > 45) then {
if (_vel > 45) then {
_vel = 45;
_vel = 45;
};
};
};
};
//----------------------------------------------------------------------
//----------------------------------------------------------------------
if (_mod == 1) then {
if (_mod == 1) then {
Copiar
Copiado
Copiar
Copiado
if (_vel < -360) then {
if (_vel < -360) then {
_vel = -360;
_vel = -360;
};
};
Copiar
Copiado
Copiar
Copiado
if (_vel > 360) then {
if (_vel > 360) then {
_vel = 360;
_vel = 360;
};
};
};
};
//----------------------------------------------------------------------
//----------------------------------------------------------------------
// Do forever...
// Do forever...
Copiar
Copiado
Copiar
Copiado
while {
0 != 1
} do
while {
true
} do
{
{
//----------------------------------------------------------------------
//----------------------------------------------------------------------
// Set direction based on wind
// Set direction based on wind
if (_mod == 0) then {
if (_mod == 0) then {
// Get current wind direction
// Get current wind direction
Copiar
Copiado
Copiar
Copiado
_wdr = windDir;
private
_wdr = windDir;
// Randomise wind direction
// Randomise wind direction
_wdr = _wdr + ((random (_vel * 2))- _vel);
_wdr = _wdr + ((random (_vel * 2))- _vel);
// Get difference in direction
// Get difference in direction
Copiar
Copiado
Copiar
Copiado
_dif = (_wdr - (getDir _obj));
private
_dif = (_wdr - (getDir _obj));
// If difference is greather than 180°
// If difference is greather than 180°
if (abs _dif > 180) then {
if (abs _dif > 180) then {
// Rotate counter-clockwise
// Rotate counter-clockwise
_dif = _vel * -1;
_dif = _vel * -1;
Copiar
Copiado
Copiar
Copiado
}
}
else
{
else
{
// Rotate clockwise
// Rotate clockwise
_dif = _vel;
_dif = _vel;
};
};
Copiar
Copiado
Copiar
Copiado
// Alternatively: _dif = [_vel, _vel * -1] select (abs _dif > 180);
// Calculate rate of change
// Calculate rate of change
_dif = _dif * _upd;
_dif = _dif * _upd;
// Increment current direction
// Increment current direction
_dif = (getDir _obj) + _dif;
_dif = (getDir _obj) + _dif;
// Set to new direction
// Set to new direction
_obj setDir _dif;
_obj setDir _dif;
};
};
//----------------------------------------------------------------------
//----------------------------------------------------------------------
// Rotate object clockwise/counter-clockwise
// Rotate object clockwise/counter-clockwise
if (_mod == 1) then {
if (_mod == 1) then {
// Update rotation
// Update rotation
Copiar
Copiado
Copiar
Copiado
_dif = (getDir _obj) + (_vel * _upd);
private
_dif = (getDir _obj) + (_vel * _upd);
// Deal with out of range rotations
// Deal with out of range rotations
Copiar
Copiado
Copiar
Copiado
if (_dif < 0) then {
if (_dif < 0) then {
_dif = _dif + 360;
_dif = _dif + 360;
};
};
Copiar
Copiado
Copiar
Copiado
if (_dif > 360) then {
if (_dif > 360) then {
_dif = _dif - 360;
_dif = _dif - 360;
};
};
// Set to new rotatoin
// Set to new rotatoin
_obj setDir _dif;
_obj setDir _dif;
};
};
//----------------------------------------------------------------------
//----------------------------------------------------------------------
// Wait for next update time
// Wait for next update time
sleep _upd;
sleep _upd;
};
};
Copiar
Copiado
Copiar
Copiado
Diferencias guardadas
Texto original
Abrir archivo
// _null = [this, 0, 1] execVM "moveWithWind.sqf"; // Rotate with Wind // _null = [this, 1, 1] execVM "moveWithWind.sqf"; // Continuous rotation private ["_obj", "_mod", "_vel", "_dif", "_wdr", "_upd"]; _obj = _this select 0; // The object being affected _mod = _this select 1; // The mode of movement (0 = wind, 1 = Rotation, 2 = TBD, etc.) _vel = _this select 2; // Movement velocity (1° to 45°) _upd = 1 / 30; // The object update rate // If this isn't the server then get out if (!isServer) exitWith {}; //---------------------------------------------------------------------- // Constrain velocity if (_mod == 0) then { _vel = abs _vel; if (_vel < 1) then { _vel = 1; }; if (_vel > 45) then { _vel = 45; }; }; //---------------------------------------------------------------------- if (_mod == 1) then { if (_vel < -360) then { _vel = -360; }; if (_vel > 360) then { _vel = 360; }; }; //---------------------------------------------------------------------- // Do forever... while {0 != 1} do { //---------------------------------------------------------------------- // Set direction based on wind if (_mod == 0) then { // Get current wind direction _wdr = windDir; // Randomise wind direction _wdr = _wdr + ((random (_vel * 2))- _vel); // Get difference in direction _dif = (_wdr - (getDir _obj)); // If difference is greather than 180° if (abs _dif > 180) then { // Rotate counter-clockwise _dif = _vel * -1; } else { // Rotate clockwise _dif = _vel; }; // Calculate rate of change _dif = _dif * _upd; // Increment current direction _dif = (getDir _obj) + _dif; // Set to new direction _obj setDir _dif; }; //---------------------------------------------------------------------- // Rotate object clockwise/counter-clockwise if (_mod == 1) then { // Update rotation _dif = (getDir _obj) + (_vel * _upd); // Deal with out of range rotations if (_dif < 0) then { _dif = _dif + 360; }; if (_dif > 360) then { _dif = _dif - 360; }; // Set to new rotatoin _obj setDir _dif; }; //---------------------------------------------------------------------- // Wait for next update time sleep _upd; };
Texto modificado
Abrir archivo
// _null = [this, 0, 1] execVM "moveWithWind.sqf"; // Rotate with Wind // _null = [this, 1, 1] execVM "moveWithWind.sqf"; // Continuous rotation params [ "_obj", // The object being affected "_mod", // The mode of movement (0 = wind, 1 = Rotation, 2 = TBD, etc.) "_vel" // Movement velocity (1° to 45°) ]; // If this isn't the server then get out if (!isServer) exitWith {}; private _upd = 1 / 30; // The object update rate //---------------------------------------------------------------------- // Constrain velocity if (_mod == 0) then { _vel = abs _vel; if (_vel < 1) then { _vel = 1; }; if (_vel > 45) then { _vel = 45; }; }; //---------------------------------------------------------------------- if (_mod == 1) then { if (_vel < -360) then { _vel = -360; }; if (_vel > 360) then { _vel = 360; }; }; //---------------------------------------------------------------------- // Do forever... while {true} do { //---------------------------------------------------------------------- // Set direction based on wind if (_mod == 0) then { // Get current wind direction private _wdr = windDir; // Randomise wind direction _wdr = _wdr + ((random (_vel * 2))- _vel); // Get difference in direction private _dif = (_wdr - (getDir _obj)); // If difference is greather than 180° if (abs _dif > 180) then { // Rotate counter-clockwise _dif = _vel * -1; } else { // Rotate clockwise _dif = _vel; }; // Alternatively: _dif = [_vel, _vel * -1] select (abs _dif > 180); // Calculate rate of change _dif = _dif * _upd; // Increment current direction _dif = (getDir _obj) + _dif; // Set to new direction _obj setDir _dif; }; //---------------------------------------------------------------------- // Rotate object clockwise/counter-clockwise if (_mod == 1) then { // Update rotation private _dif = (getDir _obj) + (_vel * _upd); // Deal with out of range rotations if (_dif < 0) then { _dif = _dif + 360; }; if (_dif > 360) then { _dif = _dif - 360; }; // Set to new rotatoin _obj setDir _dif; }; //---------------------------------------------------------------------- // Wait for next update time sleep _upd; };
Encontrar la diferencia