Перейти к содержанию

Waitingroom


Рекомендуемые сообщения

Чего то я не пойму, как использовать вайтрум...

накидал такое:

waitingroom "	if ( getmapxy (.gm_map$,.gm_x,.gm_y,0,$a_gms$[@a] ) == 0 ) { 
mes $a_gms$[@a]+": ^00FF00В сети^000000";
}
else {
mes $a_gms$[@a]+": ^FF0000Не в сети^000000";
} ",15;

Понял, что бред.

Мне надо, чтобы отображался ник ГМа в вайт руме, если он в сети зеленым цветом, а если нет, то красным.

И если 1 гм не в сети, то ник другого гма.

Легче сказать, как затащить скрипт в чат?

Ссылка на комментарий
Поделиться на другие сайты

Цвет названии комнаты не полуится сделать (по крайней мере онли сервер-сайд) (исправьте если я не прав, можете камень кинуть)

ГМ один?

Если да, то

при старте скрипта включаем таймер

10сек:

обнуляем таймер

удаляем старый waitroom

устанавливаем в переменную имя гм'а

если проверяем на онлайн, то переменная = переменная + в сети

иначе переменная = переменная + не в сети

задаем waitroom где в качестве названия используем переменную

Как-то так

  • Upvote 1
Ссылка на комментарий
Поделиться на другие сайты

Цвет названии комнаты не полуится сделать (по крайней мере онли сервер-сайд) (исправьте если я не прав, можете камень кинуть)

ГМ один?

Если да, то

при старте скрипта включаем таймер

10сек:

обнуляем таймер

удаляем старый waitroom

устанавливаем в переменную имя гм'а

если проверяем на онлайн, то переменная = переменная + в сети

иначе переменная = переменная + не в сети

задаем waitroom где в качестве названия используем переменную

Как-то так

Не... цвет комнаты не над менять.

Как раз таки непонятно было как засунуть ник гма в вайт рум.=)

Что теперь понятно.=)

Ссылка на комментарий
Поделиться на другие сайты

Накидал

prontera,111,111,1	script	Technoviking	2125,{
end;

OnInit:
initnpctimer;
end;

OnTimer10000:
initnpctimer;
delwaitingroom;
set .gmname$,"GM-ChuckNorris";
if(isloggedin(getcharid(3,.gmname$)))
set .gmname$, .gmname$ + ": В сети";
else set .gmname$, .gmname$ + ": Не в сети";
waitingroom .gmname$, 0;
end;
}

  • Upvote 1
Ссылка на комментарий
Поделиться на другие сайты

Накидал

prontera,111,111,1	script	Technoviking	2125,{
end;

OnInit:
initnpctimer;
end;

OnTimer10000:
initnpctimer;
delwaitingroom;
set .gmname$,"GM-ChuckNorris";
if(isloggedin(getcharid(3,.gmname$)))
set .gmname$, .gmname$ + ": В сети";
else set .gmname$, .gmname$ + ": Не в сети";
waitingroom .gmname$, 0;
end;
}

Спасип, посмотрю.=)

Ссылка на комментарий
Поделиться на другие сайты

Жаре,

if(isloggedin(getcharid(3,.gmname$)))

это проверка на гма, как я понял, а проверку на 2ого гма как сделать не подскажешь?

Изменено пользователем Krivedkin
Ссылка на комментарий
Поделиться на другие сайты

Ну тут смотря что вам нужно, исходя из того, что количество символов к названии рума ограничено, и впихнуть одновременно всех гмов и их статусы не получится

Расскажите подробнее, как вы видите ситуацию, тогда дам конкретное решение

Ссылка на комментарий
Поделиться на другие сайты

Ну тут смотря что вам нужно, исходя из того, что количество символов к названии рума ограничено, и впихнуть одновременно всех гмов и их статусы не получится

Расскажите подробнее, как вы видите ситуацию, тогда дам конкретное решение

Ну есть к примеру 2 гма.

