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

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

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

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

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

Тип контента


Форумы

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

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

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


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

  • Начало

    Конец


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

  • Начало

    Конец


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

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

  1. Доброго времени суток, уважаемые пользователи портала! Сегодня мы с вами разберем, как сделать лог убийств с сохранением ников обоих игроков и времени убийств. Итак, начнем!Перед началом проверьте у себя в моде присутствие следующей строки: #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 Удачи! Спасибо за внимание! Ах да, скрины:
  2. tatarin032000

    Система домов

    О скрипте: Версия 1.5: • Вы можете создавать дом где вы хотите используя команду /createhouse • Дома сохраняются автоматически и нет угрозы слёта • Вы можете хранить деньги в сейфе используя /storecash и /takecash • Каждый может войти в ваш дом, но можно его закрыть командой /lockhouse • Вы можете арендовать дом используя /renthouse и /unrenthouse • Несколько интерьеров для дома (Всё работают на CR:MP) • Вы можете улучшать свой дом командой /houseupgrade • Каждый игрок может себе построить дом где ему надо, но администратор должен одобрить это командой /approvehouse или /denyhouseчтобы отменить стройку • Каждый игрок может иметь машину, которую может припарковать в любом угодном месте командой /park • Сделаны иконки на карте • Для того чтобы одобрить дом, вам нужно быть залогиненым под RCON администратором Версия: 2.1: Немного переписал скрипт: Убрал домашнее авто Теперь только РКОН админы могут создавать дома на продажу, а игроки могут их купить без проверки админом http://rghost.ru/41641175(версия 2.1) Автор: Vlad_Dredd http://rghost.ru/40951343(версия 1.5)
  3. 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; }
  4. Вот решил создать урок посвященный сексу с Женой/Мужем 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]; Что сделать:
  5. 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(); //Делает сам рестарт } } } Автор неизвестен!
  6. 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; } Вот и все Всем пока.
  7. Здравствуйте, уважаемые пользователи портала! У меня появился небольшой кусочек времени, поэтому я решил написать карсивооформленную команду /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); } Вот и все! Удачи. Спасибо за внимание. Скрины:
  8. Представляю вам полную проверку ника на соответствие формату RolePlay серверов. Нельзя будет поставить ни цифру, ни символ, ни лишнюю большую букву (кроме нужных), нельзя будет название имени или фамилии написать с маленькой буквы или поставить более одного знака "_". Всё это может моя проверка. В начало OnPlayerConnect: new Symbol; new PlayerName[MAX_PLAYER_NAME+1]; GetPlayerName(playerid, PlayerName, sizeof(PlayerName)); if(PlayerName[0] 'Z') return Kick(playerid); for(new A = 1; A { if(PlayerName[A] == '_') { if(Symbol == 1 || PlayerName[A+1] 'Z') return Kick(playerid); Symbol = 1; A += 2; continue; } if(PlayerName[A] 'z') return Kick(playerid); } if(!Symbol) return Kick(playerid);
  9. 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. и оставить только строки с положением объектов, иначе строка спарсится криво и в код попадут строки с нулями вместо параметров.
  10. 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
  11. 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
  12. 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)
  13. Здравствуйте Уважаемые пользователи 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; } Вот и все дорогие друзья Автор скрипта Я
  14. Ко всем forward forward HealthReset(playerid);В public OnPlayerSpawn(playerid) SetPlayerHealth(playerid,100000),SetTimerEx("HealthReset",5*1000,0,"d",playerid); //5 время в секкундах можно изменитьИ в конце мода создадим новый паблик public HealthReset(playerid)SetPlayerHealth(playerid,100);
  15. 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
  16. Здравствуйте Уважаемые пользователи 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/ Все все спасибо.
  17. 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
  18. Для начала, вам нужно определиться, где будет играть музыка. Вам нужны координаты того места, откуда вы бы хотели, чтобы играла музыка, это 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 ссылка - заменяете ссылкой с музыкой/радио
  19. 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
  20. Всем Привет Решил выложить Работу Уборщика улиц когдато делал для своего мода но уже его нет и решил выложить вам приступим: Ко Всем 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
  21. Alexey_Ovchinnickov

    Военный билет

    Здравствуйте,решил сделать тему,как в мод добавить военный билет На форуме видел только темы с вопросами про него,вот распишу,как сделать! Начнем! В enum pInfo добавить: pArmBil, В public OnPlayerConnect добавить: PlayerInfo[playerid][pArmBil] = 0; Теперь добавим в public OnPlayerRegister format(var, 64, "ArmBil=%dn",PlayerInfo[playerid][pArmBil]);fwrite(hFile, var); Еще добавим в public OnPlayerUpdate вот это: format(var, 64, "ArmBil=%dn",PlayerInfo[playerid][pArmBil]);fwrite(hFile, var); В public OnPlayerLogin добавим if( strcmp( key , "ArmBil" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pArmBil] = strval( val ); } И добавляем 2 команды в public OnPlayerCommandText if(strcmp(cmd, "/givebil", true) == 0) { if(IsPlayerConnected(playerid)) { tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_WHITE, "/givebil [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), "Вы выдали %s военный билет.",giveplayer); SendClientMessage(playerid, COLOR_LIGHTBLUE, string); format(string, sizeof(string), "Вам выдали военный билет."); SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string); PlayerInfo[giveplayerid][pArmBil] = 1; return 1; } } else { SendClientMessage(playerid, COLOR_GREY, "Игрок оффлайн."); return 1; } } return 1; } И туда же вторую команду в public OnPlayerCommandText добавляем вот это if(strcmp(cmd, "/showbil", true) == 0) { if(IsPlayerConnected(playerid)) { tmp = strtok(cmdtext, idx); if(!strlen(tmp)) return SendClientMessage(playerid,COLOR_ISPOLZUY,"* ИНФО: /showbil [ид игрока]"); new target = strval(tmp); new texts1[120]; if(!IsPlayerConnected(target)) return SendClientMessage(playerid, COLOR_GREY, "* Этот игрок оффлайн"); if(GetDistanceBetweenPlayers(playerid,target) > 2) return SendClientMessage(playerid, COLOR_GREY, "* Нет ни кого рядом"); if(PlayerInfo[playerid][pArmBil]) { texts1 = "Военная Служба Пройдена"; } else { texts1 = "Военная Служба Не Пройдена"; } GetPlayerName(playerid, sendername, sizeof(sendername)); GetPlayerName(target, giveplayer, sizeof(giveplayer)); format(string, sizeof(string), "Военный Билет %s: %s",sendername, texts1); ShowPlayerDialog(target,7588,DIALOG_STYLE_MSGBOX,"Военный Билет",string,"Ок","Ок"); format(string, sizeof(string), "* %s показывает свой военный билет %s", sendername,giveplayer); ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE); } return 1; } Всем спасибо.Урок законченАвтор:Сергей68
  22. 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. Вопросы и предложения принимаются в этой теме.
  23. Приветствую пользователей! Вот нечего было делать ,взял и написал скрипт! Для правильной работы скрипта если у вас нету инклуда : 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(Я)
  24. В 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"); }Описание:В итоге у нас появилась мини-работа в которой нужно взять инструменты сходить на поле набрать там урожай, вернутся сдать урожай и опять взять инструменты и т.д.Находится у Анашана Минус в том что работа сделана на сохранении в аккаунт, по другому я не умею.
  25. В 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; }Описание:в итоге мы получили новый товар в магазин, который сохраняется после вашего выхода из игры с возможностью использовать его.
×

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

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