Pelmo Posted January 4, 2015 Posted January 4, 2015 Salve ragazzi, volevo sapere se qualcuno di voi ci ha mai fatto caso a questo problema presente nell'editor di DCS. "Mission Editor Bearing Bug" Se ne è parlato qui: http://forums.eagle.ru/showthread.php?t=54636 Faccio un esempio: Apro l'Editor e posiziono una nave da guerra accanto ad un molo. Per orientarla nel verso giusto mi aiuto con il mause e traccio una linea immaginaria accanto al molo per vedere l'orientamento magnetico oppure, ne misuro la sua lunghezza. Bene, ora ottenuto l'orientamento magnetico lo vado ad inserire nel posizionamento della nave. Quando lancerò la missione vi accorgerete che la nave non sarà allineata con il molo, ma sarà scostata. La stessa cosa succede se posiziono dei mezzi in un aeroporto e voglio che siano orientati con un ben preciso orientamento magnetico. Risulteranno sempre scostati dalla prua desiderata. Ora in quel Thread si poteva ovviare a questo problema sostituendo quel determinato file. La mia domanda è la seguente: Posso utilizzare lo stesso file anche per l'attuale DCS World, visto che era originariamente fatto per LockOn Flaming Cliffs 2.0 and/or DCS:Black Shark? Grazie. Intel i9-13900K, @5.8GHz, Gigabyte Z690 Aorus Master, 32GB DDR5 6200 DomPlatinum, GIGABYTE GeForce RTX 4090 Gaming OC 24G, LG 48GQ900-B, 4x 2TB Crucial P5plus M2 SSD NVME, 1x 500GB WD SN850 SSD NVME ,Thermaltake ToughPower GF3 1650W ATX 3.0 , Windows 11 Pro, Corsair AiO H170i LCD RGB, TrackIR 5, Thrustmaster Warthog, VPC Mongoos T-50CM3 Base, Thrustmaster MFD Cougar, MFG CROSSWIND, Corsair K95 Platinum, Sennheiser G 600, Roccat Kone Mouse.
Pelmo Posted January 5, 2015 Author Posted January 5, 2015 (edited) Allora ho provato a sostituire il file originale con quello dell'utente "Case" avendo ovviamente provveduto a fare una copia di backup. Purtroppo DCS World non si avvia e crascia praticamente subito. Allora utilizzando due differenti programmi di text editor, ho messo a confronto il punto esatto in cui si dovrebbe apporre la modifica. Si tratta del comando: called on ruler extended Come potete vedere sul lato sinistro dello screenshot si vede il file elaborato da "Case" mentre sul lato destro l'attuale file originale di DCS World. Come si vede nel file originale che abbiamo in DCS World, le stringhe sono scritte in maniera molto più easy rispetto a quelle modificate da "Case". L'attuale c'è scritto semplicemente: -- called on ruler extended local function moveRuler_(x, y) updateRuler_(getMapPoint(x, y)) end Mentre quello modificato: -- called on ruler extended function moveRuler(dx, dy, x, y) if tape then local mapX, mapY = mapView:getMapPoint(x, y) local scale = mapView:getScale() local coeff = scale/100000 -- Устанавливается конечная точка линейки. tape.points[1][2] = {x=mapX, y=mapY} base.print( mapX, mapY) -- Обновляется подпись. local x1,z1 = Roads.xz(tape.points[1][1].x, tape.points[1][1].y) local x2,z2 = Roads.xz(tape.points[1][2].x, tape.points[1][2].y) local dist = base.math.floor(base.math.sqrt((x1-x2)*(x1-x2)+(z1-z2)*(z1-z2))+0.5) --local lat1 = tape.points[1][1].x --local long1 = tape.points[1][1].y --local lat2 = tape.points[1][2].x --local long2 = tape.points[1][2].y --local dist = base.math.floor(db.getDist(lat1, long1, lat2, long2)) --local ang = base.math.mod(base.math.floor(360+90-base.math.atan2(lat2-lat1, long2-long1)*180/base.math.pi), 360) --local cos = base.math.cos; --local sin = base.math.sin; local atan2 = base.math.atan2; local pi = base.math.pi; --local dl = long2 - long1; --ang = atan2(sin(dl)*cos(lat2), cos(lat1)*sin(lat2) - sin(lat1)*cos(lat2)*cos(dl)); ang = atan2(z2-z1,x2-x1) ang = base.math.floor((ang * 180/pi)*10)/10; if (ang < 0) then ang = 360 + ang end local text = dist ..' m, '..ang..'°' -- local text = dist ..' m, '..ang..'°' .. ' dlat ' .. (lat2 - lat1) .. ' dlon ' .. (long2 - long1) tape_text.title = text tape_text.semantics[1].value = text tape_text.points[1][1] = {x=mapX+0.00005*coeff, y=mapY+0.0001*coeff} tape_text.points[1][2] = {x=mapX+0.00005*coeff, y=mapY+0.0011*coeff} mapView:removeUserObjects({tape, tape_text}) mapView:addUserObjects({tape, tape_text}) mapView:updateUserList(true) end end C'è qualcuno di voi che sia in grado di apporre la modifica all'attuale file originale in maniera che funzioni? Io non ci capisco nulla di programmazione, ma forse fra voi qualcuno c'è.. Edited January 5, 2015 by Pelmo Intel i9-13900K, @5.8GHz, Gigabyte Z690 Aorus Master, 32GB DDR5 6200 DomPlatinum, GIGABYTE GeForce RTX 4090 Gaming OC 24G, LG 48GQ900-B, 4x 2TB Crucial P5plus M2 SSD NVME, 1x 500GB WD SN850 SSD NVME ,Thermaltake ToughPower GF3 1650W ATX 3.0 , Windows 11 Pro, Corsair AiO H170i LCD RGB, TrackIR 5, Thrustmaster Warthog, VPC Mongoos T-50CM3 Base, Thrustmaster MFD Cougar, MFG CROSSWIND, Corsair K95 Platinum, Sennheiser G 600, Roccat Kone Mouse.
Recommended Posts