Перейти к содержанию

Поиск сообщества

Показаны результаты для тегов 'уроки crmp'.

  • Поиск по тегам

    Введите теги через запятую.
  • Поиск по автору

Тип контента


Форумы

  • Информационный раздел
    • Новости портала
    • Техническая поддержка
    • Приватный форум
  • CRMP 0.3е
    • Помощь по Скриптингу
    • Ошибки
    • Готовые сервера
    • Дополнительные скрипты
    • Мануалы/Уроки
    • Модификации
    • Поиск
    • Архив Вопросов/Проблем/Ошибок
    • Файловый архив
    • Другое
  • SAMP/CRMP 0.3.7
    • Помощь по Скриптингу
    • Ошибки
    • Готовые сервера
    • Плагины
    • Поиск
    • Документация
  • Другое
    • Флейм

Поиск результатов в...

Поиск результатов, которые содержат...


Дата создания

  • Начало

    Конец


Дата обновления

  • Начало

    Конец


Фильтр по количеству...

Найдено: 180 результатов

  1. Rici

    Названия улиц

    Название районов пишется под радаром в нижнем левом углу в виде TextDraw`a. Если место зоны неизвестно - пишет "Неизвестно". Каким макаром вписывать координаты, объясню в конце урока. Ко всем глобальным переменным: new Text:TDZona[MAX_PLAYERS]; enum ZoneInfo { Float:zMin_x, Float:zMin_y, Float:zMax_x, Float:zMax_y, zName[30] }; new ZoneName[][ZoneInfo] = { {1722.9976, 2243.8809, 1800.4734, 2314.0176, "Автобаза"},//Оставил просто для примера {1906.2468, 2219.3777, 1944.9504, 2253.3904, "Автошкола"}//Оставил просто для примера }; В public OnPlayerConnect TDZona[playerid] = TextDrawCreate(10.000000, 427.000000, "-"); TextDrawBackgroundColor(TDZona[playerid], 1182971135); TextDrawFont(TDZona[playerid], 1); TextDrawLetterSize(TDZona[playerid], 0.500000, 1.600000); TextDrawColor(TDZona[playerid], -520093697); TextDrawSetOutline(TDZona[playerid], 1); TextDrawSetProportional(TDZona[playerid], 1); В public OnPlayerDisconnect TextDrawDestroy(TDZona[playerid]); В public OnPlayerSpawn TextDrawShowForPlayer(playerid, TDZona[playerid]); В секундный таймер или в public OnPlayerUpdate (лучше в секундный) UpdateZonaPlayer(playerid); В конец мода forward UpdateZonaPlayer(playerid); public UpdateZonaPlayer(playerid) { new Float:coord[3]; GetPlayerPos(playerid, coord[0], coord[1], coord[2]); for(new z = 0; z != sizeof(ZoneName); z ++) { if((coord[0] <= ZoneName[z][zMax_x] && coord[0] >= ZoneName[z][zMin_x]) && (coord[1] <= ZoneName[z][zMax_y] && coord[1] >= ZoneName[z][zMin_y])) { TextDrawSetString(TDZona[playerid], ZoneName[z][zName]); break; } else { TextDrawSetString(TDZona[playerid], "Неизвестно"); } } return 1; } Как добавлять свои координаты? Координаты нужно снимать в виде квадрата. Для этого нужно снять в левом верхнем углу, это будет min_x, min_y и в правом нижнем углу, это будет max_x, max_y. Аналогично как и с функцией PlayerToKvadrat. Координаты вписывайте внимательно, смотрите какая X и Y меньше или больше. В массиве ZoneName идет с минимальной к максимальной. Т.е сначало две минимальные координаты, а потом две максимальные. Это был весь кому нужно тот возмет. Автор: Amfy
  2. Всем привет пользователи GSG сегодня хочу вам показать анти чит на деньги,давайте начнем Ко всем include добавляем: И так ко всем include #include <a_samp> Затем ко всем new: new Money[MAX_PLAYERS]; Ко всем forward: forward Loshadka(); Создаем новый паблик: public Loshadka() { for(new i =0;i<MAX_PLAYERS;i++) { if(GetPlayerMoney(i) != Money[i]) { GivePlayerMoney(i,Money[i]-GetPlayerMoney(i)); //SendClientMessage(i,0xFEFEFEFF,"Не шали с читами тута"); } } } stock ResetPlMon(playerid) { Money[playerid] =0; GivePlayerMoney(playerid,0-GetPlayerMoney(playerid)); return 1; } stock GiveMoney(playerid,a) { Money[playerid] += a; GivePlayerMoney(playerid,a); return 1; } Вот урок окончен,может пригодится. Автор - Jockey
  3. Идея: Если авто игрока сломано, скрипт не даст разогнаться быстрее 50 км/ч (регулируется) Реализация: Измеряется скорость по осям X и Y, если замечаем превышение скорости замедляем транспортное средство. Особенности: Используется оптимизированная версия без тригонометрии чтобы сильно не нагружать процессор. В ней имеется недостаток который заключается в том что предельная скорость в направлениях СВ, ЮВ, ЮЗ, СЗ будет больше максимальной, но не более чем на 30%. Также стоит отметить что нет проверки на тип транспортного средства. Ко всем дефайнам: #define BE_MIN_HLS 500.00 // здоровье ниже которого машина считается сломанной #define BE_MAX_SPD_VAR 50 // максимальная скорость, можно изменять #define BE_MAX_SPD BE_MAX_SPD_VAR*0.005 Ко всем глобальным переменным: new const BE_Bad_Vehs[] = {460, 464, 476, 511, 512, 513, 519, 520, 539, 553, 577, 592, 593, // planes 417, 425, 447, 465, 469, 487, 488, 497, 501, 548, 563 // heli }; new bool: BE_Play_Check[MAX_PLAYERS]; В конец мода: forward BadEngine();public BadEngine() { new veh, Float:spd[3], Float:hls; for(new i; i != GetMaxPlayers(); i++) { if( !BE_Play_Check[i] ) { continue; } veh = GetPlayerVehicleID( i ); if( !veh ) { continue; } GetVehicleHealth( veh, hls ); if( hls > BE_MIN_HLS ) { continue; } GetVehicleVelocity( veh, spd[0], spd[1], spd[2] ); if( floatabs(spd[0]) > floatabs(spd[1]) ) { if( floatabs(spd[ 0 ]) > BE_MAX_SPD ) { hls = BE_MAX_SPD / floatabs(spd[ 0 ]); SetVehicleVelocity( veh, spd[0]*hls, spd[1]*hls, spd[2] ); } } else { if( floatabs(spd[ 1 ]) > BE_MAX_SPD ) { hls = BE_MAX_SPD / floatabs(spd[ 1 ]); SetVehicleVelocity( veh, spd[0]*hls, spd[1]*hls, spd[2] ); } } } } В public OnPlayerStateChange if( newstate == PLAYER_STATE_DRIVER ){ new temp; temp = GetVehicleModel( GetPlayerVehicleID( playerid ) ); BE_Play_Check[ playerid ] = true; for(new i; i != sizeof( BE_Bad_Vehs ); i++ ) { if( temp == BE_Bad_Vehs[ i ] ) { BE_Play_Check[ playerid ] = false; break; } } } if( oldstate == PLAYER_STATE_DRIVER ) { BE_Play_Check[ playerid ] = false; } В public OnGameModeInit SetTimer("BadEngine", 500, true); Автор: OFFREAL
  4. Rici

    Анти ДБ

    Ко всем глобальным переменным: new bool:JustSat[MAX_PLAYERS]; В public OnPlayerStateChange(playerid, newstate, oldstate) if(newstate == PLAYER_STATE_DRIVER) { JustSat[playerid] = true; SetTimerEx("SetJustSat", 5000, 0, "i", playerid); } В public OnPlayerDeath(playerid, killerid, reason) if(reason == 50) // 50 - убит лопастями вертолета (Helicopter Blades) { new Games[256]; if(GetPlayerState(killerid) == PLAYER_STATE_DRIVER && !JustSat[killerid]) //если игрок на водительском месте { new Float:Vel[3]; GetVehicleVelocity(GetPlayerVehicleID(killerid), Vel[0], Vel[1], Vel[2]); if(Vel[0] == 0 && Vel[1] == 0 && Vel[2] == 0) { format(Games,sizeof(Games),"%s прыгнул на винты игроку %s!",PlayerName(playerid),PlayerName(killerid)); SendClientMessageToAll(0xAFAFAFAA,Games); SendClientMessage(playerid,0xAFAFAFAA,"На нашем сервере запрещено прыгать на винты!"); //думаю, соообщения достаточно, хотя можете использовать и другое наказание } else { format(Games,sizeof(Games),"%s убил лопастями вертолета игрока %s",PlayerName(killerid),PlayerName(playerid)); SendClientMessageToAll(0xAFAFAFAA,Games); Kick(killerid); //наказываем игрока, можете заменить посадкой в тюрьму или просто выводом сообщения } } } В конец мода добавить: forward SetJustSat(playerid); public SetJustSat(playerid) { JustSat[playerid] = false; return 1; } Это был весь урок.Спасибо за Внимания Автор Games
  5. В этом туториале я покажу вам,как искать пропущенную скобку. Нам потребуется: ActivePerl ссылка Скрипт Brackets ссылка Устанавливаем ActivePerl, затем открываем архив со скриптом Brackets и содержимое папки perl в архиве,переносим в папу Perl,которая создалась при установке ActivePerl. Теперь как проверить мод: Берём мод(Именно исходник[.pwn]) и кидаем его в папку Perl.После этого открываем GUI в папке Perl.В левом верхнем углу мы наблюдаем кнопку "Open File" и указываем путь до нашего исходника,после того как вы указали путь,он просканирует ваш мод и покажет вам: Кол-во закрытых скобок Кол-во открытых скобок Если где-то недостаёт какой-либо скобки,он покажет в каком месте. Автор: мне не известен.
  6. Здравствуйте хочу вам представить работу,Создания часов,которая показывает время и секунды,Text Draw,над ХП. Начнем. Шаг первый. Ко всем New. new Text:Times; new Text:lbt; new Text:lbb; Шаг второй. Далее к forward. forward settime(playerid); Шаг третий. Опять к всем New. new text:textdraw0; Шаг четвертый. Продолжим,далее ищем public OnPlayerConnect(playerid) вставляем туда. TextDrawShowForPlayer(playerid,Text:Times); TextDrawShowForPlayer(playerid,Text:textdraw0); Шаг пятый. Ищем public OnGameModeInit() вставляем туда SetTimer("settime",1000,true); Times = TextDrawCreate(547.000000,23.000000,"--"); TextDrawLetterSize(Times,0.399999,2.000000); TextDrawFont(Times,3); TextDrawColor(Times,0xffffffff); SetTimer("settime",1000,true); DisableInteriorEnterExits(); EnableStuntBonusForAll(0); ManualVehicleEngineAndLights(); lbt = TextDrawCreate(-1.000000,2.000000,"---"); lbb = TextDrawCreate(0.000000,337.000000,"---"); TextDrawUseBox(lbt,1); TextDrawBoxColor(lbt,0x000000ff); TextDrawTextSize(lbt,640.000000,-69.000000); TextDrawUseBox(lbb,1); TextDrawBoxColor(lbb,0x000000ff); TextDrawTextSize(lbb,638.000000,-60.000000); TextDrawAlignment(lbt,0); TextDrawAlignment(lbb,0); TextDrawBackgroundColor(lbt,0x000000ff); TextDrawBackgroundColor(lbb,0x000000ff); TextDrawFont(lbt,3); TextDrawLetterSize(lbt,1.000000,12.199999); TextDrawFont(lbb,3); TextDrawLetterSize(lbb,0.899999,15.000000); TextDrawColor(lbt,0x000000ff); TextDrawColor(lbb,0x000000ff); TextDrawSetOutline(lbt,1); TextDrawSetOutline(lbb,1); TextDrawSetProportional(lbt,1); TextDrawSetProportional(lbb,1); TextDrawSetShadow(lbt,1); TextDrawSetShadow(lbb,1); Ну и последний шаг.В конец мода создаем паблик. public settime(playerid) { new string[256],year,month,day,hours,minutes,seconds; getdate(year, month, day), gettime(hours, minutes, seconds); format(string, sizeof string, "%s%d:%s%d:%s%d", (hours < 10) ? ("0") : (""), hours, (minutes < 10) ? ("0") : (""), minutes, (seconds < 10) ? ("") : (""), seconds); TextDrawSetString(Times, string); }
  7. Здравствуйте, уважаемые пользователи форума. Допустим, у Вас на сервере есть какая-либо дыра, которую Вы не можете исправить, или же, просто не подозреваете о её существовании. У меня лично была такая проблема, я долго искал решение проблемы и наткнулся на такую систему и решил поделиться с вами. Подробнее: смысл системы в том, что у каждого Администратора свой пароль. Вероятность того что вам навредят при взломе сервера уменьшается в несколько раз! Ко всем new добавьте: new AdminLoggining[MAX_PLAYERS]; Теперь нам нужно придумать пароль. Для каждого администратора отдельный пароль. Для этого создаем в ../scriptfiles файлик adminpasses.ini. Содержимое файлика: ник = пароль Теперь создаем непосредственно команду логина в админ-панель. if(strcmp(cmd,"/logininadminpanel",true)==0 || strcmp(cmd,"/liapl",true)==0) { if(PlayerInfo[playerid][pAdmin] > 0) { ShowPlayerDialog(playerid,16726,DIALOG_STYLE_INPUT,"Администраторская панель. Авторизация","Введите Ваш персональный администраторский пароль в окошко\nВам дается 3 попытки.","Принять","Отмена"); } } Теперь к диалогам добавляем if(dialogid == 16726)//Если верный ид диалога { if(response)//И если соглашено { new AdminName[32]; GetPlayerName(playerid,AdminName,sizeof(AdminName));//Берем имя new namefile[20]; new pass; format(namefile,sizeof(namefile),"%s",AdminName); new string[128]; new iniOpen = ini_openFile("adminpasses.ini"); ini_setInteger(iniOpen,namefile,pass);//забираем пасс ini_closeFile(iniOpen); if(pass == 0) return 0; //Если пасса не забрали, то отключаем new chanse; new passs = strval(inputtext);//забираем введенное if(passs == pass) { SendClientMessage(playerid,COLOR_LIGHTRED,"Вы успешно залогинились в системе!"); AdminLoggining[playerid] = 1;//врубаем переменную догининга } else { if(chanse != 3) { SendClientMessage(playerid,COLOR_FADE1,"Вы ввели неверный пароль! Администрация оповещена."); format(string,sizeof(string),"%s ввел неверный пароль при логиннинге в адм-панель.",AdminName); SendAdminMessage(0x10F441AA, string); chanse++; } if(chanse == 3) { SendClientMessage(playerid,COLOR_FADE1,"Вы забанены за подбор пароля"); Ban(playerid); } } } } В public OnPlayerDisconnect(playerid, reason) добавьте AdminLoggining[playerid] = 0; А в командах администратора вставляем: if(AdminLoggining[playerid] != 1) return SendClientMessage(playerid,COLOR_FADE1,"Вы не залогинились ((/liap))"); На этом все. Таким способом мы обезопасим сервер от школьников типа Fedya_Chy и т.п. Автор John_Smith&Cliffka
  8. #JokeStar

    [C.M.D] /gg (SAMP)

    Здравствуйте! Сегодня хочу представить команду /gg ! Для чего она нужна? Чтобы много времени не терять просто достаточно ввести команду а там уже поймёте ! Команду взял с 1 паблика ! CMD:gg(playerid) { if(PlayerInfo[playerid][pAdmin] < 1) return SendClientMessae(playerid, -1, "Неизвестная команда. Используйте: /mm > Команды сервера"); new nsa[100]; GetPlayerName(playerid, nsa, 24); foreach(new i:Player) { if(i != playerid) { format(nsa, sizeof(nsa), "Ответ от администратор %s[%d]: Желаю тебе приятной игры на нашем сервере! Спасибо что ты с нами :)", nsa, playerid); SendClientMessage(i,0x99FF33aa,nsa); } } return 1; } Спасибо за внимание
  9. Всем здравствуйте. Ко public OnPlayerConnect // if(!IsRPNick(playerid)) { SendClientMessage(playerid,0xFF0000FF,"[Сервер]: Извините, но у Вас никнейм, который не подходит формату RP Имени. "); SendClientMessage(playerid,0xFF0000FF,"[Сервер]: Измените ваш никнейм в клиенте CR:MP на RP имя и попробуйте зайти еще раз."); SendClientMessage(playerid,0xFF0000FF,"[Сервер]: Если этого сообщение повторно не будет, значит вы ввели все верно!"); SendClientMessage(playerid,0xFF0000FF,"[Подсказка]:Пример RP имени: Ivan_Ivanov."); Kick(playerid); return true; } ко stock stock IsRPNick(playerid) { new plname[MAX_PLAYER_NAME]; GetPlayerName(playerid, plname, MAX_PLAYER_NAME); for(new i=0;i<strlen(plname);i++) { if( !((plname[i]>='a'&&plname[i]<='z') || (plname[i]>='A'&&plname[i]<='Z') || plname[i]=='_')) { return false; // недопустимые символы в нике } } new d = strfind(plname, "_"); if( d==-1 ) return false; // нет_ в нике if(strfind(plname, "_", false, d+1) != -1) return false; // больше одного _ в нике new name[10]; strmid(name, plname, 0, d, sizeof name); new surname[10]; strmid(surname, plname, d+1, strlen(plname), sizeof surname); if(strlen(name)<3 || strlen(name)>9) return false; // неверная длина имени if(strlen(surname)<3 || strlen(surname)>9) return false; // неверная длина фамилии if(!(name[0]>='A' && name[0]<='Z')) return false; // первая буква в имени не заглавная if(!(surname[0]>='A' && surname[0]<='Z')) return false; // первая буква в фамилии не заглавная for(new i=1;i<strlen(name);i++) { if(!(name[i]>='a'&&name[i]<='z')) return false; // неверные буквы в имени } for(new i=1;i<strlen(surname);i++) { if(!(surname[i]>='a'&&surname[i]<='z'))return false; // неверные буквы в фамилии } return true;// ok } P.S Вырезал с геймера новичкам пригодится.
  10. И так увжаемые пользыватели форума , я выложу урок как сделать заморозку в инте,, чтоб игрок не падал под инт. Такая проблема возникает когда инт на стримере стойт вообщем начинаем. Первое в Паблики OnPlayerSpawn SetPlayerSpawn OnPlayerPickUpPickup добавим в начало Frez(playerid);// замораживает игрока при появление в инте. и в самый конец добавим сам сток и паблик который отвечает за разморозку и заморозку. stock Frez(playerid) { TogglePlayerControllable(playerid, 0);// замараживаем игрока SetTimerEx("unFrez",3000,0,"%d",playerid);// время через которое разморозим } forward unFrez(playerid); public unFrez(playerid) TogglePlayerControllable(playerid, 1);// разморозка Вот и все. Автор: Longer(Artem_Storn)
  11. Приветствую.Данный код подойдёт совершенно для любого мода, если конечно правильно его вставить Ко всем new добавить: new bool:Offer[MAX_PLAYERS] = false; В public OnPlayerCommandText(playerid, cmdtext[]) if(strcmp(cmd, "/givemygun", true) == 0) { tmp = strtok(cmdtext, idx); if(!strlen(tmp)) return SendClientMessage(playerid,-1,"ИНФО: /givemygun [ID]"); new ID = strval(tmp); if(ID == playerid) return SendClientMessage(playerid,-1,"Вы не можете передать оружие самому себе!"); if(!IsPlayerConnected(ID)) return SendClientMessage(playerid,-1,"Игрок оффлайн!"); if(GetPlayerWeapon(playerid) == 0) return SendClientMessage(playerid,-1,"У вас нет оружия в руках!"); new Float:pos[3]; GetPlayerPos(ID, pos[0], pos[1], pos[2]); if(!IsPlayerInRangeOfPoint(playerid, 1.2, pos[0], pos[1], pos[2])) return SendClientMessage(playerid,-1,"Вы далеко от этого игрока!"); new nickplayer1[MAX_PLAYER_NAME], nickplayer2[MAX_PLAYER_NAME], sg[90]; GetPlayerName(playerid, nickplayer1, sizeof(nickplayer1)); GetPlayerName(ID, nickplayer2, sizeof(nickplayer2)); SetPVarInt(ID, "Gun", GetPlayerWeapon(playerid)); SetPVarInt(ID, "Ammo", GetPlayerAmmo(playerid)); SetPVarInt(ID, "IDplayer", playerid); SetPVarString(ID, "Nick1", nickplayer1); SetPVarString(ID, "Nick2", nickplayer2); format(sg, 70, "Вы предложили %s оружие которое у вас в руках.", nickplayer2); SendClientMessage(playerid, -1, sg); format(sg, 90, "%s предлагает вам оружие. Клавиша: Y - согласиться, N - отказаться.", nickplayer1); SendClientMessage(ID, -1, sg); Offer[ID] = true; return 1; } В public OnPlayerKeyStateChange(playerid, newkeys, oldkeys) if(newkeys == KEY_YES) { if(Offer[playerid] == true) { new getnick1[MAX_PLAYER_NAME], getnick2[MAX_PLAYER_NAME], sg[45]; GetPVarString(playerid, "Nick1", getnick1, sizeof(getnick1)); GetPVarString(playerid, "Nick2", getnick2, sizeof(getnick2)); format(sg, sizeof(sg), "Вы передали оружие %s", getnick2); SendClientMessage(GetPVarInt(playerid, "IDplayer"), -1, sg); format(sg, sizeof(sg), "Вы взяли оружие у %s", getnick1); SendClientMessage(playerid, -1, sg); RemovePlayerWeapon(GetPVarInt(playerid, "IDplayer"), GetPVarInt(playerid, "Gun")); GivePlayerWeapon(playerid, GetPVarInt(playerid, "Gun"), GetPVarInt(playerid, "Ammo")); DeletePVar(playerid, "Gun"); DeletePVar(playerid, "Ammo"); DeletePVar(playerid, "IDplayer"); DeletePVar(playerid, "Nick1"); DeletePVar(playerid, "Nick2"); Offer[playerid] = false; return 1; } } if(newkeys == KEY_NO) { if(Offer[playerid] == true) { new getnick1[MAX_PLAYER_NAME], getnick2[MAX_PLAYER_NAME], sg[60]; GetPVarString(playerid, "Nick1", getnick1, sizeof(getnick1)); GetPVarString(playerid, "Nick2", getnick2, sizeof(getnick2)); format(sg, sizeof(sg), "%s отказался принимать ваше оружие", getnick2); SendClientMessage(GetPVarInt(playerid, "IDplayer"), -1, sg); format(sg, sizeof(sg), "Вы отказались принимать оружие от %s", getnick1); SendClientMessage(playerid, -1, sg); DeletePVar(playerid, "Gun"); DeletePVar(playerid, "Ammo"); DeletePVar(playerid, "IDplayer"); DeletePVar(playerid, "Nick1"); DeletePVar(playerid, "Nick2"); Offer[playerid] = false; return 1; } } Если у вас ошибка error 017: undefined symbol "RemovePlayerWeapon", то добавьте в конец мода следующий код.
  12. Dmitriy Toporov

    Потребность сна

    1.В начале мода ко всем new добавляем: new psleep[MAX_PLAYERS]; // переменная отвечающая за сессию игрока 2.Создаём forward для будущего паблика (требует таймер): forward UpdateSleep(playerid); // наш форвард (для паблика) 3.Создаём наш public, вне других public'oв: public UpdateSleep(playerid) { // паблик упдейта потребностей if(psleep[playerid] == 0) { psleep[playerid] = 1; return 1; } if(psleep[playerid] == 1) { psleep[playerid] = 2; return 1; } if(psleep[playerid] == 2) { psleep[playerid] = 3; return 1; } if(psleep[playerid] == 3) { psleep[playerid] = 4; return 1; } if(psleep[playerid] == 4) { psleep[playerid] = 5; return 1; } if(psleep[playerid] == 5) { psleep[playerid] = 6; return 1; } if(psleep[playerid] == 6) { psleep[playerid] = 7; return 1; } if(psleep[playerid] == 7) { SendClientMessage(playerid, -1, "Внимание! У вас мало сил, вы очень устали! Вам нужно поспать!"); psleep[playerid] = 8; return 1; } if(psleep[playerid] == 8) { SendClientMessage(playerid, -1, "Внимание! У вас мало сил, вы очень устали! Вам нужно поспать!"); psleep[playerid] = 9; return 1; } if(psleep[playerid] == 9) { SendClientMessage(playerid, -1, "Внимание! У вас мало сил, вы очень устали! Вам нужно поспать!"); psleep[playerid] = 10; return 1; } if(psleep[playerid] == 10) { SendClientMessage(playerid, -1, "От усталости вы упали и уснули."); psleep[playerid] = 0; return 1; } return 1; } 4.В public OnGameModeInit вставляем наш таймер: SetTimer("UpdateSleep",300000,1); // Каждые пять минут добавляет 1 пункт усталости 5.Создаём места для сна: if (strcmp(cmd, "/sleep", true) == 0) { if (!PlayerToPoint(3.0, playerid, X,Y,Z )) { // вместо X,Y,Z вставляем координаты "кровати" SendClientMessage(playerid,-1,"Вы не на кровати!"); return 1; } if (psleep[playerid] <= 3) { // условие, если кол-во очков сна меньше или равно 3, то игрок не будет спать! SendClientMessage(playerid,-1,"Вы недавно спали, приходите позже!"); return 1; } SendClientMessage(playerid,-1,"Вы поспали Можете идти"); psleep[playerid] = 0; // сброс кол-ва очков усталости return 1; } Автор :
  13. Здравствуйте уважаемые пользователи GSG! Сегодня я решил вырезать команду на ПТС(Паспорт Транспортного средства) Для новичков думаю самое то! Вот сама команда. if(strcmp(cmd, "/tehpass", true) == 0) { tmp = strtok(cmdtext, idx); if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_WHITE, "[Подсказка]: /tehpass [id]"); giveplayerid = ReturnUser(tmp); if(IsPlayerConnected(giveplayerid)) { if(giveplayerid != INVALID_PLAYER_ID) { if (ProxDetectorS(8.0, playerid, giveplayerid)) { new str[128],sctring[2000]; new carid = GetPlayerVehicleID(playerid); format(str,sizeof(str),"{33CCFF}Зарегестрировано на: {ffffff}%s\n",CarInfo[GetRealID(carid)][cOwner]); strcat(sctring,str); format(str,sizeof(str),"{33CCFF}Марка транспорта: {ffffff}%s\n",VehiclesName[CarInfo[GetRealID(carid)][cMod]-400]); strcat(sctring,str); format(str,sizeof(str),"{33CCFF}Гос. рег. знак: {ffffff}%s\n",CarInfo[GetRealID(carid)][cNumber]); strcat(sctring,str); new lol[256]; format(lol,sizeof(lol),"[ПТС] Паспорт транспортного средства"); ShowPlayerDialog(giveplayerid,4567,DIALOG_STYLE_MSGBOX,lol,sctring,"Ок","Отмена"); GetPlayerName(playerid, sendername, sizeof(sendername)); format(string, sizeof(string), "Игрок %s: Показал свой Тех.Паспорт от Авто.", sendername); ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE); format(string,sizeof(string), "Показал свой Тех.Паспорт от Авто"); SetPlayerChatBubble(playerid,string,COLOR_PURPLE,30.0,10000); return true; } } } } P.S.Взято из мода GreenTech 7.5.2 Но пришлось переделывать под свой мод.Так как там были другие значения. Автор неизвестен Авторы мода Red_Devils, Vlad_Dredd, мапинг: Artem_Stetham
  14. И так многим интересно как сделать так чтобы где игрок вышел из игры,там же при входе он и появится. На эту тему я решил поискать немного информации,нашёл не плохой урок,от Extazy. Смотрите. И так первое что вам нужно добавить 3 переменных которые будут записываться в аккаунт пользователя. (!)Если у вас нет регистрации,ничего не выйдет! (!)Этот мануал написан для ГФ модов,но оптимизировать можно под что угодно,главное чтобы была регистрация. И так находим конструкцию enum pInfo в своём моде,и в конец добавляем Float:pCordX, Float:pCordY, Float:pCordZ, Далее в OnPlayerRegister добавляем строку format(var, 32, "CordinataX=%.1f\n",PlayerInfo[playerid][pCordX]);fwrite(hFile, var); format(var, 32, "CordinataX=%.1f\n",PlayerInfo[playerid][pCordY]);fwrite(hFile, var); format(var, 32, "CordinataX=%.1f\n",PlayerInfo[playerid][pCordZ]);fwrite(hFile, var); Поясняю: Тут мы делаем чтобы при создании аккаунта в него добавились нужные нам переменные. Далее в OnPlayerUpdate добавляем аналогичный код format(var, 32, "CordinataX=%.1f\n",PlayerInfo[playerid][pCordX]);fwrite(hFile, var); format(var, 32, "CordinataX=%.1f\n",PlayerInfo[playerid][pCordY]);fwrite(hFile, var); format(var, 32, "CordinataX=%.1f\n",PlayerInfo[playerid][pCordZ]);fwrite(hFile, var); Поясняю: Тут мы делаем чтобы переменные записывались в аккаунт И в OnPlayerLogin добавляем if( strcmp( key , "CordinataX" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pCordX] = strval( val ); } if( strcmp( key , "CordinataY" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pCordY] = strval( val ); } if( strcmp( key , "CordinataZ" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pCordZ] = strval( val ); } Поясняю: Тут мы извлекаем значение переменных из файла Далее в OnGameModeInit добавляем бесконечный таймер,который будет получать позиции игроков SetTimer("SavePlayerPos",1000,1); Далее создадим сам паблик public SavePlayerPos() { new Float:x,Float:y,Float:z; //используем цикл for(new i = 0;i , MAX_PLAYERS;i++) { GetPlayerPos(i,px,py,pz);//Получаем позицию игрока PlayerInfo[i][pCordX] = px;//записываем x PlayerInfo[i][pCordY] = py;//записываем y PlayerInfo[i][pCordZ] = pz;//записываем z } } И не забудьте добавить форвард,в начало кода Ну и наконец при спавне игрока,устанавливаем ему эти координаты. Это ставим в OnPlayerSpawn forward SavePlayerPos(); x = PlayerInfo[i][pCordX]; y = PlayerInfo[i][pCordY]; z = PlayerInfo[i][pCordZ]; SetPlayerPos(playerid, x,y,z);//Установим координаты из переменной SetPlayerFacingAngle(playerid, 360.0); В принципе можно убрать все спавны фракциям,и добавить условия только зарегистрирован или нет,и если нет то ставить другую позицию. Но это уже нюансы. Автор: Extazy.
  15. PROMO_4ka!™

    Смайлы, действия

    Всем привет. Выкладываю замену смайликов на действия. И так, начнем Ко всем new new string[32+MAX_PLAYER_NAME]; new sendername[MAX_PLAYER_NAME]; В public OnPlayerText(playerid, text[]) добавляем if(!strcmp(text,"xD",true))//команду можно поменять как захочется { GetPlayerName(playerid,sendername,sizeof(sendername)); format(string, sizeof(string), "%s смеётся", sendername); ApplyAnimation(playerid, "RAPPING", "Laugh_01", 4.0, 0, 0, 0, 0, 0); ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE); return 0; } if(!strcmp(text,"xDD",true))//команду можно поменять как захочется { GetPlayerName(playerid,sendername,sizeof(sendername)); format(string, sizeof(string), "%s ржет", sendername); ApplyAnimation(playerid, "RAPPING", "Laugh_01", 4.0, 0, 0, 0, 0, 0); ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE); return 0; } if(!strcmp(text,"xDDD",true))//команду можно поменять как захочется { GetPlayerName(playerid,sendername,sizeof(sendername)); format(string, sizeof(string), "%s валяется от смеха", sendername);// вы можете изменять как вам захочется, тоись %s смеется или как либо ApplyAnimation(playerid, "RAPPING", "Laugh_01", 4.0, 0, 0, 0, 0, 0);//анимация смеха ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE); return 0; } if(!strcmp(text,"(",true))//команду можно поменять как захочется { GetPlayerName(playerid,sendername,sizeof(sendername)); format(string, sizeof(string), "%s грустит", sendername);// вы можете изменять как вам захочется, тоись %s смеется или как либо ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE); return 0; } if(!strcmp(text,"чВ",true))//команду можно поменять как захочется { GetPlayerName(playerid,sendername,sizeof(sendername)); format(string, sizeof(string), "%s валяется от смеха", sendername);// вы можете изменять как вам захочется, тоись %s смеется или как либо ApplyAnimation(playerid, "RAPPING", "Laugh_01", 4.0, 0, 0, 0, 0, 0);//анимация смеха ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE); return 0; } if(!strcmp(text,")",true))//команду можно поменять как захочется { GetPlayerName(playerid,sendername,sizeof(sendername)); format(string, sizeof(string), "%s улыбается", sendername);// вы можете изменять как вам захочется, тоись %s смеется или как либо ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE); return 0; } if(!strcmp(text,":D",true))//команду можно поменять как захочется { GetPlayerName(playerid,sendername,sizeof(sendername)); format(string, sizeof(string), "%s хохочет во весь голос", sendername);// вы можете изменять как вам захочется, тоись %s смеется или как либо ApplyAnimation(playerid, "RAPPING", "Laugh_01", 4.0, 0, 0, 0, 0, 0);//анимация смеха ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE); return 0; } if(!strcmp(text,"xD",true))//команду можно поменять как захочется { GetPlayerName(playerid,sendername,sizeof(sendername)); format(string, sizeof(string), "%s хохочет во весь голос", sendername);// вы можете изменять как вам захочется, тоись %s смеется или как либо ApplyAnimation(playerid, "RAPPING", "Laugh_01", 4.0, 0, 0, 0, 0, 0);//анимация смеха ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE); return 0; } На этом все, думая вещь полезна! Автор: Hawkins
  16. Здравствуйте хочу представить вам мою работу.Простенький урок,думаю он пригодиться новичку. И так добавим ко всем forward forward Reklama(); Добавим в public OnGameModeInit() SetTimer("Reklama",90000,1); // Это время,можете заменить на свое. И создаем паблик. public Reklama() { SendClientMessageToAll(0x66ff00AA, "Лучший форум GSGAMES.RU/forum"); SendClientMessageToAll(0x66ff00AA, "Наш сайт GSGAMES.RU"); SendClientMessageToAll(0x66ff00AA, "Ждем вас!"); }
  17. Всем привет. Выкладываю урок по созданию ворот, которые будут открываться по кнопке. Для этого используется функция CreateObject Я для примера возьму ворота в Доках: CreateObject(969, 2720.3772,-2409.7523,12.6,0, 0.0000, 90);//Закрытые ворота CreateObject(969, 2720.3772,-2508.3069,12.6,0, 0.0000, 90);//Открытые ворота После этого вам нужно создать переменную., которая будет хранить в себе порядковый ID ворот. Ко всем new new gate1; Теперь создадим объект ворот на сервере В public OnGameModeInit засуньте строчку с функцией CreateObject gate1 = CreateObject(ид_объекта, x,y,z, поворот_x, поворот_y, поворот_z);// Укажите ваши данные о ЗАКРЫТЫХ воротаx Для простого примера я создам ворота в доках (координаты открытых и закрытых ворот смотрите выше) public OnGameModeInit() { gate1 = CreateObject(969, 2720.3772,-2409.7523,12.6,0, 0.0000, 90);//Если у вас есть этот public то просто вставте эту строчку с созданием объекта return 1; } Ворота созданы, но теперь их надо заставить двигаться в public OnPlayerCommandText if(!strcmp(cmdtext, "/opengate", true)) { if(IsPlayerInRangeOfPoint(playerid, 10, 2720.3772,-2409.7523,12.6))// Укажите координаты закрытых ворот, 10 - это радиус, где будет действовать открытие ворот { MoveDynamicObject(gate1,2720.3772, -2401.2523, 12.6, 2.0);//Двигаем ворота на позицию открытых ворот SetTimer("CloseGate1", 7000, false);//Создадим таймер что ворота закрылись автоматически } } Теперь создадим public чтоб ворота закрылись самостоятельно Ко всем foward forward CloseGate1(); В конец мода public CloseGate1() { MoveDynamicObject(gate1, 2720.3772,-2409.7523,12.6, 2.0);//Двигаем ворота на позицию закрытых ворот return 1; } Ворота созданы и вы теперь можете их открыть командой /opengate Теперь делаем открытие ворот кнопкой. В public OnPlayerKeyStateChange if(newkeys & KEY_WALK) // На кнопку АЛЬТ (alt) { if(IsPlayerInRangeOfPoint(playerid, 10, 2720.3772,-2409.7523,12.6))// Укажите координаты закрытых ворот, 10 - это радиус, где будет действовать открытие ворот { MoveDynamicObject(gate1,2720.3772, -2401.2523, 12.6, 2.0);//Двигаем ворота на позицию открытых ворот SetTimer("CloseGate1", 7000, false);//Создадим таймер что ворота закрылись автоматически } } На этом урок окончен. Всем спасибо за внимание! Помогал мне (автор): valuch
  18. Многие сталкивались с такой проблемой , что при создании модов с 0 у игроков в табе , в чате или на карте обозначаются ники разными цветами Решением этого , мне помогла одна унылая строчка :) В OnPlayerSpawn добавляем SetPlayerColor(playerid, 0xFFFFFFFF); //белый цвет , можно изменить на свой при желании :) Можно так-же это добавить в OnPlayerConnect , чтобы при коннекте не было цветных ников игроков в TAB'е Думаю многим это не помешает , многие это знали , но многие и нет :)
  19. Для того , чтобы "РП" чат работал , нам потребуется: Руки и паблик "OnPlayerText" В OnPlayerText вставляем следующее: new string[256]; new sendername[MAX_PLAYER_NAME]; GetPlayerName(playerid, sendername, sizeof(sendername)); format(string,sizeof string,"%s говорит: %s",sendername,text); new Float:xpos,Float:ypos,Float:zpos; GetPlayerPos(playerid,xpos,ypos,zpos); for(new i=0;i<MAX_PLAYERS;i++){ if(IsPlayerInRangeOfPoint(i,35,xpos,ypos,zpos)) SendClientMessage(i,0xFFFFFFFF,string); //на расстоянии "35" ваш текст будет видно , а также отсылаемые сообщения белого цвета return false;
  20. Komaroff 71

    Пулемёт на танке

    Добрый вечер,господа. Как-то раз видел вопрос,связанный с аттачем рабочего минигана к танку(или БТР,но не суть) Вот пример такого готового решения: В начале мода добавим: #define MAX_MINIGUNS 10 //количество танков #undef MAX_PLAYERS #define MAX_PLAYERS 100 //кол-во слотов new mgun[MAX_MINIGUNS] ,minigunnum = 0 ,vehhasminigun[MAX_VEHICLES] ,laser[MAX_PLAYERS]; #define PUB:%1(%2) forward %1(%2); public %1(%2) После этого добавим функцию в любое место(удобней в конец мода): GetXYInFrontOfPlayer(playerid, &Float:x, &Float:y, Float:distance) { new Float:a; GetPlayerPos(playerid, x, y, a); GetPlayerFacingAngle(playerid, a); if (GetPlayerVehicleID(playerid)) { GetVehicleZAngle(GetPlayerVehicleID(playerid), a); } x += (distance * floatsin(-a, degrees)); y += (distance * floatcos(-a, degrees)); } В public OnGameModeInit(): for(new i = 0; i < MAX_VEHICLES; ++i) vehhasminigun[i] = 0; SetTimer("check", 5000, 1); SetTimer("loop", 500, 1); Теперь в конце мода создадим ещё несколько функций: PUB:check( ) { for( new i = 0; i < MAX_VEHICLES; ++i ) { new model = GetVehicleModel( i ); if( model == 432 ) { if( vehhasminigun[ i ] == 0 ) { vehhasminigun[ i ] = 1; mgun[ minigunnum ] = CreateObject( 2985, 0, 0, 0, 0, 0, 0 ); AttachObjectToVehicle( mgun[ minigunnum ], i, 0.74, 3.37, -0.25, 0.00, 0.00, 89.47 ); minigunnum ++; } } } return 1; } PUB:loop( ) { for( new i = 0; i < MAX_PLAYERS; ++i ) { if( IsPlayerConnected( i ) ) { new vehicleid = GetPlayerVehicleID( i ); new model = GetVehicleModel( vehicleid ); if( model == 432 ) { new keys ,ud ,lr; GetPlayerKeys( i, keys, ud, lr ); if( keys & 128 ) { SetPlayerAttachedObject( i, 0, 18695, 1, 0.379999, 1.799999, -2.700000, 0.000000, 0.000000, 0.000000, 1.000000, 1.000000, 1.000000 ); laser[ i ] = CreateObject( 19084, 0.75, 3.84, 0.86, 0.00, 0.00, 92.61 ); AttachObjectToVehicle( laser[ i ], vehicleid, 0.73, 4.18, 0.86, 0.00, 0.00, 88.03 ); PlayerPlaySound( i, 1135, 0.0, 0.0, 0.0 ); SetTimerEx( "destroy", 250, 0, "i", i ); new Float:x ,Float:y ,Float:z ,Float:x2 ,Float:y2; GetPlayerPos( i, x2, y2, z ); #pragma unused x2 #pragma unused y2 GetXYInFrontOfPlayer(i, x, y, 5.0); for( new u = 0; u < MAX_PLAYERS; ++u) { if( IsPlayerInRangeOfPoint(u, 6.0, x, y, z ) && u != i) { new Float:hp; GetPlayerHealth( u, hp ); SetPlayerHealth( u, hp - 5 ); PlayerPlaySound( u, 1135, 0.0, 0.0, 0.0 ); if( hp < 1 ) CallLocalFunction( "OnPlayerDeath", "ddd", u, i, 38 ); } } } } } } return 1; } PUB:destroy(i) { RemovePlayerAttachedObject( i, 0 ); DestroyObject( laser[ i ] ); return 1; }
  21. Здравствуйте Уважаемые Пользователи GSG!Я хочу предложить одну команду(на мой взгляд полезную) Что же она делает?! -Вы вводите команду(/ваша кмд замените на свою кмд),вводите команду и рядом координаты! И вас автоматически тпхает на те координаты.Может кому пригодится. Вот сама кмд! if(strcmp(cmd, "/ваша кмд", true) == 0) { new PosX[255]; new PosY[255]; new PosZ[255]; PosX = strtok(cmdtext, idx); PosY = strtok(cmdtext, idx); PosZ = strtok(cmdtext, idx); if(!strlen(PosX)) { SendClientMessage(playerid,COLOR_WHITE," Не ввел X координату. Использование: /tpme X Y Z"); return 1; } if(!strlen(PosY)) { SendClientMessage(playerid,COLOR_WHITE," Не ввел Y координату. Использование: /tpme X Y Z"); return 1; } if(!strlen(PosZ)) { SendClientMessage(playerid,COLOR_WHITE," Не ввел Z координату. Использование: /tpme X Y Z"); return 1; } SetPlayerPos(playerid,strval(PosX),strval(PosY),strval(PosZ)); return 1; }
  22. При вводе этой команды, на вашем плече появится попугай) Ко всем new добавим: new popugay[MAX_PLAYERS]; В OnPlayerCommandText: if(strcmp(cmd, "/попугай", true) == 0) { tmp = strtok(cmdtext,idx); giveplayerid = ReturnUser(tmp); if(!strlen(tmp) && PlayerInfo[playerid][pAdmin] > 1) return SendClientMessage(playerid,COLOR_WHITE,"Информация: /попугай [ид]"); giveplayerid = ReturnUser(tmp); if(popugay[giveplayerid] == 0) { SetPlayerAttachedObject(giveplayerid, 7, 19078, 1, 0.329150, -0.072101, 0.156082, 0.000000, 0.000000, 0.000000, 1.000000, 1.000000, 1.000000 ); SendClientMessage(giveplayerid,COLOR_LIGHTBLUE,"[Сервер]: Держи попугайчика!"); popugay[giveplayerid] = 1; } else { RemovePlayerAttachedObject(giveplayerid, 7); DestroyPlayerObject(giveplayerid, 19078); SendClientMessage(giveplayerid,COLOR_LIGHTBLUE,"[Сервер]: Отдай мне!"); popugay[giveplayerid] = 0; } return 1; } Вот и все, может кто-то возьмёт себе :)
  23. Здравствуйте уважаемые пользователи форума. Хотел бы предоставить вам спидометр который я делал для мода Gamer. Вроде простенький, не знал что можно туда добавить и сделал такой. Кому нужно будет можете брать для себя.
  24. Здравствуйте, я часто сталкивался с тем, что люди спрашивают как заменить "Server Unknown Command" на свой текст, решение довольно простое: 1) Ищем у себя в моде public OnPlayerCommandText 2) И туда в самый низ паблика, ставим вместо return 0; вот это: return SendClientMessage(playerid,-1,"Такой команды нет!"); Может кому нибудь понадобится, взято с форумов.
  25. 1. Для начала создадим диалоги. В Public OnDialogResponse: if(dialogid==5100) { if(response==1) { if(listitem == 0)// { SetPlayerSkin(playerid,280);// 280 ид рабочего скина SendClientMessage(playerid,COLOR_GREY,"Вы переоделись в рабочую одежду"); skrit[playerid] = 1; } else if(listitem == 1)//Гражданский { new rando = random(2); if(PlayerInfo[playerid][pSex] == 1)//Если пэд. мужчина то скины 185 170 46 { if(rando == 0) { SetPlayerSkin(playerid,185); } else if(rando == 1) { SetPlayerSkin(playerid,170); } else if(rando == 2) { SetPlayerSkin(playerid,46); } } else if(PlayerInfo[playerid][pSex] == 2)//Если пэд. женщина то скины 12 233 211 { if(rando == 0) { SetPlayerSkin(playerid,12); } else if(rando == 1) { SetPlayerSkin(playerid,233); } else if(rando == 2) { SetPlayerSkin(playerid,211); } } SendClientMessage(playerid,COLOR_GREY,"Вы оделись в Гражданку"); skrit[playerid] = 4; } else if(listitem == 4)//Номер строчки в файле с аккаунтом в которой указывается ид скина пэда { SetPlayerSkin(playerid,PlayerInfo[playerid][pChar]); SendClientMessage(playerid,COLOR_GREY,"Вы вернули себе свою одежду"); skrit[playerid] = 0; } } } 2. Далее нужно создать комманду которая будет вызывать наш диалог. В Public OnPlayerCommandText: if(strcmp(cmd, "/razdevpolic", true) == 0)// Комманду можете поменять на свою. Фантазии не хватило сократить) { if(PlayerToPoint(7.0,playerid,1554.4327,-1679.6113,6.2188,276.4227))//Координаты на которых будет работать комманда (если отойти от неё комманда не заработает) { if(PlayerInfo[playerid][pLeader] == 1 || PlayerInfo[playerid][pMember] == 1)//Здесь указывается какая фракция может использовать комманду { ShowPlayerDialog(playerid,5100,DIALOG_STYLE_LIST,"Одежда","Полиция\nГражданский\nВернуть свой","Ок","Отмена"); } } else { SendClientMessage(playerid,COLOR_GREY, "Вы не в раздевалке"); } return 1; } 3. Ну и создадим 3dText (если хотите можете сделать через пикап). Ко всем 3DText-ам: Create3DTextLabel(" Раздевалка: /razdevpolic ",0xFFFFFFFF,1554.4327,-1679.6113,6.2188,276.4227); AddStaticPickup(1242, 24, 1554.4327,-1679.6113,6.2188,276.4227); //пикапчик в виде броника Автор : HuKuTJKeEe
×

Важная информация

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