Доброго времени суток. Задался написанием такой команды и ровным счётом ничего не понял. В стандартном AAD какие-то 2 таймера, в которых не сильно разобрался. Кто уже реализовывал такую команду (добавление игрока в раунд) в данном моде, можете помочь? Так же хотелось бы задать такой вопрос по этому же моду. Написал /pause, вроде всё работет, но при unpause таймер секунд начинает прибавляться, если повторить опреацию, то увеличивается в двойне. Что не верно?
[pwn]if(strcmp(cmd, "/pause", true) == 0 && IsPlayerAdmin(playerid) == 1) {
new pTimer;
if(gPause == 0) {
pTimer = SetTimer("PausedMode", 1000, 1);
gPause = 1;
for(new i;i<MAX_PLAYERS;i++) {
TogglePlayerControllable(i, 0);
SendClientMessage(i, AAD_ADMIN, "Администратор приостановил раунд.");
}
} else if(gPause == 1) {
KillTimer(pTimer);
gPause = 0;
pTimer = 0;
for(new i;i<MAX_PLAYERS;i++) {
SendClientMessage(i, AAD_ADMIN, "Администратор продолжил раунд.");
TogglePlayerControllable(i, 1);
}
}
return 1;
}[/pwn]
[pwn]
public PausedMode() {
if(gPause == 1) {
ModeSec++;
} if(gPause == 0) {
ModeSec--;
}
return 1;
}[/pwn]
Я понимаю, что /add пишется достаточно не просто. Если у кого-то есть работающая команда, то готов заплатить WMR в разумных пределах.