Идёт проверка.

Если 1ый не в сети, то отображается 2ой, если 1 в сети, а второй нет, то отображается 1ый, если оба не в сети, отображается, что в сети нет никого, если оба, то 1ый.

Направь меня о великий Жаре! XD

Изменено пользователем Krivedkin
Ссылка на комментарий
Поделиться на другие сайты

prontera,111,111,1	script	Technoviking	2125,{
end;

OnInit:
setarray .gmnames$[0],"GM-Bruce","GM-Arnold","GM-Silvestr";//массив для имен гм'ов
initnpctimer;
end;

OnTimer10000:
initnpctimer;
delwaitingroom;
set .@flag,0;//флаг отвечает за наличие хотя бы одного гм'а онлайн
for(set .@i,0; .@i<getarraysize(.gmnames$); set .@i, .@i+1)
if(isloggedin(getcharid(3,.gmname$[.@i]))){
set .@flag,1;
set .@mes$, .gmname$[.@i] + ": В сети";
break;//Нашли онлайн ГМ'а, можно выходить
}
if(!.@flag) set .@mes$, "ГМ'ов в сети нет";
waitingroom .@mes$, 0;
end;
}

Возможно, я написал что-то лишнее, но на данный момент не могу написать короче.

Ссылка на комментарий
Поделиться на другие сайты

prontera,111,111,1	script	Technoviking	2125,{
end;

OnInit:
set .gmnames$[0],"GM-Bruce","GM-Arnold","GM-Silvestr";//массив для имен гм'ов
initnpctimer;
end;

OnTimer10000:
initnpctimer;
delwaitingroom;
set .@flag,0;//флаг отвечает за наличие хотя бы одного гм'а онлайн
for(set .@i,0, .@i<getarraysize(.gmnames$), set .@i, .@i+1)
if(isloggedin(getcharid(3,.gmname$[.@i]))){
set .@flag,1;
set .@mes$, .gmname$[.@i] + ": В сети";
break;//Нашли онлайн ГМ'а, можно выходить
}
if(!.@flag) set .@mes$, "ГМ'ов в сети нет";
waitingroom .@mes$, 0;
end;
}

Возможно, я написал что-то лишнее, но на данный момент не могу написать короче.

set .gmnames$[0],"GM-Bruce","Lazy","GM-Silvestr";

Вот на это ругается

parse_line: need ';'
216 : {
217 : end;
218 :
219 : OnInit:
* 220 : set .gmnames$[0],"GM-Bruce"','"Lazy","GM-Silvestr";;//ьрёёшт фы
  шьхэ уь'ют
221 : initnpctimer;
222 : end;
223 :
224 : OnTimer10000:
225 : initnpctimer;

Изменено пользователем Krivedkin
Ссылка на комментарий
Поделиться на другие сайты

-	script	Technoviking	-1,{
OnInit:
setarray .gmnames$[0],"GM-Bruce","GM-Arnold","GM-Silvestr";//массив для имен гм'ов
while(1)
{
.@flag = 0;//флаг отвечает за наличие хотя бы одного гм'а онлайн
for(.@i = 0; .@i < getarraysize(.gmnames$); .@i++)
if(isloggedin(getcharid(3,.gmname$[.@i])))
{
.@flag++;
.@mes$ = .gmname$[.@i] + ": В сети";
break;//Нашли онлайн ГМ'а, можно выходить
}
waitingroom .@flag?.@mes$:(set(.@mes$,"ГМ'ов в сети нет")),0;
sleep 10000;
delwaitingroom;
}}

Проверять времени не было, сразу извиняюсь, если что :)

  • Upvote 2
Ссылка на комментарий
Поделиться на другие сайты

Инкремент в скриптах только не работает

давно ли?

Все ясно, так давно был не у дел, что не знал про улучшенную версию скрипт-кода в rA

Ссылка на комментарий
Поделиться на другие сайты

×
×
  • Создать...
Яндекс.Метрика