Автор: 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:Пиши свою функцию на подобии ареаюзерс но с проверкой на мертвых.