Добро пожаловать на Pawno-Info.Ru - Портал о программировании №1

Присоединяйтесь к нам сейчас, чтобы получить доступ ко всем нашим функциям и ответы на все интересующие Вас вопросы. После регистрации Вы сможете создавать темы, публиковать ответы, влиять на репутацию пользователей форума, обмениваться личными сообщениями и многое другое. Это быстро и совершенно бесплатно, так чего же Вы ждете?

Маппинг для сервера

Если вы хотите обновить Ваш сервер новыми доработками - то зайдите в наш раздел. Большой выбор готовых решений от наших пользователей

Моды для сервера

Огромный выбор различных модификаций для Вашего сервера. Пролистайте эти темы! Возможно именно там Вы найдете то, что искали уже давно.

Модификации SA

Хотите разнообразить свою игру в San Andreas? Смелее в наш раздел. Отличный сборник готовых решений. Играйте с удовольствием

Carl_Onfroy

Начинающий
Пользователь
Регистрация
28 Дек 2019
Сообщения
78
Лучшие ответы
2
Репутация
2
Адрес
Tokyo
Здравствуйте.
Есть вариант как реализовать штуку с Аризона РП. Когда при проверке ip игрока, пишет расстояние от места регистрации до текущего местоположения.

Вариант написания скрипта который считает расстояние на php есть.

Суть вопроса, как пользоваться HTTP запросами?

Как это на словах:
1) Передать на скрипт 4 параметра, с долготами и широтами городов.
2) В скрипте с помощью функции подсчитать расстояние
3) Передать ответ из п.2 на сервер и там его показать
 

20th century

Изучающий
Пользователь
Регистрация
10 Авг 2020
Сообщения
771
Лучшие ответы
51
Репутация
326
Адрес
St. Petersburg
  • V.I.P
Подключить a_http, использовать нативную HTTP и обработчик ответа, который придёт обратно к серверу, так и юзать.

Какие данные хранятся у тебя в переменных? Долгота и широта, полученные при последнем подключении и при регистрации?
 

Carl_Onfroy

Начинающий
Пользователь
Регистрация
28 Дек 2019
Сообщения
78
Лучшие ответы
2
Репутация
2
Адрес
Tokyo
Подключить a_http, использовать нативную HTTP и обработчик ответа, который придёт обратно к серверу, так и юзать.

Какие данные хранятся у тебя в переменных? Долгота и широта, полученные при последнем подключении и при регистрации?
У меня проблемы именно с php составляющей. Я не знаю как сам скрипт сделать что бы принимал параметры и отправлял ответ обратно.

Долготу и широту получать при использовании команды /getip.
Если подробнее, то тут тема моя( https://pawno-info.ru/threads/komanda-getip-s-pokazom-strany-goroda-i-provajdera-dc_cmd.329079/ )
Вот, с павн кодом я знаю, я в PHP 0 просто)
 

20th century

Изучающий
Пользователь
Регистрация
10 Авг 2020
Сообщения
771
Лучшие ответы
51
Репутация
326
Адрес
St. Petersburg
  • V.I.P
Сервер должен отправить GET запрос (HTTP_GET) к твоему скрипту, в скрипте записываешь в переменные полученные данные (извлекаешь из $_GET).
Два плюс два, два умножить на два, скрипт делает какие-то вычисления, например, в функции, и функция должна вернуть какой-то ответ (например, расстояние от точки А до точки Б в километрах = целочисленное значение). Просто выводишь результат через echo, а твой сервер в коллбэке будет хранить ответ в data[]. В коллбэке через sscanf парсишь полученные данные из data[] в какую-то переменную, игроку отправляешь сообщение с этой информацией, а-ля: "расстояние между текущим местоположением и городом регистрации: %d".

В идеале можешь показать сейчас свой php-скрипт.
 

Carl_Onfroy

Начинающий
Пользователь
Регистрация
28 Дек 2019
Сообщения
78
Лучшие ответы
2
Репутация
2
Адрес
Tokyo
У меня проблемы именно с php составляющей. Я не знаю как сам скрипт сделать что бы принимал параметры и отправлял ответ обратно.

Долготу и широту получать при использовании команды /getip.
Если подробнее, то тут тема моя( https://pawno-info.ru/threads/komanda-getip-s-pokazom-strany-goroda-i-provajdera-dc_cmd.329079/ )
Вот, с павн кодом я знаю, я в PHP 0 просто)
О, а я и не знал что если просто вывести текст то оно так и передастся. Честно, только узнал. Спасибо.

Код:
// Радиус земли

define('EARTH_RADIUS', 6372795);

