Дипломат - а у тебя какой вариант?
Без проблем! Могу даже рабочий пример написать: делов-то на 15 минут. Только создай нормальный корректный вопрос с описанием проблемы и ТЗ в соответствующем разделе.
|
Вот вопрос:
Есть 2 дома, между ними в плейне вырублена кривая зигзаговая дорога,
на дороге должно быть 2 ряда вейпоинтов (правая и левая стороны),
должны быть боты.
Как заставить ботов ездить от дома к дому через вейпоинты, выберая правильный путь?
То есть каким образом это можно сделать вместо моего какакода:

If a\d#=1 And a\PS#=0 And a\T#=23 And a\ZPPS#=2 Then
PointEntity a\entity,PolevoyShpat
a\v#=0.1
End If
If EntityDistance(a\entity,PolevoyShpat)<1 And a\PS#<23 Then
a\v#=0.0
a\PS#=a\PS#+0.1
If a\PS#>23 Then a\PS#=23
If a\PS#=23 Then a\T#=0
End If
If a\PS#=23 And a\UPPS#=0 Then
PointEntity a\entity,UP_PolevoyShpat_ZavodPPS1
a\v#=0.1
End If
If EntityDistance(a\entity,UP_PolevoyShpat_ZavodPPS1)<1 And a\PS#=23 Then
a\v#=0.0
a\UPPS#=1
End If
If a\PS#=23 And a\UPPS#=1 Then
PointEntity a\entity,UP_PolevoyShpat_ZavodPPS2
a\v#=0.1
End If
If EntityDistance(a\entity,UP_PolevoyShpat_ZavodPPS2)<1 And a\PS#=23 Then
a\v#=0.0
a\UPPS#=2
End If
If a\PS#=23 And a\UPPS#=2 Then
PointEntity a\entity,UP_PolevoyShpat_ZavodPPS3
a\v#=0.1
End If
If EntityDistance(a\entity,UP_PolevoyShpat_ZavodPPS3)<1 And a\PS#=23 Then
a\v#=0.0
a\UPPS#=3
End If
If a\PS#=23 And a\UPPS#=3 Then
PointEntity a\entity,UP_PolevoyShpat_ZavodPPS4
a\v#=0.1
End If
If EntityDistance(a\entity,UP_PolevoyShpat_ZavodPPS4)<1 And a\PS#=23 Then
a\v#=0.0
a\UPPS#=5
End If
If a\PS#=23 And a\UPPS#=5 Then
PointEntity a\entity,UP_PolevoyShpat_ZavodPPS5
a\v#=0.1
End If
If EntityDistance(a\entity,UP_PolevoyShpat_ZavodPPS5)<1 And a\PS#=23 Then
a\v#=0.0
a\UPPS#=6
End If
If a\PS#=23 And a\UPPS#=6 Then
PointEntity a\entity,UP_PolevoyShpat_ZavodPPS6
a\v#=0.1
End If
If EntityDistance(a\entity,UP_PolevoyShpat_ZavodPPS6)<1 And a\PS#=23 Then
a\v#=0.0
a\UPPS#=7
End If
If a\PS#=23 And a\UPPS#=7 Then
PointEntity a\entity,UP_PolevoyShpat_ZavodPPS7
a\v#=0.1
End If
If EntityDistance(a\entity,UP_PolevoyShpat_ZavodPPS7)<1 And a\PS#=23 Then
a\v#=0.0
a\UPPS#=8
End If
If a\PS#=23 And a\UPPS#=8 Then
PointEntity a\entity,UP_PolevoyShpat_ZavodPPS8
a\v#=0.1
End If
If EntityDistance(a\entity,UP_PolevoyShpat_ZavodPPS8)<1 And a\PS#=23 Then
a\v#=0.0
a\UPPS#=9
End If
If a\PS#=23 And a\UPPS#=9 Then
PointEntity a\entity,UP_PolevoyShpat_ZavodPPS9
a\v#=0.1
End If
If EntityDistance(a\entity,UP_PolevoyShpat_ZavodPPS9)<1 And a\PS#=23 Then
a\v#=0.0
a\UPPS#=9
End If
If a\PS#=23 And a\UPPS#=9 Then
PointEntity a\entity,ZavodPPS
a\v#=0.1
End If
If EntityDistance(a\entity,ZavodPPS)<1 And a\PS#>0 Then
a\v#=0.0
a\PS#=0
a\UPPS#=0
a\ZPPS#=1
End If
If EntityDistance(a\entity,ZavodPPS)<1 And a\PS#=0 Then
a\T#=a\T#+0.1
If a\T#>23 Then
a\T#=23
a\r#=0
End If
End If
If a\d#=1 And a\PS#=0 And a\T#=23 And a\ZPPS#=1 And a\UPPS#=0 Then
PointEntity a\entity,UP2_PolevoyShpat_ZavodPPS1
a\v#=0.1
End If
If EntityDistance(a\entity,UP2_PolevoyShpat_ZavodPPS1)<1 And a\T#=23 Then
a\v#=0.0
a\UPPS#=1
End If
If a\T#=23 And a\UPPS#=1 Then
PointEntity a\entity,UP2_PolevoyShpat_ZavodPPS2
a\v#=0.1
End If
If EntityDistance(a\entity,UP2_PolevoyShpat_ZavodPPS2)<1 And a\T#=23 Then
a\v#=0.0
a\UPPS#=2
End If
If a\T#=23 And a\UPPS#=2 Then
PointEntity a\entity,UP2_PolevoyShpat_ZavodPPS3
a\v#=0.1
End If
If EntityDistance(a\entity,UP2_PolevoyShpat_ZavodPPS3)<1 And a\T#=23 Then
a\v#=0.0
a\UPPS#=3
End If
If a\T#=23 And a\UPPS#=3 Then
PointEntity a\entity,UP2_PolevoyShpat_ZavodPPS4
a\v#=0.1
End If
If EntityDistance(a\entity,UP2_PolevoyShpat_ZavodPPS4)<1 And a\T#=23 Then
a\v#=0.0
a\UPPS#=5
End If
If a\T#=23 And a\UPPS#=5 Then
PointEntity a\entity,UP2_PolevoyShpat_ZavodPPS5
a\v#=0.1
End If
If EntityDistance(a\entity,UP2_PolevoyShpat_ZavodPPS5)<1 And a\T#=23 Then
a\v#=0.0
a\UPPS#=6
End If
If a\T#=23 And a\UPPS#=6 Then
PointEntity a\entity,UP2_PolevoyShpat_ZavodPPS6
a\v#=0.1
End If
If EntityDistance(a\entity,UP2_PolevoyShpat_ZavodPPS6)<1 And a\T#=23 Then
a\v#=0.0
a\UPPS#=7
End If
If a\T#=23 And a\UPPS#=7 Then
PointEntity a\entity,UP2_PolevoyShpat_ZavodPPS7
a\v#=0.1
End If
If EntityDistance(a\entity,UP2_PolevoyShpat_ZavodPPS7)<1 And a\T#=23 Then
a\v#=0.0
a\UPPS#=8
End If
If a\T#=23 And a\UPPS#=8 Then
PointEntity a\entity,UP2_PolevoyShpat_ZavodPPS8
a\v#=0.1
End If
If EntityDistance(a\entity,UP2_PolevoyShpat_ZavodPPS8)<1 And a\T#=23 Then
a\v#=0.0
a\UPPS#=9
End If
If a\T#=23 And a\UPPS#=9 Then
PointEntity a\entity,UP2_PolevoyShpat_ZavodPPS9
a\v#=0.1
End If
If EntityDistance(a\entity,UP2_PolevoyShpat_ZavodPPS9)<1 And a\T#=23 Then
a\v#=0.0
a\UPPS#=9
End If
If a\T#=23 And a\UPPS#=9 Then
PointEntity a\entity,PolevoyShpat
a\v#=0.1
End If
If EntityDistance(a\entity,PolevoyShpat)<1 And a\PS#<23 Then
a\v#=0.0
a\PS#=a\PS#+0.1
If a\PS#>23 Then a\PS#=23
If a\PS#=23 Then a\T#=0
a\UPPS#=0
a\ZPPS#=0
End If
If a\PS#=23 And a\UPPS#=0 Then
PointEntity a\entity,UP_PolevoyShpat_ZavodPPS1
a\v#=0.1
End If
If EntityDistance(a\entity,UP_PolevoyShpat_ZavodPPS1)<1 And a\PS#=23 Then
a\v#=0.0
a\UPPS#=1
End If
If a\PS#=23 And a\UPPS#=1 Then
PointEntity a\entity,UP_PolevoyShpat_ZavodPPS2
a\v#=0.1
End If
If EntityDistance(a\entity,UP_PolevoyShpat_ZavodPPS2)<1 And a\PS#=23 Then
a\v#=0.0
a\UPPS#=2
End If
If a\PS#=23 And a\UPPS#=2 Then
PointEntity a\entity,UP_PolevoyShpat_ZavodPPS3
a\v#=0.1
End If
If EntityDistance(a\entity,UP_PolevoyShpat_ZavodPPS3)<1 And a\PS#=23 Then
a\v#=0.0
a\UPPS#=3
End If
If a\PS#=23 And a\UPPS#=3 Then
PointEntity a\entity,UP_PolevoyShpat_ZavodPPS4
a\v#=0.1
End If
If EntityDistance(a\entity,UP_PolevoyShpat_ZavodPPS4)<1 And a\PS#=23 Then
a\v#=0.0
a\UPPS#=5
End If
If a\PS#=23 And a\UPPS#=5 Then
PointEntity a\entity,UP_PolevoyShpat_ZavodPPS5
a\v#=0.1
End If
If EntityDistance(a\entity,UP_PolevoyShpat_ZavodPPS5)<1 And a\PS#=23 Then
a\v#=0.0
a\UPPS#=6
End If
If a\PS#=23 And a\UPPS#=6 Then
PointEntity a\entity,UP_PolevoyShpat_ZavodPPS6
a\v#=0.1
End If
If EntityDistance(a\entity,UP_PolevoyShpat_ZavodPPS6)<1 And a\PS#=23 Then
a\v#=0.0
a\UPPS#=7
End If
If a\PS#=23 And a\UPPS#=7 Then
PointEntity a\entity,UP_PolevoyShpat_ZavodPPS7
a\v#=0.1
End If
If EntityDistance(a\entity,UP_PolevoyShpat_ZavodPPS7)<1 And a\PS#=23 Then
a\v#=0.0
a\UPPS#=8
End If
If a\PS#=23 And a\UPPS#=8 Then
PointEntity a\entity,UP_PolevoyShpat_ZavodPPS8
a\v#=0.1
End If
If EntityDistance(a\entity,UP_PolevoyShpat_ZavodPPS8)<1 And a\PS#=23 Then
a\v#=0.0
a\UPPS#=9
End If
If a\PS#=23 And a\UPPS#=9 Then
PointEntity a\entity,UP_PolevoyShpat_ZavodPPS9
a\v#=0.1
End If
If EntityDistance(a\entity,UP_PolevoyShpat_ZavodPPS9)<1 And a\PS#=23 Then
a\v#=0.0
a\UPPS#=9
End If
If a\PS#=23 And a\UPPS#=9 Then
PointEntity a\entity,ZavodPPS
a\v#=0.1
End If
If EntityDistance(a\entity,ZavodPPS)<1 And a\PS#>0 Then
a\v#=0.0
a\PS#=0
a\UPPS#=0
a\ZPPS#=1
End If
If EntityDistance(a\entity,ZavodPPS)<1 And a\PS#=0 Then
a\T#=a\T#+0.1
If a\T#>23 Then
a\T#=23
a\r#=0
End If
End If