Назад

Функция нужна очень=)

Автор: 54546: Дата: 06.07.2009

Народ какая функция, которая считает количество выживших игроков на карте??

Автор: 54546: Дата: 06.07.2009

нене. Мне нужно именно количество живых игроков а не мертвых! Точне чтобы считал на карте толька живых а не с мертвыми!

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

Мда...Парень ты явно что-то не понимаешь.Это и есть эта вещь.Тебе для чего нужно это?

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

Хотя, а если человек не нажмёт воскресится около сэйва и будет просто валятся его труп, его посчитает эта функция? Думаю да...

Автор: 54546: Дата: 06.07.2009

Карочи ну в виде Рулф. Толька когда моб убивает Игрока игрок может лежать на локации и не телепортировать в город. так вот есть сейчас в новых версиях Афины уже эта функция которая считает толька живых игроков на карте. а то что ты предлогаешь он будет считать и мертвых и живых и показывать на экран!

Автор: 54546: Дата: 06.07.2009

я могу кинуть вам заготовки функции. написаное мной! если эта функция есть зачем ее выкладывать!

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

Кидай.

Автор: 54546: Дата: 06.07.2009

Зачем если она есть в новой афине?

Автор: 54546: Дата: 06.07.2009

script.c добавляешь функцию

BUILDIN_DEF(alivecount,"s"),
и
BUILDIN_FUNC(alivecount) {
int users=0, i=0, j=0, m=0;
struct map_session_data **all_sd;
m = map_mapname2mapid(conv_str(st,& (st->stack->stack_data[st->start+2])));
all_sd = map_getallusers(&users);
for(i = 0; i < users; i++)
if(!pc_isdead(all_sd) && map_mapindex2mapid(all_sd->mapindex) == m)
j++;

push_val(st->stack,C_INT,j);
return 0;
}

Автор: 54546: Дата: 06.07.2009

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

Автор: 54546: Дата: 06.07.2009

Нарож кто сможет поправить эти скрипты чтобы показывало толька количество живых на карте. ТОЛЬКО ЖИВЫХ!! ПОжалуйсто помогите. Нужно его переписать в новом синтаксисе. так как это с ревизии 10000

BUILDIN_DEF(alivecount,"s"),


BUILDIN_FUNC(alivecount) {
int users=0, i=0, j=0, m=0;
struct map_session_data **all_sd;
m = map_mapname2mapid(conv_str(st,& (st->stack->stack_data[st->start+2])));
all_sd = map_getallusers(&users);
for(i = 0; i < users; i++)
if(!pc_isdead(all_sd) && map_mapindex2mapid(all_sd->mapindex) == m)
j++;

push_val(st->stack,C_INT,j);
return 0;
}

Автор: hajikov: Дата: 06.08.2009

54546 - тебе самому с собой не надоело общаться?? Всю тему зафлудил разговором самим с собой.

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

Ну во-первых это сорс,а не скрипт.А во-вторых зачем ты изобретаешь велосипед?Ты сам не понимаешь что там писано толком и то что ты хочешь увидеть.
P.S:Пиши свою функцию на подобии ареаюзерс но с проверкой на мертвых.