#if defined _sxgeo_included #endinput #endif #define _sxgeo_included #if AMXX_VERSION_NUM >= 175 #pragma reqlib sxgeo #if !defined AMXMODX_NOAUTOLOAD #pragma loadlib sxgeo #endif #else #pragma library sxgeo #endif /* * Look up the two character country code for a given IP address. * e.g: "RU", "KZ", "US", etc. * * @param ip The IP address to look up. * @param output The result buffer. If the lookup does not succeed, the buffer is not modified. * * @return true on a successful lookup, false on a failed lookup. */ native bool:sxgeo_code(const ip[], output[3]); /* * Look up the full country name for the given IP address. * * @param ip The IP address to look up. * @param output The output of the sxgeo look up. * @param len The maximum length of the output buffer. * @param lang Which language to the output of result the sxgeo lookup. * Supported languages: * "ru", "en" * * @return true on a successful lookup, false on a failed lookup. */ native bool:sxgeo_country(const ip[], output[], const len, const lang[] = "en"); /* * Look up the full city name for the given IP address. * * @param ip The IP address to look up. * @param output The output of the sxgeo look up. * @param len The maximum length of the output buffer. * @param lang Which language to the output of result the sxgeo lookup. * Supported languages: * "ru", "en" * * @return true on a successful lookup, false on a failed lookup. */ native bool:sxgeo_city(const ip[], output[], const len, const lang[] = "en"); /* * Look up the city's latitude for the given IP address. * * @param ip The IP address to look up. * @return The result of the sxgeo look up, 0 if latitude is not found. */ native Float:sxgeo_latitude(const ip[]); /* * Look up the city's longitude for the given IP address. * * @param ip The IP address to look up. * @return The result of the sxgeo look up, 0 if longitude is not found. */ native Float:sxgeo_longitude(const ip[]); /* * Look up the full region/state name for the given IP address. * * @param ip The IP address to look up. * @param output The output of the sxgeo look up. * @param len The maximum length of the output buffer. * @param lang Which language to the output of result the sxgeo lookup. * Supported languages: * "ru", "en" * * @return true on a successful lookup, false on a failed lookup. */ native bool:sxgeo_region(const ip[], output[], const len, const lang[] = "en"); /* * Look up the region/state code for the given IP address. * e.g. "RU-TOM", "US-OH", "DE-HH", IT-82, "FR-U", etc. * * @param ip The IP address to look up. * @param output The output of the sxgeo look up. * @param len The maximum length of the output buffer. * * @return true on a successful lookup, false on a failed lookup. */ native bool:sxgeo_region_code(const ip[], output[], const len); /* * Calculate the distance between geographical coordinates, latitude and longitude. * * @param ip The IP address to look up. * * @param lat1 The first IP latitude. * @param lon1 The first IP longitude. * @param lat2 The second IP latitude. * @param lon2 The second IP longitude. * @param system The system of measurement, 0 = Metric(kilometers) or 1 = English(miles). * * @return The distance as result in specified system of measurement. */ #define SYSTEM_METRIC 0 // kilometers #define SYSTEM_IMPERIAL 1 // statute miles native Float:sxgeo_distance(Float:lat1, Float:lon1, Float:lat2, Float:lon2, system = SYSTEM_METRIC);