function calculateTheDistance ($φA, $λA, $φB, $λB) {

 

// перевести координаты в радианы

$lat1 = $φA * M_PI / 180;

$lat2 = $φB * M_PI / 180;

$long1 = $λA * M_PI / 180;

$long2 = $λB * M_PI / 180;

 

// косинусы и синусы широт и разницы долгот

$cl1 = cos($lat1);

$cl2 = cos($lat2);

$sl1 = sin($lat1);

$sl2 = sin($lat2);

$delta = $long2 - $long1;

$cdelta = cos($delta);

$sdelta = sin($delta);

 

// вычисления длины большого круга

$y = sqrt(pow($cl2 * $sdelta, 2) + pow($cl1 * $sl2 - $sl1 * $cl2 * $cdelta, 2));

$x = $sl1 * $sl2 + $cl1 * $cl2 * $cdelta;

 

//

$ad = atan2($y, $x);

$dist = $ad * EARTH_RADIUS;

 

return $dist;

}
Что-то по типу этого, точно не уверен...)))
 

UnO33

Эксперт
Пользователь
Регистрация
4 Фев 2013
Сообщения
1,807
Лучшие ответы
13
Репутация
480
Адрес
Kyiv|Lviv
  • Помощник
  • OLD
не знаешь как в php - делаешь без php )
в ссылке выше описано как получить longitude & latitude из апишника;
Получаешь эти значения для двух ip -> в павне считаешь расстояние между двумя точками.
 

Carl_Onfroy

Начинающий
Пользователь
Регистрация
28 Дек 2019
Сообщения
78
Лучшие ответы
2
Репутация
2
Адрес
Tokyo
не знаешь как в php - делаешь без php )
в ссылке выше описано как получить longitude & latitude из апишника;
Получаешь эти значения для двух ip -> в павне считаешь расстояние между двумя точками.
Подскажи мне тогда как в равно посчитать расстояние между двумя точками зная только ширину и долготу. Я вот просто не знаю, и попробовал сделать так
 

UnO33

Эксперт
Пользователь
Регистрация
4 Фев 2013
Сообщения
1,807
Лучшие ответы
13
Репутация
480
Адрес
Kyiv|Lviv
  • Помощник
  • OLD
ну, вот, например:

у нас, кст, одинаковые провайдеры, по мнению ip-api хД
Чтобы видеть скрытое содержание Зарегистрируйтесь на форуме!
 

Carl_Onfroy

Начинающий
Пользователь
Регистрация
28 Дек 2019
Сообщения
78
Лучшие ответы
2
Репутация
2
Адрес
Tokyo
ну, вот, например:
Я вот не помню что в равно была функция арккосинуса, или подобное. Синус был вроде бы, а так я видел эту формулу, но не смог ее применить в условиях павно, вот и решил попробовать через php..
 

Carl_Onfroy

Начинающий
Пользователь
Регистрация
28 Дек 2019
Сообщения
78
Лучшие ответы
2
Репутация
2
Адрес
Tokyo
Сервер должен отправить GET запрос (HTTP_GET) к твоему скрипту, в скрипте записываешь в переменные полученные данные (извлекаешь из $_GET).
Два плюс два, два умножить на два, скрипт делает какие-то вычисления, например, в функции, и функция должна вернуть какой-то ответ (например, расстояние от точки А до точки Б в километрах = целочисленное значение). Просто выводишь результат через echo, а твой сервер в коллбэке будет хранить ответ в data[]. В коллбэке через sscanf парсишь полученные данные из data[] в какую-то переменную, игроку отправляешь сообщение с этой информацией, а-ля: "расстояние между текущим местоположением и городом регистрации: %d".

В идеале можешь показать сейчас свой php-скрипт.
Ладна, спасибо большое буду пытаться. )
 

UnO33

Эксперт
Пользователь
Регистрация
4 Фев 2013
Сообщения
1,807
Лучшие ответы
13
Репутация
480
Адрес
Kyiv|Lviv
  • Помощник
  • OLD
Я вот не помню что в равно была функция арккосинуса, или подобное. Синус был вроде бы, а так я видел эту формулу, но не смог ее применить в условиях павно, вот и решил попробовать через php..
acos
 

plakapenka

• Помощник •
Support
Пользователь
Регистрация
5 Фев 2012
Сообщения
1,026
Лучшие ответы
5
Репутация
1,066
Адрес
Витебск
есть миллион решений глобальных проектов с API, недавно была похожая тема в вопросах. Просто найди любое API и юзай его через обычный самповский a_http
 

Carl_Onfroy

Начинающий
Пользователь
Регистрация
28 Дек 2019
Сообщения
78
Лучшие ответы
2
Репутация
2
Адрес
Tokyo
есть миллион решений глобальных проектов с API, недавно была похожая тема в вопросах. Просто найди любое API и юзай его через обычный самповский a_http
Я уже реализовал скрипт который считает расстояние от 1 точки до другой. Нужно будет его только грамотно вписать в мод
 
shape1
shape2
shape3
shape4
shape7
shape8
Сверху Снизу