Назад

Настройка времени гв

Автор: Ragen: Дата: 12.10.2010

у меня такой скрипт (действует он только для анонсов)
само время проведения гв я настраиваю в вое сетере
вопрос в следующем: хочу уточнить как правильно сделать чтоб вторник и суббота правильно включался анонс если время начала и конца в эти дни разные?!
нужно время вторник 21-22 суббота 22-23

Вот скрипт скажите что где правильно поменять или добавить

-	script	Agit_Event	-1,{
end;

OnClock2100:
OnClock2200:
OnAgitInit:
// starting time checks
if((gettime(4)==2) && (gettime(3)>=21 && gettime(3)<=22) || (gettime(4)==6) && (gettime(3)>=21 && gettime(3)<=22)){
if (!agitcheck()) {
callsub S_DisplayOwners;
}
end;
}

// end time checks
if ((gettime(4)==2) && (gettime(3)==22) || (gettime(4)==6) && (gettime(3)==22)) {
if (agitcheck()) {
callsub S_DisplayOwners;
}
end;
}
end;


S_DisplayOwners:
//setarray .@maps$[0],"aldeg_cas01","aldeg_cas02","aldeg_cas03","aldeg_cas04","aldeg_cas05";
//setarray .@maps$[5],"gefg_cas01","gefg_cas02","gefg_cas03","gefg_cas04","gefg_cas05";
//setarray .@maps$[10],"payg_cas01","payg_cas02","payg_cas03","payg_cas04","payg_cas05";
//setarray .@maps$[15],"prtg_cas01","prtg_cas02","prtg_cas03","prtg_cas04","prtg_cas05";
setarray .@maps$[0],"payg_cas02","prtg_cas01";
for( set .@i, 0; .@i <= 2; set .@i, .@i+1 ) {
if (GetCastleData(.@maps$[.@i],1)) {
Announce "Замок [" + GetCastleName(.@maps$[.@i]) + "] был захвачен Гильдией [" + GetGuildName(GetCastleData(.@maps$[.@i],1)) + "]",bc_all|bc_woe;
}
else {
Announce "The [" + GetCastleName(.@maps$[.@i]) + "] castle is currently unoccupied.",bc_all|bc_woe;
}
}
end;
}

Автор: Ragen: Дата: 12.10.2010

в вое сетере нету анонсов Х) и объявы кто захватил замок

Автор: Мяфк: Дата: 12.10.2010

Вообще-то. Воесеттер настраивает время ГВ. Так же в стандарте афины есть другой файлик, в котором настраиваются анонсы и объявления о замки. Т.е. вое сеттер для времени Гв, второй для анонсов, так что всё норм.

Автор: Ragen: Дата: 12.11.2010

нет я конечно это понимаю никит,но мне надо не настроить время гв,а корректно настроить его анонсы т.е. именно этот файлик что я выложил,но сделать надо так чтоб он работал в разные дни с разным временем вот в чем загвоздка

Автор: Мяфк: Дата: 12.11.2010

А что сложного?
if((gettime(4)==2) && (gettime(3)>=21 && gettime(3)<=22) || (gettime(4)==6) && (gettime(3)>=21 && gettime(3)<=22)){
(gettime(4)==2) - Это вторник.
(gettime(3)>=21 - это 21 00
gettime(3)<=22) - это 22 00.
Ну вот и настраивай, как надо...

Автор: Ragen: Дата: 12.11.2010

а
OnClock2100:
OnClock2200:
поправлять ненадо?

Автор: Мяфк: Дата: 12.11.2010

Да, если надо например ещё в 2300, то пиши ещё 1 онклок.

Автор: Ragen: Дата: 12.11.2010

Получилось следующее,правильно?
Спасибо за помощь!

-	script	Agit_Event	-1,{
end;

OnClock2100:
OnClock2200:
OnClock2300:
OnAgitInit:
// starting time checks
if((gettime(4)==2) && (gettime(3)>=21 && gettime(3)<=22) || (gettime(4)==6) && (gettime(3)>=22 && gettime(3)<=23)){
if (!agitcheck()) {
callsub S_DisplayOwners;
}
end;
}

// end time checks
if ((gettime(4)==2) && (gettime(3)==22) || (gettime(4)==6) && (gettime(3)==23)) {
if (agitcheck()) {
callsub S_DisplayOwners;
}
end;
}
end;


S_DisplayOwners:
//setarray .@maps$[0],"aldeg_cas01","aldeg_cas02","aldeg_cas03","aldeg_cas04","aldeg_cas05";
//setarray .@maps$[5],"gefg_cas01","gefg_cas02","gefg_cas03","gefg_cas04","gefg_cas05";
//setarray .@maps$[10],"payg_cas01","payg_cas02","payg_cas03","payg_cas04","payg_cas05";
//setarray .@maps$[15],"prtg_cas01","prtg_cas02","prtg_cas03","prtg_cas04","prtg_cas05";
setarray .@maps$[0],"payg_cas02","prtg_cas01";
for( set .@i, 0; .@i <= 2; set .@i, .@i+1 ) {
if (GetCastleData(.@maps$[.@i],1)) {
Announce "Замок [" + GetCastleName(.@maps$[.@i]) + "] был захвачен Гильдией [" + GetGuildName(GetCastleData(.@maps$[.@i],1)) + "]",bc_all|bc_woe;
}
else {
Announce "The [" + GetCastleName(.@maps$[.@i]) + "] castle is currently unoccupied.",bc_all|bc_woe;
}
}
end;
}

Автор: Мяфк: Дата: 12.11.2010

Да, для спасибо есть кнопка..