e1mer 100 Report post Posted May 26, 2018 (edited) function PlayerInCity (role, PosX_min, PosY_min, PosX_max, PosY_max, map) --[[ @function Check player posisiton x, y @Description ru-RU: Функция проверяет, в заданных ли координатах находится игрок Если игрок в пределах заданных координат то вернет 1 Если игрок за пределами заданных координат то вернет 0 @Author: e1mer (Project: ZEST-Online) @Version: 1.1 ]] local Pos_X, Pos_Y = GetChaPos(role) if (GetChaMapName(role) == map) then if (ChaIsBoat(role) == 0) then if ((Pos_X > PosX_min and Pos_X < PosX_max) and (Pos_Y > PosY_min and Pos_Y < PosY_max)) then return 1 end else return 0 end end end С помощью которой можно захватить определенный квадрат на карте и проверить, находиться ли игрок на этой территории. PlayerInCity(character, x1, y1, x2, y2, map) character - выбираем персонажа, можно выбрать члена отряда, либо юзать role. x1, y1 - Начальные точки квадрата. x2, y2 - Конечные точки квадрата. map - Наша карта, необходимо указывать название карты а не региона (например: garner, darkblue). С помощью данной функции можно реализовывать различные условия на картах, с помощью которых можно управлять персонажем, ограничения есть лишь в фантазии. Я использовал данную функцию для реализации PvP системы, определял где город\деревни и устанавливал сейв\пвп зоны. Edited May 26, 2018 by e1mer 3 Quote Share this post Link to post Share on other sites
V3ct0r 2,116 Report post Posted May 26, 2018 @e1mer, еще можно написать функции для круга и ромба. Например, я использовал уравнение ромба для карты Захвата флага, чтобы определить, находится ли персонаж внутри площадки для флага. 1 Quote Some useful links / Полезные ссылки Tips for making a topic in 'Questions & Help' / Рекомендации по созданию тем в разделе "Помощь" Server Advertising Section Rules / Правила раздела "Реклама серверов" Available e-mail domains for registration / Допустимые e-mail домены для регистрации User groups / Группы пользователей User ranks / Звания пользователей "Broken" pictures on the forum / "Битые" изображения на форуме Beware of scammers! / Осторожно, мошенники! My developments / Мои разработки Mods for client and server / Моды для клиента и сервера PKOdev.NET website for Tales of Pirates Server / PKOdev.NET веб-обвязка для сервера Пиратии I do not provide any help in private messages and outside the forum. Use 'Questions & Help' section please. Thank you for understanding! Я не оказываю какую-либо помощь в личных сообщениях и вне форума. Пожалуйста, используйте раздел "Пиратия: Помощь". Благодарю за понимание! Share this post Link to post Share on other sites
V3ct0r 2,116 Report post Posted July 5, 2018 if (IsChaInRegion(role, 2) == 1) then -- Персонаж в безопасной зоне (в городе) else -- Персонаж вне безопасной зоны end 1 1 Quote Some useful links / Полезные ссылки Tips for making a topic in 'Questions & Help' / Рекомендации по созданию тем в разделе "Помощь" Server Advertising Section Rules / Правила раздела "Реклама серверов" Available e-mail domains for registration / Допустимые e-mail домены для регистрации User groups / Группы пользователей User ranks / Звания пользователей "Broken" pictures on the forum / "Битые" изображения на форуме Beware of scammers! / Осторожно, мошенники! My developments / Мои разработки Mods for client and server / Моды для клиента и сервера PKOdev.NET website for Tales of Pirates Server / PKOdev.NET веб-обвязка для сервера Пиратии I do not provide any help in private messages and outside the forum. Use 'Questions & Help' section please. Thank you for understanding! Я не оказываю какую-либо помощь в личных сообщениях и вне форума. Пожалуйста, используйте раздел "Пиратия: Помощь". Благодарю за понимание! Share this post Link to post Share on other sites
Onioni 58 Report post Posted July 15, 2018 (edited) Google translate: это круто, я играл еще одну игру давно. Во всяком случае, произошло такое событие: Событие начинается один раз в день. Каждый зарегистрированный игрок, который находится в сети, будет телепортирован на карту, которая является квадратной. Почти полностью средняя часть карты - две цветные. Конечно, в углах есть некоторые специальные вещи, поэтому карта выглядит лучше, а половина карты - НЕТ ответа, а половина из карты - Да. Когда событие запущено, возникают случайные вопросы об игре или что-то еще, время, в которое отвечает тот же день, даже темой ответа. когда вы отвечаете неправильно, вы будете телепортированы из области, чтобы посмотреть, как это происходит с другими, если вы хотите это увидеть. поэтому, когда осталось всего 3 игрока, все они получат приз, но последний из них получит высокий выигрыш. Я надеюсь снова увидеть эту карту в любой игре, и теперь она может быть в верхней части. Спасибо, что вы наслаждаетесь идеей карты. English: this is cool, i was playing one other game long time ago. Anyway there had an event like this: Event start once a day. Every registration players that are online will teleported in map that is square. Almost entirely middle part from the map is two colored. Of course in corners are some special stuffs so map looks better and half of map is NO answer and half from map is Yes answer. When event is started there is random questions about the game or anything else, its just how the that day even theme is also answering is timed. when answer wrong you will be teleported out from the area to look how it go with others if you like to see. so when there is only 3 players left they will all get prize but last one ofc get high prize. i hope to see this map again in any game and now in top its possible. Thanks your time enjoy the map idea Edited July 16, 2018 by Onioni 1 Quote Download: Nightmare Demonic Helm Dimension Pirates Online files: get now New map Project: Flag PK Black Skin 3.1.3 for pko 1: Get now Share this post Link to post Share on other sites
Faller 93 Report post Posted July 18, 2018 On 7/15/2018 at 6:20 AM, Onioni said: Google translate: это круто, я играл еще одну игру давно. Во всяком случае, произошло такое событие: Событие начинается один раз в день. Каждый зарегистрированный игрок, который находится в сети, будет телепортирован на карту, которая является квадратной. Почти полностью средняя часть карты - две цветные. Конечно, в углах есть некоторые специальные вещи, поэтому карта выглядит лучше, а половина карты - НЕТ ответа, а половина из карты - Да. Когда событие запущено, возникают случайные вопросы об игре или что-то еще, время, в которое отвечает тот же день, даже темой ответа. когда вы отвечаете неправильно, вы будете телепортированы из области, чтобы посмотреть, как это происходит с другими, если вы хотите это увидеть. поэтому, когда осталось всего 3 игрока, все они получат приз, но последний из них получит высокий выигрыш. Я надеюсь снова увидеть эту карту в любой игре, и теперь она может быть в верхней части. Спасибо, что вы наслаждаетесь идеей карты. English: this is cool, i was playing one other game long time ago. Anyway there had an event like this: Event start once a day. Every registration players that are online will teleported in map that is square. Almost entirely middle part from the map is two colored. Of course in corners are some special stuffs so map looks better and half of map is NO answer and half from map is Yes answer. When event is started there is random questions about the game or anything else, its just how the that day even theme is also answering is timed. when answer wrong you will be teleported out from the area to look how it go with others if you like to see. so when there is only 3 players left they will all get prize but last one ofc get high prize. i hope to see this map again in any game and now in top its possible. Thanks your time enjoy the map idea It already exists in Ultimate Pirates Online for almost 2 years. :P Quote Share this post Link to post Share on other sites
Faller 93 Report post Posted July 18, 2018 Here's my version of it: Quote function CheckPos(role,xi,xe,yi,ye) local x,y = GetChaPos(role) if x >= xi*100 and x <= xe*100 and y >= yi*100 and y <= ye*100 then return 1 end return 0 end The differences are: It will also return 1 if the position is exactly the one required (in e1mer's version it will only return 1 if it's bigger than, I think it was mentioned by the 2nd commenter, but I can't understand anything in Russian). You won't need to enter precise coordinates with the last 2 numbers, for example: 100.00,100.00 will become 100,100 because it's multiplying by 100. It will work for ships (his script returns 0 if ChaIsBoat). Doesn't need to specify map. This could go bad depending on how you're calling it, so it goes from how you write your scripts. Quote Share this post Link to post Share on other sites