Назад

Помогите с нпц

Автор: -OnIZuCa-: Дата: 01.27.2010

Привет, помогите, пожалуйста. Как создать такой нпц, который будет присваивать каждому человеку из гильдии свою переменную.
А другой нпц будет сканировать мир в поисках таких людей, и если они есть в зависимости от переменной, им будет даваться бонусы.

Пример
Нпц устанавливает переменную на человека.
set $bog,1; итд на последующих людей.

Другой нпц сканирует на эту переменную и если находит, дает бонус ( только как это написать я не знаю.)

Автор: -OnIZuCa-: Дата: 01.27.2010

Ок, объясню получше.
Смотри, если гильдия захватывает определенный замок, то ее членам дается бонусы. Допустим 10 стр 5 деф итд.
Если этот замок перезахватывают, то гильдия теряет эти бонусы. если человек вышел из ги то бонусы тоже пропадают.
Вроде все подробно описал =)

Автор: Sanasol: Дата: 01.27.2010

В скриптовом варианте я думаю серверу очень тяжело будет если это можно сделать.. А в сорсах я не разбираюсь =)

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

Если кто-нибудь скажет как по id гильдии, узнать её имя, или наоборот, по имени - id. То накатаю скриптик.

Автор: San: Дата: 01.27.2010

Автор: -OnIZuCa-: Дата: 01.27.2010

Зарание всех благодарю!

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

Так, когда человек выходит из Ги я хз, как реализовать... Пока реализовал бонус.
Работает, проверено.

-	script	bonus	-1,{
OnAgitEnd:
set $guild, getcastledata("prtg_cas05",1);
end;

OnPCLoginEvent:
if (strcharinfo(2)==getguildname ($guild)) goto ok;
ok:
if (@bonus == 1) end;
set zeny, zeny+1;
set @bonus,1;
end;
}

Автор: Хитрюга Джэк: Дата: 01.27.2010

жесть, нет предела фантазии!

Автор: -OnIZuCa-: Дата: 01.27.2010

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

Автор: Sanasol: Дата: 01.28.2010

Цитата Мяфк;19303:
Так, когда человек выходит из Ги я хз, как реализовать... Пока реализовал бонус.
Работает, проверено.
-	script	bonus	-1,{
OnAgitEnd:
set $guild, getcastledata("prtg_cas05",1);
end;

OnPCLoginEvent:
if (strcharinfo(2)==getguildname ($guild)) goto ok;
ok:
if (@bonus == 1) end;
set zeny, zeny+1;
set @bonus,1;
end;
}


ммм. Автор изъяснился плохо. Если Мяфк правильно написал.
И я его не понял. Правда написал как-то кривовато :)
Если у какойто гильдии замок то ему такие-то бонусы.
Тогда Так


-	script	bonus	-1,{
OnAgitEnd:
set $guild, getcastledata("prtg_cas05",1);
end;

OnPCLoginEvent:
if (strcharinfo(2)==getguildname ($guild)) {
dispbottom "Вы получаете бонус гильдии 1 зени.";
set zeny, zeny+1;
set @bonus,1;
end;
} else {
dispbottom "К сожалению у вашей гильдии нет бонусов";
set @bonus,0;
}
}


dispbottom в данном случае не очень нужны. Но это как дебаг работает ли скрипт. Можешь закомментировать (//) если надо.