Openapoc: λ„μ‹œμ˜ λ§Žμ€ 파괴 된 타일이 Ultra-Speedμ—μ„œ κ²Œμž„μ„ 멈좘 κ²ƒμ²˜λŸΌ λ³΄μž…λ‹ˆλ‹€.

에 λ§Œλ“  2018λ…„ 10μ›” 11일  Β·  10μ½”λ©˜νŠΈ  Β·  좜처: OpenApoc/OpenApoc

λ‚˜λŠ” 파괴 된 타일과 관련이 μžˆλ‹€κ³  κ°€μ •ν•©λ‹ˆλ‹€.

μ΄ˆκ³ μ†μ— λ°°μΉ˜ν•˜λ©΄ λ„μ‹œ 경관이 μ—„μ²­λ‚˜κ²Œ 느린 κ²ƒμ²˜λŸΌ λ³΄μž…λ‹ˆλ‹€.
ν”Œλ ˆμ΄ ν•  수 없을 μ •λ„λ‘œ

첨뢀 된 μ €μž₯을 μ°ΎμœΌμ‹­μ‹œμ˜€

SuperHuman_Slow.zip

!BUG! HIGH PRIORITY !BUG! low priority Help Wanted

κ°€μž₯ μœ μš©ν•œ λŒ“κΈ€

μˆ˜μ •μ„μœ„ν•œ PR은 λ‹€μŒκ³Ό κ°™μŠ΅λ‹ˆλ‹€ (μˆ˜λ™μœΌλ‘œ 만 확인).
https://github.com/OpenApoc/OpenApoc/pull/563

λͺ¨λ“  10 λŒ“κΈ€

μž„λ¬΄μ— 건섀 μ°¨λŸ‰κ³Ό 같은 μ λŒ€μ μΈ μ°¨λŸ‰λ„ 영ν–₯을 λ―ΈμΉ˜λŠ” 것 κ°™μŠ΅λ‹ˆλ‹€

λ‚˜μ€‘μ— μ„Έμ΄λΈŒ κ²Œμž„μ˜ μΆ”κ°€ 예
save_SuperHuman 1.zip

μ°¨λŸ‰λ„ λ§‰νžˆλŠ” 것 κ°™μŠ΅λ‹ˆλ‹€.
image

λ§‰νžŒ μ°¨λŸ‰μ„ μ°Ύμ•˜μŠ΅λ‹ˆλ‹€.
λ©”κ°€ ν”ŒλΌμ΄μ–΄ μœ„μ—, 첨뢀 된 μ €μž₯
save_SuperHuman 1.zip

λ§‰νžŒ μ°¨λŸ‰ (건섀 μ°¨λŸ‰ 31)을 λ””λ²„κΉ…ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€.
μ €μž₯ κ²Œμž„ λ‹Ήμ‹œμ˜ μž„λ¬΄λŠ” λ‹€μŒκ³Ό κ°™μŠ΅λ‹ˆλ‹€.

W 7613175674 bool OpenApoc::CityView::handleMouseDown(OpenApoc::Event *): CLICKED VEHICLE Construction Vehicle 31 at {42.7708,63.5,7.5}
W 7613244067 bool OpenApoc::CityView::handleMouseDown(OpenApoc::Event *): Mission GotoLocation {43,63,2}
W 7613263414 bool OpenApoc::CityView::handleMouseDown(OpenApoc::Event *): Mission RecoverVehicle 
W 7613286861 bool OpenApoc::CityView::handleMouseDown(OpenApoc::Event *): Mission GotoBuilding BUILDING_WAREHOUSE_THREE

