Назад

Вопросики

Автор: 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


Внимание, время указывается в секундах. К примеру 120 - это 2 минуты.[/COLOR]

Автор: DiS[IP]: Дата: 06.11.2010

[FONT=Lucida Console]nonm,Ох,забыл..все конфиги в голове не удержишь ) И опять же тот конфиг действует только на автолут,а мой вариант можно подогнать под любое действие.[/FONT]

Автор: nomn: Дата: 06.11.2010

ну с учетом того, что вопрос был про автолут, вешать лишние таймеры будет оч. не разумно. хуже таймеров эмуль ничего не грузит. а для другой ситуации очень может даже и гуд