На сайте онлайн (человек): 38 
|  |
|
 | |
0001 | $Sectorlist = array alloc: size=0 0002 | append {Омикрон Лиры} ... |  |
|  |
 | |
|
Terran Conflict (X3TC) / Форум / Скрипты и моды для X3 Terran Conflict / Учимся простейшим скриптам
|
| VladikF писал(а): | Код:- 0001 | [color=yellow]$Sectorlist[/color] = array alloc: size=0
- 0002 | append {[color=green]Омикрон Лиры[/color]} to array [color=yellow]$Sectorlist[/color]
- 0003 | append {[color=green]Мальстрим[/color]} to array [color=yellow]$Sectorlist[/color]
- 0004 | append {[color=green]Королевский тупик[/color]} to array [color=yellow]$Sectorlist[/color]
- 0005 | [color=yellow]$listsize[/color] = size of array [color=yellow]$Sectorlist[/color]
- 0006 | [color=yellow]$ship[/color] = Элита
- 0007 | while [color=yellow]$count[/color] > [color=yellow]$listsize[/color]
- 0008 | | [color=yellow]$x[/color] = random value from -5000 to 5000 - 1
- 0009 | | [color=yellow]$sector[/color] = [color=yellow]$Sectorlist[$Count][/color]
- 0010 | | [color=yellow]$create[/color] = create ship: type=[color=yellow]$Ship[/color] owner=Аргон addto=[color=yellow]$sector[/color] x=$x y=0 z=0
- 0011 | | inc [color=yellow]$count[/color]
- 0012 | end
- 0013 | return [color=blue]null[/color]
|
| |
|
| |
Во-первых, чтобы увеличивать $count на единичку, надо задать ей начальное значение 0 ("$count = 0"). Во вторых, как здесь написано "$count > $sectorlist", то есть таким образом возможны два варианта, если учитывать, что значение $count неизвестно. Первое - если $count меньше либо равно $listsize (в данном случае $count меньше либо равно тройке), то тогда цикл не совершит НИ ОДНОГО витка, и НИ ОДИН корабль не будет создан; второе - $count больше $listsize (то бишь $count больше тройки) - корабли также не будет создан, постольку поскольку сектора, в которые предположительно будут добавляться корабли, находятся в массиве $Sectorlist по индексам 0-2, а так как $count больше двойки и с каждым новым витком будет увеличиваться на единицу, отсюда следует, что "Элита" будет создаваться "нигде" (так как $sector будет равна null), то бишь ничего не произойдет (и корабли опять не создадутся), а цикл станет бесконечным и мгновенно подвесит игру. Epic fail.
Минус за дезу.
upd:
| Код:- 0001 | [color=yellow]$list[/color] = 10
- 0002 | [color=yellow]$ship[/color] = Нова Рейдер
- 0003 | [color=green]while[/color] [color=yellow]$count[/color] > [color=yellow]$list[/color]
- 0004 | | [color=yellow]$x[/color] = random value from -5000 to 5000 - 1
- 0005 | | [color=yellow]$create[/color] = create ship: type=[color=yellow]$Ship[/color] owner=Аргон addto=Аргон Прайм x=[color=yellow]$x[/color] y=0 z=0
- 0006 | | inc [color=yellow]$count[/color]
- 0007 | [color=red]end[/color]
- 0008 | return [color=blue]null[/color]
|
| |
Аналогично. |
|
дерево темы → Учимся простейшим скриптам
Учимся простейшим скриптам »
Список игр
|  |
|  |
 |  |  | |
| | | |
|  |