κ·ΈλŸ¬λ‚˜ λŒ€μƒ (43,63,2)은 adjustTargetToClosestFlying에 μ˜ν•΄ (43,63,7)둜 λ‹€μ‹œ μž‘μ„±λ©λ‹ˆλ‹€.
κ·Έ ν›„, μ°¨λŸ‰μ€ setPathToλ₯Ό 호좜 ν•  λ•Œλ§ˆλ‹€ (43, 63, 7)둜 μ΄λ™ν•˜λ €λŠ” μ‹œλ„μ™€ 근처의 λ¬΄μž‘μœ„ λŒ€μƒ μ‚¬μ΄μ—μ„œ μ§„λ™ν•©λ‹ˆλ‹€.

After setPathTo: Vehicle [Construction Vehicle 31] path: (41,63,7) -> (41,63,7) -> (42,63,7) -> (43,63,7)
After setPathTo: Vehicle [Construction Vehicle 31] path: (43,63,7) -> (43,63,7) -> (42,64,6) -> (41,63,5) -> (41,62,4)
After setPathTo: Vehicle [Construction Vehicle 31] path: (41,62,4) -> (41,62,4) -> (41,62,5) -> (41,62,6) -> (42,63,7) -> (43,63,7)
After setPathTo: Vehicle [Construction Vehicle 31] path: (43,63,7) -> (43,63,7) -> (43,62,7) -> (42,61,6)
After setPathTo: Vehicle [Construction Vehicle 31] path: (42,61,6) -> (42,61,6) -> (43,62,7) -> (43,63,7)
After setPathTo: Vehicle [Construction Vehicle 31] path: (43,63,7) -> (43,63,7) -> (44,64,6) -> (45,65,5) -> (45,65,4)
...

이 @ashenomo <3λ₯Ό μ°Ύμ•„ μ£Όμ…”μ„œ κ°μ‚¬ν•©λ‹ˆλ‹€

해결책을 찾을 수 μžˆλ‹€λ©΄ 크게 κ°μ‚¬ν•˜κ² μŠ΅λ‹ˆλ‹€

μ΄μƒμ μœΌλ‘œ, μš°λ¦¬λŠ” μ°¨λŸ‰μ΄ 루프에 κ°‡ν˜€ μžˆμŒμ„ μΈμ‹ν•˜κ³  루프λ₯Ό κ°•μ œν•˜λŠ” μ ν•©ν•œ λͺ©μ μ§€ 인 λ¬΄μž‘μœ„ λŒ€μƒμ— λŒ€ν•œ 확인이 λΆ€μ‘±ν•œ κ²ƒμœΌλ‘œ μ˜μ‹¬λ˜λ―€λ‘œ μ μ ˆν•˜κ³  λͺ…ν™•ν•œ μ΅œμ’… λͺ©μ μ§€μ— λŒ€ν•œ μƒˆλ‘œμš΄ μž„λ¬΄λ₯Ό μƒμ„±ν•˜κΈ°λ₯Ό μ›ν•©λ‹ˆλ‹€.

μ°¨λŸ‰μ΄ μ΄λŸ¬ν•œ 루프에 κ°‡ 히면 μ’…μ’… Landing Tube Tiles λ˜λŠ” Mega-Flyers Factory에 μžˆμŠ΅λ‹ˆλ‹€.

μ–΄λ”˜κ°€μ— λ‚˜μœ 타일 μœ ν˜•μ΄ μ—†μœΌλ©΄ 특히 Mega-Flyer 곡μž₯이 μ™œ 그런 문제λ₯Ό μΌμœΌν‚€λŠ” 지 잘 λͺ¨λ₯΄κ² μŠ΅λ‹ˆκΉŒ ???

이것은 λͺ©μ μ§€κ°€ λ‹€λ₯Έ μ°¨λŸ‰μ— μ˜ν•΄ 점유 될 λ•Œ νŠΈλ¦¬κ±°λ˜λŠ” "μ‚¬μ΄λ“œ μŠ€ν…Œν•‘"둜직처럼 λ³΄μž…λ‹ˆλ‹€. λŒ€μƒμ€ μΌμ‹œμ μœΌλ‘œ 근처의 빈 νƒ€μΌλ‘œ λ³€κ²½λ©λ‹ˆλ‹€. μ°¨λŸ‰μ΄ ν•΄λ‹Ή 타일에 λ„λ‹¬ν•˜λ©΄ μ›λž˜ λͺ©ν‘œλ‘œ λ‹€μ‹œ μ΄λ™ν•˜λ €κ³ ν•©λ‹ˆλ‹€.

