SCRIPTMAN 358 Опубликовано 23 марта, 2017 (изменено) Привет народ! Делал для своего старого мода систему ремня, если так можно сказать. Так-как мод мне не нужен уже, решил слить данную систему сюда, хотя, она очень лёгкая, ну лан. Для начала создадим переменные. Для этого, где у вас все переменные, вставляем это: new remen[MAX_PLAYERS]; Теперь, сделаем так, чтобы когда игрок садился в автомобиль, ему обнуляло эту переменную, потому что некоторые могут пристегнуть ремень и не отстегнув выйти, тогда если сядут в авто, им напишет, что ремень отстегнул он. Для этого вставим в "public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)" Вот это: remen[playerid] = 0; Теперь сама команда: CMD:rem(playerid) { if(GetPlayerState(playerid) == PLAYER_STATE_ONFOOT)//Если игрок не в авто. { SendClientMessage(playerid,COLOR_RED,"Вы не в авто!"); return true;//Тут сомневаюсь, что true, опытные знатоки, подскажите пж :) } if(remen[playerid] == 0) { Action(playerid, "пристегнул ремень безопасности"); remen[playerid] = 1;//равняем переменную 1 } else if(remen[playerid] == 1)//В принципе, можно и просто else написать { Action(playerid, "отстегнул ремень безопасности"); remen[playerid] = 0;//Равняем переменную нулю } return true; } А теперь, чтобы добавить какой-то RP-шности, я написал кмд для фракций, чтобы проверить, пристёгнут игрок или нет. Вот команда: CMD:sr(playerid, params[]) { new magid; if(IsACops(playerid))//Проверка на то, что игрок в ДПС, Полиции. У меня это сток { if(sscanf(params, "i", magid)) return SCM(playerid, COLOR_GREY, "Подсказка: /sr [ID игрока]"); if(!ProxDetectorS(10.0, playerid, magid)) return SCM(playerid, COLOR_GRAD1, "Вы слишком далеко."); if(remen[magid] == 0) { SCM(playerid, COLOR_RED, "Не пристёгнут!");//Если переменная remen игрока, которого мы ввели равна 0 - он не пристёгнут } else if(remen[magid] == 1)//Можно else { SCM(playerid, COLOR_GREEN, "Пристёгнут!"); } } return true; } Вот и всё, я ещё сделал такую вещь, сейчас скину короче. Это для того, чтобы, если игрок не пристёгнут, он не мог завести авто. Для этого, туда, где у вас заводка авто нужно вставить в начало: if(remen[playerid] == 0) return SCM(playerid, цвет, "Пристегните ремень безопасности! Чтобы завести авто"); И когда игрок выходит из авто, я пытался сделать, чтобы его не выпустило из авто, пока он не отстегнёт ремень, но увы, у меня не получилось. Буду рад, кто подскажет, как это сделать. Ну в принципе и всё! Автор: Shapik Спасибо! Если ошибка, исправьте пожалуйста! Если будут идеи, пишите, дополню! У кого ошибка на Action, переходите в эту тему и добавляете. Изменено 7 ноября, 2017 пользователем SCRIPTMAN Добавил "Action" 3 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
kartoxaa 0 Опубликовано 6 июля, 2017 C:\Users\?????\Desktop\Namalsk RP\gamemodes\new.pwn(21942) : error 017: undefined symbol "action" C:\Users\?????\Desktop\Namalsk RP\gamemodes\new.pwn(21947) : error 017: undefined symbol "action" Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Remmi_Feed 1 Опубликовано 16 октября, 2017 @kartoxaa, ко всем new new action Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Belka 5 Опубликовано 7 ноября, 2017 @kartoxaa, добавь сток stock Action(playerid, action[], Float:distance = 13.0) { new string[128]; format(string, sizeof(string), "%s %s", GetName(playerid), action); for(new i; i < MAX_PLAYERS; i++) { if(!IsPlayerConnected(i) || GetPlayerDistanceToPlayer(playerid,i) > distance || GetPlayerVirtualWorld(i) != GetPlayerVirtualWorld(playerid)) continue; SendClientMessage(i, COLOR_PURPLE, string); } return 1; } Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
SCRIPTMAN 358 Опубликовано 7 ноября, 2017 ,тогда уж дай ссылку на тему. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Detik 0 Опубликовано 1 марта, 2018 es\Sotto_RP.pwn(71905) : warning 217: loose indentation C:\Users\Wolf\Desktop\???????\??? ?????? Sotto RP\gamemodes\Sotto_RP.pwn(71912) : error 017: undefined symbol "IsACops" C:\Users\Wolf\Desktop\???????\??? ?????? Sotto RP\gamemodes\Sotto_RP.pwn(71915) : warning 217: loose indentation C:\Users\Wolf\Desktop\???????\??? ?????? Sotto RP\gamemodes\Sotto_RP.pwn(71916) : warning 217: loose indentation Pawn compiler 3.10.6 Copyright © 1997-2006, ITB CompuPhase как исправить? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
SCRIPTMAN 358 Опубликовано 17 марта, 2018 @Detik, warning 217 - кнопкой "TAB" поработай, отрегулируй табуляцию. А error 017 - это проверка на состоит ли игрок во фракции копов(мвд, дпс и т.д.), замени на свою. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты