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

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

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

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

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

Тип контента


Форумы

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

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

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


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

  • Начало

    Конец


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

  • Начало

    Конец


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

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

  1. Система регистрации на textdraw's,а так же сама регистрация (просто можно скопировать,и вставить мод с нуля). На mysql Фото данной системы. [spoiler=Скриншот регистрации] Для работоспособности данной системы, необходимо : Ко всем переменным, добавляем: new Text:registr[62]; //TD регистрации new PlayerText:registrV[MAX_PLAYERS][5]; //Поля пароля и почты регистрации new PlayerText:avtorizG[MAX_PLAYERS][2]; //Пароль авторизации (Потом меняется) new Text:avtoriz[35]; //TD авторизация Это тоже добавить к переменным,если нету new PlayerRegistered[MAX_PLAYERS]; К всем глобальным текстдравам (stock LoadTextDraws) //регистрация registr[0] = TextDrawCreate(201.500000, 155.037475, "LD_SPAC:white"); TextDrawLetterSize(registr[0], 0.000000, 0.000000); TextDrawTextSize(registr[0], 239.109939, 155.981658); TextDrawAlignment(registr[0], 1); TextDrawColor(registr[0], 255); TextDrawSetShadow(registr[0], 0); TextDrawSetOutline(registr[0], 0); TextDrawBackgroundColor(registr[0], 255); TextDrawFont(registr[0], 4); TextDrawSetProportional(registr[0], 0); TextDrawSetShadow(registr[0], 0); registr[1] = TextDrawCreate(321.099975, 143.750061, "РЕГИСТРАЦИЯ"); TextDrawLetterSize(registr[1], 0.178497, 0.965623); TextDrawTextSize(registr[1], 0.000000, 235.619659); TextDrawAlignment(registr[1], 2); TextDrawColor(registr[1], -1); TextDrawUseBox(registr[1], 1); TextDrawBoxColor(registr[1], 255); TextDrawSetShadow(registr[1], 0); TextDrawSetOutline(registr[1], 0); TextDrawBackgroundColor(registr[1], 255); TextDrawFont(registr[1], 2); TextDrawSetProportional(registr[1], 1); TextDrawSetShadow(registr[1], 0); registr[2] = TextDrawCreate(204.499938, 212.740783, "LD_SPAC:white"); TextDrawLetterSize(registr[2], 0.000000, 0.000000); TextDrawTextSize(registr[2], 20.000000, 17.000000); TextDrawAlignment(registr[2], 1); TextDrawColor(registr[2], -5963521); TextDrawSetShadow(registr[2], 0); TextDrawSetOutline(registr[2], 0); TextDrawBackgroundColor(registr[2], 255); TextDrawFont(registr[2], 4); TextDrawSetProportional(registr[2], 0); TextDrawSetShadow(registr[2], 0); registr[3] = TextDrawCreate(204.499938, 232.341979, "LD_SPAC:white"); TextDrawLetterSize(registr[3], 0.000000, 0.000000); TextDrawTextSize(registr[3], 20.000000, 17.000000); TextDrawAlignment(registr[3], 1); TextDrawColor(registr[3], -5963521); TextDrawSetShadow(registr[3], 0); TextDrawSetOutline(registr[3], 0); TextDrawBackgroundColor(registr[3], 255); TextDrawFont(registr[3], 4); TextDrawSetProportional(registr[3], 0); TextDrawSetShadow(registr[3], 0); registr[4] = TextDrawCreate(204.499938, 251.743164, "LD_SPAC:white"); TextDrawLetterSize(registr[4], 0.000000, 0.000000); TextDrawTextSize(registr[4], 20.000000, 17.000000); TextDrawAlignment(registr[4], 1); TextDrawColor(registr[4], -5963521); TextDrawSetShadow(registr[4], 0); TextDrawSetOutline(registr[4], 0); TextDrawBackgroundColor(registr[4], 255); TextDrawFont(registr[4], 4); TextDrawSetProportional(registr[4], 0); TextDrawSetShadow(registr[4], 0); registr[5] = TextDrawCreate(204.499938, 271.544372, "LD_SPAC:white"); TextDrawLetterSize(registr[5], 0.000000, 0.000000); TextDrawTextSize(registr[5], 20.000000, 16.649990); TextDrawAlignment(registr[5], 1); TextDrawColor(registr[5], -5963521); TextDrawSetShadow(registr[5], 0); TextDrawSetOutline(registr[5], 0); TextDrawBackgroundColor(registr[5], 255); TextDrawFont(registr[5], 4); TextDrawSetProportional(registr[5], 0); TextDrawSetShadow(registr[5], 0); registr[6] = TextDrawCreate(204.499938, 290.645538, "LD_SPAC:white"); TextDrawLetterSize(registr[6], 0.000000, 0.000000); TextDrawTextSize(registr[6], 20.000000, 17.000000); TextDrawAlignment(registr[6], 1); TextDrawColor(registr[6], -5963521); TextDrawSetShadow(registr[6], 0); TextDrawSetOutline(registr[6], 0); TextDrawBackgroundColor(registr[6], 255); TextDrawFont(registr[6], 4); TextDrawSetProportional(registr[6], 0); TextDrawSetShadow(registr[6], 0); registr[7] = TextDrawCreate(205.100006, 213.580001, "LD_SPAC:white"); TextDrawLetterSize(registr[7], 0.000000, 0.000000); TextDrawTextSize(registr[7], 18.000000, 15.479999); TextDrawAlignment(registr[7], 1); TextDrawColor(registr[7], 255); TextDrawSetShadow(registr[7], 0); TextDrawSetOutline(registr[7], 0); TextDrawBackgroundColor(registr[7], 255); TextDrawFont(registr[7], 4); TextDrawSetProportional(registr[7], 0); TextDrawSetShadow(registr[7], 0); registr[8] = TextDrawCreate(205.100006, 233.480010, "LD_SPAC:white"); TextDrawLetterSize(registr[8], 0.000000, 0.000000); TextDrawTextSize(registr[8], 18.000000, 14.999988); TextDrawAlignment(registr[8], 1); TextDrawColor(registr[8], 255); TextDrawSetShadow(registr[8], 0); TextDrawSetOutline(registr[8], 0); TextDrawBackgroundColor(registr[8], 255); TextDrawFont(registr[8], 4); TextDrawSetProportional(registr[8], 0); TextDrawSetShadow(registr[8], 0); registr[9] = TextDrawCreate(205.100006, 252.779998, "LD_SPAC:white"); TextDrawLetterSize(registr[9], 0.000000, 0.000000); TextDrawTextSize(registr[9], 18.000000, 14.999988); TextDrawAlignment(registr[9], 1); TextDrawColor(registr[9], 255); TextDrawSetShadow(registr[9], 0); TextDrawSetOutline(registr[9], 0); TextDrawBackgroundColor(registr[9], 255); TextDrawFont(registr[9], 4); TextDrawSetProportional(registr[9], 0); TextDrawSetShadow(registr[9], 0); registr[10] = TextDrawCreate(205.100006, 272.279998, "LD_SPAC:white"); TextDrawLetterSize(registr[10], 0.000000, 0.000000); TextDrawTextSize(registr[10], 18.000000, 14.999988); TextDrawAlignment(registr[10], 1); TextDrawColor(registr[10], 255); TextDrawSetShadow(registr[10], 0); TextDrawSetOutline(registr[10], 0); TextDrawBackgroundColor(registr[10], 255); TextDrawFont(registr[10], 4); TextDrawSetProportional(registr[10], 0); TextDrawSetShadow(registr[10], 0); registr[11] = TextDrawCreate(205.100006, 291.679992, "LD_SPAC:white"); TextDrawLetterSize(registr[11], 0.000000, 0.000000); TextDrawTextSize(registr[11], 18.000000, 15.029999); TextDrawAlignment(registr[11], 1); TextDrawColor(registr[11], 255); TextDrawSetShadow(registr[11], 0); TextDrawSetOutline(registr[11], 0); TextDrawBackgroundColor(registr[11], 255); TextDrawFont(registr[11], 4); TextDrawSetProportional(registr[11], 0); TextDrawSetShadow(registr[11], 0); registr[12] = TextDrawCreate(226.799896, 212.915740, "LD_SPAC:white"); TextDrawLetterSize(registr[12], 0.000000, 0.000000); TextDrawTextSize(registr[12], 80.000000, 17.000000); TextDrawAlignment(registr[12], 1); TextDrawColor(registr[12], -5963521); TextDrawSetShadow(registr[12], 0); TextDrawSetOutline(registr[12], 0); TextDrawBackgroundColor(registr[12], 255); TextDrawFont(registr[12], 4); TextDrawSetProportional(registr[12], 0); TextDrawSetShadow(registr[12], 0); registr[13] = TextDrawCreate(226.799896, 232.616943, "LD_SPAC:white"); TextDrawLetterSize(registr[13], 0.000000, 0.000000); TextDrawTextSize(registr[13], 80.000000, 16.430009); TextDrawAlignment(registr[13], 1); TextDrawColor(registr[13], -5963521); TextDrawSetShadow(registr[13], 0); TextDrawSetOutline(registr[13], 0); TextDrawBackgroundColor(registr[13], 255); TextDrawFont(registr[13], 4); TextDrawSetProportional(registr[13], 0); TextDrawSetShadow(registr[13], 0); registr[14] = TextDrawCreate(226.799896, 251.918121, "LD_SPAC:white"); TextDrawLetterSize(registr[14], 0.000000, 0.000000); TextDrawTextSize(registr[14], 80.000000, 17.000000); TextDrawAlignment(registr[14], 1); TextDrawColor(registr[14], -5963521); TextDrawSetShadow(registr[14], 0); TextDrawSetOutline(registr[14], 0); TextDrawBackgroundColor(registr[14], 255); TextDrawFont(registr[14], 4); TextDrawSetProportional(registr[14], 0); TextDrawSetShadow(registr[14], 0); registr[15] = TextDrawCreate(226.899902, 271.419311, "LD_SPAC:white"); TextDrawLetterSize(registr[15], 0.000000, 0.000000); TextDrawTextSize(registr[15], 79.740158, 16.500011); TextDrawAlignment(registr[15], 1); TextDrawColor(registr[15], -5963521); TextDrawSetShadow(registr[15], 0); TextDrawSetOutline(registr[15], 0); TextDrawBackgroundColor(registr[15], 255); TextDrawFont(registr[15], 4); TextDrawSetProportional(registr[15], 0); TextDrawSetShadow(registr[15], 0); registr[16] = TextDrawCreate(226.699890, 290.820495, "LD_SPAC:white"); TextDrawLetterSize(registr[16], 0.000000, 0.000000); TextDrawTextSize(registr[16], 80.040008, 16.850019); TextDrawAlignment(registr[16], 1); TextDrawColor(registr[16], -5963521); TextDrawSetShadow(registr[16], 0); TextDrawSetOutline(registr[16], 0); TextDrawBackgroundColor(registr[16], 255); TextDrawFont(registr[16], 4); TextDrawSetProportional(registr[16], 0); TextDrawSetShadow(registr[16], 0); registr[17] = TextDrawCreate(227.899902, 213.603363, "LD_SPAC:white"); TextDrawLetterSize(registr[17], 0.000000, 0.000000); TextDrawTextSize(registr[17], 77.999786, 15.290004); TextDrawAlignment(registr[17], 1); TextDrawColor(registr[17], 255); TextDrawSetShadow(registr[17], 0); TextDrawSetOutline(registr[17], 0); TextDrawBackgroundColor(registr[17], 255); TextDrawFont(registr[17], 4); TextDrawSetProportional(registr[17], 0); TextDrawSetShadow(registr[17], 0); registr[18] = TextDrawCreate(227.999877, 233.340972, "LD_SPAC:white"); TextDrawLetterSize(registr[18], 0.000000, 0.000000); TextDrawTextSize(registr[18], 77.999786, 15.029998); TextDrawAlignment(registr[18], 1); TextDrawColor(registr[18], 255); TextDrawSetShadow(registr[18], 0); TextDrawSetOutline(registr[18], 0); TextDrawBackgroundColor(registr[18], 255); TextDrawFont(registr[18], 4); TextDrawSetProportional(registr[18], 0); TextDrawSetShadow(registr[18], 0); registr[19] = TextDrawCreate(227.999877, 252.642150, "LD_SPAC:white"); TextDrawLetterSize(registr[19], 0.000000, 0.000000); TextDrawTextSize(registr[19], 77.999786, 15.190004); TextDrawAlignment(registr[19], 1); TextDrawColor(registr[19], 255); TextDrawSetShadow(registr[19], 0); TextDrawSetOutline(registr[19], 0); TextDrawBackgroundColor(registr[19], 255); TextDrawFont(registr[19], 4); TextDrawSetProportional(registr[19], 0); TextDrawSetShadow(registr[19], 0); registr[20] = TextDrawCreate(227.999877, 272.343353, "LD_SPAC:white"); TextDrawLetterSize(registr[20], 0.000000, 0.000000); TextDrawTextSize(registr[20], 77.999786, 14.989997); TextDrawAlignment(registr[20], 1); TextDrawColor(registr[20], 255); TextDrawSetShadow(registr[20], 0); TextDrawSetOutline(registr[20], 0); TextDrawBackgroundColor(registr[20], 255); TextDrawFont(registr[20], 4); TextDrawSetProportional(registr[20], 0); TextDrawSetShadow(registr[20], 0); registr[21] = TextDrawCreate(227.999877, 291.744537, "LD_SPAC:white"); TextDrawLetterSize(registr[21], 0.000000, 0.000000); TextDrawTextSize(registr[21], 77.999786, 14.989997); TextDrawAlignment(registr[21], 1); TextDrawColor(registr[21], 255); TextDrawSetShadow(registr[21], 0); TextDrawSetOutline(registr[21], 0); TextDrawBackgroundColor(registr[21], 255); TextDrawFont(registr[21], 4); TextDrawSetProportional(registr[21], 0); TextDrawSetShadow(registr[21], 0); registr[22] = TextDrawCreate(309.600006, 212.740783, "LD_SPAC:white"); TextDrawLetterSize(registr[22], 0.000000, 0.000000); TextDrawTextSize(registr[22], 1.309998, 17.000000); TextDrawAlignment(registr[22], 1); TextDrawColor(registr[22], -5963521); TextDrawSetShadow(registr[22], 0); TextDrawSetOutline(registr[22], 0); TextDrawBackgroundColor(registr[22], 255); TextDrawFont(registr[22], 4); TextDrawSetProportional(registr[22], 0); TextDrawSetShadow(registr[22], 0); registr[23] = TextDrawCreate(309.600006, 232.641998, "LD_SPAC:white"); TextDrawLetterSize(registr[23], 0.000000, 0.000000); TextDrawTextSize(registr[23], 1.309998, 16.619991); TextDrawAlignment(registr[23], 1); TextDrawColor(registr[23], -5963521); TextDrawSetShadow(registr[23], 0); TextDrawSetOutline(registr[23], 0); TextDrawBackgroundColor(registr[23], 255); TextDrawFont(registr[23], 4); TextDrawSetProportional(registr[23], 0); TextDrawSetShadow(registr[23], 0); registr[24] = TextDrawCreate(309.600006, 251.743164, "LD_SPAC:white"); TextDrawLetterSize(registr[24], 0.000000, 0.000000); TextDrawTextSize(registr[24], 1.309998, 16.979999); TextDrawAlignment(registr[24], 1); TextDrawColor(registr[24], -5963521); TextDrawSetShadow(registr[24], 0); TextDrawSetOutline(registr[24], 0); TextDrawBackgroundColor(registr[24], 255); TextDrawFont(registr[24], 4); TextDrawSetProportional(registr[24], 0); TextDrawSetShadow(registr[24], 0); registr[25] = TextDrawCreate(309.600006, 271.344360, "LD_SPAC:white"); TextDrawLetterSize(registr[25], 0.000000, 0.000000); TextDrawTextSize(registr[25], 1.309998, 16.829996); TextDrawAlignment(registr[25], 1); TextDrawColor(registr[25], -5963521); TextDrawSetShadow(registr[25], 0); TextDrawSetOutline(registr[25], 0); TextDrawBackgroundColor(registr[25], 255); TextDrawFont(registr[25], 4); TextDrawSetProportional(registr[25], 0); TextDrawSetShadow(registr[25], 0); registr[26] = TextDrawCreate(309.600006, 290.845550, "LD_SPAC:white"); TextDrawLetterSize(registr[26], 0.000000, 0.000000); TextDrawTextSize(registr[26], 1.309998, 16.829996); TextDrawAlignment(registr[26], 1); TextDrawColor(registr[26], -5963521); TextDrawSetShadow(registr[26], 0); TextDrawSetOutline(registr[26], 0); TextDrawBackgroundColor(registr[26], 255); TextDrawFont(registr[26], 4); TextDrawSetProportional(registr[26], 0); TextDrawSetShadow(registr[26], 0); registr[27] = TextDrawCreate(310.699951, 212.728363, ">"); TextDrawLetterSize(registr[27], 0.236900, 1.844900); TextDrawAlignment(registr[27], 1); TextDrawColor(registr[27], -5963521); TextDrawSetShadow(registr[27], 0); TextDrawSetOutline(registr[27], 0); TextDrawBackgroundColor(registr[27], 255); TextDrawFont(registr[27], 2); TextDrawSetProportional(registr[27], 1); TextDrawSetShadow(registr[27], 0); registr[28] = TextDrawCreate(310.699951, 232.729583, ">"); TextDrawLetterSize(registr[28], 0.236900, 1.844900); TextDrawAlignment(registr[28], 1); TextDrawColor(registr[28], -5963521); TextDrawSetShadow(registr[28], 0); TextDrawSetOutline(registr[28], 0); TextDrawBackgroundColor(registr[28], 255); TextDrawFont(registr[28], 2); TextDrawSetProportional(registr[28], 1); TextDrawSetShadow(registr[28], 0); registr[29] = TextDrawCreate(310.699951, 251.630737, ">"); TextDrawLetterSize(registr[29], 0.236900, 1.844900); TextDrawAlignment(registr[29], 1); TextDrawColor(registr[29], -5963521); TextDrawSetShadow(registr[29], 0); TextDrawSetOutline(registr[29], 0); TextDrawBackgroundColor(registr[29], 255); TextDrawFont(registr[29], 2); TextDrawSetProportional(registr[29], 1); TextDrawSetShadow(registr[29], 0); registr[30] = TextDrawCreate(310.699951, 271.231933, ">"); TextDrawLetterSize(registr[30], 0.236900, 1.844900); TextDrawAlignment(registr[30], 1); TextDrawColor(registr[30], -5963521); TextDrawSetShadow(registr[30], 0); TextDrawSetOutline(registr[30], 0); TextDrawBackgroundColor(registr[30], 255); TextDrawFont(registr[30], 2); TextDrawSetProportional(registr[30], 1); TextDrawSetShadow(registr[30], 0); registr[31] = TextDrawCreate(310.699951, 290.633117, ">"); TextDrawLetterSize(registr[31], 0.236900, 1.844900); TextDrawAlignment(registr[31], 1); TextDrawColor(registr[31], -5963521); TextDrawSetShadow(registr[31], 0); TextDrawSetOutline(registr[31], 0); TextDrawBackgroundColor(registr[31], 255); TextDrawFont(registr[31], 2); TextDrawSetProportional(registr[31], 1); TextDrawSetShadow(registr[31], 0); registr[32] = TextDrawCreate(436.607757, 212.740783, "LD_SPAC:white"); TextDrawLetterSize(registr[32], 0.000000, 0.000000); TextDrawTextSize(registr[32], 1.309998, 17.000000); TextDrawAlignment(registr[32], 1); TextDrawColor(registr[32], -5963521); TextDrawSetShadow(registr[32], 0); TextDrawSetOutline(registr[32], 0); TextDrawBackgroundColor(registr[32], 255); TextDrawFont(registr[32], 4); TextDrawSetProportional(registr[32], 0); TextDrawSetShadow(registr[32], 0); registr[33] = TextDrawCreate(436.607757, 232.641998, "LD_SPAC:white"); TextDrawLetterSize(registr[33], 0.000000, 0.000000); TextDrawTextSize(registr[33], 1.309998, 16.619991); TextDrawAlignment(registr[33], 1); TextDrawColor(registr[33], -5963521); TextDrawSetShadow(registr[33], 0); TextDrawSetOutline(registr[33], 0); TextDrawBackgroundColor(registr[33], 255); TextDrawFont(registr[33], 4); TextDrawSetProportional(registr[33], 0); TextDrawSetShadow(registr[33], 0); registr[34] = TextDrawCreate(436.607757, 251.743164, "LD_SPAC:white"); TextDrawLetterSize(registr[34], 0.000000, 0.000000); TextDrawTextSize(registr[34], 1.309998, 16.979999); TextDrawAlignment(registr[34], 1); TextDrawColor(registr[34], -5963521); TextDrawSetShadow(registr[34], 0); TextDrawSetOutline(registr[34], 0); TextDrawBackgroundColor(registr[34], 255); TextDrawFont(registr[34], 4); TextDrawSetProportional(registr[34], 0); TextDrawSetShadow(registr[34], 0); registr[35] = TextDrawCreate(436.607757, 271.344360, "LD_SPAC:white"); TextDrawLetterSize(registr[35], 0.000000, 0.000000); TextDrawTextSize(registr[35], 1.309998, 16.829996); TextDrawAlignment(registr[35], 1); TextDrawColor(registr[35], -5963521); TextDrawSetShadow(registr[35], 0); TextDrawSetOutline(registr[35], 0); TextDrawBackgroundColor(registr[35], 255); TextDrawFont(registr[35], 4); TextDrawSetProportional(registr[35], 0); TextDrawSetShadow(registr[35], 0); registr[36] = TextDrawCreate(436.607757, 290.845550, "LD_SPAC:white"); TextDrawLetterSize(registr[36], 0.000000, 0.000000); TextDrawTextSize(registr[36], 1.309998, 16.829996); TextDrawAlignment(registr[36], 1); TextDrawColor(registr[36], -5963521); TextDrawSetShadow(registr[36], 0); TextDrawSetOutline(registr[36], 0); TextDrawBackgroundColor(registr[36], 255); TextDrawFont(registr[36], 4); TextDrawSetProportional(registr[36], 0); TextDrawSetShadow(registr[36], 0); registr[37] = TextDrawCreate(266.799957, 216.020629, "ЛОГИН"); TextDrawLetterSize(registr[37], 0.177397, 1.035524); TextDrawAlignment(registr[37], 2); TextDrawColor(registr[37], -1); TextDrawSetShadow(registr[37], 0); TextDrawSetOutline(registr[37], 0); TextDrawBackgroundColor(registr[37], 255); TextDrawFont(registr[37], 2); TextDrawSetProportional(registr[37], 1); TextDrawSetShadow(registr[37], 0); registr[38] = TextDrawCreate(266.799957, 235.621826, "ПАРОЛЬ"); TextDrawLetterSize(registr[38], 0.177397, 1.035524); TextDrawAlignment(registr[38], 2); TextDrawColor(registr[38], -1); TextDrawSetShadow(registr[38], 0); TextDrawSetOutline(registr[38], 0); TextDrawBackgroundColor(registr[38], 255); TextDrawFont(registr[38], 2); TextDrawSetProportional(registr[38], 1); TextDrawSetShadow(registr[38], 0); registr[39] = TextDrawCreate(266.399932, 255.323028, "ПОЧТА"); TextDrawLetterSize(registr[39], 0.177397, 1.035524); TextDrawAlignment(registr[39], 2); TextDrawColor(registr[39], -1); TextDrawSetShadow(registr[39], 0); TextDrawSetOutline(registr[39], 0); TextDrawBackgroundColor(registr[39], 255); TextDrawFont(registr[39], 2); TextDrawSetProportional(registr[39], 1); TextDrawSetShadow(registr[39], 0); registr[40] = TextDrawCreate(266.399932, 274.624206, "ПОЛ"); TextDrawLetterSize(registr[40], 0.177397, 1.035524); TextDrawAlignment(registr[40], 2); TextDrawColor(registr[40], -1); TextDrawSetShadow(registr[40], 0); TextDrawSetOutline(registr[40], 0); TextDrawBackgroundColor(registr[40], 255); TextDrawFont(registr[40], 2); TextDrawSetProportional(registr[40], 1); TextDrawSetShadow(registr[40], 0); registr[41] = TextDrawCreate(266.399932, 293.825378, "ВОЗРАСТ"); TextDrawLetterSize(registr[41], 0.177397, 1.035524); TextDrawAlignment(registr[41], 2); TextDrawColor(registr[41], -1); TextDrawSetShadow(registr[41], 0); TextDrawSetOutline(registr[41], 0); TextDrawBackgroundColor(registr[41], 255); TextDrawFont(registr[41], 2); TextDrawSetProportional(registr[41], 1); TextDrawSetShadow(registr[41], 0); registr[42] = TextDrawCreate(204.199798, 157.153228, "LD_SPAC:white"); TextDrawLetterSize(registr[42], 0.000000, 0.000000); TextDrawTextSize(registr[42], 233.709609, 52.630062); TextDrawAlignment(registr[42], 1); TextDrawColor(registr[42], -5963521); TextDrawSetShadow(registr[42], 0); TextDrawSetOutline(registr[42], 0); TextDrawBackgroundColor(registr[42], 255); TextDrawFont(registr[42], 4); TextDrawSetProportional(registr[42], 0); TextDrawSetShadow(registr[42], 0); registr[43] = TextDrawCreate(205.299957, 158.099975, "LD_SPAC:white"); TextDrawLetterSize(registr[43], 0.000000, 0.000000); TextDrawTextSize(registr[43], 231.600219, 50.689884); TextDrawAlignment(registr[43], 1); TextDrawColor(registr[43], 255); TextDrawSetShadow(registr[43], 0); TextDrawSetOutline(registr[43], 0); TextDrawBackgroundColor(registr[43], 255); TextDrawFont(registr[43], 4); TextDrawSetProportional(registr[43], 0); TextDrawSetShadow(registr[43], 0); registr[44] = TextDrawCreate(218.499969, 167.729003, "ДОБРО ПОЖАЛОВАТЬ!"); TextDrawLetterSize(registr[44], 0.159898, 0.983026); TextDrawTextSize(registr[44], 808.704467, 0.000000); TextDrawAlignment(registr[44], 1); TextDrawColor(registr[44], -1); TextDrawUseBox(registr[44], 1); TextDrawBoxColor(registr[44], 0); TextDrawSetShadow(registr[44], 0); TextDrawSetOutline(registr[44], 0); TextDrawBackgroundColor(registr[44], 255); TextDrawFont(registr[44], 2); TextDrawSetProportional(registr[44], 1); TextDrawSetShadow(registr[44], 0); registr[45] = TextDrawCreate(218.799865, 178.441650, "ВАШ АККАУНТ_~y~НЕ НАЙДЕН~w~_В БАЗЕ ДАННЫХ"); TextDrawLetterSize(registr[45], 0.159898, 0.983026); TextDrawTextSize(registr[45], 865.704467, 0.000000); TextDrawAlignment(registr[45], 1); TextDrawColor(registr[45], -1); TextDrawUseBox(registr[45], 1); TextDrawBoxColor(registr[45], 0); TextDrawSetShadow(registr[45], 0); TextDrawSetOutline(registr[45], 0); TextDrawBackgroundColor(registr[45], 255); TextDrawFont(registr[45], 2); TextDrawSetProportional(registr[45], 1); TextDrawSetShadow(registr[45], 0); registr[46] = TextDrawCreate(217.799865, 188.829223, "ДЛЯ РЕГИСТРАЦИИ ВВЕДИТЕ СВОИ ДАННЫЕ В ПОЛЯ НИЖЕ"); TextDrawLetterSize(registr[46], 0.159898, 0.983026); TextDrawTextSize(registr[46], 867.704467, 0.000000); TextDrawAlignment(registr[46], 1); TextDrawColor(registr[46], -1); TextDrawUseBox(registr[46], 1); TextDrawBoxColor(registr[46], 0); TextDrawSetShadow(registr[46], 0); TextDrawSetOutline(registr[46], 0); TextDrawBackgroundColor(registr[46], 255); TextDrawFont(registr[46], 2); TextDrawSetProportional(registr[46], 1); TextDrawSetShadow(registr[46], 0); registr[47] = TextDrawCreate(211.500030, 171.715789, "ld_pool:ball"); TextDrawLetterSize(registr[47], 0.000000, 0.000000); TextDrawTextSize(registr[47], 2.379997, 2.000000); TextDrawAlignment(registr[47], 1); TextDrawColor(registr[47], -5963521); TextDrawSetShadow(registr[47], 0); TextDrawSetOutline(registr[47], 0); TextDrawBackgroundColor(registr[47], 255); TextDrawFont(registr[47], 4); TextDrawSetProportional(registr[47], 0); TextDrawSetShadow(registr[47], 0); registr[48] = TextDrawCreate(211.500030, 182.616455, "ld_pool:ball"); TextDrawLetterSize(registr[48], 0.000000, 0.000000); TextDrawTextSize(registr[48], 2.379997, 2.000000); TextDrawAlignment(registr[48], 1); TextDrawColor(registr[48], -5963521); TextDrawSetShadow(registr[48], 0); TextDrawSetOutline(registr[48], 0); TextDrawBackgroundColor(registr[48], 255); TextDrawFont(registr[48], 4); TextDrawSetProportional(registr[48], 0); TextDrawSetShadow(registr[48], 0); registr[49] = TextDrawCreate(211.500030, 192.617065, "ld_pool:ball"); TextDrawLetterSize(registr[49], 0.000000, 0.000000); TextDrawTextSize(registr[49], 2.379997, 2.000000); TextDrawAlignment(registr[49], 1); TextDrawColor(registr[49], -5963521); TextDrawSetShadow(registr[49], 0); TextDrawSetOutline(registr[49], 0); TextDrawBackgroundColor(registr[49], 255); TextDrawFont(registr[49], 4); TextDrawSetProportional(registr[49], 0); TextDrawSetShadow(registr[49], 0); registr[50] = TextDrawCreate(201.299896, 311.587310, "LD_SPAC:white"); TextDrawLetterSize(registr[50], 0.000000, 0.000000); TextDrawTextSize(registr[50], 239.590225, 15.320007); TextDrawAlignment(registr[50], 1); TextDrawColor(registr[50], 255); TextDrawSetShadow(registr[50], 0); TextDrawSetOutline(registr[50], 0); TextDrawBackgroundColor(registr[50], 255); TextDrawFont(registr[50], 4); TextDrawSetProportional(registr[50], 0); TextDrawSetShadow(registr[50], 0); registr[51] = TextDrawCreate(253.999969, 313.940307, "ВХОД"); TextDrawLetterSize(registr[51], 0.177397, 1.035524); TextDrawTextSize(registr[51], 10.000000, 43.000000); TextDrawAlignment(registr[51], 2); TextDrawColor(registr[51], -1); TextDrawUseBox(registr[51], 1); TextDrawBoxColor(registr[51], 268435456); TextDrawSetShadow(registr[51], 0); TextDrawSetOutline(registr[51], 0); TextDrawBackgroundColor(registr[51], 255); TextDrawFont(registr[51], 2); TextDrawSetProportional(registr[51], 1); TextDrawSetShadow(registr[51], 0); TextDrawSetSelectable(registr[51], true); registr[52] = TextDrawCreate(203.507781, 313.858093, "LD_SPAC:white"); TextDrawLetterSize(registr[52], 0.000000, 0.000000); TextDrawTextSize(registr[52], 1.000000, 11.000000); TextDrawAlignment(registr[52], 1); TextDrawColor(registr[52], -5963521); TextDrawSetShadow(registr[52], 0); TextDrawSetOutline(registr[52], 0); TextDrawBackgroundColor(registr[52], 255); TextDrawFont(registr[52], 4); TextDrawSetProportional(registr[52], 0); TextDrawSetShadow(registr[52], 0); registr[53] = TextDrawCreate(204.199951, 312.358215, ">"); TextDrawLetterSize(registr[53], 0.206400, 1.512400); TextDrawAlignment(registr[53], 1); TextDrawColor(registr[53], -5963521); TextDrawSetShadow(registr[53], 0); TextDrawSetOutline(registr[53], 0); TextDrawBackgroundColor(registr[53], 255); TextDrawFont(registr[53], 2); TextDrawSetProportional(registr[53], 1); TextDrawSetShadow(registr[53], 0); registr[54] = TextDrawCreate(392.999969, 313.927886, "OTMEHA"); TextDrawLetterSize(registr[54], 0.177397, 1.035524); TextDrawTextSize(registr[54], 10.000000, 47.000000); TextDrawAlignment(registr[54], 2); TextDrawColor(registr[54], -1); TextDrawUseBox(registr[54], 1); TextDrawBoxColor(registr[54], 1090519040); TextDrawSetShadow(registr[54], 0); TextDrawSetOutline(registr[54], 0); TextDrawBackgroundColor(registr[54], 255); TextDrawFont(registr[54], 2); TextDrawSetProportional(registr[54], 1); TextDrawSetShadow(registr[54], 0); TextDrawSetSelectable(registr[54], true); registr[55] = TextDrawCreate(437.107879, 313.858093, "LD_SPAC:white"); TextDrawLetterSize(registr[55], 0.000000, 0.000000); TextDrawTextSize(registr[55], 1.000000, 11.000000); TextDrawAlignment(registr[55], 1); TextDrawColor(registr[55], -5963521); TextDrawSetShadow(registr[55], 0); TextDrawSetOutline(registr[55], 0); TextDrawBackgroundColor(registr[55], 255); TextDrawFont(registr[55], 4); TextDrawSetProportional(registr[55], 0); TextDrawSetShadow(registr[55], 0); registr[56] = TextDrawCreate(433.000061, 312.395690, "<"); TextDrawLetterSize(registr[56], 0.206400, 1.512400); TextDrawAlignment(registr[56], 1); TextDrawColor(registr[56], -5963521); TextDrawSetShadow(registr[56], 0); TextDrawSetOutline(registr[56], 0); TextDrawBackgroundColor(registr[56], 255); TextDrawFont(registr[56], 2); TextDrawSetProportional(registr[56], 1); TextDrawSetShadow(registr[56], 0); registr[57] = TextDrawCreate(213.999969, 214.234222, "1"); TextDrawLetterSize(registr[57], 0.253898, 1.363648); TextDrawAlignment(registr[57], 2); TextDrawColor(registr[57], -1); TextDrawSetShadow(registr[57], 0); TextDrawSetOutline(registr[57], 0); TextDrawBackgroundColor(registr[57], 255); TextDrawFont(registr[57], 2); TextDrawSetProportional(registr[57], 1); TextDrawSetShadow(registr[57], 0); registr[58] = TextDrawCreate(213.999969, 234.135437, "2"); TextDrawLetterSize(registr[58], 0.253898, 1.363648); TextDrawAlignment(registr[58], 2); TextDrawColor(registr[58], -1); TextDrawSetShadow(registr[58], 0); TextDrawSetOutline(registr[58], 0); TextDrawBackgroundColor(registr[58], 255); TextDrawFont(registr[58], 2); TextDrawSetProportional(registr[58], 1); TextDrawSetShadow(registr[58], 0); registr[59] = TextDrawCreate(213.999969, 253.136596, "3"); TextDrawLetterSize(registr[59], 0.253898, 1.363648); TextDrawAlignment(registr[59], 2); TextDrawColor(registr[59], -1); TextDrawSetShadow(registr[59], 0); TextDrawSetOutline(registr[59], 0); TextDrawBackgroundColor(registr[59], 255); TextDrawFont(registr[59], 2); TextDrawSetProportional(registr[59], 1); TextDrawSetShadow(registr[59], 0); registr[60] = TextDrawCreate(213.999969, 272.937805, "4"); TextDrawLetterSize(registr[60], 0.253898, 1.363648); TextDrawAlignment(registr[60], 2); TextDrawColor(registr[60], -1); TextDrawSetShadow(registr[60], 0); TextDrawSetOutline(registr[60], 0); TextDrawBackgroundColor(registr[60], 255); TextDrawFont(registr[60], 2); TextDrawSetProportional(registr[60], 1); TextDrawSetShadow(registr[60], 0); registr[61] = TextDrawCreate(214.299987, 292.438995, "5"); TextDrawLetterSize(registr[61], 0.253898, 1.363648); TextDrawAlignment(registr[61], 2); TextDrawColor(registr[61], -1); TextDrawSetShadow(registr[61], 0); TextDrawSetOutline(registr[61], 0); TextDrawBackgroundColor(registr[61], 255); TextDrawFont(registr[61], 2); TextDrawSetProportional(registr[61], 1); TextDrawSetShadow(registr[61], 0); //авторизация avtoriz[0] = TextDrawCreate(201.500000, 155.037475, "LD_SPAC:white"); TextDrawLetterSize(avtoriz[0], 0.000000, 0.000000); TextDrawTextSize(avtoriz[0], 239.000000, 96.929985); TextDrawAlignment(avtoriz[0], 1); TextDrawColor(avtoriz[0], 255); TextDrawSetShadow(avtoriz[0], 0); TextDrawSetOutline(avtoriz[0], 0); TextDrawBackgroundColor(avtoriz[0], 255); TextDrawFont(avtoriz[0], 4); TextDrawSetProportional(avtoriz[0], 0); TextDrawSetShadow(avtoriz[0], 0); avtoriz[1] = TextDrawCreate(321.099975, 143.750061, "АВТОРИЗАЦИЯ"); TextDrawLetterSize(avtoriz[1], 0.178497, 0.965623); TextDrawTextSize(avtoriz[1], 0.000000, 235.619659); TextDrawAlignment(avtoriz[1], 2); TextDrawColor(avtoriz[1], -1); TextDrawUseBox(avtoriz[1], 1); TextDrawBoxColor(avtoriz[1], 255); TextDrawSetShadow(avtoriz[1], 0); TextDrawSetOutline(avtoriz[1], 0); TextDrawBackgroundColor(avtoriz[1], 255); TextDrawFont(avtoriz[1], 2); TextDrawSetProportional(avtoriz[1], 1); TextDrawSetShadow(avtoriz[1], 0); avtoriz[2] = TextDrawCreate(204.499938, 212.740783, "LD_SPAC:white"); TextDrawLetterSize(avtoriz[2], 0.000000, 0.000000); TextDrawTextSize(avtoriz[2], 20.000000, 17.000000); TextDrawAlignment(avtoriz[2], 1); TextDrawColor(avtoriz[2], -5963521); TextDrawSetShadow(avtoriz[2], 0); TextDrawSetOutline(avtoriz[2], 0); TextDrawBackgroundColor(avtoriz[2], 255); TextDrawFont(avtoriz[2], 4); TextDrawSetProportional(avtoriz[2], 0); TextDrawSetShadow(avtoriz[2], 0); avtoriz[3] = TextDrawCreate(204.499938, 232.341979, "LD_SPAC:white"); TextDrawLetterSize(avtoriz[3], 0.000000, 0.000000); TextDrawTextSize(avtoriz[3], 20.000000, 17.000000); TextDrawAlignment(avtoriz[3], 1); TextDrawColor(avtoriz[3], -5963521); TextDrawSetShadow(avtoriz[3], 0); TextDrawSetOutline(avtoriz[3], 0); TextDrawBackgroundColor(avtoriz[3], 255); TextDrawFont(avtoriz[3], 4); TextDrawSetProportional(avtoriz[3], 0); TextDrawSetShadow(avtoriz[3], 0); avtoriz[4] = TextDrawCreate(205.299896, 213.566955, "LD_SPAC:white"); TextDrawLetterSize(avtoriz[4], 0.000000, 0.000000); TextDrawTextSize(avtoriz[4], 18.000000, 15.310007); TextDrawAlignment(avtoriz[4], 1); TextDrawColor(avtoriz[4], 255); TextDrawSetShadow(avtoriz[4], 0); TextDrawSetOutline(avtoriz[4], 0); TextDrawBackgroundColor(avtoriz[4], 255); TextDrawFont(avtoriz[4], 4); TextDrawSetProportional(avtoriz[4], 0); TextDrawSetShadow(avtoriz[4], 0); avtoriz[5] = TextDrawCreate(205.300003, 233.270004, "LD_SPAC:white"); TextDrawLetterSize(avtoriz[5], 0.000000, 0.000000); TextDrawTextSize(avtoriz[5], 18.000000, 15.140003); TextDrawAlignment(avtoriz[5], 1); TextDrawColor(avtoriz[5], 255); TextDrawSetShadow(avtoriz[5], 0); TextDrawSetOutline(avtoriz[5], 0); TextDrawBackgroundColor(avtoriz[5], 255); TextDrawFont(avtoriz[5], 4); TextDrawSetProportional(avtoriz[5], 0); TextDrawSetShadow(avtoriz[5], 0); avtoriz[6] = TextDrawCreate(226.799896, 212.915740, "LD_SPAC:white"); TextDrawLetterSize(avtoriz[6], 0.000000, 0.000000); TextDrawTextSize(avtoriz[6], 80.000000, 17.000000); TextDrawAlignment(avtoriz[6], 1); TextDrawColor(avtoriz[6], -5963521); TextDrawSetShadow(avtoriz[6], 0); TextDrawSetOutline(avtoriz[6], 0); TextDrawBackgroundColor(avtoriz[6], 255); TextDrawFont(avtoriz[6], 4); TextDrawSetProportional(avtoriz[6], 0); TextDrawSetShadow(avtoriz[6], 0); avtoriz[7] = TextDrawCreate(226.799896, 232.616943, "LD_SPAC:white"); TextDrawLetterSize(avtoriz[7], 0.000000, 0.000000); TextDrawTextSize(avtoriz[7], 80.000000, 16.430009); TextDrawAlignment(avtoriz[7], 1); TextDrawColor(avtoriz[7], -5963521); TextDrawSetShadow(avtoriz[7], 0); TextDrawSetOutline(avtoriz[7], 0); TextDrawBackgroundColor(avtoriz[7], 255); TextDrawFont(avtoriz[7], 4); TextDrawSetProportional(avtoriz[7], 0); TextDrawSetShadow(avtoriz[7], 0); avtoriz[8] = TextDrawCreate(227.899902, 213.603363, "LD_SPAC:white"); TextDrawLetterSize(avtoriz[8], 0.000000, 0.000000); TextDrawTextSize(avtoriz[8], 77.999786, 15.290002); TextDrawAlignment(avtoriz[8], 1); TextDrawColor(avtoriz[8], 255); TextDrawSetShadow(avtoriz[8], 0); TextDrawSetOutline(avtoriz[8], 0); TextDrawBackgroundColor(avtoriz[8], 255); TextDrawFont(avtoriz[8], 4); TextDrawSetProportional(avtoriz[8], 0); TextDrawSetShadow(avtoriz[8], 0); avtoriz[9] = TextDrawCreate(227.999877, 233.340972, "LD_SPAC:white"); TextDrawLetterSize(avtoriz[9], 0.000000, 0.000000); TextDrawTextSize(avtoriz[9], 77.999786, 15.029996); TextDrawAlignment(avtoriz[9], 1); TextDrawColor(avtoriz[9], 255); TextDrawSetShadow(avtoriz[9], 0); TextDrawSetOutline(avtoriz[9], 0); TextDrawBackgroundColor(avtoriz[9], 255); TextDrawFont(avtoriz[9], 4); TextDrawSetProportional(avtoriz[9], 0); TextDrawSetShadow(avtoriz[9], 0); avtoriz[10] = TextDrawCreate(309.600006, 212.740783, "LD_SPAC:white"); TextDrawLetterSize(avtoriz[10], 0.000000, 0.000000); TextDrawTextSize(avtoriz[10], 1.309998, 17.000000); TextDrawAlignment(avtoriz[10], 1); TextDrawColor(avtoriz[10], -5963521); TextDrawSetShadow(avtoriz[10], 0); TextDrawSetOutline(avtoriz[10], 0); TextDrawBackgroundColor(avtoriz[10], 255); TextDrawFont(avtoriz[10], 4); TextDrawSetProportional(avtoriz[10], 0); TextDrawSetShadow(avtoriz[10], 0); avtoriz[11] = TextDrawCreate(309.600006, 232.742004, "LD_SPAC:white"); TextDrawLetterSize(avtoriz[11], 0.000000, 0.000000); TextDrawTextSize(avtoriz[11], 1.309998, 16.619991); TextDrawAlignment(avtoriz[11], 1); TextDrawColor(avtoriz[11], -5963521); TextDrawSetShadow(avtoriz[11], 0); TextDrawSetOutline(avtoriz[11], 0); TextDrawBackgroundColor(avtoriz[11], 255); TextDrawFont(avtoriz[11], 4); TextDrawSetProportional(avtoriz[11], 0); TextDrawSetShadow(avtoriz[11], 0); avtoriz[12] = TextDrawCreate(310.699951, 212.728363, ">"); TextDrawLetterSize(avtoriz[12], 0.236900, 1.844900); TextDrawAlignment(avtoriz[12], 1); TextDrawColor(avtoriz[12], -5963521); TextDrawSetShadow(avtoriz[12], 0); TextDrawSetOutline(avtoriz[12], 0); TextDrawBackgroundColor(avtoriz[12], 255); TextDrawFont(avtoriz[12], 2); TextDrawSetProportional(avtoriz[12], 1); TextDrawSetShadow(avtoriz[12], 0); avtoriz[13] = TextDrawCreate(310.699951, 232.729583, ">"); TextDrawLetterSize(avtoriz[13], 0.236900, 1.844900); TextDrawAlignment(avtoriz[13], 1); TextDrawColor(avtoriz[13], -5963521); TextDrawSetShadow(avtoriz[13], 0); TextDrawSetOutline(avtoriz[13], 0); TextDrawBackgroundColor(avtoriz[13], 255); TextDrawFont(avtoriz[13], 2); TextDrawSetProportional(avtoriz[13], 1); TextDrawSetShadow(avtoriz[13], 0); avtoriz[14] = TextDrawCreate(436.607757, 212.740783, "LD_SPAC:white"); TextDrawLetterSize(avtoriz[14], 0.000000, 0.000000); TextDrawTextSize(avtoriz[14], 1.309998, 17.000000); TextDrawAlignment(avtoriz[14], 1); TextDrawColor(avtoriz[14], -5963521); TextDrawSetShadow(avtoriz[14], 0); TextDrawSetOutline(avtoriz[14], 0); TextDrawBackgroundColor(avtoriz[14], 255); TextDrawFont(avtoriz[14], 4); TextDrawSetProportional(avtoriz[14], 0); TextDrawSetShadow(avtoriz[14], 0); avtoriz[15] = TextDrawCreate(436.607757, 232.641998, "LD_SPAC:white"); TextDrawLetterSize(avtoriz[15], 0.000000, 0.000000); TextDrawTextSize(avtoriz[15], 1.309998, 16.619991); TextDrawAlignment(avtoriz[15], 1); TextDrawColor(avtoriz[15], -5963521); TextDrawSetShadow(avtoriz[15], 0); TextDrawSetOutline(avtoriz[15], 0); TextDrawBackgroundColor(avtoriz[15], 255); TextDrawFont(avtoriz[15], 4); TextDrawSetProportional(avtoriz[15], 0); TextDrawSetShadow(avtoriz[15], 0); avtoriz[16] = TextDrawCreate(266.799957, 216.020629, "ЛОГИН"); TextDrawLetterSize(avtoriz[16], 0.177395, 1.035524); TextDrawAlignment(avtoriz[16], 2); TextDrawColor(avtoriz[16], -1); TextDrawSetShadow(avtoriz[16], 0); TextDrawSetOutline(avtoriz[16], 0); TextDrawBackgroundColor(avtoriz[16], 255); TextDrawFont(avtoriz[16], 2); TextDrawSetProportional(avtoriz[16], 1); TextDrawSetShadow(avtoriz[16], 0); avtoriz[17] = TextDrawCreate(266.799957, 235.621826, "ПАРОЛЬ"); TextDrawLetterSize(avtoriz[17], 0.177395, 1.035524); TextDrawAlignment(avtoriz[17], 2); TextDrawColor(avtoriz[17], -1); TextDrawSetShadow(avtoriz[17], 0); TextDrawSetOutline(avtoriz[17], 0); TextDrawBackgroundColor(avtoriz[17], 255); TextDrawFont(avtoriz[17], 2); TextDrawSetProportional(avtoriz[17], 1); TextDrawSetShadow(avtoriz[17], 0); avtoriz[18] = TextDrawCreate(204.199798, 157.153228, "LD_SPAC:white"); TextDrawLetterSize(avtoriz[18], 0.000000, 0.000000); TextDrawTextSize(avtoriz[18], 233.709609, 52.630062); TextDrawAlignment(avtoriz[18], 1); TextDrawColor(avtoriz[18], -5963521); TextDrawSetShadow(avtoriz[18], 0); TextDrawSetOutline(avtoriz[18], 0); TextDrawBackgroundColor(avtoriz[18], 255); TextDrawFont(avtoriz[18], 4); TextDrawSetProportional(avtoriz[18], 0); TextDrawSetShadow(avtoriz[18], 0); avtoriz[19] = TextDrawCreate(205.299957, 158.099975, "LD_SPAC:white"); TextDrawLetterSize(avtoriz[19], 0.000000, 0.000000); TextDrawTextSize(avtoriz[19], 231.600219, 50.689884); TextDrawAlignment(avtoriz[19], 1); TextDrawColor(avtoriz[19], 255); TextDrawSetShadow(avtoriz[19], 0); TextDrawSetOutline(avtoriz[19], 0); TextDrawBackgroundColor(avtoriz[19], 255); TextDrawFont(avtoriz[19], 4); TextDrawSetProportional(avtoriz[19], 0); TextDrawSetShadow(avtoriz[19], 0); avtoriz[20] = TextDrawCreate(218.499969, 167.729003, "ДОБРО ПОЖАЛОВАТЬ"); TextDrawLetterSize(avtoriz[20], 0.148898, 0.983026); TextDrawTextSize(avtoriz[20], 808.704467, 0.000000); TextDrawAlignment(avtoriz[20], 1); TextDrawColor(avtoriz[20], -1); TextDrawUseBox(avtoriz[20], 1); TextDrawBoxColor(avtoriz[20], 0); TextDrawSetShadow(avtoriz[20], 0); TextDrawSetOutline(avtoriz[20], 0); TextDrawBackgroundColor(avtoriz[20], 255); TextDrawFont(avtoriz[20], 2); TextDrawSetProportional(avtoriz[20], 1); TextDrawSetShadow(avtoriz[20], 0); avtoriz[21] = TextDrawCreate(218.799865, 178.441650, "ВАШ АККАУНТ_~y~НАЙДЕН~w~_В БАЗЕ ДАННЫХ"); TextDrawLetterSize(avtoriz[21], 0.150896, 0.983026); TextDrawTextSize(avtoriz[21], 865.704467, 0.000000); TextDrawAlignment(avtoriz[21], 1); TextDrawColor(avtoriz[21], -1); TextDrawUseBox(avtoriz[21], 1); TextDrawBoxColor(avtoriz[21], 0); TextDrawSetShadow(avtoriz[21], 0); TextDrawSetOutline(avtoriz[21], 0); TextDrawBackgroundColor(avtoriz[21], 255); TextDrawFont(avtoriz[21], 2); TextDrawSetProportional(avtoriz[21], 1); TextDrawSetShadow(avtoriz[21], 0); avtoriz[22] = TextDrawCreate(217.799865, 188.829223, "ДЛЯ АВТОРИЗАЦИИ ВВЕДИТЕ ПАРОЛЬ, УКАЗАННЫЙ РАНЕЕ ПРИ РЕГИСТРАЦИИ???"); TextDrawLetterSize(avtoriz[22], 0.137896, 0.983026); TextDrawTextSize(avtoriz[22], 867.704467, 0.000000); TextDrawAlignment(avtoriz[22], 1); TextDrawColor(avtoriz[22], -1); TextDrawUseBox(avtoriz[22], 1); TextDrawBoxColor(avtoriz[22], 0); TextDrawSetShadow(avtoriz[22], 0); TextDrawSetOutline(avtoriz[22], 0); TextDrawBackgroundColor(avtoriz[22], 255); TextDrawFont(avtoriz[22], 2); TextDrawSetProportional(avtoriz[22], 1); TextDrawSetShadow(avtoriz[22], 0); avtoriz[23] = TextDrawCreate(211.500030, 171.715789, "ld_pool:ball"); TextDrawLetterSize(avtoriz[23], 0.000000, 0.000000); TextDrawTextSize(avtoriz[23], 2.379997, 2.000000); TextDrawAlignment(avtoriz[23], 1); TextDrawColor(avtoriz[23], -5963521); TextDrawSetShadow(avtoriz[23], 0); TextDrawSetOutline(avtoriz[23], 0); TextDrawBackgroundColor(avtoriz[23], 255); TextDrawFont(avtoriz[23], 4); TextDrawSetProportional(avtoriz[23], 0); TextDrawSetShadow(avtoriz[23], 0); avtoriz[24] = TextDrawCreate(211.500030, 182.616455, "ld_pool:ball"); TextDrawLetterSize(avtoriz[24], 0.000000, 0.000000); TextDrawTextSize(avtoriz[24], 2.379997, 2.000000); TextDrawAlignment(avtoriz[24], 1); TextDrawColor(avtoriz[24], -5963521); TextDrawSetShadow(avtoriz[24], 0); TextDrawSetOutline(avtoriz[24], 0); TextDrawBackgroundColor(avtoriz[24], 255); TextDrawFont(avtoriz[24], 4); TextDrawSetProportional(avtoriz[24], 0); TextDrawSetShadow(avtoriz[24], 0); avtoriz[25] = TextDrawCreate(211.500030, 192.617065, "ld_pool:ball"); TextDrawLetterSize(avtoriz[25], 0.000000, 0.000000); TextDrawTextSize(avtoriz[25], 2.379997, 2.000000); TextDrawAlignment(avtoriz[25], 1); TextDrawColor(avtoriz[25], -5963521); TextDrawSetShadow(avtoriz[25], 0); TextDrawSetOutline(avtoriz[25], 0); TextDrawBackgroundColor(avtoriz[25], 255); TextDrawFont(avtoriz[25], 4); TextDrawSetProportional(avtoriz[25], 0); TextDrawSetShadow(avtoriz[25], 0); avtoriz[26] = TextDrawCreate(201.299896, 252.683715, "LD_SPAC:white"); TextDrawLetterSize(avtoriz[26], 0.000000, 0.000000); TextDrawTextSize(avtoriz[26], 239.590225, 15.320007); TextDrawAlignment(avtoriz[26], 1); TextDrawColor(avtoriz[26], 255); TextDrawSetShadow(avtoriz[26], 0); TextDrawSetOutline(avtoriz[26], 0); TextDrawBackgroundColor(avtoriz[26], 255); TextDrawFont(avtoriz[26], 4); TextDrawSetProportional(avtoriz[26], 0); TextDrawSetShadow(avtoriz[26], 0); avtoriz[27] = TextDrawCreate(253.999969, 255.036712, "ВХОД"); TextDrawLetterSize(avtoriz[27], 0.177395, 1.035524); TextDrawTextSize(avtoriz[27], 10.000000, 43.000000); TextDrawAlignment(avtoriz[27], 2); TextDrawColor(avtoriz[27], -1); TextDrawUseBox(avtoriz[27], 1); TextDrawBoxColor(avtoriz[27], 268435456); TextDrawSetShadow(avtoriz[27], 0); TextDrawSetOutline(avtoriz[27], 0); TextDrawBackgroundColor(avtoriz[27], 255); TextDrawFont(avtoriz[27], 2); TextDrawSetProportional(avtoriz[27], 1); TextDrawSetShadow(avtoriz[27], 0); TextDrawSetSelectable(avtoriz[27], true); avtoriz[28] = TextDrawCreate(203.507781, 254.954498, "LD_SPAC:white"); TextDrawLetterSize(avtoriz[28], 0.000000, 0.000000); TextDrawTextSize(avtoriz[28], 1.000000, 11.000000); TextDrawAlignment(avtoriz[28], 1); TextDrawColor(avtoriz[28], -5963521); TextDrawSetShadow(avtoriz[28], 0); TextDrawSetOutline(avtoriz[28], 0); TextDrawBackgroundColor(avtoriz[28], 255); TextDrawFont(avtoriz[28], 4); TextDrawSetProportional(avtoriz[28], 0); TextDrawSetShadow(avtoriz[28], 0); avtoriz[29] = TextDrawCreate(204.199951, 253.454620, ">"); TextDrawLetterSize(avtoriz[29], 0.206400, 1.512400); TextDrawAlignment(avtoriz[29], 1); TextDrawColor(avtoriz[29], -5963521); TextDrawSetShadow(avtoriz[29], 0); TextDrawSetOutline(avtoriz[29], 0); TextDrawBackgroundColor(avtoriz[29], 255); TextDrawFont(avtoriz[29], 2); TextDrawSetProportional(avtoriz[29], 1); TextDrawSetShadow(avtoriz[29], 0); avtoriz[30] = TextDrawCreate(392.999969, 255.024291, "OTMEHA"); TextDrawLetterSize(avtoriz[30], 0.177395, 1.035524); TextDrawTextSize(avtoriz[30], 10.000000, 47.000000); TextDrawAlignment(avtoriz[30], 2); TextDrawColor(avtoriz[30], -1); TextDrawUseBox(avtoriz[30], 1); TextDrawBoxColor(avtoriz[30], 1090519040); TextDrawSetShadow(avtoriz[30], 0); TextDrawSetOutline(avtoriz[30], 0); TextDrawBackgroundColor(avtoriz[30], 255); TextDrawFont(avtoriz[30], 2); TextDrawSetProportional(avtoriz[30], 1); TextDrawSetShadow(avtoriz[30], 0); TextDrawSetSelectable(avtoriz[30], true); avtoriz[31] = TextDrawCreate(437.107879, 254.954498, "LD_SPAC:white"); TextDrawLetterSize(avtoriz[31], 0.000000, 0.000000); TextDrawTextSize(avtoriz[31], 1.000000, 11.000000); TextDrawAlignment(avtoriz[31], 1); TextDrawColor(avtoriz[31], -5963521); TextDrawSetShadow(avtoriz[31], 0); TextDrawSetOutline(avtoriz[31], 0); TextDrawBackgroundColor(avtoriz[31], 255); TextDrawFont(avtoriz[31], 4); TextDrawSetProportional(avtoriz[31], 0); TextDrawSetShadow(avtoriz[31], 0); avtoriz[32] = TextDrawCreate(433.000061, 253.492095, "<"); TextDrawLetterSize(avtoriz[32], 0.206400, 1.512400); TextDrawAlignment(avtoriz[32], 1); TextDrawColor(avtoriz[32], -5963521); TextDrawSetShadow(avtoriz[32], 0); TextDrawSetOutline(avtoriz[32], 0); TextDrawBackgroundColor(avtoriz[32], 255); TextDrawFont(avtoriz[32], 2); TextDrawSetProportional(avtoriz[32], 1); TextDrawSetShadow(avtoriz[32], 0); avtoriz[33] = TextDrawCreate(214.100097, 213.625000, "1"); TextDrawLetterSize(avtoriz[33], 0.315499, 1.525624); TextDrawAlignment(avtoriz[33], 2); TextDrawColor(avtoriz[33], -1); TextDrawSetShadow(avtoriz[33], 0); TextDrawSetOutline(avtoriz[33], 0); TextDrawBackgroundColor(avtoriz[33], 255); TextDrawFont(avtoriz[33], 2); TextDrawSetProportional(avtoriz[33], 1); TextDrawSetShadow(avtoriz[33], 0); avtoriz[34] = TextDrawCreate(214.100097, 233.126190, "2"); TextDrawLetterSize(avtoriz[34], 0.315499, 1.525624); TextDrawAlignment(avtoriz[34], 2); TextDrawColor(avtoriz[34], -1); TextDrawSetShadow(avtoriz[34], 0); TextDrawSetOutline(avtoriz[34], 0); TextDrawBackgroundColor(avtoriz[34], 255); TextDrawFont(avtoriz[34], 2); TextDrawSetProportional(avtoriz[34], 1); TextDrawSetShadow(avtoriz[34], 0); В stock CreateTextDraws(playerid) добавляем //регистрация registrV[playerid][0] = CreatePlayerTextDraw(playerid, 375.699859, 215.550354, "emmanuel_katanov"); PlayerTextDrawLetterSize(playerid, registrV[playerid][0], 0.177397, 1.035524); PlayerTextDrawAlignment(playerid, registrV[playerid][0], 2); PlayerTextDrawColor(playerid, registrV[playerid][0], -1); PlayerTextDrawSetShadow(playerid, registrV[playerid][0], 0); PlayerTextDrawSetOutline(playerid, registrV[playerid][0], 0); PlayerTextDrawBackgroundColor(playerid, registrV[playerid][0], 255); PlayerTextDrawFont(playerid, registrV[playerid][0], 2); PlayerTextDrawSetProportional(playerid, registrV[playerid][0], 1); PlayerTextDrawSetShadow(playerid, registrV[playerid][0], 0); registrV[playerid][1] = CreatePlayerTextDraw(playerid, 376.299896, 235.051544, "НАЖМИТЕ ДЛЯ ВВОДА"); PlayerTextDrawLetterSize(playerid, registrV[playerid][1], 0.177397, 1.035524); PlayerTextDrawTextSize(playerid, registrV[playerid][1], 10.000000, 91.000000); PlayerTextDrawAlignment(playerid, registrV[playerid][1], 2); PlayerTextDrawColor(playerid, registrV[playerid][1], -1); PlayerTextDrawUseBox(playerid, registrV[playerid][1], 1); PlayerTextDrawBoxColor(playerid, registrV[playerid][1], 0); PlayerTextDrawSetShadow(playerid, registrV[playerid][1], 0); PlayerTextDrawSetOutline(playerid, registrV[playerid][1], 0); PlayerTextDrawBackgroundColor(playerid, registrV[playerid][1], 255); PlayerTextDrawFont(playerid, registrV[playerid][1], 2); PlayerTextDrawSetProportional(playerid, registrV[playerid][1], 1); PlayerTextDrawSetShadow(playerid, registrV[playerid][1], 0); PlayerTextDrawSetSelectable(playerid, registrV[playerid][1], true); registrV[playerid][2] = CreatePlayerTextDraw(playerid, 376.299896, 253.852691, "НАЖМИТЕ ДЛЯ ВВОДА"); PlayerTextDrawLetterSize(playerid, registrV[playerid][2], 0.177397, 1.035524); PlayerTextDrawTextSize(playerid, registrV[playerid][2], 10.000000, 91.000000); PlayerTextDrawAlignment(playerid, registrV[playerid][2], 2); PlayerTextDrawColor(playerid, registrV[playerid][2], -1); PlayerTextDrawUseBox(playerid, registrV[playerid][2], 1); PlayerTextDrawBoxColor(playerid, registrV[playerid][2], 0); PlayerTextDrawSetShadow(playerid, registrV[playerid][2], 0); PlayerTextDrawSetOutline(playerid, registrV[playerid][2], 0); PlayerTextDrawBackgroundColor(playerid, registrV[playerid][2], 255); PlayerTextDrawFont(playerid, registrV[playerid][2], 2); PlayerTextDrawSetProportional(playerid, registrV[playerid][2], 1); PlayerTextDrawSetShadow(playerid, registrV[playerid][2], 0); PlayerTextDrawSetSelectable(playerid, registrV[playerid][2], true); registrV[playerid][3] = CreatePlayerTextDraw(playerid, 376.299896, 273.953918, "НАЖМИТЕ ДЛЯ ВВОДА"); PlayerTextDrawLetterSize(playerid, registrV[playerid][3], 0.177397, 1.035524); PlayerTextDrawTextSize(playerid, registrV[playerid][3], 10.000000, 91.000000); PlayerTextDrawAlignment(playerid, registrV[playerid][3], 2); PlayerTextDrawColor(playerid, registrV[playerid][3], -1); PlayerTextDrawUseBox(playerid, registrV[playerid][3], 1); PlayerTextDrawBoxColor(playerid, registrV[playerid][3], 0); PlayerTextDrawSetShadow(playerid, registrV[playerid][3], 0); PlayerTextDrawSetOutline(playerid, registrV[playerid][3], 0); PlayerTextDrawBackgroundColor(playerid, registrV[playerid][3], 255); PlayerTextDrawFont(playerid, registrV[playerid][3], 2); PlayerTextDrawSetProportional(playerid, registrV[playerid][3], 1); PlayerTextDrawSetShadow(playerid, registrV[playerid][3], 0); PlayerTextDrawSetSelectable(playerid, registrV[playerid][3], true); registrV[playerid][4] = CreatePlayerTextDraw(playerid, 376.299896, 293.055084, "НАЖМИТЕ ДЛЯ ВВОДА"); PlayerTextDrawLetterSize(playerid, registrV[playerid][4], 0.177397, 1.035524); PlayerTextDrawTextSize(playerid, registrV[playerid][4], 10.000000, 91.000000); PlayerTextDrawAlignment(playerid, registrV[playerid][4], 2); PlayerTextDrawColor(playerid, registrV[playerid][4], -1); PlayerTextDrawUseBox(playerid, registrV[playerid][4], 1); PlayerTextDrawBoxColor(playerid, registrV[playerid][4], 0); PlayerTextDrawSetShadow(playerid, registrV[playerid][4], 0); PlayerTextDrawSetOutline(playerid, registrV[playerid][4], 0); PlayerTextDrawBackgroundColor(playerid, registrV[playerid][4], 255); PlayerTextDrawFont(playerid, registrV[playerid][4], 2); PlayerTextDrawSetProportional(playerid, registrV[playerid][4], 1); PlayerTextDrawSetShadow(playerid, registrV[playerid][4], 0); PlayerTextDrawSetSelectable(playerid, registrV[playerid][4], true); //авторизация avtorizG[playerid][0] = CreatePlayerTextDraw(playerid, 375.699859, 215.550354, "emmanuel_katanov"); PlayerTextDrawLetterSize(playerid, avtorizG[playerid][0], 0.177395, 1.035524); PlayerTextDrawAlignment(playerid, avtorizG[playerid][0], 2); PlayerTextDrawColor(playerid, avtorizG[playerid][0], -1); PlayerTextDrawSetShadow(playerid, avtorizG[playerid][0], 0); PlayerTextDrawSetOutline(playerid, avtorizG[playerid][0], 0); PlayerTextDrawBackgroundColor(playerid, avtorizG[playerid][0], 255); PlayerTextDrawFont(playerid, avtorizG[playerid][0], 2); PlayerTextDrawSetProportional(playerid, avtorizG[playerid][0], 1); PlayerTextDrawSetShadow(playerid, avtorizG[playerid][0], 0); avtorizG[playerid][1] = CreatePlayerTextDraw(playerid, 376.299896, 235.051544, "НАЖМИТЕ ДЛЯ ВВОДА"); PlayerTextDrawLetterSize(playerid, avtorizG[playerid][1], 0.177395, 1.035524); PlayerTextDrawTextSize(playerid, avtorizG[playerid][1], 10.000000, 91.000000); PlayerTextDrawAlignment(playerid, avtorizG[playerid][1], 2); PlayerTextDrawColor(playerid, avtorizG[playerid][1], -1); PlayerTextDrawUseBox(playerid, avtorizG[playerid][1], 1); PlayerTextDrawBoxColor(playerid, avtorizG[playerid][1], 0); PlayerTextDrawSetShadow(playerid, avtorizG[playerid][1], 0); PlayerTextDrawSetOutline(playerid, avtorizG[playerid][1], 0); PlayerTextDrawBackgroundColor(playerid, avtorizG[playerid][1], 255); PlayerTextDrawFont(playerid, avtorizG[playerid][1], 2); PlayerTextDrawSetProportional(playerid, avtorizG[playerid][1], 1); PlayerTextDrawSetShadow(playerid, avtorizG[playerid][1], 0); PlayerTextDrawSetSelectable(playerid, avtorizG[playerid][1], true); Добавляем переменную 'enum' (Если нету) enum { D_REGISTER = 1, D_LOGIN = 2 } Добавляем в конец мода forward player_check(playerid); public player_check(playerid) { if(!IsPlayerConnected(playerid)) return 1; new rows, fields; cache_get_data(rows, fields); if(rows) { TogglePlayerSpectating(playerid, true); ShowPlayerAutorizationTextDraw(playerid); } else { ShowPlayerRegisterTextDraw(playerid); } SetPVarInt(playerid, "Logged", 1); return 1; } Тоже добавить в конец мода,или же найти где у есть есть 'stock' stock ShowPlayerAutorizationTextDraw(playerid) { for(new idx = 0; idx < 35; idx ++) TextDrawShowForPlayer(playerid, avtoriz[idx]); PlayerTextDrawShow(playerid, avtorizG[playerid][0]); PlayerTextDrawShow(playerid, avtorizG[playerid][1]); new strpass[50]; format(strpass,sizeof(strpass),"%s",GetName(playerid)); PlayerTextDrawSetString(playerid, avtorizG[playerid][0],strpass); SelectTextDraw(playerid,COLOR_ORANGE); } stock ShowPlayerRegisterTextDraw(playerid) { for(new idx = 0; idx < 62; idx ++) TextDrawShowForPlayer(playerid, registr[idx]); PlayerTextDrawShow(playerid, registrV[playerid][0]); PlayerTextDrawShow(playerid, registrV[playerid][1]); PlayerTextDrawShow(playerid, registrV[playerid][2]); PlayerTextDrawShow(playerid, registrV[playerid][3]); PlayerTextDrawShow(playerid, registrV[playerid][4]); new fmt_text[50]; format(fmt_text, sizeof fmt_text, "%s", GetName(playerid)); PlayerTextDrawSetString(playerid, registrV[playerid][0], fmt_text); SelectTextDraw(playerid, COLOR_ORANGE); } stock ShowDialogRegisterPlayer(playerid) { SetPVarInt(playerid, "show_dialog", 1); ShowPlayerDialog ( playerid, D_REGISTER, DIALOG_STYLE_INPUT, "{66cc00}Регистрация", !"{FFFFFF}Добро пожаловать на сервер FunArmy Game\n"\ "Чтобы начать игру вам необходимо пройти регистрацию\n\n"\ "Введите пароль для Вашего аккаунта\n"\ "Он будет запрашиваться каждый раз, когда вы заходите на сервер\n\n"\ "\t{4abe18}Примечания:\n"\ "\t-Пароль может состоять из русских и латинских символов\n"\ "\t-Пароль чувствителен к регистру\n"\ "\t-Длина пароля от 6-ти до 15-ти символов", "Далее", "Отмена" ); } Теперь настроим кликабельность в public OnPlayerClickPlayerTextDraw(playerid, PlayerText:playertextid) else if(playertextid == registrV[playerid][1]) //pass{ if(GetPVarInt(playerid, "show_dialog") == 1) return 1; ShowDialogRegisterPlayer(playerid); } else if(playertextid == registrV[playerid][2]) //mail { if(GetPVarInt(playerid, "show_dialog") == 1) return 1; ShowDialogMailPlayer(playerid); } else if(playertextid == registrV[playerid][3]) //пол { if(GetPVarInt(playerid, "show_dialog") == 1) return 1; ShowDialogSexPlayer(playerid); } else if(playertextid == registrV[playerid][4]) //возраст { if(GetPVarInt(playerid, "show_dialog") == 1) return 1; ShowDialogAgePlayer(playerid); } else if(playertextid == avtorizG[playerid][1])//zazaza { ShowPlayerInputPasswordDialog(playerid); } for(new i = 0; i < 9; i++) Теперь создаём сам диалог регистрации и авторизации case D_REGISTER: { for(new i = strlen(inputtext); i != 0; --i) switch(inputtext[i]) { case 'А'..'Я', 'а'..'я', ' ': // return SendClientMessage(playerid, COLOR_RED, "При вводе пароля используйте только английские буквы"), Kick(playerid); } if(response) { if(!strlen(inputtext) || strlen(inputtext) < 6 || strlen(inputtext) > 16 || IsTextRussian(inputtext)) { ShowDialogRegisterPlayer(playerid); } else { strmid(PI[playerid][pPassword], inputtext, 0, strlen(inputtext), 32); SetPVarInt(playerid, "set_password", 1); new fmt_msg[50]; format(fmt_msg, sizeof fmt_msg, "%s", PI[playerid][pPassword]); PlayerTextDrawSetString(playerid, registrV[playerid][1], fmt_msg); SetPVarInt(playerid, "show_dialog", 0); } } else { SendClientMessage(playerid, COLOR_RED, PlayerNeedToLoggedForToPlay); Kick(playerid); } } case D_LOGIN: { if(!response) { SendClientMessage(playerid, COLOR_RED, PlayerNeedToLoggedForToPlay); Kick(playerid); } for(new i = strlen(inputtext); i != 0; --i) switch(inputtext[i]) { case 'А'..'Я', 'а'..'я', ' ': return ShowPlayerDialog(playerid,D_ERRORPAS,DIALOG_STYLE_MSGBOX,"{"#cSV"}Ошибка","{FFFFFF}Пароль не должен содержать запрещённые символы\nВозможно, Вы вводите пароль не в той раскладке","Повторить",""); } if(!strlen(inputtext)) { ShowPlayerInputPasswordDialog(playerid); } new string[128]; mysql_format(dbHandle, string, sizeof(string), "SELECT * FROM "T_ACCOUNTS" WHERE `name`='%e' AND `password`='%e'", GetName(playerid), inputtext); mysql_tquery(dbHandle, string, "CheckPass", "ds", playerid, inputtext); } Продолжение авторизации и регистрации: case D_ERRORPAS: { if(!response) { SendClientMessage(playerid, COLOR_RED, PlayerNeedToLoggedForToPlay); Kick(playerid); } new string[256]; format(string, sizeof(string), "\ {ffffff}Добро пожаловать на сервер {ffc0cb}"SERVER_NAME".{FFFFFF}\n\ Ваш логин: {689ddb}%s{ffffff}\n\n\ Статус аккаунта: {4BCC2B}зарегистрирован{FFFFFF}\n\ Неверно введён пароль от аккаунта,\n\ убедитесь в правильности введённых вами данных и повторите попытку:", GetName(playerid) ); ShowPlayerDialog(playerid, D_LOGIN, DIALOG_STYLE_INPUT, "{"#cSV"}Авторизация", string, "Войти", "Отмена"); } case D_SEX: { if(response) PI[playerid][pSex] = 1; else PI[playerid][pSex] = 2; new fmt_msg[25]; format(fmt_msg, sizeof fmt_msg, "%s", PI[playerid][pSex] == 1 ? ("мужской") : ("женский")); PlayerTextDrawSetString(playerid, registrV[playerid][3], fmt_msg); SetPVarInt(playerid, "show_dialog", 0); } case D_AGE: { if(!response) ShowDialogAgePlayer(playerid); new age; if(sscanf(inputtext, "i", age)) { SendClientMessage(playerid,COLOR_LIME,"Возраст пишите цифрами. Например: 17"); ShowDialogAgePlayer(playerid); return 1; } if(age < 16 || age > 80) { SendClientMessage(playerid,COLOR_LIME,"Возраст не может быть меньше 16 и не больше 80!"); ShowDialogAgePlayer(playerid); return 1; } PI[playerid][pAge] = age; new fmt_msg[20]; format(fmt_msg, sizeof fmt_msg, "%d", PI[playerid][pAge]); PlayerTextDrawSetString(playerid, registrV[playerid][4], fmt_msg); SetPVarInt(playerid, "show_dialog", 0); } Это тоже.. case D_JOB+30: { if(!response) SendClientMessage(playerid, COLOR_RED, PlayerNeedToLoggedForToPlay), Kick(playerid); if(strlen(inputtext) < 1 || strlen(inputtext) > 36) return ShowDialogMailPlayer(playerid); for(new i = strlen(inputtext); i != 0; --i) { switch(inputtext[i]) { case 'А'..'Я', 'а'..'я', ' ': return SKick(playerid, 243); } } strmid(PI[playerid][pMail], inputtext, 0, strlen(inputtext), 64); SetPVarInt(playerid, "set_email", 1); new fmt_msg[80]; format(fmt_msg, sizeof fmt_msg, "%s", PI[playerid][pMail]); PlayerTextDrawSetString(playerid, registrV[playerid][2], fmt_msg); SetPVarInt(playerid, "show_dialog", 0); } Добавляем в конец мода,или же найдите у себя 'stock' stock ShowPlayerRegisterTextDraw(playerid) { for(new idx = 0; idx < 62; idx ++) TextDrawShowForPlayer(playerid, registr[idx]); PlayerTextDrawShow(playerid, registrV[playerid][0]); PlayerTextDrawShow(playerid, registrV[playerid][1]); PlayerTextDrawShow(playerid, registrV[playerid][2]); PlayerTextDrawShow(playerid, registrV[playerid][3]); PlayerTextDrawShow(playerid, registrV[playerid][4]); new fmt_text[50]; format(fmt_text, sizeof fmt_text, "%s", GetName(playerid)); PlayerTextDrawSetString(playerid, registrV[playerid][0], fmt_text); SelectTextDraw(playerid, COLOR_ORANGE); } В конец мода stock ShowDialogRegisterPlayer(playerid) { SetPVarInt(playerid, "show_dialog", 1); ShowPlayerDialog ( playerid, D_REGISTER, DIALOG_STYLE_INPUT, "{66cc00}Регистрация", !"{FFFFFF}Добро пожаловать на сервер FunArmy Game\n"\ "Чтобы начать игру вам необходимо пройти регистрацию\n\n"\ "Введите пароль для Вашего аккаунта\n"\ "Он будет запрашиваться каждый раз, когда вы заходите на сервер\n\n"\ "\t{4abe18}Примечания:\n"\ "\t-Пароль может состоять из русских и латинских символов\n"\ "\t-Пароль чувствителен к регистру\n"\ "\t-Длина пароля от 6-ти до 15-ти символов", "Далее", "Отмена" ); } stock ShowDialogSexPlayer(playerid) { SetPVarInt(playerid, "show_dialog", 1); ShowPlayerDialog ( playerid, D_SEX, DIALOG_STYLE_MSGBOX, "{66cc00}Выбор пола", "{ffffff}Пожалуйста, выберите свой пол:", "Мужской", "Женский" ); } stock ShowDialogAgePlayer(playerid) { SetPVarInt(playerid, "show_dialog", 1); ShowPlayerDialog ( playerid, D_AGE, DIALOG_STYLE_INPUT, "{66cc00}Ваш возраст", "{ffffff}Укажите ваш игровой возраст:", "Далее","" ); } stock ShowPlayerInputPasswordDialog(playerid) { ShowPlayerDialog ( playerid, D_LOGIN, DIALOG_STYLE_INPUT, "{66cc00}Авторизация", "{FFFFFF}Добро пожаловать на сервер ...\nВаш ник зарегистрирован\n\nВведите пароль:", "Войти", "Отмена" ); } stock ShowDialogMailPlayer(playerid) { SetPVarInt(playerid, "show_dialog", 1); ShowPlayerDialog ( playerid, D_JOB+30, DIALOG_STYLE_INPUT, "{66cc00}Email", "{FFFFFF}Введите адрес Вашей электронной почты\n"\ "Используя его, вы сможете восстановить доступ к аккаунту\n"\ "в случае взлома или если забудете пароль.\n\n"\ "На email мы вышлем ссылку. В течение 14 дней Вы можете\n"\ "перейти по ней для подтверждения почты.\n\n"\ "Убедитесь в правильности ввода и нажмите \"Далее\"", "Далее", "Отмена" ); return 1; } В конец мода forward Alogin(playerid, name[]); public Alogin(playerid, name[]) { new rows, fields; cache_get_data(rows, fields); if(!rows) { if(PI[playerid][pAdmin] > ADM_NONE) PI[playerid][pAdmin] = ADM_NONE; return 1; } new Password[16]; cache_get_field_content(0, "password", Password, dbHandle); if(!strcmp(Password, "qwerty", true)) { SetPVarInt(playerid, "aLogin", 1); ShowPlayerDialog(playerid, D_ALOGIN, DIALOG_STYLE_INPUT, "{"#cSV"}Регистрация администратора", "\ {FFFFFF}Введите пароль, который будет от панели администратора\n\n\ {63BD4E}Примечание:\n\ \t- Пароль должен состоять из латинских букв и цифр\n\ \t- Размер пароля от 6 до 15 символов", "Принять", "Отмена"); } else { SetPVarInt(playerid, "aLogin", 0); ShowPlayerDialog(playerid, D_ALOGIN, DIALOG_STYLE_INPUT, "{"#cSV"}Доступ администратора", "\ {FFFFFF}Введите Ваш пароль от панели администратора", "Принять", "Отмена"); } return 1; } Продолжаем настраивать кликабельность, public OnPlayerClickTextDraw(playerid, Text:clickedid) else if(clickedid == registr[51])//вход{ if(GetPVarInt(playerid, "set_password") != 1) return SendClientMessage(playerid, COLOR_RED, "Вы не установили пароль"); if(GetPVarInt(playerid, "set_email") != 1) return SendClientMessage(playerid, COLOR_RED, "Вы не ввели свою почту"); if(PI[playerid][pSex] == 0) return SendClientMessage(playerid, COLOR_RED, "Вы не выбрали свой пол"); if(PI[playerid][pAge] == 0) return SendClientMessage(playerid, COLOR_RED, "Вы не установили свой возраст"); DeletePVar(playerid, "player_in_enter"); ClothesRound[playerid] = 1; PlayerRegistered[playerid] = 1; SetHealth(playerid, 100); SetHunger(playerid, 100); PlayerLogged[playerid] = true; for(new idx = 0; idx < 62; idx ++) TextDrawHideForPlayer(playerid, registr[idx]); PlayerTextDrawHide(playerid, registrV[playerid][0]); PlayerTextDrawHide(playerid, registrV[playerid][1]); PlayerTextDrawHide(playerid, registrV[playerid][2]); PlayerTextDrawHide(playerid, registrV[playerid][3]); PlayerTextDrawHide(playerid, registrV[playerid][4]); SetHealth(playerid, 100.0); if(PI[playerid][pSex] == 1) SetPlayerSkin(playerid, JoinRegM[SelectCharPlace[playerid]]), ChosenSkin[playerid] = JoinRegM[0]; else SetPlayerSkin(playerid, JoinRegF[SelectCharPlace[playerid]]), ChosenSkin[playerid] = JoinRegF[0]; } else if(clickedid == avtoriz[27]) { if(GetPVarInt(playerid, "velpass") != 1) return SendClientMessage(playerid, 0xff7000FF, "Для начала заполните поле с паролем!"); PlayerLogged[playerid] = true; static const fmt_str[] = "SELECT * FROM "T_ACCOUNTS" WHERE `name` = '%s'"; new mysql_str[sizeof fmt_str + 44 + MAX_PLAYER_NAME]; format(mysql_str, sizeof(mysql_str), fmt_str, GetName(playerid)); mysql_tquery(dbHandle, mysql_str, "OnPlayerLogin", "i", playerid); TogglePlayerSpectating(playerid, false); ForceClassSelection(playerid); CancelSelectTextDraw(playerid); for(new i; i<35; i++) TextDrawHideForPlayer(playerid, avtoriz[i]); PlayerTextDrawHide(playerid, avtorizG[playerid][0]); PlayerTextDrawHide(playerid, avtorizG[playerid][1]); DeletePVar(playerid, "velpass"); } else if(clickedid == registr[54])//отмена { SendClientMessage(playerid,-1,"Введите /q чтобы Выйти"); KickEx(playerid); } else if(clickedid == avtoriz[30])//отмена { SendClientMessage(playerid,-1,"Введите /q чтобы Выйти"); KickEx(playerid); } На этом всё!
  2. Весьма удобная система GPS, с указанием дистанции до места назначения, с использованием TD. Фото данной системы. [spoiler=Cкриншот] Для работоспособности данной системы, необходимо : Ко всем переменным, добавляем new PlayerText:GPSINFO,Text:GPSTD[4]; В public OnPlayerDisconnect(playerid, reason) добавляем PlayerTextDrawDestroy(playerid,GPSINFO); В секундный таймер if(GetPVarInt(i,"GPS") == 1) { new Float:p[3]; GetPlayerPos(i,p[0],p[1],p[2]); new str[144]; format(str,sizeof(str),"~y~Distance~n~~w~%.1f m",GetDistanceBetweenPoints(p[0], p[1], p[2], GetPVarFloat(i,"GPSX"), GetPVarFloat(i,"GPSY"), GetPVarFloat(i,"GPSZ"))); PlayerTextDrawSetString(i,GPSINFO,str); } В public OnPlayerConnect(playerid) добавляем TD GPSINFO = CreatePlayerTextDraw(playerid, 153.0000, 404.3750, "~Y~Error"); // nope PlayerTextDrawLetterSize(playerid, GPSINFO, 0.1570, 0.8956); PlayerTextDrawTextSize(playerid, GPSINFO, 229.0000, 0.0000); PlayerTextDrawAlignment(playerid, GPSINFO, 1); PlayerTextDrawColor(playerid, GPSINFO, -1); PlayerTextDrawUseBox(playerid, GPSINFO, 1); PlayerTextDrawBoxColor(playerid, GPSINFO, 524025600); PlayerTextDrawSetOutline(playerid, GPSINFO, 0); PlayerTextDrawBackgroundColor(playerid, GPSINFO, 255); PlayerTextDrawFont(playerid, GPSINFO, 2); PlayerTextDrawSetProportional(playerid, GPSINFO, 1); PlayerTextDrawSetShadow(playerid, GPSINFO, 0); К всем глобальным текстдравам GPSTD[0] = TextDrawCreate(123.5000, 395.9624, "ld_beat:chit"); // nope TextDrawLetterSize(GPSTD[0], 0.0000, 0.0000); TextDrawTextSize(GPSTD[0], 34.0000, 35.0000); TextDrawAlignment(GPSTD[0], 1); TextDrawColor(GPSTD[0], 186596351); TextDrawSetOutline(GPSTD[0], 0); TextDrawBackgroundColor(GPSTD[0], 255); TextDrawFont(GPSTD[0], 4); TextDrawSetProportional(GPSTD[0], 0); TextDrawSetShadow(GPSTD[0], 0); GPSTD[1] = TextDrawCreate(202.5000, 395.9624, "ld_beat:chit"); // nope TextDrawLetterSize(GPSTD[1], 0.0000, 0.0000); TextDrawTextSize(GPSTD[1], 34.0000, 35.0000); TextDrawAlignment(GPSTD[1], 1); TextDrawColor(GPSTD[1], 186596351); TextDrawSetOutline(GPSTD[1], 0); TextDrawBackgroundColor(GPSTD[1], 255); TextDrawFont(GPSTD[1], 4); TextDrawSetProportional(GPSTD[1], 0); TextDrawSetShadow(GPSTD[1], 0); GPSTD[2] = TextDrawCreate(140.0000, 401.3125, "LD_SPAC:white"); // nope TextDrawLetterSize(GPSTD[2], 0.0000, 0.0000); TextDrawTextSize(GPSTD[2], 81.0000, 23.7599); TextDrawAlignment(GPSTD[2], 1); TextDrawColor(GPSTD[2], 186596351); TextDrawSetOutline(GPSTD[2], 0); TextDrawBackgroundColor(GPSTD[2], 255); TextDrawFont(GPSTD[2], 4); TextDrawSetProportional(GPSTD[2], 0); TextDrawSetShadow(GPSTD[2], 0); GPSTD[3] = TextDrawCreate(130.0000, 402.5249, "hud:radar_waypoint"); // nope TextDrawLetterSize(GPSTD[3], 0.0000, 0.0000); TextDrawTextSize(GPSTD[3], 21.0000, 21.0000); TextDrawAlignment(GPSTD[3], 1); TextDrawColor(GPSTD[3], -1); TextDrawSetOutline(GPSTD[3], 0); TextDrawBackgroundColor(GPSTD[3], 255); TextDrawFont(GPSTD[3], 4); TextDrawSetProportional(GPSTD[3], 0); TextDrawSetShadow(GPSTD[3], 0); В конец мода stock Float:GetDistanceBetweenPoints(Float:X, Float:Y, Float:Z, Float:PointX, Float:PointY, Float:PointZ) { new Float:Distance;Distance = floatabs(floatsub(X, PointX)) + floatabs(floatsub(Y, PointY)) + floatabs(floatsub(Z, PointZ)); return Distance; } stock GPS(playerid, Float:x, Float:y, Float:z,NameSTR[]) { new str[144]; if(GetPVarInt(playerid,"GPS") == 1) RemovePlayerMapIcon(playerid, 99); SetPlayerMapIcon(playerid, 99, x, y, z, 19, 0, MAPICON_GLOBAL); new Float:p[3]; GetPlayerPos(playerid,p[0],p[1],p[2]); format(str,sizeof(str),"{FFFFFF}Место назначение {FFFFFF}%s{FFFFFF}. Расстояние до место назначение {FFFFFF}%.1f м.(красный флажок)",NameSTR,GetDistanceBetweenPoints(p[0], p[1], p[2], x, y, z)); SendClientMessage(playerid,-1,str); PlayerPlaySound(playerid, 1085, 0.0, 0.0, 0.0); SetPVarInt(playerid,"GPS",1); SetPVarInt(playerid,"GPS_AREA",CreateDynamicSphere(x, y, z, 10.0, 0, 0, -1)); SetPVarFloat(playerid,"GPSX",x); SetPVarFloat(playerid,"GPSY",y); SetPVarFloat(playerid,"GPSZ",z); format(str,sizeof(str),"~y~Distance~n~~w~%.1f m",GetDistanceBetweenPoints(p[0], p[1], p[2], x, y, z)); PlayerTextDrawSetString(playerid,GPSINFO,str); for(new i; i < sizeof(GPSTD); i++) TextDrawShowForPlayer(playerid,GPSTD[i]); PlayerTextDrawShow(playerid,GPSINFO); return true; } stock UNGPS(playerid) { if(GetPVarInt(playerid,"GPS") == 1) { DestroyDynamicArea(GetPVarInt(playerid,"GPS_AREA")); DeletePVar(playerid,"GPS_AREA"); RemovePlayerMapIcon(playerid, 99); SetPVarInt(playerid,"GPS",0); DeletePVar(playerid,"GPSX"); DeletePVar(playerid,"GPSY"); DeletePVar(playerid,"GPSZ"); for(new i; i < sizeof(GPSTD); i++) TextDrawHideForPlayer(playerid,GPSTD[i]); PlayerTextDrawHide(playerid,GPSINFO); } return true; } Автор данной системы и TD : -WorcOut-
  3. Сегодня мы с вами напишем систему АТМ для сервера с возможностью создания из игры. Система на MySQL! Командный процессор DC_CMD! [1] Ко всем define: #define MAX_ATM 1000 // максимальное количество банкоматов. #define dbank 4 // ID диалога АТМ. [2] Ко всем переменным new: new TOTALATM = 1; // Всего АТМ new BankObject; // объект АТМ [3] Ко всем enum: enum BDATA { bID, Float:bX, Float:bY, Float:bZ, Float:bRX, Float:bRY, Float:bRZ } new bInfo[MAX_ATM][BDATA]; [4] Теперь ко всем командам добавим: CMD:atm(playerid, params[]) { new Float:POS[3]; // Переменные для записи позиции персонажа! GetPlayerPos(playerid, POS[0], POS[1], POS[2]); // Узнаем позицию персонажа и записываем их в POS. BankObject = CreateObject(2942,POS[0]+2, POS[1], POS[2],0,0,270); // Создаем объект АТМ. EditObject(playerid, BankObject); // Назначаем переменной BankObject функцию редактирования объекта. SetPVarInt(playerid, "bEDIT", 1); // Установим число 1 в переменную игрока. return true; } [5] Далее переходим в public OnPlayerEditObject (если его нет создайте): if(response == EDIT_RESPONSE_FINAL) // Если игрок нажал на иконку сохранить. { if(GetPVarInt(playerid, "bEDIT") == 1) // Проверяем переменную игрока на число 1. { new query[200]; // Переменная для запроса. mysql_format(mysql, query, sizeof(query), "INSERT INTO `ATM` (`bID`, `bX`, `bY`, `bZ`, `bRX`, `bRY`, `bRZ`) VALUES ('%d', '%f', '%f', '%f', '%f', '%f', '%f')", TOTALATM, fX, fY, fZ, fRotX, fRotY, fRotZ); mysql_tquery(mysql, query, "", ""); // Запрос на БД. bInfo[TOTALATM][bX] = fX; // Записываем позицию объекта(x) в переменную bX. bInfo[TOTALATM][bY] = fY; // Записываем позицию объекта(y) в переменную bY. bInfo[TOTALATM][bZ] = fZ; // Записываем позицию объекта(z) в переменную bZ. TOTALATM++; Create3DTextLabel("Банкомат\nНажмите {529b43}'Y'", -1, fX, fY, fZ, 10.0, 0, 1); // Создаем 3D текст у банкомата SendClientMessage(playerid, -1, "Банкомат успешно создан!"); // Если все прошло успешно выводим текст. } } if(response == EDIT_RESPONSE_CANCEL) // Если игрок нажал на ESC { if(GetPVarInt(playerid, "bEDIT") == 1) // Проверяем переменную игрока на число 1. { DestroyObject(BankObject); // Удаляем АТМ. SendClientMessage(playerid, -1, "Банкомат удален!"); // Если все прошло успешно выводим текст. DeletePVar(playerid, "bEDIT"); // Обнуляем переменную игрока. } } [6] В конец мода или там где у вас находится загрузка данных: stock LoadAtm() return mysql_function_query(mysql, "SELECT * FROM `ATM` ORDER BY `ATM`.`bID` ASC ", false, "OnAccountBank",""); // stock для загрузки ATM. forward OnAccountBank(playerid); public OnAccountBank(playerid) { new rows, fields;// Создаем переменные для выгрузки кол-во строк-граф cache_get_data(rows, fields);// Выгружаем примечание не выгружает если выключено кзширование new i = 0;// Переменная для хранения временного new temp[128]; if(rows)// Проверка есть ли строчки в таблице. { for(new idx = 1; idx <= rows; idx++) { cache_get_row(i, 0, temp), bInfo[idx][bID] = strval(temp); // Загружаем 1 строчку БД. cache_get_row(i, 1, temp), bInfo[idx][bX] = floatstr(temp); // Загружаем 2 строчку БД. cache_get_row(i, 2, temp), bInfo[idx][bY] = floatstr(temp); // Загружаем 3 строчку БД. cache_get_row(i, 3, temp), bInfo[idx][bZ] = floatstr(temp); // Загружаем 4 строчку БД. cache_get_row(i, 4, temp), bInfo[idx][bRX] = floatstr(temp); // Загружаем 5 строчку БД. cache_get_row(i, 5, temp), bInfo[idx][bRY] = floatstr(temp); // Загружаем 6 строчку БД. cache_get_row(i, 6, temp), bInfo[idx][bRZ] = floatstr(temp); // Загружаем 7 строчку БД. TOTALATM++, i++; CreateObject(2942, bInfo[idx][bX], bInfo[idx][bY], bInfo[idx][bZ], bInfo[idx][bRX], bInfo[idx][bRY], bInfo[idx][bRZ]); // Создаем АТМ. Create3DTextLabel("Банкомат\nНажмите {529b43}'Y'", -1, bInfo[idx][bX], bInfo[idx][bY], bInfo[idx][bZ], 10.0, 0, 1); // Создаем 3D текст. } } return printf("[Система АТМ]: Было загружено - %d", TOTALATM); // Показываем сколько банкоматов было загружено. } [7] Теперь public OnGameModeInit(): LoadAtm(); И так с созданием АТМ и его загрузкой мы закончили. Теперь собственно сделаем чтобы банкомат работал:) [1] В public OnPlayerKeyStateChange: if(newkeys == KEY_YES) // если игрок нажал на Y { for(new b = 1; b <= TOTALATM; b++) { if(IsPlayerInRangeOfPoint(playerid, 1.0, bInfo[b][bX], bInfo[b][bY], bInfo[b][bZ])) // Проверяем стоит ли игрок рядом с банкоматом. Если да то выводим диалог ниже :) { ShowPlayerDialog(playerid, dbank, DIALOG_STYLE_LIST, "{FFFFFF}Банкомат", "{529b43}[1] {ffffff}Баланс\n{529b43}[2] {ffffff}Снять наличные\n{529b43}[3] {ffffff}Внести наличные", "Войти", "Выйти"); } } return true; } [2] В public OnDialogResponse: switch(dialogid) { case dbank: { if(!response) return true; // Игрок нажал на вторую кнопку! switch(listitem) { case 0: // Игрок выбрал первый пункт! { new string[50]; // Переменная которая хранит длину текста! format(string,sizeof(string),"{FFFFFF}Баланс: {529b43}%d {FFFFFF}р.", pInfo[playerid][BankAccount]); SendClientMessage(playerid, -1, string); ShowPlayerDialog(playerid, dbank, DIALOG_STYLE_LIST, "{FFFFFF}Банкомат", "{529b43}[1] {ffffff}Баланс\n{529b43}[2] {ffffff}Снять наличные\n{529b43}[3] {ffffff}Внести наличные", "Далее", "Выйти"); } case 1: // Игрок выбрал второй пункт! { ShowPlayerDialog(playerid, dbank+1, DIALOG_STYLE_INPUT, "{FFFFFF}Банкомат{529b43} [Снять наличные]", "{ffffff}Введите сумму которую хотите снять:", "Снять", "Выйти"); } case 2: // Игрок выбрал третий пункт! { ShowPlayerDialog(playerid, dbank+2, DIALOG_STYLE_INPUT, "{FFFFFF}Банкомат{529b43} [Внести наличные]", "{ffffff}Введите сумму которую хотите внести:", "Внести", "Выйти"); } } } case dbank+1: { if(!response) return ShowPlayerDialog(playerid, dbank, DIALOG_STYLE_LIST, "{FFFFFF}Банкомат", "{529b43}[1] {ffffff}Баланс\n{529b43}[2] {ffffff}Снять наличные\n{529b43}[3] {ffffff}Внести наличные", "Далее", "Выйти"); if(strval(inputtext) > pInfo[playerid][BankAccount]) // Проверяем хватает ли денег в банке. Если нет выводим диалог и текст! { ShowPlayerDialog(playerid, dbank+1, DIALOG_STYLE_INPUT, "{FFFFFF}Банкомат{529b43} [Снять наличные]", "{ffffff}Введите сумму которую хотите снять:", "Снять", "Выйти"); return SendClientMessage(playerid, -1, "Недостаточно средств!"); } pInfo[playerid][BankAccount] -= strval(inputtext); pInfo[playerid][Money] += strval(inputtext); GivePlayerMoney(playerid, strval(inputtext)); } case dbank+2: { if(!response) return ShowPlayerDialog(playerid, dbank, DIALOG_STYLE_LIST, "{FFFFFF}Банкомат", "{529b43}[1] {ffffff}Баланс\n{529b43}[2] {ffffff}Снять наличные\n{529b43}[3] {ffffff}Внести наличные", "Далее", "Выйти"); if(strval(inputtext) > pInfo[playerid][Money]) // проверяем хватает ли денег у игрока. Если нет то выводим диалог и текст! { ShowPlayerDialog(playerid, dbank+2, DIALOG_STYLE_INPUT, "{FFFFFF}Банкомат{529b43} [Внести наличные]", "{ffffff}Введите сумму которую хотите внести:", "Внести", "Выйти"); return SendClientMessage(playerid, -1, "Недостаточно средств!"); } pInfo[playerid][BankAccount] += strval(inputtext); GivePlayerMoney(playerid, -strval(inputtext)); } } Теперь нам нужно создать БД для АТМ. Создаем таблицу и называем ее ATM и далее делаем как на фото:[spoiler=фото] Ну вот и все, система АТМ готова. Обзор https://youtu.be/QRxkcy1aw18 Прикрепил PWN :) P.S: pInfo[playerid][bankAccount], pInfo[playerid][Money] и запрос mysql нужно заменить на свое чтобы не было ошибок! ATM.pwn
  4. Доброго времени суток, форумчане. Сегодня, решил выполнить логотип у известного проекта CRMP - Namalsk RolePlay. Как получилось, решать вам. Ссылка на логотип: https://yadi.sk/d/kMOhda163UAKuR Официальный логотип сделан командой разработчиков Namalsk RolePlay. Автор копии логотипа - Андрей Микилов.
  5. Доброго времени суток, уважаемые форумчане. Сегодня я попытался сделать логотип замечательного проекта Criminal Russia RolePlay и панель читеров, как получилось - решать вам. Ссылка на логотип: https://yadi.sk/d/BJNSPkLP3TSP88 ( Пишу с телефона, если будет проблема с ссылкой пишите, исправлю. ) Хочу дополнить, системы часов с датой, панели читеров нету. Придется писать самим. Официальный логотип и панель читеров сделана командой разработчиков Criminal Russia RolePlay ( www.crmprp.ru ). Автор копии логотипа и панели читеров - Андрей Микилов.
  6. #Pawno

    Система Loading

    Доброго времени суток , решил выложить свою работу на форум. Так как более она не актуальна на моем старом сервере , так что ловите. Система Loading , красивый загрузочный экран при входе и выходе с интерьеров, может кто видел подобное в SA-MP на Arizone. Приступим к написанию/вшиванию системы в ваш мод. Ко всем глобальным переменным добавим new PlayerText:LOADING[MAX_PLAYERS][9];// отвечает за кол-во TD new loading[MAX_PLAYERS] = 0; // для timera Далее в конец мода , или как вам удобно создаем forward и pablic forward Loading(playerid);// объявление паблика public Loading(playerid) { loading[playerid] ++;// связано с timer switch(loading[playerid]) { case 0..1: PlayerTextDrawSetString(playerid, LOADING[playerid][8], "~g~IIIII~w~~h~IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII"); case 2..4: PlayerTextDrawSetString(playerid, LOADING[playerid][8], "~g~IIIIIIIIIIIIIIIII~w~~h~IIIIIIIIIIIIIIIIIIIIIIIIIIIII"); case 5..6: PlayerTextDrawSetString(playerid, LOADING[playerid][8], "~g~IIIIIIIIIIIIIIIIIIIIIIIIIII~w~~h~IIIIIIIIIIIIIIIIIII"); case 7..8: PlayerTextDrawSetString(playerid, LOADING[playerid][8], "~g~IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII~w~~h~IIIII"); case 9: { PlayerTextDrawSetString(playerid, LOADING[playerid][8],"~g~IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII~w~~h~"); // Полностью загружаем экран for(new i; i < 9; i++) PlayerTextDrawHide(playerid, LOADING[playerid][i]);// Скрываем экран loading[playerid] = 0; } }// case 0 - 9 это кол-во секунд загрузочного экрана , после которого он пропадет return 1; } После этого добавляем сам TD , который довольна таки интересный. В паблик CreateTextdraws , если его нету , то в OnPlayerConnect LOADING[playerid][0] = CreatePlayerTextDraw(playerid, -0.333333, -0.829629, "LD_SPAC:white"); PlayerTextDrawLetterSize(playerid, LOADING[playerid][0], 0.000000, 0.000000); PlayerTextDrawTextSize(playerid, LOADING[playerid][0], 641.666625, 450.074096); PlayerTextDrawAlignment(playerid, LOADING[playerid][0], 1); PlayerTextDrawColor(playerid, LOADING[playerid][0], 255); PlayerTextDrawSetShadow(playerid, LOADING[playerid][0], 0); PlayerTextDrawSetOutline(playerid, LOADING[playerid][0], 0); PlayerTextDrawFont(playerid, LOADING[playerid][0], 4); LOADING[playerid][1] = CreatePlayerTextDraw(playerid, 220.666671, 131.911102, "LD_SPAC:white"); PlayerTextDrawLetterSize(playerid, LOADING[playerid][1], 0.000000, 0.000000); PlayerTextDrawTextSize(playerid, LOADING[playerid][1], 209.333328, 244.740753); PlayerTextDrawAlignment(playerid, LOADING[playerid][1], 1); PlayerTextDrawColor(playerid, LOADING[playerid][1], -2139062017); PlayerTextDrawSetShadow(playerid, LOADING[playerid][1], 0); PlayerTextDrawSetOutline(playerid, LOADING[playerid][1], 0); PlayerTextDrawFont(playerid, LOADING[playerid][1], 4); LOADING[playerid][2] = CreatePlayerTextDraw(playerid, 221.333358, 157.214828, "loadsc6:loadsc6"); PlayerTextDrawLetterSize(playerid, LOADING[playerid][2], 0.000000, 0.000000); PlayerTextDrawTextSize(playerid, LOADING[playerid][2], 102.333328, 107.437011); PlayerTextDrawAlignment(playerid, LOADING[playerid][2], 1); PlayerTextDrawColor(playerid, LOADING[playerid][2], -1); PlayerTextDrawSetShadow(playerid, LOADING[playerid][2], 0); PlayerTextDrawSetOutline(playerid, LOADING[playerid][2], 0); PlayerTextDrawFont(playerid, LOADING[playerid][2], 4); LOADING[playerid][3] = CreatePlayerTextDraw(playerid, 327.333618, 269.385070, "loadsc8:loadsc8"); PlayerTextDrawLetterSize(playerid, LOADING[playerid][3], 0.000000, 0.000000); PlayerTextDrawTextSize(playerid, LOADING[playerid][3], 102.333328, 107.437011); PlayerTextDrawAlignment(playerid, LOADING[playerid][3], 1); PlayerTextDrawColor(playerid, LOADING[playerid][3], -1); PlayerTextDrawSetShadow(playerid, LOADING[playerid][3], 0); PlayerTextDrawSetOutline(playerid, LOADING[playerid][3], 0); PlayerTextDrawFont(playerid, LOADING[playerid][3], 4); LOADING[playerid][4] = CreatePlayerTextDraw(playerid, 327.666656, 157.385177, "loadsc0:loadsc0"); PlayerTextDrawLetterSize(playerid, LOADING[playerid][4], 0.000000, 0.000000); PlayerTextDrawTextSize(playerid, LOADING[playerid][4], 102.333328, 107.437011); PlayerTextDrawAlignment(playerid, LOADING[playerid][4], 1); PlayerTextDrawColor(playerid, LOADING[playerid][4], -1); PlayerTextDrawSetShadow(playerid, LOADING[playerid][4], 0); PlayerTextDrawSetOutline(playerid, LOADING[playerid][4], 0); PlayerTextDrawFont(playerid, LOADING[playerid][4], 4); LOADING[playerid][5] = CreatePlayerTextDraw(playerid, 221.333221, 269.555786, "loadsc1:loadsc1"); PlayerTextDrawLetterSize(playerid, LOADING[playerid][5], 0.000000, 0.000000); PlayerTextDrawTextSize(playerid, LOADING[playerid][5], 102.333328, 107.437011); PlayerTextDrawAlignment(playerid, LOADING[playerid][5], 1); PlayerTextDrawColor(playerid, LOADING[playerid][5], -1); PlayerTextDrawSetShadow(playerid, LOADING[playerid][5], 0); PlayerTextDrawSetOutline(playerid, LOADING[playerid][5], 0); PlayerTextDrawFont(playerid, LOADING[playerid][5], 4); LOADING[playerid][6] = CreatePlayerTextDraw(playerid, 241.333236, 129.837051, "LOADING TEXTURE"); PlayerTextDrawLetterSize(playerid, LOADING[playerid][6], 0.449999, 1.600000); PlayerTextDrawAlignment(playerid, LOADING[playerid][6], 1); PlayerTextDrawColor(playerid, LOADING[playerid][6], 255); PlayerTextDrawSetShadow(playerid, LOADING[playerid][6], 0); PlayerTextDrawSetOutline(playerid, LOADING[playerid][6], 1); PlayerTextDrawBackgroundColor(playerid, LOADING[playerid][6], 16777215); PlayerTextDrawFont(playerid, LOADING[playerid][6], 2); PlayerTextDrawSetProportional(playerid, LOADING[playerid][6], 1); LOADING[playerid][7] = CreatePlayerTextDraw(playerid, 220.666717, 142.696319, "LD_SPAC:white"); PlayerTextDrawLetterSize(playerid, LOADING[playerid][7], 0.000000, 0.000000); PlayerTextDrawTextSize(playerid, LOADING[playerid][7], 209.666641, 14.933323); PlayerTextDrawAlignment(playerid, LOADING[playerid][7], 1); PlayerTextDrawColor(playerid, LOADING[playerid][7], 255); PlayerTextDrawSetShadow(playerid, LOADING[playerid][7], 0); PlayerTextDrawSetOutline(playerid, LOADING[playerid][7], 0); PlayerTextDrawFont(playerid, LOADING[playerid][7], 4); LOADING[playerid][8] = CreatePlayerTextDraw(playerid, 222.999954, 142.281463, "IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII"); PlayerTextDrawLetterSize(playerid, LOADING[playerid][8], 0.449999, 1.600000); PlayerTextDrawAlignment(playerid, LOADING[playerid][8], 1); PlayerTextDrawColor(playerid, LOADING[playerid][8], -1); PlayerTextDrawSetShadow(playerid, LOADING[playerid][8], 0); PlayerTextDrawSetOutline(playerid, LOADING[playerid][8], 1); PlayerTextDrawBackgroundColor(playerid, LOADING[playerid][8], 51); PlayerTextDrawFont(playerid, LOADING[playerid][8], 2); PlayerTextDrawSetProportional(playerid, LOADING[playerid][8], 1); Далее в OnPlayerConnect loading[playerid] = 0; А также в OnPlayerDisconect loading[playerid] = 0; for(new i; i < 9; i++) PlayerTextDrawDestroy(playerid, LOADING[playerid][i]); Пример работы с данной системой , ищем вход и выход с интерьеров. Пример: if(pickupid == stolovkapick[0]) // медики вход { for(new i; i < 9; i++) PlayerTextDrawShow(playerid, LOADING[playerid][i]); FreezePlayer(playerid, 5000); SetPlayerInterior(playerid,0); SetPlayerPos(playerid,341.2714,2962.2874,1.7659); SetPlayerFacingAngle(playerid, 51.1457); SetPlayerVirtualWorld(playerid, 0); } if(pickupid == stolovkapick[1]) // медики выход { FreezePlayer(playerid, 2000); SetPlayerInterior(playerid,0); SetPlayerPos(playerid,345.6590,2952.8816,1.7659); SetPlayerFacingAngle(playerid, 180.1457); SetPlayerVirtualWorld(playerid, 0); } И в начале каждого входа или выхода интерьер , сами решайте где юзать. for(new i; i [spoiler=TD Loading] Автор работы: #pawno(Artem_Storn) При копирование темы на другой портал , указывать автора.
  7. ShiGanKa

    TextDraw спидометра

    Автор: SHIGAN4EG Скачать .txt - https://drive.google.com/open?id=1nEmURb9o1H2eyw19ouwRVdzLz7IMDiRR Скачать .tde - https://drive.google.com/open?id=1LQnxpFIqUtK6B8FrFHseLWmLamUvx9I2 [spoiler=Скриншот] По задумке цвет скорости и бензина должен меняться. Используйте ~g~~h~~h~, ~y~, ~r~~h~~h~.
  8. Здравствуйте форумчане Понимаю, что делать та нечего, но может кому нибудь пригодиться и выкладываю вам TD спидометра. Внимание: Это не система, а если хотите вшить в мод, то обращайтесь в ЛС. Сделаю за небольшую плату. Автор спидометра: Неизвестно Скачать: https://yadi.sk/d/LCtlxlnf3Q9nTb
  9. Здравствуйте , дорогие форумчане.Уроков от меня на форуме вообще не было.. Исправляюсь :) Многие задавались вопросом: "Как добавить картинку в мод-пак?" В основном, все спрашивают : "Как сделать логотип как на грин тече?". -Что-же нам для этого понадобится? Фотошоп TXD Workshop Прямые руки :), и конечно же , идея логотипа, или что вы там делаете . -В фотошопе (в моём случае делаем логотип) , создаём картинку 600x600. 1 - Пишем текст, допустим: cr-mp.ru,в слоях удаляем фон, после добавления текста, далее по желанию делаем обводку , градиентную заливку , что угодно. 2 - Следующим шагом будет добавление "альфа-канала". Нажимаем "Выделение >> Загрузить выделенную область". 3 - Но,тут же возникает вопрос(если есть обводка). "Как выделить обводку?"Это очень просто, нажимаем на, и выбираем "Преобразовать в смарт-объект". 4 - Проделываем шаг 2:) 5 - После нажимаем : "Выделение >>Сохранение выделенной области." 6- Пишем название : Допустим CR-MP.RU (я так всегда делал, типа альфа канал обозначал.) 7 - Далее, сохраняем в формате ".TGA" (Кто не знает : "Файл - Сохранить как - Формат targa (tga). Открываем TXD Workshop: 1 - Добавляем наш файл ( в моём случае это cr-mp.ru.tga) 2 - Нажимаем: "IMAGE >> Decompress All IMAGE" 3 - Далее : "IMAGE >> Compress All IMAGE". 4 - Сохраняем в (папку с игрой)/models/txd/mp_testyrok-pack.txd. Запускаем сервер с iPleoMax'сом. 1 - Нажимаем "New"(название) 2 - CreateTextdraw >> CreateTextureBox >> Создаем текстурбокс. 3 - Нажимаем на "Text" >> Далее пишем : ( mp_названиепака-pack:(название картинки) ). Добавить в мод его можно как обычный текстдрав. И да .. по поводу авторства: Автор: Первый(эт я )Пруфы есть xD Автор на cr-mp.ru : Vegas (я)
  10. Всем привет дорогие пользователи портала CR-MP Сегодня выложу вам полную команду для приветствие игроков на сервере, Это либо пожать руку,либо помахать рукой. Вырезаю со своего Samp мода, так что код,а именно переменные могут отличаться И так начнем: В enum pInfo { pSelectPlayer, pTargetPlayer, В if(newkeys == KEY_YES) // Y Это там где когда вам предлагают вылечиться вы нажимаете Y case ACTION_HI: { new targetid = pTemp[playerid][pTargetPlayer]; new Float:angle, string[64]; GetPlayerFacingAngle(targetid, angle); SetPlayerFacingAngle(playerid, angle + 180); format(string, sizeof(string), "пожал%s руку %s", (pInfo[targetid][pSex]==1)?(""):("а"), GetName(playerid)); MeAction(targetid, string); if(!IsPlayerInAnyVehicle(playerid)) ApplyAnimation(playerid, "GANGS", "hndshkfa", 4.1, 0, 1, 1, 0, 0, 1); if(!IsPlayerInAnyVehicle(targetid)) ApplyAnimation(targetid, "GANGS", "hndshkfa", 4.1, 0, 1, 1, 0, 0, 1); pTemp[playerid][pSelectPlayer] = INVALID_PLAYER_ID; pTemp[playerid][pTargetPlayer] = INVALID_PLAYER_ID; pTemp[targetid][pSelectPlayer] = INVALID_PLAYER_ID; pTemp[targetid][pTargetPlayer] = INVALID_PLAYER_ID; return pTemp[playerid][pTargetAction] = ACTION_NONE; } Так же у меня есть еще один enum { enum { ACTION_HI, ACTION_NONE }; Ну и саму команду В public OnPlayerCommandReceived CMD:hi(playerid, params[]) { if(sscanf(params, "d", params[0])) return SendClientMessage(playerid, COLOR_WHITE, "Введите: /hi [id игрока]"); else if(params[0] == INVALID_PLAYER_ID) return SendClientMessage(playerid, COLOR_GREY, PlayerIsNotOnline); else if(!gPlayerLogged[params[0]]) return SendClientMessage(playerid, COLOR_GREY, PlayerIsNotAuthorized); else if(params[0] == playerid) return 0; else if(GetPlayerState(playerid) == 9) return 0; else if(GetPlayerState(params[0]) == 9) return 0; else if(ZapretDice[params[0]] == 1) return SendClientMessage(playerid, COLOR_GREY, "[Ошибка] У игрока уже есть одно активное предложение!"); else if(pTemp[playerid][pSelectPlayer] != INVALID_PLAYER_ID) return SendClientMessage(playerid, COLOR_GREY, "[Ошибка] У вас уже есть одно активное предложение. Чтобы отказаться от него введите /cancel"); else if(pTemp[params[0]][pTargetPlayer] != INVALID_PLAYER_ID) return SendClientMessage(playerid, COLOR_GREY, "[Ошибка] У игрока уже есть одно активное предложение!"); new Float:X, Float:Y, Float:Z; GetPlayerPos(params[0], X, Y, Z); new Float:distance = GetPlayerDistanceFromPoint(playerid, X, Y, Z); if(distance < 1.5 && distance > 0.5) { SendMes(playerid, COLOR_BLUE, "Вы предлагаете %s пожать руку", GetName(params[0])); SendMes(params[0], COLOR_BLUE, "%s предлагает Вам пожать руку", GetName(playerid)); SendClientMessage(params[0], COLOR_WHITE, PlayerAccess); pTemp[playerid][pSelectPlayer] = params[0]; pTemp[params[0]][pTargetPlayer] = playerid; pTemp[params[0]][pTargetAction] = ACTION_HI; } else if(distance < 20.0) { new string[64]; format(string, sizeof(string), "помахал%s рукой %s", (pInfo[playerid][pSex]==1)?(""):("а"), GetName(params[0])); MeAction(playerid, string); if(!IsPlayerInAnyVehicle(playerid)) ApplyAnimation(playerid, "PED", "endchat_03", 4.1, 0, 1, 1, 0, 0, 1); } else SendClientMessage(playerid, COLOR_GREY, "Вы находитесь либо слишком близко от игрока, либо слишком далеко от игрока"); return 1; } Теперь изменяем следующее под свой мод: pTemp - pInfo - PI - у всех по разному Думаю ни что не забыл. Если что пишите помогу установить,если у кого то будут ошибки. Всем спасибо Автор слива: Marvellous (Я) При копирование данного урока на другие порталы,указывайте ссылку и автора темы!
  11. На днях делал TD продажи недвижимости и решил его продать, но никто его не купил и вот решил слить. Скачать .tde - Скачать Скачать .txt - Скачать [spoiler=Скриншот]
  12. Доброе время суток, пользователи CR-MP.RU Автор данной копии: #Salev(#Rips) Копирование на другие строго запрещено! Что отсутствует в данной системе: - Оплата за гараж - P.S Вы должны ее написать сами так как у всех код разный - Респавн автомобиля - P.S Вы тоже должны написать сами так как у всех код разный [spoiler=SCREENSHOT] Дефайны использующийся в коде: #define SPD ShowPlayerDialog #define PRESSED(%0) (((newkeys & (%0)) == (%0)) && ((oldkeys & (%0)) != (%0))) Создаем ENUM #define MAX_GARAGE 200 enum gInfo { gID, // Индивидуальный ID gOwner[MAX_PLAYER_NAME], // Хозяин гаража Float:gCar[4],Float:gPEnter[3], // Координаты респавна автомобиля | Координаты для пикапа gCost, // Цена гаража gPrice, // Последняя цена с покупки gPickupC // Сам пикап } new GarageInfo[MAX_GARAGE][gInfo], total_garage = 0; new Text3D:LabelGarage[60]; // 3DText пикапа В OnPlayerKeyStateChange if(PRESSED(KEY_WALK)) { for(new idx = 1; idx <= total_garage; idx++) { if(IsPlayerInRangeOfPoint(playerid, 4,GarageInfo[idx][gPEnter][0], GarageInfo[idx][gPEnter][1], GarageInfo[idx][gPEnter][2])) { new strings[350]; if(!strcmp(GarageInfo[idx][gOwner],"None",true)) { format(strings,sizeof(strings), "{FF9900}\n\nЭтот гараж свободен.{FFFFFF}\nВы хотите купить этот гараж за {FF9900}%i рублей{FFFFFF}\ \n\n{FF9900}Информация{FFFFFF}: Гаражи предназначены только для тех, кто арендует комнаты в частных домах или не имеет дома",GarageInfo[idx][gCost]); SPD(playerid, 63, DIALOG_STYLE_MSGBOX, "{FF9900}Гараж", strings, "Купить", "Закрыть"); } else { format(strings,sizeof(strings), "{FF9900}\n\nЭтот гараж занят.{FFFFFF}\nВладелец: {FF9900}%s{FFFFFF}\nДней оплачено: {FF9900}30{FFFFFF}\n\ Нажмите {FF9900}'Респавн'{FFFFFF} чтобы возратить автомобиль к гаражу. Стоимость: {FF9900}600 рублей.\n\n\ Информация{FFFFFF}: Гаражи предназначены только для тех, кто арендует комнаты в частных домах или не имеет дома",GarageInfo[idx][gOwner]); SPD(playerid, 64, DIALOG_STYLE_MSGBOX, "{FF9900}Гараж", strings, "Респавн", "Закрыть"); } } } } Диалог покупки: case 63: { if(response) { if(!response) return true; if(strcmp(GarageInfo[total_garage][gOwner],"None",true) != 0) return SendClientMessage(playerid,-1,"У гаража уже есть владелец!"); PlayerInfo[playerid][pCash] -= GarageInfo[total_garage][gPrice]; GarageInfo[total_garage][gPrice] = GarageInfo[total_garage][gPrice]; SendClientMessage(playerid, 0xFF9900FF, "Поздравляем с покупкой гаража!"); strmid(GarageInfo[total_garage][gOwner],PlayerInfo[playerid][pName], 0, strlen(PlayerInfo[playerid][pName]), MAX_PLAYER_NAME); new string[128]; format(string,sizeof(string), "UPDATE `garage` SET `gOwner` = '%s', `gPrice` = '%d' WHERE `gID` = '%d'",PlayerInfo[playerid][pName],GarageInfo[total_garage][gPrice]); mysql_function_query(connects, string, false, "", ""); UpDataGarageInfo(total_garage); } } Делаем загрузку гаражей forward LoadGaragePlayer(); public LoadGaragePlayer() { new rows, fields, stringers[84]; cache_get_data(rows, fields); if(!rows) return printf("[SYSTEM-GARAGE]: Гаражи не загружены!"); new idx; for(idx = 1; idx <= rows; idx++) { GarageInfo[idx][gID] = cache_get_field_content_int(idx-1, "gID"); cache_get_field_content(idx-1, "gOwner", GarageInfo[idx][gOwner], connects, 26); GarageInfo[idx][gCar][0] = cache_get_field_content_float(idx-1, "gCarX", connects); GarageInfo[idx][gCar][1] = cache_get_field_content_float(idx-1, "gCarY", connects); GarageInfo[idx][gCar][2] = cache_get_field_content_float(idx-1, "gCarZ", connects); GarageInfo[idx][gCar][3] = cache_get_field_content_float(idx-1, "gCarA", connects); GarageInfo[idx][gPEnter][0] = cache_get_field_content_float(idx-1, "gPEnterX", connects); GarageInfo[idx][gPEnter][1] = cache_get_field_content_float(idx-1, "gPEnterY", connects); GarageInfo[idx][gPEnter][2] = cache_get_field_content_float(idx-1, "gPEnterZ", connects); GarageInfo[idx][gCost] = cache_get_field_content_int(idx-1, "gCost"); GarageInfo[idx][gPrice] = cache_get_field_content_int(idx-1, "gPrice"); GarageInfo[idx][gPickupC] = CreateDynamicPickup(1080,23, GarageInfo[idx][gPEnter][0],GarageInfo[idx][gPEnter][1],GarageInfo[idx][gPEnter][2]); if(!strcmp(GarageInfo[idx][gOwner],"None",true)) { format(stringers,sizeof(stringers), "Номер гаража: {FF9900}%i{FFFFFF}\nВладелец: {FF9900}Отсутствует", GarageInfo[idx][gID]); LabelGarage[idx] = CreateDynamic3DTextLabel(stringers,0xFFFFFFFF,GarageInfo[idx][gPEnter][0],GarageInfo[idx][gPEnter][1],GarageInfo[idx][gPEnter][2],15.0,INVALID_PLAYER_ID,INVALID_VEHICLE_ID,1,0); } else { format(stringers,sizeof(stringers), "Номер гаража: {FF9900}%i{FFFFFF}\nВладелец: {FF9900}%s", GarageInfo[idx][gID], GarageInfo[idx][gOwner]); LabelGarage[idx] = CreateDynamic3DTextLabel(stringers,0xFFFFFFFF,GarageInfo[idx][gPEnter][0],GarageInfo[idx][gPEnter][1],GarageInfo[idx][gPEnter][2],15.0,INVALID_PLAYER_ID,INVALID_VEHICLE_ID,1,0); } total_garage++; } printf("[SYSTEM-GARAGE]: Гаражи успешно загружены! Количество гаражей: %i", total_garage); return 1; } Делаем сток: stock UpDataGarageInfo(idx) { new stringers[84]; if(!strcmp(GarageInfo[idx][gOwner],"None",true)) { format(stringers,sizeof(stringers), "Номер гаража: {FF9900}%i{FFFFFF}\nВладелец: {FF9900}Отсутствует", GarageInfo[idx][gID]); } else { format(stringers,sizeof(stringers), "Номер гаража: {FF9900}%i{FFFFFF}\nВладелец: {FF9900}%s", GarageInfo[idx][gID], GarageInfo[idx][gOwner]); } UpdateDynamic3DTextLabelText(LabelGarage[idx], -1, stringers); return 1; } Команды на создание и выставление координат кара: CMD:addg(playerid, params[]) { new Float:GaragePos[4]; if(sscanf(params, "d", params[0])) return SCM(playerid, -1, "{FF9900}• [Подсказка]{FFFFFF}: Используйте /addg [цена]"); GetPlayerPos(playerid, GaragePos[0], GaragePos[1], GaragePos[2]); GetPlayerFacingAngle(playerid, GaragePos[3]); GarageInfo[total_garage][gPEnter][0] = GaragePos[0]; GarageInfo[total_garage][gPEnter][1] = GaragePos[1]; GarageInfo[total_garage][gPEnter][2] = GaragePos[2]; GarageInfo[total_garage][gCost] = params[0]; GarageInfo[total_garage][gPickupC] = CreateDynamicPickup(1080,23, GarageInfo[total_garage][gPEnter][0],GarageInfo[total_garage][gPEnter][1],GarageInfo[total_garage][gPEnter][2]); new string[128]; format(string,sizeof(string), "INSERT INTO `garage` (`gPEnterX`,`gPEnterY`,`gPEnterZ`,`gCost`) VALUES ('%f','%f','%f','%i')",GarageInfo[total_garage][gPEnter][0],GarageInfo[total_garage][gPEnter][1],GarageInfo[total_garage][gPEnter][2], params[0]); mysql_function_query(connects, string, true, "", "d", playerid); SCM(playerid, -1, "Создайте кар и встаньте как будет респавниться авто в гараже и пропишите /poscar [id гаража]!"); return 1; } CMD:poscar(playerid, params[]) { if(sscanf(params, "d", params[0])) return SendClientMessage(playerid, -1, "{FF9900}• [Подсказка]{FFFFFF}: Используйте /setposcar [id гаража]"); if(params[0] < 0 || params[0] > 200) return 1; new Float:X,Float:Y,Float:Z,Float:Angle; GetPlayerPos(playerid,X,Y,Z); GetPlayerFacingAngle(playerid,Angle); GarageInfo[params[0]][gCar][0] = X; GarageInfo[params[0]][gCar][1]= Y; GarageInfo[params[0]][gCar][2] = Z; GarageInfo[params[0]][gCar][3] = Angle; SendClientMessage(playerid, -1, "Координаты машины установлены"); new string[258]; format(string, sizeof(string), "UPDATE `garage` SET `gCarX` = '%f', `gCarY` = '%f', `gCarZ` = '%f', `gCarA` = '%f' WHERE gID = '%i'",X,Y,Z,Angle,params[0]); mysql_function_query(connects, string, false, "", ""); return true; } Где происходит подключение к базе данных: mysql_function_query(connects,"SELECT * FROM `garage`", true, "LoadGaragePlayer", ""); Информация о данной системе: MYSQL - R39-2 SSCANF2 - 2.8.1
  13. Здарова бандиты. На любой сервер нужен спидометр, в каждом спидометре должна быть скорость авто, но как ее найти? Все просто, для этого есть специальный сток, который вычисляет из координат скорость, там целая система, ну короче, если захотите - разберетесь. В общем, вот этот сток, использую его в своем моде: 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)) * 150.0;// можете и на 100.0, это короче скорость получается return floatround(ST[3]); } Можете использовать теперь ее, как: GetPlayerSpeed(ID игрока).
  14. Всем привет дорогие пользователи портала CR-MP Нашел как то на просторах интернета. Как по мне нормально сделано,из-за чего и выкладываю для вас сюда. P.S Для таких людей,которые говорят,это есть на других порталах,отвечаю,я и не скрываю ни в одной моей теме,если я сливаю с других порталов,то указываю,что нашел на просторах интернета! Это одно и то же! [spoiler=Скрин] new Text:Textdraw[8]; Textdraw0 = TextDrawCreate(280.399993, 199.615554, "usebox"); TextDrawLetterSize(Textdraw0, 0.000000, 0.000000); TextDrawTextSize(Textdraw0, 280.399993, 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(230.800003, 188.159988, "LD_SPAC:white"); TextDrawLetterSize(Textdraw1, 0.000000, 0.000000); TextDrawTextSize(Textdraw1, 223.599990, 11.448898); TextDrawAlignment(Textdraw1, 1); TextDrawColor(Textdraw1, -5963521); TextDrawSetShadow(Textdraw1, 0); TextDrawSetOutline(Textdraw1, 0); TextDrawFont(Textdraw1, 4); Textdraw2 = TextDrawCreate(273.200347, 185.671173, "Название сервера"); TextDrawLetterSize(Textdraw2, 0.449999, 1.600000); TextDrawAlignment(Textdraw2, 1); TextDrawColor(Textdraw2, -1); TextDrawSetShadow(Textdraw2, 0); TextDrawSetOutline(Textdraw2, 1); TextDrawBackgroundColor(Textdraw2, 51); TextDrawFont(Textdraw2, 1); TextDrawSetProportional(Textdraw2, 1); Textdraw3 = TextDrawCreate(278.000244, 224.497787, "You accept invite to fraction?"); TextDrawLetterSize(Textdraw3, 0.188000, 0.838400); TextDrawTextSize(Textdraw3, 506.799987, -300.657836); TextDrawAlignment(Textdraw3, 1); TextDrawColor(Textdraw3, -1); TextDrawUseBox(Textdraw3, true); TextDrawBoxColor(Textdraw3, 0); TextDrawSetShadow(Textdraw3, 0); TextDrawSetOutline(Textdraw3, 1); TextDrawBackgroundColor(Textdraw3, 51); TextDrawFont(Textdraw3, 2); TextDrawSetProportional(Textdraw3, 1); Textdraw4 = TextDrawCreate(260.000000, 253.368896, "LD_SPAC:white"); TextDrawLetterSize(Textdraw4, 0.000000, 0.000000); TextDrawTextSize(Textdraw4, 59.599975, 17.422210); TextDrawAlignment(Textdraw4, 1); TextDrawColor(Textdraw4, 8388863); TextDrawSetShadow(Textdraw4, 0); TextDrawSetOutline(Textdraw4, 0); TextDrawFont(Textdraw4, 4); TextDrawSetSelectable(Textdraw4, true); Textdraw5 = TextDrawCreate(271.600036, 254.364532, "Yes"); TextDrawLetterSize(Textdraw5, 0.449999, 1.600000); TextDrawAlignment(Textdraw5, 1); TextDrawColor(Textdraw5, -1); TextDrawSetShadow(Textdraw5, 0); TextDrawSetOutline(Textdraw5, 1); TextDrawBackgroundColor(Textdraw5, 51); TextDrawFont(Textdraw5, 2); TextDrawSetProportional(Textdraw5, 1); TextDrawSetSelectable(Textdraw5, true); Textdraw6 = TextDrawCreate(366.399841, 270.791137, "LD_SPAC:white"); TextDrawLetterSize(Textdraw6, 0.000000, 0.000000); TextDrawTextSize(Textdraw6, 58.800018, -18.417785); TextDrawAlignment(Textdraw6, 1); TextDrawColor(Textdraw6, -16776961); TextDrawSetShadow(Textdraw6, 0); TextDrawSetOutline(Textdraw6, 0); TextDrawFont(Textdraw6, 4); TextDrawSetSelectable(Textdraw6, true); Textdraw7 = TextDrawCreate(385.200103, 253.866683, "No"); TextDrawLetterSize(Textdraw7, 0.449999, 1.600000); TextDrawAlignment(Textdraw7, 1); TextDrawColor(Textdraw7, -1); TextDrawSetShadow(Textdraw7, 0); TextDrawSetOutline(Textdraw7, 1); TextDrawBackgroundColor(Textdraw7, 51); TextDrawFont(Textdraw7, 2); TextDrawSetProportional(Textdraw7, 1); TextDrawSetSelectable(Textdraw7, true); Если хотите что бы писало на русском То просто подключите плагин и инклуд CRP. Автор: Mihalok Автор слива: Marvellous (Я)
  15. Marvellous

    TD - Капты.

    Всем привет дорогие пользователи портала CR-MP Нашел как то на просторах интернета. Как по мне нормально сделано,из-за чего и выкладываю для вас сюда. P.S Для таких людей,которые говорят,это есть на других порталах,отвечаю,я и не скрываю ни в одной моей теме,если я сливаю с других порталов,то указываю,что нашел на просторах интернета! Это одно и то же! [spoiler=Скрин] 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; Textdraw0 = TextDrawCreate(625.500000, 348.077819, "1"); TextDrawLetterSize(Textdraw0, 0.000000, 9.362341); TextDrawTextSize(Textdraw0, 469.000000, 0.000000); TextDrawAlignment(Textdraw0, 1); TextDrawColor(Textdraw0, 16777215); TextDrawUseBox(Textdraw0, true); TextDrawBoxColor(Textdraw0, 16777215); TextDrawSetShadow(Textdraw0, 0); TextDrawSetOutline(Textdraw0, 0); TextDrawFont(Textdraw0, 0); Textdraw1 = TextDrawCreate(630.500000, 343.722229, "usebox"); TextDrawLetterSize(Textdraw1, 0.000000, 10.468517); TextDrawTextSize(Textdraw1, 464.500000, 0.000000); TextDrawAlignment(Textdraw1, 1); TextDrawColor(Textdraw1, 0); TextDrawUseBox(Textdraw1, true); TextDrawBoxColor(Textdraw1, 102); TextDrawSetShadow(Textdraw1, 0); TextDrawSetOutline(Textdraw1, 0); TextDrawFont(Textdraw1, 0); Textdraw2 = TextDrawCreate(503.500000, 346.577789, "War Info:"); TextDrawLetterSize(Textdraw2, 0.451498, 1.649778); TextDrawAlignment(Textdraw2, 1); TextDrawColor(Textdraw2, 255); TextDrawSetShadow(Textdraw2, 0); TextDrawSetOutline(Textdraw2, 0); TextDrawBackgroundColor(Textdraw2, 51); TextDrawFont(Textdraw2, 2); TextDrawSetProportional(Textdraw2, 1); Textdraw3 = TextDrawCreate(474.000000, 381.177917, "hud:radar_emmetGun"); TextDrawLetterSize(Textdraw3, 0.449999, 1.600000); TextDrawTextSize(Textdraw3, 20.000000, 11.822223); TextDrawAlignment(Textdraw3, 1); TextDrawColor(Textdraw3, -1); TextDrawSetShadow(Textdraw3, 0); TextDrawSetOutline(Textdraw3, 1); TextDrawBackgroundColor(Textdraw3, 51); TextDrawFont(Textdraw3, 4); TextDrawSetProportional(Textdraw3, 1); Textdraw4 = TextDrawCreate(474.000000, 398.355590, "hud:radar_emmetGun"); TextDrawLetterSize(Textdraw4, 0.449999, 1.600000); TextDrawTextSize(Textdraw4, 20.000000, 11.822223); TextDrawAlignment(Textdraw4, 1); TextDrawColor(Textdraw4, -1); TextDrawSetShadow(Textdraw4, 0); TextDrawSetOutline(Textdraw4, 1); TextDrawBackgroundColor(Textdraw4, 51); TextDrawFont(Textdraw4, 4); TextDrawSetProportional(Textdraw4, 1); Textdraw5 = TextDrawCreate(496.000000, 378.933380, "Russian Mafia:"); TextDrawLetterSize(Textdraw5, 0.194000, 1.581333); TextDrawAlignment(Textdraw5, 1); TextDrawColor(Textdraw5, -1); TextDrawSetShadow(Textdraw5, 0); TextDrawSetOutline(Textdraw5, 1); TextDrawBackgroundColor(Textdraw5, 51); TextDrawFont(Textdraw5, 2); TextDrawSetProportional(Textdraw5, 1); Textdraw6 = TextDrawCreate(559.500000, 378.933410, "11"); TextDrawLetterSize(Textdraw6, 0.391499, 1.631111); TextDrawAlignment(Textdraw6, 1); TextDrawColor(Textdraw6, -1); TextDrawSetShadow(Textdraw6, 0); TextDrawSetOutline(Textdraw6, 1); TextDrawBackgroundColor(Textdraw6, 51); TextDrawFont(Textdraw6, 2); TextDrawSetProportional(Textdraw6, 1); Textdraw7 = TextDrawCreate(495.000000, 396.355621, "Japan Mafia:"); TextDrawLetterSize(Textdraw7, 0.221999, 1.506664); TextDrawAlignment(Textdraw7, 1); TextDrawColor(Textdraw7, -1); TextDrawSetShadow(Textdraw7, 0); TextDrawSetOutline(Textdraw7, 1); TextDrawBackgroundColor(Textdraw7, 51); TextDrawFont(Textdraw7, 2); TextDrawSetProportional(Textdraw7, 1); Textdraw8 = TextDrawCreate(559.500000, 395.733489, "14"); TextDrawLetterSize(Textdraw8, 0.319000, 1.593776); TextDrawAlignment(Textdraw8, 1); TextDrawColor(Textdraw8, -1); TextDrawSetShadow(Textdraw8, 0); TextDrawSetOutline(Textdraw8, 1); TextDrawBackgroundColor(Textdraw8, 51); TextDrawFont(Textdraw8, 2); TextDrawSetProportional(Textdraw8, 1); Textdraw9 = TextDrawCreate(517.500000, 360.266723, "ld_grav:timer"); TextDrawLetterSize(Textdraw9, 0.449999, 1.600000); TextDrawTextSize(Textdraw9, 21.000000, 14.933332); TextDrawAlignment(Textdraw9, 1); TextDrawColor(Textdraw9, -1); TextDrawSetShadow(Textdraw9, 0); TextDrawSetOutline(Textdraw9, 1); TextDrawBackgroundColor(Textdraw9, 51); TextDrawFont(Textdraw9, 4); TextDrawSetProportional(Textdraw9, 1); Textdraw10 = TextDrawCreate(541.000000, 359.644439, "5:00"); TextDrawLetterSize(Textdraw10, 0.449999, 1.600000); TextDrawAlignment(Textdraw10, 1); TextDrawColor(Textdraw10, -1); TextDrawSetShadow(Textdraw10, 0); TextDrawSetOutline(Textdraw10, 1); TextDrawBackgroundColor(Textdraw10, 51); TextDrawFont(Textdraw10, 2); TextDrawSetProportional(Textdraw10, 1); Автор: Неизвестен
  16. Marvellous

    TD - Админ Панель

    Всем привет дорогие пользователи портала CR-MP Нашел как то на просторах интернета. Как по мне нормально сделано,из-за чего и выкладываю для вас сюда. P.S Для таких людей,которые говорят,это есть на других порталах,отвечаю,я и не скрываю ни в одной моей теме,если я сливаю с других порталов,то указываю,что нашел на просторах интернета! Это одно и то же! [spoiler=Скрин] Вот собственно и сам код: new Text:Textdraw0; new Text:Textdraw1; new Text:Textdraw2; new Text:Textdraw3; Textdraw0 = TextDrawCreate(528.250000, 430.249969, "usebox"); TextDrawLetterSize(Textdraw0, 0.000000, 1.241201); TextDrawTextSize(Textdraw0, 66.125000, 0.000000); TextDrawAlignment(Textdraw0, 1); TextDrawColor(Textdraw0, 0); TextDrawUseBox(Textdraw0, true); TextDrawBoxColor(Textdraw0, 7973375); TextDrawSetShadow(Textdraw0, 0); TextDrawSetOutline(Textdraw0, 0); TextDrawFont(Textdraw0, 0); Textdraw1 = TextDrawCreate(526.375000, 431.416656, "usebox"); TextDrawLetterSize(Textdraw1, 0.000000, 0.988888); TextDrawTextSize(Textdraw1, 145.500000, 0.000000); TextDrawAlignment(Textdraw1, 1); TextDrawColor(Textdraw1, 0); TextDrawUseBox(Textdraw1, true); TextDrawBoxColor(Textdraw1, 224); TextDrawSetShadow(Textdraw1, 0); TextDrawSetOutline(Textdraw1, 0); TextDrawFont(Textdraw1, 0); Textdraw2 = TextDrawCreate(78.125000, 428.749847, "Cheat"); TextDrawLetterSize(Textdraw2, 0.409372, 1.366665); TextDrawAlignment(Textdraw2, 1); TextDrawColor(Textdraw2, -1); TextDrawSetShadow(Textdraw2, 0); TextDrawSetOutline(Textdraw2, 1); TextDrawBackgroundColor(Textdraw2, 51); TextDrawFont(Textdraw2, 2); TextDrawSetProportional(Textdraw2, 1); Textdraw3 = TextDrawCreate(147.500000, 429.333312, "__-1_/__-1_/__-1_/__-1_/__-1_/__-1_/__-1_/__-1_/__-1_/__-1_/"); TextDrawLetterSize(Textdraw3, 0.403124, 1.220831); TextDrawAlignment(Textdraw3, 1); TextDrawColor(Textdraw3, -1); TextDrawSetShadow(Textdraw3, 0); TextDrawSetOutline(Textdraw3, 1); TextDrawBackgroundColor(Textdraw3, 51); TextDrawFont(Textdraw3, 2); TextDrawSetProportional(Textdraw3, 1); Автор: #BELOFF Автор слива: Marvellous (Я)
  17. Всем привет дорогие пользователи портала CR-MP Сейчас хотел вам выложить такой мануал,а именно Все мы знаем,что в игре между Имя и Фамилия есть такой символ "_" Теперь давайте его уберем и сделаем как в реальной жизни Подойдет как раз для RP проектов Весь код вставляем в конец мода: Это вернет ваше имя Ivan stock pName(playerid) { new nick[MAX_PLAYER_NAME]; GetPlayerName(playerid, nick, MAX_PLAYER_NAME); new getspace = strfind(nick, "_", true); if(getspace != -1) strdel(nick, getspace, sizeof(nick)); return nick; } Далее: Это вернет вашу фамилию Ivanov stock pLastName(playerid) { new nick[MAX_PLAYER_NAME]; GetPlayerName(playerid, nick, MAX_PLAYER_NAME); new getspace = strfind(nick, "_", true); if(getspace != -1) strdel(nick, 0, getspace+1); return nick; } Ну и последнее: Это вернет уже разделено Ivan Ivanov stock pNameEx(playerid) { new nick[MAX_PLAYER_NAME]; GetPlayerName(playerid, nick, MAX_PLAYER_NAME); new getspace = strfind(nick, "_", true); if(getspace != -1) nick[getspace] = ' '; return nick; } Всем спасибо за внимание! Автор системы: Dest Автор слива: Marvellous (Я)
  18. Marvellous

    Система погони

    Всем привет дорогие пользователи портала CR-MP Сейчас хочу вам выложить систему погони за преступником! Давайте расскажу вкратце,что это из себя представляет,так же пойдет для RP проектов. И так,вы знаете,что на любом сервере вы сталкивались с тем,что когда вы начинаете погоню за нарушителем,то большинство игроков выходят из игры во время погони. Теперь для вас,а точнее для вашей фракции ГИБДД или УВД будет намного проще и будет намного интереснее с данной функцией! И так,в чем суть данной команды, Полицейский ГИБДД или УВД водит команду и если игрок соответствует всем требованиям (т.е если он не в погоне и он находится в розыске,а так же рядом) то и полицейским и самому игроку пишет сообщение,что "Погоня начата", но тут самое улучшенное, если игрок надумает попросту выйти из игры(если крашнет,то да это плохо) то при заходе в игру он автоматически сажается в тюрьму,это тоже самое что и при задержание! Но если игрок не выйдет и будет уходить от погони,то через определенное расстояние между игроком и полицией будет большое,то погоня уже прекратиться до того момента,пока снова не ведут полицейские команду и ID игрока! Фух. Думаю все понятно с этим,теперь давайте уже перейдем к установке и настройки: Ко всем new: #define SendClientMessage SCM // если такой уже есть, этот не вставлять #define COLOR_WARNING 0xF7CA18AA new PursuitTimer[MAX_PLAYERS]; Ко всем командам,желательно возле команды наручники /cuff,что бы потом не потеряли: CMD:ps(playerid, params[]) { //проверку на фракцию if(sscanf(params, "d", params[0])) return SCM(playerid, COLOR_WARNING, "USAGE: /pursuit [id]"); if(GetPVarInt(playerid, "pursuited")) return SCM(playerid, COLOR_WARNING, "Вы уже ведете погоню! Для отмены /cancelps"); if(params[0] == playerid) return SCM(playerid, COLOR_WARNING, "Невозможно выполнить для самого себя!"); if(GetPVarInt(playerid, "paf") > gettime()) return SCM(playerid, COLOR_WARNING, "Можно использовать раз в 10 секунд!"); if(!IsPlayerConnected(params[0])) return SCM(playerid, COLOR_WARNING, "Игрок не подключен!"); new Float:x, Float:y, Float:z; GetPlayerPos(params[0], x, y, z); if(GetPlayerDistanceFromPoint(playerid, x, y, z) > 30) return SCM(playerid, COLOR_WARNING, "Вы слишком далеко от приследуемого! (более 30м)"); SetPVarInt(params[0], "pursuit", 1); SetPVarInt(playerid, "pursuited", params[0]); SCM(params[0], COLOR_WARNING, "[ВНИМАНИЕ!] За вами начали погоню полицейские. Если вы выйдите из игры, вы автоматически попадете в КПЗ!"); static const fmt_str[] = "[Dispatch Police] За вами начал погоню полицейский %s[%d]"; PlayCrimeReportForPlayer(playerid, params[0], 3); new name[MAX_PLAYER_NAME]; GetPlayerName(playerid, name, MAX_PLAYER_NAME]; new str[sizeof(fmt_str)+MAX_PLAYER_NAME+12]; format(str, sizeof(str), fmt_str, name, playerid); SCM(params[0], COLOR_WARNING, str); SCM(playerid, COLOR_WARNING, "Вы начали погоню за подозреваемым. Оставайтесь в радиусе 70 м, иначе погоня будет прекращена!"); SetPVarInt(playerid, "paf", gettime()+10); PursuitTimer[playerid] = SetTimerEx("TimerPursuit", 1000*3, true, "ii", playerid, params[0]); return true; } CMD:cancelps(playerid) { //проверка на фракцию if(!GetPVarInt(playerid, "pursuited")) return SCM(playerid, COLOR_WARNING, "Вы никого не приследовали! Действие невозможно!"); SCM(GetPVarInt(playerid, "pursuited"), COLOR_WARNING, "Погоня за вами прекращена!"); SCM(playerid, COLOR_WARNING, "Погоня прекращена!"); DeletePVar(GetPVarInt(playerid, "pursuited"), "pursuit"); DeletePVar(playerid, "pursuit"); DeletePVar(playerid, "paf"); return true; } В конец мода: forward TimerPursuit(playerid, pursuitid); public TimerPursuit(playerid, pursuitid) { new Float:x, Float:y, Float:z; GetPlayerPos(pursuitid, x, y, z); if(GetPlayerDistanceFromPoint(playerid, x, y, z) > 70) { SCM(pursuitid, COLOR_WARNING, "Погоня прекращена, так как полицейские отдалились более, чем на 70 м"); SCM(playerid, COLOR_WARNING, "Погоня завершена, вы отдалились более чем на 70 метров!"); DeletePVar(pursuitid, "pursuit"); DeletePVar(playerid, "pursuitid"); DeletePVar(playerid, "paf"); KillTimer(PursuitTimer[playerid]); return true; } return true; } Ну и В OnPlayerDisconnect: if(GetPVarInt(playerid, "pursuit") == 1) { /* ДАННЫЕ ФУНКЦИИ ЗАМЕНИТЬ НА СВОИ, ОБНУЛЕНИЕ РОЗЫСКА А ТАКЖЕ ВЫДАЧА ТЮРЬМЫ. 3600 - ЭТО ВРЕМЯ, 60 минут*/ PLAYER_DATA[playerid][data_JAIL] = 1; PLAYER_DATA[playerid][data_JAILTIME] = 3600; PLAYER_DATA[playerid][data_WANTED] = 0; /*КОНЕЦ ЗАМЕНЫ ОСТАЛЬНОЕ ВСЕ МОЖНО ОСТАВИТЬ*/ static const fmt_str[] = "%s был посажен в кпз на 60 минут. Причина: выход при погоне"; new text[sizeof(fmt_str)+MAX_PLAYER_NAME], names[MAX_PLAYER_NAME]; GetPlayerName(playerid, names, MAX_PLAYER_NAME]; format(text,sizeof(text),fmt_str, names); SendClientMessageToAll(-1,text); } Ну вот и все,все готово! Извините за большой текст в начале,как мог,так и объяснил вкратце! Всем спасибо за внимание! Автор: Stibs Автор слива: Marvellous (Я)
  19. Всех приветствую дорогие пользователи портала CR-MP Сегодня хотел бы выложить систему рекламных щитов! Как это будет работать: Если кто то зайдет с Читом на ваш сервер,то панелька его впишет в список предполагаемых читеров. Так же говорю сразу что бы потом не возникало вопросов: Вопрос: Какая она будет цветом? Ответ: Каким захотите,хотите белой,хотите оранжевая Вопрос: После наказания игрока,его ID не убирается с панели. Ответ: ID прошлого читера,измениться сразу как только будет новый предполагаемый читер! И так начнем: Добавим переменную new new Cheat,Cheat1,Text:CheatText[2][10]; В public OnGameModeInt (если у кого то не находит,то ведите OnGameMode) new Float:DrawPos = 25.000000; Cheat = 0,Cheat1 = 0; for(new i;i<10;i++) { if(i > 0) DrawPos+=30; CheatText[0][i] = TextDrawCreate(DrawPos,423.000000,"_"); CheatText[1][i] = TextDrawCreate(DrawPos,434.000000,"_"); TextDrawColor(CheatText[0][i], 0xef8100FF),TextDrawColor(CheatText[1][i], 0xffffffFF); TextDrawFont(CheatText[0][i], 1),TextDrawFont(CheatText[1][i], 1); TextDrawSetOutline(CheatText[0][i], 1),TextDrawSetOutline(CheatText[1][i], 1); TextDrawLetterSize(CheatText[0][i],0.3500,1.270),TextDrawLetterSize(CheatText[1][i],0.3500,1.270); } В код c загрузкой аккаунта игрока, в конец после загрузки данных if(PlayerInfo[playerid][pAdmin] >= 1)// Если уровень админки игрока больше или ровно 1 - показываем тексдрайв ( pAdmin - переменная админки ) { for(new i;i<10;i++) TextDrawShowForPlayer(playerid, CheatText[0][i]),TextDrawShowForPlayer(playerid, CheatText[1][i]); } В конец мода вставляем stock AddCheater(playerid, strokaID) { new str[3]; if(strokaID == 1) { format(str, sizeof(str), "%d", playerid); TextDrawSetString(CheatText[strokaID][Cheat], str); Cheat ++; if(Cheat > 8) Cheat = 0; } else { format(str, sizeof(str), "%d", playerid); TextDrawSetString(CheatText[strokaID][Cheat1], str); Cheat1 ++; if(Cheat1 > 8) Cheat1 = 0; } return 1; } Ну и последний штрих, в античитах измените в место кика на AddCheater(playerid, 0); Ну вот и все! Пользуйтесь на здоровье! Автор урока: Katashi. Слил данный урок: Marvellous (Я) Может кому то и пригодится!
  20. Всех приветствую дорогие пользователи портала CR-MP Сегодня хотел бы выложить систему рекламных щитов! Как это будет работать: Лидер СМИ набирает /addtext Идет набор....... /addtext Имя_Фамилия продает..... И так далее, можете посмотреть скрин как будет выглядеть! Делал на SAMP и CRMP идет только на 0.3.7 [spoiler=Скриншот] Только есть 2 проблемы: 1) Нет сохранение,после рестарта сервера,текст пропадает. 2) Если писать длинное приложение то оно уходит за рамки щита! Нужно просто сделать что бы был автоматический перенос текста! И так начнем: Добавляем переменную new new addnews[37]; Потом в OnPlayerCommandText: if(strcmp(cmd, "/addtext", true) == 0) { if(PlayerInfo[playerid][pMember] != 7) return SendClientMessage(playerid,COLOR_GRAD1, "Вы не сотрудник СМИ."); // проверка на фракцию tmp = strtok(cmdtext, idx); if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_GRAD1, "ИНФО: /addtext [id щита] [текст]"); new para1 = strval(tmp); new texts[1400]; texts = strtok(cmdtext, idx); adtext(para1, texts); return 1; } Если у кого то CMD то добавляем это: CMD:addtext(playerid,params[]) { if(Gamer[playerid][pLeader] != 10) return true; if(sscanf(params, "is[128]", params[0], params[1])) return SendClientMessageEx(playerid, COLOR_GRAD1, "ИНФО: /addtext [id_Ad][text]"); adtext(params[0],params[1]); return true; } В конец мода вставляем это: adtext(id,string[]) { new str[256]; format(str, sizeof(str),"{FFFFFF}№%d\n%s",id,string); SetDynamicObjectMaterialText(addnews[id],0, str, 90, "Impact", 24, 0, -32256, -16777216, 1); return true; } Ну и сами щиты (они сделаны под самп,под крмп измените координаты и ID объекта) В OnGameModeInIt: addnews[0] = CreateDynamicObjectEx(4238,1538.5000000,-1609.8000488,26.0000000,0.0000000,0.0000000,300.0000000,500.000,500.000); // addnews[1] = CreateDynamicObjectEx(7910,1415.3000488,-1719.9000244,33.7999992,0.0000000,0.0000000,137.5000000,500.000,500.000); //object(s bank 1) 37 плакатов по городу addnews[2] = CreateDynamicObjectEx(7910,1716.4000244,-782.2000122,73.5999985,0.0000000,0.0000000,346.2470703,500.000,500.000); //object(s daroga 4) addnews[3] = CreateDynamicObjectEx(7910,1623.0999756,820.7000122,27.5000000,0.0000000,0.0000000,238.0000000,500.000,500.000); //object(s baza lcn) addnews[4] = CreateDynamicObjectEx(4238,1786.5000000,1476.0000000,26.1000004,0.0000000,0.0000000,32.0000000,500.000,500.000); //object(b daroga) addnews[5] = CreateDynamicObjectEx(4238,356.3999939,-1718.0999756,26.6000004,0.0000000,0.0000000,300.0000000,500.000,500.000); //object(b daroga) addnews[6] = CreateDynamicObjectEx(7910,1497.0999756,-945.0000000,54.0999985,0.0000000,0.0000000,112.9980774,500.000,500.000); //object(s daroga) addnews[7] = CreateDynamicObjectEx(7910,1716.6999512,-778.2999878,73.5999985,0.0000000,0.0000000,180.7500000,500.000,500.000); //object(s daroga 2) addnews[8] = CreateDynamicObjectEx(7910,1777.5000000,888.0000000,29.8999996,0.0000000,0.0000000,127.7478027,500.000,500.000); //object(s chorraxa 2) addnews[9] = CreateDynamicObjectEx(7910,1854.5999756,-1487.6999512,25.7999992,0.0000000,0.0000000,180.0000000,500.000,500.000); //object(s daroga 6) addnews[10] = CreateDynamicObjectEx(4238,1353.9000244,-1713.5999756,26.0000000,2.0000000,358.0000000,120.0000000,500.000,500.000); //object(b bank) addnews[11] = CreateDynamicObjectEx(4238,734.5000000,-1102.1999512,33.3999977,0.0000000,0.0000000,180.2500000,500.000,500.000); //object(b daroga) addnews[12] = CreateDynamicObjectEx(7910,1242.9000244,1089.8000488,27.6000004,0.0000000,0.0000000,159.7451172,500.000,500.000); //object(vgwestbillbrd11)(14) addnews[13] = CreateDynamicObjectEx(7914,1415.5000000,-1719.6999512,34.0000000,0.0000000,0.0000000,137.9658203,500.000,500.000); //object(bank black) addnews[14] = CreateDynamicObjectEx(7910,1408.9000244,-1408.0999756,33.5999985,0.0000000,0.0000000,262.2500000,500.000,500.000); //object(s zig) addnews[15] = CreateDynamicObjectEx(7910,1412.5999756,-1724.1999512,33.7999992,0.0000000,0.0000000,331.9993897,500.000,500.000); //object(s bank 1) addnews[16] = CreateDynamicObjectEx(7906,1412.6999512,-1724.1999512,33.5000000,0.0000000,0.0000000,331.9965820,500.000,500.000); //object(bank white) addnews[17] = CreateDynamicObjectEx(7910,1863.5000000,-1450.6999512,31.7000008,0.0000000,0.0000000,38.2480469,500.000,500.000); //object(s daroga 5) addnews[18] = CreateDynamicObjectEx(7910,1629.6999512,-839.0000000,76.9999847,0.0000000,0.0000000,132.2500000,500.000,500.000); //object(s daroga) addnews[19] = CreateDynamicObjectEx(7909,219.8000030,-1434.3000488,31.0000000,0.0000000,0.0000000,0.2500000,500.000,500.000); //object(s daroga 8) addnews[20] = CreateDynamicObjectEx(4238,704.0000000,-1115.5999756,32.2000008,0.0000000,0.0000000,5.0000000,500.000,500.000); //object(billbrdlan_10)(3) addnews[21] = CreateDynamicObjectEx(7910,1673.0999756,-711.0999756,69.0000000,0.0000000,0.0000000,187.5000000,500.000,500.000); //object(s daroga 3) addnews[22] = CreateDynamicObjectEx(7909,2066.8000488,-1790.3000488,28.0000000,0.0000000,0.0000000,90.5000000,500.000,500.000); //object(s bandi) addnews[23] = CreateDynamicObjectEx(4238,1007.4000244,1314.5999756,30.7999992,0.0000000,0.0000000,29.2500000,500.000,500.000); //object(b rm baza) addnews[24] = CreateDynamicObjectEx(7910,1240.9000244,1086.9000244,27.6000004,0.0000000,0.0000000,323.7500000,500.000,500.000); //object(s daroga) addnews[25] = CreateDynamicObjectEx(7910,1493.5999756,-946.2999878,54.0000000,0.0000000,0.0000000,278.0000000,500.000,500.000); //object(s 2 bank) addnews[26] = CreateDynamicObjectEx(4238,516.5999756,-1725.9000244,31.3999996,0.0000000,0.0000000,112.0000000,500.000,500.000); //object(s daroga 7) addnews[27] = CreateDynamicObjectEx(4238,1786.9000244,1075.9000244,26.8000011,0.0000000,0.0000000,31.2500000,500.000,500.000); //object(b daroga) addnews[28] = CreateDynamicObjectEx(4238,1805.0999756,-1691.5000000,30.7999992,0.0000000,0.0000000,175.2500000,500.000,500.000); //object(b alhabra) addnews[29] = CreateDynamicObjectEx(4238,597.7000122,-1744.4000244,33.2000008,0.0000000,0.0000000,290.0000000,500.000,500.000); //object(b daroga) addnews[30] = CreateDynamicObjectEx(7910,1775.0000000,885.2999878,29.9000015,0.0000000,0.0000000,324.0000000,500.000,500.000); //object(s chorraxa) addnews[31] = CreateDynamicObjectEx(7909,1963.8000488,-1522.6999512,24.6000004,0.0000000,0.0000000,90.2500000,500.000,500.000); //object(s daroga) addnews[32] = CreateDynamicObjectEx(7910,1628.6999512,-841.9000244,76.9999847,0.0000000,0.0000000,326.9979248,500.000,500.000); //object(s daroga) addnews[33] = CreateDynamicObjectEx(7910,1861.5999756,-1448.0000000,31.7000008,0.0000000,0.0000000,233.0000000,500.000,500.000); //object(s alhambra) addnews[34] = CreateDynamicObjectEx(4238,1565.3000488,-1722.5000000,31.1967049,0.0000000,0.0000000,34.7500000,500.000,500.000); //object(b meria) addnews[35] = CreateDynamicObjectEx(7910,1627.0999756,819.5000000,27.5000000,0.0000000,0.0000000,73.4968262,500.000,500.000); //object(s baza lcn 1) addnews[36] = CreateDynamicObjectEx(7910,1673.5000000,-714.0999756,68.9999695,0.0000000,0.0000000,22.2481690,500.000,500.000); //object(s daroga 5) for (new i; i < 37; i++) { new string[128]; format(string,sizeof(string),"{FFFFFF}№%d\nЗдесь может быть ваша\n{FF9900}реклама",i); SetDynamicObjectMaterialText(addnews[i], 0, string, 90, "Impact", 24, 0, -32256, -16777216, 1); } Ну вот и все! Ваши щиты готовы к работе! Ну вот и все! Пользуйтесь на здоровье! Автор урока: Неизвестен. Слил данный урок: Marvellous (Я)
  21. Всем доброе утро дороги пользователи портала CR-MP Сегодня хочу выложить такую систему,уведомления игроков в ответ Администратора! И так как это будет работать? Все очень просто,когда Игрок напишет в репорт Администраторам и Администратор ответит игроку.то у игрока будет высвечиваться уведомление об ответе Администратора,а именно в /pm /ans И так вот скрин как это будет выглядеть: [spoiler=Скриншот] Лично как по мне нормально,но я с данного кода взял себе только звук уведомления, а ТD не стал делать И так начнем уже: Ко всем new new Text:TDInfo[5]; В public OnGameModeInit() добавим TDInfo[0] = TextDrawCreate(201.058868, 311.833404, "usebox"); TextDrawLetterSize(TDInfo[0], 0.000000, -3.298150); TextDrawTextSize(TDInfo[0], -3.882356, 0.000000); TextDrawUseBox(TDInfo[0], true); TextDrawBoxColor(TDInfo[0], 7243007); TDInfo[1] = TextDrawCreate(171.411697, 287.333374, "usebox"); TextDrawLetterSize(TDInfo[1], 0.000000, 2.223529); TextDrawTextSize(TDInfo[1], 166.941101, 0.000000); TextDrawUseBox(TDInfo[1], true); TextDrawBoxColor(TDInfo[1], 102); TDInfo[2] = TextDrawCreate(174.588195, 285.249969, "ld_pool:ball"); TextDrawLetterSize(TDInfo[2], 0.000000, 0.000000); TextDrawTextSize(TDInfo[2], 19.764677, 22.749961); TextDrawAlignment(TDInfo[2], 1); TextDrawColor(TDInfo[2], -1); TextDrawSetShadow(TDInfo[2], -121); TextDrawSetOutline(TDInfo[2], 0); TextDrawBackgroundColor(TDInfo[2], 16776960); TextDrawFont(TDInfo[2], 4); TextDrawSetPreviewModel(TDInfo[2], 19131); TextDrawSetPreviewRot(TDInfo[2], 0.000000, 90.000000, 90.000000, 1.000000); TDInfo[3] = TextDrawCreate(5.647051, 291.083404, TranslateText("~Y~Увидомление ~W~Администратор ответил на ваш вопрос.")); TextDrawLetterSize(TDInfo[3], 0.165764, 1.086666); TextDrawAlignment(TDInfo[3], 1); TextDrawBackgroundColor(TDInfo[3], 51); TextDrawFont(TDInfo[3], 2); TDInfo[4] = TextDrawCreate(195.764739, 286.416717, "New Textdraw"); TextDrawLetterSize(TDInfo[4], 0.449999, 1.600000); TextDrawTextSize(TDInfo[4], -22.586164, 19.833333); TextDrawAlignment(TDInfo[4], 1); TextDrawColor(TDInfo[4], 255); TextDrawUseBox(TDInfo[4], true); TextDrawBoxColor(TDInfo[4], 16776960); TextDrawSetShadow(TDInfo[4], 0); TextDrawSetOutline(TDInfo[4], 1); TextDrawBackgroundColor(TDInfo[4], 16776960); TextDrawFont(TDInfo[4], 5); TextDrawSetProportional(TDInfo[4], 1); TextDrawSetPreviewModel(TDInfo[4], 1239); TextDrawSetPreviewRot(TDInfo[4], 0.000000, 0.000000, 0.000000, 1.000000); Далее в команду добавляем следующее: PlayerPlaySound(playerid, 5205, 0.0, 0.0, 0.0); // Воспроизводим звук. for ( new i = 0; i < 5 ; i++ ) TextDrawShowForPlayer(playerid, TDInfo[i]) ; SetTimerEx("InfoTime", 2000, false, "d", playerid); Разберем немного код PlayerPlaySound - Это ваш звук,который будет проигрывать когда игроку придет ответ от Администратора for ( new i....- Это выводит TD на экран игрока SetTimerEx - Это таймер,т.е сколько будет показываться игроку, в данный момент 2000,т.е 2 секунды Ну и в конец мода вставляем код: publics: InfoTime(playerid) { for ( new i = 0; i < 6 ; i++ ) TextDrawHideForPlayer(playerid, TDInfo[i]) ; return 1; } В команде если кто то не поймет,то у вас должно получиться так: CMD:pm(playerid,params[]) { if(GetPVarInt(playerid, "Logged") == 0) return 1; if(P::[playerid][pAdmin] < 1) return 1; else if(strlen(params[1]) >= 90) return SCM(playerid, COLOR_WARNING,"[!] Сократите количестов вводимых символов"); else if(sscanf(params,"us[90]",params[0],params[1])) return SCM(playerid, COLOR_WARNING,"[!] Введите: /pm [id] [текст]"); else if(params[0] == INVALID_PLAYER_ID) return 1; PlayerPlaySound(playerid, 5205, 0.0, 0.0, 0.0); // Воспроизводим звук. for ( new i = 0; i < 5 ; i++ ) TextDrawShowForPlayer(playerid, TDInfo[i]) ; SendMes(params[0], 0xFF6A00FF, "{FF6A00}[PM]{FFFF00} Сообщение от %s: %s",GN(playerid), params[1]); static const pm[] = "%s {FF6A00}[PM]{FFFF00} Сообщение для %s[%d]: %s"; new str_pm[sizeof(pm) + MAX_PLAYER_NAME - 2 + MAX_PLAYER_NAME - 2 + 2 - 2 + 60 - 2]; format(str_pm, sizeof(str_pm), pm, str_pm, GN(playerid), P::[params[0]][pName], params[0], params[1]); SendAdmin(COLOR_RED, str_pm); SetTimerEx("InfoTime", 2000, false, "d", playerid); return 1; } Ну вот и все! Думаю может кто то и возьмет себе на сервер данный TD... Всем спасибо за внимание! Автор Мануала: Неизвестный. Автор слива: Marvellous (Я) P.S: А да забыл,если будут ошибки по поводу TranslateText то вот вам код,его тоже можете в конец мода закинуть! stock TranslateText(string[]) { new result[30]; for (new i = 0; i < sizeof(result); i++) { switch (string[i]) { case 'а': result[i] = 'a'; case 'А': result[i] = 'A'; case 'б': result[i] = '—'; case 'Б': result[i] = 'Ђ'; case 'в': result[i] = 'ў'; case 'В': result[i] = '‹'; case 'г': result[i] = '™'; case 'Г': result[i] = '‚'; case 'д': result[i] = 'љ'; case 'Д': result[i] = 'ѓ'; case 'е': result[i] = 'e'; case 'Е': result[i] = 'E'; case 'ё': result[i] = 'e'; case 'Ё': result[i] = 'E'; case 'ж': result[i] = '›'; case 'Ж': result[i] = '„'; case 'з': result[i] = 'џ'; case 'З': result[i] = '€'; case 'и': result[i] = 'њ'; case 'И': result[i] = '…'; case 'й': result[i] = 'ќ'; case 'Й': result[i] = '…'; case 'к': result[i] = 'k'; case 'К': result[i] = 'K'; case 'л': result[i] = 'ћ'; case 'Л': result[i] = '‡'; case 'м': result[i] = 'Ї'; case 'М': result[i] = 'M'; case 'н': result[i] = '®'; case 'Н': result[i] = ' '; case 'о': result[i] = 'o'; case 'О': result[i] = 'O'; case 'п': result[i] = 'Ј'; case 'П': result[i] = 'Њ'; case 'р': result[i] = 'p'; case 'Р': result[i] = 'P'; case 'с': result[i] = 'c'; case 'С': result[i] = 'C'; case 'т': result[i] = '¦'; case 'Т': result[i] = 'Џ'; case 'у': result[i] = 'y'; case 'У': result[i] = 'Y'; case 'ф': result[i] = '~'; case 'Ф': result[i] = 'Ѓ'; case 'х': result[i] = 'x'; case 'Х': result[i] = 'X'; case 'ц': result[i] = '*'; case 'Ц': result[i] = '‰'; case 'ч': result[i] = '¤'; case 'Ч': result[i] = 'Ќ'; case 'ш': result[i] = 'Ґ'; case 'Ш': result[i] = 'Ћ'; case 'щ': result[i] = 'Ў'; case 'Щ': result[i] = 'Љ'; case 'ь': result[i] = '©'; case 'Ь': result[i] = '’'; case 'ъ': result[i] = 'ђ'; case 'Ъ': result[i] = '§'; case 'ы': result[i] = 'Ё'; case 'Ы': result[i] = '‘'; case 'э': result[i] = 'Є'; case 'Э': result[i] = '“'; case 'ю': result[i] = '«'; case 'Ю': result[i] = '”'; case 'я': result[i] = '¬'; case 'Я': result[i] = '•'; default: result[i] = string[i]; } } return result; }
  22. Marvellous

    Ворота для фракции

    Всем привет дорогие пользователи портала CRMP. Не нашел данной системы на данном портале и решил выложить вам! Если есть где то то прошу удалить данный мануал ибо избежать негатива от заумных речей! И так,как говориться меньше слов,больше дела! Поехали: Создаем переменные new: new vorfrac;//Замените на своё new vorfracTimer;//Замените на своё Далее добавим ко всем forward forward vorfracClose();//Замените на своё Теперь сами ворота создаем,ко всем объектам добавляем: vorfrac = CreateObject(Ид ворот, X,Y,Z); Если не поняли немного,то у вас должно получиться вот так: vorfrac = CreateObject(980,1541.30273438,-1627.38574219,15.15620422,0.00000000,0.00000000,90. 00000000); Далее создадим команду которая будет открывать ворота(не закрывать,а открывать) if (strcmp(cmdtext, "/open", true) == 0)//Тут пиши свою команду { if(PlayerInfo[playerid][pMember] == 1||PlayerInfo[playerid][pLeader] == 1||PlayerInfo[playerid][pMember] == 2||PlayerInfo[playerid][pLeader] == 2) //За место цифр 1,2, ставь иды своих фракций которые смогут открыть эти ворота { if(!PlayerToPoint(15.0,playerid,X,Y,Z))// Тут пишешь координаты открытых ворот . Вот так должно получится if(!PlayerToPoint(15.0,playerid,1541.30273438,-1627.38574219,21)) 15 это радиус на котором работает команда { SendClientMessage(playerid, COLOR_RED, "** Вы не возле ворот!"); return 1; } MoveObject(vorfrac,X,Y,Z,2.00,-1000.0,-1000.0,-1000.0);// Тут пишешь коорды открытых ворот "2.00,-1000.0,-1000.0,-1000.0" не трогаешь 2.00 это скорость открытия ворот. Получится должно вот так MoveObject(vorfrac,1541.30273438,-1627.38574219,21,2.00,-1000.0,-1000.0,-1000.0); SetTimer("vorfracClose", 10000, 0);//10000 это время через которое ворота закроются в милесикундах vorfracTimer = SetTimer("vorfracClose", 10000, 0); PlayerPlaySound(playerid, 1190, 0.0, 0.0, 0.0);// это звук открытия ворот SendClientMessage(playerid, COLOR_LIGHTBLUE,"* Ворота закроются через 15 сек"); return 1; } else { SendClientMessage(playerid, COLOR_RED,"**Вы не мент/Армеец!"); return 1; } } Далее создаем паблик закрытых ворот! (можно куда нибудь в конец мода его закинуть) { MoveObject(vorfrac, X,Y,Z,2.00,-1000.0,-1000.0,-1000.0);//Тут пиши коорды закрытых ворот и также 2.00 это скорость закрытия ворот. Получится должно так MoveObject(vorfrac, 1541.30273438,-1627.38574219,15.15620422,2.00,-1000.0,-1000.0,-1000.0); KillTimer(vorfracTimer);//Это мы остановили таймер return 1; } Ну вот и все! Это было создано для 2-х фракций,что бы добавить еще фракции то просто дописываем в команде if (strcmp(cmdtext, "/open", true) == 0)//Тут пиши свою команду { if(PlayerInfo[playerid][pMember] == 1||PlayerInfo[playerid][pLeader] == 1||PlayerInfo[playerid][pMember] == 2||PlayerInfo[playerid][pLeader] == 2) //За место цифр 1,2, ставь иды своих фракций которые смогут открыть эти ворота { Продолжение: if (strcmp(cmdtext, "/open", true) == 0)//Тут пиши свою команду { if(PlayerInfo[playerid][pMember] == 1||PlayerInfo[playerid][pLeader] == 1||PlayerInfo[playerid][pMember] == 2||PlayerInfo[playerid][pLeader] == 2||PlayerInfo[playerid][pMember] == 3||PlayerInfo[playerid][pLeader] == 3||PlayerInfo[playerid][pMember] == 4||PlayerInfo[playerid][pLeader] == 4) { И все,4 фракции смогут их открыть! Спасибо всем. Если где то ошибся то подправьте! Всем удачной установки данной системы! Автор: Неизвестен. Брал с другого портала!
  23. День добрый. Хотел бы написать про стоки , точнее как можно сделать так , чтобы не писать: SendClientMessage(playerid, 0x149cffFF, "Текст"); И так приступим: Сначало напишим #define #define SIM SendInformationMessage #define SEM SendErrorMessage #define SHCM SendHelpCommandMessage Теперь к стокам. stock SendInformationMessage(playerid, mes[]) { new message[500]; format(message, 500, "%s", mes); SCM(playerid, 0xABABABFF, message); return 1; } stock SendErrorMessage(playerid, mes[]) { new message[500]; format(message, 500, "%s", mes); SCM(playerid, 0xFF0000FF, message); return 1; } stock SendHelpCommandMessage(playerid, mes[]) { new message[500]; format(message, 500, "Используйте: >{FFFFFF} %s", mes); SCM(playerid, 0x78FF0DFF, message); return 1; } Теперь объясню как это пишится(делается). [spoiler=Пояснение]Вообще я не где не видел такой системы. Может где-то и есть уже , кто-то до меня придумал Так вот , чтобы не писать как я показывал вверху , можно просто вставить текст , её напишу ниже и как это будет выглядить. Пример команды /hp CMD:hp(playerid, params[]) { if(PI[playerid][ADMIN] < 1) return SEM(playerid,"Вы не администратор"); (дальше не буду писать так как , лень) } SEM - SendErrorClient , можно и сделать в #define по другому , точнее изменить на своё. Далее. Можно написать в место SCM - SHCM SenHelpClientMessage так будет легче. SCM(playerid,0x149cffFF,"Используйте: > /goto"); А если написать SHCM то получится вот так: SHCM(playerid, "/goto"); Да но будет наверно глупо , зачем так делать когда можно написать просто "Используйте". Вообще мне так удобней если честно. Мануал был написан только для Кодеров , ну как кодеров скриптеров и так далее. Думаю вы уже поймёте :D Автор: Олег Курзов. Я. При копировании на другие порталы указывайте автора.
  24. Для начала создадим переменные 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 потребуется для восстановления данных", "Далее", "Выход"); } }
  25. Ко всем переменным new new GruzPickUp; new GruzRabota[MAX_PLAYERS]; new GruzSkin[MAX_PLAYERS]; В OnGameModeInit(); GruzPickUp = CreatePickUp(1275, 23, x, y, z,);//Место устройства на работу x, y, z - свои координаты Create3DTextLabel("Устройство на работу грузчика", 0xFFFFFFFF, x, y, z, 6.5, 0);// x, y, z - свои координаты В OnPlayerPickUpPickup(playerid, pickupid) if(pickupid = GruzPickup) { if(GruzRabota[playerid] == 0) { SPD(playerid, 1, DSM, "{FFFFFF}Устройство на работу", "Вы действительно хотите устроиться на работу грузчика", "Согласен", "Отмена"); } else { SPD(playerid, 1, DSM, "{FFFFFF}Увольнение с работы", "Вы действительно хотите уволиться с работы грузчика", "Да", "Нет"); } } В OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) if(dialogid == 1) { if(!response) return true; if(GruzRabota[playerid] = 0) { GruzRabota[playerid] = 1; GruzSkin[playerid] = GetPlayerSkin(playerid); SetPlayerSkin(playerid, 260); SetPlayerCheckpoint(playerid, x, y, z, 1.5);// x, y, z - свои координаты SCM(playerid, 0xFFFF00FF, "Вы успешно устроились на работу грузчика!"); SCM(playerid, 0xFF8000FF, "Теперь отправляйтесь за мешками. Место обозначено на карте!"); return 1; } else { GruzRabota[playerid] = 0; SetPlayerSkin(playerid, 260); DisablePlayerCheckpoint(playerid); SCM(playerid, 0xFF8000FF, "Вы успешно уволились с работы грузчика"); } } Далее в OnPlayerEnterCheckpoint(playerid) if(GruzRabota[playerid] == 1) { SCM(playerid, 0xFFFFFFFF, "Вы успешно взяли мешок, отправляйтесь на склад!"); DisablePlayerCheckpoint(playerid); GruzRabota[playerid] == 2; SetPlayerCheckpoint(playerid, x, y, z);// x, y, z - свои координаты return true; } if(GruzRabota[playerid] == 2) { new money = random(150); GivePlayerMoney(playerid, money); DisablePlayerCheckpoint(playerid); SetPlayerCheckpoint(playerid, x, y, z);// x, y, z - свои координаты GruzRabota[playerid] == 1; SCM(playerid, 0xFFFFFFFF, "Вы успешно принесли мешок, теперь отправляйтесь за другим мешком.!"); return true; } В OnPlayerConnect(playerid) GruzRabota[playerid] == 0; GruzSkin[playerid] == 0; Если будет ругаться на SCM, SPD, DSM, то в #define SCM SendClientMessage #define SPD ShowPlayerDialog #define DSM DIALOG_STYLE_MSGBOX АВТОР: Я. Т.е. ВУДИК или же Vladimir_Kulkov Сразу скажи, что это основа только лишь. Нет выдачи "мешков" стоит рандомная функция выдачи денег за один мешок. И нужно добавить будет таймер на пикап устройства, т.к. он не дает уйти от того места где устроился. Так же где SPD(playerid, 1, DSM, "{FFFFFF}Увольнение с работы", "Вы действительно хотите уволиться с работы грузчика", "Да", "Нет"); Вам нужно будет поменять id диалога. я поставил 1. Если хотите могу дописать все полностью. Раз уж Dexter`у не понадобилось, я сливаю в открытый доступ
×

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

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