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

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

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

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

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

Тип контента


Форумы

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

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

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


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

  • Начало

    Конец


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

  • Начало

    Конец


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

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

  1. После растарта сервера исчезают иконки,но при этом дома есть
  2. У меня вопрос,для крмп модпак реально сделать! А вот для SAMP как сделать модпакк?! Так же не получиться! Нету таких папок/файлов!
  3. Что нам нужно: 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 файлы модели.
  4. Доброго времени суток, уважаемые пользователи. Я знаю, что было уже очень много решений по установке неоновых огней на автомобиль, но толкового туториала с подробным объяснением, как и почему все работает, я не видел. Что же, нужно исправить эту досадную оплошность. Итак, вначале разберем принцип работы. Как многие знают, в 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. и тому подобные вещи. Как видно из кода, за установку даже деньги не снимаются. В этом и заключается универсальность - можно заточить исходник под собственные нужды.
  5. Это моё первое готовое решение + оформлять темы я умею плохо так что...Пожалуй начнем.Ко всем дефайнам (#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
  6. Найдем паблик: 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
  7. Маскировка Пароля! Важно. Функцыя работает с врсии Sa-MP 0.3d. Пример использования! Находим: ShowPlayerDialog(playerid, ваш ид диалога, DIALOG_STYLE_INPUT, "Регистрация", straut, "Далее", "");Источник: **** И меняем на: ShowPlayerDialog(playerid, ваш ид диалога, DIALOG_STYLE_PASSWORD, "Регистрация", straut, "Далее", "");Источник: ****[/color] [color=#000000] Для стабильной работы возьмити диалог: DIALOG_STYLE_PASSWORD.
  8. Гость

    Мод Пак

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

    Правила раздела.

    Правила раздела "Мануалы/Уроки": [*]Название темы должно содержать суть урока. [*]Урок должен быть понятен другим пользователям. По возможности каждая команда должна быть описана в двух-трех словах. [*]Урок должен содержать краткий алгоритм того процесса, который будет реализован в коде. [*]Участки кода должны быть заключены в теги . [*]Урок должен быть грамотно и красиво оформлен, использование "падонкафского" сленга и прочих сленговых выражений не допускается. [*]Урок должен быть уникален - перед созданием темы убедитесь, что подобного материала в данном разделе нет или тот, что имеется, не несет в себе достаточно информации. [color=#474747;][font=tahoma, verdana, arial, sans-serif]Нарушение правил раздела влечет за собой удаление темы и наказание топикстартера.[/color][/font]
  15. Доброго времени суток, господа.Cегодня мы разберем проверку на пользовательский модпак у игрока средствами сервера.Как писал на форумах самп.ком DimonML, существуют несколько специальных команд, отсылаемых сервером клиенту. Одна из них позволяет получить хэш установленного модпака.Для того, чтобы отослать эту команду, необходимо использовать следующее выражение: SendClientMessage(playerid,0x01010101, "$cmd get_custom_hash"); В принципе, отослать его можно где угодно (естественно, в том коллбэке, где используется playerid), но я рекомендую отправлять непосредственно в OnPlayerConnect.Далее, от клиента в коллбэк OnPlayerCommandText должен поступить ответ следующего вида: $response get_custom_hash ХэшМодпака Его мы проверять и будем. В шапке OnPlayerCommandText используем функцию strfind. if(strfind(cmdtext, "$response get_custom_hash", true) != -1) //Если ответ получен и искомая строка найдена{new packhash[64]; //Создадим массив, в котором будет находится этот хэшstrmid(packhash, cmdtext, 26, strlen(cmdtext)); //Разделяем строку cmdtext и результат разделения - искомый хэш - запишем в массив packhashSendClientMessage (playerid, 0xFFFFFFFF, packhash); //И, к примеру, выведем текущий хэш в чат игроку.return 1;} Далее все необходимые действия мы будем проводить уже после получения хэша в packhash.К примеру, если нужно кикнуть игрока в случае, если хэш модпака не соответствует эталонному: if(strfind(cmdtext, "$response get_custom_hash", true) != -1) //Если ответ получен и искомая строка найдена{new packhash[64]; //Создадим массив, в котором будет находится этот хэшstrmid(packhash, cmdtext, 26, strlen(cmdtext)); //Разделяем строку cmdtext и результат разделения - искомый хэш - запишем в массив packhashif (strcmp(packhash, "ЗначениеЭталонногоХэша", false)) //Если строки различны{SendClientMessage (playerid, 0xFFFFFFFF, "У Вас не установлен или установлен неверный пакет модификаций."); //Выведем игроку сообщение о несоответствииKick (playerid); //и кикнем его с сервера.}return 1;} Как видите, ничего сложного.Что делать с игроком при несоответствии - решать уже программисту. Основную логику проверки и скрипт-пример я привел.Надеюсь, урок окажется полезным. Если возникнут вопросы - задавайте, постараюсь ответить.
  16. Alex_Ilinov

    Ищу Инклуд

    Мне нужен инклуд который читал бы : GetRealID GiveMoney С меня +
  17. Народ помогите где взять хороший мод в модах смотрел там их мало и то все говно помогите где взять мод!!!
  18. Хочу выложить систему антибанихопа,она может оказаться полезной для вашего сервера. Как работает? - Когда игрок прыгает более 5и раз то он падает и замораживаеться на 6 секунд. Автор. Неизвестно AntiBannyhop.amx AntiBannyhop.pwn
  19. Помогите перенести Спидометр с Filterscript в сам мод, просто объясните куда что вставлять=) Вот ссылка на сам файл: http://rghost.ru/42851908
  20. Добрый день, пожалуйста помогите, у меня проблема с модам cream-life rp, захожу, и все не запускается, эта фигня - dint respond постоянно идет, что делать? Мод классный, хочется установить его
  21. У меня в моде не работает каманда выдачи лидерки:if (strcmp(cmd, "/лидерка", true) == 0) { if(IsPlayerConnected(playerid)) { tmp = strcharsplit(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_YELLOW, "Подсказка: /лидерка [playerid] [id]"); return true; } new para1; new level; new szName[32]; GetPlayerName(playerid,szName,32); para1 = strval(tmp); tmp = strcharsplit(cmdtext, idx); level = strval(tmp); if(!strcmp(szName,"Vitaly_Gold",true)||!strcmp(szName,"Maksim_Orlov",true)||!strcmp(szName,"Andrey_Portnov",true)) { if(level > 15 || level < 0) { SendClientMessage(playerid, COLOR_GREY, "Такой фракции нет только от 0, до 16!"); return true; } if(PlayerInfo[playerid][pAdmin] >= 6) //Лвл администратора { if(PlayerInfo[para1][pLevel] == 3) { if (dostup[playerid] != 1) { ShowPlayerDialog(playerid,2934,DIALOG_STYLE_INPUT,"Доступ администратора","Введите пароль от административной панели","Ок","Отмена"); return true; } if(IsPlayerConnected(para1)) { if(para1 != INVALID_PLAYER_ID) { //if(PlayerInfo[para1][pLevel] == 3) //{ if(PlayerInfo[para1][pMember] > 0 || PlayerInfo[para1][pFMember] < 255) { SendClientMessage(playerid, COLOR_YELLOW, "*Этот игрок уже состоит во фракции!"); return true; } GetPlayerName(para1, giveplayer, sizeof(giveplayer)); GetPlayerName(playerid, sendername, sizeof(sendername)); PlayerInfo[para1][pLeader] = level; format(string, sizeof(string), "* Вам была выдана фракция! Админом %s", sendername); SendClientMessage(para1, COLOR_LIGHTBLUE, string); format(string, sizeof(string), "* Вы выдали фракцию %s %d.", giveplayer,level); SendClientMessage(playerid, COLOR_LIGHTBLUE, string); if(level == 0) { PlayerInfo[para1][pChar] = 0; } else if(level == 1) { PlayerInfo[para1][pChar] = 283; } //ГИБДД else if(level == 2) { PlayerInfo[para1][pChar] = 295; } //ФСБ else if(level == 3) { PlayerInfo[para1][pChar] = 287; } //Армия else if(level == 4) { PlayerInfo[para1][pChar] = 70; } //МЧС else if(level == 5) { PlayerInfo[para1][pChar] = 123; } //La Cosa Nostra //else if(level == 6) { PlayerInfo[para1][pChar] = 260; } //РЖД else if(level == 6) { PlayerInfo[para1][pChar] = 147; } //Правительство else if(level == 7) { PlayerInfo[para1][pChar] = 165; } //Киллеры else if(level == 8) { PlayerInfo[para1][pChar] = 187; } //Репортёр else if(level == 9) { PlayerInfo[para1][pChar] = 253; } //ТМК Вояж else if(level == 10) { PlayerInfo[para1][pChar] = 171; } //Лицензеры Г.Южного else if(level == 11) { PlayerInfo[para1][pChar] = 96; }//Итальянская Мафия else if(level == 12) { PlayerInfo[para1][pChar] = 127; }//РМ else if(level == 13) { PlayerInfo[para1][pChar] = 277; }//мчс else if(level == 14) { PlayerInfo[para1][pChar] = 102; }//ГП else if(level == 15) { PlayerInfo[para1][pChar] = 249; }//стрит gTeam[para1] = 11; PlayerInfo[para1][pTeam] = 11; SetPlayerSkin(para1, PlayerInfo[para1][pChar]); new message[256]; format(message,sizeof(message),"Игроку:%s Была вадана лидерка, Админом: %s Фракция под ид: %d",giveplayer,sendername,level); WriteLog("LidLog",message); } }//not connected } } else { SendClientMessage(playerid, COLOR_YELLOW, "У вас нет прав на использование команды"); } } else { SendClientMessage(playerid, COLOR_YELLOW, "Игрок не достиг 3LvL");//if(PlayerInfo[para1][pLevel] == 3) } } return true; } Не пойму что такое,я пытаюсь выдать лидерку на серве,пишу кмд ид ид-лидерки и нечего не происходит.Не пишет неизвестная команда и лидерку не выдает!Подскажите что делать...
  22. Добрый вечер уважаемые Форумчане! Очень заинтересовался одним вопросом можно ли как то сделать чтобы мой сервер загружался не с клиента а прямо без поиска серверов и без ввода ип?
  23. Добрый день, у меня такая проблема: по вот этому уроку я изменял спавн новичков, и у меня персонаж при каждом заходе в игру проваливается в небытие, и + ко всему в чате варн появляется
  24. Smolin

    Вайп

    Подскажите как сделать вайп?
  25. Всем привет, столкнулся с проблемой, что когда я добавляю на сервер объекты свои, они нормально прогужаются, а вот которые объекты были в моде до этого - прогружаются на расстоянии 5 метров. Что делать? Убил кучу времени на постройку деревни - вот те на! настройка rate не помогла!
×

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

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