Автор: Said: Дата: 06.11.2010
И так вопросы:
1- Как сделать чтоб, если человек стоит в Детаче на него нападали монстры.
2-Как сделать чтоб, команда автолут была бесплатной до 75 уровня а после ее включение стоило 10к
3- Как сделать чтоб, если персонаж не двигается команда автолут отключалась.
4- Гм ранги, столкнулся с тем что если персонажу делаешь 2-19 уровень то он не может принять не позвать в пати.(создавать может).
Покапался нашел вот это:
if ( pc_isGM(sd) < pc_isGM(pl_sd) )
{
clif_displaymessage(fd, msg_txt(81)); // Your GM level doesn't authorize you to preform this action on the specified player.
return -1;
}
За что отвечает подчеркнутое и как поправить? причем если у человека ранг 1 или 20 то с пати нет проблем.
Автор: DiS[IP]: Дата: 06.11.2010
[FONT=Lucida Console]Так как Мяфк уже ответил более менее на все остальные вопросы,я отвечу тебе на 3 вопросик.Так как для новичка сорс код это большой гемор решается это дело простеньким скриптом:
[/FONT][FONT=Lucida Console][COLOR=SeaGreen]/* Проверка на статус [AFK]
Скриптовая реализация проверки
Скрипт написал DiS[IP] для rus-ea
*/[/COLOR][/FONT][FONT=Lucida Console]
- script dis_afk -1,{
OnPCLoginEvent:
// При заходе персонажа в игру аттачим его к нашему таймеру
attachnpctimer ""+strcharinfo(0)+"";
// Включаем таймер
initnpctimer;
end;
// Каждую минуту запускаем проверку
OnTimer60000:
// Определяем карту
getmapxy(.@disip$,.@disipx,.@disipy,0);
// Если игрок в течение минуты не сдвинулся с указанной точки прибавляем переменную @afk_status
if(@disip$ == .@disip$ && @disipx == .@disipx && @disipy == .@disipy){ set @afk_status,@afk_status+1; }
// Если игрок сдвинулся с точки обнуляем статус(переменную)
else {
set @afk_status,0;
}
set @disip$,.@disip$;
set @disipx,.@disipx;
set @disipy,.@disipy;
// Если игрок не сдвинулся с точки в течении 5 минут
if(@afk_status==5){ 'ТУТ ТВОЕ ДЕЙСТВИЕ' stopnpctimer; end; }
end;
}
[/FONT]
Автор: nomn: Дата: 06.11.2010
[COLOR="Indigo"]oO Dis, ну ты чего... зачем велосипед изобретать? xD
player.conf
// Idle characters can receive autoloot?
// Set to the time in seconds where an idle character will stop receiving
// items from Autoloot (0: disabled).
idle_no_autoloot: 0
Автор: DiS[IP]: Дата: 06.11.2010
[FONT=Lucida Console]nonm,Ох,забыл..все конфиги в голове не удержишь ) И опять же тот конфиг действует только на автолут,а мой вариант можно подогнать под любое действие.[/FONT]
Автор: nomn: Дата: 06.11.2010
ну с учетом того, что вопрос был про автолут, вешать лишние таймеры будет оч. не разумно. хуже таймеров эмуль ничего не грузит. а для другой ситуации очень может даже и гуд