Такое возможно?
Здравствуйте, у меня такая трудности с заменой я не могу придумать скрипт который заменял бы
Код:
{Код:
k = "{\n( "+x+0+" "+y+128" 128 ) ( "+x+128+" "+y+128+" 128 ) ( "+x+128+" "+y+0+" 128 ) SKY [ 1 0 0 -64 ] [ 0 -1 0 64 ] 0 1 1 \n( "+x+0+" "+y+0+" 0 ) ( "+x+128+" "+y+0+" 0 ) ( "+x+128+" "+y+128+" 0 ) SKY [ 1 0 0 -64 ] [ 0 -1 0 64 ] 0 1 1 \n( "+x+0+" "+y+128+" 128 ) ( "+x+0+" "+y+0+" 128 ) ( "+x+0+" "+y+0+" 0 ) C1A3WALL01 [ 0 1 0 -64 ] [ 0 0 -1 0 ] 0 1 1 \n( "+x+128+" "+y+128+" 0 ) ( "+x+128+" " +y+0+ " 0 ) ( "+x+128+" "+y+0+" 128 ) C1A3WALL01 [ 0 1 0 -64 ] [ 0 0 -1 0 ] 0 1 1 \n( "+x+128+" "+y+128+" 128 ) ( "+x+0+" "+y+128+" 128 ) ( "+x+0+" "+y+128+" 0 ) C1A3WALL01 [ 1 0 0 -64 ] [ 0 0 -1 0 ] 0 1 1 \n( "+x+128+" "+y+0+" 0 ) ( "+x+0+" "+y+0+" 0 ) ( "+x+0+" "+y+0+" 128 ) C1A3WALL01 [ 1 0 0 -64 ] [ 0 0 -1 0 ] 0 1 1 \n}"; |
мне достаточно неочевидно, как из первого получается второй у вас.
в любом случае полагаю вашу задачу можно отлично решить при помощи регулярных ьвыражений |
KOPCAP,
Редактор карт Gold Source на JavaScript пишете? |
Цитата:
P.S. Gvozd спасибо за ссылку буду разбираться. |
KOPCAP,
Обычный и называется "Gold Source", но зачем писать редактор на JavaScript, это что-то новенькое. А что вам именно нужно сделать, я так и не понял. |
Цитата:
1. удаляла начальные строки, не нужные далее: Код:
{Код:
( 128 128 128 )Код:
( "+(x*1+128*1)+" "+(y*1+128*1)+" 128 )при чем остаток Код:
SKY [ 1 0 0 16 ] [ 0 -1 0 -16 ] 0 1 1 |
Gvozd спасибо почитал статью и вот что получилось:
var fso, tf;
fso = new ActiveXObject("Scripting.FileSystemObject");
file=fso.openTextFile("index.map", 1, true);
file.readLine();
file.readLine();
file.readLine();
file.readLine();
file.readLine();
file.readLine();
file.readLine();
function drowbrush(){
var newbrush = "";
var repls = "";
newbrush=newbrush+file.readLine()+"\n";
repls = file.ReadLine();
repls = repls.replace(/\s/, "kp\"+(x*1+");
repls = repls.replace(/\s/, "*1)+\"kp\"+(y*1+");
repls = repls.replace(/\s/, "*1)+\"kp");
repls = repls.replace(/\s/, "kp");
repls = repls.replace(/\s/, "kp");
repls = repls.replace(/\s/, "kp\"+(x*1+");
repls = repls.replace(/\s/, "*1)+\"kp\"+(y*1+");
repls = repls.replace(/\s/, "*1)+\"kp");
repls = repls.replace(/\s/, "kp");
repls = repls.replace(/\s/, "kp");
repls = repls.replace(/\s/, "kp\"+(x*1+");
repls = repls.replace(/\s/, "*1)+\"kp\"+(y*1+");
repls = repls.replace(/\s/, "*1)+\"kp");
repls = repls.replace(/\s/, "kp");
repls = repls.replace(/\s/, "kp");
repls = repls.replace(/kp/g, " ");
alert(repls);
}
drowbrush();
в файле index.map хранится
{
"classname" "worldspawn"
"classname" "worldspawn"
"MaxRange" "4096"
"mapversion" "220"
"mapversion" "220"
"wad" "\program files\valve\valve\halflife.wad;\program files\valve\valve\decals.wad"
{
( 0 128 128 ) ( 128 128 128 ) ( 128 0 128 ) SKY [ 1 0 0 -64 ] [ 0 -1 0 64 ] 0 1 1
( 0 0 0 ) ( 128 0 0 ) ( 128 128 0 ) SKY [ 1 0 0 -64 ] [ 0 -1 0 64 ] 0 1 1
( 0 128 128 ) ( 0 0 128 ) ( 0 0 0 ) C1A3WALL01 [ 0 1 0 -64 ] [ 0 0 -1 0 ] 0 1 1
( 128 128 0 ) ( 128 0 0 ) ( 128 0 128 ) C1A3WALL01 [ 0 1 0 -64 ] [ 0 0 -1 0 ] 0 1 1
( 128 128 128 ) ( 0 128 128 ) ( 0 128 0 ) C1A3WALL01 [ 1 0 0 -64 ] [ 0 0 -1 0 ] 0 1 1
( 128 0 0 ) ( 0 0 0 ) ( 0 0 128 ) C1A3WALL01 [ 1 0 0 -64 ] [ 0 0 -1 0 ] 0 1 1
}
}
вот начало но по крайней мере получаю то что нужно чуть доработаю и все Спасибо, тему можно закрывать. |
| Часовой пояс GMT +3, время: 06:17. |