Поиск сообщества
Показаны результаты для тегов 'pawn'.
Найдено: 1,434 результата
-
Доброй ночи пользователи cr-mp.ru Эта команда для поиска авто по номеру Начнём! Создаём саму команду if(strcmp(cmd, "/gpsatvo", true) == 0) { tmp = strtok(cmdtext, idx); new str[128],idcar = 0; if(!strlen(tmp)) SendClientMessage(playerid, COLOR_WHITE, "Используйте: /gpsavto [№ авто]"); new nomer = strval(tmp); for(new cars = 1; cars { if(!strcmp(CarInfo[cars][cOwner],Name(playerid),true)) { idcar++; if(nomer == idcar) { new Float:carx, Float:cary, Float:carz; GetVehiclePos(CarInfo[cars][cID],carx, cary, carz); SetPlayerCheckpoint(playerid, carx, cary, carz, 6.0); SetPVarInt(playerid,"gpscarid",1); SendClientMessage(playerid,-1,"Информация о местонахождение показана на карте красным маячком"); return 1; } format(str,128,"№ %d[id:%d] Модель: %s(%d) Штатский номер: %s", idcar,CarInfo[cars][cID],VehiclesName[CarInfo[cars][cMod]-400],CarInfo[cars][cMod],CarInfo[cars][cNumber]); SendClientMessage(playerid,-1,str); } } if(idcar == 0) return SendClientMessage(playerid,-1,"У вас наверно нет автомобилей!"); else return 1; } Готово! Изображения команды!
-
- gta
- criminal russia
-
(и ещё 4 )
C тегом:
-
Доброй ночи форумчане Начнём! Респавн автомобилей по ID: if(strcmp(cmd, "/respawn", true) == 0) { if(IsPlayerConnected(playerid)) { tmp = strtok(cmdtext, idx); if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_GRAD2, " Введите: /respawnid [carid]"); new carid; carid = strval(tmp); GetPlayerName(playerid,sendername,sizeof(sendername)); SetVehicleToRespawn(carid); } return 1; } Функция респавна всех автомобилей: if(strcmp(cmd, "/res", true) == 0){ { if(IsPlayerConnected(playerid)) { new occcup[15]; for(new c=0; c { new trailer = GetVehicleTrailer©; if(trailer > 1) { for(new o=0; o { if(occcup[o] == 0){occcup[o] = trailer;break;} } } } for(new c=0; c { if(!IsVehicleOccupied©) { new iii = 0; for(new o=0; o { if(occcup[o] == c){iii++;} } if(iii == 0){SetVehicleToRespawn©;} } } } return true; } Функция респавна авто в радиусе 15 метров: if(strcmp(cmd, "/scar", true) == 0) { new Float:vXc, Float:vYc, Float:vZc; for(new care=0; care { GetVehiclePos(care,vXc,vYc,vZc); { if(PlayerToPoint(15,playerid,vXc,vYc,vZc)) { if(!IsVehicleOccupied(care)) { SetVehicleToRespawn(care); } } } } return true; } Авторы: Автор команд "/res" "/resid" - Неизвестно Автор команды рескара авто по ид: Денис Личенко
-
- всё для crmp
- gta
-
(и ещё 4 )
C тегом:
-
Доброй ночи уважаемые форумчане Я думаю само название говорит за себя Начнём! Командный процессор ZCMD 1. Создаём команду для Бессмертия человека COMMAND:god(playerid,params[]) {#pragma unused params if(GetPVarInt(playerid,"GOD") == 0) { SetPVarInt(playerid,"GOD",1); SetPlayerHealth(playerid,100000); GivePlayerWeapon(playerid,16,50000); GivePlayerWeapon(playerid,26,50000); SendClientMessage(playerid,green," ВКЛЮЧЕН РЕЖИМ БОГА"); return CMDMessageToAdmins(playerid,"GOD"); } else { SetPVarInt(playerid,"GOD",0); SendClientMessage(playerid,red," ВЫКЛЮЧЕН РЕЖИМ БОГА"); SetPlayerHealth(playerid, 100); } return GivePlayerWeapon(playerid,35,0); } 2.Создаём команду для Бессмертия человека COMMAND:godcar(playerid,params[]) {#pragma unused params if(IsPlayerInAnyVehicle(playerid)) { if(GetPVarInt(playerid,"GODCAR") == 0) { SetPVarInt(playerid,"GODCAR",1); CMDMessageToAdmins(playerid,"GODCAR"); return SendClientMessage(playerid,green," ВАША ТАЧКА НЕ УЯЗВИМА"); } else { SetPVarInt(playerid,"GODCAR",0); return SendClientMessage(playerid,red," ВАША ТАЧКА УЯЗВИМА"); } } else return SendClientMessage(playerid,red," ОШИБКА: Вы должны быть в машине"); } Автор:Lil_Jonson
-
Система фар для транспорта Включение и Отключение Начнём! Создаём переменную new LightsStatus[MAX_PLAYERS]; Теперь приступаем к добавлению команды if(strcmp(cmdtext, "/lights", true) == 0) // Фары { if(IsPlayerInAnyVehicle(playerid)) { new veh = GetPlayerVehicleID(playerid); if(veh != INVALID_VEHICLE_ID) { if(LightsStatus[playerid] == 0) { GetVehicleParamsEx(veh,engine,lights,alarm,doors,bonnet,boot,objective); SetVehicleParamsEx(veh,engine,VEHICLE_PARAMS_ON,alarm,doors,bonnet,boot,objective); LightsStatus[playerid] = 1; } else if(LightsStatus[playerid] == 1) { GetVehicleParamsEx(veh,engine,lights,alarm,doors,bonnet,boot,objective); SetVehicleParamsEx(veh,engine,VEHICLE_PARAMS_OFF,alarm,doors,bonnet,boot,objective); LightsStatus[playerid] = 0; } } } } В public OnPlayerKeyStateChange добавляем включение фар по нажатию клавише "2" if(newkeys == 512) // Sub Mission { OnPlayerCommandText(playerid,"/lights"); } Готово!
-
Думаю эта команда будет полезна кто пишет RP сервер Примечание: Команда работает только в автомобиле, последний чекпоинт вы должны написать сами (исходя из данных предпоследнего) Начнём! Для начало добавляем инклуд #include Добавляем переменные new bool:start[MAX_PLAYERS]; new Float: posauto[3][MAX_PLAYERS]; Создаём саму команду CMD:points(playerid) { new vehicleid = GetPlayerVehicleID(playerid); new Float: pos1[3]; new string[250]; if(GetPlayerState(playerid) != 2) return SendClientMessage(playerid, -1, "{D40000}[Ошибка] Вы должны быть в авто!"); if(!start[playerid]) { start[playerid] = true; GetVehiclePos(vehicleid, posauto[0][playerid], posauto[1][playerid], posauto[2][playerid]); SendClientMessage(playerid, -1, "[Оповещение] Начальные координаты звписанны!"); } else { GetVehiclePos(vehicleid, pos1[0], pos1[1], pos1[2]); new File:file = fopen("checkpoint.txt",io_append); format(string, sizeof(string), "SetPlayerRaceCheckpoint(playerid, 0, %f, %f, %f, %f, %f, %f, 5.0);\r\n", posauto[0][playerid], posauto[1][playerid], posauto[2][playerid], pos1[0], pos1[1], pos1[2]); fwrite(file,string); fclose(file); GetVehiclePos(vehicleid, posauto[0][playerid], posauto[1][playerid], posauto[2][playerid]); SendClientMessage(playerid, -1, "[Оповещение] Все готово!"); } return 1; } Готово!
-
Эта система сможет менять название сервера командой прямо в игре! Начнём! Добавляем переменную new strcmd[50]; Создаём саму команду CMD:hostname(playerid, params[]) { // Проверка на администратора if(sscanf(params,"s[100]",params[0])) return SendClientMessage(playerid, -1, " /hostname [Название]"); format(strcmd, sizeof(strcmd), "hostname %s", params[0]); SendRconCommand(strcmd); return 1; }
-
- crmp
- criminal russia
-
(и ещё 4 )
C тегом:
-
Sprite Browser 2.0 Программа создана для того, чтоб облегчить поиск ресурсов в архивах с расширением .txd. Незаменима в том случае если нужно найти TextDraw. Удобный интерфейс, вывод названия TextDraw под его изображением. Скачать с Яндекс.Диск
- 11 ответов
-
- 3
-
- форум crmp
- pawn
-
(и ещё 4 )
C тегом:
-
Может и пойдет не только для автошколы.
- 8 ответов
-
- 6
-
- crmp
- всё для crmp
-
(и ещё 4 )
C тегом:
-
Не большая база армии Автор by Artem_Bandit
- 18 ответов
-
- 2
-
- crmp
- всё для crmp
-
(и ещё 4 )
C тегом:
-
При 15 xp персонаж падает на землю и лежит в судорогах. 1.В начало мода добовляем ко всем new: new Death[MAX_PLAYERS]; DeathAnimation(playerid,animlib[],animname[], Float:Speed, looping, lockx, locky, lockz, lp) { Death[playerid] = 1; ApplyAnimation(playerid, animlib, animname, Speed, looping, lockx, locky, lockz, lp); } 2. Далее идем в public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger) и вставляем: if(Death[playerid] == 1) { RemovePlayerFromVehicle(playerid); } 3. Добaвляем в public OnPlayerUpdate(playerid): new Float:deathcrack; GetPlayerHealth(playerid,deathcrack); if (deathcrack < 15.0) { Death[playerid] = 1; DeathAnimation(playerid,"CRACK","crckdeth2", 4.0, 1, 0, 0, 0, 0); return 1; } if (deathcrack > 15.0 && Death[playerid] == 1) { Death[playerid] = 0; ClearAnimations(playerid); return 1; } Автор: Не известен.
- 4 ответа
-
- crmp
- criminal russia
-
(и ещё 4 )
C тегом:
-
Здравствуйте уважаемые пользователи портала cr-mp.ru ... Сегодня я хочу предложить вам, готовые TextDraw'ы для ваших модов ... А именно это TextDraw автосалона, TextDraw приборной панели, TextDraw Выбора скина ... Все TD выполнены в одинаковом стиле ... ( В один мод так сказать можно засунуть ) ... Делал для себя, но потом сделал получше ... Вроде ровно ))) И так начнем с TextDraw'а автосалона :
-
Выкладываю старый Марий Эл (Взято с другого ресурса.)Пойдет для основы.Мод для КРМП 0.3е версии. (Могу перевести если хотите 2 мод на 0.3Б)В моде есть Регистрация, Админка.Админка через ТАБ.Команды:/цвет - выбрать цвет/админы - админы онлайн/аним - анимации/лс - личное сообщение/тюнинг - тюнинг машин/скин - выбор скина/передать - передать деньги/умерет - умереть ДМ Марий Эл.zip
- 12 ответов
-
- 11
-
- DeathMatch
- gamemode
- (и ещё 9 )
-
Добрый вечер. В общем делаю диалоговое окно, в котором мне нужно, чтобы на каждой новой строке отображались две переменные. Переменная в целом должна будет принять подобный вид: qwerty[10][10] (далее я вместо [10] буду писать [цифра]). Где первое число с каждой строкой увеличивается на один и отсчет начинается с нуля, а второе зависит от параметра статистики игрока и изменению не подлежит. Мне очень важно, чтобы форма числа была qwerty[цифра][цифра], поскольку потом это все будет загружаться в мод из файла. Так вот, я сделал следующим образом все: new str1[2500]; new text[2500]; format(str1,sizeof(str1),"%s\n",qwerty[0][ate]); strcat(text,str1); format(str1,sizeof(str1),"%s\n",qwerty[1][ate]); strcat(text,str1); format(str1,sizeof(str1),"%s\n",qwerty[2][ate]); strcat(text,str1); ShowPlayerDialog(playerid, DIALOG_STYLE_MSGBOX, "Название", text, "Хорошо", "Закрыть"); Ранее вписано: new ate[10]; if(PlayerInfo[playerid][pKuoe] == 1) return ate:=0; if(PlayerInfo[playerid][pKuoe] == 2) return ate:=1; if(PlayerInfo[playerid][pKuoe] == 3) return ate:=2; if(PlayerInfo[playerid][pKuoe] == 4) return ate:=3; Так вот, вся проблема в том, что мне компилятор ругается на [ate], а если убираю [], то требует поставить запятую. Тогда у меня вся конструкция qwerty[цифра][цифра] рушится. Что делать?
-
Радар для ГИБДДшников Команды : /setradar /delradar https://yadi.sk/d/2MYqOUb-hPm9j
- 11 ответов
-
- 4
-
- pawn
- criminal russia
- (и ещё 6 )
-
Сливаю мод AreVera RolePlay. Сразу говорю мод на MySQL r31. Что входит: Система регистрации/авторизации. Выбор скина. Система автосалона на TD. Спидометр(скорость,бензин,фары). Система домов. Система бизнесов. Система меню. Система статистики. И ещё многое другое AreVera.zip
-
- 2
-
- gamemode
- моды для crmp
-
(и ещё 6 )
C тегом:
-
Ко всем new new francjobodej,francdrevlog;new francdrev1,francdrev2,francdrev3;new franclesorub[MAX_PLAYERS];new francderevo[MAX_PLAYERS];new francbrevnozp[MAX_PLAYERS]; public OnPlayerPickUpPickup(playerid, pickupid) добавляем : if(pickupid == francjobodej){if(PlayerInfo[playerid][pMember] != 0 || PlayerInfo[playerid][pLeader] != 0) return true;if(franclesorub[playerid] == 0) ShowPlayerDialog(playerid,125,DIALOG_STYLE_MSGBOX,"Раздевалка лесорубов","Хотите начать?","Да","Нет");else ShowPlayerDialog(playerid,126,DIALOG_STYLE_MSGBOX,"Раздевалка лесорубов","Хотите завершить работу?","Да","Нет");}if(pickupid == francdrev1){if(franclesorub[playerid] == 1){if(francderevo[playerid] == 0){francderevo[playerid] = 1;ApplyAnimation(playerid, "CARRY", "liftup", 4.0, 0, 0, 0, 1, 1);SetTimerEx("ClearAnimText2", 1000, false, "d", playerid);SetPlayerAttachedObject(playerid, 4, 1463, 1, 0.184699, 0.426247, 0.000000, 259.531341, 80.949592, 0.000000, 0.476124, 0.468181, 0.470769);return true;}else{SendClientMessage(playerid,COLOR_GREY,"У вас уже есть брёвна!");}}else{SendClientMessage(playerid,COLOR_GREY,"Вы не можете взять брёвна, для начала работы переоденьтесь в одежду {00FFFF}лесоруба.");}}if(pickupid == francdrev2){if(franclesorub[playerid] == 1){if(francderevo[playerid] == 0){francderevo[playerid] = 1;ApplyAnimation(playerid, "CARRY", "liftup", 4.0, 0, 0, 0, 1, 1);SetTimerEx("ClearAnimText2", 1000, false, "d", playerid);SetPlayerAttachedObject(playerid, 4, 1463, 1, 0.184699, 0.426247, 0.000000, 259.531341, 80.949592, 0.000000, 0.476124, 0.468181, 0.470769);return true;}else{SendClientMessage(playerid,COLOR_GREY,"У вас уже есть брёвна!");}}else{SendClientMessage(playerid,COLOR_GREY,"Вы не можете взять брёвна, для начала работы переоденьтесь в одежду {00FFFF}лесоруба.");}}if(pickupid == francdrev3){if(franclesorub[playerid] == 1){if(francderevo[playerid] == 0){francderevo[playerid] = 1;ApplyAnimation(playerid, "CARRY", "liftup", 4.0, 0, 0, 0, 1, 1);SetTimerEx("ClearAnimText2", 1000, false, "d", playerid);SetPlayerAttachedObject(playerid, 4, 1463, 1, 0.184699, 0.426247, 0.000000, 259.531341, 80.949592, 0.000000, 0.876124, 0.868181, 0.870769);return true;}else{SendClientMessage(playerid,COLOR_GREY,"У вас уже есть бревна!");}}else{SendClientMessage(playerid,COLOR_GREY,"Вы не можете взять бревна, для начала работы переоденьтесь в одежду {00FFFF}лесоруба.");}}if(pickupid == francdrevlog){if(francderevo[playerid] == 0){SendClientMessage(playerid,COLOR_GREY,"У вас нет брёвен!");return true;}else{if(francderevo[playerid] == 1){francderevo[playerid] = 0;RemovePlayerAttachedObject(playerid, 4);ApplyAnimation(playerid,"CARRY","putdwn",4.1,0,1,1,1,1);SendClientMessage(playerid,COLOR_WHITE,"Вы принесли брёвна");SetTimerEx("ClearAnimText", 1400, false, "d", playerid);francbrevnozp[playerid]++;}}} Дальше в public OnGameModeInit добавляем: francdrevlog = CreatePickup(3798,23,2736,-1621.80005,22.6);francjobodej = CreatePickup(1275,23,2750.69995,-1585.30005,22.3);francdrev1 = CreatePickup(19197,23,2751.8999,-1572.90002,20.9);francdrev2 = CreatePickup(19197,23,2741.8999,-1563.30005,20.6);francdrev3 = CreatePickup(19197,23,2725.30005,-1569.90002,22.4); Теперь для начала и завершения работы добавляем в OnDialogResponse if(dialogid == 125){if(response){SetPlayerSkin(playerid,16);franclesorub[playerid] = 1;SendClientMessage(playerid,COLOR_WHITE,"Вы начали рабочий день лесоруба. {A41C1C}Отправляйтесь за брёвнами!");return true;}else{return true;}}if(dialogid == 126){if(response){new strings[256];new string[256];new stri[256];francderevo[playerid] = 0;franclesorub[playerid] = 0;RemovePlayerAttachedObject(playerid, 4);ApplyAnimation(playerid, "CARRY", "crry_prtial", 4.0, 0, 0, 0, 0, 1);if(PlayerInfo[playerid][pMember] >= 1 || PlayerInfo[playerid][pLeader] >= 1){SetPlayerSkin(playerid,PlayerInfo[playerid][pChar]);}if(PlayerInfo[playerid][pMember] == 0 || PlayerInfo[playerid][pLeader] == 0){SetPlayerSkin(playerid,PlayerInfo[playerid][pChar]);}format(string, sizeof(string), "Вы закончили работу. Ваш заработок: {00FF00}$%d", francbrevnozp[playerid]*50);SendClientMessage(playerid, COLOR_WHITE, string);format(stri, sizeof(stri), "Вы принесли {A41C1C}%d{FFFFFF}свзок брёвен ",francbrevnozp[playerid]);PlayerInfo[playerid][pCash] +=francbrevnozp[playerid]*50;SendClientMessage(playerid, COLOR_WHITE, stri);francbrevnozp[playerid] = 0;GivePlayerMoney(playerid, 100);format(strings, sizeof(strings), "~r~Pay", francbrevnozp[playerid]*50);GameTextForPlayer(playerid,strings,3000,1);return true;}else{}} маппинг для лесоруба(склад и раздевалка) CreateObject(4214,2749.6001000,-1586.3000500,22.3000000,0.0000000,0.0000000,355.0000000); //object(lanitewin3_lan) (1)CreateObject(9160,2743.8999000,-1622.0000000,22.5000000,0.0000000,0.0000000,184.9990000); //object(lodaseroad143) (1) Делал на моде Тюмень Скрины: Сдачи опилок теперь нету , только бревна... (скрины новые решил не делать , если будут проблемы по данной теме , писать в вопросы и проблемы)
- 5 ответов
-
- 5
-
- уроки crmp
- форум crmp
-
(и ещё 5 )
C тегом:
-
Помогите сделал сис-му подъездов по тутошнему уроку (как на CRMP|RP) вот крч одну ошибку выдало...Помогите исправить.. else { new arend[32]; if(House[house][hNick1]) format(arend,32,"%s",House[house][hNick1]); new str[255]; format(str,sizeof(str),"\ {ffffff}???\n\n\ ????????: %s\n\ ??????: %s\n\ ????????: %s\n\ \n\ ???? ?????? ????? ??????? \"?????\"\n\ ???? ?? ?????? ??????? \"???????\"" ,House[house][hOwner] ,((House[house][hLock] == 0) ? ("??????"):("??????")), arend); if(House[house][hLock] != 0) { return ShowPlayerDialog(playerid, 10000,0,"???",str,"???????",""); } if(House[house][hLock] != 1) { SetPVarInt(playerid,"house_active",house); return ShowPlayerDialog(playerid, 7546,0,"???",str,"?????","???????"); } } } else if(IsPlayerInRangeOfPoint(playerid,1.0,House[house][hiX],House[house][hiY],House[house][hiZ]) && GetPlayerVirtualWorld(playerid) == house) { SetPlayerPos(playerid,House[house][hvX],House[house][hvY],House[house][hvZ]); SetPlayerVirtualWorld(playerid,House[house][hvWorld]); SetPlayerInterior(playerid,House[house][hvInt]); return true; } } } Ругается на 1984 строку..Код ошибки 29
-
На этот раз решил записать видео о том, как правильно добавить объект в игру, для примера я использовал пакет модификации gta_int.img. [media=Исправляем Failed to set for "] [/media] P.S: возможно, в следующей версии выложу урок по созданию пакета модфикации клиентской части.
- 16 ответов
-
- 9
-
- crmp
- criminal russia
-
(и ещё 4 )
C тегом:
-
Всем привет , вот решил выложить скрипт мангала с огнем , и бутылку вина. Что представляет из себя скрипт. 1. Выдавать в руки бутылку пива (/pivo) 2. Выдавать в руки бутылку вина (/vino) 3. Ставить/убирать мангал (/mangal) Основа для скипта послужила FS Костер - by SHOROOP Автор скрипта - Vlad_Dredd. mangal.zip
-
Доброго времени суток, сейчас я вам покажу как можно сделать "крякалку" на кнопку для автомобилей гос.служб, а так же на другие авто. Для того чтобы все работало нам понадобится: мод, стример и прямые руки. По теории это будет выглядеть так: Все начинается с проверки нажатой игроком кнопкой, далее привязываем к этой проверке еще одну проверку на нахождение игрока за рулем авто. Если проверка проходит успешной, то создаем цикл, где будем искать всех активных игроков. После того как прошелся цикл, делаем проверку на нахождение найденного игрока, с игроком который включил "крякалку", а далее уже будет проигрывать звук, создавать таймер и делать дополнительные проверки во избежания флуда звуком. По практике это будет выглядеть так: Для начала создадим глобальную беременную(ко всем new добавим) new zvonok[MAX_PLAYERS]; Далее идем уже к нажатию кнопки. Проверка на нажатую кнопку осуществляется в паблике OnPlayerKeyStateChange if(newkeys == ид кнопки && IsPlayerInAnyVehicle(playerid) && GetPlayerState(playerid) == PLAYER_STATE_DRIVER) //проверяем нажатую кнопку и если игрок находится за рулем { if(GetPlayerVehicleID(playerid) == ид авто) //ид авто - т.е. ид авто на котором будет работать крякалка { for(new i=0; i<MAX_PLAYERS; i++) //цикл для поиска игроков { if(ProxDetectorS(15.0, playerid, i))//если игрок находится рядом с найденным по циклу, то.. { if(zvonok[i] == 1) return 0; //проверка "Запущен ли звук или нет?" PlayAudioStreamForPlayer(i,"ссылка на звук");//запускаем звук SetTimer("zvon", 5000, false); //создадим таймер по которому будет отключатся звук (я задал отключение через 5 сек. настраивайте время сами) zvonok[i] = 1; //ставим переменную zvonok на 1 от флуда звуком } } } } Далее перейдем к таймеру: В конец мода вставим forward zvon(playerid); //сообщим о паблике public zvon(playerid) { zvonok[playerid] = 0; //ставим переменную zvonok на 0, от флуда StopAudioStreamForPlayer(playerid); //останавливаем звук return true; } На данный момент это пока лишь первая версия, со времен буду улучшать ее с вашей помощью. Есть небольшой косяк в том что, звук не будет изменять свою громкость в зависимости от дальности нахождения автомобиля в котором он проигрывается, но и это можно исправить. К сожалению при копировании слетела табуляция, я думаю вам не составит труда настроить ее. По коду все отлично, у меня error\warning не было! По поводу работоспособности не знаю, нет возможности проверить. Обо всех ошибках прошу сообщать в эту тему, чтобы не разводить срач на форуме и совместно решать все баги! Буду рад выслушать все подсказки по поводу доработки кода. Автор: Ryslik42 (на некоторых форумах SMETAHA) - т.е. Я При копировании на другие форумы, прошу сохранить авторство!!!
- 12 ответов
-
- 4
-
- всё для crmp
- pawn
-
(и ещё 5 )
C тегом:
-
Всем привет пользователи GSG хочу вам показать систему Система поднятие/выкидывание оружие давайте начнем. Ко всем define #define MAX_GUNS 500 Ко всем enum enum DGUN_INFO { dID, // ID Float:dPos[3], // Позиция dWeapon, // Оружие dAmmo, // Патроны dVirtualWorld, // Виртуальный мир dInterior, // Интерьер Text3D:dLabel // 3D текст }; new Dgun[MAX_GUNS][DGUN_INFO]; Ко всем глобальным переменным: new GunObjects[47] = { 0, 331, 333, 334, 335, 336, 337, 338, 339, 341, 321, 322, 323, 324, 325, 326, 342, 343, 344, 0, 0, 0, 346, 347, 348, 349, 350, 351, 352, 353, 355, 356, 372, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 368, 371 }; В конец мода: stock B_RemovePlayerWeapon(playerid, b_weapon) { new b_weaponammo[13][2]; for(new s; s != 13; s++) GetPlayerWeaponData(playerid, s, b_weaponammo[s][0], b_weaponammo[s][1]); ResetPlayerWeapons(playerid); for(new g; g != 13; g++) { if(b_weaponammo[g][0] == b_weapon || b_weaponammo[g][1] <= 0) continue; GivePlayerWeapon(playerid, b_weaponammo[g][0], b_weaponammo[g][1]); break; } return true; } Команды: CMD:drop(playerid, params[]) { if(GetPlayerState(playerid) != PLAYER_STATE_ONFOOT) return SendClientMessage(playerid, 0xAFAFAFAA, "[!] Вы находитесь в транспорте."); if(GetPlayerWeapon(playerid) <= 0 && GetPlayerAmmo(playerid) <= 0) return SendClientMessage(playerid, 0xAFAFAFAA, "[!] Вы не имеете при себе оружие."); for(new g; g != MAX_GUNS; g++) { if(g > MAX_GUNS) return SendClientMessage(playerid, 0xAFAFAFAA, "[!] Вы не можете выбросить оружие. Превышен максимальный лимит."); B_RemovePlayerWeapon(playerid, GetPlayerWeapon(playerid)); ApplyAnimation(playerid, "BOMBER", "BOM_Plant", 4.0, 0, 0, 0, 0, 0); GetPlayerPos(playerid, Dgun[g][dPos][0], Dgun[g][dPos][1], Dgun[g][dPos][2]); Dgun[g][dWeapon] = GetPlayerWeapon(playerid); Dgun[g][dAmmo] = GetPlayerAmmo(playerid); Dgun[g][dVirtualWorld] = GetPlayerVirtualWorld(playerid); Dgun[g][dInterior] = GetPlayerInterior(playerid); Dgun[g][dID] = CreateDynamicObject(GunObjects[Dgun[g][dWeapon]], Dgun[g][dPos][0], Dgun[g][dPos][1], Dgun[g][dPos][2]-1, 93.7, 120.0, 120.0, Dgun[g][dVirtualWorld], Dgun[g][dInterior], -1, 300.0); GetWeaponName(Dgun[g][dWeapon], m_string, sizeof(m_string)); format(f_string, sizeof(f_string), "Оружие %s и %d патронов.\n{00A86B}Введите: /take", m_string, Dgun[g][dAmmo]); Dgun[g][dLabel] = CreateDynamic3DTextLabel(f_string, 0xFFFF00AA, Dgun[g][dPos][0], Dgun[g][dPos][1], Dgun[g][dPos][2], 5.0, INVALID_PLAYER_ID, INVALID_VEHICLE_ID, 0, Dgun[g][dVirtualWorld], Dgun[g][dInterior], -1, 100.0); format(f_string, sizeof(f_string), "Вы выбросили оружие %s и %d патронов.", m_string, Dgun[g][dAmmo]); SendClientMessage(playerid, 0xFFA500AA, f_string); format(f_string, sizeof(f_string), "Выбросил оружие %s и %d патронов", m_string, Dgun[g][dAmmo]); SetPlayerChatBubble(playerid, f_string, 0xFF9900AA, 5.0, 3000); break; } return true; } CMD:take(playerid, params[]) { if(GetPlayerState(playerid) != PLAYER_STATE_ONFOOT) return SendClientMessage(playerid, 0xAFAFAFAA, "[!] Вы находитесь в транспорте."); for(new g; g != MAX_GUNS; g++) { if(!IsPlayerInRangeOfPoint(playerid, 1.0, Dgun[g][dPos][0], Dgun[g][dPos][1], Dgun[g][dPos][2])) continue; if(g > MAX_GUNS) return SendClientMessage(playerid, 0xAFAFAFAA, "[!] Вы не можете подобрать оружие. Превышен максимальный лимит."); ApplyAnimation(playerid, "BOMBER", "BOM_Plant", 4.0, 0, 0, 0, 0, 0); DestroyDynamicObject(Dgun[g][dID]); DestroyDynamic3DTextLabel(Dgun[g][dLabel]); GivePlayerWeapon(playerid, Dgun[g][dWeapon], Dgun[g][dAmmo]); GetWeaponName(Dgun[g][dWeapon], m_string, sizeof(m_string)); format(f_string, sizeof(f_string), "Вы подобрали оружие %s и %d патронов.", m_string, Dgun[g][dAmmo]); SendClientMessage(playerid, 0xFFA500AA, f_string); format(f_string, sizeof(f_string), "Подобрал оружие %s и %d патронов", m_string, Dgun[g][dAmmo]); SetPlayerChatBubble(playerid, f_string, 0xFF9900AA, 5.0, 3000); Dgun[g][dID] = -1; Dgun[g][dPos][0] = 0.0; Dgun[g][dPos][1] = 0.0; Dgun[g][dPos][2] = 0.0; Dgun[g][dWeapon] = -1; Dgun[g][dAmmo] = -1; Dgun[g][dVirtualWorld] = -1; Dgun[g][dInterior] = -1; break; } return true; } [textred]Командный процесс - ZCMD. Так что, при необходимости подгоняйте под свой мод.[/textred] Автор-Неизвестен
- 15 ответов
-
- 3
-
- всё для crmp
- pawn
-
(и ещё 5 )
C тегом:
-
Хочу предоставить вам мод, new.pwn - Actual Role Play. Данный мод на командном процессоре "DC_CMD" Мод на системе MXINI. В моде всего 1421 строка. Описание мода: - Выбор спавна при регистрации (возможен командой /spawn); - Система Администрирования(так - же команды); - Административный пароль каждому (выдается при передаче админ.прав,так же можете редактировать в самом аккаунте); - Выбор пола; - Логотип в правом углу экрана (Actual Role Play); - Часы; - Почти не имеет маппинг (в моде 6 объектов и 3 велосипеда возле Останкино); - Меню сервера /menu ( не полностью рабочая, работает пока что только пункт [1], [2], [3]); - Репорт (/menu --> Репорт); - Ответ на репорт (/ pm id text); - Статистика персонажа; - Система EXP; - Система LVL; - Легкий Античит на деньги; - Оффлайн снятие Варна/Бана в онлайн режиме; - Cистема Логов (временно пока-что функционируют только Ban и Unban); - Бан по дням; - Легкий PayDay( пока что только прибавляется EXP и LVL); - В моде лишь 1.421 строка; - Ну и многое другое, можете протестировать сами. P.S: Мод не доделан до конца. Автор НЕИЗВЕСТЕН Actual RolePlay.zip P.S: на скринах моих есть объекты, у вас их не будет :)
- 1 ответ
-
- 2
-
- gamemode
- моды для crmp
-
(и ещё 6 )
C тегом:
-
Один из способов управления автомобилем на расстоянии. При желании можно доработать и сделать RP-шную вещицу. 1. К define добавить: #define DIST_MENU 10101 2. в OnDialogResponse добавить: if(dialogid == DIST_MENU) { new veh = GetPVarInt(playerid, "AVTOS"); if(!response) return false; switch(listitem) { case 0: { GetVehicleParamsEx(veh,engine,lights,alarm,doors,bonnet,boot,objective); SetVehicleParamsEx(veh,VEHICLE_PARAMS_ON,lights,alarm,doors,bonnet,boot,objective); } case 1: { GetVehicleParamsEx(veh,engine,lights,alarm,doors,bonnet,boot,objective); SetVehicleParamsEx(veh,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective); } case 2: { GetVehicleParamsEx(veh,engine,lights,alarm,doors,bonnet,boot,objective); SetVehicleParamsEx(veh,engine,true,alarm,doors,bonnet,boot,objective); } case 3: { GetVehicleParamsEx(veh,engine,lights,alarm,doors,bonnet,boot,objective); SetVehicleParamsEx(veh,engine,false,alarm,doors,bonnet,boot,objective); } } } 3. Ко всем командам: if(strcmp(cmd, "/amenu", true) == 0) { new Float: pos[3], Float: radius = 5.0; for(new v = 0; v < MAX_VEHICLES; v++) { GetVehiclePos(v, pos[0], pos[1], pos[2]); if(IsPlayerInRangeOfPoint(playerid, radius, pos[0], pos[1], pos[2])) { SetPVarInt(playerid, "AVTOS", v); ShowPlayerDialog(playerid, DIST_MENU, DIALOG_STYLE_LIST, "{F4ED0D}Дистанционное управление Т/С", "{FA0B0B}1. {FFFFFF}Завести двигатель\n{FA0B0B}2. {FFFFFF}Заглушить двигатель\n{FA0B0B}3. {FFFFFF}Включить фары\n{FA0B0B}4. {FFFFFF}Выключить фары", "Выбрать", ""); break; } } return true; }