bosko 41 Опубликовано 23 октября, 2012 Подскажите, как сделать любой квадрат пвп зоной ? допустим тот же гиран харбор и так, что бы при убийстве рождался в гиран харборе Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
hdlex 17 Опубликовано 23 октября, 2012 (изменено) Итак для начало выбираем место где будет наша ПвП зона. Я выбрал центр гирана и моя зона будет в форме ромба (так как это сложней чем квадрат,треугольник.И квадрат в дальнейшем сделать будет как нечего делать). Создадим файл с таким названием zone_vertices.sql Открываем его и копируем в него вот эту строчку: INSERT INTO `zone_vertices` VALUES ('99998', '0', 'Х', 'Y'); (Что какая Запись значит: 99998-id нашей зоны, 0 - одна из наших 8-ми координат (Обратите внимания что в sql запросе первая координата начинается не с цифры 1 а с 0) и в конце будет не 1,2,3....8, а 0,1,2....7). Х,Y в дальнейшим объясню). Так как у нас ромб а в ромбе 8 точек то sql будет выглядеть так: INSERT INTO `zone_vertices` VALUES ('99998', '0', 'Х', 'Y'); INSERT INTO `zone_vertices` VALUES ('99998', '1', 'Х', 'Y'); INSERT INTO `zone_vertices` VALUES ('99998', '2', 'Х', 'Y'); INSERT INTO `zone_vertices` VALUES ('99998', '3', 'Х', 'Y'); INSERT INTO `zone_vertices` VALUES ('99998', '4', 'Х', 'Y'); INSERT INTO `zone_vertices` VALUES ('99998', '5', 'Х', 'Y'); INSERT INTO `zone_vertices` VALUES ('99998', '6', 'Х', 'Y'); INSERT INTO `zone_vertices` VALUES ('99998', '7', 'Х', 'Y'); Бежим к координату 0: и прописываем /loc и видем в чате следующие записи: 81728 - Та самая Х. 147891 - Y. Z -3469 пока что лучше запишите куда нибудь в блокнот. Х и Y вставляем в sql запрос в 0 координату на свои места а именно : INSERT INTO `zone_vertices` VALUES ('99998', '0', '81728', '147891'); INSERT INTO `zone_vertices` VALUES ('99998', '1', 'Х', 'Y'); INSERT INTO `zone_vertices` VALUES ('99998', '2', 'Х', 'Y'); INSERT INTO `zone_vertices` VALUES ('99998', '3', 'Х', 'Y'); INSERT INTO `zone_vertices` VALUES ('99998', '4', 'Х', 'Y'); INSERT INTO `zone_vertices` VALUES ('99998', '5', 'Х', 'Y'); INSERT INTO `zone_vertices` VALUES ('99998', '6', 'Х', 'Y'); INSERT INTO `zone_vertices` VALUES ('99998', '7', 'Х', 'Y'); Бежим в координату под номером 1 и тоже пишем /loc и видем тоже 3 координаты X - 82112. Y - 147910. Z -3495 записываем в блокнот. Х и Y так же вставляем на свои места: INSERT INTO `zone_vertices` VALUES ('99998', '0', '81728', '147891'); INSERT INTO `zone_vertices` VALUES ('99998', '1', '82112', '147910'); INSERT INTO `zone_vertices` VALUES ('99998', '2', 'Х', 'Y'); INSERT INTO `zone_vertices` VALUES ('99998', '3', 'Х', 'Y'); INSERT INTO `zone_vertices` VALUES ('99998', '4', 'Х', 'Y'); INSERT INTO `zone_vertices` VALUES ('99998', '5', 'Х', 'Y'); INSERT INTO `zone_vertices` VALUES ('99998', '6', 'Х', 'Y'); INSERT INTO `zone_vertices` VALUES ('99998', '7', 'Х', 'Y'); И так далее пока что не пробежим все 8 точек. В конце концов у меня получился такой sql запрос: INSERT INTO `zone_vertices` VALUES ('99998', '0', '81728', '147891'); INSERT INTO `zone_vertices` VALUES ('99998', '1', '82112', '147910'); INSERT INTO `zone_vertices` VALUES ('99998', '2', '82729', '148424'); INSERT INTO `zone_vertices` VALUES ('99998', '3', '82720', '148799'); INSERT INTO `zone_vertices` VALUES ('99998', '4', '82112', '149314'); INSERT INTO `zone_vertices` VALUES ('99998', '5', '81729', '149314'); INSERT INTO `zone_vertices` VALUES ('99998', '6', '81142', '148792'); INSERT INTO `zone_vertices` VALUES ('99998', '7', '81146', '148427'); Сохраняем sql файл и заливаем в базу. Все с базами разобрались. Осталось внести нашу ПвП зону. */gameserver/data/zones/zone.xml открываем блокнотам листаем ищим Гиран Помните я просил выписывать все координаты Z в блокнот? Они нам щас будут нужны: В блокноте с Z точками у меня получились такие: -3469 с 0 координаты -3495 с 1 координаты -3469 с 2 координаты -3469 с 3 координаты -3469 с 4 координаты -3495 с 5 координаты -3469 с 6 координаты -3495 с 7 координаты Выбираем из наших Z точек 1 самую минимальную это -3469 и самую максимальную -3495 <zone id='99998' type='Town' shape='NPoly' minZ='Минимальную впишите сюда' maxZ='Максимальную сюда'/> Далее открываем файл Zones и добавляем это перед городом гиран : <zone id='99998' type='Town' shape='NPoly' minZ='-3469' maxZ='-3495'> <stat name='name' val='PvP Giran'/> <stat name='townId' val='9'/> <stat name='redirectTownId' val='11'/> <stat name='taxById' val='3'/> <stat name='isPeaceZone' val='True'/> <spawn X='81236' Y='148638' Z='-3469'/> <spawn X='81804' Y='149250' Z='-3495'/> <spawn X='85598' Y='149656' Z='-3418'/> <spawn X='81526' Y='151072' Z='-3559'/> <spawn X='78675' Y='148622' Z='-3623'/> <spawn X='85501' Y='147349' Z='-3431'/> <spawn X='83920' Y='145673' Z='-3431'/> </zone> Сохраняем, делаем рр сервера и усё. Автор: sos96910 от 17-01-2012, 19:22 Изменено 23 октября, 2012 пользователем hdlex 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Voled 183 Опубликовано 23 октября, 2012 Подскажите, как сделать любой квадрат пвп зоной ? допустим тот же гиран харбор и так, что бы при убийстве рождался в гиран харборе Ну это как сделать зону написали чуть ниже , а что бы сделать возрождение в другом месте : вот например в гиране возрождение тут <spawn X='81236' Y='148638' Z='-3469'/> <spawn X='81804' Y='149250' Z='-3495'/> <spawn X='85598' Y='149656' Z='-3418'/> <spawn X='81526' Y='151072' Z='-3559'/> <spawn X='78675' Y='148622' Z='-3623'/> <spawn X='85501' Y='147349' Z='-3431'/> <spawn X='83920' Y='145673' Z='-3431'/> А ты измени на свое. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Voled 183 Опубликовано 23 октября, 2012 Итак для начало выбираем место где будет наша ПвП зона. Я выбрал центр гирана и моя зона будет в форме ромба (так как это сложней чем квадрат,треугольник.И квадрат в дальнейшем сделать будет как нечего делать). Создадим файл с таким названием zone_vertices.sql Открываем его и копируем в него вот эту строчку: INSERT INTO `zone_vertices` VALUES ('99998', '0', 'Х', 'Y'); (Что какая Запись значит: 99998-id нашей зоны, 0 - одна из наших 8-ми координат (Обратите внимания что в sql запросе первая координата начинается не с цифры 1 а с 0) и в конце будет не 1,2,3....8, а 0,1,2....7). Х,Y в дальнейшим объясню). Так как у нас ромб а в ромбе 8 точек то sql будет выглядеть так: INSERT INTO `zone_vertices` VALUES ('99998', '0', 'Х', 'Y'); INSERT INTO `zone_vertices` VALUES ('99998', '1', 'Х', 'Y'); INSERT INTO `zone_vertices` VALUES ('99998', '2', 'Х', 'Y'); INSERT INTO `zone_vertices` VALUES ('99998', '3', 'Х', 'Y'); INSERT INTO `zone_vertices` VALUES ('99998', '4', 'Х', 'Y'); INSERT INTO `zone_vertices` VALUES ('99998', '5', 'Х', 'Y'); INSERT INTO `zone_vertices` VALUES ('99998', '6', 'Х', 'Y'); INSERT INTO `zone_vertices` VALUES ('99998', '7', 'Х', 'Y'); Бежим к координату 0: и прописываем /loc и видем в чате следующие записи: 81728 - Та самая Х. 147891 - Y. Z -3469 пока что лучше запишите куда нибудь в блокнот. Х и Y вставляем в sql запрос в 0 координату на свои места а именно : INSERT INTO `zone_vertices` VALUES ('99998', '0', '81728', '147891'); INSERT INTO `zone_vertices` VALUES ('99998', '1', 'Х', 'Y'); INSERT INTO `zone_vertices` VALUES ('99998', '2', 'Х', 'Y'); INSERT INTO `zone_vertices` VALUES ('99998', '3', 'Х', 'Y'); INSERT INTO `zone_vertices` VALUES ('99998', '4', 'Х', 'Y'); INSERT INTO `zone_vertices` VALUES ('99998', '5', 'Х', 'Y'); INSERT INTO `zone_vertices` VALUES ('99998', '6', 'Х', 'Y'); INSERT INTO `zone_vertices` VALUES ('99998', '7', 'Х', 'Y'); Бежим в координату под номером 1 и тоже пишем /loc и видем тоже 3 координаты X - 82112. Y - 147910. Z -3495 записываем в блокнот. Х и Y так же вставляем на свои места: INSERT INTO `zone_vertices` VALUES ('99998', '0', '81728', '147891'); INSERT INTO `zone_vertices` VALUES ('99998', '1', '82112', '147910'); INSERT INTO `zone_vertices` VALUES ('99998', '2', 'Х', 'Y'); INSERT INTO `zone_vertices` VALUES ('99998', '3', 'Х', 'Y'); INSERT INTO `zone_vertices` VALUES ('99998', '4', 'Х', 'Y'); INSERT INTO `zone_vertices` VALUES ('99998', '5', 'Х', 'Y'); INSERT INTO `zone_vertices` VALUES ('99998', '6', 'Х', 'Y'); INSERT INTO `zone_vertices` VALUES ('99998', '7', 'Х', 'Y'); И так далее пока что не пробежим все 8 точек. В конце концов у меня получился такой sql запрос: INSERT INTO `zone_vertices` VALUES ('99998', '0', '81728', '147891'); INSERT INTO `zone_vertices` VALUES ('99998', '1', '82112', '147910'); INSERT INTO `zone_vertices` VALUES ('99998', '2', '82729', '148424'); INSERT INTO `zone_vertices` VALUES ('99998', '3', '82720', '148799'); INSERT INTO `zone_vertices` VALUES ('99998', '4', '82112', '149314'); INSERT INTO `zone_vertices` VALUES ('99998', '5', '81729', '149314'); INSERT INTO `zone_vertices` VALUES ('99998', '6', '81142', '148792'); INSERT INTO `zone_vertices` VALUES ('99998', '7', '81146', '148427'); Сохраняем sql файл и заливаем в базу. Все с базами разобрались. Осталось внести нашу ПвП зону. */gameserver/data/zones/zone.xml открываем блокнотам листаем ищим Гиран Помните я просил выписывать все координаты Z в блокнот? Они нам щас будут нужны: В блокноте с Z точками у меня получились такие: -3469 с 0 координаты -3495 с 1 координаты -3469 с 2 координаты -3469 с 3 координаты -3469 с 4 координаты -3495 с 5 координаты -3469 с 6 координаты -3495 с 7 координаты Выбираем из наших Z точек 1 самую минимальную это -3469 и самую максимальную -3495 <zone id='99998' type='Town' shape='NPoly' minZ='Минимальную впишите сюда' maxZ='Максимальную сюда'/> Далее открываем файл Zones и добавляем это перед городом гиран : <zone id='99998' type='Town' shape='NPoly' minZ='-3469' maxZ='-3495'> <stat name='name' val='PvP Giran'/> <stat name='townId' val='9'/> <stat name='redirectTownId' val='11'/> <stat name='taxById' val='3'/> <stat name='isPeaceZone' val='True'/> <spawn X='81236' Y='148638' Z='-3469'/> <spawn X='81804' Y='149250' Z='-3495'/> <spawn X='85598' Y='149656' Z='-3418'/> <spawn X='81526' Y='151072' Z='-3559'/> <spawn X='78675' Y='148622' Z='-3623'/> <spawn X='85501' Y='147349' Z='-3431'/> <spawn X='83920' Y='145673' Z='-3431'/> </zone> Сохраняем, делаем рр сервера и усё. Написал бы хоть автора ! Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
hdlex 17 Опубликовано 23 октября, 2012 Написал бы хоть автора ! чесно скамуниздил на какомто портале - не спорю . автора не помню . Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
bosko 41 Опубликовано 23 октября, 2012 это всё понятно суть тут в другом в том, что когда появляешся в гиране и прописываешь /loc , таких координат нет не в БД не в zone.xml И менять их хз где Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
hdlex 17 Опубликовано 23 октября, 2012 (изменено) Создадим файл с таким названием zone_vertices.sql Открываем его и копируем в него вот эту строчку: INSERT INTO `zone_vertices` VALUES ('99998', '0', 'Х', 'Y'); вписав /loc нам выдаст кординату твоей точки где ты стаиш 3 номера не имеет значения каких 1й номер ето х второй y третий z дапустим тебе выполо 4444 5555 -3333 х у z в итоге вписуем INSERT INTO `zone_vertices` VALUES ('99998', '0', '4444', '5555'); потом бежим во вторую точк4у по квадрату вторая точка будет писаться так INSERT INTO `zone_vertices` VALUES ('99998', '1', '35345', '54656'); 1-----------------2 ----------------------- ----------------------- ---------------------- 4-----------------3 zone_vertices.sql - находиться в базе данных mysql цифры - всего лиш пример Изменено 23 октября, 2012 пользователем hdlex 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
bosko 41 Опубликовано 23 октября, 2012 сейчас проверю че получится ) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
hdlex 17 Опубликовано 23 октября, 2012 вобшем цыфры ты береш из кординат которые выбираеш сам тоесть прибежал в один угол орены нажал лок вписал INSERT INTO `zone_vertices` VALUES ('99998', '0', 'Х', 'Y'); побежал во второй нажал лок - вписал INSERT INTO `zone_vertices` VALUES ('99998', '1', 'Х', 'Y'); потом в третий INSERT INTO `zone_vertices` VALUES ('99998', '2', 'Х', 'Y'); и в последний если зона квадратная INSERT INTO `zone_vertices` VALUES ('99998', '3', 'Х', 'Y'); занес в бд вписал в зоне <zone id='99998' type='Arena' shape='NPoly' minZ='3495' maxZ='-3495'> Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
hdlex 17 Опубликовано 23 октября, 2012 Что бы сделать город пвп зоной достаточно добавить эту строку: <stat name='isPeaceZone' val='True'/> Перед координатами спавна (после смерти, телепорта) тоесть сюда: <zone id='11020' type='Town' shape='NPoly' minZ='-3800' maxZ='-3300'> <stat name='name' val='Giran Castle Town'/> <stat name='townId' val='9'/> <stat name='redirectTownId' val='11'/> <stat name='taxById' val='3'/> <-------------------- Вот сюды между <stat name='taxById' val='3'/> и <spawn X='81236' Y='148638' Z='-3469'/> <spawn X='81236' Y='148638' Z='-3469'/> <spawn X='81804' Y='149250' Z='-3495'/> <spawn X='85598' Y='149656' Z='-3418'/> <spawn X='81526' Y='151072' Z='-3559'/> <spawn X='78675' Y='148622' Z='-3623'/> <spawn X='85501' Y='147349' Z='-3431'/> <spawn X='83920' Y='145673' Z='-3431'/> и всё город станет пвп зоной вобщем найди зону гх и поступи также Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
hdlex 17 Опубликовано 23 октября, 2012 только по идее придеться дописать спавны в ручную так как порт - не город Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
hdlex 17 Опубликовано 24 октября, 2012 думаю тему стоит закрепить (пригодиться всем новичкам) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты