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

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

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

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

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

Тип контента


Форумы

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

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

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


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

  • Начало

    Конец


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

  • Начало

    Конец


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

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

  1. BroKlays

    Поворотники

    Сегодня я расскажу вам о создании поворотников 1)Для начала заведём переменную для объектов наших поворотников Ко всем new new Blink[MAX_VEHICLES][4]; // Обьекты для поворотников 2)Теперь сделаем конструкцию enum для поворотников enum VehControl { vLeftBlink, vRightBlink, } new VehInfo[MAX_VEHICLES][VehControl]; 3)Теперь надо сделать "убивание" поворотников на случай, если авто зафиксятВ public OnVehicleSpawn(vehicleid) DestroyObject(Blink[vehicleid][0]); DestroyObject(Blink[vehicleid][1]); VehInfo[vehicleid][vRightBlink] = 0; DestroyObject(Blink[vehicleid][2]); DestroyObject(Blink[vehicleid][3]); VehInfo[vehicleid][vLeftBlink] = 0; 4)Теперь делаем поворотники по нажатию клавиш Q и EВ public OnPlayerKeyStateChange(playerid, newkeys, oldkeys) if(newkeys&64) { if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER) { if(VehInfo[v][vRightBlink] == 0) { Blink[v][0] = CreateObject(19294, 0.0, 0.0, 0.0, 0.0, 0.0,0.0,100.0);//правый передний Blink[v][1] = CreateObject(19294, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,100.0);//правый задний AttachObjectToVehicle(Blink[v][0], v, 0.9, 2.5, 0.1, 0.0, 0.0, 0.0);//правый передний AttachObjectToVehicle(Blink[v][1], v, 0.9, -2.7, 0.1, 0.0, 0.0, 0.0);//правый задний VehInfo[v][vRightBlink] = 1; } else if(VehInfo[v][vRightBlink] == 1) { DestroyObject(Blink[v][0]); DestroyObject(Blink[v][1]); VehInfo[v][vRightBlink] = 0; } } } if(newkeys&256) { if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER) { if(VehInfo[v][vLeftBlink] == 0) { Blink[v][2] = CreateObject(19294, 0.0, 0.0, 0.0, 0.0,0.0, 0.0,100.0);//левыый передний Blink[v][3] = CreateObject(19294, 0.0, 0.0, 0.0, 0.0,0.0, 0.0,100.0);//левыый задний AttachObjectToVehicle(Blink[v][2], v, -0.9, 2.5, 0.1, 0.0, 0.0, 0.0);//левыый передний AttachObjectToVehicle(Blink[v][3], v, -0.9, -2.7, 0.1, 0.0, 0.0, 0.0);//левыый задний VehInfo[v][vLeftBlink] = 1; } else if(VehInfo[v][vLeftBlink] == 1) { DestroyObject(Blink[v][2]); DestroyObject(Blink[v][3]); VehInfo[v][vLeftBlink] = 0; } } } Вот и всё.
  2. Всем доброго времени суток. Данный туториал создан в помощь новичкам кто пишет мод . Итак приступим... Ко всем new: PHP код: new BurgerEnter;// Глобальная переменная. new BurgerExit;// Глобальная переменная. В public OnGameModeInit() Вставляем следующее: PHP код: BurgerEnter = CreatePickup(19132, 23, -2336.8601, -166.7870, 35.5547, -1);// Координаты пикапа на улице. BurgerExit = CreatePickup(19132, 23, 362.8931, -75.1895, 1001.5078, -1);// Координаты пикапа в интерьере. 19132 - это модель пикапа. 23 - тип пикапа (менять не нужно) дальше идут координаты x, y, z. -1 - пикап будет показан для всех виртуальных миров. Дальше идём в public OnPlayerPickUpPickup(playerid, pickupid) Как только игрок встаёт на пикап его отправляет по координатам, задаёт ему поворот угла и телепортирует в интерьер. Смотрим всё ниже. PHP код: if(pickupid == BurgerEnter) { SetPlayerPos(playerid, 364.0044, -73.9694, 1001.5078);// Координаты игрока при входе в инт. SetPlayerFacingAngle(playerid, 315.0000);// Угол поворота игрока. SetPlayerInterior(playerid, 10);// 10 - id интерьера. } if(pickupid == BurgerExit) { SetPlayerPos(playerid, -2334.6167, -166.7845, 35.5547);// Координаты игрока при выходе на улицу. SetPlayerFacingAngle(playerid, 270.0000);// Угол поворота игрока. SetPlayerInterior(playerid, 0);// 0 - выход на улицу. } Автор: Forbidden and Dizzel Понравилось??Ставь ++
  3. всем привет! когда запускаю север выдает такую хрень надо стример обновить?
  4. Саня13377

    Ошибка в crmp

    Помогите устранить ошибку пжл!)
  5. freejamp

    Помощь

    Как из мапы мода зделать в mta мапу через конвертер
  6. Добрый вечер! Объясните пожалуйста: 1.Как и где сделать интерьер для фракций. 2.Как "засунуть" его в мод.(Извеняюсь за выражение)
  7. Вот я удалил пару стандартных объектов с карты CR-MP но столкнулся с такой проблемой что http://convertffs.com/ не конвектирует в те объекты чтоб удалить их Подскажите может кто знает как правильно надо их конвектировать?
  8. Описание: Эта система зарплаты для модов с 0. Она пойдет как на DM, TDM так и на RP. Ко всем forward's: forward PayDay(); forward UpdateTime(); В public OnGameModeInit(): SetTimer("UpdateTime",1000*60,1);//Таймер.[/b] [b] В конце мода создаем два новых public: public PayDay() { for(new i=0;i<MAX_PLAYERS;i++) //Цыкл проверяет всех игроков { GivePlayerMoney(i,5000); //Выдаем деньги(проверку поставить свою.) SendClientMessage(i,0xFFFFFFAA,"Вы получили зарплату. 5000 вирт."); //Выводим сообщения при зарплате. } return 1; } public UpdateTime() { new hour,minute,second; gettime(hour,minute,second); if(minute == 0) //Зарплата выдается каждый час в 0 минут. { PayDay(); //Вызываем паблик с зарплатой. } return 1; } Вот и все. Автор: Romzes
  9. Все наверное знают что если в машине сидит водитель,то любого кто попытается залезть на крышу тут же скинет. Вот решение: Ищем в моде вот это и удаляем: stock GetXYInBackOfPlayer(const playerid, &Float:x, &Float:y, const Float:distance){ new Float:a; GetPlayerPos(playerid, x, y, a); GetPlayerFacingAngle(playerid, a); if (IsPlayerInAnyVehicle(playerid)) { new vid=GetPlayerVehicleID(playerid); if (vid>0 && vid<=MAX_VEHICLES)GetVehicleZAngle(vid, a);} x -= (distance * floatsin(-a, degrees)); y -= (distance * floatcos(-a, degrees));} Потом это и тоже удаляем: public UnSurfCar(carid) { for(new i = 0; i<GetMaxPlayers(); i++) { if(GetPlayerSurfingVehicleID(i) == carid) { new Float:p[3]; GetPlayerPos(i,p[0],p[1],p[2]); GetXYInBackOfPlayer(i,p[0],p[1],5.0); SetPlayerPos(i,p[0],p[1],p[2]); } } return; } Дальше удаляем это: forward UnSurfCar(carid); Автор: UnKnowN
  10. tatarin032000

    Можно ли ?

    Можно перевести объекты с павно в мта? Что бы можно было отредактировать маппинг взятый с павно в МТА
  11. Вообщем проблема такова,а точнее их две,первая связана с маппингов,а вторая вообщем с сервером в целом. 1) я сделал в МТА себе небольшой админский домик с забором в гарели, сконвентировал его и засунул в GM, на сервере его нету,что делать не знаю. 2)как удалять созданные авто,даже если они чьи то? или просто созданы? где они хранятся?
  12. После растарта сервера исчезают иконки,но при этом дома есть
  13. У меня вопрос,для крмп модпак реально сделать! А вот для SAMP как сделать модпакк?! Так же не получиться! Нету таких папок/файлов!
  14. Что нам нужно: 1. Alci`s IMG Editor или любой другой IMG-редактор. 2. Программа "Блокнот" 3. Любые модели. Что делать: 1. Открываем Alci`s IMG Editor и создаем новый файл. Называем его так: mp_идентификатор-pack.img Вместо идентификатора пишем свое название латинским алфавитом, также можно использовать цифры. Закидываем этот файл в папку custom, которая находится в папке с мультиплеером. 2. В папке servers создаем Блокнотом txt файл со следующим названием: ip.port.txt. Открываем файл и записываем название IMG файла 3. Чтобы игроку выводило сообщение клиенту при запуске мультиплеера делаем следующее: В папке custom создаем Блокнотом txt файл с названием файла IMG. Открываем txt и пишем: en: сообщение - для английского текста ru: сообщение - для русского текста Можно использовать цветовые модификаторы. Для того, чтобы заменить модель необходимо: 1. В созданный IMG файл закинуть dff и txd файлы модели.
  15. Доброго времени суток, уважаемые пользователи. Я знаю, что было уже очень много решений по установке неоновых огней на автомобиль, но толкового туториала с подробным объяснением, как и почему все работает, я не видел. Что же, нужно исправить эту досадную оплошность. Итак, вначале разберем принцип работы. Как многие знают, в SAMP разрешено прикреплять объекты к автомобилям. А поскольку в наличии есть объекты галогеновых ламп, задача становится простейшей - при установке неона создаем объект-лампу и крепим его к автомобилю, при демонтаже - удаляем. Объекты ламп имеют ID с 18647 по 18651 (в данном примере - красный, синий, зеленый, желтый и розовый соответственно). Как ни странно, но - с теорией все, пора переходить к практике. Создаем new.pwn, подключаем библиотеку a_samp. Для желающих - можно подключить и стример, в туториале будут использоваться стандартные функции для работы с объектами. #include Объявляем массив для хранения информации об автомобилях и неоновых огнях. В нулевом элементе будет храниться информация о наличии и цвете лампы (-1 - не установлен, от 0 до 4 - соответственно красный, синий, зеленый, желтый и розовый), первый и второй будут использоваться для хранения в них указателей на объекты, последний - для сохранения текущего состояния лампы (включена или выключена). new neon[MAX_VEHICLES][4]; Теперь приступим к основным функциям. Первой из них будет установка неона на автомобиль. Параметрами функции будут ID автомобиля в игре и цвет от 0 до 4 - при создании объекта 18647 будет сдвигаться на значение цвета (18647 - объект красной лампы). Алгоритм таков: нулевому элементу присваиваем значение цвета, третьему - единицу (лампа после установки включена), создаются два объекта (первый и второй элементы) и прикрепляются к автомобилю. forward PlaceNeon (vehicle, color); public PlaceNeon (vehicle, color) { neon[vehicle][0] = color; neon[vehicle][3] = 1; DestroyObject(neon[vehicle][1]); DestroyObject(neon[vehicle][2]); neon[vehicle][1] = CreateObject(18647+color,0,0,0,0,0,0,100.0); neon[vehicle][2] = CreateObject(18647+color,0,0,0,0,0,0,100.0); AttachObjectToVehicle(neon[vehicle][1], vehicle, -0.8, 0.0, -0.70, 0.0, 0.0, 0.0); AttachObjectToVehicle(neon[vehicle][2], vehicle, 0.8, 0.0, -0.70, 0.0, 0.0, 0.0); return 1; } Далее идет удаление неона. Функция принимает как параметр только ID авто. Ставим в нулевой элемент -1 (отсутствие неона), лампу выключаем (третий элемент в ноль), объекты удаляем. forward RemoveNeon (vehicle); public RemoveNeon (vehicle) { neon[vehicle][0] = -1; neon[vehicle][3] = 0; DestroyObject(neon[vehicle][1]); DestroyObject(neon[vehicle][2]); return 1; } Последняя функция - включение-выключение установленной лампы. Тут алгоритм посложнее. Если лампа установлена (первый элемент массива - не -1), начинает свою работу триггер. Если лампа была выключена - создаем два объекта нужного цвета. Если включена - удаляем их. Естественно, не забывая ставить нужные метки в состояние лампы. forward TurnNeon (vehicle); public TurnNeon (vehicle) { if (neon[vehicle][0] != -1) { switch (neon[vehicle][3]) { case 0: { neon[vehicle][3] = 1; neon[vehicle][1] = CreateObject(18647+neon[vehicle][0],0,0,0,0,0,0,100.0); neon[vehicle][2] = CreateObject(18647+neon[vehicle][0],0,0,0,0,0,0,100.0); AttachObjectToVehicle(neon[vehicle][1], vehicle, -0.8, 0.0, -0.70, 0.0, 0.0, 0.0); AttachObjectToVehicle(neon[vehicle][2], vehicle, 0.8, 0.0, -0.70, 0.0, 0.0, 0.0); } case 1: { neon[vehicle][3] = 0; DestroyObject(neon[vehicle][1]); DestroyObject(neon[vehicle][2]); } } } return 1; } Собственно, основные функции у нас есть. Как с ними работать - уже как подскажет фантазия, но я разберу конкретные примеры. Итак, установка будет проходить по команде /neon. Создаем диалоговое окно со списком. Прошу не пинать за то, что в первом меню всего один пункт - писалось с запасом, так как будет дополняться мишурой типа установки мигалок и так далее. public OnPlayerCommandText(playerid, cmdtext[]) { if(!strcmp("/neon", cmdtext, true)) { if(IsPlayerInAnyVehicle(playerid)) { if(GetPlayerState(playerid)!=PLAYER_STATE_DRIVER) SendClientMessage(playerid,0xAFAFAFAA,"Вы должны сидеть за рулем автомобиля"); else ShowPlayerDialog(playerid,6000,DIALOG_STYLE_LIST,"Меню","Неон","Выбрать","Отмена"); } return 1; } return 0; } public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) { if(dialogid == 6000) { if(response) { if(listitem==0) ShowPlayerDialog(playerid,6001,DIALOG_STYLE_LIST,"Неон", "Красный\nСиний\nЗеленый\nЖелтый\nРозовый\nУбрать неон","Дальше","Отмена"); } return 1; } if(dialogid == 6001) { if(response) { if(listitem==5) { RemoveNeon (GetPlayerVehicleID(playerid)); SendClientMessage (playerid, 0xff440000, "Неон удален"); } else if (listitem >=0 && listitem { PlaceNeon (GetPlayerVehicleID(playerid), listitem); SendClientMessage (playerid, 0xff440000, "Неон установлен"); } } return 1; } return 0; } Включение-выключение забьем на кнопку подмиссии (стандартно - 2 на алфавитной части клавиатуры). Используем старый-добрый дефайн PRESSED: #define PRESSED(%0) (((newkeys & (%0)) == (%0)) && ((oldkeys & (%0)) != (%0))) И, собственно, описываем действия по кнопке: public OnPlayerKeyStateChange(playerid, newkeys,oldkeys) { if (PRESSED(512) && GetPlayerState(playerid) == PLAYER_STATE_DRIVER) TurnNeon (GetPlayerVehicleID(playerid)); return 1; } А что делать, если машина уничтожится? Объекты надо удалить. Используем OnVehicleDeath: public OnVehicleDeath (vehicleid, killerid) { DestroyObject(neon[vehicleid][1]); DestroyObject(neon[vehicleid][2]); return 1; } И для грамотной загрузки и выгрузки объектов - вычищаем массивы при старте и при остановке скрипта. public OnFilterScriptInit() { for (new i=0; i return 1; } public OnFilterScriptExit() { for (new i=0; i return 1; } Собственно, все! Я не рассматривал в данном примере сохранение параметров неона после выгрузки сервера в файле или БД, проверку на то, в авто ли игрок или в мотоцикле/вертолете/etc. и тому подобные вещи. Как видно из кода, за установку даже деньги не снимаются. В этом и заключается универсальность - можно заточить исходник под собственные нужды.
  16. Это моё первое готовое решение + оформлять темы я умею плохо так что...Пожалуй начнем.Ко всем дефайнам (#define) добавляем ещё один: #define HOSPITAL_TIME 5 //5 - Кол-во минут в больнице Ко всем new добавим ещё одну: new HospitalTime[MAX_PLAYERS]; В public OnPlayerConnect( playerid ) добавляем обнуление переменной HospitalTime[playerid] = 0; Нам нужно загрузить оставшееся время нахождения в больнице, для этого в public OnPlayerLogin( playerid, password[] ) вставляем:1)Для тех, у кого загрузка на mxINI т.е загрузка уровня у них выглядит примерно так: ini_getInteger(File, "Level", PlayerInfo[playerid][pLevel]);//Этот код вставлять НЕ надо!!! Вставляем вот такую строку ini_getInteger(File, "HospitalTime", HospitalTime[playerid]); 2)Для тех у кого НЕ на mxINI т.е загрузка уровня выглядит примерно так: if( strcmp( key , "Level" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pLevel] = strval( val ); } Вставляем следующую строку: if( strcmp( key , "HospitalTime" , true ) == 0 ) { val = ini_GetValue( Data ); HospitalTime[playerid] = strval( val ); } С загрузкой разобрались.Далее нам нужно сделать сохранение время проведения в больнице и для этого в public SavePlayer( playerid ) или public GF_OnPlayerUpdate( playerid ) (у всех поразному) добавляем следующее:У кого mxINI, а у кого не mxINI мы разобрались уже.1)Для тех, у кого mxINI: ini_setInteger(File, "HospitalTime", HospitalTime[playerid]); 2)Для тех, у кого НЕ mxINI: format(var, 32, "HospitalTime=%dn",HospitalTime[playerid]);fwrite(hFile, var); С сохранением мы тоже разобрались.Теперь нам надо сделать так, чтобы после смерти игрок попадал в больницу, для этого вpublic OnPlayerDeath( playerid, killerid, reason ) добавим код отвечающий за так сказать "помещение" игрока в больницу: if(killerid != INVALID_PLAYER_ID){if(!HospitalTime[playerid]){HospitalTime[playerid] = HOSPITAL_TIME * 60;SavePlayer(playerid);//SavePlayer замените на свою функцию сохранения}} в public SetPlayerUnJail() добавим код отвечающий за "выписку" игрока из больницы.После if(IsPlayerConnected(i)) вставляем следующий код if(HospitalTime[i] > 0){HospitalTime[i] --;if(!HospitalTime[i]){SendClientMessage(i, 0xBFC0C2FF,"Теперь ты здоров!");//Замените на свою функциюSetPlayerInterior(i, 0);//Замените на свою функциюSetPlayerVirtualWorld(i, 0);//Замените на свою функциюSetPlayerPos(i,2024.3229, -1404.7660, 17.2010);//Замените на свою функциюTogglePlayerControllable(i, true);//Замените на свою функциюSetPlayerHealth(i,100);}SavePlayer(i);//SavePlayer замените на свою функцию сохранения} Теперь мы добавим функцию помещения игрока в больницу при спавне (если время проведения в больнице не окончено).В начало public OnPlayerSpawn( playerid ) добавим следующий код: if(HospitalTime[playerid] > 0){SetPlayerInterior(playerid, 3);//Замените на свою функциюSetPlayerPos(playerid,338.4664,161.4294,1019.9844);//Замените на свою функциюSetPlayerVirtualWorld(playerid, 3);//Замените на свою функциюSetPlayerHealth(playerid, 100); //Замените на свою функциюTogglePlayerControllable(playerid, 0);//Замените на свою функциюApplyAnimation(playerid, "CRACK", "crckdeth2", 4.0, 1, 0, 0, 0, 0);SendClientMessage(playerid, 0xFF6347AA, "Вы попали в больницу, отдыхайте.");//Замените на свою функциюSavePlayer(playerid);//SavePlayer замените на свою функцию сохраненияreturn true;} Вот и все...Автор: Jekazzz
  17. Найдем паблик: OnPlayerKeyStateChange и в него суем: -------------------------------------------------------------------------------------------------------------------------- if( newkeys == 1 || newkeys == 9 || newkeys == 33 && oldkeys != 1 || oldkeys != 9 || oldkeys != 33) { switch(GetVehicleModel(GetPlayerVehicleID(playerid))) { case 446,432,448,452,424,453,454,461,462,463,468,471,430,472,449,473,481,484,493,495,509,510,521,538,522,523,532,537,570,581,586,590,569,595,604,611: return 0; } AddVehicleComponent(GetPlayerVehicleID(playerid), 1010); } -------------------------------------------------------------------------------------------------------------------------- Теперь при нажатии ЛКМ у авто идет нитро, если отпустить ЛКМ никтро перестанет идти Вот и все. Автор: Ramzes
  18. Маскировка Пароля! Важно. Функцыя работает с врсии Sa-MP 0.3d. Пример использования! Находим: ShowPlayerDialog(playerid, ваш ид диалога, DIALOG_STYLE_INPUT, "Регистрация", straut, "Далее", "");Источник: **** И меняем на: ShowPlayerDialog(playerid, ваш ид диалога, DIALOG_STYLE_PASSWORD, "Регистрация", straut, "Далее", "");Источник: ****[/color] [color=#000000] Для стабильной работы возьмити диалог: DIALOG_STYLE_PASSWORD.
  19. Гость

    Мод Пак

    Как создать Мод Пак для сервера ?
  20. Мне нужна помощь в создание бота для сервера crmp :) Это не так уж трудно , кто может сказать как ?)
  21. Всем привет! У меня проблема с деньгами на своём сервере! Когда покупаю например дом он стоит 400000 тыс.У меня становится -400000 тыс Помогите!
  22. зделал ворота все правельно они открываются но не закрываются что может быть такое ?
  23. Я поменял винду и такая хрень стала мод не комплерует разные павно пробовал
  24. Как сделать новости сервера?То есть каждые 5 минут всем игрокам приходило например:телефон можно купить в магазине 24/7 Вот так с меня +
×

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

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