 |
|
 |
|
|
|
Последние Файлы GTA 4 |
Последние Файлы GTA-MP |
Реклама |
|
|
|
|
|
Проблема с SetTimerEx на /gov
| |
| anonimniy | Дата: Понедельник, 19.03.2012, 20:31 | Сообщение # 1 |
|
Уверенный в себе
Группа:
I'm V.I.P.
Сообщений: 190
Награды: 1
Город: St.Petersburg
Репутация: 42
Замечания: 0%
Статус: 
| Доброго времени суток. Сразу к делу.
Попытался поставить таймер на /gov, вот что сделал:
Code forward GovTimer(playerid);
Code new GovTime[MAX_PLAYERS]; // таймер /gov
Code new GovTimer = 120000;
В OnPlayerConnect:
Code GovTime[playerid] = 0;
Сама команда:
Code if(strcmp(cmd, "/government", true) == 0|| strcmp(cmd, "/gov", true) == 0) { if(IsPlayerConnected(playerid)) { if(PlayerInfo[playerid][pMute] > 0) { SendClientMessage(playerid, COLOR_Cvet_8, "[Ошибка]{FFFFFF} Чат временно не доступен."); return 1; } if(GovTime[playerid] > 0) { format(string, sizeof(string), "Вы уже подавали объявление. Следующие сможете подать через %d секунд.", GovTimer/1000); SendClientMessage(playerid, COLOR_Cvet_8, string); return 1; } 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_GRAD2, "GTAMania: (/gov)ernment [text]"); return 1; } if(PlayerInfo[playerid][pLeader]==1) { SendClientMessageToAll(COLOR_WHITE, "|___________ Государственные новости (Полиция) ___________|"); format(string, sizeof(string), "%s[%d]: %s", sendername,playerid, result); SendClientMessageToAll(COLOR_DBLUE, string); format(string,sizeof(string),"[GOV]%s: %s",sendername,result); GovTime[playerid] += 1; SetTimerEx("GovTimer", 120000, false, "i", playerid); log("Chat",string); } else if(PlayerInfo[playerid][pLeader]==2) { SendClientMessageToAll(COLOR_WHITE, "|___________ Государственные новости (ФБР) ___________|"); format(string, sizeof(string), "%s[%d]: %s", sendername, playerid,result); SendClientMessageToAll(COLOR_DBLUE, string); format(string,sizeof(string),"[GOV]%s: %s",sendername,result); GovTime[playerid] += 1; SetTimerEx("GovTimer", 120000, false, "i", playerid); log("Chat",string); } else if(PlayerInfo[playerid][pLeader]==3) { SendClientMessageToAll(COLOR_WHITE, "|___________ Государственные новости (Армия) ___________|"); format(string, sizeof(string), "%s[%d]: %s", sendername,playerid, result); SendClientMessageToAll(COLOR_DBLUE, string); format(string,sizeof(string),"[GOV]%s: %s",sendername,result); GovTime[playerid] += 1; SetTimerEx("GovTimer", 120000, false, "i", playerid); log("Chat",string); } else if(PlayerInfo[playerid][pLeader]==4) { SendClientMessageToAll(COLOR_WHITE, "|___________ Государственные новости (МЧС) ___________|"); format(string, sizeof(string), "%s[%d]: %s", sendername,playerid, result); SendClientMessageToAll(COLOR_DBLUE, string); format(string,sizeof(string),"[GOV]%s: %s",sendername,result); GovTime[playerid] += 1; SetTimerEx("GovTimer", 120000, false, "i", playerid); log("Chat",string); } } return 1; }
Code public GovTimer(playerid) { if(IsPlayerConnected(playerid)) { if(GovTime[playerid] > 0) { GovTime[playerid] = 0; } } }
|
| |
|
|
| anonimniy | Дата: Понедельник, 19.03.2012, 20:32 | Сообщение # 2 |
|
Уверенный в себе
Группа:
I'm V.I.P.
Сообщений: 190
Награды: 1
Город: St.Petersburg
Репутация: 42
Замечания: 0%
Статус: 
| Ошибки:
Code C:\Users\Никита\Desktop\GTAMania\gamemodes\GTAMania.pwn(10833) : error 076: syntax error in the expression, or invalid function call C:\Users\Никита\Desktop\GTAMania\gamemodes\GTAMania.pwn(32582) : error 021: symbol already defined: "GovTimer" Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
2 Errors.
|
| |
|
|
| Latron | Дата: Понедельник, 19.03.2012, 21:23 | Сообщение # 3 |
|
Группа:
I'm V.I.P.
Сообщений: 2115
Награды: 22
Город: Орел
Репутация: 1604
Замечания: 0%
Статус: 
| anonimniy, Переменная GovTimer уже объявлена...
Моё портфолио
Мои работы: [ Lesson ] Операторы в PAWN. [ Lesson ] Переменная. [ GM ] RegSys. ( Last update: 21.04.2012 )
Сообщение отредактировал Latron - Понедельник, 19.03.2012, 21:26 |
| |
|
|
| anonimniy | Дата: Понедельник, 19.03.2012, 21:24 | Сообщение # 4 |
|
Уверенный в себе
Группа:
I'm V.I.P.
Сообщений: 190
Награды: 1
Город: St.Petersburg
Репутация: 42
Замечания: 0%
Статус: 
| Latron, Там ведь разные переменные, new GovTime и new GovTimer...
|
| |
|
|
| Latron | Дата: Понедельник, 19.03.2012, 21:28 | Сообщение # 5 |
|
Группа:
I'm V.I.P.
Сообщений: 2115
Награды: 22
Город: Орел
Репутация: 1604
Замечания: 0%
Статус: 
| Quote (anonimniy) forward GovTimer(playerid); Quote (anonimniy) new GovTimer = 120000; Добавлено (19.03.2012, 21:28) --------------------------------------------- Измени название функции...
Моё портфолио
Мои работы: [ Lesson ] Операторы в PAWN. [ Lesson ] Переменная. [ GM ] RegSys. ( Last update: 21.04.2012 )
|
| |
|
|
| anonimniy | Дата: Понедельник, 19.03.2012, 21:33 | Сообщение # 6 |
|
Уверенный в себе
Группа:
I'm V.I.P.
Сообщений: 190
Награды: 1
Город: St.Petersburg
Репутация: 42
Замечания: 0%
Статус: 
| Latron, Отлично. Спасибо, но вот следующий вопрос...Как сделать так что бы отображались конкретные секунды после которого можно выполнить действие?
К примеру, написал ты /gov, и пишешь ещё раз, пишет "Ошибка траляля до следующего объявления ждите 59 секунд" "58 секунд" и так далее.
|
| |
|
|
| Latron | Дата: Понедельник, 19.03.2012, 21:36 | Сообщение # 7 |
|
Группа:
I'm V.I.P.
Сообщений: 2115
Награды: 22
Город: Орел
Репутация: 1604
Замечания: 0%
Статус: 
| Quote (anonimniy) Latron, Отлично. Спасибо, но вот следующий вопрос...Как сделать так что бы отображались конкретные секунды после которого можно выполнить действие?
К примеру, написал ты /gov, и пишешь ещё раз, пишет "Ошибка траляля до следующего объявления ждите 59 секунд" "58 секунд" и так далее. нууу сделать анти флуд...
Моё портфолио
Мои работы: [ Lesson ] Операторы в PAWN. [ Lesson ] Переменная. [ GM ] RegSys. ( Last update: 21.04.2012 )
Сообщение отредактировал Latron - Понедельник, 19.03.2012, 21:36 |
| |
|
|
| anonimniy | Дата: Понедельник, 19.03.2012, 21:48 | Сообщение # 8 |
|
Уверенный в себе
Группа:
I'm V.I.P.
Сообщений: 190
Награды: 1
Город: St.Petersburg
Репутация: 42
Замечания: 0%
Статус: 
| Latron, Не мог бы сказать каким образом это сделать?
|
| |
|
|
| Latron | Дата: Понедельник, 19.03.2012, 21:49 | Сообщение # 9 |
|
Группа:
I'm V.I.P.
Сообщений: 2115
Награды: 22
Город: Орел
Репутация: 1604
Замечания: 0%
Статус: 
| anonimniy, http://www.samp-rus.com/forum/17-12549-1
Моё портфолио
Мои работы: [ Lesson ] Операторы в PAWN. [ Lesson ] Переменная. [ GM ] RegSys. ( Last update: 21.04.2012 )
|
| |
|
|
| anonimniy | Дата: Понедельник, 19.03.2012, 23:37 | Сообщение # 10 |
|
Уверенный в себе
Группа:
I'm V.I.P.
Сообщений: 190
Награды: 1
Город: St.Petersburg
Репутация: 42
Замечания: 0%
Статус: 
| Latron, А можно что нибудь по проще?
|
| |
|
|
| Latron | Дата: Понедельник, 19.03.2012, 23:42 | Сообщение # 11 |
|
Группа:
I'm V.I.P.
Сообщений: 2115
Награды: 22
Город: Орел
Репутация: 1604
Замечания: 0%
Статус: 
| anonimniy, ну введи ты в поиске"анти флуд"чё сложного
Моё портфолио
Мои работы: [ Lesson ] Операторы в PAWN. [ Lesson ] Переменная. [ GM ] RegSys. ( Last update: 21.04.2012 )
|
| |
|
|
| anonimniy | Дата: Вторник, 20.03.2012, 00:04 | Сообщение # 12 |
|
Уверенный в себе
Группа:
I'm V.I.P.
Сообщений: 190
Награды: 1
Город: St.Petersburg
Репутация: 42
Замечания: 0%
Статус: 
| Latron, мне кажется ты не понимаешь меня...Мне нужно, когда к примеру, Таймер уже заработал, и если чувак пишет в это время команду, ему писалось сколько осталось до того как можно будет написать команду.
|
| |
|
|
| Latron | Дата: Вторник, 20.03.2012, 00:06 | Сообщение # 13 |
|
Группа:
I'm V.I.P.
Сообщений: 2115
Награды: 22
Город: Орел
Репутация: 1604
Замечания: 0%
Статус: 
| Quote (anonimniy) Latron, мне кажется ты не понимаешь меня...Мне нужно, когда к примеру, Таймер уже заработал, и если чувак пишет в это время команду, ему писалось сколько осталось до того как можно будет написать команду. Это и есть анти флуд .
Моё портфолио
Мои работы: [ Lesson ] Операторы в PAWN. [ Lesson ] Переменная. [ GM ] RegSys. ( Last update: 21.04.2012 )
|
| |
|
|
| anonimniy | Дата: Вторник, 20.03.2012, 00:08 | Сообщение # 14 |
|
Уверенный в себе
Группа:
I'm V.I.P.
Сообщений: 190
Награды: 1
Город: St.Petersburg
Репутация: 42
Замечания: 0%
Статус: 
| Code #include <a_samp>
new IsMessageSent[MAX_PLAYERS]; new interval = 2; forward UnMutedX(playerid);
public OnFilterScriptInit() { print("\n||||||||||||||||||||||"); print("|Anti-Flood protection||"); print("|Modded by XAOC|||||||||"); print("||||||||||||||||||||||\n"); return 1; }
public OnPlayerConnect(playerid) { new conn[256]; IsMessageSent[playerid] = 0; format(conn,sizeof(conn)," На сервере установлена анти-флуд защита, сообщения разрешено отправлять только раз в %d секунд",interval); SendClientMessage(playerid,0x33AA33AA,conn); return true; }
public OnPlayerText(playerid, text[]) { if(IsMessageSent[playerid] == 1) { SendClientMessage(playerid, 0x00ffffff, "Не флудь!"); return false; } else { IsMessageSent[playerid] = 1; SetTimerEx("UnMutedX",interval*1000,0,"d",playerid); return true; } }
public UnMutedX(playerid) { IsMessageSent[playerid] = 0; return true; }
Что в данном ФС именно отвечают за то что мне надо?
|
| |
|
|
| Latron | Дата: Вторник, 20.03.2012, 00:10 | Сообщение # 15 |
|
Группа:
I'm V.I.P.
Сообщений: 2115
Награды: 22
Город: Орел
Репутация: 1604
Замечания: 0%
Статус: 
| anonimniy, делай так где надо: if(IsMessageSent[playerid] == 1) { SendClientMessage(playerid, 0x00ffffff, "Не флудь!"); return false; } else { IsMessageSent[playerid] = 1; SetTimerEx("UnMutedX",interval*1000,0,"d",playerid); return true; }
Моё портфолио
Мои работы: [ Lesson ] Операторы в PAWN. [ Lesson ] Переменная. [ GM ] RegSys. ( Last update: 21.04.2012 )
|
| |
|
|
|
 |
|
 | |
| |
|