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

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

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

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

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

Тип контента


Форумы

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

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

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


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

  • Начало

    Конец


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

  • Начало

    Конец


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

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

  1. Внимание: TD имеет превью модели, которые не совместимы с CRMP 0.3е TD хорошо подойдет для новой версии CRMP 0.3.7 AND SAMP Скачать: https://yadi.sk/d/ogYAKtaG3NZdwe Автор: Денис Исоков
  2. Дороу форумчане. Знаю, мод давно слит, конкретно на данном портале его нет. Вот сливаю. Короче, чё по улучшениям: Добавлена сцена для проведения парадов 9 мая. Новая система СТО В моде исправлены практически "все" ошибки(грамматические) Переделано оформление мода. Фикс крашей. Новый мапинг, как заявляет сам владелец проекта и разработчик мода - маппинг от "проф" маппера. Ну-ну ;) Автор мода CRP - Максимка Семёнов Автор доработки - Громов Фёдор Автор слива для CR-MP.RU - Попугай Кеша Скачать - https://yadi.sk/d/IhZlWo5Y3NFCVa
  3. Grahc

    Simple RolePlay

    Всем привет выкладываю свой мод SRP Основа обычный геймер Что я сделал Сделал новую базу армии Сделал интерьер дома интерьер склада армии ящики в армию(любой игрок может пробраться в армию зайти на склад и взять оружие) Сделал меню на TextDraw (открыть на кнопку Y) Сделал GPS TextDraw(открыть на кнопку Y) Сделал примерно на 30% админ панель на TextDraw для того чтобы открыть ее нужно прописать команду /adm(если буду дорабатывать мод то сделаю на команду /aduty) Не успел убрать кучу варнингов Вроде бы все автор Alexey_Zapekin Скачать с Яндекс.Диск
  4. LSD_Kelt

    Сквер в Батырево(Ретекстур).

    Добрый день уважаемые пользователи форума. Представляю вам свою работу. Сквер в Батырево Информация о работе: Сделано качественно. Ретекстур был проведен почти на всех объектах. Отлично настроенное освещение объектов. За основу работы был взят сквер Дмитрия Денисенко. Автор данной работы является LSD_Kelt(т.е Александр Снохин) Скриншоты Работы:
  5. - Для хранения данных используется: Mysql R39-3. - Командный процессор: DC_CMD В моде присутствуют системы такие как: - Домов - Бизнесов - Пикапов - Авто - АТМ - ГангЗон - Ферм - Парковок - Подъездов - Квартир - Радаров - Выборов - Автоматического автосалона - Номеров Слив на форум: #GOBLIN Ссылка: yadi.sk/d/oKBvawKi3MthQw Качайте на здоровье дамы и господа
  6. Для начала создадим переменные new new SelectedSkin[MAX_PLAYERS]; new Text: SelectSkin[3]; [spoiler=Открой] Далее в public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) [spoiler=Открой] Далее в public OnPlayerClickTextDraw(playerid, Text: clickedid) public OnPlayerClickTextDraw(playerid, Text: clickedid) { if(clickedid == SelectSkin[1])//Выбор скина { switch(SelectedSkin[playerid]) { case 1: { SelectedSkin[playerid] = 2; PlayerInfo[playerid][pSkin] = 79; SetPlayerSkin(playerid, PlayerInfo[playerid][pSkin]); } case 2: { SelectedSkin[playerid] = 3; PlayerInfo[playerid][pSkin] = 137; SetPlayerSkin(playerid, PlayerInfo[playerid][pSkin]); } case 3: { SelectedSkin[playerid] = 4; PlayerInfo[playerid][pSkin] = 200; SetPlayerSkin(playerid, PlayerInfo[playerid][pSkin]); } case 4: { SelectedSkin[playerid] = 5; PlayerInfo[playerid][pSkin] = 160; SetPlayerSkin(playerid, PlayerInfo[playerid][pSkin]); } case 5: { SelectedSkin[playerid] = 1; PlayerInfo[playerid][pSkin] = 78; SetPlayerSkin(playerid, PlayerInfo[playerid][pSkin]); } case 6: { SelectedSkin[playerid] = 7; PlayerInfo[playerid][pSkin] = 129; SetPlayerSkin(playerid, PlayerInfo[playerid][pSkin]); } case 7: { SelectedSkin[playerid] = 8; PlayerInfo[playerid][pSkin] = 130; SetPlayerSkin(playerid, PlayerInfo[playerid][pSkin]); } case 8: { SelectedSkin[playerid] = 9; PlayerInfo[playerid][pSkin] = 10; SetPlayerSkin(playerid, PlayerInfo[playerid][pSkin]); } case 9: { SelectedSkin[playerid] = 10; PlayerInfo[playerid][pSkin] = 39; SetPlayerSkin(playerid, PlayerInfo[playerid][pSkin]); } case 10: { SelectedSkin[playerid] = 6; PlayerInfo[playerid][pSkin] = 77; SetPlayerSkin(playerid, PlayerInfo[playerid][pSkin]); } } } else if(clickedid == SelectSkin[0])//Выбор скина { switch(SelectedSkin[playerid]) { case 1: { SelectedSkin[playerid] = 5; PlayerInfo[playerid][pSkin] = 78; SetPlayerSkin(playerid, PlayerInfo[playerid][pSkin]); } case 5: { SelectedSkin[playerid] = 4; PlayerInfo[playerid][pSkin] = 160; SetPlayerSkin(playerid, PlayerInfo[playerid][pSkin]); } case 4: { SelectedSkin[playerid] = 3; PlayerInfo[playerid][pSkin] = 200; SetPlayerSkin(playerid, PlayerInfo[playerid][pSkin]); } case 3: { SelectedSkin[playerid] = 2; PlayerInfo[playerid][pSkin] = 137; SetPlayerSkin(playerid, PlayerInfo[playerid][pSkin]); } case 2: { SelectedSkin[playerid] = 1; PlayerInfo[playerid][pSkin] = 79; SetPlayerSkin(playerid, PlayerInfo[playerid][pSkin]); } case 6: { SelectedSkin[playerid] = 10; PlayerInfo[playerid][pSkin] = 77; SetPlayerSkin(playerid, PlayerInfo[playerid][pSkin]); } case 10: { SelectedSkin[playerid] = 9; PlayerInfo[playerid][pSkin] = 39; SetPlayerSkin(playerid, PlayerInfo[playerid][pSkin]); } case 9: { SelectedSkin[playerid] = 8; PlayerInfo[playerid][pSkin] = 10; SetPlayerSkin(playerid, PlayerInfo[playerid][pSkin]); } case 8: { SelectedSkin[playerid] = 7; PlayerInfo[playerid][pSkin] = 130; SetPlayerSkin(playerid, PlayerInfo[playerid][pSkin]); } case 7: { SelectedSkin[playerid] = 6; PlayerInfo[playerid][pSkin] = 129; SetPlayerSkin(playerid, PlayerInfo[playerid][pSkin]); } } } else if(clickedid == SelectSkin[2])//Выбор скина { for(new i; i != 3; i++) TextDrawHideForPlayer(playerid, SelectSkin[i]); SelectedSkin[playerid] = 0; account[playerid] = false; MOROZ(1) SavePlayer(playerid); CancelSelectTextDraw(playerid); SetPlayerSpawn(playerid); } return true; } [spoiler=Открой] Создадим сами TD в конец мода. stock TextDraws() { // Выбор скина SelectSkin[0] = TextDrawCreate(50.0, 200.0, "LD_BEAT:left"); TextDrawFont(SelectSkin[0], 4); TextDrawTextSize(SelectSkin[0], 50, 25); TextDrawColor(SelectSkin[0], -16776961); TextDrawSetSelectable(SelectSkin[0], 1); SelectSkin[1] = TextDrawCreate(530.0, 200.0, "LD_BEAT:right"); TextDrawFont(SelectSkin[1], 4); TextDrawTextSize(SelectSkin[1], 50, 25); TextDrawColor(SelectSkin[1], -16776961); TextDrawSetSelectable(SelectSkin[1], 1); SelectSkin[2] = TextDrawCreate(290.581390, 377.916748, "Select"); TextDrawLetterSize(SelectSkin[2], 0.491228, 2.224167); TextDrawAlignment(SelectSkin[2], 1); TextDrawColor(SelectSkin[2], -16776961); TextDrawSetShadow(SelectSkin[2], 0); TextDrawSetOutline(SelectSkin[2], 0); TextDrawBackgroundColor(SelectSkin[2], 51); TextDrawFont(SelectSkin[2], 2); TextDrawSetProportional(SelectSkin[2], 1); TextDrawSetSelectable(SelectSkin[2], 1); } в public OnGameModeInit() TextDraws();//Сток с TD Ко всем #define #define SCM SendClientMessage//Отправка сообщения в чат #define SPD ShowPlayerDialog//Показ диалога #define DSL DIALOG_STYLE_LIST//Тип диалога(Список) #define DSM DIALOG_STYLE_MSGBOX//Тип диалога(Информация) #define DSI DIALOG_STYLE_INPUT//Тип диалога(Ввод чего-либо) #define MOROZ(%0) TogglePlayerControllable(playerid, %0); Надеюсь все понимают для чего юзается pSkin и pSex, pSkin - это скин. pSex - это пол Автор : Vano Glad p.s. Либо полетел сайт либо хз, что, через некоторое время выложу диалог, https://imgur.com/a/rE53i https://imgur.com/a/S6u6w Вот такая хрень. //удалите потом то что русским написано case 7: { if(response) { if(PlayerInfo[playerid][pSex] == 1) { SelectdSkin[playerid] = 1; PlayerInfo[playerid][pSkin] = 79; } else { SelectdSkin[playerid] = 6; PlayerInfo[playerid][pSkin] = 77; } Login[playerid] = 1; SpawnPlayer(playerid); SetPlayerPos(playerid, 222.3489,-8.5845,1002.2109); SetPlayerFacingAngle(playerid, 266.7302); SetPlayerCameraPos(playerid, 222.3489 + 3,-8.5845,1002.2109); SetPlayerCameraLookAt(playerid, 222.3489,-8.5845,1002.2109); MOROZ(0) SetPlayerVirtualWorld(playerid, playerid); SetPlayerInterior(playerid, 5); SetPlayerSkin(playerid, PlayerInfo[playerid][pSkin]); for(new i; i != 3; i++) TextDrawShowForPlayer(playerid, SelectSkin[i]); SelectTextDraw(playerid, 0xFF0000AA); } else { SPD(playerid, 2, DSI, "{FFFF00}Skype", "{FFFFFF}Введите свой Skype\nSkype потребуется для восстановления данных", "Далее", "Выход"); } }
  7. Vladimir_Kulkov

    Захват Ганг Зон

    Гангзону нельзя захватить если игрок(и) этой банды не онлайн Чтобы захватить гангзону введите /capture ждете 2 минуты (на подготовку) и стреляетесь, если вы всех убили и их на ГангЗоне нету то территория будет принадлежать вам. Ну так вот, начнем: Ко всем new: new Float:STANDARTGangZone[49][4] = { {0.0, 0.0,0.0, 0.0}, {2577.861572, -1056.913940, 2787.590087, -898.770690}, {2368.133056, -1056.913940, 2577.861572, -898.770690}, {2158.404541, -1056.913940, 2368.133056, -898.770690}, {1948.676025, -1056.913940, 2158.404541, -898.770690}, {1738.947509, -1056.913940, 1948.676025, -898.770690}, {2787.590087, -1056.913940, 2997.318603, -898.770690}, {2787.590087, -1215.057128, 2997.318603, -1056.913940}, {2787.590087, -1373.200439, 2997.318603, -1215.057128}, {2787.590087, -1531.343750, 2997.318603, -1373.200439}, {2787.590087, -1689.486938, 2997.318603, -1531.343750}, {2787.590087, -1847.630126, 2997.318603, -1689.486938}, {2787.590087, -2005.773437, 2997.318603, -1847.630126}, {2787.590087, -2163.916503, 2997.318603, -2005.773437}, {2577.861572, -1215.057128, 2787.590087, -1056.913940}, {2577.861572, -1373.200439, 2787.590087, -1215.057128}, {2577.861572, -1531.343750, 2787.590087, -1373.200439}, {2577.861572, -1689.486938, 2787.590087, -1531.343750}, {2577.861572, -1847.630126, 2787.590087, -1689.486938}, {2577.861572, -2005.773437, 2787.590087, -1847.630126}, {2577.861572, -2163.916503, 2787.590087, -2005.773437}, {2368.133056, -1215.057128, 2577.861572, -1056.913940}, {2368.133056, -1373.200439, 2577.861572, -1215.057128}, {2368.133056, -1531.343750, 2577.861572, -1373.200439}, {2368.133056, -1689.486938, 2577.861572, -1531.343750}, {2368.133056, -1847.630126, 2577.861572, -1689.486938}, {2368.133056, -2005.773437, 2577.861572, -1847.630126}, {2368.133056, -2163.916503, 2577.861572, -2005.773437}, {2158.404541, -1215.057128, 2368.133056, -1056.913940}, {2158.404541, -1373.200439, 2368.133056, -1215.057128}, {2158.404541, -1531.343750, 2368.133056, -1373.200439}, {2158.404541, -1689.486938, 2368.133056, -1531.343750}, {2158.404541, -1847.630126, 2368.133056, -1689.486938}, {2158.404541, -2005.773437, 2368.133056, -1847.630126}, {2158.404541, -2163.916503, 2368.133056, -2005.773437}, {1948.676025, -1215.057128, 2158.404541, -1056.913940}, {1948.676025, -1373.200439, 2158.404541, -1215.057128}, {1948.676025, -1531.343750, 2158.404541, -1373.200439}, {1948.676025, -1689.486938, 2158.404541, -1531.343750}, {1948.676025, -1847.630126, 2158.404541, -1689.486938}, {1948.676025, -2005.773437, 2158.404541, -1847.630126}, {1948.676025, -2163.916503, 2158.404541, -2005.773437}, {1738.947509, -1215.057128, 1948.676025, -1056.913940}, {1738.947509, -1373.200439, 1948.676025, -1215.057128}, {1738.947509, -1531.343750, 1948.676025, -1373.200439}, {1738.947509, -1689.486938, 1948.676025, -1531.343750}, {1738.947509, -1847.630126, 1948.676025, -1689.486938}, {1738.947509, -2005.773437, 1948.676025, -1847.630126}, {1738.947509, -2163.916503, 1948.676025, -2005.773437} }; new OnZONE[49][20]; new ZoneOnBattle[49]; new ZoneTimer[49]; new allowedfactions[] = { 13,14,16,19,15}; new GZSafeTime[49]; enum GzoneInfo { gID, Float:gCoords[4], gFrakVlad, gNapad, } new GZInfo[49][GzoneInfo]; new FrakCD[20]; Ко всем forward'ам: forward LoadGZ(); forward SaveGZ(); forward GzCheck(); forward PlayerToKvadrat( playerid, Float:min_x, Float:min_y, Float:max_x, Float:max_y ); Ко всем stock: stock GetGangZoneColor(gangzonex) { new zx; switch(GZInfo[gangzonex][gFrakVlad]) { case 13: zx =0x00FF1465; case 14: zx = 0x00EBFF65; case 16: zx =0xFF00EB65; case 19: zx =0x0087FF65; case 15: zx =0xFFC80065; default: zx = 0xFFBE0065; } return zx; } stock GetGZColorF(fnumber) { new zx; switch(fnumber) { case 13: zx =0x00FF1465; case 14: zx = 0x00EBFF65; case 16: zx =0xFF00EB65; case 19: zx =0x0087FF65; case 15: zx =0xFFC80065; } return zx; } stock IsInAllowed(playerid) { for(new i =0;i<sizeof(allowedfactions);i++) { if(PlayerInfo[playerid][pMember] == allowedfactions[i]||PlayerInfo[playerid][pLeader] == allowedfactions[i]) return 1; } return 0; } stock IsInAllowedF(fnumbers) { for(new i =0;i<sizeof(allowedfactions);i++) { if(fnumbers == allowedfactions[i]) return 1; } return 0; } stock GetGangName(fnumbwer) { new string[256]; switch(fnumbwer) { case 13: format(string,sizeof(string),"Grove Street Gang"); case 14: format(string,sizeof(string),"Los Aztecas Gang"); case 16: format(string,sizeof(string),"The Ballas Gang"); case 19: format(string,sizeof(string),"SF Rifa Gang"); case 15: format(string,sizeof(string),"Los Santos Vagos Gang"); } return string; } stock IsPlayerInBandOnline(bandid) { for(new i=0; i < GetMaxPlayers(); i++) { if(PlayerInfo[i][pMember] == bandid || PlayerInfo[i][pLeader] == bandid) return 1; } return 0; } stock Name(playerid) { new pl[24]; GetPlayerName(playerid,pl,24); return pl; } Ко всем public: public LoadGZ() { new string[256]; new File = iniOpen("GangZonesTrigga.ini"); new l[256]; new asd[5][10]; for(new i =0;i<sizeof(GZInfo);i++) { format(string,sizeof(string),"Zone%d",i); new x = iniGet(File,string,l); if(x < 0) { GZInfo[i][gCoords][0] = STANDARTGangZone[i][0]; GZInfo[i][gCoords][1] = STANDARTGangZone[i][1]; GZInfo[i][gCoords][2] =STANDARTGangZone[i][2]; GZInfo[i][gCoords][3] =STANDARTGangZone[i][3]; } else { split(l,asd,'|'); GZInfo[i][gCoords][0] = floatstr(asd[0]); GZInfo[i][gCoords][1] = floatstr(asd[1]); GZInfo[i][gCoords][2] = floatstr(asd[2]); GZInfo[i][gCoords][3] = floatstr(asd[3]); } GZInfo[i][gFrakVlad] = strval(asd[4]); if(GZInfo[i][gFrakVlad] == 0) GZInfo[i][gFrakVlad] = allowedfactions[random(sizeof(allowedfactions))]; GZInfo[i][gID] = GangZoneCreate(GZInfo[i][gCoords][0],GZInfo[i][ gCoords][1],GZInfo[i][gCoords][2],GZInfo[i] [gCoords][3]); ZoneOnBattle[i] =0; GZSafeTime[i] =0; } iniClose(File); print("Система гангзон успешно загружена!"); } public SaveGZ() { new string[256]; new File = iniOpen("GangZonesTrigga.ini"); new l[10]; for(new i =0;i<sizeof(GZInfo);i++) { format(l,sizeof(l),"Zone%d",i); format(string,sizeof(string),"%f|%f|%f|%f|%d",GZInfo[i][gCoords] [0], GZInfo[i][gCoords][1],GZInfo[i][gCoords][ 2],GZInfo[i][gCoords][3],GZInfo[i][gFrakVlad] ); iniSet(File,l,string); } iniClose(File); } public GzCheck() { new string[256]; for(new i =0;i<sizeof(GZInfo);i++) { if(ZoneOnBattle[i] == 1 && GZSafeTime[i] == 0) { ZoneTimer[i] -=10; if(ZoneTimer[i] <=0) { SendClientMessageToAll(-1,"Наблюдатель: Время на захват зоны вышел. Ничья."); ZoneOnBattle[i] =0; GangZoneStopFlashForAll(GZInfo[i][gID]); } for(new x =0;x<MAX_PLAYERS;x++) { if(PlayerToKvadrat(x,GZInfo[i][gCoords][0], GZInfo[i][gCoords][1],GZInfo[i][gCoords][ 2],GZInfo[i][gCoords][3])&&IsInAllowed(x)) { new faction; if(PlayerInfo[x][pLeader] !=0) {faction = PlayerInfo[x][pLeader];} else { faction = PlayerInfo[x][pMember];} OnZONE[i][faction] ++; } } new asd; for(new x =0;x<20;x++) { if(OnZONE[i][x] > 0 && IsInAllowedF(x)) asd ++; } if(asd == 1) { for(new x =0;x<20;x++) { if(OnZONE[i][x] > 0) { new zx,zl; zx = x; zl = i; if(GZInfo[i][gFrakVlad] == x) {format(string,sizeof(string),"Наблюдатель: Банда %s отстояла свою зону.",GetGangName(zx)); } else {format(string,sizeof(string),"Наблюдатель: Банда %s выйгрывает зону.",GetGangName(zx)); } for(new ads = 13;ads <= 19;ads++) { SendFamilyMessage(ads,GetGangZoneColor(zx),string); } ZoneOnBattle[zl] =0; GZInfo[zl][gNapad] = 0; GZInfo[zl][gFrakVlad] = zx; GangZoneStopFlashForAll(GZInfo[zl][gID]); GangZoneHideForAll(GZInfo[zl][gID]); GangZoneShowForAll(GZInfo[zl][gID],GetGangZoneColor(zl)); break; } } } } } for(new i =0;i<49;i++) { for(new z = 0;z<20;z++) { OnZONE[i][z] =0; } } } public PlayerToKvadrat(playerid,Float:min_x,Float:min_y,Float:max_x,Float:max_y) { new Float:xxp,Float:yyp,Float:zzp; GetPlayerPos(playerid, xxp, yyp, zzp); if((xxp <= max_x && xxp >= min_x) && (yyp <= max_y && yyp >= min_y)) return 1; return 0; } В public OnPlayerConnect(playerid): for(new i =0;i<49;i++) { GangZoneShowForPlayer(playerid,GZInfo[i][gID],GetGangZoneColor(i)); } В public OnGameModeInit: SetTimer("GzCheck",10000,1); SetTimer("SaveGZ",100000,1); LoadGZ(); В public SaveAccounts(): new faction=0; if(!strcmp(cmd,"/changegzcolor",true)) { tmp = strtok(cmdtext,idx); new l = strval(tmp); if(!IsInAllowedF(l)) return SendClientMessage(playerid,COLOR_LIGHTRED,"Неправильный ид банды!"); if(PlayerInfo[playerid][pAdmin] >= 6) { for(new i = 0;i<49;i++) { if(PlayerToKvadrat(playerid,GZInfo[i][gCoords][0], GZInfo[i][gCoords][1],GZInfo[i][gCoords][ 2],GZInfo[i][gCoords][3])) { GZInfo[i][gFrakVlad] = l; GangZoneStopFlashForAll(GZInfo[i][gID]); GangZoneHideForAll(GZInfo[i][gID]); GangZoneShowForAll(GZInfo[i][gID],GetGangZoneColor(i)); return 1; } } } } if(!strcmp(cmd,"/capture",true)) { if(FrakCD[faction] == 0) { if(!IsInAllowed(playerid)) { return SendClientMessage(playerid,COLOR_LIGHTRED,"Ваша банда не может учавствовать в захвате зон или вы не на 1 зоне"); } for(new i = 0;i<49;i++) { if(PlayerToKvadrat(playerid,GZInfo[i][gCoords][0], GZInfo[i][gCoords][1],GZInfo[i][gCoords][ 2],GZInfo[i][gCoords][3]) && GZInfo[i][gFrakVlad] != faction && ZoneOnBattle[i] == 0) { if(!IsPlayerInBandOnline(GZInfo[i][gFrakVlad])) return SendClientMessage(playerid,COLOR_LIGHTRED,"Зону банды которую вы хотите атаковать нет в онлайне!"); if(PlayerInfo[playerid][pRank] < 5) return SendClientMessage(playerid,COLOR_LIGHTRED,"Иницировать захват можно только с 5 ранга и выше!"); SendFamilyMessage(GZInfo[i][gFrakVlad],COLOR_LIGHTRED,"Ваша Зона под атакой. У вас 2 минуты чтобы подготовится к защите зоны."); SendFamilyMessage(GZInfo[i][gFrakVlad],COLOR_LIGHTRED,"Если через 2 минуты на зоне никого не будет то зона автоматически перейдет к врагу"); format(string,sizeof(string),"%s начал борьбу за зону против %s банды. У вас 2 минуты чтобы подготовится к атаке",Name(playerid),GetGangName(GZInfo[i][gFrakVlad])); SendFamilyMessage(faction,COLOR_LIGHTRED,string); GangZoneFlashForAll(GZInfo[i][gID],GetGZColorF(faction)); GZSafeTime[i] = 120; FrakCD[faction] = 3000; GZInfo[i][gNapad] = faction; ZoneTimer[i] = 720; ZoneOnBattle[i] = 1; break; } } } else { return SendClientMessage(playerid,COLOR_LIGHTRED,"Ваша банда еще не окрепла с момента последнего захвата. Ждите!"); } } В public SetPlayerUnjail(): for(new i =0;i<49;i++) { if(GZSafeTime[i]>0) { GZSafeTime[i] --; if(GZSafeTime[i] == 60 || GZSafeTime[i] == 120) { format(string,sizeof(string),"У вас осталось %d секунд на подготовку",GZSafeTime[i]); SendFamilyMessage(GZInfo[i][gNapad],COLOR_LIGHTRED,string); SendFamilyMessage(GZInfo[i][gFrakVlad],COLOR_LIGHTRED,string); } if(GZSafeTime[i]==0) { format(string,sizeof(string),"Время на подготовку вышло. Если у вас нет ни одного солдата на поле боя то зона автоматически переходит к противнику"); SendFamilyMessage(GZInfo[i][gNapad],COLOR_LIGHTRED,string); SendFamilyMessage(GZInfo[i][gFrakVlad],COLOR_LIGHTRED,string); } } } for(new i =0;i<sizeof(FrakCD);i++) { if(FrakCD[i] >0) { FrakCD[i] --; if(FrakCD[i] == 0) SendFamilyMessage(i,COLOR_LIGHTRED,"Ваша банда снова может учавствовать в захвате зон"); } } Иды фракций заменяйте на свои. Без инклуда mxINI ничего не получится. ID фракций меняйте на свои. Автор: Trigger
  8. Однако здравствуйте:) Хочу представить вам спидометр, который я делал для одного сервера, который потом меня кинул. Для работы используется инклуд foreach. Только для мода с основой GAMER. Огромное спасибо Red_Devils. Брал за основу его урок. Ко всем переменным: new PlayerText:Textdraw[8][MAX_PLAYERS]; Далее в OnPlayerConnect: PlayerTextDrawHide(playerid,Textdraw[0][playerid]); PlayerTextDrawHide(playerid,Textdraw[1][playerid]); PlayerTextDrawHide(playerid,Textdraw[2][playerid]); PlayerTextDrawHide(playerid,Textdraw[3][playerid]); PlayerTextDrawHide(playerid,Textdraw[4][playerid]);PlayerTextDrawHide(playerid,Textdraw[5][playerid]);PlayerTextDrawHide(playerid,Textdraw[6][playerid]);PlayerTextDrawHide(playerid,Textdraw[7][playerid]); Textdraw[0][playerid] = CreatePlayerTextDraw(playerid, 633.200073, 372.593444, "usebox"); PlayerTextDrawLetterSize(playerid, Textdraw[0][playerid], 0.000000, 6.818146); PlayerTextDrawTextSize(playerid, Textdraw[0][playerid], 452.400115, 0.000000); PlayerTextDrawAlignment(playerid, Textdraw[0][playerid], 1); PlayerTextDrawColor(playerid, Textdraw[0][playerid], 0); PlayerTextDrawUseBox(playerid, Textdraw[0][playerid], true); PlayerTextDrawBoxColor(playerid, Textdraw[0][playerid], 102); PlayerTextDrawSetShadow(playerid, Textdraw[0][playerid], 0); PlayerTextDrawSetOutline(playerid, Textdraw[0][playerid], 0); PlayerTextDrawFont(playerid, Textdraw[0][playerid], 0); Textdraw[1][playerid] = CreatePlayerTextDraw(playerid, 472.799926, 386.773437, "IIIIIIIIIIIIIIIIIIIIIIIIIIIIIII"); PlayerTextDrawLetterSize(playerid, Textdraw[1][playerid], 0.449999, 1.600000); PlayerTextDrawAlignment(playerid, Textdraw[1][playerid], 1); PlayerTextDrawColor(playerid, Textdraw[1][playerid], -2139062017); PlayerTextDrawSetShadow(playerid, Textdraw[1][playerid], 0); PlayerTextDrawSetOutline(playerid, Textdraw[1][playerid], 1); PlayerTextDrawBackgroundColor(playerid, Textdraw[1][playerid], 51); PlayerTextDrawFont(playerid, Textdraw[1][playerid], 1); PlayerTextDrawSetProportional(playerid, Textdraw[1][playerid], 1); Textdraw[2][playerid] = CreatePlayerTextDraw(playerid, 508.799987, 371.840179, "167KM/H"); PlayerTextDrawLetterSize(playerid, Textdraw[2][playerid], 0.356398, 1.420799); PlayerTextDrawAlignment(playerid, Textdraw[2][playerid], 1); PlayerTextDrawColor(playerid, Textdraw[2][playerid], -1); PlayerTextDrawSetShadow(playerid, Textdraw[2][playerid], 0); PlayerTextDrawSetOutline(playerid, Textdraw[2][playerid], 1); PlayerTextDrawBackgroundColor(playerid, Textdraw[2][playerid], 51); PlayerTextDrawFont(playerid, Textdraw[2][playerid], 2); PlayerTextDrawSetProportional(playerid, Textdraw[2][playerid], 1); Textdraw[3][playerid] = CreatePlayerTextDraw(playerid, 473.599792, 386.773498, "IIIIIIIIIIIIIIIIIIIIIIIIIIIIIII"); PlayerTextDrawLetterSize(playerid, Textdraw[3][playerid], 0.449999, 1.600000); PlayerTextDrawAlignment(playerid, Textdraw[3][playerid], 1); PlayerTextDrawColor(playerid, Textdraw[3][playerid], -1); PlayerTextDrawSetShadow(playerid, Textdraw[3][playerid], 0); PlayerTextDrawSetOutline(playerid, Textdraw[3][playerid], 1); PlayerTextDrawBackgroundColor(playerid, Textdraw[3][playerid], 51); PlayerTextDrawFont(playerid, Textdraw[3][playerid], 1); PlayerTextDrawSetProportional(playerid, Textdraw[3][playerid], 1); Textdraw[4][playerid] = CreatePlayerTextDraw(playerid, 463.199920, 403.946655, "BENZIN:"); PlayerTextDrawLetterSize(playerid, Textdraw[4][playerid], 0.449999, 1.600000); PlayerTextDrawAlignment(playerid, Textdraw[4][playerid], 1); PlayerTextDrawColor(playerid, Textdraw[4][playerid], -1); PlayerTextDrawSetShadow(playerid, Textdraw[4][playerid], 0); PlayerTextDrawSetOutline(playerid, Textdraw[4][playerid], 1); PlayerTextDrawBackgroundColor(playerid, Textdraw[4][playerid], 51); PlayerTextDrawFont(playerid, Textdraw[4][playerid], 1); PlayerTextDrawSetProportional(playerid, Textdraw[4][playerid], 1); Textdraw[5][playerid] = CreatePlayerTextDraw(playerid, 463.200103, 420.373352, "DVERI:"); PlayerTextDrawLetterSize(playerid, Textdraw[5][playerid], 0.449999, 1.600000); PlayerTextDrawAlignment(playerid, Textdraw[5][playerid], 1); PlayerTextDrawColor(playerid, Textdraw[5][playerid], -1); PlayerTextDrawSetShadow(playerid, Textdraw[5][playerid], 0); PlayerTextDrawSetOutline(playerid, Textdraw[5][playerid], 1); PlayerTextDrawBackgroundColor(playerid, Textdraw[5][playerid], 51); PlayerTextDrawFont(playerid, Textdraw[5][playerid], 1); PlayerTextDrawSetProportional(playerid, Textdraw[5][playerid], 1); Textdraw[6][playerid] = CreatePlayerTextDraw(playerid, 611.199707, 404.693328, "E"); PlayerTextDrawLetterSize(playerid, Textdraw[6][playerid], 0.449999, 1.600000); PlayerTextDrawAlignment(playerid, Textdraw[6][playerid], 1); PlayerTextDrawColor(playerid, Textdraw[6][playerid], -1); PlayerTextDrawSetShadow(playerid, Textdraw[6][playerid], 0); PlayerTextDrawSetOutline(playerid, Textdraw[6][playerid], 1); PlayerTextDrawBackgroundColor(playerid, Textdraw[6][playerid], 51); PlayerTextDrawFont(playerid, Textdraw[6][playerid], 1); PlayerTextDrawSetProportional(playerid, Textdraw[6][playerid], 1); Textdraw[7][playerid] = CreatePlayerTextDraw(playerid, 611.999938, 421.866821, "L"); PlayerTextDrawLetterSize(playerid, Textdraw[7][playerid], 0.449999, 1.600000); PlayerTextDrawAlignment(playerid, Textdraw[7][playerid], 1); PlayerTextDrawColor(playerid, Textdraw[7][playerid], -1); PlayerTextDrawSetShadow(playerid, Textdraw[7][playerid], 0); PlayerTextDrawSetOutline(playerid, Textdraw[7][playerid], 1); PlayerTextDrawBackgroundColor(playerid, Textdraw[7][playerid], 51); PlayerTextDrawFont(playerid, Textdraw[7][playerid], 1); PlayerTextDrawSetProportional(playerid, Textdraw[7][playerid], 1); Далее в OnPlayerDisconnect: PlayerTextDrawDestroy(playerid,Textdraw[0][playerid]); PlayerTextDrawDestroy(playerid,Textdraw[1][playerid]); PlayerTextDrawDestroy(playerid,Textdraw[2][playerid]); PlayerTextDrawDestroy(playerid,Textdraw[3][playerid]); PlayerTextDrawDestroy(playerid,Textdraw[4][playerid]);PlayerTextDrawDestroy(playerid,Textdraw[5][playerid]);PlayerTextDrawDestroy(playerid,Textdraw[6][playerid]);PlayerTextDrawDestroy(playerid,Textdraw[7][playerid]); В конец мода: forward SpeedoUpdate(); public SpeedoUpdate() { foreach(Player,i) { if(IsPlayerConnected(i) && IsPlayerInAnyVehicle(i)) { new string[50],status[32],statusL[32],statusD[32],vehicleid = GetPlayerVehicleID(i); if(VehicleInfo[vehicleid][pEngineStatus] == 1) status = "~b~E";//Двигатель else status = "~r~E"; if(VehicleInfo[vehicleid][pLightsStatus] == 1) statusL = "~b~L";//Фары else statusL = "~r~L"; if(CarInfo[vehicleid][cLock] == 1) statusD = "~r~€AKP‘T‘"; else statusD = "~g~OTKP‘T‘"; PlayerTextDrawShow(i,Textdraw[0][i]); PlayerTextDrawShow(i,Textdraw[1][i]); PlayerTextDrawShow(i,Textdraw[2][i]); PlayerTextDrawShow(i,Textdraw[3][i]); PlayerTextDrawShow(i,Textdraw[4][i]);PlayerTextDrawShow(i,Textdraw[5][i]);PlayerTextDrawShow(i,Textdraw[6][i]);PlayerTextDrawShow(i,Textdraw[7][i]); format(string,sizeof(string),"~r~%d ~g~KM/H",GetPlayerSpeed(i));//Скорость PlayerTextDrawSetString(i,Textdraw[2][i],string); format(string,sizeof(string),"~w~ЂEH€…H: ~r~%d~g~‡.",Gas[vehicleid]);//Бензин PlayerTextDrawSetString(i,Textdraw[4][i],string); format(string,sizeof(string),"%s",status); PlayerTextDrawSetString(i,Textdraw[6][i],string); format(string,sizeof(string),"%s",statusL); PlayerTextDrawSetString(i,Textdraw[7][i],string); format(string,sizeof(string),"ѓBEP…:%s",statusD); PlayerTextDrawSetString(i,Textdraw[5][i],string); switch(SpeedVehicle(i)){ case 0..1: PlayerTextDrawSetString(i,Textdraw[3][i], "~w~"); case 2..10: PlayerTextDrawSetString(i,Textdraw[3][i], "~g~II"); case 11..20: PlayerTextDrawSetString(i,Textdraw[3][i], "~g~III"); case 21..30: PlayerTextDrawSetString(i,Textdraw[3][i], "~g~IIIII"); case 31..40: PlayerTextDrawSetString(i,Textdraw[3][i], "~y~IIIIIIII"); case 41..50: PlayerTextDrawSetString(i,Textdraw[3][i], "~y~IIIIIIIII"); case 51..60: PlayerTextDrawSetString(i,Textdraw[3][i], "~y~IIIIIIIIIIII"); case 61..70: PlayerTextDrawSetString(i,Textdraw[3][i], "~y~IIIIIIIIIIIIII"); case 71..80: PlayerTextDrawSetString(i,Textdraw[3][i], "~y~IIIIIIIIIIIIIIII"); case 81..90: PlayerTextDrawSetString(i,Textdraw[3][i], "~r~IIIIIIIIIIIIIIIIIII"); case 91..120: PlayerTextDrawSetString(i,Textdraw[3][i],"~r~IIIIIIIIIIIIIIIIIIIIII"); default: PlayerTextDrawSetString(i,Textdraw[3][i], "~r~IIIIIIIIIIIIIIIIIIIIIIIIIIIIIII");} } if(!IsPlayerInAnyVehicle(i)) { PlayerTextDrawHide(i,Textdraw[0][i]); PlayerTextDrawHide(i,Textdraw[1][i]); PlayerTextDrawHide(i,Textdraw[2][i]); PlayerTextDrawHide(i,Textdraw[3][i]); PlayerTextDrawHide(i,Textdraw[4][i]);PlayerTextDrawHide(i,Textdraw[5][i]); PlayerTextDrawHide(i,Textdraw[6][i]);PlayerTextDrawHide(i,Textdraw[7][i]); } } return true; } Таймер в OnGameModeInit: SetTimer("SpeedoUpdate",100,1);//обновляется раз в секунду Если компилятор будет ругаться на "SpeedVehicle", то в конец мода добавьте: stock SpeedVehicle(playerid, bool:return_km=true) { new Float:x, Float:y, Float:z; if(IsPlayerInAnyVehicle(playerid)) { new veh = GetPlayerVehicleID(playerid); GetVehicleVelocity(veh, x, y, z); }else GetPlayerVelocity(playerid, x, y, z); return return_km?floatround(floatsqroot(x*x+y*y+z*z)*195):floatround(floatsqroot(x*x+y*y+z*z)*121); } Автор : Predator. P.S. В подборе цветов я не очень, так что сами измените:)
  9. Искал на просторах интернета как убрать дома и бизы из БД но ничего не нашел.Помогите просто я новичок в этом деле.Благодарю за ответы.
  10. Predator

    Speedcam

    Скрипт, который добавит на ваш сервер радары. Радары созданы в скрипте, что бы добавить свои, вам надо открыть файл speedcam.pwn и добавить свои. Автор: неизвестно Speedcam by cr-mp.ru.rar
  11. Ко всем new: new par; new par1; В public OnPlayerPickUpPickup if (pickupid == par){ SetPlayerPos(playerid, 2134.0425,-1961.4999,188.2590); return 1; } if (pickupid == par1){ SetPlayerPos(playerid, 2133.6538,-1961.9203,20.3229); return 1; } В public OnGameModeInit: par = CreatePickup(1318,1,2133.8491,-1964.0739,20.3842); //вверх par1 = CreatePickup(1318,1,2133.8196,-1964.5046,188.3337); //вниз CreateObject(1938, 2133.6600,-1963.0839,188.3338, 0, 0, -90); // лифт наверху CreateObject(1938, 2133.6600,-1963.0839,20.3962, 0, 0, -90); // лифт внизу Автор: gold-runet
  12. BaseMussel29

    Online RolePlay | Original - versions

    Всех приветствую , хочу вам предоставить мод: Online RolePlay , мод имеет две версии: 2014 года, 2015 года. Обе версии были написаны с 0, в дальнейшем версия 2015 года перешла в проект NFRP. 2014 года версия - не порезанный мод который в сети, 2015 - я выше все сказал. Если вы будете брать для дал. разработки , то советую использовать 2014 года версию, 2015 очень сырая Скачать: https://yadi.sk/d/R-Gl--Qx3MGZBh
  13. #GOBLIN

    Online RolePlay 2015 версия

    Командный процессор : DC-CMD Мод состоит из 23177 строк. Код очень оптимизирован. Есть пояснения к каждой системе в самом коде( // ) В моде есть весь мапиинг(интерьеры фракций и т.п) Очень много всяких "новых" систем. Мне понравилась система гостиниц. Все валюты на сервере подстроены под реальное имущество. Так же есть система прицепов для личных машин. Так же очень многофункциональная система домов. Несколько классов домов. Можно покупать улучшения, перетаскивать шкаф, изменять параметры. Мод очень хорош под вырезку, но ещё недоведён до ума. Малая часть пунктов/работ/общественных мест, которые есть в моде: Общественные места: Автошкола Военкомат Гостиница Отдел кадров Авторынок эконом класса Авторынок среднего класса Авторынок премиум класса Мото-Вело рынок Арзамас Батырево Бусаево (школа) Бусаево (село) Гарель Роговичи Лыткарино Новое Эдово Транспортные узлы: Ж/Д Вокзал Арзамаса Автовокзал Арзамаса Центральная автостанция (автопарк) Автовокзал Батырево Автовокзал Лыткарино Автовокзал Эдово Аэропорт Батырево Аэропорт Лыткарино Государственные организации: Правительство области Отдел полиции №1 (ДПС) Отдел полиции №2 (ППС) Федеральная Служба Безопасности Городская больница ГТРК «Ритм» Воинская часть Работы: Городской склад (работа грузчика) Шахта (работа шахтера) Лесопилка (работа лесоруба) Завод по производству продуктов Нефтедобывающий завод Нефтеперерабатывающий завод Автопарк для дальнобойщиков (продукты) Автопарк для дальнобойщиков (топливо) Пожарная станция №1 Пожарная станция №2 Автомеханики Банки: Центральный банк Арзамаса Банк Батырево Банк Эдово (частный) Развлечения: Райский остров Областной дом культуры Гоночная трасса для картинга Гоночная трасса для мотоциклов Гоночная трасса для катеров Игровой клуб Арзамаса (в разработке) Игровой клуб Батырево (в разработке) Игровой клуб Лыткарино (в разработке) Пляж "Кордон" Пляж "Анашан" Пляж "Роговичи" Парк Арзамаса Интересные места: Кремль Густой лес Охотничий лес Стадион Арзамаса Старый наркопритон Маяк на берегу моря Центральное кладбище Закрытая электростанция Подземный туннель в метро Бомбоубежище в аэропорту Заброшенный торговый центр Фракции: Правительство области Воинская часть Городская больница ГТРК «Ритм» Отдел полиции №1 (ДПС) Отдел полиции №2 (ППС) Федеральная Служба Безопасности Арзамасская ОПГ Батыревская ОПГ Лыткаринская ОПГ Системы: Система предложений Система управления транспортом Система банкомата Система багажника Система прицепа Система репортов Система улучшения игрока Система доната Система GPS Система домов Система гостиниц Система подъездов Система обучения в АШ Система бизнесов Система анимаций Система личного телефона Система АЗС Система по управлению экономики Система меню игрока Система советника Автор слива: #GOBLIN Ссылка: https://yadi.sk/d/xBjMA3ym3MCE2Y
  14. NIKITA_BULANOV

    Защита от пакетов UDP

    forward NetworkUpdate(); public NetworkUpdate() { static stats[300], idx, pos, msgs; for(new i=0; i<MAX_PLAYERS; i++) { if(IsPlayerConnected(i)) { idx = 0; GetPlayerNetworkStats(i, stats, sizeof(stats)); pos = strfind(stats, "Messages received: ", false, 209);//209 - минимальная позиция "Messages received" в строке msgs = strval(strtok(stats[pos+19], idx)); if(msgs - MessagesCount[i] - OtherMessages[i] > MAX_MESSAGES && msgs > 2000) { new pname[MAX_PLAYER_NAME]; GetPlayerName(i, pname, sizeof(pname)); printf("%s[id:%d] banned for UDP flood (%d packets)", pname, i, msgs - MessagesCount[i] - OtherMessages[i]); BanEx(i, "UDP flood"); } MessagesCount[i] = msgs; OtherMessages[i] = 0; } } } NetworkUpdate(); UpdateUnOccupiedVehicleCoords(); return 1; }
  15. ПавелКубанец

    Lagen RP доработка "Game of life"

    Сливаю мод "Lagen RP" Моя доработка "Game of life" Мод на системе "MiXiNi" Примечание: Доработанны/исправлены команды "ВНИМАНИЕ"!: Варинги не влияют на запуск сервера! Чтобы выдать доступ ко всем командам нужно в павно нажать на бинокль и написать: Ваш_Ник затем меняете на свой ник. Автор доработки: Александр Акимов ________________Добавлено_________________ Команды: /skick /jetpack /veh /delveh /delakk FS: /Iphone (айфон 5s), /tablet (планшет), /selfie (селфи) МП система (нужно доработать) ________________Добавлено_________________ 12 уровней администрации. 12 фракций. Оригинальный маппинг. Весь код лесенкой. Система автополучения гос.номеров и тех.осмотра. Система игровых автоматов. Система больницы. Работы: Дальнобойщик. Инкассатор. Таксист. Водитель маршрутки. Мусоровоз. Сборщик оружия. Ссылка https://yadi.sk/d/-p6shS2o3KWaQi
  16. TD_sliv.pwn Автор: MOPTTEX a.k.a Alonso Автор Идеи: ShiGanKa [spoiler=Скрин]
  17. Всем привет, решил заняться рисование TextDraw'ow, вот и сделал первую работу, а именно панель для админов, пойдет под любой проект, осталось добавить функционал и всё будет хорошо. :) z Выслушаю любую критику.
  18. SCRIPTMAN

    /ticket(выдать штраф)

    Привет всем. Сейчас научу вас писать команду /ticket - выдать штраф, команда простая, но возможно кто-то не умеет её писать. Писать я буду на DC_CMD. 1. Для начала создаем команду и пихаем туда проверка, я буду брать со своего мода: CMD:ticket(playerid, params[]) { if(Player[playerid][pMember] != 1) return SCM(playerid, COLOR_GREY, "Вы не уполномочены использовать данную команду!"); if(sscanf(params, "iis[128]", params[0], params[1], params[2])) return SCM(playerid, COLOR_WHITE, "Введите: /ticket [id] [сумма] [причина"); if(!IsPlayerConnected(params[0])) return SCM(playerid, COLOR_GREY, "Игрок не найден!"); if(login_check[params[0]] == false) return SCM(playerid, COLOR_GREY, "Игрок не авторизован!"); if(params[0] == playerid) return SCM(playerid, COLOR_GREY, "Вы указали свой ID!"); if(GetDistanceBetweenPlayers(playerid, params[0]) > 10.0) return SCM(playerid, COLOR_GREY, "Игрок далеко от вас!");//Проверка на дистанцию if(params[1] < 0 || params[1] > 50000) return SCM(playerid, COLOR_GREY, "Не менее 1-го и не больее 50000-ти тысяч рублей.");//проверка на деньги Проверки я так думаю объяснять не нужно, они и так понятны по тексту. 2. Делаем текст с помощью static const: (с данной функцией можно ознакомиться в данной теме) static const fmt_str[] = "\ Сотрудник полиции %s выписал вам штраф\ \nРазмером в %d рублей\n\ \nПричина: %s\n\ \nОплатить штраф?\ "; new string[sizeof(fmt_str)-2+MAX_PLAYER_NAME-2+5-2+133]; format(string, sizeof(string), fmt_str , Player[playerid][pName], params[1] ); SPD(params[0], id диалога, DSM, "Штраф", string, "Да", "Нет"); Почему у меня несколько строк? - мне так удобнее и понятнее, думаю вам тоже. Дальше нам нужно работать с диалогами, но у них не прокатит params, для этого я создам PVar'ы, так как их не нужно удалять при выходе из игры игрока, как-то так короче В общем, создаем, я назову их TicketPlayer - человек, который выписывает штраф и TicketPrice - сумма штрафа. 3. Создаем PVar'ы: SetPVarInt(params[0], "TicketPlayer", playerid); SetPVarInt(params[0], "TicketPrice", params[1]); Не забываем завершать действие, чтобы не шло дальше, для этого просто добавляем в конец команды "return true;" 4. Из этого всего мы получаем такую вот команду: CMD:ticket(playerid, params[]) { if(Player[playerid][pMember] != 1) return SCM(playerid, COLOR_GREY, "Вы не уполномочены использовать данную команду!"); if(sscanf(params, "iis[128]", params[0], params[1], params[2])) return SCM(playerid, COLOR_WHITE, "Введите: /ticket [id] [сумма] [причина"); if(!IsPlayerConnected(params[0])) return SCM(playerid, COLOR_GREY, "Игрок не найден!"); if(login_check[params[0]] == false) return SCM(playerid, COLOR_GREY, "Игрок не авторизован!"); if(params[0] == playerid) return SCM(playerid, COLOR_GREY, "Вы указали свой ID!"); if(GetDistanceBetweenPlayers(playerid, params[0]) > 10.0) return SCM(playerid, COLOR_GREY, "Игрок далеко от вас!"); if(params[1] < 0 || params[1] > 50000) return SCM(playerid, COLOR_GREY, "Не менее 1-го и не больее 50000-ти тысяч рублей."); static const fmt_str[] = "\ Сотрудник полиции %s выписал вам штраф\ \nРазмером в %d рублей\n\ \nПричина: %s\n\ \nОплатить штраф?\ "; new string[sizeof(fmt_str)-2+MAX_PLAYER_NAME-2+5-2+133]; format(string, sizeof(string), fmt_str , GN(playerid), params[1] ); SPD(params[0], id диалога, DSM, "Штраф", string, "Да", "Нет"); SetPVarInt(params[0], "TicketPlayer", playerid); SetPVarInt(params[0], "TicketPrice", params[1]); return true; } 5. Переходим к работе с диалогом, для этого создаем диалог со свободным ID, дальше добавляем PVar'ы, точнее присваиваем к переменным: case id: //у вас возможно будет if(dialogid == id диалога) { new playerd = GetPVarInt(playerid, "TicketPlayer"); new price = GetPVarInt(playerid, "TicketPrice"); Дальше делаем действие на правую кнопку, то есть, если он нажмет "Да". 6. Для начала делаем проверку, есть ли данная сумма для оплаты у игрока: if(response) { if(Player[playerid][pMoney] < price) { SCM(playerd, COLOR_GREY, "У игрока недостаточно денег!"); SCM(playerid, COLOR_GREY, "У вас недостаточно денег!"); return true; } 7. Теперь, если у игрока есть деньги, отнимем у него данную сумму, а нам отдадим: Player[playerd][pMoney] += price; Player[playerid][pMoney] -= price; Player[playerid][pTicket_op] += 1;//можете её пока удалить, это у игрока появляется уже +1 оплаченный штраф, позже сделаю урок 8. Теперь сам текст: static const fmt_str[] = "%s оплатил штраф в размере %d рублей."; new string[sizeof(fmt_str)+2+MAX_PLAYER_NAME-2+5]; format(string, sizeof(string), fmt_str, GN(playerid), price); SCM(playerd, COLOR_GREEN, string); static const fmt_str_2[] = "Вы оплатили штраф в размере %d рублей."; new string_2[sizeof(fmt_str_2)-2+5]; format(string_2, sizeof(string_2), fmt_str_2, price); SCM(playerid, COLOR_GREEN, string_2); } 9. Теперь делаем действие на левую кнопку мыши, если игрок нажал "Нет": else { SCM(playerd, COLOR_RED, "Игрок отказался оплачивать штраф."); SCM(playerid, COLOR_RED, "Вы отказались оплачивать штраф."); Player[playerid][pTicket_no] += 1;//можете пока удалить, это +1 неоплаченный штраф DeletePVar(playerid, "TicketPlayer"), DeletePVar(playerid, "TicketPrice"); } То есть, вывели текст, прибавили неоплаченный штраф и удалили PVar'ы 10. В итоге у нас получается так: case id: { new playerd = GetPVarInt(playerid, "TicketPlayer"); new price = GetPVarInt(playerid, "TicketPrice"); if(response) { if(Player[playerid][pMoney] < price) { SCM(playerd, COLOR_GREY, "У игрока недостаточно денег!"); SCM(playerid, COLOR_GREY, "У вас недостаточно денег!"); return true; } Player[playerd][pMoney] += price; Player[playerid][pMoney] -= price; Player[playerid][pTicket_op] += 1; static const fmt_str[] = "%s оплатил штраф в размере %d рублей."; new string[sizeof(fmt_str)+2+MAX_PLAYER_NAME-2+5]; format(string, sizeof(string), fmt_str, GN(playerid), price); SCM(playerd, COLOR_GREEN, string); static const fmt_str_2[] = "Вы оплатили штраф в размере %d рублей."; new string_2[sizeof(fmt_str_2)-2+5]; format(string_2, sizeof(string_2), fmt_str_2, price); SCM(playerid, COLOR_GREEN, string_2); } else { SCM(playerd, COLOR_RED, "Игрок отказался оплачивать штраф."); SCM(playerid, COLOR_RED, "Вы отказались оплачивать штраф."); Player[playerid][pTicket_no] += 1; DeletePVar(playerid, "TicketPlayer"), DeletePVar(playerid, "TicketPrice"); } } Ну вот и все, в следующем уроке сделаем штрафы оплаченные и неоплаченные. Автор: SCRIPTMAN
  19. NIKITA_BULANOV

    Sublime RolePlay [+RP]

    Лев Беляев заполучил этот мод случайным образом, и теперь угрожает продажей этого мода. Данный мод сейчас стоит на Sublime RolePlay, но сливаемая версия Максимом Семёновым старая, которая и находится у Левы Беляева. Что есть в моде: - Фракции по дефолту, как и на +RP - Теперь можно иметь 3 машины - Система бонусов - Система промокодов /promocode - Уникальный маппинг - Много новых команд /setlevel /ap /pirathelp /util /setrank /free /startgolos /stopgolos /polit /pleave /pchat /alock /passadm /admup /admdown /bot - Система анти-слива "Ваши действия на сервере заблокированы по подозрению во взломе" - Система жезла - Система авторизации в админ панель при входе /alog, в +RP по-моему такого не было - Система Counter-Strike /gocs - Система гонок /gozaezd /tracklist - Система мероприятий /mp /gomp - Система парковки /park - Пофикшены все слеты и баги - Система выдачи номеров - mailer.php для сайта - Панель администратора /apanel 1. Команды администратора 2. Удвоенный донат и опыт 3. Заспавнить автомобили 4. Запустить МП `CS` 5. Запустить МП `Гонки` 6. Администрация в сети 7. Весь список администрации 8. Весь список лидеров 9. OFFLINE статистика администратора 10. ONLINE статистика администратора 11. Изменить бонусный уровень 12. Изменить бонусные деньги 13. Вод. права при регистрации 14. Расформировать фракцию 15. Название сервера 16. Название сервера (X2DAY) Yandex Disk [GameMode]: https://yadi.sk/d/CYHb4JgA3KqX9T Мод отлично подойдёт под основу, все баги пофикшены, можно юзать еще как и под вырезку. Много системок есть ещё, перечислять не буду. Автор мода: Maksim_Semenov
  20. D&M

    RRP | Radmir RP

    Доброго времени суток форумчане. Сливаю очередную сомнительную доработку Online RP. Итак что же из себя представляет мод. 1) База данных MySQL 2) Система автоматического автосалона. 3) Система бизнесов. 4) Система Казино. 5) Система магазина одежды. 6) Система доната. 7) Система мероприятий, а так же множество других систем. 8) 12 Фракций. 9) не полностью копия мода, спидометр, админ-панель, мод-пак, лого сервера старое. 10) Годный спавн. https://www.youtube.com/watch?v=hAAmq_luP7s ------------------------------- Автор мода: Robert_Plumbus Автор слива на CR-MP.RU : egorka9084 Radmir RP.zip
  21. Komokki

    Namalsk RolePlay

    Здравствуйте, сегодня я бы хотел слить мод Namalsk RolePlay! Всем кому понравилось ставим "Спасибо". Фракции: new setleader_config[][SL] = { {0, 0,"None"}, {1, 7,"Правительство"}, {2, 14,"Армия"}, {3, 15,"Полиция"}, {4, 6,"Больница"}, {5, 7,"Трамповское ОПГ"}, {6, 7,"Майкопское ОПГ"}, {7, 7,"Одесское ОПГ"}, {8, 14,"ФСБ"}, {9, 7,"СМИ"} }; И много еще остальных... Системы: 1) Система дома. 2) Система квартир. 3) Система автомобиля. 4) Система подъезда. Автор: Неизвестно. Дорабатывал: Я (Komokki). Ссылка на скачивание: https://yadi.sk/d/NCtsPNkv3ExA3k
  22. Vladimir_Kulkov

    Еда для бомжей

    Этот урок полный без багов. Так начнём... Вставляем ко всем new new eatrp; Ко всем define #define COLOR_PINK8 0xFF69B4AA #define COLOR_GRAD1 0xBFC0C2FF в public OnPlayerPickUpPickup(playerid, pickupid) //Жизни else if(pickupid == eatrp) { if(PlayerHealth[playerid] == 100) return SendClientMessage(playerid, COLOR_GRAD1, "Вы не голодны!"); if(PlayerInfo[playerid][pLevel] > 3) return SendClientMessage(playerid, COLOR_GRAD1, "Можно использовать до 3 уровня!"); SetPlayerHealthAC(playerid, 100); SendClientMessage(playerid, COLOR_PINK8, "{FF69B4}*Поел"); } В public OnGameModeInit() Ко всем пикапам //жизни eatrp = CreatePickup(2821, 1,1752.3273,-1889.4989,13.5574);//кардинаты меняем на свои и всё Вот и всё готово Для новичков будет полезно Автор:Неизвестно
  23. Vladimir_Kulkov

    Система банкоматов

    Приветствую пользователи форума cr-mp.ru, хотелось бы выложить сис-му создания банкоматов. Предупреждение! - В данной системе, для полной работоспособности банкомата, вам необходимо вставить код своих переменных, тоесть заменить pInfo[playerid][pMoney] и pInfo[playerid][pBank], на те переменные, в которые вы выгружаете значения из таблиц/файлов. Ко всем Include #include <a_samp> #include <streamer> Ко всем Define #define MAX_BANKOMATS 2 // максимальное кол-во банкоматов #define BANKOMAT_CASH 15 // изымаемый процент от пользования банкоматом #define d_bankomat 9 // свободный ID диалога Ко всем New new ATMZone[MAX_BANKOMATS], cBankomats ; В public OnPlayerEnterDynamicArea(playerid, areaid) if(ATMZone[0] <= areaid <= ATMZone[cBankomats-1]) SetPVarInt(playerid,"PlayerUseBankomat",1); //Если игрок попал в зону банкомата В public OnPlayerLeaveDynamicArea(playerid, areaid) if(ATMZone[0] <= areaid <= ATMZone[cBankomats-1]) SetPVarInt(playerid,"PlayerUseBankomat",0); //Если игрок покинул зону банкомата В public OnPlayerKeyStateChange(playerid, newkeys, oldkeys) if(PRESSED(KEY_WALK)) { // Действия при нажатии левой клавиши 'Alt' if(GetPVarInt(playerid,"PlayerUseBankomat") != 0) { //Если игрок находится в зоне банкомата showPlayerDialog(playerid, d_bankomat, 2,"Банкомат","Проверить баланс\nСнять деньги со счета\nПоложить деньги на счет","Дальше","Закрыть"); //Вызываем диалог банкомата } } В public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) if(dialogid == d_bankomat) { if(!response) return 1; switch(listitem) { case 0: { format(string,sizeof(string),"| Информация о балансе на счету:\n\nСостояние банковского счета - $%d",pInfo[playerid][pMoney]); // pInfo[playerid][pMoney] заменяете на кол-во денег игрока из своего мода showPlayerDialog(playerid, 9999, 0, " ", string, "Закрыть", ""); } case 1: showPlayerDialog(playerid, d_bankomat + 1, 1, "Снять деньги со счета","Укажите сумму которую хотите снять со счета:\n\n| Минимальная сумма $100, максимальная $100000\n| При использовании банкомата действует комиссия","Дальше","Закрыть"); case 2: showPlayerDialog(playerid, d_bankomat + 2, 1, "Положить деньги на счет","Укажите сумму которую хотите положить на счет:\n\n| Минимальная сумма $100, максимальная $100000\n| При использовании банкомата действует комиссия","Дальше","Закрыть"); } } if(dialogid == d_bankomat + 1) { if(!response) return 1; if(!strlen(inputtext)) return showPlayerDialog(playerid, d_bankomat + 1, 1, "Снять деньги со счета","Укажите сумму которую хотите снять со счета:\n\n| Минимальная сумма $100, максимальная $100000\n| При использовании банкомата действует комиссия","Дальше","Закрыть"); if(strval(inputtext) < 100 || strval(inputtext) > 100000) return showPlayerDialog(playerid, d_bankomat + 1, 1, "Снять деньги со счета","Укажите сумму которую хотите снять со счета:\n\n| Минимальная сумма $100, максимальная $100000\n| При использовании банкомата действует комиссия","Дальше","Закрыть");//Если игрок ввел сумму больше 100000 или менее 100. new BankCash = (strval(inputtext)*BANKOMAT_CASH)/100; pInfo[playerid][pBank] -= strval(inputtext)-BankCash;//Вычитаем процент и отнимаем деньги с банк.счета pInfo[playerid][pMoney] += strval(inputtext)-BankCash;//Вычитаем процент и получаем деньги на руки ApplyAnimation(playerid, "PED", "ATM",4.0, 0, 1, 1, 0, 0, 1); } if(dialogid == d_bankomat + 2) { if(!response) return 1; if(!strlen(inputtext)) return showPlayerDialog(playerid, d_bankomat + 2, 1, "Положить деньги на счет","Укажите сумму которую хотите положить на счет:\n\n| Минимальная сумма $100, максимальная $100000\n| При использовании банкомата действует комиссия","Дальше","Закрыть"); if(strval(inputtext) < 100 || strval(inputtext) > 100000) return showPlayerDialog(playerid, d_bankomat + 2, 1, "Положить деньги на счет","Укажите сумму которую хотите положить на счет:\n\n| Минимальная сумма $100, максимальная $100000\n| При использовании банкомата действует комиссия","Дальше","Закрыть"); //Если игрок ввел сумму больше 100000 или менее 100. new BankCash = (strval(inputtext)*BANKOMAT_CASH)/100; //Вычисляем % от пользования банкоматом pInfo[playerid][pBank] += strval(inputtext)-BankCash; //Вычитаем процент и получаем деньги в банк pInfo[playerid][pMoney] -= strval(inputtext)-BankCash; //Вычитаем процент и отнимаем деньги с рук ApplyAnimation(playerid, "PED", "ATM",4.0, 0, 1, 1, 0, 0, 1); //Приминяем анимацию пользования банкоматом } В public OnGameModeInit() CreateBankomat(1740.29,-1771.58,13.37,0.00,0.00,0.00); //Создаем банкомат CreateBankomat(1740.29,-1773.58,13.37,0.00,0.00,0.00); //Аналогично Функция создания банкомата, вставляем в конец мода. stock CreateBankomat(Float:x,Float:y,Float:z,Float:rx,Float:ry,Float:rz) { CreateDynamicObject(2754,x,y,z,rx,ry,rz); //Создаем сам банкомат CreateDynamic3DTextLabel("Банкомат\n\nALT",0xFFFFFFFF, x,y,z,3.0,INVALID_PLAYER_ID,INVALID_VEHICLE_ID,0); //Создаем 3д текст к банкомату ATMZone[cBankomats] = CreateDynamicSphere(x,y,z,2.0); //Создаем сферу действия банкомата cBankomats ++; //Прибавляем 1 созданный банкомат к общему кол-ву return 1; } Возникли вопросы? Пишите в данную тему. Автор:Неизвестно
  24. Представляю вашему вниманию оригинальную систему регистрации. Подобного вида система используется на RP-Gameworld. Уверен, данная система внесет каплю разнообразия на ваш сервер. Демонстрационное видео
  25. Smirnov+

    Battlo-RolePLay

    Battlo-RolePLay - сервер продавался за 650 руб Автор неизвестен Мод на mysql Сервер подогнали под старый Amazing ,но получилось на 20/30 % сходства Функции: Система автоматического автосалона! Система домов! Система бизнесов! 11 фракций (Таких как,МВД,ВДВ,МЗ,4 ОПГ,СМИ и.т.д) Имеется маппинг ,который похож на 10/20% Амазинга Жду ваших комментариев :) Batlo-RolePlay.zip База данных внутри архива!
×

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

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