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

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

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

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

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

Тип контента


Форумы

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

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

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


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

  • Начало

    Конец


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

  • Начало

    Конец


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

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

  1. PriteTV

    [CMD]/skin

    Добрый день, форумчане cr-mp.ru Я хочу Вам представить команду /skin на DC_CMD + sscanf2: CMD:skin(playerid, params[]) { if(sscanf(params, "i", params[0])) return SendClientMessage(playerid, 0xFFFF00FF, !"[CMD]: {008000}Используйте {DAA520}/skin [ID скина]"); if(params[0] < 1 || params [0] > 299) return SendClientMessage(playerid, 0x008000FF, !"[Ошибка]: ИД скина должен быть от 1 до 299."); SetPlayerSkin(playerid, params[0]); return 1; }
  2. PriteTV

    [CMD]/givegun

    Здравствуйте, уважаемые пользователи cr-mp.ru Предоставляю Вам командe /gun на DC_CMD sscanf2: CMD:gun(playerid, params[]) { if(sscanf(params, "ii", params[0], params[1])) return SendClientMessage(playerid, 0xFFFF00FF, !"[CMD]: {008000}Используйте {DAA520}/gun [ID оружия] [Кол-во пт]"); if(params[0] < 1 || params[0] > 46) return SendClientMessage(playerid, 0x008000FF, !"[Ошибка]: ИД оружия должен быть от 1 до 46."); if(params[1] < 1 || params[1] > 10000) return SendClientMessage(playerid, 0x008000FF, !"[Ошибка]: Количество патрон должно быть от 1 до 10000."); GivePlayerWeapon(playerid, params[0], params[1]); return 1; }
  3. Vladimir_Kulkov

    [CMD] /veh, /delveh

    Здравствуйте, уважаемые пользователи cr-mp.ru Предоставляю Вам реализацию команд /veh, /delveh на Pawn.CMD (3.1.3) + sscanf2 (2.8.2):
  4. Здравствуйте уважаемые пользователи cr-mp.ru! Решил выложить сюда систему подъездов с мода GTRP! Взято с другого портала Начнем! Ко всем enum добавим
  5. Сегодня мы с вами напишем систему АТМ для сервера с возможностью создания из игры. Система на MySQL! Командный процессор DC_CMD! [1] Ко всем define: #define MAX_ATM 1000 // максимальное количество банкоматов. #define dbank 4 // ID диалога АТМ. [2] Ко всем переменным new: new TOTALATM = 1; // Всего АТМ new BankObject; // объект АТМ [3] Ко всем enum: enum BDATA { bID, Float:bX, Float:bY, Float:bZ, Float:bRX, Float:bRY, Float:bRZ } new bInfo[MAX_ATM][BDATA]; [4] Теперь ко всем командам добавим: CMD:atm(playerid, params[]) { new Float:POS[3]; // Переменные для записи позиции персонажа! GetPlayerPos(playerid, POS[0], POS[1], POS[2]); // Узнаем позицию персонажа и записываем их в POS. BankObject = CreateObject(2942,POS[0]+2, POS[1], POS[2],0,0,270); // Создаем объект АТМ. EditObject(playerid, BankObject); // Назначаем переменной BankObject функцию редактирования объекта. SetPVarInt(playerid, "bEDIT", 1); // Установим число 1 в переменную игрока. return true; } [5] Далее переходим в public OnPlayerEditObject (если его нет создайте): if(response == EDIT_RESPONSE_FINAL) // Если игрок нажал на иконку сохранить. { if(GetPVarInt(playerid, "bEDIT") == 1) // Проверяем переменную игрока на число 1. { new query[200]; // Переменная для запроса. mysql_format(mysql, query, sizeof(query), "INSERT INTO `ATM` (`bID`, `bX`, `bY`, `bZ`, `bRX`, `bRY`, `bRZ`) VALUES ('%d', '%f', '%f', '%f', '%f', '%f', '%f')", TOTALATM, fX, fY, fZ, fRotX, fRotY, fRotZ); mysql_tquery(mysql, query, "", ""); // Запрос на БД. bInfo[TOTALATM][bX] = fX; // Записываем позицию объекта(x) в переменную bX. bInfo[TOTALATM][bY] = fY; // Записываем позицию объекта(y) в переменную bY. bInfo[TOTALATM][bZ] = fZ; // Записываем позицию объекта(z) в переменную bZ. TOTALATM++; Create3DTextLabel("Банкомат\nНажмите {529b43}'Y'", -1, fX, fY, fZ, 10.0, 0, 1); // Создаем 3D текст у банкомата SendClientMessage(playerid, -1, "Банкомат успешно создан!"); // Если все прошло успешно выводим текст. } } if(response == EDIT_RESPONSE_CANCEL) // Если игрок нажал на ESC { if(GetPVarInt(playerid, "bEDIT") == 1) // Проверяем переменную игрока на число 1. { DestroyObject(BankObject); // Удаляем АТМ. SendClientMessage(playerid, -1, "Банкомат удален!"); // Если все прошло успешно выводим текст. DeletePVar(playerid, "bEDIT"); // Обнуляем переменную игрока. } } [6] В конец мода или там где у вас находится загрузка данных: stock LoadAtm() return mysql_function_query(mysql, "SELECT * FROM `ATM` ORDER BY `ATM`.`bID` ASC ", false, "OnAccountBank",""); // stock для загрузки ATM. forward OnAccountBank(playerid); public OnAccountBank(playerid) { new rows, fields;// Создаем переменные для выгрузки кол-во строк-граф cache_get_data(rows, fields);// Выгружаем примечание не выгружает если выключено кзширование new i = 0;// Переменная для хранения временного new temp[128]; if(rows)// Проверка есть ли строчки в таблице. { for(new idx = 1; idx <= rows; idx++) { cache_get_row(i, 0, temp), bInfo[idx][bID] = strval(temp); // Загружаем 1 строчку БД. cache_get_row(i, 1, temp), bInfo[idx][bX] = floatstr(temp); // Загружаем 2 строчку БД. cache_get_row(i, 2, temp), bInfo[idx][bY] = floatstr(temp); // Загружаем 3 строчку БД. cache_get_row(i, 3, temp), bInfo[idx][bZ] = floatstr(temp); // Загружаем 4 строчку БД. cache_get_row(i, 4, temp), bInfo[idx][bRX] = floatstr(temp); // Загружаем 5 строчку БД. cache_get_row(i, 5, temp), bInfo[idx][bRY] = floatstr(temp); // Загружаем 6 строчку БД. cache_get_row(i, 6, temp), bInfo[idx][bRZ] = floatstr(temp); // Загружаем 7 строчку БД. TOTALATM++, i++; CreateObject(2942, bInfo[idx][bX], bInfo[idx][bY], bInfo[idx][bZ], bInfo[idx][bRX], bInfo[idx][bRY], bInfo[idx][bRZ]); // Создаем АТМ. Create3DTextLabel("Банкомат\nНажмите {529b43}'Y'", -1, bInfo[idx][bX], bInfo[idx][bY], bInfo[idx][bZ], 10.0, 0, 1); // Создаем 3D текст. } } return printf("[Система АТМ]: Было загружено - %d", TOTALATM); // Показываем сколько банкоматов было загружено. } [7] Теперь public OnGameModeInit(): LoadAtm(); И так с созданием АТМ и его загрузкой мы закончили. Теперь собственно сделаем чтобы банкомат работал:) [1] В public OnPlayerKeyStateChange: if(newkeys == KEY_YES) // если игрок нажал на Y { for(new b = 1; b <= TOTALATM; b++) { if(IsPlayerInRangeOfPoint(playerid, 1.0, bInfo[b][bX], bInfo[b][bY], bInfo[b][bZ])) // Проверяем стоит ли игрок рядом с банкоматом. Если да то выводим диалог ниже :) { ShowPlayerDialog(playerid, dbank, DIALOG_STYLE_LIST, "{FFFFFF}Банкомат", "{529b43}[1] {ffffff}Баланс\n{529b43}[2] {ffffff}Снять наличные\n{529b43}[3] {ffffff}Внести наличные", "Войти", "Выйти"); } } return true; } [2] В public OnDialogResponse: switch(dialogid) { case dbank: { if(!response) return true; // Игрок нажал на вторую кнопку! switch(listitem) { case 0: // Игрок выбрал первый пункт! { new string[50]; // Переменная которая хранит длину текста! format(string,sizeof(string),"{FFFFFF}Баланс: {529b43}%d {FFFFFF}р.", pInfo[playerid][BankAccount]); SendClientMessage(playerid, -1, string); ShowPlayerDialog(playerid, dbank, DIALOG_STYLE_LIST, "{FFFFFF}Банкомат", "{529b43}[1] {ffffff}Баланс\n{529b43}[2] {ffffff}Снять наличные\n{529b43}[3] {ffffff}Внести наличные", "Далее", "Выйти"); } case 1: // Игрок выбрал второй пункт! { ShowPlayerDialog(playerid, dbank+1, DIALOG_STYLE_INPUT, "{FFFFFF}Банкомат{529b43} [Снять наличные]", "{ffffff}Введите сумму которую хотите снять:", "Снять", "Выйти"); } case 2: // Игрок выбрал третий пункт! { ShowPlayerDialog(playerid, dbank+2, DIALOG_STYLE_INPUT, "{FFFFFF}Банкомат{529b43} [Внести наличные]", "{ffffff}Введите сумму которую хотите внести:", "Внести", "Выйти"); } } } case dbank+1: { if(!response) return ShowPlayerDialog(playerid, dbank, DIALOG_STYLE_LIST, "{FFFFFF}Банкомат", "{529b43}[1] {ffffff}Баланс\n{529b43}[2] {ffffff}Снять наличные\n{529b43}[3] {ffffff}Внести наличные", "Далее", "Выйти"); if(strval(inputtext) > pInfo[playerid][BankAccount]) // Проверяем хватает ли денег в банке. Если нет выводим диалог и текст! { ShowPlayerDialog(playerid, dbank+1, DIALOG_STYLE_INPUT, "{FFFFFF}Банкомат{529b43} [Снять наличные]", "{ffffff}Введите сумму которую хотите снять:", "Снять", "Выйти"); return SendClientMessage(playerid, -1, "Недостаточно средств!"); } pInfo[playerid][BankAccount] -= strval(inputtext); pInfo[playerid][Money] += strval(inputtext); GivePlayerMoney(playerid, strval(inputtext)); } case dbank+2: { if(!response) return ShowPlayerDialog(playerid, dbank, DIALOG_STYLE_LIST, "{FFFFFF}Банкомат", "{529b43}[1] {ffffff}Баланс\n{529b43}[2] {ffffff}Снять наличные\n{529b43}[3] {ffffff}Внести наличные", "Далее", "Выйти"); if(strval(inputtext) > pInfo[playerid][Money]) // проверяем хватает ли денег у игрока. Если нет то выводим диалог и текст! { ShowPlayerDialog(playerid, dbank+2, DIALOG_STYLE_INPUT, "{FFFFFF}Банкомат{529b43} [Внести наличные]", "{ffffff}Введите сумму которую хотите внести:", "Внести", "Выйти"); return SendClientMessage(playerid, -1, "Недостаточно средств!"); } pInfo[playerid][BankAccount] += strval(inputtext); GivePlayerMoney(playerid, -strval(inputtext)); } } Теперь нам нужно создать БД для АТМ. Создаем таблицу и называем ее ATM и далее делаем как на фото:[spoiler=фото] Ну вот и все, система АТМ готова. Обзор https://youtu.be/QRxkcy1aw18 Прикрепил PWN :) P.S: pInfo[playerid][bankAccount], pInfo[playerid][Money] и запрос mysql нужно заменить на свое чтобы не было ошибок! ATM.pwn
  6. Доброго времени суток, форумчане. Сегодня, решил выполнить логотип у известного проекта CRMP - Namalsk RolePlay. Как получилось, решать вам. Ссылка на логотип: https://yadi.sk/d/kMOhda163UAKuR Официальный логотип сделан командой разработчиков Namalsk RolePlay. Автор копии логотипа - Андрей Микилов.
  7. dima47rus110

    Пробег Gamer

    Решил вырезать пробег для мода с основой Gamer Добавим к enum CarsInfo Float:cProbeg, Ко всем new new Text:Rhymed35[MAX_PLAYERS]; Далее в public OtherTimer new estr[32]; if(IsPlayerInAnyVehicle(i)) { format(estr,32,"~w~ЈPOЂE‚: ~g~~h~%.1f~r~ KM",CarInfo[GetPlayerVehicleID(i)][cProbeg]); TextDrawSetString(Rhymed35[i],estr); } public OnPlayerConnect(playerid) Rhymed35[playerid] = TextDrawCreate(495.000000, 370.000000," ");//ПРОБЕГ++++ 390 TextDrawFont(Rhymed35[playerid],2); TextDrawSetOutline(Rhymed35[playerid], 1); TextDrawLetterSize(Rhymed35[playerid], 0.45, 1.5); TextDrawColor(Rhymed35[playerid],225); TextDrawShowForPlayer(playerid, Rhymed35[playerid]); TextDrawSetProportional(Rhymed35[playerid],1); TextDrawBoxColor(Rhymed35[playerid], 80);//70 public OnPlayerCommandText(playerid, cmdtext[]) if(strcmp(cmd,"/carpasport",true) == 0) { tmp = strtok(cmdtext, idx); if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_WHITE, "Введите: /passcar [id]"); giveplayerid = ReturnUser(tmp); new veh = GetPlayerVehicleID(playerid); if(GetRealID(veh) == -1) return SendClientMessage(playerid, COLOR_GRAD2, "Вы должны быть в своём автомобиле"); if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, COLOR_GRAD2, "Вы не в машине!"); if(IsPlayerConnected(giveplayerid)) { if(giveplayerid != INVALID_PLAYER_ID) { GetPlayerName(playerid, sendername, sizeof(sendername)); format(string,sizeof(string),"\t{FFFFFF}Модель транспорта:%s\n\t{FFFFFF}Владелец:%s\n\t{FFFFFF}Пробег транспорта:%.1f",VehiclesName[GetVehicleModel(GetPlayerVehicleID(playerid))-400], sendername,CarInfo[veh][cProbeg]); ShowPlayerDialog(giveplayerid,499,DIALOG_STYLE_MSGBOX,"Технический талон транспорта.",string,"Посмотрел","Х");//Если диалог 499 присутствует,то замените на любой другой,которого нету(чтобы окно закрылось) return true; } } } К команде /savecar(по умолчанию) CarInfo[AllCars][cProbeg] = 0; public OnPlayerDisconnect(playerid, reason) TextDrawHideForPlayer(playerid,Rhymed35[playerid]); TextDrawDestroy(Rhymed35[playerid]); public OnPlayerStateChange(playerid, newstate, oldstate) if(oldstate-1 && newstate) TextDrawHideForPlayer(playerid,Rhymed35[playerid]); else if(newstate-1) TextDrawShowForPlayer(playerid,Rhymed35[playerid]); stock LoadCar() ini_getFloat(iniOpen, "cProbeg", CarInfo[car][cProbeg]); stock SaveCar(car) ini_setFloat(iniOpen, "cProbeg", CarInfo[car][cProbeg]); stock CreateCar(car) ini_setFloat(iniOpen, "cProbeg", CarInfo[car][cProbeg]); И в конец мода forward Speeeeed(); public Speeeeed() { foreach(Player, playerid) { new Float:sp = GetPlayerSpeed(playerid),Float:ms; ms = (sp/1.4)/700;//1000 CarInfo[GetPlayerVehicleID(playerid)][cProbeg] += ms; } return 1; } У некоторых не обновлялся пробег,добавьте к таймерам(забыл про него) SetTimer("Speeeeed",6000, 1); Обязательно подключите инклуд "foreach",если не подключен Ко всем инклудам,если нету,то скачайте и закиньте в папку сервер/pawno/include/сюда include <foreach> Не знаю надо ли кому это,но решил вырезать,т.к. очень многие искали пробег Пробег не сохраняется после рестарта,кто знает как исправить отпишитесь пожалуйста! Скрины: http://radikall.com/image/V52V http://radikall.com/image/V52H http://radikall.com/image/V52b
  8. Всем привет дорогие пользователи портала CR-MP Нашел как то на просторах интернета. Как по мне нормально сделано,из-за чего и выкладываю для вас сюда. P.S Для таких людей,которые говорят,это есть на других порталах,отвечаю,я и не скрываю ни в одной моей теме,если я сливаю с других порталов,то указываю,что нашел на просторах интернета! Это одно и то же! [spoiler=Скрин] new Text:Textdraw[8]; Textdraw0 = TextDrawCreate(280.399993, 199.615554, "usebox"); TextDrawLetterSize(Textdraw0, 0.000000, 0.000000); TextDrawTextSize(Textdraw0, 280.399993, 0.000000); TextDrawAlignment(Textdraw0, 1); TextDrawColor(Textdraw0, 0); TextDrawUseBox(Textdraw0, true); TextDrawBoxColor(Textdraw0, 102); TextDrawSetShadow(Textdraw0, 0); TextDrawSetOutline(Textdraw0, 0); TextDrawFont(Textdraw0, 0); Textdraw1 = TextDrawCreate(230.800003, 188.159988, "LD_SPAC:white"); TextDrawLetterSize(Textdraw1, 0.000000, 0.000000); TextDrawTextSize(Textdraw1, 223.599990, 11.448898); TextDrawAlignment(Textdraw1, 1); TextDrawColor(Textdraw1, -5963521); TextDrawSetShadow(Textdraw1, 0); TextDrawSetOutline(Textdraw1, 0); TextDrawFont(Textdraw1, 4); Textdraw2 = TextDrawCreate(273.200347, 185.671173, "Название сервера"); TextDrawLetterSize(Textdraw2, 0.449999, 1.600000); TextDrawAlignment(Textdraw2, 1); TextDrawColor(Textdraw2, -1); TextDrawSetShadow(Textdraw2, 0); TextDrawSetOutline(Textdraw2, 1); TextDrawBackgroundColor(Textdraw2, 51); TextDrawFont(Textdraw2, 1); TextDrawSetProportional(Textdraw2, 1); Textdraw3 = TextDrawCreate(278.000244, 224.497787, "You accept invite to fraction?"); TextDrawLetterSize(Textdraw3, 0.188000, 0.838400); TextDrawTextSize(Textdraw3, 506.799987, -300.657836); TextDrawAlignment(Textdraw3, 1); TextDrawColor(Textdraw3, -1); TextDrawUseBox(Textdraw3, true); TextDrawBoxColor(Textdraw3, 0); TextDrawSetShadow(Textdraw3, 0); TextDrawSetOutline(Textdraw3, 1); TextDrawBackgroundColor(Textdraw3, 51); TextDrawFont(Textdraw3, 2); TextDrawSetProportional(Textdraw3, 1); Textdraw4 = TextDrawCreate(260.000000, 253.368896, "LD_SPAC:white"); TextDrawLetterSize(Textdraw4, 0.000000, 0.000000); TextDrawTextSize(Textdraw4, 59.599975, 17.422210); TextDrawAlignment(Textdraw4, 1); TextDrawColor(Textdraw4, 8388863); TextDrawSetShadow(Textdraw4, 0); TextDrawSetOutline(Textdraw4, 0); TextDrawFont(Textdraw4, 4); TextDrawSetSelectable(Textdraw4, true); Textdraw5 = TextDrawCreate(271.600036, 254.364532, "Yes"); TextDrawLetterSize(Textdraw5, 0.449999, 1.600000); TextDrawAlignment(Textdraw5, 1); TextDrawColor(Textdraw5, -1); TextDrawSetShadow(Textdraw5, 0); TextDrawSetOutline(Textdraw5, 1); TextDrawBackgroundColor(Textdraw5, 51); TextDrawFont(Textdraw5, 2); TextDrawSetProportional(Textdraw5, 1); TextDrawSetSelectable(Textdraw5, true); Textdraw6 = TextDrawCreate(366.399841, 270.791137, "LD_SPAC:white"); TextDrawLetterSize(Textdraw6, 0.000000, 0.000000); TextDrawTextSize(Textdraw6, 58.800018, -18.417785); TextDrawAlignment(Textdraw6, 1); TextDrawColor(Textdraw6, -16776961); TextDrawSetShadow(Textdraw6, 0); TextDrawSetOutline(Textdraw6, 0); TextDrawFont(Textdraw6, 4); TextDrawSetSelectable(Textdraw6, true); Textdraw7 = TextDrawCreate(385.200103, 253.866683, "No"); TextDrawLetterSize(Textdraw7, 0.449999, 1.600000); TextDrawAlignment(Textdraw7, 1); TextDrawColor(Textdraw7, -1); TextDrawSetShadow(Textdraw7, 0); TextDrawSetOutline(Textdraw7, 1); TextDrawBackgroundColor(Textdraw7, 51); TextDrawFont(Textdraw7, 2); TextDrawSetProportional(Textdraw7, 1); TextDrawSetSelectable(Textdraw7, true); Если хотите что бы писало на русском То просто подключите плагин и инклуд CRP. Автор: Mihalok Автор слива: Marvellous (Я)
  9. SCRIPTMAN

    Система ремня

    Привет народ! Делал для своего старого мода систему ремня, если так можно сказать. Так-как мод мне не нужен уже, решил слить данную систему сюда, хотя, она очень лёгкая, ну лан. Для начала создадим переменные. Для этого, где у вас все переменные, вставляем это: new remen[MAX_PLAYERS]; Теперь, сделаем так, чтобы когда игрок садился в автомобиль, ему обнуляло эту переменную, потому что некоторые могут пристегнуть ремень и не отстегнув выйти, тогда если сядут в авто, им напишет, что ремень отстегнул он. Для этого вставим в "public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)" Вот это: remen[playerid] = 0; Теперь сама команда: CMD:rem(playerid) { if(GetPlayerState(playerid) == PLAYER_STATE_ONFOOT)//Если игрок не в авто. { SendClientMessage(playerid,COLOR_RED,"Вы не в авто!"); return true;//Тут сомневаюсь, что true, опытные знатоки, подскажите пж :) } if(remen[playerid] == 0) { Action(playerid, "пристегнул ремень безопасности"); remen[playerid] = 1;//равняем переменную 1 } else if(remen[playerid] == 1)//В принципе, можно и просто else написать { Action(playerid, "отстегнул ремень безопасности"); remen[playerid] = 0;//Равняем переменную нулю } return true; } А теперь, чтобы добавить какой-то RP-шности, я написал кмд для фракций, чтобы проверить, пристёгнут игрок или нет. Вот команда: CMD:sr(playerid, params[]) { new magid; if(IsACops(playerid))//Проверка на то, что игрок в ДПС, Полиции. У меня это сток { if(sscanf(params, "i", magid)) return SCM(playerid, COLOR_GREY, "Подсказка: /sr [ID игрока]"); if(!ProxDetectorS(10.0, playerid, magid)) return SCM(playerid, COLOR_GRAD1, "Вы слишком далеко."); if(remen[magid] == 0) { SCM(playerid, COLOR_RED, "Не пристёгнут!");//Если переменная remen игрока, которого мы ввели равна 0 - он не пристёгнут } else if(remen[magid] == 1)//Можно else { SCM(playerid, COLOR_GREEN, "Пристёгнут!"); } } return true; } Вот и всё, я ещё сделал такую вещь, сейчас скину короче. Это для того, чтобы, если игрок не пристёгнут, он не мог завести авто. Для этого, туда, где у вас заводка авто нужно вставить в начало: if(remen[playerid] == 0) return SCM(playerid, цвет, "Пристегните ремень безопасности! Чтобы завести авто"); И когда игрок выходит из авто, я пытался сделать, чтобы его не выпустило из авто, пока он не отстегнёт ремень, но увы, у меня не получилось. Буду рад, кто подскажет, как это сделать. Ну в принципе и всё! Автор: Shapik Спасибо! Если ошибка, исправьте пожалуйста! Если будут идеи, пишите, дополню! У кого ошибка на Action, переходите в эту тему и добавляете.
  10. Описание: Подавать объявления ( /ad ) можно когда угодно НО после того как предыдущее проверят в СМИ, таймера на /ad нету, как проверили так можно подавать следующее. Для СМИ команда /edit (без iD без ничего) Если оставить диалог пустой то объявление подастся без изменений и в чате будет написано " Объявление проверил ... " Или же можно изменить тогда в чате будет писаться " Объявление отредактировал ... " Ну и в крайнем случае отклонить. Скрины:
  11. Привет пипл! Описание: В общем эта команда помогает админам и игрокам. Админ вводит /atp, он включает систему телепортации, игроки вводят /tpa id админа и они телепортируются к нему (соответственно если включена система у этого админа). Данные команды очень помогают при проведениях мероприятий. Создаём переменную: new atp[MAX_PLAYERS]; Далее добавляем в OnPlayerCommandText if(strcmp(cmd, "/tpa", true) == 0) { new Float:px, Float:py, Float:pz; tmp = strtok(cmdtext, idx); if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_WHITE, "Введите /tpa [id]"); giveplayerid = strval(tmp); if(atp[giveplayerid] == 1) { SendClientMessage(playerid, COLOR_GREEN, "Вы успешно телепортировались."); GetPlayerPos(giveplayerid, px, py, pz); SetPlayerPosEx(playerid, px+1, py, pz); } else SendClientMessage(playerid, COLOR_LIGHTRED, "Данный игрок не включил систему телепортации."); } if(strcmp(cmd, "/atp", true) == 0) { new name[24]; GetPlayerName(playerid, name, 24); if(PlayerInfo[playerid][pAdmin] == 0) return true; if(atp[playerid] == 0) { format(string, 255, "Администратор %s[%d] включил систему телепортации. Введите [/tpa %d], чтобы телепортироваться.", name, playerid, playerid); SendClientMessageToAll(COLOR_LIGHTRED, string); atp[playerid] = 1; } else { format(string, 255, "Администратор %s[%d] выключил систему телепортации.", name, playerid); SendClientMessageToAll(COLOR_LIGHTRED, string); atp[playerid] = 0; } } Автор неизвестен!
  12. #Pawno

    Система Loading

    Доброго времени суток , решил выложить свою работу на форум. Так как более она не актуальна на моем старом сервере , так что ловите. Система Loading , красивый загрузочный экран при входе и выходе с интерьеров, может кто видел подобное в SA-MP на Arizone. Приступим к написанию/вшиванию системы в ваш мод. Ко всем глобальным переменным добавим new PlayerText:LOADING[MAX_PLAYERS][9];// отвечает за кол-во TD new loading[MAX_PLAYERS] = 0; // для timera Далее в конец мода , или как вам удобно создаем forward и pablic forward Loading(playerid);// объявление паблика public Loading(playerid) { loading[playerid] ++;// связано с timer switch(loading[playerid]) { case 0..1: PlayerTextDrawSetString(playerid, LOADING[playerid][8], "~g~IIIII~w~~h~IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII"); case 2..4: PlayerTextDrawSetString(playerid, LOADING[playerid][8], "~g~IIIIIIIIIIIIIIIII~w~~h~IIIIIIIIIIIIIIIIIIIIIIIIIIIII"); case 5..6: PlayerTextDrawSetString(playerid, LOADING[playerid][8], "~g~IIIIIIIIIIIIIIIIIIIIIIIIIII~w~~h~IIIIIIIIIIIIIIIIIII"); case 7..8: PlayerTextDrawSetString(playerid, LOADING[playerid][8], "~g~IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII~w~~h~IIIII"); case 9: { PlayerTextDrawSetString(playerid, LOADING[playerid][8],"~g~IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII~w~~h~"); // Полностью загружаем экран for(new i; i < 9; i++) PlayerTextDrawHide(playerid, LOADING[playerid][i]);// Скрываем экран loading[playerid] = 0; } }// case 0 - 9 это кол-во секунд загрузочного экрана , после которого он пропадет return 1; } После этого добавляем сам TD , который довольна таки интересный. В паблик CreateTextdraws , если его нету , то в OnPlayerConnect LOADING[playerid][0] = CreatePlayerTextDraw(playerid, -0.333333, -0.829629, "LD_SPAC:white"); PlayerTextDrawLetterSize(playerid, LOADING[playerid][0], 0.000000, 0.000000); PlayerTextDrawTextSize(playerid, LOADING[playerid][0], 641.666625, 450.074096); PlayerTextDrawAlignment(playerid, LOADING[playerid][0], 1); PlayerTextDrawColor(playerid, LOADING[playerid][0], 255); PlayerTextDrawSetShadow(playerid, LOADING[playerid][0], 0); PlayerTextDrawSetOutline(playerid, LOADING[playerid][0], 0); PlayerTextDrawFont(playerid, LOADING[playerid][0], 4); LOADING[playerid][1] = CreatePlayerTextDraw(playerid, 220.666671, 131.911102, "LD_SPAC:white"); PlayerTextDrawLetterSize(playerid, LOADING[playerid][1], 0.000000, 0.000000); PlayerTextDrawTextSize(playerid, LOADING[playerid][1], 209.333328, 244.740753); PlayerTextDrawAlignment(playerid, LOADING[playerid][1], 1); PlayerTextDrawColor(playerid, LOADING[playerid][1], -2139062017); PlayerTextDrawSetShadow(playerid, LOADING[playerid][1], 0); PlayerTextDrawSetOutline(playerid, LOADING[playerid][1], 0); PlayerTextDrawFont(playerid, LOADING[playerid][1], 4); LOADING[playerid][2] = CreatePlayerTextDraw(playerid, 221.333358, 157.214828, "loadsc6:loadsc6"); PlayerTextDrawLetterSize(playerid, LOADING[playerid][2], 0.000000, 0.000000); PlayerTextDrawTextSize(playerid, LOADING[playerid][2], 102.333328, 107.437011); PlayerTextDrawAlignment(playerid, LOADING[playerid][2], 1); PlayerTextDrawColor(playerid, LOADING[playerid][2], -1); PlayerTextDrawSetShadow(playerid, LOADING[playerid][2], 0); PlayerTextDrawSetOutline(playerid, LOADING[playerid][2], 0); PlayerTextDrawFont(playerid, LOADING[playerid][2], 4); LOADING[playerid][3] = CreatePlayerTextDraw(playerid, 327.333618, 269.385070, "loadsc8:loadsc8"); PlayerTextDrawLetterSize(playerid, LOADING[playerid][3], 0.000000, 0.000000); PlayerTextDrawTextSize(playerid, LOADING[playerid][3], 102.333328, 107.437011); PlayerTextDrawAlignment(playerid, LOADING[playerid][3], 1); PlayerTextDrawColor(playerid, LOADING[playerid][3], -1); PlayerTextDrawSetShadow(playerid, LOADING[playerid][3], 0); PlayerTextDrawSetOutline(playerid, LOADING[playerid][3], 0); PlayerTextDrawFont(playerid, LOADING[playerid][3], 4); LOADING[playerid][4] = CreatePlayerTextDraw(playerid, 327.666656, 157.385177, "loadsc0:loadsc0"); PlayerTextDrawLetterSize(playerid, LOADING[playerid][4], 0.000000, 0.000000); PlayerTextDrawTextSize(playerid, LOADING[playerid][4], 102.333328, 107.437011); PlayerTextDrawAlignment(playerid, LOADING[playerid][4], 1); PlayerTextDrawColor(playerid, LOADING[playerid][4], -1); PlayerTextDrawSetShadow(playerid, LOADING[playerid][4], 0); PlayerTextDrawSetOutline(playerid, LOADING[playerid][4], 0); PlayerTextDrawFont(playerid, LOADING[playerid][4], 4); LOADING[playerid][5] = CreatePlayerTextDraw(playerid, 221.333221, 269.555786, "loadsc1:loadsc1"); PlayerTextDrawLetterSize(playerid, LOADING[playerid][5], 0.000000, 0.000000); PlayerTextDrawTextSize(playerid, LOADING[playerid][5], 102.333328, 107.437011); PlayerTextDrawAlignment(playerid, LOADING[playerid][5], 1); PlayerTextDrawColor(playerid, LOADING[playerid][5], -1); PlayerTextDrawSetShadow(playerid, LOADING[playerid][5], 0); PlayerTextDrawSetOutline(playerid, LOADING[playerid][5], 0); PlayerTextDrawFont(playerid, LOADING[playerid][5], 4); LOADING[playerid][6] = CreatePlayerTextDraw(playerid, 241.333236, 129.837051, "LOADING TEXTURE"); PlayerTextDrawLetterSize(playerid, LOADING[playerid][6], 0.449999, 1.600000); PlayerTextDrawAlignment(playerid, LOADING[playerid][6], 1); PlayerTextDrawColor(playerid, LOADING[playerid][6], 255); PlayerTextDrawSetShadow(playerid, LOADING[playerid][6], 0); PlayerTextDrawSetOutline(playerid, LOADING[playerid][6], 1); PlayerTextDrawBackgroundColor(playerid, LOADING[playerid][6], 16777215); PlayerTextDrawFont(playerid, LOADING[playerid][6], 2); PlayerTextDrawSetProportional(playerid, LOADING[playerid][6], 1); LOADING[playerid][7] = CreatePlayerTextDraw(playerid, 220.666717, 142.696319, "LD_SPAC:white"); PlayerTextDrawLetterSize(playerid, LOADING[playerid][7], 0.000000, 0.000000); PlayerTextDrawTextSize(playerid, LOADING[playerid][7], 209.666641, 14.933323); PlayerTextDrawAlignment(playerid, LOADING[playerid][7], 1); PlayerTextDrawColor(playerid, LOADING[playerid][7], 255); PlayerTextDrawSetShadow(playerid, LOADING[playerid][7], 0); PlayerTextDrawSetOutline(playerid, LOADING[playerid][7], 0); PlayerTextDrawFont(playerid, LOADING[playerid][7], 4); LOADING[playerid][8] = CreatePlayerTextDraw(playerid, 222.999954, 142.281463, "IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII"); PlayerTextDrawLetterSize(playerid, LOADING[playerid][8], 0.449999, 1.600000); PlayerTextDrawAlignment(playerid, LOADING[playerid][8], 1); PlayerTextDrawColor(playerid, LOADING[playerid][8], -1); PlayerTextDrawSetShadow(playerid, LOADING[playerid][8], 0); PlayerTextDrawSetOutline(playerid, LOADING[playerid][8], 1); PlayerTextDrawBackgroundColor(playerid, LOADING[playerid][8], 51); PlayerTextDrawFont(playerid, LOADING[playerid][8], 2); PlayerTextDrawSetProportional(playerid, LOADING[playerid][8], 1); Далее в OnPlayerConnect loading[playerid] = 0; А также в OnPlayerDisconect loading[playerid] = 0; for(new i; i < 9; i++) PlayerTextDrawDestroy(playerid, LOADING[playerid][i]); Пример работы с данной системой , ищем вход и выход с интерьеров. Пример: if(pickupid == stolovkapick[0]) // медики вход { for(new i; i < 9; i++) PlayerTextDrawShow(playerid, LOADING[playerid][i]); FreezePlayer(playerid, 5000); SetPlayerInterior(playerid,0); SetPlayerPos(playerid,341.2714,2962.2874,1.7659); SetPlayerFacingAngle(playerid, 51.1457); SetPlayerVirtualWorld(playerid, 0); } if(pickupid == stolovkapick[1]) // медики выход { FreezePlayer(playerid, 2000); SetPlayerInterior(playerid,0); SetPlayerPos(playerid,345.6590,2952.8816,1.7659); SetPlayerFacingAngle(playerid, 180.1457); SetPlayerVirtualWorld(playerid, 0); } И в начале каждого входа или выхода интерьер , сами решайте где юзать. for(new i; i [spoiler=TD Loading] Автор работы: #pawno(Artem_Storn) При копирование темы на другой портал , указывать автора.
  13. Здравствуйте уважаемые пользователи gs-games. Не знаю есть эта тема или нет... У нас будет сохраняться админка, деньги и Email. Начнем. 1. В самом начале моде вставляем #include <mxINI> 2. Чуть ниже добавляем #define SCM SendClientMessage #define SPD ShowPlayerDialog #define DSI DIALOG_STYLE_INPUT #define DSM DIALOG_STYLE_MSGBOX 3. После этого ниже добавим new sendername[MAX_PLAYER_NAME]; 4. Теперь создадим enum pInfo А значит еще ниже добавляем enum pInfo { pMoney, pPassword[33], pAdmin, pSkin, pEmail[64], }; new Player[MAX_PLAYERS][pInfo]; 5. Дальше создадим простые правила.А значит ниже добавляем new Rules[][] = { {"1. Игровой процесс\n"}, {"Запрещено:\n"}, {"Использование любых программ скриптов читов и.т.п. дающие нечестное преймущество в игре.\n"}, {"Использование багов (Ошибок, Неисправностей мода).\n"}, {"Использовать ESC в целях ухода от погони/смерти.\n"}, {"Убивать игроков на спавне (Место возрождения, базы организаций).\n"}, {"Убивать игроков при помощи транспорта (Давить, Стрелять с водительского места).\n"}, {"Убийство/нанесение физического вреда игрокам без причины (ДМ - Death Match).\n"}, {"Злоупотребление игровыми возможностями для создания неудобств игрокам.\n\n"}, {"2. Ник в игре\n"}, {"(сменить ник можно через /mm » Сменить ник)\n"}, {"Ник должен состоять из Имени_Фамилии с заглавных букв.\n"}, {"Запрещено:\n"}, {"Запрещено использовать чужие (уже кем-то занятые) ники.\n"}, {"Запрещено использовать ники, содержащие нецензурные или оскорбительные слова.\n"}, {"Отправлять более одной заявки в час (Исключение: Просьба Администрации).\n"}, {"Если вам отказали в смене ника, Значит нельзя.\n"} }; И сразу после этого добавим new Rules_2[][] = { {"{FFFFFF}3. Чат\n"}, {"OOC (Out Of Charter) - это всё, что касается реального мира.\n"}, {"IC (In Charter) - это всё, что касается виртульного мира, то есть игры.\n"}, {"Запрещено:\n"}, {"Ругательство, оскорбления или нецензурная речь.\n"}, {"Угрозы игрокам (Не относящиеся к игровому процессу).\n"}, {"Писать сообщения в верхнем регистре (Caps Lock).\n"}, {"Писать в чат объявлений сообщения не относящихся к Role Play.\n"}, {"Писать одно и тоже сообщение слишком часто.\n"}, {"Обсуждать, критиковать действия администрации.\n"}, {"Реклама сторонних ресурсов.\n\n"}, {"{FFFFFF}4. Администрация сервера\n"}, {"Необходимо сообщать администрации о каких либо нарушениях из данных правил (/mm {FFFFFF}> Репорт).\n"}, {"Администрация самостоятельно выбирает штрафные санкции для каждого из случаев.\n"}, {"Запрещено препятствовать администрации в работе.\n"}, {"Решение администрации является окончательным и не подлежит обсуждению.\n\n"}, {"{FFFFFF}5. Торговля.\n"}, {"Запрещены любые денежные махинации.\n"}, {"Запрещена продажа / покупка чего либо, за реальные деньги.\n"}, {"Запрещен обмен внеигровых предметов в любой форме, на игровые.\n"}, {"Запрещен обмен чего либо между игровыми серверами.\n"}, {"Запрещена продажа / передача аккаунтов.\n"} }; 6. Далее переходим в public OnPlayerRequestClass(playerid, classid) Все что там есть стираем. И добавляем это { if(GetPVarInt(playerid, "Logged") == 1) return SpawnPlayer(playerid); SetPlayerInterior(playerid,0); SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746); SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746); GetPlayerName(playerid, sendername, sizeof(sendername)); new str[320], small[150]; switch(GetPVarInt(playerid, "Account")) { case 0: { format(small, sizeof(small), "{FFFFFF}Добро пожаловать на сервер new-server\nЭтот аккаунт не зарегистрирован\nЧтобы начать игру нужно пройти регистрацию\n\n"); strcat(str, small); format(small, sizeof(small), "\t\t• Пароль должен состоять из Латинских букв\n\t\t• Длина пароля от 6 до 15 символов\n\nВаш логин: %s\nПридумайте свой пароль:",sendername); strcat(str, small); SPD(playerid, 1, DSI, "{FFFFFF}• Регистрация •", str, "Готово", "Отмена"); } case 1: { format(str, sizeof(str), "{FFFFFF}Добро пожаловать на сервер new-server\nЭтот аккаунт зарегистрирован\nЧтобы начать игру нужно Авторизоваться\n\nВаш логин: %s\nВведите свой пароль:",sendername); SPD(playerid, 5, DSI, "{FFFFFF}• Авторизация •", str, "Войти", "Отмена"); } } return 1; } 7. Ищем public OnPlayerConnect(playerid) И вставляем туда { new string[42]; GetPlayerName(playerid, sendername, sizeof(sendername)); format(string, sizeof(string), "players/%s.ini", sendername); if(fexist(string)) SetPVarInt(playerid, "Account",1); else SetPVarInt(playerid, "Account",0); return 1; } 8. Идем в public OnPlayerDisconnect(playerid, reason) И вставим туда { if(GetPVarInt(playerid, "Logged") == 1) SavePlayer(playerid); return 1; } 9. Теперь переходим в public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) И вставляем туда это { new string[128]; switch(dialogid) { case 1: { if(!response) return Kick(playerid); RegisterPlayer(playerid, inputtext); } case 2: { if(!response) { GetPlayerName(playerid, sendername, sizeof(sendername)); format(string, sizeof(string), "players/%s.ini",sendername); fremove(string); return true; } new Rules_2_str[1000]; format(Rules_2_str, sizeof(Rules_2_str), "%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s",Rules_2[0],Rules_2[1],Rules_2[2],Rules_2[3],Rules_2[4],Rules_2[5],Rules_2[6],Rules_2[7],Rules_2[8],Rules_2[9],Rules_2[10],Rules_2[11],Rules_2[12],Rules_2[13],Rules_2[14],Rules_2[15],Rules_2[16],Rules_2[17],Rules_2[18],Rules_2[19],Rules_2[20],Rules_2[21]); SPD(playerid, 3, DSM, "{FFFFFF}• Правила сервера •", Rules_2_str, "Согласен", "Выйти"); } case 3: { if(!response) { GetPlayerName(playerid, sendername, sizeof(sendername)); format(string, sizeof(string), "players/%s.ini",sendername); fremove(string); return true; } SPD(playerid, 4, DSI, "{FFFFFF}• Электронная почта •", "{FFFFFF}Пожалуйста введите действующий адрес электронной почты.\nЕсли вы забудите пароль на него будет выслан новый", "Готово", ""); } case 4: { if(!response) return Kick(playerid); strmid(Player[playerid][pEmail],inputtext,0,strlen(inputtext),255); GetPlayerName(playerid, sendername, sizeof(sendername)); new str[186]; format(str, sizeof(str), "{FFFFFF}Добро пожаловать на сервер new-server\nЭтот аккаунт зарегистрирован\nЧтобы начать игру нужно Авторизоваться\n\nВаш логин: %s\nВведите свой пароль:",sendername); SPD(playerid, 5, DSI, "{FFFFFF}• Авторизация •", str, "Войти", "Отмена"); } case 5: { if(!response) return Kick(playerid); LoginPlayer(playerid, inputtext); } } return 1; } stock RegisterPlayer(playerid, inputtext[]) { if(!IsPlayerConnected(playerid)) return true; new string[40]; GetPlayerName(playerid, sendername, sizeof(sendername)); Player[playerid][pMoney] = 500; Player[playerid][pAdmin] = 0; format(string,sizeof(string), "players/%s.ini", sendername); new accountFile = ini_createFile(string); if(accountFile < 0) { accountFile = ini_openFile(string); } if(accountFile >= 0) { strmid(Player[playerid][pPassword],inputtext,0,strlen(inputtext),255); ini_setString(accountFile,"Password",Player[playerid][pPassword]); ini_closeFile(accountFile); } new Rules_str[1000]; format(Rules_str, sizeof(Rules_str), "{FFFFFF}%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s",Rules[0],Rules[1],Rules[2],Rules[3],Rules[4],Rules[5],Rules[6],Rules[7],Rules[8],Rules[9],Rules[10],Rules[11],Rules[12],Rules[13],Rules[14],Rules[15],Rules[16]); SPD(playerid, 2, DSM, "{FFFFFF}• Правила сервера •", Rules_str, "Согласен", "Выйти"); return 1; } stock LoginPlayer(playerid, inputtext[]) { new string[40],pass[32]; GetPlayerName(playerid, sendername, sizeof(sendername)); format(string,sizeof(string), "players/%s.ini", sendername); new File = ini_openFile(string); ini_getString(File,"Password",pass,32); if(strcmp(pass, inputtext, true) != 0) { Kick(playerid); } else { ini_getInteger(File,"Money",Player[playerid][pMoney]); ini_getInteger(File,"Admin",Player[playerid][pAdmin]); ini_getInteger(File,"Skin",Player[playerid][pSkin]); ini_getString(File,"Email",Player[playerid][pEmail],64); SCM(playerid, -1, "Вы успешно авторизовались!"); SpawnPlayer(playerid); SetPVarInt(playerid, "Logged", 1); } return 1; } stock SavePlayer(playerid) { if(!IsPlayerConnected(playerid) && GetPVarInt(playerid, "Logged") == 0) return true; new string[40]; GetPlayerName(playerid, sendername, sizeof(sendername)); format(string,sizeof(string), "players/%s.ini", sendername); new File = ini_openFile(string); ini_setInteger(File, "Money",Player[playerid][pMoney]); ini_setInteger(File,"Admin",Player[playerid][pAdmin]); ini_setInteger(File,"Skin",Player[playerid][pSkin]); ini_setString(File,"Email",Player[playerid][pEmail]); ini_closeFile(File); return 1; } И так на этом наш урок заканчивается. Спасибо за внимание. Скрин регистрации. http://rghost.ru/52319742
  14. Сегодня я объясню как сделать разводной мост по таймеру . мост будет открывается раз в 25 минут! Подойдет для любого мода даже самп но там придется менять объект и координаты! И так начинаем , ко всем new new mostik[2]; дальше мы в public OnGameModeInit добавим таймер который будет открывать мост каждые 25 минут SetTimer("OpenMostik", 1000*60*25, true ) ;// если хотите через 30 или больше минут то меняйте 25 заменим объекты моста id 2168 заменяем на это mostik[0] = CreateObject(2168,2747.3437500,-1142.8994141,21.6000004,0.0000000,0.0000000,179.9945068); mostik[1] = CreateObject(2168,2747.2998047,-1262.0000000,21.6000004,0.0000000,0.0000000,0.0000000); дальше добавляем в конец мода forward OpenMostik(); public OpenMostik() { MoveObject(mostik[0],2747.3999023,-1142.8000488,22.1000004,0.015,45.7489014,0.0000000,179.9945068);// объекты закрытого моста MoveObject(mostik[1],2747.3999023,-1262.0000000,22.1000004,0.015,45.7441406,0.0000000,0.0000000);// объекты закрытого моста SetTimerEx("CloseGate",80*1000,0,"i",mostik[0]);// где 80*100 то 8 секунд открывается мост!можете увеличить SetTimerEx("CloseGate",80*1000,0,"i",mostik[1]);// где 80*100 то 8 секунд открывается мост!можете увеличить return 1; } и еще один паблик в конец мода! forward CloseGate(gate); public CloseGate(gate) { if(gate == mostik[0]) return MoveObject(mostik[0], 2747.3437500,-1142.8994141,21.6000003,0.015,0.0000000,0.0000000,179.994506); //object(barrierturn)(8)// открытые кординаты моста if(gate == mostik[1]) return MoveObject(mostik[1], 2747.2998047,-1262.0000000,21.6000003,0.015,0.0000000,0.0000000,0.0000000); //object(barrierturn)(8)//открытые кординаты моста return 1; } Вот собственно и все!если кому надо проверить работу способность вот команда! if (strcmp("/mostik", cmdtext, true, 10) == 0) { OpenMostik(); return true; } Автор: Банан
  15. ShiGanKa

    TextDraw спидометра

    Автор: SHIGAN4EG Скачать .txt - https://drive.google.com/open?id=1nEmURb9o1H2eyw19ouwRVdzLz7IMDiRR Скачать .tde - https://drive.google.com/open?id=1LQnxpFIqUtK6B8FrFHseLWmLamUvx9I2 [spoiler=Скриншот] По задумке цвет скорости и бензина должен меняться. Используйте ~g~~h~~h~, ~y~, ~r~~h~~h~.
  16. Здравствуйте форумчане Понимаю, что делать та нечего, но может кому нибудь пригодиться и выкладываю вам TD спидометра. Внимание: Это не система, а если хотите вшить в мод, то обращайтесь в ЛС. Сделаю за небольшую плату. Автор спидометра: Неизвестно Скачать: https://yadi.sk/d/LCtlxlnf3Q9nTb
  17. Marvellous

    Система погони

    Всем привет дорогие пользователи портала CR-MP Сейчас хочу вам выложить систему погони за преступником! Давайте расскажу вкратце,что это из себя представляет,так же пойдет для RP проектов. И так,вы знаете,что на любом сервере вы сталкивались с тем,что когда вы начинаете погоню за нарушителем,то большинство игроков выходят из игры во время погони. Теперь для вас,а точнее для вашей фракции ГИБДД или УВД будет намного проще и будет намного интереснее с данной функцией! И так,в чем суть данной команды, Полицейский ГИБДД или УВД водит команду и если игрок соответствует всем требованиям (т.е если он не в погоне и он находится в розыске,а так же рядом) то и полицейским и самому игроку пишет сообщение,что "Погоня начата", но тут самое улучшенное, если игрок надумает попросту выйти из игры(если крашнет,то да это плохо) то при заходе в игру он автоматически сажается в тюрьму,это тоже самое что и при задержание! Но если игрок не выйдет и будет уходить от погони,то через определенное расстояние между игроком и полицией будет большое,то погоня уже прекратиться до того момента,пока снова не ведут полицейские команду и ID игрока! Фух. Думаю все понятно с этим,теперь давайте уже перейдем к установке и настройки: Ко всем new: #define SendClientMessage SCM // если такой уже есть, этот не вставлять #define COLOR_WARNING 0xF7CA18AA new PursuitTimer[MAX_PLAYERS]; Ко всем командам,желательно возле команды наручники /cuff,что бы потом не потеряли: CMD:ps(playerid, params[]) { //проверку на фракцию if(sscanf(params, "d", params[0])) return SCM(playerid, COLOR_WARNING, "USAGE: /pursuit [id]"); if(GetPVarInt(playerid, "pursuited")) return SCM(playerid, COLOR_WARNING, "Вы уже ведете погоню! Для отмены /cancelps"); if(params[0] == playerid) return SCM(playerid, COLOR_WARNING, "Невозможно выполнить для самого себя!"); if(GetPVarInt(playerid, "paf") > gettime()) return SCM(playerid, COLOR_WARNING, "Можно использовать раз в 10 секунд!"); if(!IsPlayerConnected(params[0])) return SCM(playerid, COLOR_WARNING, "Игрок не подключен!"); new Float:x, Float:y, Float:z; GetPlayerPos(params[0], x, y, z); if(GetPlayerDistanceFromPoint(playerid, x, y, z) > 30) return SCM(playerid, COLOR_WARNING, "Вы слишком далеко от приследуемого! (более 30м)"); SetPVarInt(params[0], "pursuit", 1); SetPVarInt(playerid, "pursuited", params[0]); SCM(params[0], COLOR_WARNING, "[ВНИМАНИЕ!] За вами начали погоню полицейские. Если вы выйдите из игры, вы автоматически попадете в КПЗ!"); static const fmt_str[] = "[Dispatch Police] За вами начал погоню полицейский %s[%d]"; PlayCrimeReportForPlayer(playerid, params[0], 3); new name[MAX_PLAYER_NAME]; GetPlayerName(playerid, name, MAX_PLAYER_NAME]; new str[sizeof(fmt_str)+MAX_PLAYER_NAME+12]; format(str, sizeof(str), fmt_str, name, playerid); SCM(params[0], COLOR_WARNING, str); SCM(playerid, COLOR_WARNING, "Вы начали погоню за подозреваемым. Оставайтесь в радиусе 70 м, иначе погоня будет прекращена!"); SetPVarInt(playerid, "paf", gettime()+10); PursuitTimer[playerid] = SetTimerEx("TimerPursuit", 1000*3, true, "ii", playerid, params[0]); return true; } CMD:cancelps(playerid) { //проверка на фракцию if(!GetPVarInt(playerid, "pursuited")) return SCM(playerid, COLOR_WARNING, "Вы никого не приследовали! Действие невозможно!"); SCM(GetPVarInt(playerid, "pursuited"), COLOR_WARNING, "Погоня за вами прекращена!"); SCM(playerid, COLOR_WARNING, "Погоня прекращена!"); DeletePVar(GetPVarInt(playerid, "pursuited"), "pursuit"); DeletePVar(playerid, "pursuit"); DeletePVar(playerid, "paf"); return true; } В конец мода: forward TimerPursuit(playerid, pursuitid); public TimerPursuit(playerid, pursuitid) { new Float:x, Float:y, Float:z; GetPlayerPos(pursuitid, x, y, z); if(GetPlayerDistanceFromPoint(playerid, x, y, z) > 70) { SCM(pursuitid, COLOR_WARNING, "Погоня прекращена, так как полицейские отдалились более, чем на 70 м"); SCM(playerid, COLOR_WARNING, "Погоня завершена, вы отдалились более чем на 70 метров!"); DeletePVar(pursuitid, "pursuit"); DeletePVar(playerid, "pursuitid"); DeletePVar(playerid, "paf"); KillTimer(PursuitTimer[playerid]); return true; } return true; } Ну и В OnPlayerDisconnect: if(GetPVarInt(playerid, "pursuit") == 1) { /* ДАННЫЕ ФУНКЦИИ ЗАМЕНИТЬ НА СВОИ, ОБНУЛЕНИЕ РОЗЫСКА А ТАКЖЕ ВЫДАЧА ТЮРЬМЫ. 3600 - ЭТО ВРЕМЯ, 60 минут*/ PLAYER_DATA[playerid][data_JAIL] = 1; PLAYER_DATA[playerid][data_JAILTIME] = 3600; PLAYER_DATA[playerid][data_WANTED] = 0; /*КОНЕЦ ЗАМЕНЫ ОСТАЛЬНОЕ ВСЕ МОЖНО ОСТАВИТЬ*/ static const fmt_str[] = "%s был посажен в кпз на 60 минут. Причина: выход при погоне"; new text[sizeof(fmt_str)+MAX_PLAYER_NAME], names[MAX_PLAYER_NAME]; GetPlayerName(playerid, names, MAX_PLAYER_NAME]; format(text,sizeof(text),fmt_str, names); SendClientMessageToAll(-1,text); } Ну вот и все,все готово! Извините за большой текст в начале,как мог,так и объяснил вкратце! Всем спасибо за внимание! Автор: Stibs Автор слива: Marvellous (Я)
  18. Хай пипл. Тут один (давно) интересовался, как сделать что бы было две модели авто, но с разными текстурами одновременно. И приводил пример эвакуатора с ОРМа. Ну собственно сам секрет. Используется покрасочная работа- файл с текстурой, которая заменяет только сам "корпус." Крч. Расскажу на примере того же самого эвакуатора (с ОРМ (думаю они не обидятся) ). Имеем 2 файла текстуры - towtruck1.txd & towtruck.txd . В одном все текстуры, а во втором только "корпус". Добавим в мод: new evrik; evrik = AddStaticVehicle(525,-374.4628,662.8626,12.0010,270.4307,3,3); ChangeVehiclePaintjob( evrik, 0 ); new evrik1; evrik1 = AddStaticVehicle(525,-374.3501,648.3397,12.1706,17.6243,3,3); ChangeVehiclePaintjob( evrik1, 1 ); Где ChangeVehiclePaintjob( evrik1, 1 ); ChangeVehiclePaintjob функция смены покраски. evrik1 - объявленная переменная (или хз как её). "1" - id покрасочной работы.
  19. Здравствуйте , дорогие форумчане.Уроков от меня на форуме вообще не было.. Исправляюсь :) Многие задавались вопросом: "Как добавить картинку в мод-пак?" В основном, все спрашивают : "Как сделать логотип как на грин тече?". -Что-же нам для этого понадобится? Фотошоп TXD Workshop Прямые руки :), и конечно же , идея логотипа, или что вы там делаете . -В фотошопе (в моём случае делаем логотип) , создаём картинку 600x600. 1 - Пишем текст, допустим: cr-mp.ru,в слоях удаляем фон, после добавления текста, далее по желанию делаем обводку , градиентную заливку , что угодно. 2 - Следующим шагом будет добавление "альфа-канала". Нажимаем "Выделение >> Загрузить выделенную область". 3 - Но,тут же возникает вопрос(если есть обводка). "Как выделить обводку?"Это очень просто, нажимаем на, и выбираем "Преобразовать в смарт-объект". 4 - Проделываем шаг 2:) 5 - После нажимаем : "Выделение >>Сохранение выделенной области." 6- Пишем название : Допустим CR-MP.RU (я так всегда делал, типа альфа канал обозначал.) 7 - Далее, сохраняем в формате ".TGA" (Кто не знает : "Файл - Сохранить как - Формат targa (tga). Открываем TXD Workshop: 1 - Добавляем наш файл ( в моём случае это cr-mp.ru.tga) 2 - Нажимаем: "IMAGE >> Decompress All IMAGE" 3 - Далее : "IMAGE >> Compress All IMAGE". 4 - Сохраняем в (папку с игрой)/models/txd/mp_testyrok-pack.txd. Запускаем сервер с iPleoMax'сом. 1 - Нажимаем "New"(название) 2 - CreateTextdraw >> CreateTextureBox >> Создаем текстурбокс. 3 - Нажимаем на "Text" >> Далее пишем : ( mp_названиепака-pack:(название картинки) ). Добавить в мод его можно как обычный текстдрав. И да .. по поводу авторства: Автор: Первый(эт я )Пруфы есть xD Автор на cr-mp.ru : Vegas (я)
  20. Всем привет дорогие пользователи портала CR-MP Сегодня выложу вам полную команду для приветствие игроков на сервере, Это либо пожать руку,либо помахать рукой. Вырезаю со своего Samp мода, так что код,а именно переменные могут отличаться И так начнем: В enum pInfo { pSelectPlayer, pTargetPlayer, В if(newkeys == KEY_YES) // Y Это там где когда вам предлагают вылечиться вы нажимаете Y case ACTION_HI: { new targetid = pTemp[playerid][pTargetPlayer]; new Float:angle, string[64]; GetPlayerFacingAngle(targetid, angle); SetPlayerFacingAngle(playerid, angle + 180); format(string, sizeof(string), "пожал%s руку %s", (pInfo[targetid][pSex]==1)?(""):("а"), GetName(playerid)); MeAction(targetid, string); if(!IsPlayerInAnyVehicle(playerid)) ApplyAnimation(playerid, "GANGS", "hndshkfa", 4.1, 0, 1, 1, 0, 0, 1); if(!IsPlayerInAnyVehicle(targetid)) ApplyAnimation(targetid, "GANGS", "hndshkfa", 4.1, 0, 1, 1, 0, 0, 1); pTemp[playerid][pSelectPlayer] = INVALID_PLAYER_ID; pTemp[playerid][pTargetPlayer] = INVALID_PLAYER_ID; pTemp[targetid][pSelectPlayer] = INVALID_PLAYER_ID; pTemp[targetid][pTargetPlayer] = INVALID_PLAYER_ID; return pTemp[playerid][pTargetAction] = ACTION_NONE; } Так же у меня есть еще один enum { enum { ACTION_HI, ACTION_NONE }; Ну и саму команду В public OnPlayerCommandReceived CMD:hi(playerid, params[]) { if(sscanf(params, "d", params[0])) return SendClientMessage(playerid, COLOR_WHITE, "Введите: /hi [id игрока]"); else if(params[0] == INVALID_PLAYER_ID) return SendClientMessage(playerid, COLOR_GREY, PlayerIsNotOnline); else if(!gPlayerLogged[params[0]]) return SendClientMessage(playerid, COLOR_GREY, PlayerIsNotAuthorized); else if(params[0] == playerid) return 0; else if(GetPlayerState(playerid) == 9) return 0; else if(GetPlayerState(params[0]) == 9) return 0; else if(ZapretDice[params[0]] == 1) return SendClientMessage(playerid, COLOR_GREY, "[Ошибка] У игрока уже есть одно активное предложение!"); else if(pTemp[playerid][pSelectPlayer] != INVALID_PLAYER_ID) return SendClientMessage(playerid, COLOR_GREY, "[Ошибка] У вас уже есть одно активное предложение. Чтобы отказаться от него введите /cancel"); else if(pTemp[params[0]][pTargetPlayer] != INVALID_PLAYER_ID) return SendClientMessage(playerid, COLOR_GREY, "[Ошибка] У игрока уже есть одно активное предложение!"); new Float:X, Float:Y, Float:Z; GetPlayerPos(params[0], X, Y, Z); new Float:distance = GetPlayerDistanceFromPoint(playerid, X, Y, Z); if(distance < 1.5 && distance > 0.5) { SendMes(playerid, COLOR_BLUE, "Вы предлагаете %s пожать руку", GetName(params[0])); SendMes(params[0], COLOR_BLUE, "%s предлагает Вам пожать руку", GetName(playerid)); SendClientMessage(params[0], COLOR_WHITE, PlayerAccess); pTemp[playerid][pSelectPlayer] = params[0]; pTemp[params[0]][pTargetPlayer] = playerid; pTemp[params[0]][pTargetAction] = ACTION_HI; } else if(distance < 20.0) { new string[64]; format(string, sizeof(string), "помахал%s рукой %s", (pInfo[playerid][pSex]==1)?(""):("а"), GetName(params[0])); MeAction(playerid, string); if(!IsPlayerInAnyVehicle(playerid)) ApplyAnimation(playerid, "PED", "endchat_03", 4.1, 0, 1, 1, 0, 0, 1); } else SendClientMessage(playerid, COLOR_GREY, "Вы находитесь либо слишком близко от игрока, либо слишком далеко от игрока"); return 1; } Теперь изменяем следующее под свой мод: pTemp - pInfo - PI - у всех по разному Думаю ни что не забыл. Если что пишите помогу установить,если у кого то будут ошибки. Всем спасибо Автор слива: Marvellous (Я) При копирование данного урока на другие порталы,указывайте ссылку и автора темы!
  21. Здарова бандиты. На любой сервер нужен спидометр, в каждом спидометре должна быть скорость авто, но как ее найти? Все просто, для этого есть специальный сток, который вычисляет из координат скорость, там целая система, ну короче, если захотите - разберетесь. В общем, вот этот сток, использую его в своем моде: stock GetPlayerSpeed(playerid) { new Float:ST[4]; if(IsPlayerInAnyVehicle(playerid))GetVehicleVelocity(GetPlayerVehicleID(playerid),ST[0],ST[1],ST[2]); else GetPlayerVelocity(playerid,ST[0],ST[1],ST[2]); ST[3] = floatsqroot(floatpower(floatabs(ST[0]), 2.0) + floatpower(floatabs(ST[1]), 2.0) + floatpower(floatabs(ST[2]), 2.0)) * 150.0;// можете и на 100.0, это короче скорость получается return floatround(ST[3]); } Можете использовать теперь ее, как: GetPlayerSpeed(ID игрока).
  22. Всем привет дорогие пользователи портала CR-MP Сейчас хотел вам выложить такой мануал,а именно Все мы знаем,что в игре между Имя и Фамилия есть такой символ "_" Теперь давайте его уберем и сделаем как в реальной жизни Подойдет как раз для RP проектов Весь код вставляем в конец мода: Это вернет ваше имя Ivan stock pName(playerid) { new nick[MAX_PLAYER_NAME]; GetPlayerName(playerid, nick, MAX_PLAYER_NAME); new getspace = strfind(nick, "_", true); if(getspace != -1) strdel(nick, getspace, sizeof(nick)); return nick; } Далее: Это вернет вашу фамилию Ivanov stock pLastName(playerid) { new nick[MAX_PLAYER_NAME]; GetPlayerName(playerid, nick, MAX_PLAYER_NAME); new getspace = strfind(nick, "_", true); if(getspace != -1) strdel(nick, 0, getspace+1); return nick; } Ну и последнее: Это вернет уже разделено Ivan Ivanov stock pNameEx(playerid) { new nick[MAX_PLAYER_NAME]; GetPlayerName(playerid, nick, MAX_PLAYER_NAME); new getspace = strfind(nick, "_", true); if(getspace != -1) nick[getspace] = ' '; return nick; } Всем спасибо за внимание! Автор системы: Dest Автор слива: Marvellous (Я)
  23. Marvellous

    TD - Админ Панель

    Всем привет дорогие пользователи портала CR-MP Нашел как то на просторах интернета. Как по мне нормально сделано,из-за чего и выкладываю для вас сюда. P.S Для таких людей,которые говорят,это есть на других порталах,отвечаю,я и не скрываю ни в одной моей теме,если я сливаю с других порталов,то указываю,что нашел на просторах интернета! Это одно и то же! [spoiler=Скрин] Вот собственно и сам код: new Text:Textdraw0; new Text:Textdraw1; new Text:Textdraw2; new Text:Textdraw3; Textdraw0 = TextDrawCreate(528.250000, 430.249969, "usebox"); TextDrawLetterSize(Textdraw0, 0.000000, 1.241201); TextDrawTextSize(Textdraw0, 66.125000, 0.000000); TextDrawAlignment(Textdraw0, 1); TextDrawColor(Textdraw0, 0); TextDrawUseBox(Textdraw0, true); TextDrawBoxColor(Textdraw0, 7973375); TextDrawSetShadow(Textdraw0, 0); TextDrawSetOutline(Textdraw0, 0); TextDrawFont(Textdraw0, 0); Textdraw1 = TextDrawCreate(526.375000, 431.416656, "usebox"); TextDrawLetterSize(Textdraw1, 0.000000, 0.988888); TextDrawTextSize(Textdraw1, 145.500000, 0.000000); TextDrawAlignment(Textdraw1, 1); TextDrawColor(Textdraw1, 0); TextDrawUseBox(Textdraw1, true); TextDrawBoxColor(Textdraw1, 224); TextDrawSetShadow(Textdraw1, 0); TextDrawSetOutline(Textdraw1, 0); TextDrawFont(Textdraw1, 0); Textdraw2 = TextDrawCreate(78.125000, 428.749847, "Cheat"); TextDrawLetterSize(Textdraw2, 0.409372, 1.366665); TextDrawAlignment(Textdraw2, 1); TextDrawColor(Textdraw2, -1); TextDrawSetShadow(Textdraw2, 0); TextDrawSetOutline(Textdraw2, 1); TextDrawBackgroundColor(Textdraw2, 51); TextDrawFont(Textdraw2, 2); TextDrawSetProportional(Textdraw2, 1); Textdraw3 = TextDrawCreate(147.500000, 429.333312, "__-1_/__-1_/__-1_/__-1_/__-1_/__-1_/__-1_/__-1_/__-1_/__-1_/"); TextDrawLetterSize(Textdraw3, 0.403124, 1.220831); TextDrawAlignment(Textdraw3, 1); TextDrawColor(Textdraw3, -1); TextDrawSetShadow(Textdraw3, 0); TextDrawSetOutline(Textdraw3, 1); TextDrawBackgroundColor(Textdraw3, 51); TextDrawFont(Textdraw3, 2); TextDrawSetProportional(Textdraw3, 1); Автор: #BELOFF Автор слива: Marvellous (Я)
  24. Marvellous

    TD - Капты.

    Всем привет дорогие пользователи портала CR-MP Нашел как то на просторах интернета. Как по мне нормально сделано,из-за чего и выкладываю для вас сюда. P.S Для таких людей,которые говорят,это есть на других порталах,отвечаю,я и не скрываю ни в одной моей теме,если я сливаю с других порталов,то указываю,что нашел на просторах интернета! Это одно и то же! [spoiler=Скрин] new Text:Textdraw0; new Text:Textdraw1; new Text:Textdraw2; new Text:Textdraw3; new Text:Textdraw4; new Text:Textdraw5; new Text:Textdraw6; new Text:Textdraw7; new Text:Textdraw8; new Text:Textdraw9; new Text:Textdraw10; Textdraw0 = TextDrawCreate(625.500000, 348.077819, "1"); TextDrawLetterSize(Textdraw0, 0.000000, 9.362341); TextDrawTextSize(Textdraw0, 469.000000, 0.000000); TextDrawAlignment(Textdraw0, 1); TextDrawColor(Textdraw0, 16777215); TextDrawUseBox(Textdraw0, true); TextDrawBoxColor(Textdraw0, 16777215); TextDrawSetShadow(Textdraw0, 0); TextDrawSetOutline(Textdraw0, 0); TextDrawFont(Textdraw0, 0); Textdraw1 = TextDrawCreate(630.500000, 343.722229, "usebox"); TextDrawLetterSize(Textdraw1, 0.000000, 10.468517); TextDrawTextSize(Textdraw1, 464.500000, 0.000000); TextDrawAlignment(Textdraw1, 1); TextDrawColor(Textdraw1, 0); TextDrawUseBox(Textdraw1, true); TextDrawBoxColor(Textdraw1, 102); TextDrawSetShadow(Textdraw1, 0); TextDrawSetOutline(Textdraw1, 0); TextDrawFont(Textdraw1, 0); Textdraw2 = TextDrawCreate(503.500000, 346.577789, "War Info:"); TextDrawLetterSize(Textdraw2, 0.451498, 1.649778); TextDrawAlignment(Textdraw2, 1); TextDrawColor(Textdraw2, 255); TextDrawSetShadow(Textdraw2, 0); TextDrawSetOutline(Textdraw2, 0); TextDrawBackgroundColor(Textdraw2, 51); TextDrawFont(Textdraw2, 2); TextDrawSetProportional(Textdraw2, 1); Textdraw3 = TextDrawCreate(474.000000, 381.177917, "hud:radar_emmetGun"); TextDrawLetterSize(Textdraw3, 0.449999, 1.600000); TextDrawTextSize(Textdraw3, 20.000000, 11.822223); TextDrawAlignment(Textdraw3, 1); TextDrawColor(Textdraw3, -1); TextDrawSetShadow(Textdraw3, 0); TextDrawSetOutline(Textdraw3, 1); TextDrawBackgroundColor(Textdraw3, 51); TextDrawFont(Textdraw3, 4); TextDrawSetProportional(Textdraw3, 1); Textdraw4 = TextDrawCreate(474.000000, 398.355590, "hud:radar_emmetGun"); TextDrawLetterSize(Textdraw4, 0.449999, 1.600000); TextDrawTextSize(Textdraw4, 20.000000, 11.822223); TextDrawAlignment(Textdraw4, 1); TextDrawColor(Textdraw4, -1); TextDrawSetShadow(Textdraw4, 0); TextDrawSetOutline(Textdraw4, 1); TextDrawBackgroundColor(Textdraw4, 51); TextDrawFont(Textdraw4, 4); TextDrawSetProportional(Textdraw4, 1); Textdraw5 = TextDrawCreate(496.000000, 378.933380, "Russian Mafia:"); TextDrawLetterSize(Textdraw5, 0.194000, 1.581333); TextDrawAlignment(Textdraw5, 1); TextDrawColor(Textdraw5, -1); TextDrawSetShadow(Textdraw5, 0); TextDrawSetOutline(Textdraw5, 1); TextDrawBackgroundColor(Textdraw5, 51); TextDrawFont(Textdraw5, 2); TextDrawSetProportional(Textdraw5, 1); Textdraw6 = TextDrawCreate(559.500000, 378.933410, "11"); TextDrawLetterSize(Textdraw6, 0.391499, 1.631111); TextDrawAlignment(Textdraw6, 1); TextDrawColor(Textdraw6, -1); TextDrawSetShadow(Textdraw6, 0); TextDrawSetOutline(Textdraw6, 1); TextDrawBackgroundColor(Textdraw6, 51); TextDrawFont(Textdraw6, 2); TextDrawSetProportional(Textdraw6, 1); Textdraw7 = TextDrawCreate(495.000000, 396.355621, "Japan Mafia:"); TextDrawLetterSize(Textdraw7, 0.221999, 1.506664); TextDrawAlignment(Textdraw7, 1); TextDrawColor(Textdraw7, -1); TextDrawSetShadow(Textdraw7, 0); TextDrawSetOutline(Textdraw7, 1); TextDrawBackgroundColor(Textdraw7, 51); TextDrawFont(Textdraw7, 2); TextDrawSetProportional(Textdraw7, 1); Textdraw8 = TextDrawCreate(559.500000, 395.733489, "14"); TextDrawLetterSize(Textdraw8, 0.319000, 1.593776); TextDrawAlignment(Textdraw8, 1); TextDrawColor(Textdraw8, -1); TextDrawSetShadow(Textdraw8, 0); TextDrawSetOutline(Textdraw8, 1); TextDrawBackgroundColor(Textdraw8, 51); TextDrawFont(Textdraw8, 2); TextDrawSetProportional(Textdraw8, 1); Textdraw9 = TextDrawCreate(517.500000, 360.266723, "ld_grav:timer"); TextDrawLetterSize(Textdraw9, 0.449999, 1.600000); TextDrawTextSize(Textdraw9, 21.000000, 14.933332); TextDrawAlignment(Textdraw9, 1); TextDrawColor(Textdraw9, -1); TextDrawSetShadow(Textdraw9, 0); TextDrawSetOutline(Textdraw9, 1); TextDrawBackgroundColor(Textdraw9, 51); TextDrawFont(Textdraw9, 4); TextDrawSetProportional(Textdraw9, 1); Textdraw10 = TextDrawCreate(541.000000, 359.644439, "5:00"); TextDrawLetterSize(Textdraw10, 0.449999, 1.600000); TextDrawAlignment(Textdraw10, 1); TextDrawColor(Textdraw10, -1); TextDrawSetShadow(Textdraw10, 0); TextDrawSetOutline(Textdraw10, 1); TextDrawBackgroundColor(Textdraw10, 51); TextDrawFont(Textdraw10, 2); TextDrawSetProportional(Textdraw10, 1); Автор: Неизвестен
×

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

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