Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 24.02.2009, 14:17
Интересующийся
Отправить личное сообщение для KOPCAP Посмотреть профиль Найти все сообщения от KOPCAP
 
Регистрация: 08.02.2009
Сообщений: 22

Такое возможно?
Здравствуйте, у меня такая трудности с заменой я не могу придумать скрипт который заменял бы
Код:
{
"classname" "worldspawn"
"classname" "worldspawn"
"MaxRange" "4096"
"mapversion" "220"
"mapversion" "220"
"wad" "halflife.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 
}
}
на
Код:
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}";
т.е. в исходном коде выбирал только объект и заменял Х У координаты.
Ответить с цитированием
  #2 (permalink)  
Старый 24.02.2009, 16:08
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 04.04.2008
Сообщений: 6,245

мне достаточно неочевидно, как из первого получается второй у вас.
в любом случае полагаю вашу задачу можно отлично решить при помощи регулярных ьвыражений
Ответить с цитированием
  #3 (permalink)  
Старый 24.02.2009, 16:42
Отправить личное сообщение для Андрей Параничев Посмотреть профиль Найти все сообщения от Андрей Параничев
 
Регистрация: 21.02.2008
Сообщений: 1,250

KOPCAP,
Редактор карт Gold Source на JavaScript пишете?
Ответить с цитированием
  #4 (permalink)  
Старый 24.02.2009, 19:18
Интересующийся
Отправить личное сообщение для KOPCAP Посмотреть профиль Найти все сообщения от KOPCAP
 
Регистрация: 08.02.2009
Сообщений: 22

Сообщение от Андрей Параничев Посмотреть сообщение
KOPCAP,
Редактор карт Gold Source на JavaScript пишете?
не для source для обычного))) только я уже написал а теперь хочу упростить добавление объектов созданием еще одной програмки
P.S.
Gvozd спасибо за ссылку буду разбираться.

Последний раз редактировалось KOPCAP, 24.02.2009 в 19:22.
Ответить с цитированием
  #5 (permalink)  
Старый 24.02.2009, 19:22
Отправить личное сообщение для Андрей Параничев Посмотреть профиль Найти все сообщения от Андрей Параничев
 
Регистрация: 21.02.2008
Сообщений: 1,250

KOPCAP,
Обычный и называется "Gold Source", но зачем писать редактор на JavaScript, это что-то новенькое.

А что вам именно нужно сделать, я так и не понял.
Ответить с цитированием
  #6 (permalink)  
Старый 24.02.2009, 19:35
Интересующийся
Отправить личное сообщение для KOPCAP Посмотреть профиль Найти все сообщения от KOPCAP
 
Регистрация: 08.02.2009
Сообщений: 22

Сообщение от Андрей Параничев Посмотреть сообщение
KOPCAP,
Обычный и называется "Gold Source", но зачем писать редактор на JavaScript, это что-то новенькое.

А что вам именно нужно сделать, я так и не понял.
Программу пишу для создания уровней под игру на телефоне))) просто так будет легче. а именно мне нужно чтобы программа обрабатывала текст таким образом:
1. удаляла начальные строки, не нужные далее:
Код:
{
"classname" "worldspawn"
"classname" "worldspawn"
"MaxRange" "4096"
"mapversion" "220"
"mapversion" "220"
"wad" "halflife.wad"
{
2. Заменяла
Код:
( 128 128 128 )
на
Код:
( "+(x*1+128*1)+" "+(y*1+128*1)+" 128 )
//Как оказалось надо скобки
т.е. первые два числа.
при чем остаток
Код:
SKY [ 1 0 0 16 ] [ 0 -1 0 -16 ] 0 1 1
не трогала.

Последний раз редактировалось KOPCAP, 24.02.2009 в 19:59.
Ответить с цитированием
  #7 (permalink)  
Старый 24.02.2009, 20:44
Интересующийся
Отправить личное сообщение для KOPCAP Посмотреть профиль Найти все сообщения от KOPCAP
 
Регистрация: 08.02.2009
Сообщений: 22

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 
}
}
вот начало но по крайней мере получаю то что нужно чуть доработаю и все Спасибо, тему можно закрывать.

Последний раз редактировалось KOPCAP, 24.02.2009 в 20:47. Причина: неуспел до писать
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как сохранить данные в файл? Возможно такое на JavaScript? Forgott Общие вопросы Javascript 35 26.06.2015 20:11
файловая система и js - возможно ли? jestalnar Общие вопросы Javascript 3 12.06.2009 19:24
аякс!что это такое Рудольф AJAX и COMET 4 11.02.2009 21:11
Возможно ли такое? fizzle Общие вопросы Javascript 0 27.01.2009 15:09
возможно: массив + выборка mvorobjov Общие вопросы Javascript 5 13.08.2008 17:54