ν•˜μ§€λ§Œμ΄ 경우 곁길을 λ°ŸλŠ” μ°¨λŸ‰μ€ CV31, 즉 슀슀둜 좩돌 ν•  것이라고 μƒκ°ν•©λ‹ˆλ‹€. μ•”ν˜Έ
이것을 λ³΄μ—¬μ£ΌλŠ” μΆ”κ°€ 둜그 :

W 14531114914 void OpenApoc::VehicleMission::setPathTo(OpenApoc::GameState &, OpenApoc::Vehicle &, Vec3<int>, int, bool, bool):  ** setPathTo for [Construction Vehicle 31] to (43,63,2), maxIter:450, cV:Y, giveUp:N, currentPath n:0
W 14531141711 void OpenApoc::VehicleMission::setPathTo(OpenApoc::GameState &, OpenApoc::Vehicle &, Vec3<int>, int, bool, bool):  *** adjustTargetToClosestFlying: [Construction Vehicle 31] (43, 63, 2), piNe: N
W 14531234219 static bool OpenApoc::VehicleMission::adjustTargetToClosestFlying(OpenApoc::GameState &, OpenApoc::Vehicle &, Vec3<int> &, bool, bool, bool &): Target (43,63,7) contains vehicle [Construction Vehicle 31]. This will trigger a target adjustment.

μ°¨λŸ‰μ΄ 슀슀둜 νšŒν”Όν•˜μ§€ μ•Šλ„λ‘ μΆ”κ°€ 확인을 μΆ”κ°€ν•˜λŠ” 것은 쒋은 μƒκ°μ²˜λŸΌ λ“€λ¦½λ‹ˆλ‹€.
즉, μ™œ μ˜†μœΌλ‘œ λ°Ÿμ•„λ„ λ¬Έμ œκ°€ ν•΄κ²°λ˜μ§€ μ•ŠλŠ”μ§€ λͺ¨λ₯΄κ² μŠ΅λ‹ˆλ‹€ ..

μΆ”κ°€ 디버그 정보 :

  • μ°¨λŸ‰μ˜ μž„λ¬΄λŠ” λ‹€μŒκ³Ό κ°™μŠ΅λ‹ˆλ‹€.
