All Activity

This stream auto-updates   

  1. Today
  2. Помогите перевести мод с mxINI на Mysql я не знаю как это сделать я не проффисионал в Pawno Писать в VK https://vk.com/m.joys Скину мод
  3. Yesterday
  4. @hokageudа типо тебя несмущяет что у самого сервера в сампе пароль стоит не
  5. Копию Grand Rp я бы приобрел на самом деле, а как вообще понять сроки коды ты пустишь его в продажу? Да тем более ты вроде его продаешь, по крайней мере тут на форуме у него price 1500р
  6. @mr1fl Спасибо! Пришлось сделать немного правок, но теперь все работает!
  7. Всем привет на связи MartinJoys | Cherlock Cегодня мы научимся делать вип аккаунты по времени, с автоматическим удалением по истечению времени. Перейдем в самый вверх вашего мода и впишем туда этот код: Теперь необходимо установить подключение к базе при включении мода, перейдем в OnGameModeInit и впишем туда этот код: mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_DB, MYSQL_PASS); //устанавливаем подключение switch(mysql_ping()) { case 1: print("Соединение установлено"); // Если подключена БД. case -1: print("Нет соединения с БД"); // Если не подключена БД. } Теперь если все будет нормально то в консоли появится инфа о том что соединение установлено. Сейчас сделаем отключение от базы при выключении/перезагрузке мода, перейдем в OnGameModeExit и впишем: mysql_close(); Теперь нужно сделать проверку, переходим в OnPlayerConnect и вписываем: Теперь построим команду для выдачи випки. Внимание команда построена на YCM Теперь сделаем функцию выдачи випки, перейдем в низ вашего мода и напишем следующий код: Теперь нужно создать таблицу в нашей бд: Создаем таблицу с именем Donate, делаем 2 столбца Name и Days. В первом укажем значение string(24), а во втором int(11). Необходимые для работы инклуды а так же плагины можете скачать по этой ссылкам:http://rghost.ru/40382201http://rghost.ru/40382221http://rghost.ru/40382234http://rghost.ru/40382569 Автор: Я MartinJoys | Cherlock
  8. @coolgamer В параметрах ссканфа вы указываете слишком большие значения, возьмём ваш код частями: #define GEO_MAX_IP_LENGTH (16 + 1) #define GEO_MAX_IP_LENGTH (16 + 1) // итого 17 #define GEO_MAX_COUNTRY_CODE_LENGTH (4 + 1) // итого 5 // и т.д. enum e_PLAYER_GEO_INFO { player_country_code[GEO_MAX_COUNTRY_CODE_LENGTH], // значит тут макс. размер 5, как раз чему и равно GEO_MAX_COUNTRY_CODE_LENGTH // и т.д. }; // остальной код sscanf(data, "p<,>s[64]s[64]s[64]s[64]s[64]s[64]s[64]s[64]s[64]s[64]s[64]s[64]", player_geo[player_country], // а вот тут вы уже пытаетесь записать размер, величиной в 64 символа player_geo[player_country_code], player_geo[player_region_code], player_geo[player_region], player_geo[player_city], player_geo[player_district], player_geo[player_lat], player_geo[player_lon], player_geo[player_timezone], player_geo[player_provider], player_geo[player_mobile_status], player_geo[player_proxy]); Вам надо для каждой переменной выставить макс. размер в функции sscanf`a, пользуясь дейфанами, вот так это должно выглядить: #define GEO_MAX_IP_LENGTH (16 + 1) #define GEO_MAX_COUNTRY_CODE_LENGTH (4 + 1) #define GEO_MAX_COUNTRY_NAME_LENGTH (32 + 1) #define GEO_MAX_REGION_CODE_LENGTH (6 + 1) #define GEO_MAX_REGION_NAME_LENGTH (32 + 1) #define GEO_MAX_CITY_NAME_LENGTH (32 + 1) #define GEO_MAX_DISTRICT_NAME_LENGTH (64 + 1) #define GEO_MAX_LAT_LON_LENGTH (12 + 1) #define GEO_MAX_TIMEZONE_NAME_LENGTH (64 + 1) #define GEO_MAX_PROVIDER_NAME_LENGTH (32 + 1) #define GEO_MAX_MOBILE_STATUS_LENGTH (5 + 1) #define GEO_MAX_PROXY_LENGTH (5 + 1) enum e_PLAYER_GEO_INFO { player_country_code[GEO_MAX_COUNTRY_CODE_LENGTH], player_country[GEO_MAX_COUNTRY_NAME_LENGTH], player_region_code[GEO_MAX_REGION_CODE_LENGTH], player_region[GEO_MAX_REGION_NAME_LENGTH], player_district[GEO_MAX_DISTRICT_NAME_LENGTH], player_city[GEO_MAX_CITY_NAME_LENGTH], player_lat[GEO_MAX_LAT_LON_LENGTH], player_lon[GEO_MAX_LAT_LON_LENGTH], player_timezone[GEO_MAX_TIMEZONE_NAME_LENGTH], player_provider[GEO_MAX_PROVIDER_NAME_LENGTH], player_mobile_status[GEO_MAX_MOBILE_STATUS_LENGTH], player_proxy[GEO_MAX_PROXY_LENGTH] }; new player_geo_none[e_PLAYER_GEO_INFO] = { "None", "None", "None", "None", "None", "None", "None", "None", "None", "None", "None", "None" }, player_geo_ip[GEO_MAX_IP_LENGTH]; #define GetIpCountryCode(%0) player_geo[player_country_code] #define GetIpCountry(%0) player_geo[player_country] #define GetIpRegionCode(%0) player_geo[player_region_code] #define GetIpRegion(%0) player_geo[player_region] #define GetIpCity(%0) player_geo[player_city] #define GetIpDistrict(%0) player_geo[player_district] #define GetIpLatitude(%0) player_geo[player_lat] #define GetIpLongtitude(%0) player_geo[player_lon] #define GetIpTimeZone(%0) player_geo[player_timezone] #define GetIpProvider(%0) player_geo[player_provider] #define GetIpMobileStatus(%0) player_geo[player_mobile_status] #define GetIpProxyStatus(%0) player_geo[player_proxy] // #define GEO_IP_INFO_DETECT_URL_PISKA "ip-api.com/csv/" #define GEO_IP_INFO_DETECT_URL_FIELDS "?fields=721887" #define GEO_MAX_IP_LENGTH (16 + 1) CMD:ipinfo(playerid, params[]) { if(PlayerInfo[playerid][pAdmin]<5)return 0; if(ADuty[playerid]!=228) return SendClientMessage(playerid,COLOR_GREY,NO_DUTY_TEXT); new dialog_string[512]; new request[128]; strcat(request, GEO_IP_INFO_DETECT_URL_PISKA); strcat(request, params[0]); strcat(request, GEO_IP_INFO_DETECT_URL_FIELDS); HTTP(playerid, HTTP_GET, request, "", "p_geo_OnIpInformationRequested"); //переделаю потом чтобы показывало инфу о регистрационном айпи format(dialog_string, sizeof(dialog_string), "{FFFFFF}Проверка IP: {ff9300}%s{FFFFFF}\n\n\ Страна: {ff9300}%s{FFFFFF}\n\ Город: {ff9300}%s{FFFFFF}\n\ Регион: {ff9300}%s{FFFFFF}", params[0], GetIpCountry(params[0]), GetIpCity(params[0]), GetIpRegion(params[0])); return ShowPlayerDialogEx(playerid, 0, DIALOG_STYLE_MSGBOX, !"Информация об IP-адресе", dialog_string, !"Закрыть", ""); } forward p_geo_OnIpInformationRequested(playerid, response_code, data[]); public p_geo_OnIpInformationRequested(playerid, response_code, data[]) { if(response_code == 200) { new str_scanf[100]; format(str_scanf, 100, "p<,>s[%d]s[%d]s[%d]s[%d]s[%d]s[%d]s[%d]s[%d]s[%d]s[%d]s[%d]s[%d]", GEO_MAX_COUNTRY_NAME_LENGTH,GEO_MAX_COUNTRY_CODE_LENGTH,GEO_MAX_REGION_CODE_LENGTH, GEO_MAX_REGION_NAME_LENGTH,GEO_MAX_CITY_NAME_LENGTH,GEO_MAX_DISTRICT_NAME_LENGTH, GEO_MAX_LAT_LON_LENGTH,GEO_MAX_LAT_LON_LENGTH,GEO_MAX_TIMEZONE_NAME_LENGTH, GEO_MAX_PROVIDER_NAME_LENGTH,GEO_MAX_MOBILE_STATUS_LENGTH,GEO_MAX_PROXY_LENGTH); // для каждоый переменной свой размер sscanf(data, str_scanf,player_geo[player_country],player_geo[player_country_code], player_geo[player_region_code],player_geo[player_region], player_geo[player_city],player_geo[player_district], player_geo[player_lat],player_geo[player_lon], player_geo[player_timezone],player_geo[player_provider], player_geo[player_mobile_status],player_geo[player_proxy]); // вот теперь уже можно записывать } else { player_geo = player_geo_none; } return 1; }
  9. #define DIALOG_GIVEMONEY 1 CMD:givemoney(playerid) { ShowPlayerDialog(playerid, DIALOG_GIVEMONEY, DIALOG_STYLE_INPUT, "Выдача денег", "Введите сумму:", "Получить", "Закрыть" ); } public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) { if(dialogid == DIALOG_GIVEMONEY) { if(response) { new money = strval(inputtext); if(money <= 0) { ShowPlayerDialog(playerid, DIALOG_GIVEMONEY, DIALOG_STYLE_INPUT, "Выдача денег", "Сумма должна быть больше 0.\n\ Введите сумму:", "Получить", "Закрыть" ); } else { GivePlayerMoney(playerid, money); new text[16]; valstr(text, money); GameTextForPlayer(playerid, text, 2000, 1); } } } }
  10. @danya_white я сказал я автор мода или доработки?) @Andr213 архив перезалит
  11. Last week
  12. аааа как бд подключить та я для теста мод беру
  13. @coolgamer вывод данных переносите в p_geo_OnIpInformationRequested // #define GEO_MAX_IP_LENGTH (16 + 1) #define GEO_MAX_COUNTRY_CODE_LENGTH (4 + 1) #define GEO_MAX_COUNTRY_NAME_LENGTH (32 + 1) #define GEO_MAX_REGION_CODE_LENGTH (6 + 1) #define GEO_MAX_REGION_NAME_LENGTH (32 + 1) #define GEO_MAX_CITY_NAME_LENGTH (32 + 1) #define GEO_MAX_DISTRICT_NAME_LENGTH (64 + 1) #define GEO_MAX_LAT_LON_LENGTH (12 + 1) #define GEO_MAX_TIMEZONE_NAME_LENGTH (64 + 1) #define GEO_MAX_PROVIDER_NAME_LENGTH (32 + 1) #define GEO_MAX_MOBILE_STATUS_LENGTH (5 + 1) #define GEO_MAX_PROXY_LENGTH (5 + 1) enum e_PLAYER_GEO_INFO { player_country_code[GEO_MAX_COUNTRY_CODE_LENGTH], player_country[GEO_MAX_COUNTRY_NAME_LENGTH], player_region_code[GEO_MAX_REGION_CODE_LENGTH], player_region[GEO_MAX_REGION_NAME_LENGTH], player_district[GEO_MAX_DISTRICT_NAME_LENGTH], player_city[GEO_MAX_CITY_NAME_LENGTH], player_lat[GEO_MAX_LAT_LON_LENGTH], player_lon[GEO_MAX_LAT_LON_LENGTH], player_timezone[GEO_MAX_TIMEZONE_NAME_LENGTH], player_provider[GEO_MAX_PROVIDER_NAME_LENGTH], player_mobile_status[GEO_MAX_MOBILE_STATUS_LENGTH], player_proxy[GEO_MAX_PROXY_LENGTH] }; new player_geo_none[e_PLAYER_GEO_INFO] = { "None", "None", "None", "None", "None", "None", "None", "None", "None", "None", "None", "None" }, player_geo[e_PLAYER_GEO_INFO], player_geo_ip[GEO_MAX_IP_LENGTH]; #define GetIpCountryCode(%0) player_geo[player_country_code] #define GetIpCountry(%0) player_geo[player_country] #define GetIpRegionCode(%0) player_geo[player_region_code] #define GetIpRegion(%0) player_geo[player_region] #define GetIpCity(%0) player_geo[player_city] #define GetIpDistrict(%0) player_geo[player_district] #define GetIpLatitude(%0) player_geo[player_lat] #define GetIpLongtitude(%0) player_geo[player_lon] #define GetIpTimeZone(%0) player_geo[player_timezone] #define GetIpProvider(%0) player_geo[player_provider] #define GetIpMobileStatus(%0) player_geo[player_mobile_status] #define GetIpProxyStatus(%0) player_geo[player_proxy] // #define GEO_IP_INFO_DETECT_URL_PISKA "ip-api.com/csv/" #define GEO_IP_INFO_DETECT_URL_FIELDS "?fields=721887" #define GEO_MAX_IP_LENGTH (16 + 1) CMD:ipinfo(playerid, params[]) { //if(p_info[playerid][admin]<5)return 0; //if(ADuty[playerid]!=228) return SendClientMessage(playerid,COLOR_GREY,NO_DUTY_TEXT); //new dialog_string[512]; new request[128]; if(sscanf(params, "d",params[0]) ) return 1; //GetPlayerIp( params[0] , params , 16 ) ; strcat(request, GEO_IP_INFO_DETECT_URL_PISKA); strcat(request, p_t_info [ params [ 0 ] ] [ p_reg_ip ] ); strcat(request, GEO_IP_INFO_DETECT_URL_FIELDS); print(request); HTTP(playerid, HTTP_GET, request, "", "p_geo_OnIpInformationRequested"); //переделаю потом чтобы показывало инфу о регистрационном айпи return 1; } forward p_geo_OnIpInformationRequested(playerid, response_code, data[]); public p_geo_OnIpInformationRequested(playerid, response_code, data[]) { if(response_code == 200) { sscanf(data, "p<,>s[64]s[64]s[64]s[64]s[64]s[64]s[64]s[64]s[64]s[64]s[64]s[64]", player_geo[player_country], player_geo[player_country_code], player_geo[player_region_code], player_geo[player_region], player_geo[player_city], player_geo[player_district], player_geo[player_lat], player_geo[player_lon], player_geo[player_timezone], player_geo[player_provider], player_geo[player_mobile_status], player_geo[player_proxy]); } else { player_geo = player_geo_none; } new dialog_string[512]; format(dialog_string, sizeof(dialog_string), "{FFFFFF}Проверка IP: {ff9300} {FFFFFF}\n\n\ Страна: {ff9300}%s{FFFFFF}\n\ Город: {ff9300}%s{FFFFFF}\n\ Регион: {ff9300}%s{FFFFFF}", //params[0], player_geo[player_country], player_geo[player_city], player_geo[player_region]); return show_dialog(playerid, 0, DIALOG_STYLE_MSGBOX, !"Информация об IP-адресе", dialog_string, !"Закрыть", ""); }
  14. "Автор доработки: akatsuji" - ты просто гений.. "Имеются участки блевотного кода, новичкам не советую брать данный мод" - Что же ты чудо скриптер не исправил блювотный код, навыков не хватило?)
  15. @hokageud всмысле стоило покупать мод?
  16. @Игорь5878 понятия не имею, стоило покупать мод
  17. @hokageud как я понял инвентарь на тестдраве только скелет, он не взаимодействует ещё, не чего в него не добавляется и и.д
  18. Кароче я сделал команду ipinfo (получение инфы о IP - адресе) переделав немного инклуд playergeolocation (чтобы показывало инфу о регистрационном айпи а не текущем) Когда ввожу команду, оно показывает диалог без инфы, а когда пишу команду второй раз, то уже показывает инфу. и еще в консоле появляется вот это: [12:32:08] sscanf warning: String buffer overflow. // #define GEO_MAX_IP_LENGTH (16 + 1) #define GEO_MAX_COUNTRY_CODE_LENGTH (4 + 1) #define GEO_MAX_COUNTRY_NAME_LENGTH (32 + 1) #define GEO_MAX_REGION_CODE_LENGTH (6 + 1) #define GEO_MAX_REGION_NAME_LENGTH (32 + 1) #define GEO_MAX_CITY_NAME_LENGTH (32 + 1) #define GEO_MAX_DISTRICT_NAME_LENGTH (64 + 1) #define GEO_MAX_LAT_LON_LENGTH (12 + 1) #define GEO_MAX_TIMEZONE_NAME_LENGTH (64 + 1) #define GEO_MAX_PROVIDER_NAME_LENGTH (32 + 1) #define GEO_MAX_MOBILE_STATUS_LENGTH (5 + 1) #define GEO_MAX_PROXY_LENGTH (5 + 1) enum e_PLAYER_GEO_INFO { player_country_code[GEO_MAX_COUNTRY_CODE_LENGTH], player_country[GEO_MAX_COUNTRY_NAME_LENGTH], player_region_code[GEO_MAX_REGION_CODE_LENGTH], player_region[GEO_MAX_REGION_NAME_LENGTH], player_district[GEO_MAX_DISTRICT_NAME_LENGTH], player_city[GEO_MAX_CITY_NAME_LENGTH], player_lat[GEO_MAX_LAT_LON_LENGTH], player_lon[GEO_MAX_LAT_LON_LENGTH], player_timezone[GEO_MAX_TIMEZONE_NAME_LENGTH], player_provider[GEO_MAX_PROVIDER_NAME_LENGTH], player_mobile_status[GEO_MAX_MOBILE_STATUS_LENGTH], player_proxy[GEO_MAX_PROXY_LENGTH] }; new player_geo_none[e_PLAYER_GEO_INFO] = { "None", "None", "None", "None", "None", "None", "None", "None", "None", "None", "None", "None" }, player_geo[e_PLAYER_GEO_INFO], player_geo_ip[GEO_MAX_IP_LENGTH]; #define GetIpCountryCode(%0) player_geo[player_country_code] #define GetIpCountry(%0) player_geo[player_country] #define GetIpRegionCode(%0) player_geo[player_region_code] #define GetIpRegion(%0) player_geo[player_region] #define GetIpCity(%0) player_geo[player_city] #define GetIpDistrict(%0) player_geo[player_district] #define GetIpLatitude(%0) player_geo[player_lat] #define GetIpLongtitude(%0) player_geo[player_lon] #define GetIpTimeZone(%0) player_geo[player_timezone] #define GetIpProvider(%0) player_geo[player_provider] #define GetIpMobileStatus(%0) player_geo[player_mobile_status] #define GetIpProxyStatus(%0) player_geo[player_proxy] // #define GEO_IP_INFO_DETECT_URL_PISKA "ip-api.com/csv/" #define GEO_IP_INFO_DETECT_URL_FIELDS "?fields=721887" #define GEO_MAX_IP_LENGTH (16 + 1) CMD:ipinfo(playerid, params[]) { if(PlayerInfo[playerid][pAdmin]<5)return 0; if(ADuty[playerid]!=228) return SendClientMessage(playerid,COLOR_GREY,NO_DUTY_TEXT); new dialog_string[512]; new request[128]; strcat(request, GEO_IP_INFO_DETECT_URL_PISKA); strcat(request, params[0]); strcat(request, GEO_IP_INFO_DETECT_URL_FIELDS); HTTP(playerid, HTTP_GET, request, "", "p_geo_OnIpInformationRequested"); //переделаю потом чтобы показывало инфу о регистрационном айпи format(dialog_string, sizeof(dialog_string), "{FFFFFF}Проверка IP: {ff9300}%s{FFFFFF}\n\n\ Страна: {ff9300}%s{FFFFFF}\n\ Город: {ff9300}%s{FFFFFF}\n\ Регион: {ff9300}%s{FFFFFF}", params[0], GetIpCountry(params[0]), GetIpCity(params[0]), GetIpRegion(params[0])); return ShowPlayerDialogEx(playerid, 0, DIALOG_STYLE_MSGBOX, !"Информация об IP-адресе", dialog_string, !"Закрыть", ""); } forward p_geo_OnIpInformationRequested(playerid, response_code, data[]); public p_geo_OnIpInformationRequested(playerid, response_code, data[]) { if(response_code == 200) { sscanf(data, "p<,>s[64]s[64]s[64]s[64]s[64]s[64]s[64]s[64]s[64]s[64]s[64]s[64]", player_geo[player_country], player_geo[player_country_code], player_geo[player_region_code], player_geo[player_region], player_geo[player_city], player_geo[player_district], player_geo[player_lat], player_geo[player_lon], player_geo[player_timezone], player_geo[player_provider], player_geo[player_mobile_status], player_geo[player_proxy]); } else { player_geo = player_geo_none; } return 1; }
  19. @Игорь5878 по багами и доработкам не скажу, тут надо смотреть и проверять насчёт инвентаря: собрать бд, сохранение, загрузка, дроп, и возможно что-то ещё
  20. Инвентарь на тестдраве не полностью готов? Есть что-то по багам? что-то доработать нужно?
  1. Load more activity