Admin Администратор
Сообщения : 73 Дата регистрации : 2012-03-16 Возраст : 30 Откуда : Украина
| Тема: [Урок] таймер на /o чат Чт Июн 21, 2012 2:26 am | |
| искал по форуму вроде такого урока не нашёл. и так начнём немного о команде,она ставит лимит сообщений на общий чат,чтоб игроки не увлекались флудам ну ладно начнём ко всем forward-ам добовляем - Код:
-
forward OOClimit(); ко всем new-ам - Код:
-
new olimittime = 1; new limitooc; далее в конец команды общего чата(/ooc) добовляем следующие - Код:
-
if ((!olimittime) && (PlayerInfo[playerid][pAdmin] < 1)) { format(string, sizeof(string), "* Стоп! Не флуди сообщение можно отправлять-одно сообщение в %d секунду.", (limitooc/1000)); SendClientMessage(playerid, COLOR_GRAD2, string); return 1;
} if(!strlen(result)) { SendClientMessage(playerid, COLOR_GRAD2, "USAGE: (/o)oc [ooc chat]"); return 1; } format(string, sizeof(string), "| %s: %s", sendername, result); if (PlayerInfo[playerid][pAdmin] < 1){SetTimer("OOClimit",limitooc, 0);olimittime = 0;} OOCOff(COLOR_OOC,string); printf("%s", string); } далее создаём команду для админов на устоновку лимита в - Код:
-
publick OnPlayerCommandText вставляем это - Код:
-
if(strcmp(cmd, "/editolimit", true) == 0 || strcmp(cmd, "/eol", true) == 0) { if(IsPlayerConnected(playerid)) { tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_GRAD2, "USAGE: /eol [лимит в сек.]"); return 1; } if (PlayerInfo[playerid][pAdmin] >= 1337)//здесь можно указать любой лвл для адм { limitooc = strval(tmp); format(string, sizeof(string), "* лимит /o чата установлен на - %d секунд.", limitooc); SendClientMessage(playerid, COLOR_LIGHTBLUE,string); limitooc = strval(tmp)*1000;
} else { SendClientMessage(playerid, COLOR_GRAD1, "*** Вы не админ ***"); } } return 1; } ну и в самый конец мода вставляем - Код:
-
public OOClimit() { olimittime=1; return 1; } | |
|