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

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

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

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

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

Тип контента


Форумы

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

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

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


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

  • Начало

    Конец


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

  • Начало

    Конец


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

Найдено: 1,487 результатов

  1. if(strcmp(cmd, "/makeadmin", true) == 0) { if(IsPlayerConnected(playerid)) // Если возникнут ошибки уберите эту строчку { tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_GRAD2, "Подсказка: /makeadmin [ID - игрока] [уровень[1-6]]"); return 1; } new para1; new level; para1 = ReturnUser(tmp); tmp = strtok(cmdtext, idx); level = strval(tmp); if(level > 4 || level < 0) { SendClientMessage(playerid, COLOR_GREY, "Ошибка: значение менее 1, или более 4!"); return 1; } if(PlayerInfo[playerid][pAdmin] >= 4 || IsPlayerAdmin(playerid)) { if(IsPlayerConnected(para1)) { if(para1 != INVALID_PLAYER_ID) { GetPlayerName(para1, giveplayer, sizeof(giveplayer)); GetPlayerName(playerid, sendername, sizeof(sendername)); PlayerInfo[para1][pAdmin] = level; printf("Главный Администратор %s Повысил %s [Rank:%d]", sendername, giveplayer, level); format(string, sizeof(string), "Администратор %s Повысил/Понизил вас [Уровень:%d]", sendername, level); SendClientMessage(para1, COLOR_LIGHTBLUE, string); format(string, sizeof(string), "Вы Повысили/Понизили %s [Уровень:%d]", giveplayer,level); SendClientMessage(playerid, COLOR_LIGHTBLUE, string); format(string, sizeof(string), "%s назначил Администратором %s.[Уровень:%d]", sendername, giveplayer,level); SendClientMessageToAll(COLOR_RED, string); } } } else { SendClientMessage(playerid, COLOR_GRAD1, "Вы не Главный Администратор!"); } } return 1; } new para1; new level; para1 = ReturnUser(tmp); tmp = strtok(cmdtext, idx); level = strval(tmp);
  2. Здравствуйте уважаемые форумчане. Выкладываю данный мод, который я переводил с Sampa на CRMP для своего проекта ARP. Так-как совмещать учебу с CRMP не удобно, я временно забросил проект и слить вам свою основу мода. Командный процессор DC_CMD v 2.8. Для хранения данных используется Mysql R39-4. Аккуратный красивый код. Уникальный работы(Лесопилка, Таксопарк, Ферма, Транспортная компания, водитель автобуса.) Динамические бизнеса Динамические пикапы Динамические Фракции Динамические дома Уникальная система домов/бизнесов - покупать/продавать нужно в магазине Центре купили -продажи.
  3. #AMG

    International RolePlay

    Представляю вам мод International RP, который готов только на 48% в связи с заморозкой проекта.В моде много интересных систем ,которые все уникальны. Перечислю вам системы : 1. Система защиты мода ( В моде создан файл ,запуска мода без файла мод будет включён ,но играть на нём нельзя будет ). 2. Система бизнесов ( Система сложна в админской части ,подстроена под себя ). 3. Система домов ( Очень красива и удобна в пользовательской части ). 4. Система авто ( Хорошо защищена ,реалистична ,удобна ). 5. Система промо-кода ( Создание промокода прямо из игры и получения награды за код ). 6. Система персонализации ( Перекраска всех диалогов и сообщений в свой цвет ). И ещё много других систем.Мод не на MySQL,на MxINI!!! Маппинг только маленькая часть. Присутствует всего 2 фракции. Проще говоря ,мод основу в умелые руки. Код не очень разборчив. Автор:Александр Киселёв. Ссылка: https://cloud.mail.ru/public/c35aa5a3830d/International%20RP.rar P.S.Инклуд a_maps в интернете вы не найдете,качайте моды для сампа и ищите там!!!
  4. Smolin

    ID's скинов CRMP

  5. Город неподалёку от Арзамаса, такого вы точно нигде не видели.Эксклюзив так сказать :) Город состоит из более чем 1000 объектов!Всё продумано до мелочей.Багов и недоработок нет вообще. А вот сам код:
  6. EgasVegas

    Astera RP Original

    Мод был куплен у Amfy за 2000 рублей. Сюда мод выкладываю бесплтано. Автор(разработки): Amfy Фракции: УВД ФСБ Армия МинЗдрав Украинская Мафия Азиатская Мафия Триада Тайный Орден ГИБДД МЧС ОПГ 'Арзамасовские' ОПГ 'Южновские' ОПГ 'Портовские' ОПГ 'Батыревские' Байкеры Русская мафия Системы: Система домов Система ТС Система банка Система пожарной охраны Система рыбной ловли Система золота добычи Система спортивного образования Система налёта на арсенал военной части Система мед-карты Система военного билета Система гонок Система психбольницы и многие другие. Ссылка на мод:
  7. EgasVegas

    Декодер

    Наверное, все скриптеры сталкивались с непонятными символами/иероглифами при копировании русских слов в коде из pawno. Нашёл на днях решение этой проблемы. Закидывайте код на этот сайт http://www.artlebedev.ru/tools/decoder/ И всё. Код успешно восстановлен и очищен от непонятных символов.
  8. Здравствуйте гости и пользователи cr-mp.ru. В этой теме, я расскажу как сделать статистику администраторов за всё проведенное время. Знаю что уже есть множество похожих тем, но может кому-нибудь пригодится и мой вариант. Именно я пытался сделать по примерам, которые 'висят в всемирной паутине', но почему-то вечно были варнинги и ошибки (видимо руки были кривые, т.к давно пытался ). Так вот недавно вспомнил и решил сделать. Приступим. К enum pInfo в самый конец добавляем pPayDayAdmin, // сколько отыграл часов администратор pAreport, // сколько раз администратор ответил на репорт (/pm) pAban, // сколько раз администратор забанил (/ban) pAwarn, // сколько раз администратор заварнил (/warn) pAkick, // сколько раз администратор кикнул (/kick) pAmute, // сколько раз администратор заткнул (/mute) Теперь ищем public OnPlayerConnect(playerid), в нём находим что то вроде этого PlayerInfo[playerid][pSex] = 1; и после его вставляем эти строки: PlayerInfo[playerid][pPayDayAdmin] = 0; // при спавне, администратору присваивается 0 часов отыгровки. PlayerInfo[playerid][pAreport] = 0; // при спавне, администратору присваивается 0 ответов на репорт. PlayerInfo[playerid][pAban] = 0; // при спавне, администратору присваивается 0 банов. PlayerInfo[playerid][pAwarn] = 0; // при спавне, администратору присваивается 0 варнов. PlayerInfo[playerid][pAkick] = 0; // при спавне, администратору присваивается 0 киков. PlayerInfo[playerid][pAmute] = 0; // при спавне, администратору присваивается 0 мутов. Теперь нужно чтобы наше значение сохранялось, для этого нажимаем сочетание клавиш CTRL+F и ищем эти строки(проще говоря, сис-му сохранения аккаунтов): ini_setInteger(File," ini_getInteger(File," и дописываем в конец строк с ini_setInteger это: ini_setInteger(File,"pPayDayAdmin",PlayerInfo[playerid][pPayDayAdmin]); ini_setInteger(File,"pAreport",PlayerInfo[playerid][pAreport]); ini_setInteger(File,"pAban",PlayerInfo[playerid][pAban]); ini_setInteger(File,"pAwarn",PlayerInfo[playerid][pAwarn]); ini_setInteger(File,"pAkick",PlayerInfo[playerid][pAkick]); ini_setInteger(File,"pAmute",PlayerInfo[playerid][pAmute]); и в конец строк с ini_getInteger это: ini_getInteger(File,"pPayDayAdmin",PlayerInfo[playerid][pPayDayAdmin]); ini_getInteger(File,"pAreport",PlayerInfo[playerid][pAreport]); ini_getInteger(File,"pAban",PlayerInfo[playerid][pAban]); ini_getInteger(File,"pAwarn",PlayerInfo[playerid][pAwarn]); ini_getInteger(File,"pAkick",PlayerInfo[playerid][pAkick]); ini_getInteger(File,"pAmute",PlayerInfo[playerid][pAmute]); Так.. Теперь вам нужно найти 'систему' вашего payday. Т.к в модах разные сис-мы payday, советую тупо подождать payday на вашем сервере(моде), найти какую-нибудь строку, и найти её в моде через CTRL+F, к примеру "Чек банка SA" и где нибудь впихнуть это: PlayerInfo[playerid][pPayDayAdmin] += 1; // когда наступает payday, администратору начисляется 1 час отыгровки Теперь ищем команду /pm (ответа на репорт), и в нее добавляем это: PlayerInfo[playerid][pAreport] += 1; Теперь ищем команду /ban (бан игрока), и в нее добавляем это: PlayerInfo[playerid][pAban] += 1; Теперь ищем команду /warn (варн игрока), и в нее добавляем это: PlayerInfo[playerid][pAwarn] += 1; Теперь ищем команду /kick (кик игрока), и в нее добавляем это: PlayerInfo[playerid][pAkick] += 1; Теперь ищем команду /mute (мут игрока), и в нее добавляем это: (если у вас одной командой давать мут [/mute] и ей же снимать мут, не бойтесь, засчитываться будет только тогда, когда администратор дал мут) PlayerInfo[playerid][pAmute] += 1; Ну и последним действием будет сама команда. Добавляем ее ко всем командам: if(strcmp(cmd, "/as", true) == 0 || strcmp(cmd, "/adminstats", true) == 0) { if(PlayerInfo[playerid][pAdmin] < 1) return SendClientMessage(playerid, COLOR_WHITE, "Вы не администратор"); { new str[1500],sctring[1500]; GetPlayerName(playerid, sendername, sizeof(sendername)); format(str,sizeof(str),"{73B461}<< {FFFFFF} Статистика администратора - {B22222}%s {73B461}>>\n\n",sendername); strcat(sctring,str); format(str,sizeof(str),"{FFFFFF}Проиграно: {B83434}[%d час(ов)]\n",PlayerInfo[playerid][pPayDayAdmin]); strcat(sctring,str); format(str,sizeof(str),"{FFFFFF}Ответил на репорт: {B83434}[%d раз]\n",PlayerInfo[playerid][pAreport]); strcat(sctring,str); format(str,sizeof(str),"{FFFFFF}Забанил: {B83434}[%d раз]\n",PlayerInfo[playerid][pAban]); strcat(sctring,str); format(str,sizeof(str),"{FFFFFF}Заварнил: {B83434}[%d раз]\n",PlayerInfo[playerid][pAwarn]); strcat(sctring,str); format(str,sizeof(str),"{FFFFFF}Кикнул: {B83434}[%d раз]\n",PlayerInfo[playerid][pAkick]); strcat(sctring,str); format(str,sizeof(str),"{FFFFFF}Заткнул: {B83434}[%d раз]\n",PlayerInfo[playerid][pAmute]); strcat(sctring,str); SPD(playerid,5052,0,"Статистика",sctring, "Ок", ""); } return true; } Вот и всё. Надеюсь кому-нибудь это пригодится.
  9. EgasVegas

    Evolution RolePlay

    Всем привет!Представляю вам мод под названием "Эволюция ролевая игра" Напоминаю, мод переводился с СА:МП, это его доработанная версия. Мод на MxINI В моде строк 41273. Присутствуют системы: Авто Домов Подездов Новые интерьеры домов Новая база Армии Много нового маппинга Часы Тюнинг /gopcar Новая система номеров Удалён текстдрав денег Новый спавн Меню Меню для игроков сервера / Узнать онлайн лидеров /онлайн Сделано радио /Радио Система Новоя /gpsavto Отредактировал /ГПС Красивый и качественный мапинг. В Отлично подобраны цвета диалогах. Скачать с Яндекс.Диск
  10. Нашел на просторах интернета динамическую систему бизнесов. Проверено на моде GTRP и new.pwn. Для начала ко всем enum добавим: enum bInfo { bBusName[64], bOwner[MAX_PLAYER_NAME], bPrice, bLock, bInterior, bVirtWorld, bPick, Text3D:bText, Float:bX, Float:bY, Float:bZ }; new BusinessInfo[250][bInfo];//250 макс. кол-во бизнесов new AllBiz;//всего бизнесов new LString[128]; enum biInfo//информация берётся из bInts { biInt, Float:biX, Float:biY, Float:biZ, biName[15], } new bInts[][biInfo]= { {4,457.304748,-88.428497,999.554687,"Название бизнеса"},//4 это инт,дальше координаты появления в интерьере и название бизнеса {5,454.973937,-110.104995,1000.077209,"Своё название"}, {15,207.737991,-109.019996,1005.132812,"Своё название"}, {5,226.293991,-7.431529,1002.210937,"Своё название"}, {4,286.800994,-82.547599,1001.515625,"Своё название"}, {5,772.111999,-3.898649,1000.728820,"Своё название"}, {15,2215.454833,-1147.475585,1025.796875,"Своё название"}, {2,1204.809936,-11.586799,1000.921875,"Своё название"}, {17,493.390991,-22.722799,1000.679687,"Своё название"}}; Далее в конец мода: stock LoadBiz() { new ids[32],str[64]; new iniOpens = ini_openFile("biz.cfg"); ini_getInteger(iniOpens, "AllBiz", AllBiz); ini_closeFile(iniOpens); if(AllBiz != 0) { for(new biz = 1; biz <= AllBiz; biz++) { format(ids,sizeof(ids),"biz/%d.ini",biz); new inihOpen = ini_openFile(ids); ini_getString(inihOpen, "bBusName", str); format(BusinessInfo[biz][bBusName],24,"%s",str); ini_getString(inihOpen, "bOwner", str); format(BusinessInfo[biz][bOwner],24,"%s",str); ini_getInteger(inihOpen, "bPrice", BusinessInfo[biz][bPrice]); ini_getInteger(inihOpen, "bLock", BusinessInfo[biz][bLock]); ini_getInteger(inihOpen, "bInterior", BusinessInfo[biz][bInterior]); ini_getInteger(inihOpen, "bVirtWorld", BusinessInfo[biz][bVirtWorld]); ini_getFloat(inihOpen, "bX", BusinessInfo[biz][bX]); ini_getFloat(inihOpen, "bY", BusinessInfo[biz][bY]); ini_getFloat(inihOpen, "bZ", BusinessInfo[biz][bZ]); ini_closeFile(inihOpen); if(!strcmp(BusinessInfo[biz][bOwner],"Nones",true))//Если нет владельца { BusinessInfo[biz][bPick] = CreatePickup(1274, 23, BusinessInfo[biz][bX], BusinessInfo[biz][bY], BusinessInfo[biz][bZ], 0);//Создаём Пикап format(LString,128,"Бизнес\n%s\nЦена: $%d", BusinessInfo[biz][bBusName], BusinessInfo[biz][bPrice]);//Форматируем BusinessInfo[biz][bText] = Create3DTextLabel(LString, 0xFFFFFFFF, BusinessInfo[biz][bX], BusinessInfo[biz][bY], BusinessInfo[biz][bZ] + 0.5, 10.0, 0, 0);//Создаём 3DText } else//Иначе { BusinessInfo[biz][bPick] = CreatePickup(1274, 23, BusinessInfo[biz][bX], BusinessInfo[biz][bY], BusinessInfo[biz][bZ],0);//Создаём Пикап format(LString, 128, "Бизнес\n%s\nВладелец: %s", BusinessInfo[biz][bBusName],BusinessInfo[biz][bOwner]);//Форматируем BusinessInfo[biz][bText] = Create3DTextLabel(LString, 0xFFFFFFFF, BusinessInfo[biz][bX], BusinessInfo[biz][bY], BusinessInfo[biz][bZ] +0.5, 10.0, 0, 0);//Создаём 3DText } } printf("Бизнесов загружено: %d",AllBiz); } return 1; } stock UpdateBusiness(b) { DestroyPickup(BusinessInfo[b][bPick]);//Удаляем Пикап if(!strcmp(BusinessInfo[b][bOwner],"Nones",true))//Если нет владельца { BusinessInfo[b][bPick] = CreatePickup(1274, 23, BusinessInfo[b][bX], BusinessInfo[b][bY], BusinessInfo[b][bZ],0);//Создаём Пикап format(LString, 128, "Бизнес\n%s\nЦена: $%d", BusinessInfo[b][bBusName], BusinessInfo[b][bPrice]);//Форматируем Update3DTextLabelText(BusinessInfo[b][bText],0xFFFFFFFF,LString);//Обновляем 3DText } else//Иначе { BusinessInfo[b][bPick] = CreatePickup(1274, 23, BusinessInfo[b][bX], BusinessInfo[b][bY], BusinessInfo[b][bZ], 0);//Создаём Пикап format(LString,128,"Бизнес\n%s\nВладелец: %s",BusinessInfo[b][bBusName],BusinessInfo[b][bOwner]);//Форматируем Update3DTextLabelText(BusinessInfo[b][bText],0xFFFFFFFF,LString);//Обновляем 3DText } } stock SaveBusiness(biz) { new ids[32]; format(ids,sizeof(ids),"biz/%d.ini",biz); new inihOpen; inihOpen = ini_openFile(ids); if(inihOpen == -1 || inihOpen == -2) inihOpen = ini_createFile(ids); ini_setString(inihOpen, "bBusName", BusinessInfo[biz][bBusName]); ini_setString(inihOpen, "bOwner", BusinessInfo[biz][bOwner]); ini_setInteger(inihOpen, "bPrice", BusinessInfo[biz][bPrice]); ini_setInteger(inihOpen, "bLock", BusinessInfo[biz][bLock]); ini_setInteger(inihOpen, "bInterior", BusinessInfo[biz][bInterior]); ini_setInteger(inihOpen, "bVirtWorld", BusinessInfo[biz][bVirtWorld]); ini_setFloat(inihOpen, "bZ", BusinessInfo[biz][bZ]); ini_setFloat(inihOpen, "bX", BusinessInfo[biz][bX]); ini_setFloat(inihOpen, "bY", BusinessInfo[biz][bY]); ini_closeFile(inihOpen); return 1; } В OnGameModeInit: LoadBiz(); Далее добавим несколько команд, для этого в OnPlayerCommandText добавим: if(strcmp("/benter", cmdtext, true, 6) == 0) { for(new b = 1; b <= AllBiz; b++)//Для всех Бизнесов { if(!IsPlayerInRangeOfPoint(playerid, 1.5, BusinessInfo[b][bX], BusinessInfo[b][bY], BusinessInfo[b][bZ])) continue; if(strcmp(BusinessInfo[b][bOwner],GN(playerid), true) !=0 && BusinessInfo[b][bLock] == 1) return SendClientMessage(playerid,-1,"Бизнес закрыт.");//Если закрыт SetPlayerPos(playerid, bInts[BusinessInfo[b][bInterior]][biX], bInts[BusinessInfo[b][bInterior]][biY], bInts[BusinessInfo[b][bInterior]][biZ]);//Устанавливаем позицию игроку SetPlayerInterior(playerid, bInts[BusinessInfo[b][bInterior]][biInt]);//Устанавливаем интерьер игроку SetPlayerVirtualWorld(playerid, BusinessInfo[b][bVirtWorld]);//Устанавливаем виртуальный мир игроку } return true; } if(strcmp("/bexit", cmdtext, true, 5) == 0) { for(new b = 1; b <= AllBiz; b++)//Для всех Бизнесов { if(IsPlayerInRangeOfPoint(playerid, 5.0, bInts[BusinessInfo[b][bInterior]][biX], bInts[BusinessInfo[b][bInterior]][biY], bInts[BusinessInfo[b][bInterior]][biZ]) && GetPlayerVirtualWorld(playerid) == BusinessInfo[b][bVirtWorld])//Если в радиусе 5 метров от выхода((Координат входа)) { SetPlayerPos(playerid, BusinessInfo[b][bX],BusinessInfo[b][bY],BusinessInfo[b][bZ]);//Устанавливаем позицию игроку SetPlayerVirtualWorld(playerid,0);//Устанавливаем виртуальный мир игроку SetPlayerInterior(playerid,0);//Устанавливаем интерьер игроку } } return true; } if(strcmp("/buybus", cmdtext, true, 9) == 0) { for(new b = 1; b <= AllBiz; b++)//Для всех Бизнесов { if(!IsPlayerInRangeOfPoint(playerid, 1.5, BusinessInfo[b][bX], BusinessInfo[b][bY], BusinessInfo[b][bZ])) continue; if(PlayerInfo[playerid][pMoney] < BusinessInfo[b][bPrice]) return SendClientMessage(playerid,-1,"У вас не достаточно наличных средств, для покупки."); //Если не достаточно денег if(strcmp(BusinessInfo[b][bOwner], "Nones",true) != 0) return SendClientMessage(playerid,-1,"Бизнес не продаётся."); //Если есть Владелец strmid(BusinessInfo[b][bOwner], GN(playerid), 0, 24, 24);//Устанавливаем Владельца UpdateBusiness(b);//Обновляем SaveBusiness(b); //Сохраняем GivePlayerMoney(playerid,-BusinessInfo[b][bPrice]); //Отнимаем сумму SendClientMessage(playerid,-1,"Поздравляем с покупкой"); return true; } SendClientMessage(playerid,-1,"Подойдите к Бизнесу который желаете купить."); return true; } if(strcmp("/sellbus", cmdtext, true, 10) == 0) { for(new b = 1; b <= AllBiz; b++)//Для всех Бизнесов { if(!IsPlayerInRangeOfPoint(playerid, 1.5, BusinessInfo[b][bX], BusinessInfo[b][bY], BusinessInfo[b][bZ])) continue; if(!strcmp(BusinessInfo[b][bOwner], GN(playerid), true)) { strmid(BusinessInfo[b][bOwner], "Nones", 0, 5, 5);//Убираем владельца с Бизнеса UpdateBusiness(b);//Обновляем SaveBusiness(b);//Сохраняем GivePlayerMoney(playerid,BusinessInfo[b][bPrice]/2);//Даём игроку 1/2 стоимости Бизнеса SendClientMessage(playerid,-1,"Вы продали свой Бизнес государству. За 1/2 его стоимости."); return true; } } return true; } if(strcmp("/addbus", cmdtext, true, 13) == 0) { if(PlayerInfo[playerid][pAdministrator] == 10) { return ShowPlayerDialog(playerid,2000,DIALOG_STYLE_INPUT,"Название","Введите название:","Далее","Отмена");//Выводим Диалог } } Далее добавим диалоги, для этого в OnDialogResponse вставим: if(dialogid == 2000) { if(response)//Если продолжаем { if(!strlen(inputtext)) return ShowPlayerDialog(playerid, 2000, DIALOG_STYLE_INPUT, "Название", "Введите название:", "Далее","Отмена");//Если не введено - повторяем SetPVarString(playerid, "b_name", inputtext);//Записываем ShowPlayerDialog(playerid, 2001, DIALOG_STYLE_INPUT, "Стоимость", "Введите стоимость Бизнеса:", "Далее", "Отмена");//Показываем Диалог с Ценой } } if(dialogid == 2001) { if(response)//Если продолжаем { if(!strlen(inputtext)) return ShowPlayerDialog(playerid, 2001, DIALOG_STYLE_INPUT, "Стоимость", "Введите стоимость бизнеса:","Далее","Назад");//Если не введено - повторяем SetPVarInt(playerid, "b_price", strval(inputtext)); LString = ""; for(new i; i < sizeof(bInts); i++) { strcat(LString, bInts[i][biName]); strcat(LString, "\n"); } ShowPlayerDialog(playerid, 2002, DIALOG_STYLE_LIST, "Интерьер", LString, "Далее", "Назад");//Показываем Диалог с выбором Интерьера } else DeletePVar(playerid, "b_name"), ShowPlayerDialog(playerid, 2000, DIALOG_STYLE_INPUT, "Название","Введите название:", "Далее", "Отмена");//Иначе } if(dialogid == 2002) { if(response)//Если продолжаем { SetPVarInt(playerid, "b_int", listitem); ShowPlayerDialog(playerid, 2003, DIALOG_STYLE_MSGBOX, "Подтверждение", "Вы действительно желаете создать Бизнес?", "V", "X");//Подтверждаем } else DeletePVar(playerid, "b_price"), ShowPlayerDialog(playerid, 2001, DIALOG_STYLE_INPUT, "Стоимость", "Введите стоимость Бизнеса:", "Далее", "Назад");//Иначе } if(dialogid == 2003) { if(response)//Если продолжаем { AllBiz++;//КОл-во Бизнесов плюсуем new inihOpen = ini_openFile("biz.cfg"); ini_setInteger(inihOpen, "AllBiz", AllBiz); ini_closeFile(inihOpen); new Float:x[3], str[64]; GetPlayerPos(playerid, x[0], x[1], x[2]);//Получаем позицию GetPVarString(playerid, "b_name", str, 64); BusinessInfo[AllBiz][bX] = x[0];//Присваиваем Координату X BusinessInfo[AllBiz][bY] = x[1];//Присваиваем Координату Y BusinessInfo[AllBiz][bZ] = x[2];//Присваиваем Координату Z BusinessInfo[AllBiz][bPrice] = GetPVarInt(playerid, "b_price");//Присваиваем Цену BusinessInfo[AllBiz][bInterior] = GetPVarInt(playerid, "b_int");//Присваиваем Интерьер BusinessInfo[AllBiz][bVirtWorld] = AllBiz;//Присваиваем Виртуальный Мир strmid(BusinessInfo[AllBiz][bBusName], str, 0, 32, 32);//Присваиваем Имя strmid(BusinessInfo[AllBiz][bOwner], "Nones", 0, 24, 24);//Присваиваем Владельца "Nones" SaveBusiness(AllBiz);//Сохраняем BusinessInfo[AllBiz][bPick] = CreatePickup(1274,23,x[0],x[1],x[2],0);//Создаём Пикап format(LString, 128, "Бизнес\n%s\nЦена: $%d", BusinessInfo[AllBiz][bBusName], BusinessInfo[AllBiz][bPrice]);//Форматируем BusinessInfo[AllBiz][bText] = Create3DTextLabel(LString, 0xFFFFFFFF, x[0], x[1], x[2] + 0.5, 10.0, 0, 0);//Создаём 3DText GameTextForPlayer(playerid, "~w~Бизнес ~g~Создан",100,1); DeletePVar(playerid, "b_price"); DeletePVar(playerid, "b_name"); DeletePVar(playerid, "b_int"); } else DeletePVar(playerid,"b_price"), DeletePVar(playerid, "b_name"), DeletePVar(playerid, "b_int");//Иначе } В папке scriptfiles создайте файл biz.cfg и впишите туда allbiz = 0. И создайте папку biz, туда они будут сохранятся. Автор: Лев Попов Автор переделки: Basis
  11. Может нужен кому нибудь. Переделал из /offadminka Изначального автора незнаю Варны можно снять обычной /unwarn if(strcmp(cmd, "/offwarn", true) == 0) { if(PlayerInfo[playerid][pAdmin] >= 4) { tmp = strtok(cmdtext, idx); if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_WHITE, "Введите: /offwarn [Ник] [Причина]"); new length = strlen(cmdtext); while ((idx < length) && (cmdtext[idx] <= ' ')) { idx++; } new offset = idx; new result[64]; while ((idx < length) && ((idx - offset) < (sizeof(result) - 1))) { result[idx - offset] = cmdtext[idx]; idx++; } result[idx - offset] = EOS; if (!strlen(tmp)) return SendClientMessage(playerid, COLOR_WHITE, "Введите: /offwarn [Ник] [Причина]"); format(string, sizeof(string), "%s.ini", tmp); if(fexist(string)) { format(string, sizeof(string), "%s.ini", tmp); new File = ini_openFile(string); ini_setInteger(File,"Warnings",1); ini_closeFile(File); GetPlayerName(playerid, sendername, sizeof(sendername)); format(string, sizeof(string), "[OFFWARN]Администратор %s выдал варн игроку %s, причина: %s",sendername,giveplayer,(result)); ABroadCast(COLOR_LIGHTRED,string,1); } return true; } else { SendClientMessage(playerid, COLOR_ORANGE, "Вам недоступна эта функция!"); } return true; } Значения: if(PlayerInfo[playerid][pAdmin] >= 4) 4 - Уровень администрирования, с которого можно выдавать предупреждение
  12. решил написать простой скрипт чтобы админ мог включить всем музыку приступим перейдём в OnPlayerCommandText и там вставляем команду if(strcmp(cmd,"/music", true) == 0) { if(PlayerInfo[playerid][pAdmin] >= 3) { ShowPlayerDialog(playerid,345,DIALOG_STYLE_INPUT,"Музыку всем","Введите ссылку на песенку","Вкл","отмена"); return true; } return 1; } C командой покончено теперь идём в OnDialogResponse и вставляем данный кейс case 345: { if(response) { new giveplayerid; if(!strval(inputtext)) return ShowPlayerDialog(playerid,345,DIALOG_STYLE_INPUT,"Музыку всем","Введите ссылку на песенку","Вкл","отмена"); SendClientMessageToAll(0xFF0000FF,"Администратор включил музыку всем"); PlayAudioStreamForPlayer(giveplayerid,inputtext); } return 1; } Подобного на форуме не видел.
  13. Добрый день! Сливаю вам полностью рабочее Казино для CR:MP //=================================[Казино]===================================== if(strcmp(cmd, "/dice", true) == 0){ new YCMDstr[256]; if(gPlayerLogged[playerid] == 0) return SendClientMessage(playerid, COLOR_WHITE, "{FF0000}[Недоступно]{ffffff} Для начала авторизируйтесь на сервере."); if(!PlayerToPoint(15.0,playerid,1687.6349,2061.8667,-7.8350)) return SendClientMessage(playerid, -1, "{CECECE}Вы должны находиться в частном казино"); tmp = strtok(cmdtext, idx); if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_WHITE, "{CECECE}Использование: /dice [id игрока] [ставка от 100 рублей до 5млн.]"); giveplayerid = ReturnUser(tmp); tmp = strtok(cmdtext, idx); if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_WHITE, "{CECECE}Использование: /dice [id игрока] [ставка от 100 рублей до 5млн.]"); new price = strval(tmp); if(price 5000000) return SendClientMessage(playerid, -1, "Минимальная ставка 100 рублей максимальная 5млн."); if(ZapretDice[giveplayerid] == 1) return SendClientMessage(playerid, -1, "В данный момент игрок не может играть!"); if(PlayerInfo[playerid][pMoney] if(PlayerInfo[giveplayerid][pMoney] if(dicetime > gettime()) return SendClientMessage(playerid, -1, "В данный момент вы не можете играть!"); if(!IsPlayerConnected(giveplayerid)) return true; //if(!ProetectorS(6.0, playerid, giveplayerid)) return true; if(giveplayerid == playerid) return true; format(YCMDstr, sizeof(YCMDstr), "{3399FF}Вы предложили %s бросить кости. Ставка: %i рублей",Names(giveplayerid),price); SendClientMessage(playerid, 0x6495EDFF, YCMDstr); format(YCMDstr, sizeof(YCMDstr), "{3399FF}%s предлагает бросить кости. Ставка: %i рублей",Names(playerid),price); SendClientMessage(giveplayerid, 0x6495EDFF, YCMDstr); SendClientMessage(giveplayerid, COLOR_WHITE, "{FFFFFF}Нажмите {00CC00}Enter {FFFFFF}чтобы согласиться или {FF6600}N {FFFFFF}для отказа"); ZapretDice[playerid] = 1; KostiName[giveplayerid] = playerid; KostiMoney[giveplayerid] = price; return true;} //============================================================================== Автор: Я Также не забываем о переменных! Если нужен маппинг казино пишите в комментарии!
  14. Maus2012

    Exclusive Role Play|Сливаю

    Доброе время суток,хочу представить вам данный мод! Основные характеристики сервера: Динамика Сервера: Динамическая система Домов(есть улучшения для дома) Динамическая система Бизнесов (СТО-24/7-АЗС-Бар-Кафе-Клубы-Пиццерия и т.д) Динамическая система Гаражей(есть улучшения для гаража) Динамическая система Тюнинга с сохранением Динамическая система Фракций (Создание авто для фракций прямо из игры) Динамическая система АТМ Система телефонов Фракции Сервера: Мерия СБУ Армия Лицензеры Увд г.Южный Увд г.Арзамас Работники Банка Титушки Луганская Народная Республика Донецкая Народная Республика Китайская Мафия МЧС Украинская Мафия Левый Сектор Правый сектор Русская Мафия Работники Казино 2 фракции Новостные Djfm Кореспондент У всех фракций есть свой интерьер. Официальные работы "Водитель автобуса" "Водитель такси" "Развозчик продуктов" "Развозчик топлива" "Автомеханик" "Дальнобойщик" "Машинист" Есть 3 авто-салона Эконом Елит Vip Сервер на MySQL . Скачать с Яндекс.Диск
  15. К глобальным массивам(те которые в самом верху ) добавляем: new Text:Textdraw[MAX_PLAYERS]; Добавляем в: public OnPlayerConnect(playerid) Вот это: Textdraw[playerid] = TextDrawCreate(36.000000, 144.000000, "_"); TextDrawBackgroundColor(Textdraw[playerid], 255); TextDrawFont(Textdraw[playerid], 2); TextDrawLetterSize(Textdraw[playerid], 0.250000, 1.099999); TextDrawColor(Textdraw[playerid], -1); TextDrawSetOutline(Textdraw[playerid], 0); TextDrawSetProportional(Textdraw[playerid], 1); TextDrawSetShadow(Textdraw[playerid], 1); TextDrawUseBox(Textdraw[playerid], 1); TextDrawBoxColor(Textdraw[playerid], 118); TextDrawTextSize(Textdraw[playerid], 220.000000, 5.000000); Дальше добавляем две функции: stock player_SendTD(playerid, text[], time) { TextDrawSetString(Textdraw[playerid], text); SetTimerEx("TimeHideForPlayer", time, 1, "i", playerid); return TextDrawShowForPlayer(playerid, Textdraw[playerid]); } forward TimeHideForPlayer(playerid); public TimeHideForPlayer(playerid) TextDrawHideForPlayer(playerid, Textdraw[playerid]); Автор: неизвестно Скриншот:
  16. Vladimir_Kulkov

    Основа банкомата

    Представляю вашему внимаю основу динамических банкоматов,это всего лишь основа,никаких действий на кнопки и диалогов нет.И так начнём
  17. Vladimir_Kulkov

    Гонка на роликах.

    Администратор запускает гонку /startrace и через 2 минуты начинается гонка. В конце гонки пишет, кто каким пришел. Игрок пришедший первым - получает 30.000р, второй - 20.000р, третий - 10.000р. Сумму можете изменить в дефайнах. Также, администратор может в любой момент остановить гонку - /stoprace
  18. Многие просили это и постили очень много тем но им не отвечали понятно как сделать музыку с сайтов в определённом месте: Для начала, вам нужно определиться, где будет играть музыка. Вам нужны координаты того места, откуда вы бы хотели, чтобы играла музыка, это x, y, z Потом в public OnPlayerUpdate(playerid) добавляем: if(IsPlayerInRangeOfPoint(playerid,радиус,x,y,z)) { if(!GetPVarInt(playerid,"music")) { SetPVarInt(playerid,"music",1); PlayAudioStreamForPlayer(playerid, "ссылка",x,y,z,радиус,true); } } else { if(GetPVarInt(playerid,"music")) { DeletePVar(playerid,"music"); StopAudioStreamForPlayer(playerid); } } x,y,z - заменяете координатами радиус - к примеру: 80 ссылка - заменяете ссылкой с музыкой/радио Автор:Rush
  19. Драсте Нашёл на просторах этот замечательный скрипт который добавит на ваш сервер наверно самую известную тюрьму под названием "Алькатрас". Этот маппинг тюрьмы под названием "Алькатрас". Тюрьма находится на острове и связи с этим фактором, на территории тюрьмы присутствует свой собственный пирс и вертолетная площадка. На острове находится несколько строений, одно из них, это здание в котором и находятся заключенные. В работе так же присутствует интерьер тюрьмы. Особенностью тюрьмы, является возможность сбежать из нее... (Подсказка: канализация) Команды: /sm - телепортироватся к тюрьме /sm2 - телепортироватся в канализацию тюрьмы P.S: Автор скрипта не я. Автор: Buggy B 1382093176_alkatraz.zip
  20. Na'Vi

    Донат система

    Добрый день Вот система доната на процессоре DC_CMD CMD:donate(playerid, params[])//1055 { ShowPlayerDialog(playerid, 1055, DIALOG_STYLE_LIST, "DONATE: MOY ROLE PLAY", "[1] > Активировать донат - код\n[2] > Информация о донат\n[3] > Игровые привилегии\n[4] > Конвертер виртуальных средств\n[5] > Сменить никнейм", "Выбрать", "Отмена"); return true; } case 1055: { if(response) { switch(listitem) { case 0: ShowPlayerDialog(playerid, 3242, DIALOG_STYLE_INPUT, "DONATE: Активация донат - кода","Введите донат код, который вы получили при оплате и нажмите 'Далее':\n","Далее","Отмена"); case 1: format(stringer, sizeof(stringer), "{FFFFFF}На данный момент у Вас: {00B464}%d {FFFFFF}донат очков\n\nВы можете потратить эти очки на конвертер виртуальных средств или же игровые привилегии", PlayerInfo[playerid][pDonatemoney2]), ShowPlayerDialog(playerid, 228228, DIALOG_STYLE_MSGBOX, "DONATE: Информация о донате", stringer, "Продолжить", "Назад"); case 2: GameDonate(playerid); case 3: format(stringer, sizeof(stringer), "{FFFFFF}Действующий тариф: {ffa500}Бонусный {FFFFFF}(5 к 15 тыс.)\n\nНа счету вашего аккаунта {ffa500}%d {FFFFFF}донат очка(о/ов)\n\nМаксимально доступная выручка с обмена составляет %d $", PlayerInfo[playerid][pDonatemoney2], PlayerInfo[playerid][pDonatemoney2]*5015), ShowPlayerDialog(playerid, 12953, DIALOG_STYLE_INPUT, "DONATE: Конвертер виртуальных средств", stringer, "Продолжить", "Назад"); case 4: ShowPlayerDialog(playerid, 9943, DIALOG_STYLE_INPUT, "DONATE: Сменить никнейм", "Данная услуга стоит 500 донат очков\n\nНапишите новый никнейм в окошко\n\nНапример: Grand_Persona, Vasya_Pupkin\n\nЧтобы не было лишних проблем, проверьте каждый знак своего будущего никнейма", "Отправить", "Назад"); } } else return true; } case 26363: { if(response) { switch(listitem) { case 0: { if(PlayerInfo[playerid][pDonatemoney2] PlayerInfo[playerid][pDonatemoney2] -=200; PlayerInfo[playerid][pSDPistol] = 100; PlayerInfo[playerid][pDesertEagle] = 100; PlayerInfo[playerid][pShotGun] = 100; PlayerInfo[playerid][pMP5] = 100; PlayerInfo[playerid][pM4] = 100; PlayerInfo[playerid][pAK47] = 100; SendClientMessage(playerid,COLOR_WHITE,"Вы прокачали все скиллы себе за {00B464}200 {FFFFFF}донат очков."); } case 1: { if(PlayerInfo[playerid][pDonatemoney2] PlayerInfo[playerid][pBoxSkill] = 999999; PlayerInfo[playerid][pKongfuSkill] = 999999; PlayerInfo[playerid][pKickboxSkill] = 9999999; SendClientMessage(playerid, COLOR_WHITE, "Вы прокачали боевые скиллы себе за {00B464}200 {FFFFFF}донат очков"); PlayerInfo[playerid][pDonatemoney2] -= 200; } case 2: { if(PlayerInfo[playerid][pDonatemoney2] PlayerInfo[playerid][pDrugs] += 2500; PlayerInfo[playerid][pMats] += 2500; SendClientMessage(playerid, COLOR_WHITE, "Вам выдано 2500 материалов и 2500 наркотиков за {00B464}50 {FFFFFF}донат очков"); PlayerInfo[playerid][pDonatemoney2] -= 50; } case 3: { if(PlayerInfo[playerid][pDonatemoney2] PlayerInfo[playerid][pVodPrava] = 1; SendClientMessage(playerid, COLOR_WHITE, "Вы получили водительские права за {00B464}35 {FFFFFF}донат очков"); PlayerInfo[playerid][pDonatemoney2] -= 35; } case 4: { if(PlayerInfo[playerid][pDonatemoney2] PlayerInfo[playerid][pWarns] = 0; PlayerInfo[playerid][punWarnstime] = 0; PlayerInfo[playerid][punWarns] = 0; SendClientMessage(playerid, COLOR_WHITE, "Вы аннулировали варны за {00B464}50 {FFFFFF}донат очков"); PlayerInfo[playerid][pDonatemoney2] -= 50; } case 5: { if(PlayerInfo[playerid][pDonatemoney2] PlayerInfo[playerid][pLevel] += 1; SendClientMessage(playerid, COLOR_WHITE, "Вы прибавили 1 к игровому уровню за {00B464}150 {FFFFFF}донат очков"); PlayerInfo[playerid][pDonatemoney2] -= 150; } case 6: { if(PlayerInfo[playerid][pDonatemoney2] PlayerInfo[playerid][pWanted] =0; PlayerInfo[playerid][pDonatemoney2] -=5; SendClientMessage(playerid,COLOR_WHITE,"Вы понизили свой уровень розыска за {00B464}5 {FFFFFF}донат очков."); } case 7: { if(PlayerInfo[playerid][pDonatemoney2] PlayerInfo[playerid][pNarcoLomka] += 1000; PlayerInfo[playerid][pDonatemoney2] -=30; SendClientMessage(playerid,COLOR_WHITE,"Вы прибавили себе наркозависимость на 1000 за {00B464}30 {FFFFFF}донат очков."); } case 8: { if(PlayerInfo[playerid][pDonatemoney2] if(PlayerInfo[playerid][pNarcoLomka] PlayerInfo[playerid][pNarcoLomka] -= 1000; PlayerInfo[playerid][pDonatemoney2] -=30; SendClientMessage(playerid,COLOR_WHITE,"Вы убавили себе наркозависимость на 1000 за {00B464}30 {FFFFFF}донат очков."); } case 9: { if(PlayerInfo[playerid][pDonatemoney2] GivePlayerWeapon(playerid, 24, 1000); GivePlayerWeapon(playerid, 29, 1000); GivePlayerWeapon(playerid, 31, 1000); GivePlayerWeapon(playerid, 25, 1000); PlayerInfo[playerid][pDonatemoney2] -=30; SendClientMessage(playerid,COLOR_WHITE,"Вам выдан комплект оружия за {00B464}30 {FFFFFF}донат очков."); } case 10: { if(PlayerInfo[playerid][pDonatemoney2] PlayerInfo[playerid][pDonatemoney2] -=70; PlayerInfo[playerid][pZakonp] += 50; SendClientMessage(playerid,COLOR_WHITE,"Вы прибавили себе законопослушность на 50 за {00B464}70 {FFFFFF}донат очков."); } case 11: { if(PlayerInfo[playerid][pDonatemoney2] PlayerInfo[playerid][pMuted] = 0; PlayerInfo[playerid][pMuteTime] = 0; SendClientMessage(playerid, COLOR_WHITE, "Вы сняли бан чата за {00B464}15 {FFFFFF}донат очков"); PlayerInfo[playerid][pDonatemoney2] -= 15; } case 12: { if(PlayerInfo[playerid][pDonateRank] >= 1) return SendClientMessage(playerid, COLOR_WHITE, "Ошибка: У вас уже имеется VIP статус (попробуйте повысить его)"); if(PlayerInfo[playerid][pDonatemoney2] PlayerInfo[playerid][pDonateRank] = 1; PlayerInfo[playerid][pDonatemoney2] -= 300; SendClientMessage(playerid, COLOR_WHITE, "Вы купили VIP статус за {00B464}300 {FFFFFF}донат очков"); } case 13: { if(PlayerInfo[playerid][pDonatemoney2] if(PlayerInfo[playerid][pDonateRank] == 0) return SendClientMessage(playerid, COLOR_WHITE, "Ошибка: У вас нету VIP статуса"); if(PlayerInfo[playerid][pDonateRank] { PlayerInfo[playerid][pDonateRank]++; SendClientMessage(playerid, COLOR_WHITE, "Вы повысили VIP статус за {00B464}200 {FFFFFF}донат очков"); } } } } else return cmd_donate(playerid, ""); return true; } case 12953: { if(response) { if(!strlen(inputtext)) return format(stringer, sizeof(stringer), "{FFFFFF}Действующий тариф: {ffa500}Бонусный {FFFFFF}(5 к 15 тыс.)\n\nНа счету вашего аккаунта {ffa500}%d {FFFFFF}донат очка(о/ов)\n\nМаксимально доступная выручка с обмена составляет %d $", PlayerInfo[playerid][pDonatemoney2], PlayerInfo[playerid][pDonatemoney2]*5015), ShowPlayerDialog(playerid, 12953, DIALOG_STYLE_INPUT, "DONATE: Конвертер виртуальных средств", stringer, "Продолжить", "Назад"); new moneys; moneys = strval(inputtext); if(PlayerInfo[playerid][pDonatemoney2] if(moneys > 10000 || moneys PlayerInfo[playerid][pBank] += moneys*15000; format(stringer, sizeof(stringer), "Ваш аккаунт успешно пополнен, деньги были переведены в банк"); SendClientMessage(playerid, COLOR_WHITE, stringer); PlayerInfo[playerid][pDonatemoney2] -= moneys; return true; } else return cmd_donate(playerid, ""); CMD:givedonate(playerid, params[]) { if (PlayerInfo[playerid][pAdmin] > 0) { new playa, DonateMoney1, stringer[MAX_STR]; if (sscanf(params, "ud", playa, DonateMoney1)) return SendClientMessage(playerid, COLOR_WHITE, "Введите: /givedonate [playerid] [кол-во]"); if (PlayerInfo[playerid][pAdmin] == 12) { SendClientMessageFormatted(playerid, COLOR_YELLOW, "Вы дали игроку %s %d DonatMoney", NamePlayer[playa], DonateMoney1); PlayerInfo[playa][pDonatemoney2] += DonateMoney1; SendClientMessageFormatted(playa, COLOR_REDD, "Администратор %s дал вам: %d DonatMoney", NamePlayer[playerid], DonateMoney1); SendClientMessageFormatted(playa, COLOR_REDD, "Ваш донатный счёт: %d DonatMoney {FFFFFF}(( Используйте /donate ))", PlayerInfo[playa][pDonatemoney2]); format(stringer, 64, "* Admin %s dal %s, %d donat", NamePlayer[playerid], NamePlayer[playa], DonateMoney1); Money(stringer); } } return true; } CMD:adddc(playerid, params[]) { new code1 = 10000 + random(99999); new status1 = 1; new str[MAX_STR]; if (PlayerInfo[playerid][pAdmin] == 12) { if(sscanf(params, "d", params[0])) return SendClientMessage(playerid, COLOR_WHITE, "Введите: /adddc [донат-очков]"); format(str, sizeof(str), "INSERT INTO `donate` (`Code`, `Money`, `Status`) VALUES ('%d', '%d', '%d')",code1,strval(params[0]),status1); mysql_function_query(connects, str, false, "",""); format(str, sizeof(str), "Вы успешно создали код: %d (%d донат очков)",code1, strval(params[0])); SendClientMessage(playerid, COLOR_WHITE, str); format(str, sizeof(str), "INSERT INTO `donatelogs` (`Text`) VALUES ('%s ADD DONATE CODE: %d (%d)')",NamePlayer[playerid], code1, strval(params[0])); mysql_function_query(connects, str, false, "",""); } return true; } case 3242: { if(response) { if(!strlen(inputtext) || (!IsNumeric(inputtext))) { ShowPlayerDialog(playerid,197,DIALOG_STYLE_INPUT,"DONATE: Активация донат - кода","Введите донат код, который вы получите при оплате и нажмите 'Далее':\n","Далее","Отмена"); return true; } new code = strval(inputtext); new query_mysql[120]; mysql_format(connects, query_mysql,120, "SELECT Money FROM Donate WHERE Code = '%d' AND Status = '1'",code); mysql_function_query(connects, query_mysql, true, "GrandDonate", "dd", playerid,code); return true; } } case 9943: { if(response) { if(PlayerInfo[playerid][pDonatemoney2] if(!strlen(inputtext)) return ShowPlayerDialog(playerid, 9943, DIALOG_STYLE_INPUT, "DONATE: Сменить никнейм", "Напишите новый никнейм в окошко\n\nНапример: Grand_Persona, Vasya_Pupkin\n\nПроверяйте каждый знак, чтобы не были проблемы", "Отправить", "Назад"); if(IsTextInvalid(inputtext)) return ShowPlayerDialog(playerid, 9943, DIALOG_STYLE_INPUT, "DONATE: Сменить никнейм", "Напишите новый никнейм в окошко\n\nНапример: Grand_Persona, Vasya_Pupkin\n\nПроверяйте каждый знак, чтобы не были проблемы", "Отправить", "Назад"); if(strlen(inputtext) 24) return ShowPlayerDialog(playerid, 9943, DIALOG_STYLE_INPUT, "DONATE: Сменить никнейм", "Напишите новый никнейм в окошко\n\nНапример: Grand_Persona, Vasya_Pupkin\n\nПроверяйте каждый знак, чтобы не были проблемы", "Отправить", "Назад"); format(WantNickChange[playerid],MAX_PLAYER_NAME, "%s",inputtext); new QUERY[128]; mysql_format(connects, QUERY,sizeof(QUERY), "SELECT * FROM `Accounts` WHERE `Name` = '%e'", WantNickChange[playerid]); mysql_function_query(connects, QUERY, true, "GrandChangeName", "d", playerid); return true; } else return cmd_donate(playerid, ""); Автор: Sweazy(Roy)
  21. Smolin

    sscanf 2.8.2

    Установка: Файл sscanf.dll (или sscanf.so, если на хостинге) закинуть в папку "plugins", sscanf2.inc - в папку "pawno/include". В GM ко всем инклудам вставьте: #include <sscanf2> И скомпилируйте мод. В конфиге (server.cfg) прописать название плагина sscanf. Строка plugins. Если на хостинге, то дописать .so Допустим, возьмем любую команду с параметрами, пусть это будет /makeadmin CMD:makeadmin(playerid, params[]) { if(sscanf(params,"dd", params[0], params[1])) return SendClientMessage(playerid, -1,"Подсказка: /makeadmin [ID] [Уровень]"); InfoPlayer[params[0]][pAdmin] = params[1]; SendClientMessage(playerid, -1,"Успешно."); return 1; } Обращаем внимание на данную строчку if(sscanf(params,"dd", params[0], params[1])) Где d - числовое значение. Существует несколько других типов значений: d - числовое значение s - символьное(string) значение f - числовое значение в единицах Float u - игрок или бот Всё практично элементарно. Скачать sscanf 2.8.2: sscanf282.zip Если вдруг у вас возникли вопросы, то пишите в эту тему.
  22. Na'Vi

    Запрет /zap

    Добрый день! Команда для администраторов и она запрещает всем лидерам писать в гос.новости Сперва создаем переменную: new government_mute; Вот в основном код: if(strcmp(cmdtext, "/gov_mute", true) == 0) { government_mute = !government_mute; SendClientMessage(playerid, -1, (government_mute) ? (!"Вы запретили писать в гос.новости") : (!"Вы разрешили писать в гос.новости")); return 1; } Ну теперь в команду /gov или /gnews (или какая у вас гос.новости) добавляем такое: if(government_mute) return SendClientMessage(playerid, -1, !"Администратор запретил писать в гос.новости!"); Теперь DC_CMD: CMD:zap(playerid) { government_mute = !government_mute; SendClientMessage(playerid, -1, (government_mute) ? (!"Вы запретили писать в гос.новости") : (!"Вы разрешили писать в гос.новости")); return 1; } Автор: MrJunior
  23. Тема надобна для тех, кто не умеет импортировать базу данных на локальный хост (denwer). Следуйте инструкцией по скринам: 1. В адресную строку вписываем localhost 2. Жмем localhost/Tools/phpMyAdmin 3. Далее, заходим в Базы данных 4. Вводите имя вашей БД (любое) 5. База данных создана, заходим в неё и нажимаем ИМПОРТ 6. Выбираем файл, после того, как вы выбрали свою БД, нажимайте ОК Ваша база данных импортирована. Не забудьте прописать имя вашей базы данных в ГМ. Имя пользователя - root. Пароль отсутствует. Имя хоста "localhost"
  24. Predator

    Exceptional RolePlay

    Приветствую всех жителей портала cr-mp.ru! Представляю вашему вниманию мод - Exceptional RolePlay. Мод очень уникален, в нем имеются много полезных плюшек. Спешу разачаровать тех, кто хотел поставить этот мод себе на сервер. В нем имеются серьезные недоработки в плане автомобилей, баги с системой бизнесов и др.
  25. Думаю тут всё понятно надеюсь все играли в GTA V или хотя бы слышали что там можно вызывать подмогу вот тоже самое для CR:MP и SA:MP Начнём! Ко всем #define добавляем #define COLOR_DARKNICERED 0x9D000096 Ко всем forward добавляем forward BackupClear(playerid, calledbytimer); Создаём саму команду //--------------------------------=Police Backup=---------------------------------------------------------------- //===Needs Radar Clear if(strcmp(cmd,"/backup",true)==0 || strcmp(cmd,"/bk",true)==0) { if(IsPlayerConnected(playerid)) { if(IsACop(playerid)) { if (PlayerInfo[playerid][pRequestingBackup] != 1) { GetPlayerName(playerid, sendername, sizeof(sendername)); format(string, sizeof(string), " Всем постам: %s нуждается в подмоге, он отмечен красным маркером на радаре.", sendername); PlayerInfo[playerid][pRequestingBackup] = 1; for(new i = 0; i { if(IsPlayerConnected(i)) { if(IsACop(i)) { SetPlayerMarkerForPlayer(i, playerid, 0xFF0000FF); SendClientMessage(i, TEAM_BLUE_COLOR, string); } } } SendClientMessage(playerid, TEAM_BLUE_COLOR, " Используй /bkc чтобы отменить вызов подмоги."); SetTimerEx("BackupClear", 180000, false, "ii", playerid, 1); } else { SendClientMessage(playerid, COLOR_GREY, " Ты уже вызываешь подмогу!"); } } else { SendClientMessage(playerid, COLOR_GREY, " Ты не коп!"); } } return 1; } //-----------------=Radar Clear=----------------- //======Goes with Police Backup if(strcmp(cmd,"/backupclear",true)==0 || strcmp(cmd,"/bkc",true)==0) { BackupClear(playerid, 0); return 1; } Также не забываем добавить enum enum pInfo И туда же добавляем pRequestingBackup Создаём public в самом конце мода public BackupClear(playerid, calledbytimer) { if(IsPlayerConnected(playerid)) { if(IsACop(playerid)) { if (PlayerInfo[playerid][pRequestingBackup] == 1) { for(new i = 0; i { if(IsPlayerConnected(i)) { if(PlayerInfo[i][pMember] == 1||PlayerInfo[i][pLeader] == 1) { SetPlayerMarkerForPlayer(i, playerid, TEAM_HIT_COLOR); } } } if (calledbytimer != 1) { SendClientMessage(playerid, TEAM_BLUE_COLOR, " Твой запрос о подмоге очищен."); } else { SendClientMessage(playerid, TEAM_BLUE_COLOR, " Твой запрос о подмоге очищен автоматически"); } PlayerInfo[playerid][pRequestingBackup] = 0; } else { if (calledbytimer != 1) { SendClientMessage(playerid, COLOR_DARKNICERED, " У тебя нет текущих запросов!"); } } } else { if (calledbytimer != 1) { SendClientMessage(playerid, COLOR_GREY, " Ты не коп!"); } } } return 1; } Готово! Автор:Miller Я немного переписал инструкцию чтобы было понятно новичкам
×

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

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