Artem_Buero
Дата: Пятница, 17.04.2015, 17:40 | Сообщение # 1
Сообщений: 4223
Статус: Offline
Добавим ко всем
new :
Цитата
new bool:MPStart = false; new Float:MPPos[3]; new MPPlayers; new bool:MPPlayer[MAX_PLAYERS];
Теперь добавим команды:
Цитата
CMD:mp_start(playerid,params[]) { if(Log[playerid] == 0) return KKick(playerid); if(sscanf(params,"ds",params[0],params[1])) return SendClientMessage(playerid, -1, "{660066}Используйте: /mp_start [Кол-во участников] [Название]"); if(Player[playerid][pAdmin] == 0) return SendClientMessage(playerid, -1, "{660066}У вас нету прав"); if(MPStart == true) return SendClientMessage(playerid, -1, "{660066}МП уже начато"); if(params[0] <= 1) return SendClientMessage(playerid, -1, "{660066}Слишком мало игроков"); MPStart = true; MPPlayers = params[0]; new Float:x, Float:y, Float:z; GetPlayerPos(playerid,x,y,z); MPPos[0] = x; MPPos[1] = y; MPPos[2] = z; new s[128]; format(s,128,"{00FFFF}Администратор %s начал МП '%s'.Нужно %d человек",GetNick(playerid),params[1],params[0]); SendClientMessageToAll(-1,s); SendClientMessageToAll(-1,"{00FFFF}/mp_go что-бы пойти на МП"); return 1; } CMD:mp_go(playerid) { if(Log[playerid] == 0) return KKick(playerid); if(MPStart == false) return SendClientMessage(playerid, -1, "{660066}МП нету"); if(MPPlayers == 0) return SendClientMessage(playerid, -1, "{660066}Мест нету"); if(MPPlayer[playerid] == true ) return SendClientMessage(playerid, -1, "{660066}Ошибка"); MPPlayers--; MPPlayer[playerid] = true; SetPlayerPos(playerid,MPPos[0],MPPos[1],MPPos[2]); new s[128]; format(s,128,"{00FFFF}Игрок %s пошёл на МП.Осталось мест:%d",GetNick(playerid),MPPlayers); SendClientMessageToAll(-1,s); return 1; } CMD:mp_exit(playerid,params[0]) { if(Log[playerid] == 0) return KKick(playerid); if(sscanf(params,"s",params[0])) return SendClientMessage(playerid, -1, "{660066}Используйте: /mp_exit [Ник]"); if(Player[playerid][pAdmin] == 0) return SendClientMessage(playerid, -1, "{660066}У вас нету прав"); if(MPStart == false) return SendClientMessage(playerid, -1, "{660066}МП нету"); MPStart = false; for(new f;f < GetMaxPlayers();f++) { MPPlayer[f] = false; } new s[128]; format(s,128,"{00FFFF}МП закончено.Победил:%s",params[0]); SendClientMessageToAll(-1,s); return 1; } CMD:mp_help(playerid) { if(Log[playerid] == 0) return KKick(playerid); if(Player[playerid][pAdmin] == 0) return SendClientMessage(playerid, -1, "{660066}У вас нету прав"); ShowPlayerDialog(playerid,900,DIALOG_STYLE_MSGBOX,"МП команды","/mp_start [Кол-во] [Название] \n/mp_go \n/mp_exit [Ник] \n/mp_help","OK","OK"); return 1; }
Проверки меняем на свои.
Простоя система готова. Команды: /mp_start [Кол-во участников] [Название]-Создать МП /mp_go -Пойти на МП /mp_exit [Ник] -Закончить МП и объявить победителя /mp_help -Список команд Возможно потом будет продолжение.
МОЙ ВК - https://vk.com/gospodin_buero
[CM]Tawer13371337228
Дата: Понедельник, 20.04.2015, 23:10 | Сообщение # 2
Боец
Сообщений: 202
Статус: Offline
Мне нравится, встречал подобные системы для МП, но они были слишком простые и при этом с кучей багов, а эта довольно хорошо продумана (Еще не знаю что там с багами).Поставлю себе. Лови +)
Покупаю админ аккаунты на DRP/ARP/SRP - Клик
Сообщение отредактировал [CM]Tawer13371337228 - Понедельник, 20.04.2015, 23:11
cyberpunk
Дата: Суббота, 25.04.2015, 16:29 | Сообщение # 3
Новичок
Сообщений: 14
Статус: Offline
такая сис-ма на циркле, не? писал кстати около полу года назад что-то подобное