Карта прилагается...
суть единственного триггера проста...
задаётся случайный размер карты от 10*128 до 60*128...
а дальше в полученном поле меняется тип тайлов (в примере используется тип 'Lroc' Лордерон: скалы)
по идеи, "скалы" обрамляют заданное поле, а его площадь for-циклом случайный образом заполняется с шансом ~40%
и как бы код работает.. НО только при размере поля не более чем 29*128
суть единственного триггера проста...
задаётся случайный размер карты от 10*128 до 60*128...
а дальше в полученном поле меняется тип тайлов (в примере используется тип 'Lroc' Лордерон: скалы)
по идеи, "скалы" обрамляют заданное поле, а его площадь for-циклом случайный образом заполняется с шансом ~40%
и как бы код работает.. НО только при размере поля не более чем 29*128
при больших значениях поле заполняется не полностью...
Подскажите, имеется ли лимит итераций, либо же я просто туплю и мне пора идти спать...
Подскажите, имеется ли лимит итераций, либо же я просто туплю и мне пора идти спать...
code
#define void = nothing
#define int = integer
scope MapInit initializer Init{
void generateNewMap(){
int size=GetRandomInt(10,60)//lagging if size>29
//CameraBounds
for(int indexPlayer=0;indexPlayer<12;indexPlayer++){
if (GetLocalPlayer() == Player(indexPlayer)) then
real minX = (size-6.)*-128.
real minY = (size-4.)*-128.
real maxX = (size-6.)*128.
real maxY = (size-4.)*128.
SetCameraBounds(minX, minY, minX, maxY, maxX, maxY, maxX, minY)
endif
}
// 40% of random tiles
//SetTerrainType(GetLocationX(where),GetLocationY(where), 'Lrok',-1, 1, 1)
real minMX = -size
real minMY = -size
real maxMX = size
real maxMY = size
for(minMX=-size;minMX<=size;minMX++){
for(minMY=size;minMY>=-size;minMY--){
if(minMX==-size or minMY==-size or minMX==size or minMY==size){
//border
real x=minMX*128.
real y=minMY*128.
SetTerrainType(x,y,'Lrok',-1, 1, 1)
}
real x=minMX*128.
real y=minMY*-128.
if(GetRandomInt(0,100)<=40){
SetTerrainType(x,y,'Lrok',-1, 1, 1)
}
}
}
}
void Init(){
FogEnable(false)
FogMaskEnable(false)
generateNewMap()
}
}
0
GetLocalPlayer
7 лет назад
0
Лимит операций
Принятый ответ
0
Алексей Андреич
7 лет назад
0
исчерпывающе.... спасибо...
Чтобы оставить комментарий, пожалуйста, войдите на сайт.