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

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

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

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

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

Тип контента


Форумы

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

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

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


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

  • Начало

    Конец


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

  • Начало

    Конец


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

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

  1. Dundik

    3D Speedometer

    Схожий спидометр со спидометром из JC2MP. Не поворачивается при повороте камеры (пробовал, он мигает, не предлагать). Видим только для водителя. Подстраивается под параметры транспорта (для некоторых моделей немного неверен). Требования: Incognito's Streamer Plugin Ссылка: Тык
  2. Rustyk

    Очки

    Ко всем #define: #define SetPlayerHoldingObject(%1,%2,%3,%4,%5,%6,%7,%8,%9) SetPlayerAttachedObject(%1,MAX_PLAYER_ATTACHED_OBJ ECTS-1,%2,%3,%4,%5,%6,%7,%8,%9) #define StopPlayerHoldingObject(%1) RemovePlayerAttachedObject(%1,MAX_PLAYER_ATTACHED_ OBJECTS-1) #define IsPlayerHoldingObject(%1) IsPlayerAttachedObjectSlotUsed(%1,MAX_PLAYER_ATTAC HED_OBJECTS-1) Ко всем forward:forward Hide(target); Ко всем new: new Text:MsgBox; Ко всем enum'ам: enum CommonRed = 19006, CommonOrange, CommonGreen, CommonBlue, CommonPurple, CommonEspiral, CommonBlack, CommonEyes, CommonXadrex, CommonTransparent, CommonXRayVision, SquareFormatYellow, SquareFormatOrange, SquareFormatRed, SquareFormatBlue, SquareFormatGreen, RayBanGray, RayBanBlue, RayBanPurple, RayBanPink, RayBanRed, RayBanOrange, RayBanYellow, RayBanGreen, CircularNormal, CircularYellow, CircularRed, CircularBlack, CircularXadrex, CircularThunders, CopGlassesBlack = 19138, CopGlassesRed = 19139, CopGlassesBlue = 19140, В enum pInfo добавляем строчку:pGlasses, В паблике OnGameModeInit ко всем new добавьте: new cmd[128], tmp[128], idx, glasseid, skin, id; И наконец создадим кмд , в OnPlayerCommandText добавим: [CODE]if(!strcmp("/glasses",cmd,true)) { tmp = strtok(cmdtext, idx); skin = GetPlayerSkin(playerid); id = strval(tmp); if(!id || id > 33) return SendClientMessage(playerid, 0xFFFFFFAA, "(Error) Syntax: /glasses [1 - 33"); TextDrawShowForPlayer(playerid, MsgBox); SetTimerEx("Hide", 3500, false, "d", playerid); //if(PlayerInfo[playerid[pGlasses <= 0) //{ //SendClientMessage(playerid, COLOR_RED, "** У вас нет очков,купите их в магазине!"); //return 1; } if(id > 30) goto PutPoliceGlasses; else { id--; glasseid = CommonRed + id; SetPlayerHoldingObject(playerid, glasseid, 2, SkinOffSet[skin[0, SkinOffSet[skin[1, SkinOffSet[skin[2, SkinOffSet[skin[3, SkinOffSet[skin[4, SkinOffSet[skin[5); return 1; } PutPoliceGlasses: glasseid = CopGlassesBlack + (id - 31); SetPlayerHoldingObject(playerid, glasseid, 2, SkinOffSet[skin[0, floatadd(SkinOffSet[skin[1, 0.004500), SkinOffSet[skin[2, SkinOffSet[skin[3, SkinOffSet[skin[4, SkinOffSet[skin[5); return 1; }
  3. Rustyk

    Авторестарт

    Ко всем new добавим: new AUTORESTARTTIME = 5000;В OnPlayerCommandText добавим саму кмд: if(strcmp(cmd, "/arestart", true) == 0)//Команда { if(IsPlayerConnected(playerid)) { tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_YELLOW, "Пиши: /arestart [время в секундах]"); format(string,sizeof(string),"Рестарт произойдет через %d секунд",AUTORESTARTTIME); SendClientMessage(playerid,COLOR_OOC,string); return 1; } new sec; sec = strval(tmp); if(PlayerInfo[playerid][pAdmin] >= 5)//лвл админа который сможет использовать эту команду { AUTORESTARTTIME = sec; format(string, sizeof(string), " Рестарт произойдет через %d секунд", sec); SendClientMessage(playerid, COLOR_DBLUE,string); } else { SendClientMessage(playerid, COLOR_GRAD1, "Вы не имеете права использовать эту команду!"); } } return 1; } Создадим новый паблик: public SetPlayerUnjail() { if(AUTORESTARTTIME > 0) { AUTORESTARTTIME --; if(AUTORESTARTTIME == 600) { SendClientMessageToAll(COLOR_GREEN,"До рестарта сервера 10 минут"); } else if(AUTORESTARTTIME == 300) { SendClientMessageToAll(COLOR_GREEN,"До рестарта сервера 5 минут"); } if(AUTORESTARTTIME == 240) { SendClientMessageToAll(COLOR_GREEN,"До рестарта сервера 4 минуты"); } if(AUTORESTARTTIME == 180) { SendClientMessageToAll(COLOR_GREEN,"До рестарта сервера 3 минуты"); } if(AUTORESTARTTIME == 120) { SendClientMessageToAll(COLOR_GREEN,"До рестарта сервера 2 минуты"); } if(AUTORESTARTTIME == 60) { SendClientMessageToAll(COLOR_GREEN,"До рестарта сервера 1 минута"); } if(AUTORESTARTTIME <=10) { format(string,sizeof(string)," До рестарта сервера %d секунд",AUTORESTARTTIME); SendClientMessageToAll(COLOR_GREEN,string); if(AUTORESTARTTIME == 0) { OnPropUpdate(); SaveCars(); SaveTrunk(); SaveStuff(); for(new i = 0; i < MAX_PLAYERS; i ++) { if(IsPlayerConnected(i)) { SavePlayer(i); //Сохраняет аккаунты на всякий [img=http://gsgames.ru/forum/public/style_emoticons/<#EMO_DIR#>/wink.gif] } } GameModeExitFunc(); //Делает сам рестарт } } } Автор неизвестен!
  4. SHOROOP

    IPL->Pawn Converter

    Доброго дня, уважаемые пользователи. Для своих целей нужен был конвертер из нативного IPL-кода в Pawn-код - пришлось писать. Основная проблема в таком конверте - способ задания углов поворота. Движок Renderware использует кватернионы вместо углов Эйлера, что создает дополнительные трудности при конвертации. Однако - скрипт написан и работает. Заранее оговорюсь - писался скрипт для себя, посему он логирует все, что можно. Зачем это нужно? Если Вам удобнее заниматься маппингом не через MTA/SOE/etc., а через сингловые редакторы типа MEd или ipleditor - этот ФС для Вас. Если Вы используете модпаки - этот ФС для Вас. Больше нет необходимости держать IPL-файл в модпаке, что позволяет уменьшить расходы памяти на рендер карты. Ну и вообще, если Вам привычнее работать с IPL, но код нужен нативный - этот ФС для Вас. Исходник лежит на пастбине и использует sscanf для парсинга исходной строки. В scriptfiles необходимо забросить искомый ipl и файл converted.txt, в который будет помещен исходный код уже для Pawn. Имя искомого файла задается в директиве препроцессора #define. Сам ipl необходимо предварительно подготовить: нужно выбросить из него все служебные строки типа INST/CULL/etc. и оставить только строки с положением объектов, иначе строка спарсится криво и в код попадут строки с нулями вместо параметров.
  5. Здравствуйте, уважаемые пользователи портала! У меня появился небольшой кусочек времени, поэтому я решил написать карсивооформленную команду /kick В чем преимущества? 1. Вывод всем игрокам сообщения о действии, вывод ника администратора, причины. 2. Текстдрав об успешном выполнении действия. 3. Запись в лог. Для корректной работы нам потребуется инклуд MxINI, а так же следующий дефайн: #define COLOR_DARK 0xBBBBBBAA Итак, начнем с самой команды: if(strcmp(cmdtext, "/kick", true) == 0) { if(IsPlayerConnected(playerid)) { tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_DARK, "/kick [Ид игрока] [Причина]"); return 1; } giveplayerid = strval(tmp); if (PlayerInfo[playerid][pAdmin] >= 1) { if(IsPlayerConnected(giveplayerid)) { if(giveplayerid != INVALID_PLAYER_ID) { GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer)); GetPlayerName(playerid, sendername, sizeof(sendername)); new length = strlen(cmdtext); while ((idx < length) && (cmdtext[idx] <= ' ')) { idx++; } new offset = idx; new result[64]; while ((idx < length) && ((idx - offset) < (sizeof(result) - 1))) { result[idx - offset] = cmdtext[idx]; idx++; } result[idx - offset] = EOS; if(!strlen(result)) { SendClientMessage(playerid, COLOR_DARK, "/kick [id игрока] [Причина]"); return 1; } new year, month,day; new hour, minute, second; getdate(year, month, day); gettime(hour, minute, second); format(string, sizeof(string), "[%d.%d.%d.][%d:%d:%d]%s кикнул %s, причина: %s",month,day,year,hour,minute,second,giveplayer, sendername, (result)); KickLog(string); format(string, sizeof(string), "%s кикнул %s, причина: %s ", giveplayer, sendername, (result)); SendClientMessageToAll(COLOR_RED, string); format(string, sizeof(string), "YCЊEЋмO!!!"); GameTextForPlayer(playerid, string, 900, 1); Kick(giveplayerid); return 1; } } } else { SendClientMessage(playerid, COLOR_DARK, "Неверный ИД."); } } return 1; } Далее требуется функция записи в лог. В любое место мода: stock KickLog(string[]) { new entry[256]; new iniFile = ini_openFile("log/kick.ini"); format(entry, sizeof(entry), "%sn",string); ini_setString(iniFile, entry, "true"); ini_closeFile(iniFile); } Вот и все! Удачи. Спасибо за внимание. Скрины:
  6. Доброго времени суток, уважаемые пользователи портала! Сегодня мы с вами разберем, как сделать лог убийств с сохранением ников обоих игроков и времени убийств. Итак, начнем!Перед началом проверьте у себя в моде присутствие следующей строки: #include <file> В public OnPlayerDeath закинем код следующего вида: new year, month,day;//переменные даты new hour,minute,second;//переменные времени new nick1[24];//ник убитого new nick2[24];//ник убийцы new string[256]; getdate(year,month,day); //вычисление даты gettime (hour,minute,second);//вычисление времени GetPlayerName(playerid, nick1, sizeof(nick1));//Получаем ник убитого GetPlayerName(killerid, nick2, sizeof(nick2));//Получаем ник убийцы. format(string, sizeof(string), "[%d.%d.%d][%d:%d:%d]%s ubil igroka %s", year, month, day, hour, minute, second, nick2, nick1);//Собираем весь пазл KillLog(string);//Обращаемся к паблику записи лога Далее в любое место: forward KillLog([string]); public KillLog([string]) { new entry[256]; format(entry, sizeof(entry), "%sn",string);//Подготавливаем к записи new File:hFile;//переменная под файл hFile = fopen("logkill.log", io_append);//открываем файл fwrite(hFile, entry);//записываем! fclose(hFile);//закрываем ФАЙЛ! } В папке scriptfiles создайте папку log и в ней файл kill.log Удачи! Спасибо за внимание! Ах да, скрины:
  7. Max_Mister

    Time

    Эта функция предназначена, в основном, для логов. Функция очень проста, но полезна! Код функции: stock Time() { new string[15], hour, minute, second; // Переменные, в которых хранятся часы, минуты, секунды и строка. gettime(hour, minute, second);//узнаем время и записываем данные в переменные format(string, sizeof(string), "[%d:%d:%d]", hour, minute, second);//форматируем строку return string;//возвращаем строку, } Функция возвращает строку следующего формата: [00:00:00] Возможное применение: printf("%s Command has been used (/ban)", Time()); Автор функции: Я (Max_Mister)
  8. Ко всем forward forward HealthReset(playerid);В public OnPlayerSpawn(playerid) SetPlayerHealth(playerid,100000),SetTimerEx("HealthReset",5*1000,0,"d",playerid); //5 время в секкундах можно изменитьИ в конце мода создадим новый паблик public HealthReset(playerid)SetPlayerHealth(playerid,100);
  9. Fedka_Ognev

    Команда

    //============================================================================== if (strcmp("/nikioff", cmdtext, true) == 0) { for(new i = 0; i < MAX_PLAYERS; i++) ShowPlayerNameTagForPlayer(playerid, i, false);//убираем ники всех игроков SendClientMessage(playerid,0xFF6A6AFF,"Ники игроков убраны!!!"); return true; } //============================================================================== if (strcmp("/nikion", cmdtext, true) == 0) { for(new i = 0; i < MAX_PLAYERS; i++)ShowPlayerNameTagForPlayer(playerid, i, true);//показываем ники всех игроков SendClientMessage(playerid,0x33AA33AA,"Ники игроков показаны!!!"); return true; } Ну вот и всё вырезал с мода ! Жду likes :D
  10. Здравствуйте Уважаемые пользователи gs games в этом уроке я вам покажу как сделать диплом для медиков. Начнем! В enum pInfo добавим: pMeddip, Далее делаем сохранение:В public OnPlayerConnect добавим PlayerInfo[playerid][pMeddip] = 0; Далее в public OnPlayerRegister добавляем: format(var, 32, "pMeddip=%dn",PlayerInfo[playerid][pMeddip]);fwrite(hFile, var); Далее в public OnPlayerUpdate добавим: format(var, 32, "pMeddip=%dn",PlayerInfo[playerid][pMeddip]);fwrite(hFile, var); Далее в public OnPlayerLogin Добавим: if( strcmp( key , "pMeddip" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pMeddip] = strval( val ); } С этим окончено, теперь надо сделать команды: В public OnPlayerCommandText добавим: if(strcmp(cmd, "/givedip", true) == 0) { if(IsPlayerConnected(playerid)) { if(PlayerInfo[playerid][pMember] == 3 || PlayerInfo[playerid][pAdmin] == 10)//24 омер фракции заменить на свою...10 уроверь админки тоже заменить на свою { if(PlayerInfo[playerid][pRank] < 7) { SendClientMessage(playerid, COLOR_GREY, "Вы не уполномочены выдавать дипломы!"); SendClientMessage(playerid, COLOR_GREY, "Выдавать дипломы возможно только с 7 ранга и выше!"); return 1; } new x_nr[256]; x_nr = strtok(cmdtext, idx); if(!strlen(x_nr)) { SendClientMessage(playerid, COLOR_WHITE, "Подсказка: /givedip [Введите ник] [ID/Имя]"); SendClientMessage(playerid, COLOR_WHITE, "Доступно: Meдик."); return 1; } if(strcmp(x_nr,"Meh",true) == 0) { tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_WHITE, "Подсказка: /givedip Meh [ID/Имя]"); return 1; } giveplayerid = ReturnUser(tmp); if(IsPlayerConnected(giveplayerid)) { if(giveplayerid != INVALID_PLAYER_ID) { GetPlayerName(playerid, sendername, sizeof(sendername)); GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer)); format(string, sizeof(string), "* Bы выдaлu диплом медика для %s.",giveplayer); SendClientMessage(playerid, COLOR_LIGHTBLUE, string); format(string, sizeof(string), "*Учитель %s выдaл вaм диплом медика.",sendername); SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string); PlayerInfo[giveplayerid][pMehdip] = 1; return 1; } } else { SendClientMessage(playerid, COLOR_GREY, "Игрок оффлайн!"); return 1; } } И сделаем команду для показа диплома if(strcmp(cmd,"/showdip",true)==0) { if(IsPlayerConnected(playerid)) { new text1[20]; new text2[20]; //new text3[20]; new text4[20]; // new text5[20]; new text6[20]; new text7[20]; new text8[20]; new text9[20]; if(PlayerInfo[playerid][pMehdip]) { text1 = "Есть"; } else { text1 = "Нет"; } SendClientMessage(playerid, COLOR_WHITE, "|__________________ Дипломы __________________|"); format(string, sizeof(string), "** Диплом Медика : %s.", text6); //SendClientMessage(playerid, COLOR_GREY, string);; SendClientMessage(playerid, COLOR_WHITE, "|______________________________________________|"); } return 1; } Вот и все дорогие друзья Автор скрипта Я
  11. Alexey_Ovchinnickov

    Прописка в г.Южный

    Здравствуйте Уважаемые пользователи gs games Я сегодня вам покажу,как сделать прописку в г.Южный он сделан для рпшности. Начнем! В enum pInfo добавим: pPropis, Далее в public OnPlayerConnect добавим: PlayerInfo[playerid][pPropis] = 0; Далее делаем сохранение в public OnPlayerRegister добавим format(var, 32, "Propis=%d\n",PlayerInfo[playerid][pPropis]);fwrite(hFile, var); Далее еще делаем сохранение в public OnPlayerUpdate добавим: format(var, 32, "Propis=%d\n",PlayerInfo[playerid][pPropis]);fwrite(hFile, var); Далее в public OnPlayerLogin добавляем: if( strcmp( key , "Propis" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pPropis] = strval( val ); } Дальше создаем команду выдать прописку(пример для Полиции) if(strcmp(cmd, "/givepropis", true) == 0) { if(IsPlayerConnected(playerid)) { if(IsACop(playerid)) { tmp = strtok(cmdtext, idx); if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_WHITE, "Используйте: /givepropis [ид]"); if(PlayerInfo[giveplayerid][pPropis] != 1) return SendClientMessage(playerid, COLOR_RED, " У игрока уже есть прописка !"); if(IsPlayerConnected(giveplayerid)) { if(giveplayerid != INVALID_PLAYER_ID) { GetPlayerName(playerid, sendername, sizeof(sendername)); GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer)); format(string, sizeof(string), " Вы выдали %s прописку в г.Южный",giveplayer); SendClientMessage(playerid, COLOR_LIGHTBLUE, string); format(string, sizeof(string), " Полицейский выдал вам прописку в г.Южный",sendername); SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string); PlayerInfo[giveplayerid][pPropis] = 1; } } else { SendClientMessage(playerid, COLOR_GREY, " Этого игрока нету на сервере !"); return 1; } } else { SendClientMessage(playerid, COLOR_GREY, " Вы не полицейский !"); return 1; } } return 1; } Далее добавляем вторую команду для показа прописки. if(strcmp(cmd,"/showdoc",true)==0) { if(IsPlayerConnected(playerid)) { tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_WHITE, "*???????: /showdoc [ID/????? ????]"); return 1; } giveplayerid = ReturnUser(tmp); if(IsPlayerConnected(giveplayerid)) { if(giveplayerid != INVALID_PLAYER_ID) { if (ProxDetectorS(2.0, playerid, giveplayerid)) { if(giveplayerid == playerid) { SendClientMessage(playerid, COLOR_GREY, "*?? ?? ?????? ???????? ???????? ????, ??? ????? ??????????? '/licenses'"); return 1; } GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer)); GetPlayerName(playerid, sendername, sizeof(sendername)); new text1[20]; new text2[20]; new text3[20]; new text4[20]; new text5[20]; new text6[20]; if(PlayerInfo[playerid][pCarLic] == 1) { text1 = "????"; } else { text1 = "???????????"; } if(PlayerInfo[playerid][pFlyLic]) { text4 = "????"; } else { text4 = "???????????"; } if(PlayerInfo[playerid][pBoatLic]) { text2 = "????"; } else { text2 = "???????????"; } if(PlayerInfo[playerid][pFishLic]) { text3 = "????"; } else { text3 = "???????????"; } if(PlayerInfo[playerid][pGunLic]) { text5 = "????"; } else { text5 = "???????????"; } if(PlayerInfo[playerid][pPropis]) { text6 = "????"; } else { text6 = "???????????"; } format(string, sizeof(string), "|_________ ???????? %s__________|", sendername); SendClientMessage(giveplayerid, COLOR_WHITE, string); format(string, sizeof(string), "**???????? ?? ????????: %s", text1); SendClientMessage(giveplayerid, COLOR_GREY, string); format(string, sizeof(string), "**???????? ?? ??????: %s", text4); SendClientMessage(giveplayerid, COLOR_GREY, string); format(string, sizeof(string), "**???????? ?? ?????: %s", text2); SendClientMessage(giveplayerid, COLOR_GREY, string); format(string, sizeof(string), "**???????? ?? ???????: %s", text3); SendClientMessage(giveplayerid, COLOR_GREY, string); format(string, sizeof(string), "**???????? ?? ??????: %s", text5); SendClientMessage(giveplayerid, COLOR_GREY, string); format(string, sizeof(string), "**???????? ? ??? ???????: %s", text6); SendClientMessage(giveplayerid, COLOR_GREY, string); format(string, sizeof(string), "*%s ??????? ??? ???? ????????", sendername); SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string); format(string, sizeof(string), "*?? ???????? %s ???? ???????? ", giveplayer); SendClientMessage(playerid, COLOR_LIGHTBLUE, string); new ownedcar = PlayerInfo[playerid][pCar]; new namecar = GetVehicleModel(ownedcar)-400; if(ownedcar >= 1 && ownedcar <= 130) { format(string, sizeof(string), "*????? ????: [%d], ??? ????: [%s]", ownedcar, VehName[namecar]); SendClientMessage(giveplayerid, COLOR_GREY,string); } format(string, sizeof(string), "*%s ??????? %s ??????? ?????????.", sendername, giveplayer); ProxDetector(20.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE); } else { SendClientMessage(playerid, COLOR_GREY, "*????? ?????? ?? ???"); return 1; } } } else { SendClientMessage(playerid, COLOR_GREY, "*??? ?????? ??????"); return 1; } } return 1; } Вот и все Всем пока.
  12. Mongol_Tomatto

    TextDraw: lvl и EXP

    Здравствуйте я вам покажу как делать вот такой текстдрав и так начнем... В начало ко всем new: new PlayerText:TextDrawLevelExp[MAX_PLAYERS]; в OnPlayerConnect: TextDrawLevelExp[playerid] = CreatePlayerTextDraw(playerid, 10.0,430.0,"_"); PlayerTextDrawAlignment(playerid, TextDrawLevelExp[playerid],0); PlayerTextDrawBackgroundColor(playerid, TextDrawLevelExp[playerid],0x000000ff); PlayerTextDrawFont(playerid, TextDrawLevelExp[playerid],1); PlayerTextDrawLetterSize(playerid, TextDrawLevelExp[playerid],0.500000,1.5); PlayerTextDrawColor(playerid, TextDrawLevelExp[playerid],0xffffffff); PlayerTextDrawSetOutline(playerid, TextDrawLevelExp[playerid],1); PlayerTextDrawSetProportional(playerid, TextDrawLevelExp[playerid],1); PlayerTextDrawSetShadow(playerid, TextDrawLevelExp[playerid],1); PlayerTextDrawShow(playerid, TextDrawLevelExp[playerid]); в OnPlayerDisconnect: PlayerTextDrawDestroy(playerid, TextDrawLevelExp[playerid]); в конце мода: stock TextDrawLevelExpShow(playerid) { new string[256]; new nxtlevel = PlayerInfo[playerid][pLevel]+1; new expamount = nxtlevel*levelexp; format(string,sizeof(string),"LvL:~b~%d ~w~Exp:~b~%d~w~/~b~%d",PlayerInfo[playerid][pLevel],PlayerInfo[playerid][pExp],expamount); PlayerTextDrawSetString(playerid, TextDrawLevelExp[playerid], string); } и в OnPlayerLogin , в конце команды /buylevel и в Public Payday() после получение Exp добавляем: TextDrawLevelExpShow(playerid); Автор: ©Ru[D]o
  13. Seroga_Slon

    Замена машини

    Вот решил выложить скрипт по замене авто! Вырезал со своего мода!! Как она действует думаю не надо обяснять)) Думаю будет полезна для многих if(strcmp(cmd, "/zamena", true) == 0) { if(IsPlayerConnected(playerid)) { if(PlayerInfo[playerid][pAdmin] >= 9) { tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_GRAD2, "Используйте: /zamena [Текст]"); return 1; } new car; car = strval(tmp); if(car < 400 || car > 611) { SendClientMessage(playerid, COLOR_GREY, "{ffffff}С 400 по 611!"); return 1; } new cari = GetPlayerVehicleID(playerid); CarInfo[cari][cMod] = car; DestroyVehicle(cari); CreateVehicle(car,CarInfo[cari][cPx],CarInfo[cari][cPy],CarInfo[cari][cPz],CarInfo[cari][cPa],CarInfo[cari][cCol1],CarInfo[cari][cCol2],OWNED_CAR_RESPAWN_DELAY); CreateCar(AllCars); format(string, sizeof(string), "Ваша машина заменина"); SendClientMessage(playerid, COLOR_GREY, string); } return 1; } return 1; } if(PlayerInfo[playerid][pAdmin] >= 9) число здесь меняем на свое это с какого лвл админ может заменять машину Будут вопросы задавайте сюда или в скайп! По просьбе #Strickland Сделал 2 скрина с заменой! 4
  14. Здравствуйте Уважаемые пользователи Gs-games. Сегодня я вас научу,как сделать так чтобы во всех фракциях можно было заносить игроков в "Черный список" Начнем! Для начало внесем вот это в enum pInfo pBlackList1, // ЧС фракции под номером 1 pBlackList2, pBlackList3, pBlackList4, pBlackList5, pBlackList6, pBlackList7, pBlackList8, pBlackList9, pBlackList10, pBlackList11, pBlackList12, pBlackList13, pBlackList14, pBlackList15, pBlackList16, pBlackList17, pBlackList18, pBlackList19, pBlackList20, pBlackList21, pBlackList22 Далее Дорогие друзья делаем сохранение в public OnPlayerRegister добавляем php код ini_setInteger(File,"BlackList1",PlayerInfo[playerid][pBlackList1]); ini_setInteger(File,"BlackList2",PlayerInfo[playerid][pBlackList2]); ini_setInteger(File,"BlackList3",PlayerInfo[playerid][pBlackList3]); ini_setInteger(File,"BlackList4",PlayerInfo[playerid][pBlackList4]); ini_setInteger(File,"BlackList5",PlayerInfo[playerid][pBlackList5]); ini_setInteger(File,"BlackList6",PlayerInfo[playerid][pBlackList6]); ini_setInteger(File,"BlackList7",PlayerInfo[playerid][pBlackList7]); ini_setInteger(File,"BlackList8",PlayerInfo[playerid][pBlackList8]); ini_setInteger(File,"BlackList9",PlayerInfo[playerid][pBlackList9]); ini_setInteger(File,"BlackList10",PlayerInfo[playerid][pBlackList10]); ini_setInteger(File,"BlackList11",PlayerInfo[playerid][pBlackList11]); ini_setInteger(File,"BlackList12",PlayerInfo[playerid][pBlackList12]); ini_setInteger(File,"BlackList13",PlayerInfo[playerid][pBlackList13]); ini_setInteger(File,"BlackList14",PlayerInfo[playerid][pBlackList14]); ini_setInteger(File,"BlackList15",PlayerInfo[playerid][pBlackList15]); ini_setInteger(File,"BlackList16",PlayerInfo[playerid][pBlackList16]); ini_setInteger(File,"BlackList17",PlayerInfo[playerid][pBlackList17]); ini_setInteger(File,"BlackList18",PlayerInfo[playerid][pBlackList18]); ini_setInteger(File,"BlackList19",PlayerInfo[playerid][pBlackList19]); ini_setInteger(File,"BlackList20",PlayerInfo[playerid][pBlackList20]); ini_setInteger(File,"BlackList21",PlayerInfo[playerid][pBlackList21]); ini_setInteger(File,"BlackList22",PlayerInfo[playerid][pBlackList22]); Ну а теперь тоже сохранение ставим в public сохранение аккаунтов ini_setInteger(File,"BlackList1",PlayerInfo[playerid][pBlackList1]); ini_setInteger(File,"BlackList2",PlayerInfo[playerid][pBlackList2]); ini_setInteger(File,"BlackList3",PlayerInfo[playerid][pBlackList3]); ini_setInteger(File,"BlackList4",PlayerInfo[playerid][pBlackList4]); ini_setInteger(File,"BlackList5",PlayerInfo[playerid][pBlackList5]); ini_setInteger(File,"BlackList6",PlayerInfo[playerid][pBlackList6]); ini_setInteger(File,"BlackList7",PlayerInfo[playerid][pBlackList7]); ini_setInteger(File,"BlackList8",PlayerInfo[playerid][pBlackList8]); ini_setInteger(File,"BlackList9",PlayerInfo[playerid][pBlackList9]); ini_setInteger(File,"BlackList10",PlayerInfo[playerid][pBlackList10]); ini_setInteger(File,"BlackList11",PlayerInfo[playerid][pBlackList11]); ini_setInteger(File,"BlackList12",PlayerInfo[playerid][pBlackList12]); ini_setInteger(File,"BlackList13",PlayerInfo[playerid][pBlackList13]); ini_setInteger(File,"BlackList14",PlayerInfo[playerid][pBlackList14]); ini_setInteger(File,"BlackList15",PlayerInfo[playerid][pBlackList15]); ini_setInteger(File,"BlackList16",PlayerInfo[playerid][pBlackList16]); ini_setInteger(File,"BlackList17",PlayerInfo[playerid][pBlackList17]); ini_setInteger(File,"BlackList18",PlayerInfo[playerid][pBlackList18]); ini_setInteger(File,"BlackList19",PlayerInfo[playerid][pBlackList19]); ini_setInteger(File,"BlackList20",PlayerInfo[playerid][pBlackList20]); ini_setInteger(File,"BlackList21",PlayerInfo[playerid][pBlackList21]); ini_setInteger(File,"BlackList22",PlayerInfo[playerid][pBlackList22]); И снова у нас сохранение в public OnPlayerLogin вставим следущее ini_getInteger(File,"BlackList1",PlayerInfo[playerid][pBlackList1]); ini_getInteger(File,"BlackList2",PlayerInfo[playerid][pBlackList2]); ini_getInteger(File,"BlackList3",PlayerInfo[playerid][pBlackList3]); ini_getInteger(File,"BlackList4",PlayerInfo[playerid][pBlackList4]); ini_getInteger(File,"BlackList5",PlayerInfo[playerid][pBlackList5]); ini_getInteger(File,"BlackList6",PlayerInfo[playerid][pBlackList6]); ini_getInteger(File,"BlackList7",PlayerInfo[playerid][pBlackList7]); ini_getInteger(File,"BlackList8",PlayerInfo[playerid][pBlackList8]); ini_getInteger(File,"BlackList9",PlayerInfo[playerid][pBlackList9]); ini_getInteger(File,"BlackList10",PlayerInfo[playerid][pBlackList10]); ini_getInteger(File,"BlackList11",PlayerInfo[playerid][pBlackList11]); ini_getInteger(File,"BlackList12",PlayerInfo[playerid][pBlackList12]); ini_getInteger(File,"BlackList13",PlayerInfo[playerid][pBlackList13]); ini_getInteger(File,"BlackList14",PlayerInfo[playerid][pBlackList14]); ini_getInteger(File,"BlackList15",PlayerInfo[playerid][pBlackList15]); ini_getInteger(File,"BlackList16",PlayerInfo[playerid][pBlackList16]); ini_getInteger(File,"BlackList17",PlayerInfo[playerid][pBlackList17]); ini_getInteger(File,"BlackList18",PlayerInfo[playerid][pBlackList18]); ini_getInteger(File,"BlackList19",PlayerInfo[playerid][pBlackList19]); ini_getInteger(File,"BlackList20",PlayerInfo[playerid][pBlackList20]); ini_getInteger(File,"BlackList21",PlayerInfo[playerid][pBlackList21]); ini_getInteger(File,"BlackList22",PlayerInfo[playerid][pBlackList22]); Теперь добавим к команде /invite ко всем фракциям следущее if(PlayerInfo[para1][pBlackList1] == 1) return SendClientMessage(playerid, COLOR_GREY, "Человек находится в ЧС вашей фракции"); Ну а теперь дорогие друзья добавим сами команды их всего две. if(strcmp(cmd, "/blacklist", true) == 0 || strcmp(cmd, "/bl", true) == 0) // Занести в ЧС { if(IsPlayerConnected(playerid)) { tmp = strtok(cmdtext, idx); if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_GREY, "* /bl [playerid/PartOfName] [Причина]"); giveplayerid = ReturnUser(tmp); if (PlayerInfo[playerid][pLeader] > 0) { if(IsPlayerConnected(giveplayerid)) { if(giveplayerid != INVALID_PLAYER_ID) { GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer)); GetPlayerName(playerid, sendername, sizeof(sendername)); new length = strlen(cmdtext); while ((idx < length) && (cmdtext[idx] <= ' ')) { idx++; } new offset = idx; new result[64]; while ((idx < length) && ((idx - offset) < (sizeof(result) - 1))) { result[idx - offset] = cmdtext[idx]; idx++; } result[idx - offset] = EOS; if(!strlen(result)) return SendClientMessage(playerid, COLOR_GREY, "* /bl [playerid/PartOfName] [Причина]"); if(giveplayerid == playerid) return SendClientMessage(playerid, COLOR_GREY, "* Вы не можете внести себя!"); if(PlayerInfo[giveplayerid][pMember] == PlayerInfo[playerid][pLeader]) return SendClientMessage(playerid, COLOR_GREY, "* Вы не можете внести сотрудника вашей организации!"); if(PlayerInfo[playerid][pLeader] == 1) { if(PlayerInfo[giveplayerid][pBlackList1] > 0) return SendClientMessage(playerid, COLOR_GREY, "* Игрок уже находится в вашем Чёрном списке."); PlayerInfo[giveplayerid][pBlackList1] = 1; format(string, sizeof(string), "* Вы внесли %s в список рецидивистов. Причина: %s", giveplayer, (result)); SendClientMessage(playerid, COLOR_YELLOW, string); format(string, sizeof(string), "* %s внёс вас в список рецидивистов. Причина: %s", sendername, (result)); SendClientMessage(giveplayerid, COLOR_YELLOW, string); } else if(PlayerInfo[playerid][pLeader] == 2) { if(PlayerInfo[giveplayerid][pBlackList2] > 0) return SendClientMessage(playerid, COLOR_GREY, "* Игрок уже находится в вашем Чёрном списке."); PlayerInfo[giveplayerid][pBlackList2] = 1; format(string, sizeof(string), "* Вы внесли %s в черный список вашей фракции. Причина: %s", giveplayer, (result)); SendClientMessage(playerid, COLOR_YELLOW, string); format(string, sizeof(string), "* %s внёс вас в черный список фракции. Причина: %s", sendername, (result)); SendClientMessage(giveplayerid, COLOR_YELLOW, string); } else if(PlayerInfo[playerid][pLeader] == 3) { if(PlayerInfo[giveplayerid][pBlackList3] > 0) return SendClientMessage(playerid, COLOR_GREY, "* Игрок уже находится в вашем Чёрном списке."); PlayerInfo[giveplayerid][pBlackList3] = 1; format(string, sizeof(string), "* Вы внесли %s в черный список вашей фракции. Причина: %s", giveplayer, (result)); SendClientMessage(playerid, COLOR_YELLOW, string); format(string, sizeof(string), "* %s внёс вас в черный список фракции. Причина: %s", sendername, (result)); SendClientMessage(giveplayerid, COLOR_YELLOW, string); } else if(PlayerInfo[playerid][pLeader] == 4) { if(PlayerInfo[giveplayerid][pBlackList4] > 0) return SendClientMessage(playerid, COLOR_GREY, "* Игрок уже находится в вашем Чёрном списке."); PlayerInfo[giveplayerid][pBlackList4] = 1; format(string, sizeof(string), "* Вы внесли %s в черный список вашей фракции. Причина: %s", giveplayer, (result)); SendClientMessage(playerid, COLOR_YELLOW, string); format(string, sizeof(string), "* %s внёс вас в черный список фракции. Причина: %s", sendername, (result)); SendClientMessage(giveplayerid, COLOR_YELLOW, string); } else if(PlayerInfo[playerid][pLeader] == 5) { if(PlayerInfo[giveplayerid][pBlackList5] > 0) return SendClientMessage(playerid, COLOR_GREY, "* Игрок уже находится в вашем Чёрном списке."); PlayerInfo[giveplayerid][pBlackList5] = 1; format(string, sizeof(string), "* Вы внесли %s в черный список вашей фракции. Причина: %s", giveplayer, (result)); SendClientMessage(playerid, COLOR_YELLOW, string); format(string, sizeof(string), "* %s внёс вас в черный список фракции. Причина: %s", sendername, (result)); SendClientMessage(giveplayerid, COLOR_YELLOW, string); } else if(PlayerInfo[playerid][pLeader] == 6) { if(PlayerInfo[giveplayerid][pBlackList6] > 0) return SendClientMessage(playerid, COLOR_GREY, "* Игрок уже находится в вашем Чёрном списке."); PlayerInfo[giveplayerid][pBlackList6] = 1; format(string, sizeof(string), "* Вы внесли %s в черный список вашей фракции. Причина: %s", giveplayer, (result)); SendClientMessage(playerid, COLOR_YELLOW, string); format(string, sizeof(string), "* %s внёс вас в черный список фракции. Причина: %s", sendername, (result)); SendClientMessage(giveplayerid, COLOR_YELLOW, string); } else if(PlayerInfo[playerid][pLeader] == 7) { if(PlayerInfo[giveplayerid][pBlackList7] > 0) return SendClientMessage(playerid, COLOR_GREY, "* Игрок уже находится в вашем Чёрном списке."); PlayerInfo[giveplayerid][pBlackList7] = 1; format(string, sizeof(string), "* Вы внесли %s в черный список вашей фракции. Причина: %s", giveplayer, (result)); SendClientMessage(playerid, COLOR_YELLOW, string); format(string, sizeof(string), "* %s внёс вас в черный список фракции. Причина: %s", sendername, (result)); SendClientMessage(giveplayerid, COLOR_YELLOW, string); } else if(PlayerInfo[playerid][pLeader] == 8) { if(PlayerInfo[giveplayerid][pBlackList8] > 0) return SendClientMessage(playerid, COLOR_GREY, "* Игрок уже находится в вашем Чёрном списке."); PlayerInfo[giveplayerid][pBlackList8] = 1; format(string, sizeof(string), "* Вы внесли %s в черный список вашей фракции. Причина: %s", giveplayer, (result)); SendClientMessage(playerid, COLOR_YELLOW, string); format(string, sizeof(string), "* %s внёс вас в черный список фракции. Причина: %s", sendername, (result)); SendClientMessage(giveplayerid, COLOR_YELLOW, string); } else if(PlayerInfo[playerid][pLeader] == 9) { if(PlayerInfo[giveplayerid][pBlackList9] > 0) return SendClientMessage(playerid, COLOR_GREY, "* Игрок уже находится в вашем Чёрном списке."); PlayerInfo[giveplayerid][pBlackList9] = 1; format(string, sizeof(string), "* Вы внесли %s в черный список вашей фракции. Причина: %s", giveplayer, (result)); SendClientMessage(playerid, COLOR_YELLOW, string); format(string, sizeof(string), "* %s внёс вас в черный список фракции. Причина: %s", sendername, (result)); SendClientMessage(giveplayerid, COLOR_YELLOW, string); } else if(PlayerInfo[playerid][pLeader] == 10) { if(PlayerInfo[giveplayerid][pBlackList10] > 0) return SendClientMessage(playerid, COLOR_GREY, "* Игрок уже находится в вашем Чёрном списке."); PlayerInfo[giveplayerid][pBlackList10] = 1; format(string, sizeof(string), "* Вы внесли %s в черный список вашей фракции. Причина: %s", giveplayer, (result)); SendClientMessage(playerid, COLOR_YELLOW, string); format(string, sizeof(string), "* %s внёс вас в черный список фракции. Причина: %s", sendername, (result)); SendClientMessage(giveplayerid, COLOR_YELLOW, string); } else if(PlayerInfo[playerid][pLeader] == 11) { if(PlayerInfo[giveplayerid][pBlackList11] > 0) return SendClientMessage(playerid, COLOR_GREY, "* Игрок уже находится в вашем Чёрном списке."); PlayerInfo[giveplayerid][pBlackList11] = 1; format(string, sizeof(string), "* Вы внесли %s в черный список вашей фракции. Причина: %s", giveplayer, (result)); SendClientMessage(playerid, COLOR_YELLOW, string); format(string, sizeof(string), "* %s внёс вас в черный список фракции. Причина: %s", sendername, (result)); SendClientMessage(giveplayerid, COLOR_YELLOW, string); } else if(PlayerInfo[playerid][pLeader] == 12) { if(PlayerInfo[giveplayerid][pBlackList12] > 0) return SendClientMessage(playerid, COLOR_GREY, "* Игрок уже находится в вашем Чёрном списке."); PlayerInfo[giveplayerid][pBlackList12] = 1; format(string, sizeof(string), "* Вы внесли %s в черный список вашей фракции. Причина: %s", giveplayer, (result)); SendClientMessage(playerid, COLOR_YELLOW, string); format(string, sizeof(string), "* %s внёс вас в черный список фракции. Причина: %s", sendername, (result)); SendClientMessage(giveplayerid, COLOR_YELLOW, string); } else if(PlayerInfo[playerid][pLeader] == 13) { if(PlayerInfo[giveplayerid][pBlackList13] > 0) return SendClientMessage(playerid, COLOR_GREY, "* Игрок уже находится в вашем Чёрном списке."); PlayerInfo[giveplayerid][pBlackList13] = 1; format(string, sizeof(string), "* Вы внесли %s в черный список вашей фракции. Причина: %s", giveplayer, (result)); SendClientMessage(playerid, COLOR_YELLOW, string); format(string, sizeof(string), "* %s внёс вас в черный список фракции. Причина: %s", sendername, (result)); SendClientMessage(giveplayerid, COLOR_YELLOW, string); } else if(PlayerInfo[playerid][pLeader] == 14) { if(PlayerInfo[giveplayerid][pBlackList14] > 0) return SendClientMessage(playerid, COLOR_GREY, "* Игрок уже находится в вашем Чёрном списке."); PlayerInfo[giveplayerid][pBlackList14] = 1; format(string, sizeof(string), "* Вы внесли %s в черный список вашей фракции. Причина: %s", giveplayer, (result)); SendClientMessage(playerid, COLOR_YELLOW, string); format(string, sizeof(string), "* %s внёс вас в черный список фракции. Причина: %s", sendername, (result)); SendClientMessage(giveplayerid, COLOR_YELLOW, string); } else if(PlayerInfo[playerid][pLeader] == 15) { if(PlayerInfo[giveplayerid][pBlackList15] > 0) return SendClientMessage(playerid, COLOR_GREY, "* Игрок уже находится в вашем Чёрном списке."); PlayerInfo[giveplayerid][pBlackList15] = 1; format(string, sizeof(string), "* Вы внесли %s в черный список вашей фракции. Причина: %s", giveplayer, (result)); SendClientMessage(playerid, COLOR_YELLOW, string); format(string, sizeof(string), "* %s внёс вас в черный список фракции. Причина: %s", sendername, (result)); SendClientMessage(giveplayerid, COLOR_YELLOW, string); } else if(PlayerInfo[playerid][pLeader] == 16) { if(PlayerInfo[giveplayerid][pBlackList16] > 0) return SendClientMessage(playerid, COLOR_GREY, "* Игрок уже находится в вашем Чёрном списке."); PlayerInfo[giveplayerid][pBlackList16] = 1; format(string, sizeof(string), "* Вы внесли %s в черный список вашей фракции. Причина: %s", giveplayer, (result)); SendClientMessage(playerid, COLOR_YELLOW, string); format(string, sizeof(string), "* %s внёс вас в черный список фракции. Причина: %s", sendername, (result)); SendClientMessage(giveplayerid, COLOR_YELLOW, string); } else if(PlayerInfo[playerid][pLeader] == 17) { if(PlayerInfo[giveplayerid][pBlackList17] > 0) return SendClientMessage(playerid, COLOR_GREY, "* Игрок уже находится в вашем Чёрном списке."); PlayerInfo[giveplayerid][pBlackList17] = 1; format(string, sizeof(string), "* Вы внесли %s в черный список вашей фракции. Причина: %s", giveplayer, (result)); SendClientMessage(playerid, COLOR_YELLOW, string); format(string, sizeof(string), "* %s внёс вас в черный список фракции. Причина: %s", sendername, (result)); SendClientMessage(giveplayerid, COLOR_YELLOW, string); } else if(PlayerInfo[playerid][pLeader] == 18) { if(PlayerInfo[giveplayerid][pBlackList18] > 0) return SendClientMessage(playerid, COLOR_GREY, "* Игрок уже находится в вашем Чёрном списке."); PlayerInfo[giveplayerid][pBlackList18] = 1; format(string, sizeof(string), "* Вы внесли %s в черный список вашей фракции. Причина: %s", giveplayer, (result)); SendClientMessage(playerid, COLOR_YELLOW, string); format(string, sizeof(string), "* %s внёс вас в черный список фракции. Причина: %s", sendername, (result)); SendClientMessage(giveplayerid, COLOR_YELLOW, string); } else if(PlayerInfo[playerid][pLeader] == 19) { if(PlayerInfo[giveplayerid][pBlackList19] > 0) return SendClientMessage(playerid, COLOR_GREY, "* Игрок уже находится в вашем Чёрном списке."); PlayerInfo[giveplayerid][pBlackList19] = 1; format(string, sizeof(string), "* Вы внесли %s в черный список вашей фракции. Причина: %s", giveplayer, (result)); SendClientMessage(playerid, COLOR_YELLOW, string); format(string, sizeof(string), "* %s внёс вас в черный список фракции. Причина: %s", sendername, (result)); SendClientMessage(giveplayerid, COLOR_YELLOW, string); } else if(PlayerInfo[playerid][pLeader] == 20) { if(PlayerInfo[giveplayerid][pBlackList20] > 0) return SendClientMessage(playerid, COLOR_GREY, "* Игрок уже находится в вашем Чёрном списке."); PlayerInfo[giveplayerid][pBlackList20] = 1; format(string, sizeof(string), "* Вы внесли %s в черный список вашей фракции. Причина: %s", giveplayer, (result)); SendClientMessage(playerid, COLOR_YELLOW, string); format(string, sizeof(string), "* %s внёс вас в черный список фракции. Причина: %s", sendername, (result)); SendClientMessage(giveplayerid, COLOR_YELLOW, string); } else if(PlayerInfo[playerid][pLeader] == 21) { if(PlayerInfo[giveplayerid][pBlackList21] > 0) return SendClientMessage(playerid, COLOR_GREY, "* Игрок уже находится в вашем Чёрном списке."); PlayerInfo[giveplayerid][pBlackList21] = 1; format(string, sizeof(string), "* Вы внесли %s в черный список вашей фракции. Причина: %s", giveplayer, (result)); SendClientMessage(playerid, COLOR_YELLOW, string); format(string, sizeof(string), "* %s внёс вас в черный список фракции. Причина: %s", sendername, (result)); SendClientMessage(giveplayerid, COLOR_YELLOW, string); } else if(PlayerInfo[playerid][pLeader] == 22) { if(PlayerInfo[giveplayerid][pBlackList22] > 0) return SendClientMessage(playerid, COLOR_GREY, "* Игрок уже находится в вашем Чёрном списке."); PlayerInfo[giveplayerid][pBlackList22] = 1; format(string, sizeof(string), "* Вы внесли %s в черный список вашей фракции. Причина: %s", giveplayer, (result)); SendClientMessage(playerid, COLOR_YELLOW, string); format(string, sizeof(string), "* %s внёс вас в черный список фракции. Причина: %s", sendername, (result)); SendClientMessage(giveplayerid, COLOR_YELLOW, string); } return 1; } } else { SendClientMessage(playerid, COLOR_GREY, "* Игрок не в игре."); return 1; } } else { SendClientMessage(playerid, COLOR_GREY, "* Вам недоступна эта команда."); return 1; } } return 1; } И последняя команда вставим же ее if(strcmp(cmd, "/unblacklist", true) == 0 || strcmp(cmd, "/unbl", true) == 0) // Убрать из ЧС { if(IsPlayerConnected(playerid)) { tmp = strtok(cmdtext, idx); if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_GREY, "* /unbl [playerid/PartOfName]"); giveplayerid = ReturnUser(tmp); if (PlayerInfo[playerid][pLeader] > 0) { if(IsPlayerConnected(giveplayerid)) { if(giveplayerid != INVALID_PLAYER_ID) { GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer)); GetPlayerName(playerid, sendername, sizeof(sendername)); if(giveplayerid == playerid) return SendClientMessage(playerid, COLOR_GREY, "* Вы не можете внести себя!"); if(PlayerInfo[giveplayerid][pMember] == PlayerInfo[playerid][pLeader]) return SendClientMessage(playerid, COLOR_GREY, "* Вы не можете внести сотрудника вашей организации!"); if(PlayerInfo[playerid][pLeader] == 1) { if(PlayerInfo[giveplayerid][pBlackList1] > 0) return SendClientMessage(playerid, COLOR_GREY, "* Игрок не находится в вашем Чёрном списке."); PlayerInfo[giveplayerid][pBlackList1] = 0; format(string, sizeof(string), "* Вы вынесли %s из списка рецидивистов.", giveplayer); SendClientMessage(playerid, COLOR_YELLOW, string); format(string, sizeof(string), "* %s вынес вас из списка рецидивистов.", sendername); SendClientMessage(giveplayerid, COLOR_YELLOW, string); } else if(PlayerInfo[playerid][pLeader] == 2) { if(PlayerInfo[giveplayerid][pBlackList2] > 0) return SendClientMessage(playerid, COLOR_GREY, "* Игрок не находится в вашем Чёрном списке."); PlayerInfo[giveplayerid][pBlackList2] = 0; format(string, sizeof(string), "* Вы вынесли %s из Чёрного списка вашей фракции.", giveplayer); SendClientMessage(playerid, COLOR_YELLOW, string); format(string, sizeof(string), "* %s вынес вас из Чёрного списка фракции.", sendername); SendClientMessage(giveplayerid, COLOR_YELLOW, string); } else if(PlayerInfo[playerid][pLeader] == 3) { if(PlayerInfo[giveplayerid][pBlackList3] > 0) return SendClientMessage(playerid, COLOR_GREY, "* Игрок не находится в вашем Чёрном списке."); PlayerInfo[giveplayerid][pBlackList3] = 0; format(string, sizeof(string), "* Вы вынесли %s из Чёрного списка вашей фракции.", giveplayer); SendClientMessage(playerid, COLOR_YELLOW, string); format(string, sizeof(string), "* %s вынес вас из Чёрного списка фракции.", sendername); SendClientMessage(giveplayerid, COLOR_YELLOW, string); } else if(PlayerInfo[playerid][pLeader] == 4) { if(PlayerInfo[giveplayerid][pBlackList4] > 0) return SendClientMessage(playerid, COLOR_GREY, "* Игрок не находится в вашем Чёрном списке."); PlayerInfo[giveplayerid][pBlackList4] = 0; format(string, sizeof(string), "* Вы вынесли %s из Чёрного списка вашей фракции.", giveplayer); SendClientMessage(playerid, COLOR_YELLOW, string); format(string, sizeof(string), "* %s вынес вас из Чёрного списка фракции.", sendername); SendClientMessage(giveplayerid, COLOR_YELLOW, string); } else if(PlayerInfo[playerid][pLeader] == 5) { if(PlayerInfo[giveplayerid][pBlackList5] > 0) return SendClientMessage(playerid, COLOR_GREY, "* Игрок не находится в вашем Чёрном списке."); PlayerInfo[giveplayerid][pBlackList5] = 0; format(string, sizeof(string), "* Вы вынесли %s из Чёрного списка вашей фракции.", giveplayer); SendClientMessage(playerid, COLOR_YELLOW, string); format(string, sizeof(string), "* %s вынес вас из Чёрного списка фракции.", sendername); SendClientMessage(giveplayerid, COLOR_YELLOW, string); } else if(PlayerInfo[playerid][pLeader] == 6) { if(PlayerInfo[giveplayerid][pBlackList6] > 0) return SendClientMessage(playerid, COLOR_GREY, "* Игрок не находится в вашем Чёрном списке."); PlayerInfo[giveplayerid][pBlackList6] = 0; format(string, sizeof(string), "* Вы вынесли %s из Чёрного списка вашей фракции.", giveplayer); SendClientMessage(playerid, COLOR_YELLOW, string); format(string, sizeof(string), "* %s вынес вас из Чёрного списка фракции.", sendername); SendClientMessage(giveplayerid, COLOR_YELLOW, string); } else if(PlayerInfo[playerid][pLeader] == 7) { if(PlayerInfo[giveplayerid][pBlackList7] > 0) return SendClientMessage(playerid, COLOR_GREY, "* Игрок не находится в вашем Чёрном списке."); PlayerInfo[giveplayerid][pBlackList7] = 0; format(string, sizeof(string), "* Вы вынесли %s из Чёрного списка вашей фракции.", giveplayer); SendClientMessage(playerid, COLOR_YELLOW, string); format(string, sizeof(string), "* %s вынес вас из Чёрного списка фракции.", sendername); SendClientMessage(giveplayerid, COLOR_YELLOW, string); } else if(PlayerInfo[playerid][pLeader] == 8) { if(PlayerInfo[giveplayerid][pBlackList8] > 0) return SendClientMessage(playerid, COLOR_GREY, "* Игрок не находится в вашем Чёрном списке."); PlayerInfo[giveplayerid][pBlackList8] = 0; format(string, sizeof(string), "* Вы вынесли %s из Чёрного списка вашей фракции.", giveplayer); SendClientMessage(playerid, COLOR_YELLOW, string); format(string, sizeof(string), "* %s вынес вас из Чёрного списка фракции.", sendername); SendClientMessage(giveplayerid, COLOR_YELLOW, string); } else if(PlayerInfo[playerid][pLeader] == 9) { if(PlayerInfo[giveplayerid][pBlackList9] > 0) return SendClientMessage(playerid, COLOR_GREY, "* Игрок не находится в вашем Чёрном списке."); PlayerInfo[giveplayerid][pBlackList9] = 0; format(string, sizeof(string), "* Вы вынесли %s из Чёрного списка вашей фракции.", giveplayer); SendClientMessage(playerid, COLOR_YELLOW, string); format(string, sizeof(string), "* %s вынес вас из Чёрного списка фракции.", sendername); SendClientMessage(giveplayerid, COLOR_YELLOW, string); } else if(PlayerInfo[playerid][pLeader] == 10) { if(PlayerInfo[giveplayerid][pBlackList10] > 0) return SendClientMessage(playerid, COLOR_GREY, "* Игрок не находится в вашем Чёрном списке."); PlayerInfo[giveplayerid][pBlackList10] = 0; format(string, sizeof(string), "* Вы вынесли %s из Чёрного списка вашей фракции.", giveplayer); SendClientMessage(playerid, COLOR_YELLOW, string); format(string, sizeof(string), "* %s вынес вас из Чёрного списка фракции.", sendername); SendClientMessage(giveplayerid, COLOR_YELLOW, string); } else if(PlayerInfo[playerid][pLeader] == 11) { if(PlayerInfo[giveplayerid][pBlackList11] > 0) return SendClientMessage(playerid, COLOR_GREY, "* Игрок не находится в вашем Чёрном списке."); PlayerInfo[giveplayerid][pBlackList11] = 0; format(string, sizeof(string), "* Вы вынесли %s из Чёрного списка вашей фракции.", giveplayer); SendClientMessage(playerid, COLOR_YELLOW, string); format(string, sizeof(string), "* %s вынес вас из Чёрного списка фракции.", sendername); SendClientMessage(giveplayerid, COLOR_YELLOW, string); } else if(PlayerInfo[playerid][pLeader] == 12) { if(PlayerInfo[giveplayerid][pBlackList12] > 0) return SendClientMessage(playerid, COLOR_GREY, "* Игрок не находится в вашем Чёрном списке."); PlayerInfo[giveplayerid][pBlackList12] = 0; format(string, sizeof(string), "* Вы вынесли %s из Чёрного списка вашей фракции.", giveplayer); SendClientMessage(playerid, COLOR_YELLOW, string); format(string, sizeof(string), "* %s вынес вас из Чёрного списка фракции.", sendername); SendClientMessage(giveplayerid, COLOR_YELLOW, string); } else if(PlayerInfo[playerid][pLeader] == 13) { if(PlayerInfo[giveplayerid][pBlackList13] > 0) return SendClientMessage(playerid, COLOR_GREY, "* Игрок не находится в вашем Чёрном списке."); PlayerInfo[giveplayerid][pBlackList13] = 0; format(string, sizeof(string), "* Вы вынесли %s из Чёрного списка вашей фракции.", giveplayer); SendClientMessage(playerid, COLOR_YELLOW, string); format(string, sizeof(string), "* %s вынес вас из Чёрного списка фракции.", sendername); SendClientMessage(giveplayerid, COLOR_YELLOW, string); } else if(PlayerInfo[playerid][pLeader] == 14) { if(PlayerInfo[giveplayerid][pBlackList14] > 0) return SendClientMessage(playerid, COLOR_GREY, "* Игрок не находится в вашем Чёрном списке."); PlayerInfo[giveplayerid][pBlackList14] = 0; format(string, sizeof(string), "* Вы вынесли %s из Чёрного списка вашей фракции.", giveplayer); SendClientMessage(playerid, COLOR_YELLOW, string); format(string, sizeof(string), "* %s вынес вас из Чёрного списка фракции.", sendername); SendClientMessage(giveplayerid, COLOR_YELLOW, string); } else if(PlayerInfo[playerid][pLeader] == 15) { if(PlayerInfo[giveplayerid][pBlackList15] > 0) return SendClientMessage(playerid, COLOR_GREY, "* Игрок не находится в вашем Чёрном списке."); PlayerInfo[giveplayerid][pBlackList15] = 0; format(string, sizeof(string), "* Вы вынесли %s из Чёрного списка вашей фракции.", giveplayer); SendClientMessage(playerid, COLOR_YELLOW, string); format(string, sizeof(string), "* %s вынес вас из Чёрного списка фракции.", sendername); SendClientMessage(giveplayerid, COLOR_YELLOW, string); } else if(PlayerInfo[playerid][pLeader] == 16) { if(PlayerInfo[giveplayerid][pBlackList16] > 0) return SendClientMessage(playerid, COLOR_GREY, "* Игрок не находится в вашем Чёрном списке."); PlayerInfo[giveplayerid][pBlackList16] = 0; format(string, sizeof(string), "* Вы вынесли %s из Чёрного списка вашей фракции.", giveplayer); SendClientMessage(playerid, COLOR_YELLOW, string); format(string, sizeof(string), "* %s вынес вас из Чёрного списка фракции.", sendername); SendClientMessage(giveplayerid, COLOR_YELLOW, string); } else if(PlayerInfo[playerid][pLeader] == 17) { if(PlayerInfo[giveplayerid][pBlackList17] > 0) return SendClientMessage(playerid, COLOR_GREY, "* Игрок не находится в вашем Чёрном списке."); PlayerInfo[giveplayerid][pBlackList17] = 0; format(string, sizeof(string), "* Вы вынесли %s из Чёрного списка вашей фракции.", giveplayer); SendClientMessage(playerid, COLOR_YELLOW, string); format(string, sizeof(string), "* %s вынес вас из Чёрного списка фракции.", sendername); SendClientMessage(giveplayerid, COLOR_YELLOW, string); } else if(PlayerInfo[playerid][pLeader] == 18) { if(PlayerInfo[giveplayerid][pBlackList18] > 0) return SendClientMessage(playerid, COLOR_GREY, "* Игрок не находится в вашем Чёрном списке."); PlayerInfo[giveplayerid][pBlackList18] = 0; format(string, sizeof(string), "* Вы вынесли %s из Чёрного списка вашей фракции.", giveplayer); SendClientMessage(playerid, COLOR_YELLOW, string); format(string, sizeof(string), "* %s вынес вас из Чёрного списка фракции.", sendername); SendClientMessage(giveplayerid, COLOR_YELLOW, string); } else if(PlayerInfo[playerid][pLeader] == 19) { if(PlayerInfo[giveplayerid][pBlackList19] > 0) return SendClientMessage(playerid, COLOR_GREY, "* Игрок не находится в вашем Чёрном списке."); PlayerInfo[giveplayerid][pBlackList19] = 0; format(string, sizeof(string), "* Вы вынесли %s из Чёрного списка вашей фракции.", giveplayer); SendClientMessage(playerid, COLOR_YELLOW, string); format(string, sizeof(string), "* %s вынес вас из Чёрного списка фракции.", sendername); SendClientMessage(giveplayerid, COLOR_YELLOW, string); } else if(PlayerInfo[playerid][pLeader] == 20) { if(PlayerInfo[giveplayerid][pBlackList20] > 0) return SendClientMessage(playerid, COLOR_GREY, "* Игрок не находится в вашем Чёрном списке."); PlayerInfo[giveplayerid][pBlackList20] = 0; format(string, sizeof(string), "* Вы вынесли %s из Чёрного списка вашей фракции.", giveplayer); SendClientMessage(playerid, COLOR_YELLOW, string); format(string, sizeof(string), "* %s вынес вас из Чёрного списка фракции.", sendername); SendClientMessage(giveplayerid, COLOR_YELLOW, string); } else if(PlayerInfo[playerid][pLeader] == 21) { if(PlayerInfo[giveplayerid][pBlackList21] > 0) return SendClientMessage(playerid, COLOR_GREY, "* Игрок не находится в вашем Чёрном списке."); PlayerInfo[giveplayerid][pBlackList21] = 0; format(string, sizeof(string), "* Вы вынесли %s из Чёрного списка вашей фракции.", giveplayer); SendClientMessage(playerid, COLOR_YELLOW, string); format(string, sizeof(string), "* %s вынес вас из Чёрного списка фракции.", sendername); SendClientMessage(giveplayerid, COLOR_YELLOW, string); } else if(PlayerInfo[playerid][pLeader] == 22) { if(PlayerInfo[giveplayerid][pBlackList22] > 0) return SendClientMessage(playerid, COLOR_GREY, "* Игрок не находится в вашем Чёрном списке."); PlayerInfo[giveplayerid][pBlackList22] = 0; format(string, sizeof(string), "* Вы вынесли %s из Чёрного списка вашей фракции.", giveplayer); SendClientMessage(playerid, COLOR_YELLOW, string); format(string, sizeof(string), "* %s вынес вас из Чёрного списка фракции.", sendername); SendClientMessage(giveplayerid, COLOR_YELLOW, string); } return 1; } } else { SendClientMessage(playerid, COLOR_GREY, "* Игрок не в игре."); return 1; } } else { SendClientMessage(playerid, COLOR_GREY, "* Вам недоступна эта команда."); return 1; } } return 1; } Ну вот и все я понимаю что написать этот код опытному скриптеру фигня,но это я делал для новичков.Этот урок рабочий я проверял если у кого то не получается добавляйтесь в скайп помогу чем смогу respect123321123321/ Все все спасибо.
  15. Alexsis Prime

    Мигалка

    Вот и мигалка с моего мода, который я продаю. Это наверное последнее, что я выложу со своего мода, ну чтобы его покупали! if(strcmp(cmd, "/policelight", true) == 0) { //new member = PlayerInfo[playerid][pMember]; new leader = PlayerInfo[playerid][pLeader]; new car = GetPlayerVehicleID(playerid); if(PlayerInfo[playerid][pAdmin] > 0 || IsACop(playerid)) { if(IsPlayerConnected(playerid) && GetPlayerState(playerid) == PLAYER_STATE_DRIVER) { new text[32]; text = strtok(cmdtext, idx); if(!strlen(text)) { SendClientMessage(playerid, COLOR_GRAD1, "Prime: /policelight [on/off]"); return 1; } if(strcmp(text,"on",true) == 0) { DestroyObject(police[car]); police[car] = CreateObject(18646,0,0,0,0,0,0,100.0); AttachObjectToVehicle(police[car], GetPlayerVehicleID(playerid), -0.4, -0.1, 0.87, 0.0, 0.0, 0.0); SendClientMessage(playerid, COLOR_GREEN2, "Prime: Вы установили полицейскую мигалку."); } else if(strcmp(text,"off",true) == 0) { DestroyObject(police[car]); SendClientMessage(playerid, COLOR_RED2, "Prime: Вы сняли полицейскую мигалку."); } } } return 1; } Напомню, что мой мод исключительно для SAMP. Работает с нуля, ну или не работает http://gsgames.ru/forum/public/style_emoticons/default/wink.gif
  16. Для начала, вам нужно определиться, где будет играть музыка. Вам нужны координаты того места, откуда вы бы хотели, чтобы играла музыка, это x, y, z Потом в public OnPlayerUpdate(playerid) добавляем: if(IsPlayerInRangeOfPoint(playerid,радиус,x,y,z)) { if(!GetPVarInt(playerid,"music")) { SetPVarInt(playerid,"music",1); PlayAudioStreamForPlayer(playerid, "ссылка",x,y,z,радиус,true); } } else { if(GetPVarInt(playerid,"music")) { DeletePVar(playerid,"music"); StopAudioStreamForPlayer(playerid); } } x,y,z - заменяете координатами радиус - к примеру: 80 ссылка - заменяете ссылкой с музыкой/радио
  17. Вот решил создать урок посвященный сексу с Женой/Мужем v0.2. Итак, давайте приступим. Откроем наш мод. Перейдем к концу мода. Вставляем следующий код: if(strcmp(cmd, "/propsesex", true) == 0||strcmp(cmd, "/prsex", true) == 0){if(IsPlayerConnected(playerid)){if(PlayerInfo[playerid][pMarried] > 1){if(!IsPlayerInAnyVehicle(playerid)){SendClientMessage(playerid, COLOR_GREY, "Сексом занимаются только в машинах.");return 1;}new Car = GetPlayerVehicleID(playerid);tmp = strtok(cmdtext, idx);if(!strlen(tmp)){SendClientMessage(playerid, COLOR_GRAD1, "Prime: /pr(opse)sex [playerid/PartOfName]");return 1;}//giveplayerid = strval(tmp);giveplayerid = ReturnUser(tmp);tmp = strtok(cmdtext, idx);if(IsPlayerConnected(giveplayerid)){if(giveplayerid != INVALID_PLAYER_ID){if (ProxDetectorS(8.0, playerid, giveplayerid)){if(giveplayerid == playerid) { SendClientMessage(playerid, COLOR_GREY, "* Вы не можете заниматься сексом с собой."); return 1; }if(IsPlayerInAnyVehicle(playerid) && IsPlayerInVehicle(giveplayerid, Car) || PlayerInfo[playerid][pMarriedTo] == giveplayerid){GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));GetPlayerName(playerid, sendername, sizeof(sendername));if(PlayerInfo[playerid][pSex] == 1){format(string, sizeof(string), "* Вы занялись сексом с вашей женой.");SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);}if(PlayerInfo[playerid][pSex] == 2){format(string, sizeof(string), "* Вы занялись сексом с вашим мужем.");SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);}if(PlayerInfo[playerid][pSex] == 1){format(string, sizeof(string), " занялся сексом с женой.");Action(playerid, string);}else{format(string, sizeof(string), " занялась сексом с мужем.");Action(playerid, string);format(string, sizeof(string), " получает оргазм.", sendername);Action(playerid, string);}}else{SendClientMessage(playerid, COLOR_GREY, "Вы и другой игрок должны быть в одном автомобиле.");return 1;}}else{SendClientMessage(playerid, COLOR_GREY, "Этот игрок не рядом с вами!");return 1;}}}else{SendClientMessage(playerid, COLOR_GREY, "Игрок не в игре.");return 1;}}else{if(PlayerInfo[playerid][pSex] == 1){SendClientMessage(playerid, COLOR_GREY, "У вас нет жены!");}if(PlayerInfo[playerid][pSex] == 2){SendClientMessage(playerid, COLOR_GREY, "У вас нету мужа!");}}}//not connectedreturn 1;}Ко всем форвардам: forward Action(playerid, string[]);Ко всем пабликам: public Action(playerid, string[]){new sendername[MAX_PLAYER_NAME], action[256];GetPlayerName(playerid, sendername, sizeof(sendername));format(action, sizeof(action), "%s %s", sendername, string);ProxDetector(30.0, playerid, action, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);SetPlayerChatBubble(playerid, string, COLOR_PURPLE, 30.0, 10000);}[/font]Для этого в моде должны быть следующие значения: pMarried Бонус: Дрочка и Проверка по Полу if(strcmp(cmd, "/дрочить", true) == 0 || strcmp(cmd, "/lhjxbnm", true) == 0){if(PlayerInfo[playerid][pSex] == 1)if(Drochit[playerid]==0){ApplyAnimation(playerid,"PAULNMAC","wank_loop",4.1,1,0,0,1,0);format(string, sizeof(string), "начинает дрочить.");Action(playerid, string);Drochit[playerid] = 1;}elseif(PlayerInfo[playerid][pSex] == 1)if(Drochit[playerid]==1){format(string, sizeof(string), "перестаёт дрочить.");Action(playerid, string);ClearAnimations(playerid);Drochit[playerid] = 0;}elseif(PlayerInfo[playerid][pSex] >= 2){SendClientMessage(playerid, COLOR_GREY, "Вы не можите дрочить, вы женщина!");}return 1;} Ко всем new: new Drochit[MAX_PLAYERS]; Что сделать:
  18. Mr.Kiruha_Lamer

    Создание фракции

    Приветствую пользователи! Меня попроси сделать урок по созданию фракции! И так ,будет создавать фракцию : Увд Приступаем к установки : Добовляем к #define : #define COP 1 Если у Вас нет переменной сохранения лидерства или членства ,ставим в массив (enum pInfo) : pMember, pLeader, pRank, Далее делаем спавн для Увд : if (PlayerInfo[playerid][pMember] == 1|| PlayerInfo[playerid][pLeader] == 1)// При желании меням на свой id фракции { SetPlayerToTeamColor(playerid); // Устанавливаем цвет фракции(Безцветный) SetPlayerPos(playerid, 2510.9456,-2131.8569,23.4558); // Сам спавн(id игрока,ось X,ось Y,ось Z ,при желании можете поставить поворот) SetPlayerInterior(playerid,0); // id интерьера ,если спавн на улице ставим 0 SetPlayerVirtualWorld(playerid,0);// id мира ставим ,такой-же какой и id интерьера PlayerInfo[playerid][pInt] = 0; // Сохраняем интерьер в файл Если у Вас есть stock или public ShowStats то ставим следующее : else if(PlayerInfo[targetid][pMember] == 1 || PlayerInfo[targetid][pLeader] == 1) ttext = "УВД"; Далее делаем к статистике ранги игрока находящийся в УВД : else if(PlayerInfo[targetid][pMember] == 1 || PlayerInfo[targetid][pLeader] == 1) { if(PlayerInfo[targetid][pRank] == 1) rtext = "1 ранг"; else if(PlayerInfo[targetid][pRank] == 2) rtext = "2 ранг"; else if(PlayerInfo[targetid][pRank] == 3) rtext = "3 ранг"; else if(PlayerInfo[targetid][pRank] == 4) rtext = "4 ранг"; else if(PlayerInfo[targetid][pRank] == 5) rtext = "5 ранг"; else if(PlayerInfo[targetid][pRank] == 6) rtext = "6 ранг"; else rtext = "1 ранг"; } Если есть команда /invite то добавляем следующие : else if(PlayerInfo[playerid][pLeader] == 1) { PlayerInfo[para1][pTeam] = 5; gTeam[para1] = 5; ftext = "УВД"; ChosenSkin[para1] = 103; SetPlayerSkin(para1, 294/*Тут вписываем ваш скин*/); } Далее в команду /makeleader ,если она есть ,ищем : else if(level == 0) После неё добавляем : else if(level == 1) { PlayerInfo[para1][pChar] = 297/*Тут ваш скин*/; } Далее ищем следующее строку : (Примечание : у вас может быть другой максимальный id фракции) if(level > 1/*Максимальный id фракции*/ || level < 0) Изменяем на один больше ,должнополучится : if(level > 2/*Максимальный id фракции*/ || level < 0) При желании создаём чат фракции ,в команду (/r)adio добавляем : if(PlayerInfo[playerid][pMember] == 1 || PlayerInfo[playerid][pLeader] == 1) { else if(PlayerInfo[playerid][pRank] == 6) { format(string, sizeof(string), "6 ранг", GetPlayerNameEx(playerid), result); } else if(PlayerInfo[playerid][pRank] == 5) { format(string, sizeof(string), "5 ранг", GetPlayerNameEx(playerid), result); } else if(PlayerInfo[playerid][pRank] == 4) { format(string, sizeof(string), "4 ранг", GetPlayerNameEx(playerid), result); } else if(PlayerInfo[playerid][pRank] == 3) { format(string, sizeof(string), "3 ранг", GetPlayerNameEx(playerid), result); } else if(PlayerInfo[playerid][pRank] == 2) { format(string, sizeof(string), "2 ранг", GetPlayerNameEx(playerid), result); } else if(PlayerInfo[playerid][pRank] == 1) { format(string, sizeof(string), "1 ранг", GetPlayerNameEx(playerid), result); } else { format(string, sizeof(string), "** Рядовой %s: %s,", GetPlayerNameEx(playerid), result); } SendRadioMessage(1, -1, string); printf("%s", string); return 1; } Автор урока : Trateus
  19. Всем Привет Решил выложить Работу Уборщика улиц когдато делал для своего мода но уже его нет и решил выложить вам приступим: Ко Всем new добовляем: [size=5]//========================= [Работа Уборщика Улиц] ==================================== [size=5][new checkk[MAX_PLAYERS]; new checkk2[MAX_PLAYERS]; new checkk3[MAX_PLAYERS]; new checkk4[MAX_PLAYERS]; new checkk5[MAX_PLAYERS]; new checkk6[MAX_PLAYERS]; new checkk7[MAX_PLAYERS]; new checkk8[MAX_PLAYERS]; new checkk9[MAX_PLAYERS]; [size=5]//========================================== После в public OnGameModeInit() [size=5]//========================= [Работа Уборщика Улиц]====== Create3DTextLabel("{FF6600}Уборщик УлицnДля начала Работы введите {FFFFFF}[/убрать]{FF6600}nЗарплата:{FFFFFF}10000${FF6600}",COLOR_GREENYELLOW,X,Y,Z);//Тут координаты где устраиваться AddStaticVehicleEx(,X,Y,Z); //Тут Координаты где стоят машины AddStaticVehicleEx(574,X,Y,Z); //Тут Координаты где стоят машины AddStaticVehicleEx(574,[X,Y,Z); //Тут Координаты где стоят машины AddStaticVehicleEx(574,X,Y,Z); //Тут Координаты где стоят машины //============================================================ Затем в public OnPlayerEnterCheckpoint(playerid) [size=5]//=========================[Работа Уборщика Улиц] ============== if(checkk[playerid] == 1) //проверка на чекпоинт// { DisablePlayerCheckpoint(playerid);//Убираем Когда встаёт на ЧекПоинт checkk[playerid] = 0; //убирает чекпоинт checkk2[playerid] = 1;//запускаем чекпоинт SetPlayerCheckpoint(playerid,X,Y,Z]);//Ваши координаты SendClientMessage(playerid,0x006ED9AA, "Едь по меткам и очисть улицу."); return 1; } if(checkk2[playerid] == 1) //Проверка на Чекпоинт { new vehicleid = GetPlayerVehicleID(playerid); if(GetVehicleModel(vehicleid) == 574) { DisablePlayerCheckpoint(playerid);//Убираем Когда встаёт на ЧекПоинт checkk2[playerid] = 0; //убирает чекпоинт checkk3[playerid] = 1;//запускаем чекпоинт SetPlayerCheckpoint(playerid, X,Y,Z );//Ваши координаты SendClientMessage(playerid,0x006ED9AA, "Осталось еще 4 метки"); } else { SendClientMessage(playerid, COLOR_RED, "Возьми машину для работы."); } return 1; } if(checkk3[playerid] == 1) //проверка на чекпоинт { new vehicleid = GetPlayerVehicleID(playerid); if(GetVehicleModel(vehicleid) == 574) { DisablePlayerCheckpoint(playerid);//Убираем Когда встаёт на ЧекПоинт checkk3[playerid] = 0; //выключает чекпоинт checkk4[playerid] = 1;//запускаем чекпоинт SetPlayerCheckpoint(playerid, X,Y,Z );//Ваши координаты SendClientMessage(playerid,0x006ED9AA, "Осталось еще 3 метки"); } else { SendClientMessage(playerid, COLOR_RED, "Возьми машину для работы."); } return 1; } if(checkk4[playerid] == 1) //проверка на чекпоинт { new vehicleid = GetPlayerVehicleID(playerid); if(GetVehicleModel(vehicleid) == 574) { DisablePlayerCheckpoint(playerid);//Убираем Когда встаёт на ЧекПоинт checkk4[playerid] = 0; //выключает чекпоинт checkk5[playerid] = 1;//запускаем чекпоинт SetPlayerCheckpoint(playerid, X,Y,Z );//Ваши координаты SendClientMessage(playerid,0x006ED9AA, "Осталось еще 2 метки"); } else { SendClientMessage(playerid, COLOR_RED, "Возьми машину для работы."); } return 1; } if(checkk5[playerid] == 1) //проверка на чекпоинт { new vehicleid = GetPlayerVehicleID(playerid); if(GetVehicleModel(vehicleid) == 574) { DisablePlayerCheckpoint(playerid);//Убираем Когда встаёт на ЧекПоинт checkk5[playerid] = 0; //выключает чекпоинт checkk7[playerid] = 1;//запускаем чекпоинт SetPlayerCheckpoint(playerid, X,Y,Z );//Ваши координаты SendClientMessage(playerid,0x006ED9AA, "Осталось еще 1 метка"); } else { SendClientMessage(playerid, COLOR_RED, "Возьми машину для работы."); } return 1; } if(checkk7[playerid] == 1) //проверка на чекпоинт { new vehicleid = GetPlayerVehicleID(playerid); if(GetVehicleModel(vehicleid) == 574) { DisablePlayerCheckpoint(playerid);//Убираем Когда встаёт на ЧекПоинт checkk7[playerid] = 0; //выключает чекпоинт checkk8[playerid] = 1;//запускаем чекпоинт SetPlayerCheckpoint(playerid, X,Y,Z );//Ваши координаты SendClientMessage(playerid,0x006ED9AA, "Отвези то что осталось на склад"); } else { SendClientMessage(playerid, COLOR_RED, "Возьми машину для работы.?"); } return 1; } if(checkk8[playerid] == 1) //проверка на чекпоинт { new vehicleid = GetPlayerVehicleID(playerid); if(GetVehicleModel(vehicleid) == 574) { DisablePlayerCheckpoint(playerid);//Убираем Когда встаёт на ЧекПоинт checkk8[playerid] = 0; //выключаем чекпоинт checkk9[playerid] = 1;//запускаем чекпоинт SetPlayerCheckpoint(playerid, X,Y,Z );//Ваши координаты SendClientMessage(playerid,0x006ED9AA, "Иди в офис и забери свою зарплату."); } else { SendClientMessage(playerid, COLOR_RED, "Ты не выполнил работу"); } return 1; } if(checkk9[playerid] == 1) //проверка на чек поинт { DisablePlayerCheckpoint(playerid);//Убираем Когда встаёт на ЧекПоинт checkk9[playerid] = 0; //Выключает чекпоинт SendClientMessage(playerid,0x006ED9AA, "Ты получил за свою работу: {CC3300}10 000$");//Текст В Чате GameTextForPlayer(playerid,"~G~+10000$",3000,5);//Текст на икране GivePlayerMoney(playerid, 10000);//Сколько даётся при завершение return 1; }К //============================================================================== Ко всем командам: //==============================[работа Уборщика улиц]========================== if(strcmp(cmdtext, "/убрать",true) == 0) { SetPlayerCheckpoint(playerid,X,Y,Z, 2.0);//ваши координаты 2 означает размер чекпоинта checkk[playerid] = 1;//запускаем штуку хД SendClientMessage(playerid,0xADFF2FAA, "Отправляйся на склад,и возьми чистящие средства."); return 1; } //============================================================================== Ну вот и всё если у когото не получается пишите мне и не забывайте про +. Вместо X,Y,Z Вписываете свои кордионаты Ну и скрины конешноже: http://rghost.ru/47241974 http://rghost.ru/47241979 http://rghost.ru/47241981 http://rghost.ru/47241983 http://rghost.ru/47241991
  20. Mr.DrYou97

    Мигалка [СГУ]

    Ко всем new: new migalki[MAX_VEHICLES]; В public OnPlayerCommandText(playerid, cmdtext[]) if(strcmp(cmd,"/mig",true)==0) { if(IsACop(playerid)) { format(string, sizeof(string), "На крышу\nНа капот\nНа багажник\nВ машину\nУдалить мигалки"); ShowPlayerDialog(playerid,6002,DIALOG_STYLE_LIST,"Куда установить мигалки?",string,"Дальше","Отмена"); } Ну и в public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) if(dialogid==6002) { if(response) { if(listitem==0) { migalki[GetPlayerVehicleID(playerid)][0] = CreateObject(18646,0,0,0,0,0,0,100.0); AttachObjectToVehicle(migalki[GetPlayerVehicleID(playerid)][0], GetPlayerVehicleID(playerid), -0.0, -0.2, 0.75, 1.0, 1.0, 1.0); SendClientMessage(playerid, 0xFFFFFFAA, "Вы установили мигалки на крышу"); new str[256]; format(str, sizeof(str), "[%d]%s установил мигалки на авто ид - %d ", playerid,sendername,(playerid), GetPlayerVehicleID(playerid)); for(new i = 0;i<MAX_PLAYERS;i++) { if(PlayerInfo[i][pAdmin]>0) { SendClientMessage(i,COLOR_YELLOW,str); } } } if(listitem==1) { DestroyObject(migalki[GetPlayerVehicleID(playerid)][0]); DestroyObject(migalki[GetPlayerVehicleID(playerid)][1]); migalki[GetPlayerVehicleID(playerid)][0] = CreateObject(18646,0,0,0,0,0,0,100.0); migalki[GetPlayerVehicleID(playerid)][1] = CreateObject(18646,0,0,0,0,0,0,100.0); AttachObjectToVehicle(migalki[GetPlayerVehicleID(playerid)][0], GetPlayerVehicleID(playerid), -0.4, 2.2, 0.1, 1.0, 1.0, 1.0); AttachObjectToVehicle(migalki[GetPlayerVehicleID(playerid)][1], GetPlayerVehicleID(playerid), 0.4, 2.2, 0.1, 1.0, 1.0, 1.0); SendClientMessage(playerid, 0xFFFFFFAA, "Вы установили мигалки на капот"); new str[256]; format(str, sizeof(str), "[%d]%s установил мигалки на авто ид - %d ", playerid,sendername,(playerid), GetPlayerVehicleID(playerid)); for(new i = 0;i<MAX_PLAYERS;i++) { if(PlayerInfo[i][pAdmin]>0) { SendClientMessage(i,COLOR_YELLOW,str); } } } if(listitem==2) { DestroyObject(migalki[GetPlayerVehicleID(playerid)][0]); DestroyObject(migalki[GetPlayerVehicleID(playerid)][1]); migalki[GetPlayerVehicleID(playerid)][0] = CreateObject(18646,0,0,0,0,0,0,100.0); migalki[GetPlayerVehicleID(playerid)][1] = CreateObject(18646,0,0,0,0,0,0,100.0); AttachObjectToVehicle(migalki[GetPlayerVehicleID(playerid)][0], GetPlayerVehicleID(playerid), -0.8, -1.8, 0.3, 1.0, 1.0, 1.0); AttachObjectToVehicle(migalki[GetPlayerVehicleID(playerid)][1], GetPlayerVehicleID(playerid), 0.8, -1.8, 0.3, 1.0, 1.0, 1.0); SendClientMessage(playerid, 0xFFFFFFAA, "Вы установили мигалки на багажник"); new str[256]; format(str, sizeof(str), "[%d]%s установил мигалки на авто ид - %d ", playerid,sendername,(playerid), GetPlayerVehicleID(playerid)); for(new i = 0;i<MAX_PLAYERS;i++) { if(PlayerInfo[i][pAdmin]>0) { SendClientMessage(i,COLOR_YELLOW,str); } } } if(listitem==3) { DestroyObject(migalki[GetPlayerVehicleID(playerid)][0]); DestroyObject(migalki[GetPlayerVehicleID(playerid)][1]); migalki[GetPlayerVehicleID(playerid)][0] = CreateObject(18646,0,0,0,0,0,0,100.0); AttachObjectToVehicle(migalki[GetPlayerVehicleID(playerid)][0], GetPlayerVehicleID(playerid), 0.0, 0.9, 0.3, 1.0, 1.0, 1.0); SendClientMessage(playerid, 0xFFFFFFAA, "Вы установили мигалки в кабину"); new str[256]; format(str, sizeof(str), "[%d]%s установил мигалки на авто ид - %d ", playerid,sendername,(playerid), GetPlayerVehicleID(playerid)); for(new i = 0;i<MAX_PLAYERS;i++) { if(PlayerInfo[i][pAdmin]>0) { SendClientMessage(i,COLOR_YELLOW,str); } } } if(listitem==4) { DestroyObject(migalki[GetPlayerVehicleID(playerid)][0]); DestroyObject(migalki[GetPlayerVehicleID(playerid)][1]); SendClientMessage(playerid, 0xFFFFFFAA, "Вы Удалили все мигалки"); new str[256]; format(str, sizeof(str), "[%d]%s удалил мигалки", playerid,sendername,(playerid)); for(new i = 0;i<MAX_PLAYERS;i++) { if(PlayerInfo[i][pAdmin]>0) { SendClientMessage(i,COLOR_YELLOW,str); } } } } return 0; } Автор:Неизвестен
  21. SHOROOP

    Dynamic Radio in Vehicles

    Доброго дня, форумчане. Перечитывая форумы самп-кома, я наткнулся на интересный инклуд от Jochemd, который позволяет создать систему проигрывания потокового аудио, приближенную к оригинальной системе GTA:San Andreas одной функцией: stock AddRadioStation("Имя потока", "Ссылка на поток"); Плагин предлагает следующие возможности: Смена потока клавишами Y и N (переназначить можно непосредственно в Include); Визуальное отображение текущей станции и скрытие названия по таймеру; Настройка стиля отображения названия (автором предложено три варианта: - http://i.imgur.com/zqqCi.png - http://i.imgur.com/hIsYh.png - http://i.imgur.com/vSjoj.png); Сохранение текущего потока за каждым авто, проигрывание и смена потока для всех пассажиров. Оригинальный ченджлог автора: К сожалению, некоторые моменты работы данного инклуда меня не устроили: Огромное количество создаваемых TextDraw для отрисовки. По какой-то причине автор создавал TextDraw для каждого авто, а не для игрока, и игроку рисовал TD, прикрепленный за авто; Ошибка в хуках OnGameModeInit и OnFilterScriptInit. При сборке фильтрскрипта по непонятной причине после старта FS вызывался и хук OnGameModeInit. Нескромное количество выделяемой памяти (в общем-то, связано с TextDraw). Соответственно, в связи с этим было решено форкнуть данную систему для собственного удобства. Что было изменено по сравнению с оригиналом: Перевод вывода с TextDraw на GameText. Был потерян вывод различных стилей названия, однако существенно упрощен вывод и за ненадобностью упразднено выделение памяти под TextDraw для авто; Написан простенький костыль для исправления бага хуков OnFilterScriptInit и OnGameModeInit; и еще несколько мелких косметических правок. Для работы инклуда использовалась библиотека YSI/y_hooks. Она необходима и для сборки GM/FS. Ссылки: - оригинальная библиотека Jochemd: исходный код, тема на форумах sa-mp.com. - форк библиотеки: исходный код. Jochemd в следующей версии обещал слияние библиотек, когда это произойдет - первый пост будет обновлен. Исходные коды распространяются AS-IS. Вопросы и предложения принимаются в этой теме.
  22. В enum pInfo pSbor1, //Для работы, если вы дописываете последним то запятая не нужна pSbor2, //Для работы, если вы дописываете последним то запятая не нужнаВ public OnPlayerConnect PlayerInfo[playerid][pSbor1] = 0; PlayerInfo[playerid][pSbor2] = 0;В public OnPlayerRegister format(var, 32, "Sbor1=%dn",PlayerInfo[playerid][pSbor1]);fwrite(hFile, var); format(var, 32, "Sbor2=%dn",PlayerInfo[playerid][pSbor2]);fwrite(hFile, var);В public OnPlayerUpdate format(var, 32, "Sbor1=%dn",PlayerInfo[playerid][pSbor1]);fwrite(hFile, var); format(var, 32, "Sbor2=%dn",PlayerInfo[playerid][pSbor2]);fwrite(hFile, var);В public OnPlayerLogin if( strcmp( key , "Sbor1" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pSbor1] = strval( val ); } if( strcmp( key , "Sbor2" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pSbor2] = strval( val ); }В public OnPlayerCommandText if(strcmp(cmd, "/sobirat", true) == 0) { if(PlayerInfo[playerid][pSbor1] == 0) return SendClientMessage(playerid, COLOR_YELLOW, ""); if(!IsPlayerInRangeOfPoint(playerid,3.0,2418.3923,-769.4911,12.0951)) return SendClientMessage(playerid, COLOR_YELLOW, ""); ApplyAnimation(playerid,"CARRY","crry_prtial",4.1,0,1,1,1,1); SetPlayerAttachedObject( playerid, 5, 2901, 17, -0.073969, 0.349906, 0.065601, 331.510559, 271.870788, 321.750610, 0.831871, 1.000000, 0.748390 ); PlayerInfo[playerid][pSbor1] = 0; PlayerInfo[playerid][pSbor2]++; SendClientMessage(playerid, COLOR_YELLOW, "Теперь сдайте Урожай в Амбар"); return 1; } //============================================================================== if(strcmp(cmd, "/otdat", true) == 0) { if(PlayerInfo[playerid][pSbor2] == 0) return SendClientMessage(playerid, COLOR_YELLOW, ""); if(!IsPlayerInRangeOfPoint(playerid,3.0,2381.0344,-777.1138,12.1892)) return SendClientMessage(playerid, COLOR_YELLOW, ""); GiveMoney(playerid, 200);//меняйте на свою функцию выдачи денег RemovePlayerAttachedObject(playerid,5);// Удаляем объект из рук ApplyAnimation(playerid,"CARRY","putdwn",4.1,0,1,1,1,1); PlayerInfo[playerid][pSbor2] = 0; SendClientMessage(playerid, COLOR_YELLOW, "Вы сдали урожай, за это вы получили {00FF00}200р"); return 1; } В public OnGameModeInit Create3DTextLabel("Информацияn*Работа Собирателей Урожая*nВам нужно взять Инструменты из Амбара, пойти в поле набрать там урожай и принести обратноnДля сдачи урожая Y",0xE1AE3CFF,2381.0344,-777.1138,12.1892,10,0,0); Create3DTextLabel("Y чтобы собрать Урожай",0xFFFFFFFF,2418.3923,-769.4911,12.0951,20,0,0); sobirat = CreatePickup(1239, 23, 2381.0344,-777.1138,12.1892); //инструменты CreateObject(3515, 2377.205566,-777.039367,10.164279, -0.300000,0.499999,-89.699890); CreateObject(982, 2410.701171,-779.520935,11.692777, 0.000000,0.000000,91.199951); CreateObject(982, 2423.352050,-766.431152,11.753976, 0.000000,0.000000,0.499999); CreateObject(982, 2410.472167,-753.976745,11.699623, 0.000000,0.000000,91.499977); CreateObject(984, 2397.681884,-760.687011,11.631238, 0.000000,0.000000,0.000000); CreateObject(806, 2411.672607,-768.164001,14.520862, 0.000000,0.000000,0.000000); CreateObject(823, 2406.741943,-762.440673,12.235639, 0.000000,0.000000,0.000000); CreateObject(819, 2415.615966,-766.510314,11.707121, 0.000000,0.000000,0.000000); CreateObject(873, 2415.026123,-762.457031,12.462051, 0.000000,0.000000,0.000000); CreateObject(872, 2414.936035,-758.468017,10.594447, 0.000000,0.000000,0.000000); CreateObject(728, 2421.027343,-756.540161,10.559977, 0.000000,0.000000,0.000000); CreateObject(808, 2420.909179,-759.545898,12.056944, 0.000000,0.000000,0.000000); CreateObject(822, 2416.598144,-773.084411,11.874237, 0.000000,0.000000,0.000000); CreateObject(824, 2419.112548,-771.985229,12.203636, 0.000000,0.000000,0.000000); CreateObject(823, 2419.715576,-776.577880,12.526739, 0.000000,0.000000,0.000000); CreateObject(825, 2411.609375,-770.900512,12.806709, 0.000000,0.000000,0.000000); CreateObject(873, 2405.777832,-761.761840,12.652941, 0.000000,0.000000,0.000000); CreateObject(825, 2400.759033,-757.273559,11.855863, 0.000000,0.000000,0.000000); CreateObject(823, 2420.154785,-767.296508,12.697749, 0.000000,0.000000,0.000000); CreateObject(805, 2404.013671,-773.355651,11.692533, 0.000000,0.000000,0.000000); CreateObject(803, 2403.451416,-771.222595,11.971096, 0.000000,0.000000,0.000000); CreateObject(874, 2400.646484,-769.727600,11.160019, 0.000000,0.000000,0.000000); CreateObject(873, 2405.520507,-771.698547,13.003365, 0.000000,0.000000,0.000000); CreateObject(823, 2401.650146,-776.076782,12.495872, 0.000000,0.000000,0.000000); CreateObject(825, 2401.414062,-764.234558,12.603246, 0.000000,0.000000,0.000000); CreateObject(821, 2411.970458,-758.024963,11.902068, 0.000000,0.000000,0.000000); CreateObject(759, 2421.238769,-763.023132,11.186464, 0.000000,0.000000,0.000000); CreateObject(759, 2421.641601,-760.698059,11.446183, 0.000000,0.000000,0.000000); CreateObject(823, 2414.032958,-775.735351,11.587178, 0.000000,0.000000,0.000000); В public OnPlayerPickUpPickup if(pickupid == sobirat) { SendClientMessage(playerid, 0xFF0000FF, "Вы взяли Инструменты для работы на поле."); PlayerInfo[playerid][pSbor1]++; }Ко всем new new sobirat; В public OnPlayerKeyStateChange if (newkeys == 65536)клавиша Y { OnPlayerCommandText(playerid,"/sobirat"); OnPlayerCommandText(playerid,"/otdat"); }Описание:В итоге у нас появилась мини-работа в которой нужно взять инструменты сходить на поле набрать там урожай, вернутся сдать урожай и опять взять инструменты и т.д.Находится у Анашана Минус в том что работа сделана на сохранении в аккаунт, по другому я не умею.
  23. В enum pInfo pLimon, //лимонад в магазине, если вы дописываете последним то запятая не нужна В public OnPlayerConnect PlayerInfo[playerid][pLimon] = 0; В public OnPlayerRegister format(var, 32, "Limon=%dn",PlayerInfo[playerid][pLimon]);fwrite(hFile, var); В public OnPlayerUpdate format(var, 32, "Limon=%dn",PlayerInfo[playerid][pLimon]);fwrite(hFile, var); В public OnPlayerLogin if( strcmp( key , "Limon" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pLimon] = strval( val ); } Теперь Вам нужно найти диалог выдающийся при команде /buy И вставить туда Внимание:Я даю два вида покупки выберите ее по своему желанию(Смотрите ниже). Покупка одной бутылки case 15:// 15 меняйте по порядку { if(PlayerInfo[playerid][pLimon] > 0) { SendClientMessage(playerid, COLOR_GREY, "У вас уже есть Лимонад"); return 1; } PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0); GiveMoney(playerid, - 25);//Замените на свою функцию выдачи денег format(string, sizeof(string), "Вы купили Лимонад"); SendClientMessage(playerid, COLOR_YELLOW, string); SendClientMessage(playerid, COLOR_YELLOW, "Используйте: /sprunk"); PlayerInfo[playerid][pLimon]++;// дает бутылку игроку return 1; } Покупка пяти бутылок case 15:// 15 меняйте по порядку { if(PlayerInfo[playerid][pLimon] > 0) { SendClientMessage(playerid, COLOR_GREY, "У вас уже есть Лимонад"); return 1; } PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0); GiveMoney(playerid, - 125);//Замените на свою функцию выдачи денег format(string, sizeof(string), "Вы купили 5 бутылок Лимонада"); SendClientMessage(playerid, COLOR_YELLOW, string); SendClientMessage(playerid, COLOR_YELLOW, "Используйте: /sprunk"); PlayerInfo[playerid][pLimon] = 5;// дает бутылку игроку return 1; }Теперь вам нужно найти примерно такой текст МобильныйntТел.КнигаntИгра в костиntКлюч Для автоntСпидометрИ в конец дописать ntЛимонад Получится:МобильныйntТел.КнигаntИгра в костиntКлюч Для автоntСпидометрntЛимонад В public OnPlayerCommandText if(!strcmp(cmdtext, "/sprunk", true)) { if(IsPlayerConnected(playerid)) { if(PlayerInfo[playerid][pLimon] == 0) // проверка на то что у игрока есть бутылка { SendClientMessage(playerid, COLOR_YELLOW, "Для использования купите Лимонад"); return 1; } SetPlayerSpecialAction(playerid,SPECIAL_ACTION_DRINK_SPRUNK); PlayerPlaySound(playerid, 42600, 0.0, 0.0, 0.0); SetPlayerHealth(playerid,100); PlayerInfo[playerid][pLimon]--; SendClientMessage(playerid, COLOR_PURPLE, "Вы выпили бутылочку Лимонада"); } return 1; }Описание:в итоге мы получили новый товар в магазин, который сохраняется после вашего выхода из игры с возможностью использовать его.
  24. Приветствую пользователей! Вот нечего было делать ,взял и написал скрипт! Для правильной работы скрипта если у вас нету инклуда : utils ,скачайте его http://rghost.ru/46775263! Описание : Команды полностью на диалогах! Команды : /my - мои контакты /conntacts - узнать контакты! Вот screenshot's : Сохранение уже сами сделаете! Может я потом сделаю! Итак приступим к установки : Добавляем #define #define MAX_CONNACT 5000 #define CONNTAC_ID 480 Добавляем массив (enum) : enum pConntact { pSkype[64], }; new PlayerConn[MAX_CONNACT][pConntact]; Добавляем диалоги (public OnDialogResponse) : if(dialogid == CONNTAC_ID+1 && response) { new playa,name[MAX_PLAYER_NAME]; playa = ReturnUser(inputtext); GetPlayerName(playa,name,sizeof(name)); if(IsPlayerConnected(playa)) { format(string,sizeof(string),"{ffffff} Имя : %sn Skype : %s",name,PlayerConn[playa][pSkype]); SPD(playerid, 0000, DIALOG_STYLE_MSGBOX, "Контактные данные", string,"Понял","Выйти"); } else SendClientMessage(playerid,-1,"Игрок не в сети!"); } //------------------------------------------------------------------------------ if(dialogid == CONNTAC_ID && response) { if(listitem == 0) ShowPlayerDialog(playerid,CONNTAC_ID+2,DIALOG_STYLE_INPUT,"{ffffff}Добавить конаткт","{FFFFFF}Введите контактные данные вашего skype!","Добавить","Отмена"); } //------------------------------------------------------------------------------ if(dialogid == CONNTAC_ID+2 && response) { strmid(PlayerConn[playerid][pSkype], inputtext, 0, strlen(inputtext), 64); } Далее ,добавляем команды(public OnPlayerCommandText) : Узнаём контакты : if(strcmp(cmd, "/conntacts", true) == 0) ShowPlayerDialog(playerid,CONNTAC_ID+1,DIALOG_STYLE_INPUT,"{ffffff}Найти конаткт","{FFFFFF}Введите id игрока и узнайте его контактные данные!","Узнать","Отмена"); Свои контакты : if(strcmp(cmd, "/my", true) == 0) { format(string,sizeof(string)," Skype |%s|",PlayerConn[playerid][pSkype]); ShowPlayerDialog(playerid, CONNTAC_ID, DIALOG_STYLE_LIST, "{ffffff}Контакты", string, "Выбрать", "Отмена"); } Автор : Trateus(Я)
  25. Здраствуйте сегодня я вам покажу как сделать красивый эфект фильма при входе. И так приступим , для начало объявим переменые наших полосок new PlayerText:Vxods1[MAX_PLAYERS]; //полоска new PlayerText:Vxods2[MAX_PLAYERS]; //полоска дальше добавим в OnPlayerConnect сам textdraw Vxods1[playerid] = CreatePlayerTextDraw(playerid,0.000000,2.000000,"-");// расположение полоски Vxods2[playerid] = CreatePlayerTextDraw(playerid,1.000000,384.000000,"-");// расположение полоски PlayerTextDrawUseBox(playerid,Vxods1[playerid],1);//бокс PlayerTextDrawBoxColor(playerid,Vxods1[playerid],0x000000ff);// цвет бокса в нашем случий черный PlayerTextDrawTextSize(playerid,Vxods1[playerid],640.000000,7.000000);//размер полоски PlayerTextDrawUseBox(playerid,Vxods2[playerid],1);//бокс PlayerTextDrawBoxColor(playerid,Vxods2[playerid],0x000000ff);// цвет бокса PlayerTextDrawTextSize(playerid,Vxods2[playerid],640.000000,8.000000);//размер полоски PlayerTextDrawAlignment(playerid,Vxods1[playerid],0);// выравнивание текста PlayerTextDrawAlignment(playerid,Vxods2[playerid],0);//выравнивание текста PlayerTextDrawBackgroundColor(playerid,Vxods1[playerid],0x000000ff);// цвет обводки PlayerTextDrawBackgroundColor(playerid,Vxods2[playerid],0x000000ff);// цвет обводки PlayerTextDrawFont(playerid,Vxods1[playerid],3);// Стиль полоски PlayerTextDrawLetterSize(playerid,Vxods1[playerid],2.000000,7.899999);// высота вроде PlayerTextDrawFont(playerid,Vxods2[playerid],3);/ Стиль полоски PlayerTextDrawLetterSize(playerid,Vxods2[playerid],1.000000,8.100000);// высота вроде PlayerTextDrawColor(playerid,Vxods1[playerid],0x000000ff);// цвет PlayerTextDrawColor(playerid,Vxods2[playerid],0x000000ff);// цвет PlayerTextDrawSetOutline(playerid,Vxods1[playerid],1);// *** PlayerTextDrawSetOutline(playerid,Vxods2[playerid],1);// *** PlayerTextDrawSetProportional(playerid,Vxods1[playerid],1);// пропорциональность PlayerTextDrawSetProportional(playerid,Vxods2[playerid],1);//пропорциональность PlayerTextDrawSetShadow(playerid,Vxods1[playerid],1); // === PlayerTextDrawSetShadow(playerid,Vxods2[playerid],1);//==== PlayerTextDrawShow(playerid,Vxods1[playerid]);// показуем техдрайв игроку PlayerTextDrawShow(playerid,Vxods2[playerid]);// показуем техдрайв игроку теперь в public OnPlayerSpawn засунем скрытие полосок PlayerTextDrawHide(playerid,Vxods1[playerid]); PlayerTextDrawHide(playerid,Vxods2[playerid]); Вот собственно и всеСкрин вам Автор: Komendant(банан) Время работы: 5 минут Примечание: данный textdraw не пропадет даже с онлайном 100 - 200 спасибо за внимание! Ставьте + если не жалко!
×

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

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