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

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

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

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

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

Тип контента


Форумы

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

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

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


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

  • Начало

    Конец


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

  • Начало

    Конец


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

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

  1. Привет! Команда для подачи обьявления Сама команда: if(strcmp(cmd, "/advertise", true) == 0 || strcmp(cmd, "/ad", true) == 0) { if(IsPlayerConnected(playerid)) { if(gPlayerLogged[playerid] == 0) { SendClientMessage(playerid, COLOR_GREY, "Вы не АВТОРИЗИРОВАНЫ!"); return 1; } if(PlayerInfo[playerid][pMuteTime] > 0) { SendClientMessage(playerid,COLOR_GREY," Тебя заткнули,наверно много говорил!"); return 1; } if(PlayerInfo[playerid][pJailed] > 0) { SendClientMessage(playerid, COLOR_GRAD2, "Вы заключены в тюрьму. Вы сейчас не можете давать объявления."); return 1; } if(PlayerInfo[playerid][pMuted] == 1) { SendClientMessage(playerid, TEAM_CYAN_COLOR, "Вы не имеете прав давать рекламу."); return 1; } if(PlayerInfo[playerid][pLevel] { SendClientLangMessage(0, playerid, TEAM_CYAN_COLOR, "Рекламу можно давать минимум со 2-го уровня."); return 1; } if(adlimit[playerid] > 0) { SendClientLangMessage(0, playerid, TEAM_CYAN_COLOR, "Ваш лимит исчерпан. Обьявление можно давать не более одного раза в час."); return 1; } GetPlayerName(playerid, sendername, sizeof(sendername)); new length = strlen(cmdtext); while ((idx { idx++; } new offset = idx; new result[64]; while ((idx { result[idx - offset] = cmdtext[idx]; idx++; } result[idx - offset] = EOS; new is1=0; new r=0; while(strlen(cmdtext[is1])) { if('0' { new is2=is1+1; new p=0; while(p==0) { if('0' else { strmid(strR[r],cmdtext,is1,is2,255); if(strval(strR[r]) is1=is2; p=1; } } } is1++; } if(r>=4) { new STRname[255]; GetPlayerName(playerid,STRname,255); format(string, sizeof(string), "Подозрение на рекламу %s (ID:%d)",sendername,playerid); ABroadCast(COLOR_LIGHTRED,string,1); for(new z=0;z { new pr2; while((pr2=strfind(cmdtext,strR[z],true))!=-1) for(new i=pr2,j=pr2+strlen(strR[z]);i } return 1; } if(!strlen(result)) { SendClientMessage(playerid, COLOR_GRAD2, "ИНФО: (/ad)vertise [advert text]"); return 1; } new payout = idx * 2; if(GetPlayerMoney(playerid) { format(string, sizeof(string), "* Вы использовали %d знаков, ценой %d руб., но у вас нет денег чтобы заплатить!", offset, payout); SendClientMessage(playerid, COLOR_LIGHTBLUE, string); return 1; } ServerGivePlayerMoney(playerid, - payout); SBizzInfo[7][sbTill] += payout; ExtortionSBiz(7, payout); format(string, sizeof(string), "** %s | Телефон: %d |**", result,PlayerInfo[playerid][pPnumber]); OOCNews(TEAM_GROVE_COLOR,string); adlimit[playerid] = 1; format(string, sizeof(string), "~r~Paid %d PY—.~n~~w~Message contained: %d Characters", payout, idx); GameTextForPlayer(playerid, string, 5000, 5); format(string, sizeof(string), "Объявление дал: %s (ID:%d)",sendername,playerid); ABroadCast(COLOR_LIGHTRED,string,1); } return 1; } Переменная new adlimit[MAX_PLAYERS]; Готово Автор: SHAMAN
  2. Smolin

    Ретекстур объекта

    Доброго времени суток. В этом примере я расскажу, как сделать ретекстур объектов. Для начала скачиваем программу Map Editor Цель работы: Научиться пользоваться функцией SetObjectMaterial. Прямая ссылка на источник на wiki SetObjectMaterial Переходим к практике. Открываем Map Editor, ставите объект, куда захотите и какой хотите, в моем случае - киоск (ID: 4638). Помечено галочками - что собрался ретекстурить. Текстура в моем случае будет ID: 4442 (гараж). Жмем на киоск 2 раза и откроется окно: Видим Model Textures Где написано Material: ... - индексы у нас их 10, придется подбирать индекс/ы, я уже подобрал - 10 (Material: 10 split: 10 Tex: brusch). Открываем .txd объекта, у которого будем брать текстуру и копируем название текстуры. В моем случае - будет самая первая текстура (gar_wall1) объекта гаража (4442): Для того, чтобы открыть текстуры объекта, скачиваем эту программу TXD Workshop Теперь всё основное у нас есть. Переходим к заключению. Открываем ваш GM (gamemode) и переходим в паблик OnGameModeInit. В любое место этого коллбэка вставляем: new- переменная объекта (назвать можно по-разному) переменная = CreateDynamicObject(4638, -343.51, 433.54, 11.70, 0.00, 0.00, 0.00); - объект киоска SetDynamicObjectMaterial(вставляем переменную, индекс (в моем случае это 10-ый), ид объекта у которого брали текстуру (в моем случае - гараж), "название текстуры гаража (gen_garages)", "название текстуры (в моем случае (gar_wall1)", по умолчанию здесь оставляем значение - 0); Выходит у нас так: new kiosk; kiosk = CreateDynamicObject(4638, -343.51, 433.54, 11.70, 0.00, 0.00, 0.00); SetDynamicObjectMaterial(kiosk, 10, 4442, "gen_garages", "gar_wall1", 0); Наглядный пример работоспособности: На этом всё, Господа, советую почитать сабж от SHOROOP'a - Почему не стоит злоупотре######ть изменением материалов (нюансы SetObjectMaterial) (http://cr-mp.ru/forum/topic/15110-pochemu-ne-stoit-zloupotrebliat-izmeneniem-mat/) P.S: на крышу киоска не обращайте внимание - стоит мод - зима SHOROOP'a. Остальные вопросы, касающиеся этому сабжу - задавайте здесь.
  3. TextDraw при смерти как в GTA V. Подойдет как для Crmp так и для Samp Ко всем new добавить: new Text:Wasted[MAX_PLAYERS], Text:Wasted1[MAX_PLAYERS], Text:Wasted2[MAX_PLAYERS], Text:Wasted3[MAX_PLAYERS]; В public OnPlayerConnect(playerid) //Wasted Wasted[playerid] = TextDrawCreate(720.243469, -122.166549, "usebox"); TextDrawLetterSize(Wasted[playerid], 0.306881, 116.333961); TextDrawTextSize(Wasted[playerid], -1222.372070, 0.000000); TextDrawAlignment(Wasted[playerid], 1); TextDrawColor(Wasted[playerid], 0); TextDrawUseBox(Wasted[playerid], true); TextDrawBoxColor(Wasted[playerid], 102); TextDrawSetShadow(Wasted[playerid], 0); TextDrawSetOutline(Wasted[playerid], 0); TextDrawFont(Wasted[playerid], 0); Wasted1[playerid] = TextDrawCreate(1369.141845, 148.499908, "usebox"); TextDrawLetterSize(Wasted1[playerid], -0.071681, 12.002384); TextDrawTextSize(Wasted1[playerid], -1287.496459, 48.416664); TextDrawAlignment(Wasted1[playerid], 1); TextDrawColor(Wasted1[playerid], 0); TextDrawUseBox(Wasted1[playerid], true); TextDrawBoxColor(Wasted1[playerid], 102); TextDrawSetShadow(Wasted1[playerid], 0); TextDrawSetOutline(Wasted1[playerid], 0); TextDrawFont(Wasted1[playerid], 0); Wasted2[playerid] = TextDrawCreate(248.316223, 182.583267, "WASTED"); TextDrawLetterSize(Wasted2[playerid], 1.045490, 4.079166); TextDrawAlignment(Wasted2[playerid], 1); TextDrawColor(Wasted2[playerid], -16776961); TextDrawSetShadow(Wasted2[playerid], 0); TextDrawSetOutline(Wasted2[playerid], 1); TextDrawBackgroundColor(Wasted2[playerid], 51); TextDrawFont(Wasted2[playerid], 3); TextDrawSetProportional(Wasted2[playerid], 1); Wasted3[playerid] = TextDrawCreate(295.168579, 218.750000, "Ваш сервер"); TextDrawLetterSize(Wasted3[playerid], 0.320686, 0.934997); TextDrawAlignment(Wasted3[playerid], 1); TextDrawColor(Wasted3[playerid], -1); TextDrawSetShadow(Wasted3[playerid], 0); TextDrawSetOutline(Wasted3[playerid], 1); TextDrawBackgroundColor(Wasted3[playerid], 51); TextDrawFont(Wasted3[playerid], 1); TextDrawSetProportional(Wasted3[playerid], 1); В public OnPlayerDisconnect(playerid,reason) TextDrawDestroy(Wasted[playerid]); TextDrawDestroy(Wasted1[playerid]); TextDrawDestroy(Wasted2[playerid]); TextDrawDestroy(Wasted3[playerid]); В public OnPlayerDeath(playerid, killerid, reason) TextDrawShowForPlayer(playerid, Wasted[playerid]); TextDrawShowForPlayer(playerid, Wasted1[playerid]); TextDrawShowForPlayer(playerid, Wasted2[playerid]); TextDrawShowForPlayer(playerid, Wasted3[playerid]); В public OnPlayerSpawn(playerid) TextDrawHideForPlayer(playerid, Wasted[playerid]); TextDrawHideForPlayer(playerid, Wasted1[playerid]); TextDrawHideForPlayer(playerid, Wasted2[playerid]); TextDrawHideForPlayer(playerid, Wasted3[playerid]); Автор:неизвестный
  4. Здравствуйте! Команда показывает модераторов которые в онлайне Сама команда if (strcmp(cmd,"/moderators",true)==0) { if(IsPlayerConnected(playerid)) { SendClientMessage(playerid, COLOR_YELLOW, "Модераторы Онлайн"); for(new i = 0; i { if(IsPlayerConnected(i)) { if(PlayerInfo[i][pModerators] >= 1 && PlayerInfo[i][pModerators] { new admtext[64]; switch(PlayerInfo[i][pModerators]) { case 6:admtext = "6 LvL Модератор"; case 5:admtext = "5 LVL Модератор"; case 4:admtext = "Гл.Модератор"; case 3:admtext = "Модератор"; case 2:admtext = "Ст.Модератор"; case 1:admtext = "Мл.Модератор"; default:admtext = "Не известный Модератор"; } GetPlayerName(i, sendername, sizeof(sendername)); if(HelperDuty[i] == 0) { strdel(string, 0, sizeof(string)); format(string, 200, "{32CD32}%s: %s ID %d\n", admtext, sendername, i); strcat(str,string); } else { strdel(string, 0, sizeof(string)); format(string, 200, "{32CD32}%s: %s (Задавайте вопросы) ID |%d|\n", admtext, sendername, i); strcat(str,string); } } } } } return true; } Готово! Автор: Artyom_Kurzov
  5. Здравствуйте! Эта команда что то типа Мегофона Сама команда if(strcmp(cmd, "/stop", true) == 0 || strcmp(cmd, "/st", true) == 0) { if(IsPlayerConnected(playerid)) { GetPlayerName(playerid, sendername, sizeof(sendername)); if(gTeam[playerid] == 2 || IsACop(playerid)) { if(PlayerInfo[playerid][pMember] == 1||PlayerInfo[playerid][pLeader] == 1) { format(string, sizeof(string), "[Сотрудник ГИБДД %s:**(((Прижмитесь к обочине))) Сохраняйте спокойствие- проверка документов]", sendername); ProxDetector(60.0, playerid, string,COLOR_YELLOW,COLOR_YELLOW,COLOR_YELLOW,COLOR_YELLOW,COLOR_YELLOW); } else if(PlayerInfo[playerid][pMember] == 20||PlayerInfo[playerid][pLeader] == 20) { format(string, sizeof(string), "[Сотрудник ППС %s:**(((Прижмитесь к обочине))) Сохраняйте спокойствие- проверка документов]", sendername); ProxDetector(60.0, playerid, string,COLOR_YELLOW,COLOR_YELLOW,COLOR_YELLOW,COLOR_YELLOW,COLOR_YELLOW); } printf("%s", string); } else { SendClientMessage(playerid, COLOR_GRAD2, "Вы не ГИБДД/ППС !"); return 1; } } } Автор: Lacoste
  6. Здравствуйте! Команда для показа новостей сервера В в public OnPlayerCommandText: if(strcmp(cmd, "/news", true) == 0) { ShowPlayerDialog(playerid, 1000, DIALOG_STYLE_LIST, "Новости", "12.05.16 - обновление админки\n13.05.16 - новое место спавна\n14.05.16 - анимации больше нет\n14.05.16 - автовокзал у телебшни", "Читать", "Закрыть"); return 1; } public OnDialogResponse: if(dialogid == 1000) { if(response) { if(listitem == 0) { ShowPlayerDialog(playerid, 1001, DIALOG_STYLE_MSGBOX, "Обновление админки", "Сегодня администраторский раздел обновился. Теперь\nдля входа нужно написать команду /авход. После включается хп и\nадмин-команды.", "Ок", "Отмена"); } if(listitem == 1) { ShowPlayerDialog(playerid, 1002, DIALOG_STYLE_MSGBOX, "Новое место спавна", "Теперь все игроки будут появляться у Останкинской\n телебашни.", "Ок", "Отмена"); } if(listitem == 2) { ShowPlayerDialog(playerid, 1003, DIALOG_STYLE_MSGBOX, "Анимации больше нет", "Администрация сервера постановила указ о запрете ани-\nмации. Пользователи не соблюдали его (их список можно узнать у\n Создателя) и было решено удалить анимацию.", "Ок", "Отмена"); } if(listitem == 3) { ShowPlayerDialog(playerid, 1004, DIALOG_STYLE_MSGBOX, "Автовокзал у телебашни", "На сервере появился автовокзал №3. Его построили\n у Останкинской телебашни.\nСписок автовокзалов\n№1 - у Кремля\n№2 - у вокзала Южного\n№3 - у Останкинской телебашни.", "Ок", "Отмена"); } } } Готово! Автор: danilasar
  7. Здравствуйте! Эта команда для скрытия или показа ника Сама команда if (strcmp("/nameoff", cmdtext, true) == 0) // Команда,меняете на свою. { // Можете поставить проверку на администратора.(По желанию.) for(new i = 0; i ShowPlayerNameTagForPlayer(playerid, i, false); // Убираем ники всех игроков. return 1; } if (strcmp("/nameon", cmdtext, true) == 0) // Команда,меняете на свою. { // Можете поставить проверку на администратора.(По желанию.) for(new i = 0; i ShowPlayerNameTagForPlayer(playerid, i, true); // Показываем ники всех игроков return 1; } Автор: Неизвестно
  8. Здравствуйте! Всем привет, сегодня я выложу для вас команду, которая называется "Уголовный Кодекс". В этом Уголовном Кодексе вы можете узнать сколько и за что дают звёзды, команда полезна, особенно для слабых компьютеров, ибо не заходить на форум.. Вообщем команда совсем легкая, кому нужна, берём. Добавляем ко всем 3Dtext: Create3DTextLabel("{ffdb58}Уголовный Кодекс\n{ffffff}Введите {ffdb58}/uk {ffffff}для прочтения.",0xFFFFFFFF,256.9379,64.6946,1003.6406,20.0,1,1); Создаём команду if(strcmp(string, "/uk", true) == 0) { if(gPlayerLogged[playerid] == 1) { if(PlayerToPoint(3.0, playerid, 256.9379,64.6946,1003.6406)) { new ukzubec[][] = { { "1.Покушение на человека - 2 звезды.\n" } , { "2.Покушение на законника - 3 звезды.\n" } , { "3.Стрельба по транспорту/человеку - 2 звезды.\n" } , { "4.Оскорбление человека - 1 звезда.\n" } , { "5.Оскорбление сотрудника Закона - 2 звезды.\n" } , { "6.Хранение наркотиков/материалов- 2 звезды.\n" } , { "7.Уход от проверки Правоохранительных Органов - 2 звезды.\n" } , { "8.Нарушение ПДД - 1 звезда.\n" } , { "9.Покрытие убийцы- 1 звезда.\n" } , { "10.Ложный вызов - 1 звезда.\n" } , } ; new dialogzub[600]; for(new i; i SPD(playerid,174,DIALOG_STYLE_MSGBOX,"Уголовный Кодексñ", dialogzub, "Закрыть", ""); return true; } } return 1; }
  9. Здравствуй! Команда цепляет авто к эвакуатору. Подойдет для RolePlay-модов Сама команда if(strcmp(cmd,"/tow",true)==0) { if (GetVehicleModel(GetPlayerVehicleID(playerid)) == 525) // Проверка на модель эвакуатора { SendClientMessage(playerid,0xFFFF00AA,"Пытаюсь взять машину на буксир"); new Float:pX,Float:pY,Float:pZ; GetPlayerPos(playerid,pX,pY,pZ); new Float:vX,Float:vY,Float:vZ; new Found=0; new vid=0; while((vid { vid++; GetVehiclePos(vid,vX,vY,vZ); if ((floatabs(pX-vX) { Found=1; if (IsTrailerAttachedToVehicle(GetPlayerVehicleID(playerid))) { DetachTrailerFromVehicle(GetPlayerVehicleID(playerid)); } AttachTrailerToVehicle(vid,GetPlayerVehicleID(playerid)); SendClientMessage(playerid,0xFFFF00AA,"Взял!"); } } if (!Found) { SendClientMessage(playerid,0xFFFF00AA,"Поблизости ниодной машины."); } } return 1; } Готово! Автор: zoloto565
  10. Привет! Удаление авто с сервера без cars.cfg на MxINI Сама команда if(strcmp(cmd, "/deletecar", true) == 0) { if(IsPlayerConnected(playerid)) { if(PlayerInfo[playerid][pAdmin] == 10) { new cars = GetPlayerVehicleID(playerid); new carids = CarInfo[cars][cID]; new sss[50]; format(string,sizeof(string),"cars/%d.ini",carids); fremove(string); format(sss,sizeof(sss),"Автомобиль ID %d успешно удалён с сервера",carids); SCM(playerid,-1,sss); DestroyVehicle(cars); new iniOpen = ini_openFile("cars.cfg"); ini_setInteger(iniOpen, "AllCars", AllCars); ini_closeFile(iniOpen); } } return 1; } Инструкция для новичков cars/%d.ini это путь к папке,в которой находятся файлы авто После редактирования должно быть примерно так vehicles/%d.ini (vehicles - название папки, %d.ini не трогаем) cars.cfg - конфиг файл,лежащий в папке scriptfiles,в нём записана всего одна строчка - AllCars = a (a - любое число больше нуля) Он может называться по другому,для редактирования естественно меняем в коде название файла "cars.cfg" на ваше Команду закинуть в OnPlayerCommandText Автор: ReLogMan
  11. Привет! Создаём саму команду Автор: MADDD if(strcmp(cmd, "/tehpass", true) == 0) { if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, COLOR_GRAD2, "Ты должен быть автомобиле."); tmp = strtok(cmdtext, idx); if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_WHITE, "[Подсказка]: /tehpass [id]"); giveplayerid = ReturnUser(tmp); if(!IsPlayerConnected(giveplayerid)) return NoPlayerConnect; if(giveplayerid == INVALID_PLAYER_ID) return NetotID; if(!ProxDetectorS(8.0, playerid, giveplayerid)) return SendClientMessage(playerid, COLOR_GRAD2, "Игрок находится не рядом с вами."); new carid = GetPlayerVehicleID(playerid), str[128], sctring[238], stringacc[64]; 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); format(stringacc,sizeof(stringacc),"{33CCFF}ПТС Гражданина: {ffffff}%s",sendername); ShowPlayerDialog(giveplayerid,4567,DIALOG_STYLE_MSGBOX,stringacc,sctring,"Закрыть",""); format(str, sizeof(str), "%s показал ПТС игроку %s.", sendername, giveplayer); ProxDetector(30.0, playerid, str, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE); return 1; } Ко всем #define добавить: #define NetotID SendClientMessage(playerid,COLOR_GRAD2, "Неверый ID игрока.") #define NoPlayerConnect SendClientMessage(playerid,COLOR_GRAD2, "Этот игрок не подключен к серверу.")
  12. Как всегда привет! Вот вам команда для тестирования ПДД в автошколе Создаём команду //Тестирование ПДД============================================================== if(strcmp(cmdtext, "/teststart",true)==0) { if(IsPlayerConnected(playerid)) { if(PlayerToPoint(3.0, playerid,2144.6,-2196.5,23.2)) //Место где можно сдать на права { if(PlayerInfo[playerid][pLevel] > 0) { if(PlayerInfo[playerid][pCarLicB] { if(pTestPDD[playerid] == 0) { if(PlayerInfo[playerid][pMoney] >= 600) { GameTextForPlayer(playerid, "~r~…®C¦PYK¦A„",5000,3); TogglePlayerControllable(playerid,0); IO1(playerid); SetTimerEx("IO2", 5000, 0, "d", playerid); SetTimerEx("IO3", 5000, 0, "d", playerid); SetTimerEx("IO4", 5000, 0, "d", playerid); SetTimerEx("IO5", 5000, 0, "d", playerid); SetTimerEx("IO6", 5000, 0, "d", playerid); } else { SendClientMessage(playerid, COLOR_GREY, "[Инструктор]: Вам не хватает денег, чтобы пройти тест!"); return 1; } } else { SendClientMessage(playerid, COLOR_GREY, "[Инструктор]: Вы уже находитесь на испытании!"); return 1; } } else { SendClientMessage(playerid, COLOR_GREY, "[Инструктор]: У вас уже есть водительские права!"); return 1; } } else { SendClientMessage(playerid, COLOR_GREY, "[Сервер]: 1 и более лвл должен быть."); return 1; } } } return 1; } //============================================================================== Готово! Автор: Я
  13. Привет ребята форума cr-mp.ru! Как обычно из названия всё должно быть понятно В public OnPlayerCommandText if(strcmp(cmd,"/color",true)==0)// { if(!PlayerInfo[playerid][pAdmin] == 0) { SetPlayerColor(playerid,0x68000088); //цвет можно изменить на свой ищите цвета на сайте cr-mp.ru } else { SendClientMessage(playerid,COLOR_LIGHTRED,"Вы не являетесь администратором!"); } return 1; } /color - сам команда pAdmin == 0 - проверка на администратора SetPlayerColor - собственно выдача цвета на ник Автор: Я
  14. Привет ребята! Суть команды в том, что она выбивает всех игроков с одинаковым IP-адресом не важно онлайн игрок или же оффлайн Добавляем ко всем new: new pgetip[1500] // значение можете увеличить так-как если больше 4 аккаунтов, текст пропадает Далее сама команда (zcmd + sscanf): CMD:pgetip(playerid, params[]) { if(PlayerInfo[playerid][pAdmin] >= 3) // ранг администратора { new username[MAX_PLAYER_NAME], playerip[16], pgetips[256], TOTALPGETIP = 0, level, money, info2[256]; if(sscanf(params,"s[16]", params[0])) return SCM(playerid, COLOR_WHITE, "Введите: /pgetip [ip]"); format(query, sizeof(query), "SELECT Name, Ip, Level, Money FROM "TABLE_ACCOUNT" WHERE Ip = '%s'", params[0]); // тут меняйте все под себя mysql_query(query); mysql_store_result(); format(info2, sizeof(info2), "{FFFFFF}Совпадение аккаунтов по IP-адресу: {C1C1C1}%s{FFFFFF}\n\n\ {5891C6}№\t\tИмя\t\t\tIP\t\t\tУровень\t\tДеньги\n\n{FFFFFF}", params[0]); strcat(pgetips, info2); if(!mysql_num_rows()) return SCM(playerid, COLOR_WHITE,"Ошибка: Совпадений не найдено."); // если нету данных по ip-адресу for(new f; f != mysql_num_rows(); f++) { mysql_fetch_row(query); sscanf(query, "ps[32]s[16]ii", username, playerip, level, money); TOTALPGETIP++; format(pgetip, sizeof(pgetip), "%i\t\t%s\t\t%s\t\t%i\t\t\t%i$\n\n", TOTALPGETIP, username, playerip, level, money); strcat(pgetips, pgetip); ShowPlayerDialog(playerid, 0, DIALOG_STYLE_MSGBOX, "Совпадение аккаунтов по IP-адресу", pgetips, "Закрыть", ""); } mysql_free_result(); } return true; } Скриншёты Автор:Archive
  15. Привет друзья! Держите чат для Администрации В public OnPlayerCommandText: if(strcmp(cmd, "/a", true) == 0 && Player[playerid][pAdmin] == 1) { if(Player[playerid][pAdmin] >= 1) { GetPlayerName( playerid , string , sizeof( string ) ) ; format( string , sizeof( string ) , "Администратор %s: %s" , string , text[ 1 ] ) ; SendAdminMessage( COLOR_RED , string ) ; } if(Player[playerid][pAdmin] == 0) { SendClientMessage(playerid,-1,"Вы не являетесь Администратором"); } return 0; } Автор : Я
  16. Добрый день Начнём! Нужно создать команду if(strcmp(cmd, "/time", true) == 0) { new mtext[20]; new year, month,day; getdate(year, month, day); if(month == 1) { mtext = "Января"; } else if(month == 2) { mtext = "Февраля"; } else if(month == 3) { mtext = "Марта"; } else if(month == 4) { mtext = "Апреля"; } else if(month == 5) { mtext = "Мая"; } else if(month == 6) { mtext = "Июня"; } else if(month == 7) { mtext = "Июля"; } else if(month == 8) { mtext = "Августа"; } else if(month == 9) { mtext = "Сентября"; } else if(month == 10) { mtext = "Октября"; } else if(month == 11) { mtext = "Ноября"; } else if(month == 12) { mtext = "Декабря"; } new hour,minuite,second; gettime(hour,minuite,second); FixHour(hour); hour = shifthour; if (minuite { format(string, sizeof(string), "{e49b0f}Получение текущего времени и даты\n{faeedd}_____________________________________\n\n{faeedd}Сегодняшняя дата:\t{3caa3c}%d %s 2013 год\n{faeedd}Текущее время:\t{007fff}%d:%d\n{faeedd}_____________________________________", day, mtext, hour, minuite); ShowPlayerDialog(playerid,8888, DIALOG_STYLE_MSGBOX, " ", string, "Закрыть", ""); } if (PlayerInfo[playerid][pJailTime] > 0) { format(string, sizeof(string), "{e49b0f}Получение текущего времени и даты\n{faeedd}_____________________________________\n\n{faeedd}Сегодняшняя дата:\t{3caa3c}%d %s 2013 год\n{faeedd}Текущее время:\t{007fff}%d:%d\n{faeedd}Осталось сидеть:\t{ea7500}%d секунд\n{faeedd}_____________________________________", day, mtext, hour, minuite,PlayerInfo[playerid][pJailTime]-10); ShowPlayerDialog(playerid,8888, DIALOG_STYLE_MSGBOX, " ", string, "Закрыть", ""); } else { format(string, sizeof(string), "{e49b0f}Получение текущего времени и даты\n{faeedd}_____________________________________\n\n{faeedd}Сегодняшняя дата:\t{3caa3c}%d %s 2013 год\n{faeedd}Текущее время:\t{007fff}%d:%d\n{faeedd}_____________________________________", day, mtext, hour, minuite); ShowPlayerDialog(playerid,8888, DIALOG_STYLE_MSGBOX, " ", string, "Закрыть", ""); } ApplyAnimation(playerid,"COP_AMBIENT","Coplook_watch",4.1,0,0,0,0,0,1); format(string, sizeof(string), "%s посмотрел(а) на свои часы", sendername); ProxDetector(25.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE); return true; } Готово! Скриншёты Автор : MotoSport
  17. Добрый вечер! С помощью данной команды вы сможете посадить игрока в ООС тюрьму т.е. в деморган Создаём команду Автор: MotoSport if(strcmp(cmd, "/prison",true) == 0) { if(IsPlayerConnected(playerid)) { if(PlayerInfo[playerid][pAdmin] < 1) { SendClientMessage(playerid, COLOR_GREY, " Вы не уполномочены использовать эту команду !"); return 1; } tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_GRAD2, "Используйте: /prison [playerid/PartOfName]"); return 1; } giveplayerid = ReturnUser(tmp); if(IsPlayerConnected(giveplayerid)) { if(giveplayerid != INVALID_PLAYER_ID) { GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer)); GetPlayerName(playerid, sendername, sizeof(sendername)); format(string, sizeof(string), "* Вы поместили %s в Деморган.", giveplayer); SendClientMessage(playerid, COLOR_LIGHTRED, string); format(string, sizeof(string), "* Вы были размещены в Деморгане Админом %s.", sendername); SendClientMessage(giveplayerid, COLOR_LIGHTRED, string); GameTextForPlayer(giveplayerid, "~w~Welcome to ~n~~r~Fort DeMorgan", 5000, 3); WantedPoints[giveplayerid] = 0; WantedLevel[giveplayerid] = 0; PlayerInfo[giveplayerid][pJailed] = 2; PlayerInfo[giveplayerid][pJailTime] = 3600; SetPlayerPos(giveplayerid, 2311.1616,-1808.9144,7.0640); SetPlayerWorldBounds(giveplayerid, 2311.1616,-1808.9144,7.0640,309.6129); //285.3481,96.9720,1940.9755,1799.0811 } } else { SendClientMessage(playerid, COLOR_GREY, " Этот игрок является Офлайновым !"); return 1; } } return 1; } Создаём команду для того что бы вытащить игрока оттуда if(strcmp(cmd, "/unprison",true) == 0) { if(IsPlayerConnected(playerid)) { if(PlayerInfo[playerid][pAdmin] < 1) { SendClientMessage(playerid, COLOR_GREY, " Вы не уполномочены использовать эту команду!"); return 1; } tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_GRAD2, " Используйте: /unprison [playerid/PartOfName]"); return 1; } giveplayerid = ReturnUser(tmp); if(IsPlayerConnected(giveplayerid)) { if(giveplayerid != INVALID_PLAYER_ID) { WantedPoints[giveplayerid] = 1; WantedLevel[giveplayerid] = 1; PlayerInfo[giveplayerid][pJailed] = 1; PlayerInfo[giveplayerid][pJailTime] = 1; SetPlayerWorldBounds(playerid,2579.9849,-2416.2771,21.9946,255.7424); //Reset world to player SetPlayerInterior(playerid, 1); SetPlayerPos(playerid, 2579.9849,-2416.2771,21.9946); SendClientMessage(giveplayerid,COLOR_RED,"Вы были выпущены из Деморгана!"); } } else { SendClientMessage(playerid, COLOR_GREY, "* Этот игрок является Офлайновым!"); return 1; } } return 1; }
  18. Na'Vi

    /cuff Наручники

    Добрый вечер Команда наручников Создаём команду "Надеть наручники" else if(strcmp(cmd, "/cuff", true) == 0) { if(PlayerInfo[playerid][pMember] == 1 || PlayerInfo[playerid][pMember] == 2 || PlayerInfo[playerid][pMember] == 10 || PlayerInfo[playerid][pMember] == 21) { tmp = strtok(cmdtext, idx); if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_WHITE, "::: Ведите: /cuff [id]"); giveplayerid = ReturnUser(tmp); if(IsPlayerConnected(giveplayerid)) { if(giveplayerid != INVALID_PLAYER_ID) { if(IsACop(giveplayerid)) return SendClientMessage(playerid, COLOR_GREY, "Вы не можете надеть наручники на законника !"); if(PlayerCuffed[giveplayerid] > 0) return SendClientMessage(playerid, COLOR_GREY, "игрок уже в наручниках!"); if (ProxDetectorS(8.0, playerid, giveplayerid)) { if(giveplayerid == playerid) { SendClientMessage(playerid, COLOR_GREY, "Вы не можете надеть наручники на самого себя!"); return 1; } if(PlayerInfo[playerid][pMember] == 1 || PlayerInfo[playerid][pMember] == 2 || PlayerInfo[playerid][pMember] == 10 || PlayerInfo[playerid][pMember] == 21 || IsAArm(playerid)) { GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer)); GetPlayerName(playerid, sendername, sizeof(sendername)); format(string, sizeof(string), "На вас надел(а) наручники %s.", sendername); SendClientMessage(giveplayerid, 0x6495EDFF, string); format(string, sizeof(string), "Вы надели наручники на %s.", giveplayer); SendClientMessage(playerid, 0x6495EDFF, string); format(string, sizeof(string), "%s надел(а) на %s наручники.", sendername ,giveplayer); SetPlayerAttachedObject(giveplayerid, 0, 19418, 6, -0.011000, 0.028000, -0.022000, -15.600012, -33.699977, -81.700035, 0.891999, 1.000000, 1.168000); SetPlayerSpecialAction(giveplayerid,SPECIAL_ACTION_CUFFED); ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE); TogglePlayerControllable(giveplayerid, 0); PlayerCuffed[giveplayerid] = 2; PlayerCuffedTime[giveplayerid] = 3600; } else { SendClientMessage(playerid, COLOR_GREY, "Вы не законник!!!"); return 1; } } else { SendClientMessage(playerid, COLOR_GREY, "Рядом с вами никого нет !"); return 1; } } } else { SendClientMessage(playerid, COLOR_GREY, "Игрок оффлайн!"); return 1; } } else { SendClientMessage(playerid, COLOR_GREY, "Вы не сотрудник правохранительных органов !"); } return 1; } Создать команду "Снять наручники" else if(strcmp(cmd, "/uncuff", true) == 0) { if(PlayerInfo[playerid][pMember] == 2 || IsACop(playerid)||IsAArm(playerid) ) { tmp = strtok(cmdtext, idx); if(!strlen(tmp))return SendClientMessage(playerid, COLOR_WHITE, "::: Введите: /uncuff [id]"); giveplayerid = ReturnUser(tmp); if(IsPlayerConnected(giveplayerid)) { if(giveplayerid != INVALID_PLAYER_ID) { if (ProxDetectorS(8.0, playerid, giveplayerid)) { if(giveplayerid == playerid) { SendClientMessage(playerid, COLOR_GREY, "Вы не можете надеть наручники на самого себя!"); return 1; } if(PlayerCuffed[giveplayerid]) { GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer)); GetPlayerName(playerid, sendername, sizeof(sendername)); format(string, sizeof(string), "С вас снял наручники %s.", sendername); SendClientMessage(giveplayerid, 0x6495EDFF, string); format(string, sizeof(string), "Вы сняли наручники с %s.", giveplayer); SendClientMessage(playerid, 0x6495EDFF, string); SetPlayerSpecialAction(giveplayerid,SPECIAL_ACTION_NONE); RemovePlayerAttachedObject(giveplayerid,0); TogglePlayerControllable(giveplayerid, 1); PlayerCuffed[giveplayerid] = 0; } else { SendClientMessage(playerid, COLOR_GREY, "Игрок не в наручнеках !"); return 1; } } else { SendClientMessage(playerid, COLOR_GREY, "Рядом никого нет !"); return 1; } } } else { SendClientMessage(playerid, COLOR_GREY, "{DB7093} [Ошибка]: {D3D3D3} Игрок не найден!"); return 1; } } else { SendClientMessage(playerid, COLOR_GREY, "Вы не агент ФБР!"); } return 1; } ТОЛЬКО ДЛЯ 0.3Е Автор: Неизвестно
  19. Добро пожаловать! Думаю название говорит само за себя Начнём! В OnPlayerCommandText добавим if(strcmp(cmd, "/invVeh", true) == 0) { new tmp[255]; tmp = strtok(cmdtext, idx); if(strlen(tmp)&&IsPlayerNPC(strval(tmp))) return 1; if(!strlen(tmp)) SendClientMessage(playerid,COLOR_WHITE," Использование: /invVeh ID"); else { if(!IsPlayerConnected(strval(tmp))) SendClientMessage(playerid,COLOR_WHITE," Неверный ID."); else { if(IsPlayerInAnyVehicle(strval(tmp))) { LinkVehicleToInterior(GetPlayerVehicleID(strval(tmp)),100); SendClientMessage(playerid,COLOR_WHITE," Выполнено."); } else { SendClientMessage(playerid,COLOR_WHITE,"Игрок не в авто."); return 1; } } } return 1; } Автор: ReSLeaR-
  20. Добрый вечер система как при вводе команды выдается текст в чате (Вместо биндера) тем самым не нужна отыгровка и скачивание биндера CMD:proverkapass(playerid, params[]) // Можете изменить название команды на свое { new string[256],idx; //if(PlayerInfo[playerid][pMembers] != Сюда вставьте ID фракции для которой должна работать эта команда) return SCM(playerid,0xFF4500FF,"У Вас нет доступа к этой команде."); tmp = strtok(params[0], idx); if(!strlen(tmp)) return SCM(playerid, 0x808080FF, "[Ошибка]: Укажите ID. | /proverkapass [ID]"); params[1] = ReturnUser(tmp); if(!IsPlayerConnected(params[1])) return SendClientMessage(playerid,0xFF4500FF,"[Ошибка]: Игрок не найден."); if(ProxDetectorS(10.0, playerid, params[1])) return SendClientMessage(playerid, 0xFF4500FF, "[Ошибка]: Вы должны быть ближе друг к другу."); if(playerid == params[1]) return SendClientMessage(playerid,0xFF4500FF,"[Ошибка]: Вы не можете применить это действие к себе."); new nickname[MAX_PLAYER_NAME],nickname2[MAX_PLAYER_NAME]; GetPlayerName(playerid,nickname,sizeof(nickname)),GetPlayerName(params[1],nickname2,sizeof(nickname2)); format(string,sizeof(string),"* Здравия желаю! Вас беспокоит сотрудник МВД %s[%d].",nickname,playerid); ProxDetector(20.0, playerid, string, 0xDD90FFFF, 0xDD90FFFF, 0xDD90FFFF, 0xDD90FFFF, 0xDD90FFFF); format(string,sizeof(string),"* Гражданин %s,будьте добры предъявить Ваши документы.",nickname2); ProxDetector(20.0, playerid, string, 0xDD90FFFF, 0xDD90FFFF, 0xDD90FFFF, 0xDD90FFFF, 0xDD90FFFF); return 1; } CMD:endproverka(playerid, params[]) // Можете изменить название команды на свое { new string[256],idx; //if(PlayerInfo[playerid][pMembers] != Сюда вставьте ID фракции для которой должна работать эта команда) return SCM(playerid,0xFF4500FF,"У Вас нет доступа к этой команде."); tmp = strtok(params[0], idx); if(!strlen(tmp)) return SCM(playerid, 0x808080FF, "[Ошибка]: Укажите ID. | /endproverka [ID]"); params[1] = ReturnUser(tmp); if(!IsPlayerConnected(params[1])) return SendClientMessage(playerid,0xFF4500FF,"[Ошибка]: Игрок не найден."); if(ProxDetectorS(10.0, playerid, params[1])) return SendClientMessage(playerid, 0xFF4500FF, "[Ошибка]: Вы должны быть ближе друг к другу."); if(playerid == params[1]) return SendClientMessage(playerid,0xFF4500FF,"[Ошибка]: Вы не можете применить это действие к себе."); new nickname[MAX_PLAYER_NAME],nickname2[MAX_PLAYER_NAME]; GetPlayerName(playerid,nickname,sizeof(nickname)),GetPlayerName(params[1],nickname2,sizeof(nickname2)); new wantedlevel = GetPlayerWantedLevel(params[1]); if(wantedlevel >= 1) { format(string,sizeof(string),"* %s[%d] пробил человека по базе данных",nickname,playerid); ProxDetector(20.0, playerid, string, 0xDD90FFFF, 0xDD90FFFF, 0xDD90FFFF, 0xDD90FFFF, 0xDD90FFFF); ProxDetector(20.0, playerid, "* Ответ системы: Человек находится в розыске", 0xDD90FFFF, 0xDD90FFFF, 0xDD90FFFF, 0xDD90FFFF, 0xDD90FFFF); format(string,sizeof(string),"* %s[%d] достал пистолет из кобуры и нацелился на преступника",nickname,playerid); ProxDetector(20.0, playerid, string, 0xDD90FFFF, 0xDD90FFFF, 0xDD90FFFF, 0xDD90FFFF, 0xDD90FFFF); format(string,sizeof(string),"%s[%d]: Будьте добры пройти со мной в служебный автомобиль,или я открою огонь.",nickname,playerid); ProxDetector(20.0, playerid, string, 0xAAAAAAFF, 0xAAAAAAFF, 0xAAAAAAFF, 0xAAAAAAFF, 0xAAAAAAFF); } else { format(string,sizeof(string),"* %s[%d] пробил человека по базе данных",nickname,playerid); ProxDetector(20.0, playerid, string, 0xDD90FFFF, 0xDD90FFFF, 0xDD90FFFF, 0xDD90FFFF, 0xDD90FFFF); ProxDetector(20.0, playerid, "* Ответ системы: Человек не находиться в розыске", 0xDD90FFFF, 0xDD90FFFF, 0xDD90FFFF, 0xDD90FFFF, 0xDD90FFFF); format(string,sizeof(string),"* %s[%d] отдал документы человеку напротив",nickname,playerid); ProxDetector(20.0, playerid, string, 0xDD90FFFF, 0xDD90FFFF, 0xDD90FFFF, 0xDD90FFFF, 0xDD90FFFF); format(string,sizeof(string),"%s[%d]: Всего хорошего и счастливого пути",nickname,playerid); ProxDetector(20.0, playerid, string, 0xAAAAAAFF, 0xAAAAAAFF, 0xAAAAAAFF, 0xAAAAAAFF, 0xAAAAAAFF); } return 1; } Автор:xDimasx
  21. Доброй ночи пользователи cr-mp.ru Эта команда для поиска авто по номеру Начнём! Создаём саму команду if(strcmp(cmd, "/gpsatvo", true) == 0) { tmp = strtok(cmdtext, idx); new str[128],idcar = 0; if(!strlen(tmp)) SendClientMessage(playerid, COLOR_WHITE, "Используйте: /gpsavto [№ авто]"); new nomer = strval(tmp); for(new cars = 1; cars { if(!strcmp(CarInfo[cars][cOwner],Name(playerid),true)) { idcar++; if(nomer == idcar) { new Float:carx, Float:cary, Float:carz; GetVehiclePos(CarInfo[cars][cID],carx, cary, carz); SetPlayerCheckpoint(playerid, carx, cary, carz, 6.0); SetPVarInt(playerid,"gpscarid",1); SendClientMessage(playerid,-1,"Информация о местонахождение показана на карте красным маячком"); return 1; } format(str,128,"№ %d[id:%d] Модель: %s(%d) Штатский номер: %s", idcar,CarInfo[cars][cID],VehiclesName[CarInfo[cars][cMod]-400],CarInfo[cars][cMod],CarInfo[cars][cNumber]); SendClientMessage(playerid,-1,str); } } if(idcar == 0) return SendClientMessage(playerid,-1,"У вас наверно нет автомобилей!"); else return 1; } Готово! Изображения команды!
  22. Доброй ночи форумчане Начнём! Респавн автомобилей по ID: if(strcmp(cmd, "/respawn", true) == 0) { if(IsPlayerConnected(playerid)) { tmp = strtok(cmdtext, idx); if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_GRAD2, " Введите: /respawnid [carid]"); new carid; carid = strval(tmp); GetPlayerName(playerid,sendername,sizeof(sendername)); SetVehicleToRespawn(carid); } return 1; } Функция респавна всех автомобилей: if(strcmp(cmd, "/res", true) == 0){ { if(IsPlayerConnected(playerid)) { new occcup[15]; for(new c=0; c { new trailer = GetVehicleTrailer©; if(trailer > 1) { for(new o=0; o { if(occcup[o] == 0){occcup[o] = trailer;break;} } } } for(new c=0; c { if(!IsVehicleOccupied©) { new iii = 0; for(new o=0; o { if(occcup[o] == c){iii++;} } if(iii == 0){SetVehicleToRespawn©;} } } } return true; } Функция респавна авто в радиусе 15 метров: if(strcmp(cmd, "/scar", true) == 0) { new Float:vXc, Float:vYc, Float:vZc; for(new care=0; care { GetVehiclePos(care,vXc,vYc,vZc); { if(PlayerToPoint(15,playerid,vXc,vYc,vZc)) { if(!IsVehicleOccupied(care)) { SetVehicleToRespawn(care); } } } } return true; } Авторы: Автор команд "/res" "/resid" - Неизвестно Автор команды рескара авто по ид: Денис Личенко
  23. Na'Vi

    /god Бессмертие

    Доброй ночи уважаемые форумчане Я думаю само название говорит за себя Начнём! Командный процессор ZCMD 1. Создаём команду для Бессмертия человека COMMAND:god(playerid,params[]) {#pragma unused params if(GetPVarInt(playerid,"GOD") == 0) { SetPVarInt(playerid,"GOD",1); SetPlayerHealth(playerid,100000); GivePlayerWeapon(playerid,16,50000); GivePlayerWeapon(playerid,26,50000); SendClientMessage(playerid,green," ВКЛЮЧЕН РЕЖИМ БОГА"); return CMDMessageToAdmins(playerid,"GOD"); } else { SetPVarInt(playerid,"GOD",0); SendClientMessage(playerid,red," ВЫКЛЮЧЕН РЕЖИМ БОГА"); SetPlayerHealth(playerid, 100); } return GivePlayerWeapon(playerid,35,0); } 2.Создаём команду для Бессмертия человека COMMAND:godcar(playerid,params[]) {#pragma unused params if(IsPlayerInAnyVehicle(playerid)) { if(GetPVarInt(playerid,"GODCAR") == 0) { SetPVarInt(playerid,"GODCAR",1); CMDMessageToAdmins(playerid,"GODCAR"); return SendClientMessage(playerid,green," ВАША ТАЧКА НЕ УЯЗВИМА"); } else { SetPVarInt(playerid,"GODCAR",0); return SendClientMessage(playerid,red," ВАША ТАЧКА УЯЗВИМА"); } } else return SendClientMessage(playerid,red," ОШИБКА: Вы должны быть в машине"); } Автор:Lil_Jonson
  24. Здравствуйте с вам как всегда Na'Vi и сегодня я хотел бы выложить системку смены NonRp ника Цену можете изменить на свою А сейчас я подробно распишу как вшить команду в любой мод! Начнём! 1. Подключаем командный процессор DC_CMD 2. Создаём переменные new WantNickChange[MAX_PLAYERS][MAX_PLAYER_NAME]; new changenam[128]; new ChangeNickr[MAX_PLAYERS]; 3. В ваше меню оно у вас либо /mn либо /mm добавляем if(PlayerInfo[playerid][pMoney] if(ChangeNickr[playerid] == 1) return SCM(playerid,0xFF4500FF,"[Ошибка]: Вы уже изменяли свое имя. Что-бы сменить еще раз,необходимо перезайти."); SPD(playerid,34,DIALOG_STYLE_INPUT,"{1E90FF}Изменить имя","{FF4500}Внимание!\n{008000}Использование оскорбительного ника - Warn/Ban\n\n{1E90FF}Введите новый ник:","Сменить", "Отмена"); 4. В Public OnDialogResponse: добавляем if(dialogid == 34) // Свой ИД диалога,в моём случае это 34 ID { if(response) // Если игрок нажал ОК { new string[256]; if(!strlen(inputtext)) return SPD(playerid,34,DIALOG_STYLE_INPUT,"{1E90FF}Изменить имя","{FF4500}Внимание!\n{008000}Использование оскорбительного ника - Warn/Ban\n\n{1E90FF}Введите новый ник:","Сменить","Отмена"); format(string,sizeof(string),"%s.ini",inputtext); // Ищем аккаунт if(fexist(string)) // Если аккаунт найден то { SCM(playerid,0xFF4500FF,"[Ошибка]: Ник уже зарегестрирован."); // Выводим сообщение SPD(playerid,34,DIALOG_STYLE_INPUT,"{1E90FF}Изменить имя","{FF4500}Внимание!\n{008000}Использование оскорбительного ника - Warn/Ban\n\n{1E90FF}Введите новый ник:","Сменить","Отмена"); // И заного выводим диалог return 1; } format(WantNickChange[playerid],MAX_PLAYER_NAME,"%s",inputtext); format(string,sizeof(string),"[A] %s[%d] отправил заявку на смену ника %s | Что-бы одобрить напишите /setname %d", sendername2(playerid),playerid,(inputtext),playerid); // Форматируем ABroadCast(0xAAAAAAFF,string,1); // Выводим текст админам ABroadCast(0xAAAAAAFF,"[A] Если-же Вы отказываете ему в смени имени,дайте ему об этом знать через /ans",1); // Выводим текст админам. format(string,sizeof(string),"[Смена-Ника]: Ваша заявка успешно отправлена,ожидайте ее расмотрения. Желаемый ник: {1E90FF}%s",(inputtext)); // Форматируем SCM(playerid, 0xFF4500FF, string); // Выводим текст return 1; } } 5. Создаём саму команду CMD:setname(playerid, params[]) { if(PlayerInfo[playerid][pAdmin] if(PlayerInfo[playerid][pDuty] == 0) return SCM(playerid,0xFF4500FF,"[A] Вы не можете использовать команды. Авторизуйтесь в Админ.Панели {1E90FF}/duty [Пароль]"); // Проверка на авторизацию админа new newname[64],idx,giveplayerid,stringo[128]; tmp = strtok(params[0], idx); // Делаем пробел после /setname. Т.е след.строка это ID if(!strlen(tmp)) return SCM(playerid, 0xFF4500FF, "[Ошибка]: Укажите ID. | /setname [ID]"); // Если мы не указали ИД игрока. giveplayerid = ReturnUser(tmp); // Присваиваем ИД игрока к giveplayerid if(giveplaerid != INVALID_PLAYER_ID) // Если giveplayerid не равен не правильному ид,то продолжаем. { new length = strlen(params[0]); while ((idx { idx++; } { format(stringo,sizeof(stringo),"%s.ini",newname); // Открываем папку с аккаунтами if(fexist(stringo)) return SCM(playerid,0xFF4500FF,"[Ошибка]: Ник уже зарегестрирован."); // Если ник уже зарегестрирован,то не даём пройти дальше. if(strlen(WantNickChange[giveplayerid]) if(ChangeNickr[giveplayerid] == 1) return SCM(playerid,0xFF4500FF,"[Ошибка]: Игрок уже менял имя. Что-бы сменить еще раз,ему необходимо перезайти."); // Если игрок сменил и не перезашёл. format(changenam,sizeof(changenam),"%s",WantNickChange[giveplayerid]); format(stringo,sizeof(stringo),"%s.ini",WantNickChange[giveplayerid]); SCM(params[1],0x008000FF,"[Смена-Ника]: Администрация дала одобрение на смену Вашего имени."); // Выводим текст SCM(params[1],0x008000FF,"[Смена-Ника]: Что-бы зайти под новым ником,смените его в окне SA:MP."); // ВЫводим текст ChangeName(giveplayerid); // Вызываем паблик смены ника format(stringo,sizeof(stringo),"[A] Администратор %s[%d] дал одобрение на смену имени.",sendername2(playerid),playerid); // Форматируем ABroadCast(0xAAAAAAFF,stringo,1); // Выводим админам с 1-ого ЛВЛа. PlayerInfo[giveplayerid][pMoney] -= 50000; // Снимаем игроку 50.000$ } } return 1; } В конец мода добавляем forward ChangeName(playerid); public ChangeName(playerid) // Паблик смены ника { new plnamep[MAX_PLAYER_NAME],string[128],password[64]; ChangeNickr[playerid] = 1; GetPlayerName(playerid,plnamep,sizeof(plnamep)); SetPlayerName(playerid, changenam); format(string,sizeof(string),"%s.ini",plnamep); fremove(string); format(string,sizeof(string),"[Смена-Ника]: Игрок {1E90FF}%s[%d] {008000}сменил имя на {1E90FF}%s",plnamep,playerid,changenam); SCMALL(0x008000FF,string); new PlayerName[MAX_PLAYER_NAME], account[128]; GetPlayerName(playerid,PlayerName,sizeof(PlayerName)); format(account,sizeof(account),"%s.ini", PlayerName); new iniFile = ini_createFile(account); if(iniFile { iniFile = ini_openFile(account);// } if(iniFile >= 0) { ini_setString(iniFile, "Пароль",password); ini_setInteger(iniFile, "Money", GetPlayerMoney(playerid)); ini_setInteger(iniFile,"Kills", PlayerInfo[playerid][pKills]); ini_setInteger(iniFile,"Deaths", PlayerInfo[playerid][pDeaths]); ini_setInteger(iniFile,"Skin", PlayerInfo[playerid][pSkin]); ini_setInteger(iniFile,"VIP", PlayerInfo[playerid][pVIP]); ini_setInteger(iniFile,"Admin", PlayerInfo[playerid][pAdmin]); ini_closeFile(iniFile); } return 1; } В конец мода также добавляем stock sendername2(playerid) { new pName[MAX_PLAYER_NAME]; GetPlayerName(playerid, pName, sizeof pName); return pName; } Автор:xDimasx Я: Немного изменил инструкцию чтобы было понятно новичкам (В прочем как и всегда)
  25. Na'Vi

    Система Фар

    Система фар для транспорта Включение и Отключение Начнём! Создаём переменную new LightsStatus[MAX_PLAYERS]; Теперь приступаем к добавлению команды if(strcmp(cmdtext, "/lights", true) == 0) // Фары { if(IsPlayerInAnyVehicle(playerid)) { new veh = GetPlayerVehicleID(playerid); if(veh != INVALID_VEHICLE_ID) { if(LightsStatus[playerid] == 0) { GetVehicleParamsEx(veh,engine,lights,alarm,doors,bonnet,boot,objective); SetVehicleParamsEx(veh,engine,VEHICLE_PARAMS_ON,alarm,doors,bonnet,boot,objective); LightsStatus[playerid] = 1; } else if(LightsStatus[playerid] == 1) { GetVehicleParamsEx(veh,engine,lights,alarm,doors,bonnet,boot,objective); SetVehicleParamsEx(veh,engine,VEHICLE_PARAMS_OFF,alarm,doors,bonnet,boot,objective); LightsStatus[playerid] = 0; } } } } В public OnPlayerKeyStateChange добавляем включение фар по нажатию клавише "2" if(newkeys == 512) // Sub Mission { OnPlayerCommandText(playerid,"/lights"); } Готово!
×

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

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