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

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

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

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

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

Тип контента


Форумы

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

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

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


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

  • Начало

    Конец


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

  • Начало

    Конец


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

Найдено: 2,041 результат

  1. AnacondaZ

    [Маппинг]В городе Южном,Дом 1)

    Эту работу я сделал сам...Специально для GSG,она очень красивая)для РП сервера самое то)!
  2. #GiFF

    Пригород Южного

    Решил сделать пригород Южного. Прошу не судить строго,т.к. я начал мапперить только сегодня и вот моя первая работа
  3. Ryslik42

    Анти-Мат

    Доброго времени суток уважаемые пользователи форума. Представляю вам скрипт "Анти-Мат" Суть скрипта скрывать нецензурные слова. Автор: BRICS Для того чтобы работал скрипт нужно создать файл BadWords.cfg, в него записываем слова которые вы не хотите видеть. Файл ExeptionWords.cfg используется для слов исключений. ЯндексДиск Если ссылка нерабочая, напишите в ЛС исправлю.
  4. Dsplay

    Ферма.

    Решил сделать ферму.
  5. При вводе этой команды, на вашем плече появится попугай) Ко всем new добавим: new popugay[MAX_PLAYERS]; В OnPlayerCommandText: if(strcmp(cmd, "/попугай", true) == 0) { tmp = strtok(cmdtext,idx); giveplayerid = ReturnUser(tmp); if(!strlen(tmp) && PlayerInfo[playerid][pAdmin] > 1) return SendClientMessage(playerid,COLOR_WHITE,"Информация: /попугай [ид]"); giveplayerid = ReturnUser(tmp); if(popugay[giveplayerid] == 0) { SetPlayerAttachedObject(giveplayerid, 7, 19078, 1, 0.329150, -0.072101, 0.156082, 0.000000, 0.000000, 0.000000, 1.000000, 1.000000, 1.000000 ); SendClientMessage(giveplayerid,COLOR_LIGHTBLUE,"[Сервер]: Держи попугайчика!"); popugay[giveplayerid] = 1; } else { RemovePlayerAttachedObject(giveplayerid, 7); DestroyPlayerObject(giveplayerid, 19078); SendClientMessage(giveplayerid,COLOR_LIGHTBLUE,"[Сервер]: Отдай мне!"); popugay[giveplayerid] = 0; } return 1; } Вот и все, может кто-то возьмёт себе :)
  6. Здравствуйте уважаемые пользователи форума. Хотел бы предоставить вам спидометр который я делал для мода Gamer. Вроде простенький, не знал что можно туда добавить и сделал такой. Кому нужно будет можете брать для себя.
  7. jaD^

    Поселок возле Арзамаса.

    http://vk.com/video117706941_168896323 собсна видео.
  8. Пока самая кач-венная что есть в сети! Ваз 2190 Гранта (исправлены лок оси) Автор авто:Вадим Гусаров Автор первой доработки : Серажутдин Олимов Автор финальной доработки :Константин Плотников Особенности -3д дно -Нормальная подкрылка -Подкрыльники -Правильно протекстуренные фары вечилайтом -Правильно протекстуренные фары (задние) -Брызговики -Штамповка R15 -Сглаженный двигатель Исправлено много багов
  9. Komaroff 71

    MTA Map Editor или SA:MP Map Construction

    Добрый день,дамы и господа! Как вы уже поняли,речь пойдёт о наиболее популярных редакторов карт MTA Map Editor и SA:MP Map Construction. Многие начинающие мапперы стоят перед выбором:"Что же выбрать для работы?" Я опишу каждую из 2-х программ. Начнём с MTA Map Editor. По сути,это это лишь один из режимов приложения MTA.Рассмотрим поподробнее данный редактор. Плюсы: -Управление (имеет большое количество горячих клавиш) -Объекты разбиты на категории (очень легко найти нужную модель) -Хорошее передвижение камеры по карте Больше плюсов не увидел. Теперь о плохом.Минусов,к сожалению больше,чем плюсов. Минусы: -Точность (фанаты МТА,даже не пытайтесь оправдываться,с точностью до миллиметра установить объект крайне трудно) -Ненужное цветное выделение (ну это,думаю,ясно) -Невозможность использования новых объектов (например,0.3е объектов) -Невозможность выделения объектов стандартной карты -Крайне капризная программа (у многих пользователей постоянно возникают проблемы с установкой или запуском) Теперь поговорим о Map Construction(MC) Эта самостоятельная программа,зависящая лишь от самой игры (SA или CR) Рассмотрим достоинства. Плюсы: -Точность (гораздо точнее МТА) -Поддержка новых объектов -Возможность удаления объектов -Встроенный конвертер под стример -Выделение абсолютно любых объектов на карте Как видим,достоинств у МС больше,нежели у МТА. Минусы: -Управление (оно ужасное,если рассматривать использование горячих клавиш:нажал не на ту,и всё,камера улетает куда-то под карту,и вернуть её обратно не представляется возможным) -Выбор объектов (неудобно искать объекты,они не разделены никак,всё в одну кучу) Итак,сделаем вывод.По достоинствам выигрывает MC,и лично я советую работать с ним,нежели с Map Editor. В любом случае выбор за Вами.Ведь как говорится,на вкус и цвет товарища нет. Обе программы есть на данном форуме. На этой ноте я с Вами прощаюсь. Спасибо за внимание!
  10. Dsplay

    BMW X5

    BMW X5 Автор : неизвестен Автор дороботки : Игорь Бабиков. Хорошая модель,заменяет landstal.
  11. вадим2016

    возле депо

    машины не будет она ток на скрине.
  12. Здравствуйте, я часто сталкивался с тем, что люди спрашивают как заменить "Server Unknown Command" на свой текст, решение довольно простое: 1) Ищем у себя в моде public OnPlayerCommandText 2) И туда в самый низ паблика, ставим вместо return 0; вот это: return SendClientMessage(playerid,-1,"Такой команды нет!"); Может кому нибудь понадобится, взято с форумов.
  13. Интерьер магазина одежды Online Role Play. Автор: L9mon Координаты тп: 334.4555, -152.0853, 999.7998
  14. #L9mon

    Склад пгт.Батырево.

    Склад пгт.Батырево. Автор: #L9mon
  15. Здравствуйте, ув.пользователи. Сегодня хотелось бы разобрать способ защиты от накрутки денег на Вашем игровом сервере. Теория: Как вы знаете, функция GivePlayerMoney существует для выдачи определенного количества денег. Разберем ее работу подробнее. Данная функция добавляет/отнимает числа от самого текстдрава денег. А функция же GetPlayerMoney возвращает данное значение. Исход из этого: байты могут быть заменены при помощи обычных программ, таких как ArtMoney и т.п. Что с этим можно сделать? Заменить байт на ПК пользователя труда не составит, а вот изменить переменную в процессе на сервере (удаленно) практически нереально. Я думаю, понятно, к чему я клоню. Практика: Создадим массив, который будет хранить кол-во денег отдельно для каждого игрока: new realmoney[MAX_PLAYERS]; Далее создадим функцию, по которой значение из GetPlayerMoney будет сверяться с переменной realmoney. В случае несоответствия - обнуление и кик: stock GiveMoneyAntiCheat(playerid, money) { if(GetPlayerMoney(playerid) > realmoney[playerid])//сверяем данные { //если чит, то: ResetPlayerMoney(playerid);// обнуляем GivePlayerMoney(playerid, realmoney[playerid]);//возвращаем SendClientMessage(playerid, 0xBBBBBBAA, "Вы были кикнуты за попытку накрутки денег."); Kick(playerid);//кикаем return 1; } else { //иначе выдаем все по стандарту: GivePlayerMoney(playerid, money); realmoney[playerid] = GetPlayerMoney(playerid); } return 1; } При дисконнекте игрока проверим деньги. Для этого в OnPlayerDisconnect достаточно поставить проверку и вызвать функцию: if(GetPlayerMoney(playerid) > realmoney[playerid]) { GiveMoneyAntiCheat(playerid, PlayerInfo[playerid][pMoney]); } Естественно, теперь все GivePlayerMoney нужно заменить на GiveMoneyAntiCheat. Спасибо.
  16. 1. Для начала создадим диалоги. В Public OnDialogResponse: if(dialogid==5100) { if(response==1) { if(listitem == 0)// { SetPlayerSkin(playerid,280);// 280 ид рабочего скина SendClientMessage(playerid,COLOR_GREY,"Вы переоделись в рабочую одежду"); skrit[playerid] = 1; } else if(listitem == 1)//Гражданский { new rando = random(2); if(PlayerInfo[playerid][pSex] == 1)//Если пэд. мужчина то скины 185 170 46 { if(rando == 0) { SetPlayerSkin(playerid,185); } else if(rando == 1) { SetPlayerSkin(playerid,170); } else if(rando == 2) { SetPlayerSkin(playerid,46); } } else if(PlayerInfo[playerid][pSex] == 2)//Если пэд. женщина то скины 12 233 211 { if(rando == 0) { SetPlayerSkin(playerid,12); } else if(rando == 1) { SetPlayerSkin(playerid,233); } else if(rando == 2) { SetPlayerSkin(playerid,211); } } SendClientMessage(playerid,COLOR_GREY,"Вы оделись в Гражданку"); skrit[playerid] = 4; } else if(listitem == 4)//Номер строчки в файле с аккаунтом в которой указывается ид скина пэда { SetPlayerSkin(playerid,PlayerInfo[playerid][pChar]); SendClientMessage(playerid,COLOR_GREY,"Вы вернули себе свою одежду"); skrit[playerid] = 0; } } } 2. Далее нужно создать комманду которая будет вызывать наш диалог. В Public OnPlayerCommandText: if(strcmp(cmd, "/razdevpolic", true) == 0)// Комманду можете поменять на свою. Фантазии не хватило сократить) { if(PlayerToPoint(7.0,playerid,1554.4327,-1679.6113,6.2188,276.4227))//Координаты на которых будет работать комманда (если отойти от неё комманда не заработает) { if(PlayerInfo[playerid][pLeader] == 1 || PlayerInfo[playerid][pMember] == 1)//Здесь указывается какая фракция может использовать комманду { ShowPlayerDialog(playerid,5100,DIALOG_STYLE_LIST,"Одежда","Полиция\nГражданский\nВернуть свой","Ок","Отмена"); } } else { SendClientMessage(playerid,COLOR_GREY, "Вы не в раздевалке"); } return 1; } 3. Ну и создадим 3dText (если хотите можете сделать через пикап). Ко всем 3DText-ам: Create3DTextLabel(" Раздевалка: /razdevpolic ",0xFFFFFFFF,1554.4327,-1679.6113,6.2188,276.4227); AddStaticPickup(1242, 24, 1554.4327,-1679.6113,6.2188,276.4227); //пикапчик в виде броника Автор : HuKuTJKeEe
  17. Dsplay

    База армии.

    Делал базу давно,для своего проекта,находится она в Бусаево.
  18. Показываю как сделать бан на время с использованием Unix Времени + MxINI Бан работает так банишь игрока /ban [1-сек,2-мин,3-часы,4-дни] [ид] [число времени] [причина] пример /ban 2 1 10 проверка Если человек забанен и он заходит на сервер то ему вылазиет диалог когда он был забанен,когда разбанят,причина и потом кикает. Если бан закончится то аккаунт который забанен будет лежать в папке banlist пока игрок которого забанили зайдет снова на сервер. Важно: создать папку в scriptfiles с названием banlist Скачать инклуды можно тут ИНКЛУД (http://rghost.ru/35622578) Инклуды кидать в папку pawno->include, если есть то заменить. Время перевода с Unix на нормальное настроенно на московское В начало мода вставляем если нету #include <MxINI> #include <mxdate> // Для диалогов id меняйте на ваши свободные #define DIALOGUNBAN 1 // id дилога для высвечивания даты Это в свободное место stock GetBan(playerid) { new PlayerNick[MAX_PLAYER_NAME],string[255]; GetPlayerName(playerid, PlayerNick, MAX_PLAYER_NAME); format(string, sizeof(string), "banlist/%s.ini", PlayerNick); if(fexist(string)) { new OpenBan = ini_openFile(string); new bantime, unbantime, PlayerBan[MAX_PLAYER_NAME], reason[128]; ini_getInteger(OpenBan, "BanTime", bantime); ini_getInteger(OpenBan, "UnBanTime", unbantime); ini_getString(OpenBan, "PlayerBan", PlayerBan); ini_getString(OpenBan, "Reason", reason); ini_closeFile(OpenBan); if(gettime() >= unbantime) return UnBan(PlayerNick); else { format(string, sizeof(string), "\ Дата бана: %s\n\ Дата Разбана: %s\n\ Забанил: %s\n\ Причина бана: %s\n\ ", date("%dd.%mm.%yyyy в %hh:%ii:%ss",bantime), date("%dd.%mm.%yyyy в %hh:%ii:%ss",unbantime), PlayerBan,reason); ShowPlayerDialog(playerid,DIALOGUNBAN,0,"Вы забанены",string,"Выйти",""); return Kick(playerid); } } else return true; } stock UnBan(playerid[]) { new string[64]; format(string, sizeof(string), "banlist/%s.ini", playerid); return fremove(string); } stock AddBan(player, playerid[], giveplayerid[], type = 1, chislo = 0, reason[]) { new totalban = 0; switch(type) { case 1: totalban = 60*chislo; // минуты case 2: totalban = 3600*chislo; // часы case 3: totalban = 86400*chislo; // сутки default: totalban = chislo; // секунды } new string[64]; format(string, sizeof(string), "banlist/%s.ini", playerid); new OpenBan = ini_createFile(string); if(OpenBan < 0) ini_openFile(string); ini_setInteger(OpenBan, "BanTime", gettime()); ini_setInteger(OpenBan, "UnBanTime", gettime()+totalban); ini_setString(OpenBan, "PlayerBan", giveplayerid); ini_setString(OpenBan, "Reason", reason); ini_closeFile(OpenBan); // Закрываем файл. ShowPlayerDialog(player,DIALOGUNBAN,0,"Вы забанены","{FF0000}Вы забанены","Выйти",""); return Kick(player); } Далее вставляем в начало паблика OnPlayerConnect GetBan(playerid); Далее создадим саму команду бана (оптимизируйте под себя её) сделал под GF if(strcmp(cmd, "/ban", true) == 0) { tmp = strtok(cmdtext, idx); if(!strlen(tmp)) return SendClientMessage(playerid, 0xFFFFFFFF, "USAGE: /ban [playerid] [type:(1-минуты)(2-часы)(3-дни)(другое секунды)] [число] [причина]"); giveplayerid = strval(tmp); tmp = strtok(cmdtext, idx); if(!strlen(tmp)) return SendClientMessage(playerid, 0xFFFFFFFF, "USAGE: /ban [playerid] [type:(1-минуты)(2-часы)(3-дни)(другое секунды)] [число] [причина]"); new type = strval(tmp); tmp = strtok(cmdtext, idx); if(!strlen(tmp)) return SendClientMessage(playerid, 0xFFFFFFFF, "USAGE: /ban [playerid] [type:(1-минуты)(2-часы)(3-дни)(другое секунды)] [число] [причина]"); new chislo = strval(tmp); if(PlayerInfo[playerid][pAdmin] >= 4) { if(giveplayerid != INVALID_PLAYER_ID) { 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(result)) return SendClientMessage(playerid, 0xFFFFFFFF, "USAGE: /ban [playerid] [type:(1-минуты)(2-часы)(3-дни)(другое секунды)] [число] [причина]"); new PlayerNick[MAX_PLAYER_NAME], PlayerBan[MAX_PLAYER_NAME]; GetPlayerName(playerid, PlayerNick, MAX_PLAYER_NAME); GetPlayerName(giveplayerid, PlayerBan, MAX_PLAYER_NAME); AddBan(giveplayerid, PlayerBan, PlayerNick, type, chislo, result); return true; }//not connected } return true; } Теперь создадим команду разбана ниже if(strcmp(cmd,"/unban",true)==0) { if(PlayerInfo[playerid][pAdmin] >= 8) { tmp = strtok(cmdtext,idx); if(!strlen(tmp)) return SendClientMessage(playerid,COLOR_GRAD1,"/unban [players nick]"); UnBan(tmp); } return true; } Автор:Lik Взято с павно портала
  19. Доброго времени суток. Опять от безделья чтото да наколякал :) Крч новый подгон. Управление коордами. И так ид сторон : 0 : Вверх 1 : Вниз 2 : Влево 3 : Вправо. И так суть команды : Вы можете перемещать любого игрока на своё расстояние. Начнём команду вписывать в мод : Создаём #forward : #forward SetPlayerConsumPosition(playerid, using, typeid); Далее вставляем саму команду в public OnPlayerCommandTex() Для sscanf'щиков :) : if(strcmp(cmd, "/setpos", true) == 0) { if(!IsPlayerConnected(playerid)) return true; //if(Player[playerid][pAdmin] < 3) return true; // Проверка на админку if(sscanf(params, "iii", params[0],params[1],params[2])) return SendClientMessage(playerid,-1,"Ошибка команды : Введите [ID][Сторона][Радиус]"); return SetPlayerConsumPosition(params[0],params[1],params[2]); } Для простых процессеров : if(strcmp(cmd, "/setpos", true) == 0) { new TYPE[3]; cmd = strtok(cmdtext, idx); if(!IsPlayerConnected(playerid)) return true; if(!strlen(cmd)) return SendClientMessage(playerid,-1,"Ошибка команды : Введите [ID][Сторона][Радиус]"); TYPE[0] = strval(cmd); cmd = strtok(cmdtext, idx); if(!strlen(cmd)) return SendClientMessage(playerid,-1,"Ошибка команды : Введите [ID][Сторона][Радиус]"); TYPE[1] = strval(cmd); cmd = strtok(cmdtext, idx); if(!strlen(cmd)) return SendClientMessage(playerid,-1,"Ошибка команды : Введите [ID][Сторона][Радиус]"); TYPE[2] = strval(cmd); return SetPlayerConsumPosition(TYPE[0],TYPE[1],TYPE[2]); } И в конец мода создай сток и кэллбек : public SetPlayerConsumPosition(playerid,using,typeid) { new Float:POS[3] ,str[50], string[128]; GetPlayerPos(playerid,POS[0],POS[1],POS[2]); // Узнаём координаты. switch(using) { case 0: SetPlayerPos(playerid, POS[0], POS[1], POS[2]+typeid), str = ("вверх"); // Суммируем полученные координаты case 1: SetPlayerPos(playerid, POS[0], POS[1], POS[2]-typeid), str = ("ввниз"); // Суммируем полученные координаты case 2: SetPlayerPos(playerid, POS[0], POS[1]-typeid, POS[2]), str = ("влево"); // Суммируем полученные координаты case 3: SetPlayerPos(playerid, POS[0], POS[1]+typeid, POS[2]), str = ("вправо"); // Суммируем полученные координаты } format(string,128,"- %s был перемешенны на %i %s",GetPlayerNameEx(playerid),typeid,str); return SendClientMessage(playerid,-1,string); } И сток для определения имён : stock GetPlayerNameEx(playerid) { new pname[MAX_PLAYER_NAME]; new i; GetPlayerName(playerid,pname,sizeof(pname)); GPNXLABEL: i = strfind(pname,"_",true); if(i != (-1)) pname[i] = ' '; if(strfind(pname,"_",true)>-1)goto GPNXLABEL; return pname; } Вот и всё. Автор : Trateus
  20. #L9mon

    Интерьер магазина '24/7'

    Интерьер магазина '24/7' Делал давно для одного проекта, так и не был задействован. Автор: L9mon
×

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

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