W 417133364405 bool OpenApoc::CityView::handleMouseDown(OpenApoc::Event *): Mission GotoLocation {43,63,2}
W 417133397242 bool OpenApoc::CityView::handleMouseDown(OpenApoc::Event *): Mission RecoverVehicle 
W 417133421554 bool OpenApoc::CityView::handleMouseDown(OpenApoc::Event *): Mission GotoBuilding BUILDING_WAREHOUSE_THREE
  • 43,63,2λŠ” 도달 ν•  수 μ—†μŠ΅λ‹ˆλ‹€. MEGAFLYER_TWO 건물이 μ°¨μ§€ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€.
  • μ „λ‹¨μ§€λŠ” μœ„λ‘œ μ˜¬λΌκ°€ κ°€μž₯ κ°€κΉŒμ΄μ— 닿을 μˆ˜μžˆλŠ” 타일을 μ°ΎμŠ΅λ‹ˆλ‹€. 이 경우 43,63,7μž…λ‹ˆλ‹€.
    Screen Shot 2019-04-26 at 0 18 30
  • pickNearest 은이 GotoLocation μž„λ¬΄μ— λŒ€ν•΄ κ±°μ§“μ΄λ―€λ‘œ μ°¨λŸ‰μ΄ μ •ν™•ν•œ 지점에 도달 ν•  λ•ŒκΉŒμ§€ μ™„λ£Œλ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. λΆˆκ°€λŠ₯ν•©λ‹ˆλ‹€.
  • RecoverVehicle μž„λ¬΄κ°€ λ’€λ”°λ₯Έλ‹€λŠ” 점을 κ°μ•ˆν•  λ•Œ, μ•„λ§ˆλ„ 좔락 ν•œ μ°¨λŸ‰μ΄ 43,63,2μ—μ„œ 끝났고이 μˆ˜μ†‘μ€ 그것을 λ³΅κ΅¬ν•˜λ„λ‘ ν• λ‹Ήλ˜μ—ˆμŠ΅λ‹ˆλ‹€. 이 μž„λ¬΄κ°€ μ–΄λ–»κ²Œ λ§Œλ“€μ–΄ μ‘ŒλŠ”μ§€ μ•Œμ•„λ³΄κΈ° μœ„ν•΄ 이전 μ €μž₯ κ²Œμž„μ„ μ‹œλ„ν•΄ λ³΄κ² μŠ΅λ‹ˆλ‹€.
  • 이전 λŒ“κΈ€μ—μ„œ μ–ΈκΈ‰ ν•œ 체크λ₯Ό μΆ”κ°€ν•˜λ©΄ (ν”Όν•  μ°¨λŸ‰μ„ 찾을 λ•Œ 슀슀둜λ₯Ό κ³ λ €ν•˜μ§€ λ§ˆμ‹­μ‹œμ˜€) μ°¨λŸ‰μ΄ 루프에 λ“€μ–΄κ°€λŠ” 것을 λ°©μ§€ν•˜μ§€λ§Œ μ΄μ œλŠ” 43,63,7μ—μ„œ 멈 μΆ₯λ‹ˆ λ‹€.

이 이전 μ €μž₯ κ²Œμž„μ„ μ‚΄νŽ΄λ³΄λ©΄ :

λ‚˜λŠ” 파괴 된 타일과 관련이 μžˆλ‹€κ³  κ°€μ •ν•©λ‹ˆλ‹€.

μ΄ˆκ³ μ†μ— λ°°μΉ˜ν•˜λ©΄ λ„μ‹œ 경관이 μ—„μ²­λ‚˜κ²Œ 느린 κ²ƒμ²˜λŸΌ λ³΄μž…λ‹ˆλ‹€.
ν”Œλ ˆμ΄ ν•  수 없을 μ •λ„λ‘œ

첨뢀 된 μ €μž₯을 μ°ΎμœΌμ‹­μ‹œμ˜€

SuperHuman_Slow.zip

Blazer Turbo Bike 49 (파괴 된 Hades Block 근처)λŠ” 파괴 된 λ„λ‘œ 타일 인 (86,78,2)에 λ„λ‹¬ν•˜λ €κ³ ν•©λ‹ˆλ‹€. κ·ΈλŸ¬λ‚˜ λ©ˆμΆ°μžˆλŠ” 건섀 μ°¨λŸ‰κ³Ό μœ μ‚¬ν•˜κ²Œ 속도 μ €ν•˜μ— κΈ°μ—¬ν•  μˆ˜μžˆλŠ”μ΄ μ°¨λŸ‰μ˜ λͺ¨λ“  ν‹±μ—μ„œ setPathToκ°€ ν˜ΈμΆœλ˜λŠ” 것을 λ³Ό 수 μžˆμŠ΅λ‹ˆλ‹€.

μˆ˜μ •μ„μœ„ν•œ PR은 λ‹€μŒκ³Ό κ°™μŠ΅λ‹ˆλ‹€ (μˆ˜λ™μœΌλ‘œ 만 확인).
https://github.com/OpenApoc/OpenApoc/pull/563

이 νŽ˜μ΄μ§€κ°€ 도움이 λ˜μ—ˆλ‚˜μš”?
0 / 5 - 0 λ“±κΈ‰