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

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

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

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

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

Тип контента


Форумы

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

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

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


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

  • Начало

    Конец


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

  • Начало

    Конец


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

Найдено: 385 результатов

  1. Frost1218

    TD Автосалона

    new Text:Textdraw0; new Text:Textdraw1; new Text:Textdraw2; new Text:Textdraw3; new Text:Textdraw4; new Text:Textdraw5; new Text:Textdraw6; new Text:Textdraw7; new Text:Textdraw8; new Text:Textdraw9; new Text:Textdraw10; new Text:Textdraw11; new Text:Textdraw12; new Text:Textdraw13; new Text:Textdraw14; new Text:Textdraw15; new Text:Textdraw16; new Text:Textdraw17; new Text:Textdraw18; Textdraw0 = TextDrawCreate(205.338226, 448.916687, "usebox"); TextDrawLetterSize(Textdraw0, 0.000000, -17.687040); TextDrawTextSize(Textdraw0, -2.000000, 0.000000); TextDrawAlignment(Textdraw0, 1); TextDrawColor(Textdraw0, 0); TextDrawUseBox(Textdraw0, true); TextDrawBoxColor(Textdraw0, 102); TextDrawSetShadow(Textdraw0, 0); TextDrawSetOutline(Textdraw0, 0); TextDrawFont(Textdraw0, 0); Textdraw1 = TextDrawCreate(0.000000, 293.416687, "LD_SPAC:white"); TextDrawLetterSize(Textdraw1, 0.000000, 0.000000); TextDrawTextSize(Textdraw1, 203.806747, -21.000000); TextDrawAlignment(Textdraw1, 1); TextDrawColor(Textdraw1, -1274804993); TextDrawSetShadow(Textdraw1, 0); TextDrawSetOutline(Textdraw1, 0); TextDrawFont(Textdraw1, 4); Textdraw2 = TextDrawCreate(83.865280, 319.666656, "BMW X5"); TextDrawLetterSize(Textdraw2, 0.202620, 1.897501); TextDrawAlignment(Textdraw2, 1); TextDrawColor(Textdraw2, -1); TextDrawSetShadow(Textdraw2, 0); TextDrawSetOutline(Textdraw2, 1); TextDrawBackgroundColor(Textdraw2, 51); TextDrawFont(Textdraw2, 2); TextDrawSetProportional(Textdraw2, 1); Textdraw3 = TextDrawCreate(189.282592, 273.583312, "X"); TextDrawLetterSize(Textdraw3, 0.516061, 2.031666); TextDrawAlignment(Textdraw3, 1); TextDrawColor(Textdraw3, -16776961); TextDrawSetShadow(Textdraw3, 0); TextDrawSetOutline(Textdraw3, 1); TextDrawBackgroundColor(Textdraw3, 51); TextDrawFont(Textdraw3, 1); TextDrawSetProportional(Textdraw3, 1); Textdraw4 = TextDrawCreate(3.748208, 272.416687, "ABВЏOCAВћOH"); TextDrawLetterSize(Textdraw4, 0.465929, 1.938333); TextDrawAlignment(Textdraw4, 1); TextDrawColor(Textdraw4, -1); TextDrawSetShadow(Textdraw4, 0); TextDrawSetOutline(Textdraw4, 1); TextDrawBackgroundColor(Textdraw4, 51); TextDrawFont(Textdraw4, 2); TextDrawSetProportional(Textdraw4, 1); Textdraw5 = TextDrawCreate(169.604690, 418.249908, "LD_SPAC:white"); TextDrawLetterSize(Textdraw5, 0.000000, 0.000000); TextDrawTextSize(Textdraw5, -78.711563, -18.666687); TextDrawAlignment(Textdraw5, 1); TextDrawColor(Textdraw5, -1274804993); TextDrawSetShadow(Textdraw5, 0); TextDrawSetOutline(Textdraw5, 0); TextDrawFont(Textdraw5, 4); Textdraw6 = TextDrawCreate(95.578369, 400.750000, "KYВЈВњВЏВ©"); TextDrawLetterSize(Textdraw6, 0.449999, 1.600000); TextDrawAlignment(Textdraw6, 1); TextDrawColor(Textdraw6, -1); TextDrawSetShadow(Textdraw6, 0); TextDrawSetOutline(Textdraw6, 1); TextDrawBackgroundColor(Textdraw6, 51); TextDrawFont(Textdraw6, 2); TextDrawSetProportional(Textdraw6, 1); Textdraw7 = TextDrawCreate(83.865310, 299.249969, "ABВЏOMOВ—ВњВћВ©:"); TextDrawLetterSize(Textdraw7, 0.378784, 2.299998); TextDrawAlignment(Textdraw7, 1); TextDrawColor(Textdraw7, -1); TextDrawSetShadow(Textdraw7, 0); TextDrawSetOutline(Textdraw7, 1); TextDrawBackgroundColor(Textdraw7, 51); TextDrawFont(Textdraw7, 2); TextDrawSetProportional(Textdraw7, 1); Textdraw8 = TextDrawCreate(84.802291, 337.166687, "CВЏOВњMOCВЏВ©:"); TextDrawLetterSize(Textdraw8, 0.407364, 2.440000); TextDrawAlignment(Textdraw8, 1); TextDrawColor(Textdraw8, -1); TextDrawSetShadow(Textdraw8, 0); TextDrawSetOutline(Textdraw8, 1); TextDrawBackgroundColor(Textdraw8, 51); TextDrawFont(Textdraw8, 2); TextDrawSetProportional(Textdraw8, 1); Textdraw9 = TextDrawCreate(81.522705, 359.333343, "20000000 PYВ—ВћEВќ"); TextDrawLetterSize(Textdraw9, 0.279926, 2.165832); TextDrawAlignment(Textdraw9, 1); TextDrawColor(Textdraw9, 8388863); TextDrawSetShadow(Textdraw9, 0); TextDrawSetOutline(Textdraw9, 1); TextDrawBackgroundColor(Textdraw9, 51); TextDrawFont(Textdraw9, 2); TextDrawSetProportional(Textdraw9, 1); Textdraw10 = TextDrawCreate(0.000000, 303.916687, "LD_SPAC:white"); TextDrawLetterSize(Textdraw10, 0.000000, 0.000000); TextDrawTextSize(Textdraw10, 76.368957, 15.750000); TextDrawAlignment(Textdraw10, 1); TextDrawColor(Textdraw10, -1274804993); TextDrawSetShadow(Textdraw10, 0); TextDrawSetOutline(Textdraw10, 0); TextDrawFont(Textdraw10, 4); Textdraw11 = TextDrawCreate(11.244524, 301.000030, "В BEВЏ"); TextDrawLetterSize(Textdraw11, 0.466865, 2.014167); TextDrawAlignment(Textdraw11, 1); TextDrawColor(Textdraw11, -1); TextDrawSetShadow(Textdraw11, 0); TextDrawSetOutline(Textdraw11, 1); TextDrawBackgroundColor(Textdraw11, 51); TextDrawFont(Textdraw11, 2); TextDrawSetProportional(Textdraw11, 1); Textdraw12 = TextDrawCreate(0.000000, 325.500000, "LD_SPAC:white"); TextDrawLetterSize(Textdraw12, 0.000000, 0.000000); TextDrawTextSize(Textdraw12, 75.900436, 14.583312); TextDrawAlignment(Textdraw12, 1); TextDrawColor(Textdraw12, -1); TextDrawSetShadow(Textdraw12, 0); TextDrawSetOutline(Textdraw12, 0); TextDrawFont(Textdraw12, 4); Textdraw13 = TextDrawCreate(0.000000, 344.750000, "LD_SPAC:white"); TextDrawLetterSize(Textdraw13, 0.000000, 0.000000); TextDrawTextSize(Textdraw13, 75.431915, 15.750000); TextDrawAlignment(Textdraw13, 1); TextDrawColor(Textdraw13, 255); TextDrawSetShadow(Textdraw13, 0); TextDrawSetOutline(Textdraw13, 0); TextDrawFont(Textdraw13, 4); Textdraw14 = TextDrawCreate(0.000000, 365.166687, "LD_SPAC:white"); TextDrawLetterSize(Textdraw14, 0.000000, 0.000000); TextDrawTextSize(Textdraw14, 74.963394, 17.500000); TextDrawAlignment(Textdraw14, 1); TextDrawColor(Textdraw14, -16776961); TextDrawSetShadow(Textdraw14, 0); TextDrawSetOutline(Textdraw14, 0); TextDrawFont(Textdraw14, 4); Textdraw15 = TextDrawCreate(0.000000, 386.166687, "LD_SPAC:white"); TextDrawLetterSize(Textdraw15, 0.000000, 0.000000); TextDrawTextSize(Textdraw15, 74.963394, 16.333311); TextDrawAlignment(Textdraw15, 1); TextDrawColor(Textdraw15, -1061109505); TextDrawSetShadow(Textdraw15, 0); TextDrawSetOutline(Textdraw15, 0); TextDrawFont(Textdraw15, 4); Textdraw16 = TextDrawCreate(0.000000, 408.333312, "LD_SPAC:white"); TextDrawLetterSize(Textdraw16, 0.000000, 0.000000); TextDrawTextSize(Textdraw16, 74.963394, 16.333374); TextDrawAlignment(Textdraw16, 1); TextDrawColor(Textdraw16, 8388863); TextDrawSetShadow(Textdraw16, 0); TextDrawSetOutline(Textdraw16, 0); TextDrawFont(Textdraw16, 4); Textdraw17 = TextDrawCreate(93.235755, 373.916717, "<<"); TextDrawLetterSize(Textdraw17, 0.435943, 2.883332); TextDrawAlignment(Textdraw17, 1); TextDrawColor(Textdraw17, -1); TextDrawSetShadow(Textdraw17, 0); TextDrawSetOutline(Textdraw17, 1); TextDrawBackgroundColor(Textdraw17, 51); TextDrawFont(Textdraw17, 1); TextDrawSetProportional(Textdraw17, 1); Textdraw18 = TextDrawCreate(149.458267, 370.999938, ">>"); TextDrawLetterSize(Textdraw18, 0.433600, 3.174998); TextDrawAlignment(Textdraw18, 1); TextDrawColor(Textdraw18, -1); TextDrawSetShadow(Textdraw18, 0); TextDrawSetOutline(Textdraw18, 1); TextDrawBackgroundColor(Textdraw18, 51); TextDrawFont(Textdraw18, 1); TextDrawSetProportional(Textdraw18, 1); Нашел на просторах интернета! Текст Драв Автосалона! Автор: Неизвестно
  2. Автор копии: #Rips logotype[0] = TextDrawCreate(548.235290, 10.500006, "DIAMOND"); TextDrawLetterSize(logotype[0], 0.406705, 1.704999); TextDrawAlignment(logotype[0], 1); TextDrawColor(logotype[0], -16776961); TextDrawSetShadow(logotype[0], 0); TextDrawSetOutline(logotype[0], 1); TextDrawBackgroundColor(logotype[0], -1); TextDrawFont(logotype[0], 2); TextDrawSetProportional(logotype[0], 1); logotype[1] = TextDrawCreate(567.999938, 26.833339, "EMERALD"); TextDrawLetterSize(logotype[1], 0.401058, 1.442499); TextDrawAlignment(logotype[1], 1); TextDrawColor(logotype[1], -2139094785); TextDrawUseBox(logotype[1], true); TextDrawBoxColor(logotype[1], 0); TextDrawSetShadow(logotype[1], 0); TextDrawSetOutline(logotype[1], 1); TextDrawBackgroundColor(logotype[1], 51); TextDrawFont(logotype[1], 3); TextDrawSetProportional(logotype[1], 1); logotype[2] = TextDrawCreate(607.058837, 1.749999, "LD_SPAC:white"); TextDrawLetterSize(logotype[2], 0.000000, 0.000000); TextDrawTextSize(logotype[2], 25.411743, 27.416667); TextDrawAlignment(logotype[2], 1); TextDrawColor(logotype[2], -1); TextDrawUseBox(logotype[2], true); TextDrawBoxColor(logotype[2], 0); TextDrawSetShadow(logotype[2], 0); TextDrawSetOutline(logotype[2], 0); TextDrawFont(logotype[2], 5); TextDrawSetPreviewModel(logotype[2], 19065); TextDrawSetPreviewRot(logotype[2], 0.000000, 0.000000, 0.000000, 1.000000);
  3. Автор данной работы: #Rips logotype[0] = TextDrawCreate(569.882019, 36.166664, "HAPPY NEW YEAR"); TextDrawLetterSize(logotype[0], 0.157293, 1.028332); TextDrawAlignment(logotype[0], 1); TextDrawColor(logotype[0], -1); TextDrawSetShadow(logotype[0], 0); TextDrawSetOutline(logotype[0], 0); TextDrawBackgroundColor(logotype[0], 51); TextDrawFont(logotype[0], 2); TextDrawSetProportional(logotype[0], 1); logotype[1] = TextDrawCreate(564.764404, 25.499988, "ROLE PLAY"); TextDrawLetterSize(logotype[1], 0.295647, 1.541665); TextDrawTextSize(logotype[1], 63.529411, -23.916666); TextDrawAlignment(logotype[1], 1); TextDrawColor(logotype[1], -1); TextDrawSetShadow(logotype[1], 0); TextDrawSetOutline(logotype[1], 0); TextDrawBackgroundColor(logotype[1], 51); TextDrawFont(logotype[1], 2); TextDrawSetProportional(logotype[1], 1); logotype[2] = TextDrawCreate(537.882324, 11.083333, "LD_SPAC:white"); TextDrawLetterSize(logotype[2], 0.000000, 0.000000); TextDrawTextSize(logotype[2], 25.882392, 26.833333); TextDrawAlignment(logotype[2], 1); TextDrawColor(logotype[2], -1); TextDrawUseBox(logotype[2], true); TextDrawBoxColor(logotype[2], 0); TextDrawSetShadow(logotype[2], 0); TextDrawSetOutline(logotype[2], 0); TextDrawFont(logotype[2], 5); TextDrawSetPreviewModel(logotype[2], 19064); TextDrawSetPreviewRot(logotype[2], 0.000000, 0.000000, -180.000000, 1.000000); logotype[3] = TextDrawCreate(550.588195, 17.500007, "D"); TextDrawLetterSize(logotype[3], 0.496588, 2.883333); TextDrawAlignment(logotype[3], 1); TextDrawColor(logotype[3], -65281); TextDrawSetShadow(logotype[3], 0); TextDrawSetOutline(logotype[3], 0); TextDrawBackgroundColor(logotype[3], 51); TextDrawFont(logotype[3], 2); TextDrawSetProportional(logotype[3], 1);
  4. KOSМOS

    TextDraw автосалона

    Здравствуйте форумчане))) Короче делал себе TD для автосалона, но мне не понравился результат))) Хочу поделиться с вами, может кому и пригодится)))
  5. Mr_Tigr

    LOGO

    Автор копии: Mr_Tigr Ко всем new: new Text:Textdraw0; new Text:Textdraw1; В public OnPlayerConnect(playerid): TextDrawShowForPlayer(playerid,Text:Textdraw0); TextDrawShowForPlayer(playerid,Text:Textdraw1); В public OnGameModeInit(): Textdraw0 = TextDrawCreate(487.666595, 16.177795, "-"); TextDrawLetterSize(Textdraw0, 13.357344, 1.081482); TextDrawAlignment(Textdraw0, 1); TextDrawColor(Textdraw0, -1); TextDrawSetShadow(Textdraw0, 0); TextDrawSetOutline(Textdraw0, 1); TextDrawBackgroundColor(Textdraw0, 51); TextDrawFont(Textdraw0, 1); TextDrawSetProportional(Textdraw0, 1); Textdraw1 = TextDrawCreate(500.999938, 4.148161, "Albania RolePlay"); TextDrawLetterSize(Textdraw1, 0.449999, 1.600000); TextDrawAlignment(Textdraw1, 1); TextDrawColor(Textdraw1, -1); TextDrawSetShadow(Textdraw1, 0); TextDrawSetOutline(Textdraw1, 1); TextDrawBackgroundColor(Textdraw1, 51); TextDrawFont(Textdraw1, 1); TextDrawSetProportional(Textdraw1, 1);
  6. В основном, после освоения азов систем регистраций, перед новичком(который только-только начинает писать СВОИ моды), стоит задача сделать функциональный, рабочий спидометр. Чаще всего возникает вопрос "как же сделать его"? Так вот, я заметил, большинство тем содержат в себе либо текстдравы(рисунок) либо функцию, но я почти не замечал где же обучение, за что отвечает та или иная строчка. Естественно расписывать очень подробно, всегда не легко, в любом случае я постараюсь уместить всю полезную информацию в один урок. И так, для начала, необходимо будет придумать стиль спидометра, его дизайн. Если вы раньше не знали, то спидометры и прочую красивую ерунду, рисуют пользуясь текстдравами. Так вот очень удобно "рисовать" спидометры и т.д в IpleoMax Textdraw Editor, у него понятный интерфейс, также вам не придется по долгу возится с позициями и размерами текстдравов, поищите тему на форуме! Нарисовав спидометр, нам необходимо создать текстдравы, я выбрал весьма простой дизай для своего спидометра: Приступим же к скриптовому исполнению задуманного! Для начала для нарисованных текстдравов, необходимо создать переменные: new Text:SBox; new Text:SBox1; new PlayerText:CarSpeed[MAX_PLAYERS]; new PlayerText:CarFuel[MAX_PLAYERS]; new PlayerText:CarMilliage[MAX_PLAYERS]; new PlayerText:CarLights[MAX_PLAYERS]; new PlayerText:CarEngine[MAX_PLAYERS]; Переменные созданы, теперь создадим функции для создания самих текстдравов! Глобальные: stock CreateGlobalTextDraws() { SBox = TextDrawCreate(626.000000, 384.540008, "usebox"); TextDrawLetterSize(SBox, 0.000000, 5.905555); TextDrawTextSize(SBox, 430.799987, 0.000000); TextDrawAlignment(SBox, 1); TextDrawColor(SBox, 0); TextDrawUseBox(SBox, true); TextDrawBoxColor(SBox, 102); TextDrawSetShadow(SBox, 0); TextDrawSetOutline(SBox, 0); TextDrawFont(SBox, 0); SBox1 = TextDrawCreate(601.875000, 383.250061, "LD_SPAC:white"); TextDrawLetterSize(SBox1, 0.000000, 0.000000); TextDrawTextSize(SBox1, 21.250000, 57.166625); TextDrawAlignment(SBox1, 1); TextDrawColor(SBox1, 255); TextDrawSetShadow(SBox1, 0); TextDrawSetOutline(SBox1, 0); TextDrawFont(SBox1, 4); return 1; } Персональные: stock CreatePlayersTextDraw(playerid) { CarSpeed[playerid] = CreatePlayerTextDraw(playerid, 442.399963, 386.026580, "SPEED: 100"); PlayerTextDrawLetterSize(playerid, CarSpeed[playerid], 0.401249, 1.430832); PlayerTextDrawAlignment(playerid, CarSpeed[playerid], 1); PlayerTextDrawColor(playerid, CarSpeed[playerid], -1); PlayerTextDrawSetShadow(playerid, CarSpeed[playerid], 0); PlayerTextDrawSetOutline(playerid, CarSpeed[playerid], 1); PlayerTextDrawBackgroundColor(playerid, CarSpeed[playerid], 51); PlayerTextDrawFont(playerid, CarSpeed[playerid], 1); PlayerTextDrawSetProportional(playerid, CarSpeed[playerid], 1); CarFuel[playerid] = CreatePlayerTextDraw(playerid, 442.149963, 401.026672, "FUEL: 1000"); PlayerTextDrawLetterSize(playerid, CarFuel[playerid], 0.401249, 1.430832); PlayerTextDrawAlignment(playerid, CarFuel[playerid], 1); PlayerTextDrawColor(playerid, CarFuel[playerid], -1); PlayerTextDrawSetShadow(playerid, CarFuel[playerid], 0); PlayerTextDrawSetOutline(playerid, CarFuel[playerid], 1); PlayerTextDrawBackgroundColor(playerid, CarFuel[playerid], 51); PlayerTextDrawFont(playerid, CarFuel[playerid], 1); PlayerTextDrawSetProportional(playerid, CarFuel[playerid], 1); CarMilliage[playerid] = CreatePlayerTextDraw(playerid, 441.899963, 416.610015, "MILLIAGE: 10000"); PlayerTextDrawLetterSize(playerid, CarMilliage[playerid], 0.401249, 1.430832); PlayerTextDrawAlignment(playerid, CarMilliage[playerid], 1); PlayerTextDrawColor(playerid, CarMilliage[playerid], -1); PlayerTextDrawSetShadow(playerid, CarMilliage[playerid], 0); PlayerTextDrawSetOutline(playerid, CarMilliage[playerid], 1); PlayerTextDrawBackgroundColor(playerid, CarMilliage[playerid], 51); PlayerTextDrawFont(playerid, CarMilliage[playerid], 1); PlayerTextDrawSetProportional(playerid, CarMilliage[playerid], 1); CarLights[playerid] = CreatePlayerTextDraw(playerid, 608.125000, 386.166625, "L"); PlayerTextDrawLetterSize(playerid, CarLights[playerid], 0.449999, 1.600000); PlayerTextDrawAlignment(playerid, CarLights[playerid], 1); PlayerTextDrawColor(playerid, CarLights[playerid], -1); PlayerTextDrawSetShadow(playerid, CarLights[playerid], 0); PlayerTextDrawSetOutline(playerid, CarLights[playerid], 1); PlayerTextDrawBackgroundColor(playerid, CarLights[playerid], 51); PlayerTextDrawFont(playerid, CarLights[playerid], 1); PlayerTextDrawSetProportional(playerid, CarLights[playerid], 1); CarEngine[playerid] = CreatePlayerTextDraw(playerid, 609.125000, 413.416778, "E"); PlayerTextDrawLetterSize(playerid, CarEngine[playerid], 0.449999, 1.600000); PlayerTextDrawAlignment(playerid, CarEngine[playerid], 1); PlayerTextDrawColor(playerid, CarEngine[playerid], -1); PlayerTextDrawSetShadow(playerid, CarEngine[playerid], 0); PlayerTextDrawSetOutline(playerid, CarEngine[playerid], 1); PlayerTextDrawBackgroundColor(playerid, CarEngine[playerid], 51); PlayerTextDrawFont(playerid, CarEngine[playerid], 1); PlayerTextDrawSetProportional(playerid, CarEngine[playerid], 1); return 1; } в OnGameModeInit закинем: CreateGlobalTextDraws(); в OnPlayerConnect: CreatePlayersTextDraw(); Теперь нам надо сделать так, чтобы игрок который сел в машину на место водителя, видел спидометр За изменение позиции игрока относительно штата, отвечает паблик OnPlayerStateChange, закинем код туда: if(newstate == PLAYER_STATE_DRIVER) { if(!noeng(GetPlayerVehicleID(playerid))) { new v = GetPlayerVehicleID(playerid); VehicleInfo[v][vFuel] = 50.0; GetPlayerPos(playerid, VehicleInfo[v][vPosx],VehicleInfo[v][vPosy],VehicleInfo[v][vPosz]); TextDrawShowForPlayer(playerid, SBox); TextDrawShowForPlayer(playerid, SBox1); PlayerTextDrawShow(playerid, CarSpeed[playerid]); PlayerTextDrawShow(playerid, CarFuel[playerid]); PlayerTextDrawShow(playerid, CarMilliage[playerid]); PlayerTextDrawShow(playerid, CarLights[playerid]); PlayerTextDrawShow(playerid, CarEngine[playerid]); SpeedTimer[playerid] = SetTimerEx("UpdateSpeed",200,1,"d",playerid); return 1; } } if(oldstate == PLAYER_STATE_DRIVER) { TextDrawHideForPlayer(playerid, SBox); TextDrawHideForPlayer(playerid, SBox1); PlayerTextDrawHide(playerid, CarSpeed[playerid]); PlayerTextDrawHide(playerid, CarFuel[playerid]); PlayerTextDrawHide(playerid, CarMilliage[playerid]); PlayerTextDrawHide(playerid, CarLights[playerid]); PlayerTextDrawHide(playerid, CarEngine[playerid]); KillTimer(SpeedTimer[playerid]); return 1; } теперь в начале мода, нам нужно создать массив для хранения характеристик авто enum vInfo { vEngine, Float:vFuel, Float:vMilliage, vLights, Float:vPosx,Float:vPosy,Float:vPosz }; new VehicleInfo[MAX_VEHICLES][vInfo]; отлично! Теперь создадим переменную для таймера, а также паблик самого таймера! new SpeedTimer[MAX_PLAYERS]; и паблик: forward UpdateSpeed(playerid); public UpdateSpeed(playerid) { new string[256]; new v = GetPlayerVehicleID(playerid); format(string,sizeof(string),"SPEED: %d",SpeedVehicle(playerid)); PlayerTextDrawSetString(playerid, CarSpeed[playerid], string); format(string,sizeof(string),"FUEL: %d",floatround(VehicleInfo[v][vFuel])); PlayerTextDrawSetString(playerid, CarFuel[playerid], string); format(string,sizeof(string),"MILLIAGE: %d",floatround(VehicleInfo[v][vMilliage])); PlayerTextDrawSetString(playerid, CarMilliage[playerid], string); switch(VehicleInfo[v][vLights]) { case 0: PlayerTextDrawSetString(playerid, CarLights[playerid], "~w~L"); case 1: PlayerTextDrawSetString(playerid, CarLights[playerid], "~b~L"); } if(VehicleInfo[v][vEngine]) PlayerTextDrawSetString(playerid, CarEngine[playerid], "~b~E"); else PlayerTextDrawSetString(playerid, CarEngine[playerid],"~w~E"); if(VehicleInfo[v][vFuel] <= 0) { VehicleInfo[v][vEngine] = 0; VehicleInfo[v][vFuel] = 0.0; SetVehicleParamsEx(v, VehicleInfo[v][vEngine], VehicleInfo[v][vLights],0,0,0,0,0); } if(GetPlayerDistanceFromPoint(playerid, VehicleInfo[v][vPosx], VehicleInfo[v][vPosy], VehicleInfo[v][vPosz]) > 50.0) { VehicleInfo[v][vMilliage] += 0.1; VehicleInfo[v][vFuel] -= 0.05; GetPlayerPos(playerid, VehicleInfo[v][vPosx],VehicleInfo[v][vPosy],VehicleInfo[v][ vPosz]); } return 1; } Теперь сделаем заводку двигателя: в OnPlayerKeyStateChange if(newkeys & KEY_ACTION) { if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER) { new v = GetPlayerVehicleID(playerid); if(!noeng(v)) { if(!VehicleInfo[v][vFuel]) return 1; if(!VehicleInfo[v][vEngine]) VehicleInfo[v][vEngine] = 1; else VehicleInfo[v][vEngine] = 0; SetVehicleParamsEx(v, VehicleInfo[v][vEngine], VehicleInfo[v][vLights], 0, 0, 0, 0, 0); return 1; } } } Вот и все! Наш спидометр готов! Автор кода: wAx Чуть не забыл, функция проверки на автомобиль noeng(vehicleid) и функция вычисления скорости stock noeng(carid) { new model = GetVehicleModel(carid); if(model == 462||model == 448||model == 509|| model == 510||model == 481||model==468||model == 471 || model == 511 || model == 512||model == 593||model == 520||model == 577||model == 476||model == 519 || model == 460 || model == 513||model == 472||model==473||model == 493||model == 595 || model == 484 || model == 430 || model == 453||model == 452||model == 446||model == 454 ||model == 548 ||model == 425|| model == 417||model == 487||model == 488||model == 497||model == 563||model == 447||model == 469||model == 553) return 1; return 0; } stock SpeedVehicle(playerid) { new Float:ST[4]; if(IsPlayerInAnyVehicle(playerid)) GetVehicleVelocity(GetPlayerVehicleID(playerid),ST[0],ST[1],ST[2]); else GetPlayerVelocity(playerid,ST[0],ST[1],ST[2]); ST[3] = floatsqroot(floatpower(floatabs(ST[0]), 2.0) + floatpower(floatabs(ST[1]), 2.0) + floatpower(floatabs(ST[2]), 2.0)) * 100.3; return floatround(ST[3]); } Оптимизированный вариант stock noeng stock noeng(carid) { switch(GetVehicleModel(carid)) { case 462,448,509,510,481,468,471,511,512,593,520,577,476,519,460,513,472,473,493,595,484,430: return 1; case 453,452,446,454,548,425,417,487,488,497,563,447,469,553: return 1; default: return 0; } return 0; }
  7. Maks CR MP

    Логотип New Era Role Play

    Автор:Картон new Text:Textdraw0; new Text:Textdraw1; new Text:Textdraw2; new Text:Textdraw3; new Text:Textdraw4; new Text:Textdraw5; TextDrawShowForPlayer(playerid,Textdraw0); TextDrawShowForPlayer(playerid,Textdraw1); TextDrawShowForPlayer(playerid,Textdraw2); TextDrawShowForPlayer(playerid,Textdraw3); TextDrawShowForPlayer(playerid,Textdraw4); TextDrawShowForPlayer(playerid,Textdraw5); Textdraw0 = TextDrawCreate(539.555847, 3.484465, "LD_DRV:silver"); TextDrawLetterSize(Textdraw0, 0.000000, 0.000000); TextDrawTextSize(Textdraw0, 37.777778, 31.360021); TextDrawAlignment(Textdraw0, 1); TextDrawColor(Textdraw0, 255); TextDrawSetShadow(Textdraw0, 0); TextDrawSetOutline(Textdraw0, 0); TextDrawFont(Textdraw0, 4); Textdraw1 = TextDrawCreate(571.555603, 27.377779, "LD_SPAC:white"); TextDrawLetterSize(Textdraw1, 0.000000, 0.000000); TextDrawTextSize(Textdraw1, 68.444396, 2.488887); TextDrawAlignment(Textdraw1, 1); TextDrawColor(Textdraw1, 255); TextDrawSetShadow(Textdraw1, 0); TextDrawSetOutline(Textdraw1, 0); TextDrawFont(Textdraw1, 4); Textdraw2 = TextDrawCreate(575.111206, 12.942221, "LD_SPAC:white"); TextDrawLetterSize(Textdraw2, 0.000000, 0.000000); TextDrawTextSize(Textdraw2, 65.777770, 2.488889); TextDrawAlignment(Textdraw2, 1); TextDrawColor(Textdraw2, 255); TextDrawSetShadow(Textdraw2, 0); TextDrawSetOutline(Textdraw2, 0); TextDrawFont(Textdraw2, 4); Textdraw3 = TextDrawCreate(545.333374, 0.995549, "N"); TextDrawLetterSize(Textdraw3, 1.080222, 3.476623); TextDrawAlignment(Textdraw3, 1); TextDrawColor(Textdraw3, -5963521); TextDrawSetShadow(Textdraw3, 0); TextDrawSetOutline(Textdraw3, 1); TextDrawBackgroundColor(Textdraw3, 51); TextDrawFont(Textdraw3, 2); TextDrawSetProportional(Textdraw3, 1); Textdraw4 = TextDrawCreate(577.333435, 13.440015, "ew"); TextDrawLetterSize(Textdraw4, 0.236222, 1.629866); TextDrawAlignment(Textdraw4, 1); TextDrawColor(Textdraw4, -5963521); TextDrawSetShadow(Textdraw4, 0); TextDrawSetOutline(Textdraw4, 1); TextDrawBackgroundColor(Textdraw4, 51); TextDrawFont(Textdraw4, 3); TextDrawSetProportional(Textdraw4, 1); Textdraw5 = TextDrawCreate(592.444458, 13.937761, "era Role Play"); TextDrawLetterSize(Textdraw5, 0.202000, 1.490489); TextDrawAlignment(Textdraw5, 1); TextDrawColor(Textdraw5, -1); TextDrawSetShadow(Textdraw5, 0); TextDrawSetOutline(Textdraw5, 1); TextDrawBackgroundColor(Textdraw5, 51); TextDrawFont(Textdraw5, 3); TextDrawSetProportional(Textdraw5, 1);
  8. #Pawno

    Спидометр 3D

    Всем привет , давно от меня не было активности. И так перейдем к делу , нашел интересный спидометр одного автора, может кому пригодится. в паблик public OnPlayerStateChange(playerid, newstate, oldstate) добавим код if newstate == PLAYER_STATE_DRIVER*then { new Float:pos[3];// кординаты SetPVarInt(playerid, "speedo_object", CreatePlayerObject(playerid, 19482,0.0,0.0,0.0,0.0,0.0,0.0));// обьект для спидометра(нетрогать) GetVehicleModelInfo(GetVehicleModel(GetPlayerVehicleID(playerid)),VEHICLE_MODEL_INFO_SIZE,pos[0],pos[1],pos[2]);//информация хз чего AttachPlayerObjectToVehicle(playerid, GetPVarInt(playerid, "speedo_object"),GetPlayerVehicleID(playerid),pos[0]-(pos[0]*0.1 ),pos[1]-(pos[1]*1.7),pos[2]/2,0.0,0.0,230.0);// прелепляем 3д } if oldstate == PLAYER_STATE_DRIVER*then { DestroyPlayerObject(playerid, GetPVarInt(playerid, "speedo_object")),DeletePVar(playerid, "speedo_object"); } Далее добавляем код в OnPlayerUpdate ну или куда вам удобнее чтоб обновлялся спедак. if(IsPlayerInAnyVehicle(playerid)) { new Float:pos[4], str[84],Float:hp; GetVehicleHealth(GetPlayerVehicleID(playerid),hp); GetVehicleVelocity(GetPlayerVehicleID(playerid),pos[0],pos[1],pos[2]); format(str, sizeof(str), "\n%d {ffffff}КМ/Ч\nБЕНЗИН: {FF0000}%d л.\n{FFFFFF}СОСТОЯНИЕ: {00FF00}%d%%", floatround(floatsqroot(((pos[0]*pos[0])+(pos[1]*pos[1]))+(pos[2]*pos[2]))*156.666667),[ переменная бензина ],floatround(hp)/10); SetPlayerObjectMaterialText(playerid, GetPVarInt(playerid, "speedo_object"),str,0,OBJECT_MATERIAL_SIZE_512x256,"Tahoma",24,true,0xFF00FF00,0,OBJECT_MATERIAL_TEXT_ALIGN_CENTER); } и последние действие , в паблике OnPlayerDeath DestroyPlayerObject(playerid, GetPVarInt(playerid, "speedo_object")),DeletePVar(playerid, "speedo_object"); Наш спидометр готов:)
  9. Видел кто то на форуме спрашивал как сделать музыкальное радио вот спциально для вас В #Define добавляем #define RADIO 3738//ID диалога В public OnPlayerCommandText(playerid, cmdtext[]) добавляем if(strcmp(cmd, "/music", true) == 0) { { ShowPlayerDialog(playerid,RADIO,DIALOG_STYLE_LIST, "Плеер","{00FF00}Зайцев-FM классик\n{00FF00}Европа PLUS\n{00FF00}RAP\n{00FF00}Fox FM\n{00FF00}Be@t FM\n{00FF00}Zaicev FM RnB\n{00FF00}Zaicev FM Club\n{00FF00}Zaicev FM Диско\n{00FF00}Супердискотека 90-х\n{00FF00}Наши песни\n{00FF00}Руское радио\n{00FF00}Авторадио\n{00FF00}Radio Record\n{00FF00}Dubstep\n{00FF00}Club\n{00FF00}Медляк FM\n{00FF00}Гоп FM\n{00FF00}Radio Xtreme\n{FF0000}Выключить радио","Ок","Выход"); return true; } В public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)//вызов по нажатию кнопки добавляем { if(newkeys == 262144) { ShowPlayerDialog(playerid,RADIO,DIALOG_STYLE_LIST, "Плеер","{00FF00}Зайцев-FM классик\n{00FF00}Европа PLUS\n{00FF00}RAP\n{00FF00}Fox FM\n{00FF00}Be@t FM\n{00FF00}Zaicev FM RnB\n{00FF00}Zaicev FM Club\n{00FF00}Zaicev FM Диско\n{00FF00}Супердискотека 90-х\n{00FF00}Наши песни\n{00FF00}Руское радио\n{00FF00}Авторадио\n{00FF00}Radio Record\n{00FF00}Dubstep\n{00FF00}Club\n{00FF00}Медляк FM\n{00FF00}Гоп FM\n{00FF00}Radio Xtreme\n{FF0000}Выключить радио","Ок","Выход"); return 1; } В public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) добавляем { if(dialogid == RADIO && response) switch (listitem) { /*URL радиостанций*/ case 0: PlayAudioStreamForPlayer(playerid,"http://www.zaycev.fm:9001/rnb/ZaycevFM(128)"); case 1: PlayAudioStreamForPlayer(playerid,"http://webcast.emg.fm:55655/europaplus128.mp3"); case 2: PlayAudioStreamForPlayer(playerid,"http://nullwave.ru:8000/russian_rap"); case 3: PlayAudioStreamForPlayer(playerid,"http://31.192.104.139:8000/live.m3u"); case 4: PlayAudioStreamForPlayer(playerid,"http://91.201.231.12:8000/beat.fm.m3u"); case 5: PlayAudioStreamForPlayer(playerid,"http://radio.zaycev.fm:9002/rnb/ZaycevFM(128).m3u"); case 6: PlayAudioStreamForPlayer(playerid,"http://radio.zaycev.fm:9002/electronic/ZaycevFM(128).m3u" ); case 7: PlayAudioStreamForPlayer(playerid,"http://radio.zaycev.fm:9002/disco/ZaycevFM(128).m3u" ); case 8: PlayAudioStreamForPlayer(playerid,"http://air.radiorecord.ru:8102/sd90_128"); case 9: PlayAudioStreamForPlayer(playerid,"http://online.nashipesni.ru:8000/nashipesni"); case 10: PlayAudioStreamForPlayer(playerid,"http://stream05.akaver.com/russkoeradio_hi.mp3"); case 11: PlayAudioStreamForPlayer(playerid,"http://cast.radiogroup.com.ua:8000/avtoradio"); case 12: PlayAudioStreamForPlayer(playerid,"http://air.radiorecord.ru:8101/rr_128"); case 13: PlayAudioStreamForPlayer(playerid,"http://air.radiorecord.ru:8102/dub_128"); case 14: PlayAudioStreamForPlayer(playerid,"http://air.radiorecord.ru:8102/club_128"); case 15: PlayAudioStreamForPlayer(playerid,"http://air.radiorecord.ru:8102/mdl_128"); case 16: PlayAudioStreamForPlayer(playerid,"http://air.radiorecord.ru:8102/gop_128"); case 17: PlayAudioStreamForPlayer(playerid,"http://streaming.radionomy.com/radio-xtreme---sensation-tubes- garantie"); case 18: StopAudioStreamForPlayer(playerid);} } Готово! Автор:NazarKuleba
  10. SkRiTeX

    cmd /setradar

    Здравствуйте дорогие пользователи GSG. Вот решил выложить cmd /setradar. Может кому понадобиться. В прошлый раз я выложил команду не полностью, исправляюсь. Поставить радар: if(!strcmp("/setradar", cmd, true)){new radarid = -1;for(new r; r<MAX_RADARS; r++){if(!RadarInfo[r][rActive]){radarid = r;break;}}if(radarid >= MAX_RADARS) return SendClientMessage(playerid, 0x27C400FF, ">>> Уже создано максимальное количество радаров.");if(PlayerRadars[playerid] >= MAX_PLAYER_RADARS) return SendClientMessage(playerid, 0x27C400FF, ">>> Ты создал уже создано максимальное количество радаров.");tmp = strtok(cmdtext, idx);if(!strlen(tmp)){SendClientMessage(playerid, 0x27C400FF, ">>> Использование >>> /setradar [ тип радара ]");SendClientMessage(playerid, 0xDEDEDEFF, "| 1: городской");SendClientMessage(playerid, 0xDEDEDEFF, "| 2: пригородный");SendClientMessage(playerid, 0xDEDEDEFF, "| 3: шоссейный");return 1;}new type[64];switch(strval(tmp)){case 1: RadarInfo[radarid][rSpeed] = 60, type = "Городской";case 2: RadarInfo[radarid][rSpeed] = 90, type = "Пригородный";case 3: RadarInfo[radarid][rSpeed] = 120, type = "Шоссейный";default: return SendClientMessage(playerid, 0x27C400FF, ">>> Неверный тип радара");}new Float:POS[4];GetPlayerPos(playerid, POS[0], POS[1], POS[2]);SetPlayerPos(playerid, POS[0]-0.5, POS[1]-0.5, POS[2]);GetPlayerFacingAngle(playerid, POS[3]);RadarInfo[radarid][rObject] = CreateDynamicObject(18880, POS[0], POS[1], POS[2]-2.5, 0.0, 0.0, POS[3]);RadarInfo[radarid][rActive] = true;RadarInfo[radarid][rPlayer] = playerid;RadarInfo[radarid][rPos][0] = POS[0];RadarInfo[radarid][rPos][1] = POS[1];RadarInfo[radarid][rPos][2] = POS[2];format(string, 128, ">>> Радар успешно создан | тип радара: {DEDEDE}%s", type);SendClientMessage(playerid, -1, string);PlayerRadars[playerid]++;return 1;} Удалить радар: if(!strcmp("/delradar", cmd, true)){new bool:radarid;for(new r; r<MAX_RADARS; r++){if(RadarInfo[r][rActive] && IsPlayerInRangeOfPoint(playerid, 3.0, RadarInfo[r][rPos][0], RadarInfo[r][rPos][1], RadarInfo[r][rPos][2])){if(RadarInfo[r][rPlayer] != playerid){SendClientMessage(playerid, 0x27C400FF, ">>> Данный радар был установлен не Вами.");}else{PlayerRadars[playerid]--;radarid = true;DestroyObject(RadarInfo[r][rObject]);RadarInfo[r][rPlayer] = INVALID_PLAYER_ID;RadarInfo[r][rActive] = false;}break;}}if(!radarid) SendClientMessage(playerid, 0x27C400FF, ">>> Поблизости нет радаров.");return 1;}
  11. Vladimir_Kulkov

    Система "двигатель"

    Ладно , лень писать начало Что имеется в системе : Система бензина , Закрытие/открытие дверей, Вкл/Выкл фар Запуск/глушение двигателя. Небольшое описание : Имеется спидометр , говорю сразу,он немного не доработан.Это вещь не так важна Делал Я систему на new.pwn , использовал dc_cmd , для команд. Код: 0. Ко всем define #define oc_cmd(%0) strcmp(cmd, %0, true) == 0 #define cp oc_cmd 1. Ко всем new: new Text:SpeedTD[MAX_PLAYERS][10]; // Спидометр new VehicleFuel[MAX_VEHICLES]; // Бензин new IsLocked[MAX_VEHICLES]; // Двери 1 new gCarLock[MAX_VEHICLES]; // Двери 2 new zavodis[MAX_VEHICLES]; // Движок new akavandal[MAX_VEHICLES]; // Фары new engine, lights, alarm, doors, bonnet, boot, objective; // ХЗ 2» В OnGameModeInit() : ManualVehicleEngineAndLights(); // Выключение двигателя | Если есть не вставляем for(new i = 1;i<MAX_VEHICLES;i++) { VehicleFuel[i] = 120; zavodis[i] = 0; } // Вставить до создания транспорта !!! SetTimer("SecTimer",1000,1); // Таймер 1 :3 SetTimer("FuelUpdate",40000,1); // Таймер 2 :3 3. Ко всем forward : forward SecTimer(playerid); forward FuelUpdate(); 4. Куда-то в конец мода : public FuelUpdate(){ for(new i = 1;i<MAX_VEHICLES;i++){ if(GetVehicleModel(i) && !IsABMX(i)){ GetVehicleParamsEx(i,engine,lights,alarm,doors,bonnet,boot,objective); if(engine == 1){ if(VehicleFuel[i] > 0) VehicleFuel[i]--; else SetVehicleParamsEx(i,0,lights,alarm,doors,bonnet,boot,objective);}}}} stock CreatePlayerTextDraws(playerid) { // Speedometr SpeedTD[playerid][0] = TextDrawCreate(627.882324, 334.000000, "_"); // usebox TextDrawLetterSize(SpeedTD[playerid][0], 0.000000, 9.470368); TextDrawTextSize(SpeedTD[playerid][0], 461.058807, 0.000000); TextDrawAlignment(SpeedTD[playerid][0], 1); TextDrawColor(SpeedTD[playerid][0], 0); TextDrawUseBox(SpeedTD[playerid][0], true); TextDrawBoxColor(SpeedTD[playerid][0], 102); TextDrawSetShadow(SpeedTD[playerid][0], 0); TextDrawSetOutline(SpeedTD[playerid][0], 0); TextDrawFont(SpeedTD[playerid][0], 0); SpeedTD[playerid][1] = TextDrawCreate(463.999969, 316.166778, "_");// Car Name TextDrawLetterSize(SpeedTD[playerid][1], 0.449999, 1.600000); TextDrawAlignment(SpeedTD[playerid][1], 1); TextDrawColor(SpeedTD[playerid][1], -1); TextDrawSetShadow(SpeedTD[playerid][1], 0); TextDrawSetOutline(SpeedTD[playerid][1], 1); TextDrawBackgroundColor(SpeedTD[playerid][1], 51); TextDrawFont(SpeedTD[playerid][1], 0); TextDrawSetProportional(SpeedTD[playerid][1], 1); SpeedTD[playerid][2] = TextDrawCreate(495.999908, 331.916656, "_"); // ~b~Speed : %d TextDrawLetterSize(SpeedTD[playerid][2], 0.449999, 1.600000); TextDrawAlignment(SpeedTD[playerid][2], 1); TextDrawColor(SpeedTD[playerid][2], -1); TextDrawSetShadow(SpeedTD[playerid][2], 0); TextDrawSetOutline(SpeedTD[playerid][2], 1); TextDrawBackgroundColor(SpeedTD[playerid][2], 51); TextDrawFont(SpeedTD[playerid][2], 1); TextDrawSetProportional(SpeedTD[playerid][2], 1); SpeedTD[playerid][3] = TextDrawCreate(492.235351, 362.833251, "_"); // Health : %d TextDrawLetterSize(SpeedTD[playerid][3], 0.449999, 1.600000); TextDrawAlignment(SpeedTD[playerid][3], 1); TextDrawColor(SpeedTD[playerid][3], -1); TextDrawSetShadow(SpeedTD[playerid][3], 0); TextDrawSetOutline(SpeedTD[playerid][3], 1); TextDrawBackgroundColor(SpeedTD[playerid][3], 51); TextDrawFont(SpeedTD[playerid][3], 1); TextDrawSetProportional(SpeedTD[playerid][3], 1); SpeedTD[playerid][4] = TextDrawCreate(473.882446, 398.999938, "_"); // IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII TextDrawLetterSize(SpeedTD[playerid][4], 0.449999, 1.600000); TextDrawAlignment(SpeedTD[playerid][4], 1); TextDrawColor(SpeedTD[playerid][4], -1); TextDrawSetShadow(SpeedTD[playerid][4], 0); TextDrawSetOutline(SpeedTD[playerid][4], 1); TextDrawBackgroundColor(SpeedTD[playerid][4], 51); TextDrawFont(SpeedTD[playerid][4], 1); TextDrawSetProportional(SpeedTD[playerid][4], 1); SpeedTD[playerid][5] = TextDrawCreate(493.176361, 379.166717, "_"); // ~r~Lock TextDrawLetterSize(SpeedTD[playerid][5], 0.449999, 1.600000); TextDrawAlignment(SpeedTD[playerid][5], 1); TextDrawColor(SpeedTD[playerid][5], -1); TextDrawSetShadow(SpeedTD[playerid][5], 0); TextDrawSetOutline(SpeedTD[playerid][5], 1); TextDrawBackgroundColor(SpeedTD[playerid][5], 51); TextDrawFont(SpeedTD[playerid][5], 1); TextDrawSetProportional(SpeedTD[playerid][5], 1); SpeedTD[playerid][6] = TextDrawCreate(539.294067, 379.750000, "_"); // ~r~Engine TextDrawLetterSize(SpeedTD[playerid][6], 0.449999, 1.600000); TextDrawAlignment(SpeedTD[playerid][6], 1); TextDrawColor(SpeedTD[playerid][6], -1); TextDrawSetShadow(SpeedTD[playerid][6], 0); TextDrawSetOutline(SpeedTD[playerid][6], 1); TextDrawBackgroundColor(SpeedTD[playerid][6], 51); TextDrawFont(SpeedTD[playerid][6], 1); TextDrawSetProportional(SpeedTD[playerid][6], 1); SpeedTD[playerid][7] = TextDrawCreate(464.470581, 332.500091, "_"); // LD_POOL:BALL TextDrawLetterSize(SpeedTD[playerid][7], 0.000000, 0.000000); TextDrawTextSize(SpeedTD[playerid][7], 15.058789, 15.166663); TextDrawAlignment(SpeedTD[playerid][7], 1); TextDrawColor(SpeedTD[playerid][7], -1); TextDrawSetShadow(SpeedTD[playerid][7], 0); TextDrawSetOutline(SpeedTD[playerid][7], 0); TextDrawFont(SpeedTD[playerid][7], 4); SpeedTD[playerid][8] = TextDrawCreate(509.647216, 346.500091, "_"); // Fuel : 60 TextDrawLetterSize(SpeedTD[playerid][8], 0.449999, 1.600000); TextDrawAlignment(SpeedTD[playerid][8], 1); TextDrawColor(SpeedTD[playerid][8], -1); TextDrawSetShadow(SpeedTD[playerid][8], 0); TextDrawSetOutline(SpeedTD[playerid][8], 1); TextDrawBackgroundColor(SpeedTD[playerid][8], 51); TextDrawFont(SpeedTD[playerid][8], 1); TextDrawSetProportional(SpeedTD[playerid][8], 1); SpeedTD[playerid][9] = TextDrawCreate(468.235412, 330.749969, "_"); // x TextDrawLetterSize(SpeedTD[playerid][9], 0.449999, 1.600000); TextDrawAlignment(SpeedTD[playerid][9], 1); TextDrawColor(SpeedTD[playerid][9], -1); TextDrawSetShadow(SpeedTD[playerid][9], 0); TextDrawSetOutline(SpeedTD[playerid][9], 1); TextDrawBackgroundColor(SpeedTD[playerid][9], 51); TextDrawFont(SpeedTD[playerid][9], 1); TextDrawSetProportional(SpeedTD[playerid][9], 1); } public SecTimer(playerid) // Наш таймер , который мы вверху добавили :3 { SpeedoUpdate(playerid);// Speedometr CheckEngine(playerid);// Engine } stock IsABMX(carid){new model = GetVehicleModel(carid);if(model == 481 || model == 510) return true;return false;} // Проверочка stock SpeedoUpdate(playerid) { if(IsPlayerConnected(playerid) && IsPlayerInAnyVehicle(playerid)) { if(!IsABMX(GetPlayerVehicleID(playerid))) { for(new i;i != 10;i++) TextDrawShowForPlayer(playerid,SpeedTD[playerid][i]); new TEXT[256]; new Float:health; new veh = GetPlayerVehicleID(playerid); new EngStat[256],DoorStat[256]; new Line[512]; new Speed = SpeedVehicle(playerid); // Вот эта часть не доделана switch(Speed){ case 0 : {Line = "~w~IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII";} case 1..5 : {Line = "~b~I~w~IIIIIIIIIIIIIIIIIIIIIIIIIIIIIII";} case 6..10 : {Line = "~b~III~w~IIIIIIIIIIIIIIIIIIIIIIIIIIIII";} case 280..349 : {Line = "~b~IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII";} case 350..999 : {Line = "~r~IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII~n~~w~OVER SPEED";} } /////////////////////////////////// GetVehicleHealth(veh, health); if(zavodis[veh] == 0) EngStat = "~r~Engine"; else EngStat = "~g~Engine"; if(IsLocked[veh] == 1) DoorStat = "~r~Lock"; else DoorStat = "~g~Open"; format(TEXT,sizeof(TEXT),"usebox"); TextDrawSetString(SpeedTD[playerid][0],TEXT); //format(TEXT,sizeof(TEXT),"%s",VehName); //TextDrawSetString(SpeedTD[playerid][1],TEXT); format(TEXT,sizeof(TEXT),"~b~Speed : %d",Speed); TextDrawSetString(SpeedTD[playerid][2],TEXT); format(TEXT,sizeof(TEXT),"Health : %d",floatround(health)); TextDrawSetString(SpeedTD[playerid][3],TEXT); format(TEXT,sizeof(TEXT),"%s",Line); TextDrawSetString(SpeedTD[playerid][4],TEXT); format(TEXT,sizeof(TEXT),"%s",DoorStat); TextDrawSetString(SpeedTD[playerid][5],TEXT); format(TEXT,sizeof(TEXT),"%s",EngStat); TextDrawSetString(SpeedTD[playerid][6],TEXT); TextDrawSetString(SpeedTD[playerid][7],"LD_POOL:BALL"); format(TEXT,sizeof(TEXT),"Fuel : %d",VehicleFuel[veh]); TextDrawSetString(SpeedTD[playerid][8],TEXT); TextDrawSetString(SpeedTD[playerid][9],"x"); } } else { for(new i;i != 10;i++) TextDrawHideForPlayer(playerid,SpeedTD[playerid][i]); } return true; } stock PlayerToPoint(Float:radi, playerid, Float:x, Float:y, Float:z){ if(IsPlayerConnected(playerid)){ new Float:oldposx, Float:oldposy, Float:oldposz; new Float:tempposx, Float:tempposy, Float:tempposz; GetPlayerPos(playerid, oldposx, oldposy, oldposz); tempposx = (oldposx -x); tempposy = (oldposy -y); tempposz = (oldposz -z); if (((tempposx < radi) && (tempposx > -radi)) && ((tempposy < radi) && (tempposy > -radi)) && ((tempposz < radi) && (tempposz > -radi))){return true;}}return false;} stock GetNearestVehicle(playerid){ for(new i=0; i<MAX_VEHICLES; i++){ if(GetVehicleModel(i)){ new Float:Xx,Float:Yy,Float:Zz; GetVehiclePos(i,Xx,Yy,Zz); if(PlayerToPoint(8.0, playerid, Xx, Yy, Zz))return i;}}return -1;} stock LockCar(carid){ foreach(Player, i){ if(IsPlayerConnected(i)){ SetVehicleParamsForPlayer(carid,i,0,1); gCarLock[carid] = 1;}}} UnLockCar(carid){ foreach(Player, i){ gCarLock[carid] = 0; GetVehicleParamsEx(carid,engine,lights,alarm,doors,bonnet,boot,objective); SetVehicleParamsEx(carid,engine,lights,alarm,VEHICLE_PARAMS_OFF,bonnet,boot,objective); SetVehicleParamsForPlayer(carid,i,0,0);}} stock SpeedVehicle(playerid){ new Float:ST[4]; if(IsPlayerInAnyVehicle(playerid)) GetVehicleVelocity(GetPlayerVehicleID(playerid),ST[0],ST[1],ST[2]); else GetPlayerVelocity(playerid,ST[0],ST[1],ST[2]); ST[3] = floatsqroot(floatpower(floatabs(ST[0]), 2.0) + floatpower(floatabs(ST[1]), 2.0) + floatpower(floatabs(ST[2]), 2.0)) * 120.3; return floatround(ST[3]);} stock CheckEngine(playerid) { new vehicleid = GetPlayerVehicleID(playerid); new Float:CarHealth; GetVehicleHealth(vehicleid,CarHealth); if(CarHealth < 350 && zavodis[vehicleid] == 1) { GameTextForPlayer(playerid, "~r~Engine break", 5000, 1); GetVehicleParamsEx(vehicleid,engine,lights,alarm,doors,bonnet,boot,objective); SetVehicleParamsEx(vehicleid,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective); zavodis[vehicleid] = 0; } return true; } 5. В OnPlayerConnect : CreatePlayerTextDraws(playerid); 6. Теперь в OnPlayerKeyStateChange: if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER) { if(!IsABMX(GetPlayerVehicleID(playerid))) { // dc_cmd / zcmd //if(newkeys & KEY_FIRE) return cmd_l(playerid); //if(newkeys & KEY_ACTION) return cmd_e(playerid); // standart #define CMD(%0) OnPlayerCommandText(playerid,%0) if(newkeys & KEY_FIRE) return CMD("l"); if(newkeys & KEY_ACTION) return CMD("e"); #undef CMD } } 7. Теперь в OnVehicleStreamIn : SetVehicleParamsForPlayer(vehicleid, forplayerid, 0, gCarLock[vehicleid]); 8. Команды :D (dc_cmd/zcmd) : ЕСЛИ У ВАС НЕТУ ИХ - ПРОПУСКАЙТЕ CMD:e(playerid) { if(!IsABMX(GetPlayerVehicleID(playerid))) { if(zavodis[GetPlayerVehicleID(playerid)] == 0) { if(VehicleFuel[GetPlayerVehicleID(playerid)] < 1) return GameTextForPlayer(playerid, "~r~no fuel", 5000, 1); new Float:hp; GetVehicleHealth(GetPlayerVehicleID(playerid), hp); if(hp < 350) return GameTextForPlayer(playerid, "~r~Engine break", 5000, 1); if(GetPlayerVehicleID(playerid) != INVALID_VEHICLE_ID) { if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER) { GetVehicleParamsEx(GetPlayerVehicleID(playerid),engine,lights,alarm,doors,bonnet,boot,objective); SetVehicleParamsEx(GetPlayerVehicleID(playerid) ,VEHICLE_PARAMS_ON,lights,alarm,doors,bonnet,boot,objective); zavodis[GetPlayerVehicleID(playerid)] = 1; } } } else { if(GetPlayerVehicleID(playerid) != INVALID_VEHICLE_ID) { if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER) { GetVehicleParamsEx(GetPlayerVehicleID(playerid),engine,lights,alarm,doors,bonnet,boot,objective); SetVehicleParamsEx(GetPlayerVehicleID(playerid) ,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective); zavodis[GetPlayerVehicleID(playerid)] = 0; } } } } return true; } CMD:lock(playerid){ new nearveh = GetNearestVehicle(playerid); new carid; carid = nearveh; new Float:cx,Float:cy,Float:cz; GetVehiclePos(carid, cx, cy, cz); if(PlayerToPoint(4.0, playerid, cx, cy, cz)){ if(IsLocked[carid] == 1){ SendClientMessage(playerid, COLOR_GRAD1, "?????? ???????!"); UnLockCar(carid); IsLocked[carid] = 0;} else if(IsLocked[carid] == 0){ SendClientMessage(playerid, COLOR_GRAD1, "?????? ???????!"); LockCar(carid); IsLocked[carid] = 1;}}return true;} CMD:l(playerid) { new carid = GetPlayerVehicleID(playerid); if(GetPlayerVehicleID(playerid) != INVALID_VEHICLE_ID) { if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER) { if(akavandal[carid] == 0) { new v = GetPlayerVehicleID(playerid), Float:hp; GetVehicleHealth(v, hp); if(hp >=350) { GetVehicleParamsEx(GetPlayerVehicleID(playerid),engine,lights,alarm,doors,bonnet,boot,objective); SetVehicleParamsEx(GetPlayerVehicleID(playerid) ,engine,VEHICLE_PARAMS_ON,alarm,doors,bonnet,boot,objective); akavandal[carid] = 1; PlayerPlaySound(playerid, 4604, 0.0, 0.0, 0.0); } } else { GetVehicleParamsEx(GetPlayerVehicleID(playerid),engine,lights,alarm,doors,bonnet,boot,objective); SetVehicleParamsEx(GetPlayerVehicleID(playerid),engine,VEHICLE_PARAMS_OFF,alarm,doors,bonnet,boot,objective); akavandal[carid] = 0; PlayerPlaySound(playerid, 4604, 0.0, 0.0, 0.0); } return true; } } return true; } 9. Эх это в OnPlayerCommandText : if(cp("e")) { if(!IsABMX(GetPlayerVehicleID(playerid))) { if(zavodis[GetPlayerVehicleID(playerid)] == 0) { if(VehicleFuel[GetPlayerVehicleID(playerid)] < 1) return GameTextForPlayer(playerid, "~r~no fuel", 5000, 1); new Float:hp; GetVehicleHealth(GetPlayerVehicleID(playerid), hp); if(hp < 350) return GameTextForPlayer(playerid, "~r~Engine break", 5000, 1); if(GetPlayerVehicleID(playerid) != INVALID_VEHICLE_ID) { if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER) { GetVehicleParamsEx(GetPlayerVehicleID(playerid),engine,lights,alarm,doors,bonnet,boot,objective); SetVehicleParamsEx(GetPlayerVehicleID(playerid) ,VEHICLE_PARAMS_ON,lights,alarm,doors,bonnet,boot,objective); zavodis[GetPlayerVehicleID(playerid)] = 1; } } } else { if(GetPlayerVehicleID(playerid) != INVALID_VEHICLE_ID) { if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER) { GetVehicleParamsEx(GetPlayerVehicleID(playerid),engine,lights,alarm,doors,bonnet,boot,objective); SetVehicleParamsEx(GetPlayerVehicleID(playerid) ,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective); zavodis[GetPlayerVehicleID(playerid)] = 0; } } } } return true; } if(cp("l")) { new carid = GetPlayerVehicleID(playerid); if(GetPlayerVehicleID(playerid) != INVALID_VEHICLE_ID) { if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER) { if(akavandal[carid] == 0) { new v = GetPlayerVehicleID(playerid), Float:hp; GetVehicleHealth(v, hp); if(hp >=350) { GetVehicleParamsEx(GetPlayerVehicleID(playerid),engine,lights,alarm,doors,bonnet,boot,objective); SetVehicleParamsEx(GetPlayerVehicleID(playerid) ,engine,VEHICLE_PARAMS_ON,alarm,doors,bonnet,boot,objective); akavandal[carid] = 1; PlayerPlaySound(playerid, 4604, 0.0, 0.0, 0.0); } } else { GetVehicleParamsEx(GetPlayerVehicleID(playerid),engine,lights,alarm,doors,bonnet,boot,objective); SetVehicleParamsEx(GetPlayerVehicleID(playerid),engine,VEHICLE_PARAMS_OFF,alarm,doors,bonnet,boot,objective); akavandal[carid] = 0; PlayerPlaySound(playerid, 4604, 0.0, 0.0, 0.0); } return true; } } return true; } Ну вот,кажется, и всё ! Если я что-то забыл добавить какую-то функцию пишите в коменты Автор : opzz
  12. Работа "Дальнобойщик" для мода GodFather. Работает 100%, перенесена в поселок. Ко всем new добавим: new checkpointd[MAX_PLAYERS]; new acceptgruz[MAX_PLAYERS]; new Float:RandomGRUZ[15][3] = { {-1888.3518,-1729.9679,21.4561}, {828.0614,854.6743,12.6972}, {2493.7378,2772.9478,10.5368}, {2467.7561,1948.0699,9.9756}, {2792.6357,-2475.4504,13.3700}, {501.2822,-1356.1147,15.8554}, {-2102.5251,208.3739,35.0051}, {1316.2872,-912.7282,37.6074}, {1251.3525,248.5478,19.2124}, {1350.6709,-1753.4606,13.0613}, {-1946.8146,234.8263,33.5364}, {-2712.5488,232.3394,4.0357}, {1053.1881,-1029.8051,31.7937}, {2397.5576,1040.8143,10.5236}, {2397.5576,1040.8143,10.5236} }; Потом ко всем 3d текстам и пикапам в public OnGameModeInit() добавим: Create3DTextLabel("Подсказка:\nТут можно устроиться на работу: {7CFC00}Дальнобойщик{FFFFFF}\nЧтоб устроиться введите: {7CFC00}/go{FFFFFF}",0xFFFFFFFF,-50.0121,-269.3635,6.6332,20.0,0,1); CreatePickup(1239, 23, -50.0121,-269.3635,6.6332); CreateDynamic3DTextLabel(" Взять груз дальнобойщику\n/delivery ",0xBFF600FF,-22.9128,-273.2436,5.4297,50.0); CreatePickup(1239,23,-22.9128,-273.2436,5.4297); Далее идем в public OnPlayerEnterCheckpoint(playerid) и добавляем: if(acceptgruz[playerid] != 0) { for(new i = 0x0; i < sizeof(RandomGRUZ); i++) { if(IsPlayerInRangeOfPoint(playerid,10.0,RandomGRUZ[i][0], RandomGRUZ[i][1], RandomGRUZ[i][2]) { if(IsPlayerInAnyVehicle(playerid)) { if(!IsTrailerAttachedToVehicle(GetPlayerVehicleID(playerid))) return SendClientMessage(playerid, COLOR_WHITE,"Нет прицепа! Иди ищи прицеп."); DisablePlayerCheckpoint(playerid); acceptgruz[playerid] = 0; GiveMoney(playerid,random(1000) + 6000); format(string,sizeof(string),"Вы доставили груз и заработали %i$",rand); SendClientMessage(playerid, COLOR_ORANGE,string); } } else return SendClientMessage(playerid, COLOR_WHITE,"Вы находитесь не в месте разгрузки груза!"); } Потом добавим команды в public OnPlayerCommandText(playerid, cmdtext[]): if(strcmp(cmd, "/go", true) == 0) { if (GetPlayerState(playerid) == 1 && PlayerToPoint(3.0, playerid,-50.0121,-269.3635,6.6332)) return SendClientMessage(playerid, COLOR_GREY, "Server: В этом месте нельзя утроится на работу!"); { SendClientMessage(playerid, COLOR_LIGHTBLUE, "* Уволиться с работы можно будет только по истечению 5-ти часов отработанных по контракту."); ShowPlayerDialog(playerid,116,DIALOG_STYLE_MSGBOX,"Контракт","Вам была предложена работа \"Дальнобойщика\", если вы согласны, то подпишите контракт.","Подписать","Отказаться"); GettingJob[playerid] = 16; return 1; } else { SendClientMessage(playerid, COLOR_GREY, "Server: У Вас уже есть работа, или у Вас нет паспорта!"); } } return 1; } И if(strcmp(cmd,"/delivery",true) == 0) { if(PlayerInfo[playerid][pJob] == 16) return SendClientMessage(playerid,COLOR_GREY,"Вы не работаете дальнобойщиком!"); if(IsPlayerInRangeOfPoint(playerid,10.0,-22.9128,-273.2436,5.4297)) return SendClientMessage(playerid,COLOR_GREY,"Вы находитесь не в месте загрузки груза!"); if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid,COLOR_GREY,"Вы не в транспорте!"); new carid = GetPlayerVehicleID(playerid); if(GetVehicleModel(carid) == 514) return SendClientMessage(playerid,COLOR_GREY,"Вы не в машине дальнобойщика!"); if(IsAnyTrailerAttachedToVehicle(carid)) return SendClientMessage(playerid,COLOR_GREY,"У вас не прицеплен прицеп!"); if(acceptgruz[playerid] != 0) return SendClientMessage(playerid,COLOR_GREY,"Вы уже загрузили груз!"); DisablePlayerCheckpoint(playerid); GameTextForPlayer(playerid, "~r~MEC¦O PA?‚PY?K… ЊOMEЌE®O ®A PAѓAPE", 2500, 1); SendClientMessage(playerid,COLOR_LIGHTBLUE,"Вы загрузили груз, отвезите его заказчику!"); acceptgruz[playerid] = 1; new rand = random(sizeof(RandomGRUZ)); SetPlayerCheckpoint(playerid, RandomGRUZ[rand][0], RandomGRUZ[rand][1], RandomGRUZ[rand][2], 8.0); return true ; } Все связанное с транспортом для этой работы. В конце мода создадим сток: stock IsAnyTrailerAttachedToVehicle(vehicleid) { new trailerid = GetVehicleTrailer(vehicleid); new modelid = GetVehicleModel(trailerid); if(modelid == 435 || modelid == 591) return true; return false; } Это проверка на прицеп. Далее ко всем машинам добавим: AddStaticVehicleEx(514,-61.0347,-324.9564,6.0130,270.8889,-1,-1,CAR_SPAWN_TIME); AddStaticVehicleEx(514,-61.4161,-317.8141,6.0171,269.9076,-1,-1,CAR_SPAWN_TIME); AddStaticVehicleEx(514,-61.5548,-310.8012,6.0167,270.9304,-1,-1,CAR_SPAWN_TIME); AddStaticVehicleEx(514,-61.5602,-303.8195,6.0183,269.4847,-1,-1,CAR_SPAWN_TIME); AddStaticVehicleEx(514,-39.8904,-376.4206,6.0179,0.5866,-1,-1,CAR_SPAWN_TIME); AddStaticVehicleEx(514,-46.6055,-376.6276,5.9900,359.6903,-1,-1,CAR_SPAWN_TIME); AddStaticVehicleEx(591,0.6693,-377.4727,6.0802,1.8403,-1,-1,CAR_SPAWN_TIME); AddStaticVehicleEx(435,-6.3759,-377.5096,6.0312,1.8223,-1,-1,CAR_SPAWN_TIME); AddStaticVehicleEx(591,-13.1154,-377.6660,6.0938,358.7585,-1,-1,CAR_SPAWN_TIME); AddStaticVehicleEx(435,-19.5792,-377.7712,6.0729,359.7721,-1,-1,CAR_SPAWN_TIME); AddStaticVehicleEx(591,-32.7590,-377.7761,6.0680,2.6862,-1,-1,CAR_SPAWN_TIME); AddStaticVehicleEx(435,-26.5159,-377.7709,6.1003,2.0099,-1,-1,CAR_SPAWN_TIME); Тут и прицепы и тягачи. --- Дополнительно: Проверка на машины, когда неработающий игрок сядет в машину дальнобойщика, его выкинет. Так же ко всем машинам добавим (только с переменными): truck[0] = AddStaticVehicleEx(514,-61.0347,-324.9564,6.0130,270.8889,-1,-1,CAR_SPAWN_TIME); AddStaticVehicleEx(514,-61.4161,-317.8141,6.0171,269.9076,-1,-1,CAR_SPAWN_TIME); AddStaticVehicleEx(514,-61.5548,-310.8012,6.0167,270.9304,-1,-1,CAR_SPAWN_TIME); AddStaticVehicleEx(514,-61.5602,-303.8195,6.0183,269.4847,-1,-1,CAR_SPAWN_TIME); AddStaticVehicleEx(514,-39.8904,-376.4206,6.0179,0.5866,-1,-1,CAR_SPAWN_TIME); truck[1] = AddStaticVehicleEx(514,-46.6055,-376.6276,5.9900,359.6903,-1,-1,CAR_SPAWN_TIME); Затем в public CarEnter(playerid,carid) добавим: if(carid >= truck[0] && carid <= truck[1]) { if(PlayerInfo[playerid][pJob] == 16) return SendClientMessage(playerid,COLOR_LIGHTRED,"Вы не работаете Дальнобойщиком!"); RemovePlayerFromVehicle(playerid); } В данном готовом решении я использовал 16 id работы по счету, меняйте на свою. Автор урока: H1SON
  13. xIBORIx

    Античит (BETA-VERSION)

    Здравствуйте Форумчане! Сегодня я решил выложить панель проверки игрока на читы, скажи откровенно код вырезал из SAMP мода, но на CRMP если руки есть можно врезать в мод. Собственно команда: CMD:request(playerid, params[]) { new str[800], string[800]; if(p_info[playerid][p_admin] < 3) return false; //меняем на свою переменную if(sscanf(params,"u",params[0])) return SendClientMessage(playerid, CRED, "Используй: /request [id]"); if(!IsPlayerConnected(params[0])) return SendClientMessage(playerid,COLOR_LIGHTGREY,"Неверный ID"); if(!p_info[params[0]][p_mysqlid]) return SendClientMessage(playerid,COLOR_LIGHTGREY,"Этот игрок не зарегистрирован"); new speed = GetPlayerSpeed(params[0]); // new podoz = gettime(); new result = podoz - time_podoz; if(result >= 10000000) result = 0; // new pick = gettime(); new result1 = pick - time_pick; if(result1 >= 10000000) result1 = 0; // new spawn = gettime(); new result2 = spawn - time_lspawn; if(result2 >= 10000000) result2 = 0; // new vhcar = gettime(); new result3 = vhcar - time_vcar; if(result3 >= 10000000) result3 = 0; // new zohcar = gettime(); new result4 = zohcar - time_zcar; if(result4 >= 10000000) result4 = 0; // format(str,sizeof(str),"{ffffff}Имя игрока: %s[%d]\n",p_info[params[0]][p_name],params[0]); //меняем на свои переменные strcat(string,str); format(str,sizeof(str),"{ffffff}Подозревался: %d сек. назад\n", result); strcat(string,str); if(addchet[params[0]]>0) { if(GetPlayerState(params[0])!=2) strcat(string,"{ffffff}Причина подозрения: Пешком: слабый телепорт/летун/airbrake\n\n"); else strcat(string,"{ffffff}Причина подозрения: Машина: speed-hack/слабый телепорт\n\n"); } else strcat(string,"{ffffff}Причина подозрения: Игрок не подозревался\n\n"); strcat(string,"{ffffff}Доказательства предоставлены античитом:\n"); format(str,sizeof(str),"{ffffff}- За 1-ну секунду переместился на %d метров\n\n", speed); strcat(string,str); format(str,sizeof(str),"{ffffff}- Последний легальный телепорт(пикап/мп/админ): %d сек. назад\n", result1); strcat(string,str); format(str,sizeof(str),"{ffffff}- Последний раз залазил в машину: %d сек. назад\n", result4); strcat(string,str); format(str,sizeof(str),"{ffffff}- Последний выход из машины: %d сек. назад\n", result3); strcat(string,str); format(str,sizeof(str),"{ffffff}- Последний легальный спавн: %d сек. назад\n\n", result2); strcat(string,str); strcat(string,"{BE2D2D}Гайд. Следите за 2-ой строкой и строкой которая отображает последний лог действий.\n"); strcat(string,"{BE2D2D}Она поможет вам понять: {ffffff}'Правдлива ли информация античита'.\n\n\n\n"); if(addchet[params[0]]==1) strcat(string,"Приговор вторичного античита: {248daa}ЧИТЕР или ПОСТРАДАВШИЙ ОТ ЧИТЕРА [Нужно еще последить]\n"); else if(addchet[params[0]]==2) strcat(string,"Приговор вторичного античита: {248daa}ЧИТЕР [80 процентов]\n"); else if(result>300) strcat(string,"Приговор вторичного античита: Скорее всего нет!\n"); else strcat(string,"Приговор вторичного античита: {248daa}Игрок не подозревался\n"); ShowPlayerDialogEx(playerid,0,DIALOG_STYLE_MSGBOX,"Античит BETA-VERSION",string,"Принять",""); return true; } К переменным: new time_podoz,time_zcar; new time_vcar,time_lspawn,time_pick; new addchet[MAX_PLAYERS]; К стокам: stock GetPlayerSpeed(playerid) { new Float:ST[4]; if(IsPlayerInAnyVehicle(playerid)) GetVehicleVelocity(GetPlayerVehicleID(playerid),ST[0],ST[1],ST[2]); else GetPlayerVelocity(playerid,ST[0],ST[1],ST[2]); ST[3] = floatsqroot(floatpower(floatabs(ST[0]), 2.0) + floatpower(floatabs(ST[1]), 2.0) + floatpower(floatabs(ST[2]), 2.0)) * 179.28625; return floatround(ST[3]); } В конец public OnPlayerEnterDynamicArea: time_pick = gettime(); В конец public OnPlayerSpawn: time_lspawn = gettime(); В конец public OnPlayerExitVehicle: time_vcar = gettime(); В конец OnPlayerEnterVehicle: time_zcar = gettime(); В public OnPlayerSpawn: addchet[playerid]=0; Скрин: http://imgur.com/a/uv82Q Автор: Неизвестен(Вырезал из State99)
  14. Предлагаю Вам такую простенькую панель читеров. И так начнём, для начало: Создаем несколько переменных(ко всем new) new Cheat1,Text:CheatText[10]; enum chetinfo { cheatid1 } new Float:ChetInfo[10][chetinfo]; В public OnGameModeInt создадим текстдрав: new Float:DrawPos = 25.000000; Cheat1 = 0; for(new i;i<10;i++) { if(i > 0) DrawPos+=30.0; CheatText[i] = TextDrawCreate(DrawPos,428.000000,"-1"); TextDrawColor(CheatText[i], 0xef8100FF); TextDrawFont(CheatText[i], 1); TextDrawSetOutline(CheatText[i], 1); TextDrawLetterSize(CheatText[i],0.3500,1.270); } for(new i;i<10;i++) ChetInfo[i][cheatid1]=-1; В OnPlayerDisconnect for(new i;i<10;i++) { if(ChetInfo[i][cheatid1]==playerid) { TextDrawSetString(CheatText[i], "-1");//при выходе из игры, заменяем id на -1 Cheat1 ++; if(Cheat1 > 9) Cheat1 = 0; } } В админ авторизацию, пример: /alogin, /aduty и т.д for(new i;i<10;i++) TextDrawShowForPlayer(playerid, CheatText[i]); Где все стоки или в конец мода stock AddCheater(playerid) { new str[10]; for(new i;i<10;i++) { if(ChetInfo[i][cheatid1] == playerid)return false; } ChetInfo[Cheat1][cheatid1]=playerid; format(str, sizeof(str), "%d", playerid); TextDrawSetString(CheatText[Cheat1], str); Cheat1 ++; if(Cheat1 > 9) Cheat1 = 0; return true; } В Античит, заменяем функцию кика на: AddCheater(playerid); На этом урок закончен, спасибо за внимание. Автор: Неизвестно
  15. Добрый вечер форумчане Хочу предоставить вам мою работу Худ для Dayz Сервера
  16. Alonso

    Комбо Убийства

    Итак, смысл скрипта в том, что когда ты убиваешь первый раз, тебе дается 1 скилл и 1000 руб. Если два раза, то 2 скилла и 2000, а и на экране появляется твой статус убийств. После смерти он обнуляется. Автор: Rock & Roll В начало ко всем глобалам: new PlayerTotalKills[MAX_PLAYERS] = 0; В public OnPlayerDeath(playerid, killerid, reason) new string[128]; PlayerTotalKills[killerid]++; PlayerTotalKills[playerid] = 0; if(PlayerTotalKills[killerid] == 1) { format(string, sizeof(string), "Fist kill"); if(killerid != INVALID_PLAYER_ID) SetPlayerScore(killerid, GetPlayerScore(killerid) + 1); GivePlayerMoney(killerid, 1000); GameTextForPlayer(killerid,string,3000,4); } if(PlayerTotalKills[killerid] == 2) { format(string, sizeof(string), "Double Kill"); if(killerid != INVALID_PLAYER_ID) SetPlayerScore(killerid, GetPlayerScore(killerid) + 2); GivePlayerMoney(killerid, 2000); GameTextForPlayer(killerid,string,3000,4); } if(PlayerTotalKills[killerid] == 3) { format(string, sizeof(string), "Trible Kill"); if(killerid != INVALID_PLAYER_ID) SetPlayerScore(killerid, GetPlayerScore(killerid) + 3); GivePlayerMoney(killerid, 3000); GameTextForPlayer(killerid,string,3000,4); } if(PlayerTotalKills[killerid] == 4) { format(string, sizeof(string), "Good kill(4)"); if(killerid != INVALID_PLAYER_ID) SetPlayerScore(killerid, GetPlayerScore(killerid) + 4); GivePlayerMoney(killerid, 4000); GameTextForPlayer(killerid,string,3000,4); } if(PlayerTotalKills[killerid] == 5) { format(string, sizeof(string), "Super kill(5)"); if(killerid != INVALID_PLAYER_ID) SetPlayerScore(killerid, GetPlayerScore(killerid) + 5); GivePlayerMoney(killerid, 5000); GameTextForPlayer(killerid,string,3000,4); } if(PlayerTotalKills[killerid] == 6) { format(string, sizeof(string), "MEga kill(6)"); if(killerid != INVALID_PLAYER_ID) SetPlayerScore(killerid, GetPlayerScore(killerid) + 6); GivePlayerMoney(killerid, 6000); GameTextForPlayer(killerid,string,3000,4); } if(PlayerTotalKills[killerid] == 7) { format(string, sizeof(string), "Uncredible(7)"); if(killerid != INVALID_PLAYER_ID) SetPlayerScore(killerid, GetPlayerScore(killerid) + 7); GivePlayerMoney(killerid, 7000); GameTextForPlayer(killerid,string,3000,4); } if(PlayerTotalKills[killerid] == 8) { format(string, sizeof(string), "You are a MONSTER!(8)"); if(killerid != INVALID_PLAYER_ID) SetPlayerScore(killerid, GetPlayerScore(killerid) + 8); GivePlayerMoney(killerid, 8000); GameTextForPlayer(killerid,string,3000,4); } if(PlayerTotalKills[killerid] == 9) { format(string, sizeof(string), "Fuck yeah!(9)"); if(killerid != INVALID_PLAYER_ID) SetPlayerScore(killerid, GetPlayerScore(killerid) + 9); GivePlayerMoney(killerid, 9000); GameTextForPlayer(killerid,string,3000,4); } if(PlayerTotalKills[killerid] == 10) { format(string, sizeof(string), "You are a god(10)"); if(killerid != INVALID_PLAYER_ID) SetPlayerScore(killerid, GetPlayerScore(killerid) + 10); GivePlayerMoney(killerid, 15000); GameTextForPlayer(killerid,string,3000,4); } if(PlayerTotalKills[killerid] >= 10) { format(string, sizeof(string), "You are a god(more 10)"); if(killerid != INVALID_PLAYER_ID) SetPlayerScore(killerid, GetPlayerScore(killerid) + 10); GivePlayerMoney(killerid, 15000); GameTextForPlayer(killerid,string,3000,4); }
  17. Вырезано из V:RP Ко всем #define: #define SWEEPPER_DIALOG_ID 745545 Вот это вставляйте после enum pInfo new Float:sweeper_way[][3] = { { 961.317382, -1318.751342, 13.367965 }, { 914.939025, -1341.871215, 13.318072 }, { 939.867736, -1405.448120, 13.273300 }, { 1328.59533, -1408.075561, 13.336299 }, { 1277.86645, -1392.950317, 13.203144 }, { 1261.46411, -1293.723266, 13.268248 }, { 1187.81469, -1278.576049, 13.282743 }, { 1073.07910, -1278.535034, 13.382812 }, { 1061.29711, -1231.800781, 16.702779 }, { 1001.58044, -1218.120361, 16.765625 }, { 939.972167, -1264.500488, 15.479687 }, { 968.761413, -1328.332641, 13.357466 }, { 1038.69616, -1328.814331, 13.395730 }, { 993.575683, -1301.311279, 13.382812 } }; В конце пабликов StartSweeperWork(playerid) { if(GetPVarInt(playerid, "sweeper_work")) return; SetPVarInt(playerid, "sweeper_work", 1); SendClientMessage(playerid, 0x00FF00FF, "Работа уборщика началась"); SetPlayerCheckpoint(playerid, sweeper_way[0][0], sweeper_way[0][1], sweeper_way[0][2], 3.0); } StopSweeperWork(playerid, bool:success = false) { if(!GetPVarInt(playerid, "sweeper_work")) return; DeletePVar(playerid, "sweeper_work"); DeletePVar(playerid, "sweeper_check"); SendClientMessage(playerid, 0x00FF00FF, "Работа уборщика закончилась"); if(success) { if(PlayerInfo[playerid][pDonateRank] > 0) { GivePlayerMoney(playerid, 120); SendClientMessage(playerid, 0xFF0000FF, "Вы заработали 120$"); } else { GivePlayerMoney(playerid, 90); SendClientMessage(playerid, 0xFF0000FF, "Вы заработали 90$"); } } DisablePlayerCheckpoint(playerid); } NextSweeperCheck(playerid) { if(!GetPVarInt(playerid, "sweeper_work")) return; new check = GetPVarInt(playerid, "sweeper_check"); check++; if(check >= sizeof sweeper_way) StopSweeperWork(playerid, true); else { SetPlayerCheckpoint(playerid, sweeper_way[check][0], sweeper_way[check][1], sweeper_way[check][2], 3.0); SetPVarInt(playerid, "sweeper_check", check); } } Перед OnDialogResponse ShowSweeperDialog(playerid){ ShowPlayerDialog(playerid,SWEEPER_DIALOG_ID,DIALOG_STYLE_MSGBOX,"Работа уборщика","Начать работу уборщика?","Да","Нет"); } В OnDialogResponse if(dialogid == SWEEPER_DIALOG_ID && response) { if(response) { StartSweeperWork(playerid); } else { RemovePlayerFromVehicle(playerid); } return 1; } В OnPlayerEnterCheckpoint if(GetPVarInt(playerid, "sweeper_work")) { PlayerPlaySound(playerid, 1150, 0.0, 0.0, 0.0); NextSweeperCheck(playerid); } В OnPlayerStateChange if( newstate == PLAYER_STATE_DRIVER && GetVehicleModel(GetPlayerVehicleID(playerid)) == 574 && !GetPVarInt(playerid, "sweeper_work") ) { ShowSweeperDialog(playerid); } if( oldstate == PLAYER_STATE_DRIVER && GetPVarInt(playerid, "sweeper_work") ) { StopSweeperWork(playerid); } И добавляем сами машины для работы. AddStaticVehicle(574,981.410766,-1307.014038,13.110304,0.000000,1,1); // Sweeper 1 AddStaticVehicle(574,984.906127,-1307.104980,13.109639,358.714050,1,1); // Sweeper 2 AddStaticVehicle(574,988.342163,-1307.217773,13.107501,357.368988,1,1); // Sweeper 3 AddStaticVehicle(574,991.799438,-1307.272338,13.108702,358.838043,1,1); //4 Sweeper AddStaticVehicle(574,995.058654,-1307.234619,13.109288,358.743682,1,1); //5 Sweeper AddStaticVehicle(574,998.600524,-1307.377441,13.115609,358.220123,1,1); //6 Sweeper AddStaticVehicle(574,1002.218688,-1307.480834,13.109222,359.376159,1,1); //7 Sweeper AddStaticVehicle(574,1005.636291,-1307.514770,13.110326,0.874356,1,1); //8 Sweeper
  18. Этот урок будет маленький но самый полезный...Приступим... Для начала создадим массив, в котором будут храниться наши деньги. new Cash[MAX_PLAYERS]; OnPlayerConnect Cash[playerid]=0; Теперь создадим новые функции, для наших новых денег. В любую часть мода вставляем: GivePlayerCash(playerid, money)// Функция, чтоб прибавить денег к текущим деньгам { Cash[playerid] += money; ResetPlayerMoney(playerid);//Забираем все визуальное бабло GivePlayerMoney(playerid,Cash[playerid]);//Выдаем визуальное бабло return Cash[playerid]; } SetPlayerCash(playerid, money)// Функция, чтоб установить новое количество денег { Cash[playerid] = money; ResetPlayerMoney(playerid);//Забираем все визуальное бабло GivePlayerMoney(playerid,Cash[playerid]);///Выдаем визуальное бабло return Cash[playerid]; } ResetPlayerCash(playerid)// Убираем все деньги у пользователя { Cash[playerid] = 0; ResetPlayerMoney(playerid);//Забираем все визуальное бабло GivePlayerMoney(playerid,Cash[playerid]);//Выдаем визуальное бабло return Cash[playerid]; } GetPlayerCash(playerid)// Узнаем, сколько денег осталось у игрока { return Cash[playerid]; } Теперь можно заменить все стандартные функции: GivePlayerMoney на GivePlayerCash ResetPlayerMoney на ResetPlayerCash GetPlayerCash на GetPlayerMoney И использовать в дальнейшем только функции, которые мы с вами создали. Теперь не пройдет не один читер, желающий сделать себе денег. Для того, что бы при читерстве не прибавлялись визуально деньги, можно добавить в OnPlayerSpawn ResetPlayerMoney(playerid);//Визуально забираем все деньги GivePlayerMoney(playerid,Cash[playerid]);//Устанавливаем визуально настоящую сумму И при последующем спавне у него счетчик денег вернется нужное положение. Теперь всё готово. Желаем вам приятной игры на сервере. Автор;Неизвестно
  19. Vladimir_Kulkov

    [TXD]Логотип для сервера

    Выкладываю логотип для сервера очень простой но смотрится хорошо =) делал 5 минут и это моя 1я Робота с Тд) Скрин. К new new Text:logo[4];//Если у вас занят Logo смените но свою переменою К public OnPlayerConnect(playerid) (При подключение на сервер будет показываться игроку) Или public OnPlayerSpawn(playerid) (При спавне) for(new i; i != 4; i++) TextDrawShowForPlayer(playerid, logo[i]);//Если вы сменили new TEXT:logo[4] то Смените new TEXT:Ваша переменная[4] В public OnGameModeInit() //Если вы сменили logo в верху то смените и сдесь =) logo[0] = TextDrawCreate(514.500000, 5.687500, "EAXP Drift + DM"); TextDrawLetterSize(logo[0], 0.451498, 1.591248); TextDrawAlignment(logo[0], 1); TextDrawColor(logo[0], -16776961); TextDrawSetShadow(logo[0], 0); TextDrawSetOutline(logo[0], -1); TextDrawBackgroundColor(logo[0], 255); TextDrawFont(logo[0], 1); TextDrawSetProportional(logo[0], 1); logo[1] = TextDrawCreate(36.500000, 425.250000, "85.143.214.85:2500"); TextDrawLetterSize(logo[1], 0.291496, 1.634999); TextDrawAlignment(logo[1], 1); TextDrawColor(logo[1], -1); TextDrawSetShadow(logo[1], 0); TextDrawSetOutline(logo[1], 1); TextDrawBackgroundColor(logo[1], 51); TextDrawFont(logo[1], 1); TextDrawSetProportional(logo[1], 1); logo[2] = TextDrawCreate(511.500000, 1.312500, "LD_CHAT:badchat"); TextDrawLetterSize(logo[2], 0.029998, -0.008750); TextDrawTextSize(logo[2], -14.500000, 14.000000); TextDrawAlignment(logo[2], 1); TextDrawColor(logo[2], -1); TextDrawSetShadow(logo[2], 0); TextDrawSetOutline(logo[2], 0); TextDrawFont(logo[2], 4); logo[3] = TextDrawCreate(141.500000, 428.500000, "usebox"); TextDrawLetterSize(logo[3], 0.000000, 1.093055); TextDrawTextSize(logo[3], 34.000000, 0.000000); TextDrawAlignment(logo[3], 1); TextDrawColor(logo[3], 0); TextDrawUseBox(logo[3], true); TextDrawBoxColor(logo[3], 102); TextDrawSetShadow(logo[3], 0); TextDrawSetOutline(logo[3], 0); TextDrawFont(logo[3], 0); Ребят вот и сливаю сам исходник .itd для тех кому не удобное место Скачать Тык Автор: неизвестно
  20. Vladimir_Kulkov

    Время на авторизацию

    Здрасте. Думаю у каждого есть "время на авторизацию". Если это время вышло - кик. Скорее всего мы использовали таймер в котором мы отсчитывали секунды. А я же покажу вам способ без таймера. В OnPlayerConnect SetPVarInt(playerid, "player_kick_time", GetTickCount() + 15000); // Сменить на свое. Кикнет через 15сек В конец мода @__login(); @__login() { new i = GetMaxPlayers(), tick = GetTickCount(); do { --i; if(IsPlayerConnected(i) && GetPVarInt(i, "player_kick_time") != 0 && GetPVarInt(i, "player_kick_time") < tick) { SendClientMessage(i, -1, "Время на регистрацию / авторизацию закончилось, вы кикнуты."); Kick(i); } } while(i); } ВАЖНО Автор: Londlem Может есть уже лучший способ... p.s Владимир Кульков. я сам не понял для чего "@__login(); @__login()"
  21. Vladimir_Kulkov

    новый TextDraw спитометра

    вот сам TextDraw static Text:Speed[10], PlayerText:Pspeed[MAX_PLAYERS][11]; stock TextSpeedveh() { Speed[0] = TextDrawCreate(460.750000, 376.000000, "usebox"); TextDrawLetterSize(Speed[0], 0.000000, 6.877777); TextDrawTextSize(Speed[0], 632.375000, 0.000000); TextDrawAlignment(Speed[0], 1); TextDrawColor(Speed[0], 0); TextDrawUseBox(Speed[0], true); TextDrawBoxColor(Speed[0], 102); TextDrawSetShadow(Speed[0], 0); TextDrawSetOutline(Speed[0], 0); TextDrawFont(Speed[0], 0); Speed[1] = TextDrawCreate(633.875000, 425.000000, "usebox"); TextDrawLetterSize(Speed[1], 0.000000, 1.174075); TextDrawTextSize(Speed[1], 459.875000, 0.000000); TextDrawAlignment(Speed[1], 1); TextDrawColor(Speed[1], 0); TextDrawUseBox(Speed[1], true); TextDrawBoxColor(Speed[1], 102); TextDrawSetShadow(Speed[1], 0); TextDrawSetOutline(Speed[1], 0); TextDrawFont(Speed[1], 0); Speed[2] = TextDrawCreate(499.500000, 393.500061, "usebox"); TextDrawLetterSize(Speed[2], 0.000000, 2.664812); TextDrawTextSize(Speed[2], 460.500000, 0.000000); TextDrawAlignment(Speed[2], 1); TextDrawColor(Speed[2], 0); TextDrawUseBox(Speed[2], true); TextDrawBoxColor(Speed[2], 102); TextDrawSetShadow(Speed[2], 0); TextDrawSetOutline(Speed[2], 0); TextDrawFont(Speed[2], 0); Speed[3] = TextDrawCreate(633.625000, 393.333343, "usebox"); TextDrawLetterSize(Speed[3], 0.000000, 2.664812); TextDrawTextSize(Speed[3], 593.625000, 0.000000); TextDrawAlignment(Speed[3], 1); TextDrawColor(Speed[3], 0); TextDrawUseBox(Speed[3], true); TextDrawBoxColor(Speed[3], 102); TextDrawSetShadow(Speed[3], 0); TextDrawSetOutline(Speed[3], 0); TextDrawFont(Speed[3], 0); Speed[4] = TextDrawCreate(544.625000, 393.166687, "usebox"); TextDrawLetterSize(Speed[4], 0.000000, 2.664812); TextDrawTextSize(Speed[4], 503.625000, 0.000000); TextDrawAlignment(Speed[4], 1); TextDrawColor(Speed[4], 0); TextDrawUseBox(Speed[4], true); TextDrawBoxColor(Speed[4], 102); TextDrawSetShadow(Speed[4], 0); TextDrawSetOutline(Speed[4], 0); TextDrawFont(Speed[4], 0); Speed[5] = TextDrawCreate(590.000000, 393.000000, "usebox"); TextDrawLetterSize(Speed[5], 0.000000, 2.664812); TextDrawTextSize(Speed[5], 548.000000, 0.000000); TextDrawAlignment(Speed[5], 1); TextDrawColor(Speed[5], 0); TextDrawUseBox(Speed[5], true); TextDrawBoxColor(Speed[5], 102); TextDrawSetShadow(Speed[5], 0); TextDrawSetOutline(Speed[5], 0); TextDrawFont(Speed[5], 0); Speed[6] = TextDrawCreate(480.625000, 383.250000, "Speed"); TextDrawLetterSize(Speed[6], 0.289999, 1.506664); TextDrawAlignment(Speed[6], 2); TextDrawColor(Speed[6], -1); TextDrawUseBox(Speed[6], true); TextDrawBoxColor(Speed[6], 0); TextDrawSetShadow(Speed[6], 0); TextDrawSetOutline(Speed[6], 1); TextDrawBackgroundColor(Speed[6], 51); TextDrawFont(Speed[6], 1); TextDrawSetProportional(Speed[6], 1); Speed[7] = TextDrawCreate(524.375000, 381.499938, "Probeg"); TextDrawLetterSize(Speed[7], 0.214999, 1.669999); TextDrawAlignment(Speed[7], 2); TextDrawColor(Speed[7], -1); TextDrawSetShadow(Speed[7], 0); TextDrawSetOutline(Speed[7], 1); TextDrawBackgroundColor(Speed[7], 51); TextDrawFont(Speed[7], 1); Speed[8] = TextDrawCreate(568.750000, 382.666564, "Benzin"); TextDrawLetterSize(Speed[8], 0.214999, 1.669999); TextDrawAlignment(Speed[8], 2); TextDrawColor(Speed[8], -1); TextDrawSetShadow(Speed[8], 0); TextDrawSetOutline(Speed[8], 1); TextDrawBackgroundColor(Speed[8], 51); TextDrawFont(Speed[8], 1); Speed[9] = TextDrawCreate(613.500000, 383.083190, "Battery"); TextDrawLetterSize(Speed[9], 0.211870, 1.664167); TextDrawAlignment(Speed[9], 2); TextDrawColor(Speed[9], -1); TextDrawSetShadow(Speed[9], 0); TextDrawSetOutline(Speed[9], 1); TextDrawBackgroundColor(Speed[9], 51); TextDrawFont(Speed[9], 1); } stock PlayerTextSpeedveh(playerid) { Pspeed[playerid][0] = CreatePlayerTextDraw(playerid, 455.625000, 312.083435, ""); PlayerTextDrawFont(playerid, Pspeed[playerid][0], 5); PlayerTextDrawUseBox(playerid, Pspeed[playerid][0], 1) ; PlayerTextDrawBoxColor(playerid, Pspeed[playerid][0], 0x0c0c0c100); PlayerTextDrawBackgroundColor(playerid, Pspeed[playerid][0], 0x0c0c0c100); PlayerTextDrawSetPreviewModel(playerid, Pspeed[playerid][0], 413); PlayerTextDrawSetPreviewRot(playerid, Pspeed[playerid][0], 0.000000, 0.000000, -45.000000, 1.000000); PlayerTextDrawTextSize(playerid, Pspeed[playerid][0], 205.000000, 106.750000); Pspeed[playerid][1] = CreatePlayerTextDraw(playerid, 479.500000, 399.249847, "100"); PlayerTextDrawLetterSize(playerid, Pspeed[playerid][1], 0.211870, 1.664167); PlayerTextDrawAlignment(playerid, Pspeed[playerid][1], 2); PlayerTextDrawColor(playerid, Pspeed[playerid][1], -1); PlayerTextDrawSetShadow(playerid, Pspeed[playerid][1], 0); PlayerTextDrawSetOutline(playerid, Pspeed[playerid][1], 1); PlayerTextDrawBackgroundColor(playerid, Pspeed[playerid][1], 51); PlayerTextDrawFont(playerid, Pspeed[playerid][1], 1); Pspeed[playerid][2] = CreatePlayerTextDraw(playerid, 523.000000, 399.666503, "1900000"); PlayerTextDrawLetterSize(playerid, Pspeed[playerid][2], 0.211870, 1.664167); PlayerTextDrawAlignment(playerid, Pspeed[playerid][2], 2); PlayerTextDrawColor(playerid, Pspeed[playerid][2], -1); PlayerTextDrawSetShadow(playerid, Pspeed[playerid][2], 0); PlayerTextDrawSetOutline(playerid, Pspeed[playerid][2], 1); PlayerTextDrawBackgroundColor(playerid, Pspeed[playerid][2], 51); PlayerTextDrawFont(playerid, Pspeed[playerid][2], 1); Pspeed[playerid][3] = CreatePlayerTextDraw(playerid, 569.000000, 400.083221, "100"); PlayerTextDrawLetterSize(playerid, Pspeed[playerid][3], 0.211870, 1.664167); PlayerTextDrawAlignment(playerid, Pspeed[playerid][3], 2); PlayerTextDrawColor(playerid, Pspeed[playerid][3], -1); PlayerTextDrawSetShadow(playerid, Pspeed[playerid][3], 0); PlayerTextDrawSetOutline(playerid, Pspeed[playerid][3], 1); PlayerTextDrawBackgroundColor(playerid, Pspeed[playerid][3], 51); PlayerTextDrawFont(playerid, Pspeed[playerid][3], 1); Pspeed[playerid][4] = CreatePlayerTextDraw(playerid, 613.750000, 399.916564, "100"); PlayerTextDrawLetterSize(playerid, Pspeed[playerid][4], 0.211870, 1.664167); PlayerTextDrawAlignment(playerid, Pspeed[playerid][4], 2); PlayerTextDrawColor(playerid, Pspeed[playerid][4], -1); PlayerTextDrawSetShadow(playerid, Pspeed[playerid][4], 0); PlayerTextDrawSetOutline(playerid, Pspeed[playerid][4], 1); PlayerTextDrawBackgroundColor(playerid, Pspeed[playerid][4], 51); PlayerTextDrawFont(playerid, Pspeed[playerid][4], 1); Pspeed[playerid][5] = CreatePlayerTextDraw(playerid, 465.625000, 422.333282, "engine"); PlayerTextDrawLetterSize(playerid, Pspeed[playerid][5], 0.205623, 1.442499); PlayerTextDrawAlignment(playerid, Pspeed[playerid][5], 1); PlayerTextDrawColor(playerid, Pspeed[playerid][5], -2147483393); PlayerTextDrawSetShadow(playerid, Pspeed[playerid][5], 0); PlayerTextDrawSetOutline(playerid, Pspeed[playerid][5], 1); PlayerTextDrawBackgroundColor(playerid, Pspeed[playerid][5], 51); PlayerTextDrawFont(playerid, Pspeed[playerid][5], 1); PlayerTextDrawSetProportional(playerid, Pspeed[playerid][5], 1); PlayerTextDrawSetSelectable(playerid, Pspeed[playerid][5], true); Pspeed[playerid][6] = CreatePlayerTextDraw(playerid, 492.875000, 423.333282, "lights"); PlayerTextDrawLetterSize(playerid, Pspeed[playerid][6], 0.225622, 1.354997); PlayerTextDrawAlignment(playerid, Pspeed[playerid][6], 1); PlayerTextDrawColor(playerid, Pspeed[playerid][6], -2147483393); PlayerTextDrawSetShadow(playerid, Pspeed[playerid][6], 0); PlayerTextDrawSetOutline(playerid, Pspeed[playerid][6], 1); PlayerTextDrawBackgroundColor(playerid, Pspeed[playerid][6], 51); PlayerTextDrawFont(playerid, Pspeed[playerid][6], 1); PlayerTextDrawSetProportional(playerid, Pspeed[playerid][6], 1); PlayerTextDrawSetSelectable(playerid, Pspeed[playerid][6], true); Pspeed[playerid][7] = CreatePlayerTextDraw(playerid, 518.250000, 422.583221, "alarm"); PlayerTextDrawLetterSize(playerid, Pspeed[playerid][7], 0.257499, 1.442499); PlayerTextDrawAlignment(playerid, Pspeed[playerid][7], 1); PlayerTextDrawColor(playerid, Pspeed[playerid][7], -2147483393); PlayerTextDrawSetShadow(playerid, Pspeed[playerid][7], 0); PlayerTextDrawSetOutline(playerid, Pspeed[playerid][7], 1); PlayerTextDrawBackgroundColor(playerid, Pspeed[playerid][7], 51); PlayerTextDrawFont(playerid, Pspeed[playerid][7], 1); PlayerTextDrawSetProportional(playerid, Pspeed[playerid][7], 1); PlayerTextDrawSetSelectable(playerid, Pspeed[playerid][7], true); Pspeed[playerid][8] = CreatePlayerTextDraw(playerid, 548.750000, 422.916748, "doors"); PlayerTextDrawLetterSize(playerid, Pspeed[playerid][8], 0.248749, 1.465831); PlayerTextDrawAlignment(playerid, Pspeed[playerid][8], 1); PlayerTextDrawColor(playerid, Pspeed[playerid][8], -2147483393); PlayerTextDrawSetShadow(playerid, Pspeed[playerid][8], 0); PlayerTextDrawSetOutline(playerid, Pspeed[playerid][8], 1); PlayerTextDrawBackgroundColor(playerid, Pspeed[playerid][8], 51); PlayerTextDrawFont(playerid, Pspeed[playerid][8], 1); PlayerTextDrawSetProportional(playerid, Pspeed[playerid][8], 1); PlayerTextDrawSetSelectable(playerid, Pspeed[playerid][8], true); Pspeed[playerid][9] = CreatePlayerTextDraw(playerid, 579.125000, 422.750091, "bonnet"); PlayerTextDrawLetterSize(playerid, Pspeed[playerid][9], 0.206248, 1.512498); PlayerTextDrawAlignment(playerid, Pspeed[playerid][9], 1); PlayerTextDrawColor(playerid, Pspeed[playerid][9], -2147483393); PlayerTextDrawSetShadow(playerid, Pspeed[playerid][9], 0); PlayerTextDrawSetOutline(playerid, Pspeed[playerid][9], 1); PlayerTextDrawBackgroundColor(playerid, Pspeed[playerid][9], 51); PlayerTextDrawFont(playerid, Pspeed[playerid][9], 1); PlayerTextDrawSetProportional(playerid, Pspeed[playerid][9], 1); PlayerTextDrawSetSelectable(playerid, Pspeed[playerid][9], true); Pspeed[playerid][10] = CreatePlayerTextDraw(playerid, 608.250000, 422.583343, "boot"); PlayerTextDrawLetterSize(playerid, Pspeed[playerid][10], 0.218124, 1.524165); PlayerTextDrawAlignment(playerid, Pspeed[playerid][10], 1); PlayerTextDrawColor(playerid, Pspeed[playerid][10], -2147483393); PlayerTextDrawSetShadow(playerid, Pspeed[playerid][10], 0); PlayerTextDrawSetOutline(playerid, Pspeed[playerid][10], 1); PlayerTextDrawBackgroundColor(playerid, Pspeed[playerid][10], 51); PlayerTextDrawFont(playerid, Pspeed[playerid][10], 1); PlayerTextDrawSetProportional(playerid, Pspeed[playerid][10], 1); PlayerTextDrawSetSelectable(playerid, Pspeed[playerid][10], true); } Pspeed[playerid][0] = модель машины Pspeed[playerid][1] = скорость Pspeed[playerid][2] = пробег Pspeed[playerid][3] = бензин Pspeed[playerid][4] = акум ну, а дальше уже понятно И да не смотрите на Ыpeed это у меня русификатор мозгу ... Автор : неизвестно
  22. Доброго времени суток! И сегодня я бы хотел представить вам свою систему голода. Данная система стоит у меня на сервере, работает нормально. К самой системе: в enum pInfo добавьте такие строчки как: pHunger,//Голод pPaek,//Сух.паёк В OnGameModeInit кидаем таймер который будет вызывать паблик с системой голода. (20000 - 20сек. заменить на свою) SetTimer("HungerSystem",20000,1); SetTimer("CheckStat",5000,1); После чего где-то после GameModeInit вставьте forward HungerSystem(playerid); public HungerSystem(playerid) { PlayerInfo[playerid][pHunger] --; if(PlayerInfo[playerid][pHunger] == -1)//Это что бы кол-во голода не уходило в минус { PlayerInfo[playerid][pHunger] ++; } return 1; } Ну и должно быть логично, что хп должно отниматься же, так что вставляем сразу после HungerSystem ещё такой public(Отнимает ХП каждые 5 сек если переменная голода = 0) public CheckStat(playerid) { if(PlayerInfo[playerid][pHunger] == 0) { new Float:HP; GetPlayerHealth(playerid, HP); SetPlayerHealth(playerid, HP-5); } return 1; } И делаем простую команду что бы есть if (strcmp("/eat", cmdtext, true, 10) == 0) { if(PlayerInfo[playerid][pPaek] >= 1) { PlayerInfo[playerid][pPaek] --; PlayerInfo[playerid][pHunger] += 40; SendClientMessage(playerid, COLOR_GREEN, "Вы съели сух.паёк! Сытность пополнена на 40."); return 1; } else { SendClientMessage(playerid, COLOR_RED, "У вас нету сух.пайка!"); } return 1; } Вот и всё вроде бы. Если будут баги пишите в теме, отвечу. Автор сего чуда: Я. (Lanzo) Внимание! Если вы собрались куда-то этот бред копировать, укажите что я автор :)
  23. TrollFace

    "Дернуть ручник"

    Идея моя понятна из самого названия темы. Все мы знаем, что по стандарту ручник - пробел. Так почему бы не сделать более высокий уровень РП при помощи обычного ProxDetectors ??? В коде - абсолютный минимум. На деле - довольно хорошая вещь. Приступим. Все знают, что за нажатие клавиш отвечает автовызываемая OnPlayerKeyStateChange Хорошо... А что с клавишей? Довольно просто. Ид пробела - 128. Что из этого следует? А следующий кусок кода: public OnPlayerKeyStateChange(playerid, newkeys, oldkeys) { new string[35], name[24]; GetPlayerName(playerid, name, MAX_PLAYER_NAME); if (newkeys == 128 && IsPlayerInVehicle(GetPlayerVehicleID(playerid))) { format(string, sizeof(string), "**%s дернул ручник.",name); ProxDetector(25.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE); } return 1; } Довольно просто, верно? Однако в то же время как-то повышает уровень РП. Я думаю, многие оценят. У кого нет ProxDetectors - отройте в паблике. P.S. ничего подобного в паблике не лицезрел, однако, опять же таки - все просто.
×

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

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