vlitov

Запрет @alootid на определённый ID

11 сообщений в этой теме

Запрет @alootid на определённый ID - возможно ли? Как реализовать?

К примеру, чтобы итем 20000 можно было поднять только ручками?

0

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

убирай из дропа мобов этот айди.

делай мобов эвентными.
makeitem 20000,1,[email protected]$,[email protected],[email protected];

Вопрос в том, как получить Х У убитого моба.
Если знаешь, то напиши

1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

*getmapxy(); в помощь.

1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

он разве работает на монстров?
http://ea.dj-yhn.com/index.php?c=getmapxy

If type is 3, the search will locate the
current pet of the character who's name is given in the search string, it will
NOT locate a pet by name.
 

0

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
prontera,152,161,3	script	WSAQ00_1	870,{
monster "prontera",152,162,"ОДЕРЖИМАЯ",1002,1,"WSAQ00_1::OnDS04Death"; 
end;


OnDS04Death:
getmapxy([email protected]$,[email protected],[email protected],3);
mapannounce "prontera","   "+ [email protected]$ +" "+ [email protected] +" "+ [email protected] +"",3;
end;}

 

Пример кода, где система отказывается брать Х Y убитого моба.
Где я ошибся?

0

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

вопрос актуален

 

0

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

В саму команду в src проще уж проверку дописать на ID лута.

0

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
14 часа назад, Salfer сказал:
prontera,152,161,3	script	WSAQ00_1	870,{
monster "prontera",152,162,"ОДЕРЖИМАЯ",1002,1,"WSAQ00_1::OnDS04Death"; 
end;


OnDS04Death:
getmapxy([email protected]$,[email protected],[email protected],3);
mapannounce "prontera","   "+ [email protected]$ +" "+ [email protected] +" "+ [email protected] +"",3;
end;}

 

Пример кода, где система отказывается брать Х Y убитого моба.
Где я ошибся?

https://rathena.org/board/topic/65099-using-getmapxy-to-monster/

1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Спасиб, попробую, позже покажу что вышло)

0

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Заходим в mob.c и находим строки :

} else if( mvp_sd && !md->state.npc_killmonster ) {
	pc_setparam(mvp_sd, SP_KILLEDRID, md->mob_id);

И далее вписываем :

Для rA :

pc_setreg(mvp_sd, add_str("@mobdead_m"), md->bl.m);
pc_setreg(mvp_sd, add_str("@mobdead_x"), md->bl.x);
pc_setreg(mvp_sd, add_str("@mobdead_y"), md->bl.y);

Для Herc соответственно :

pc_setreg(mvp_sd, script->add_str("@mobdead_m"), md->bl.m);
pc_setreg(mvp_sd, script->add_str("@mobdead_x"), md->bl.x);
pc_setreg(mvp_sd, script->add_str("@mobdead_y"), md->bl.y);

Сохраняем, компилим, и вуаля, у нас есть все необходимое.

-	script	custom_drop	-1,{
end;

OnNPCKillEvent:
	switch(killedrid) {
		default:
			break;
		case 1002:
			makeitem 20000,1,mapid2name(@mobdead_m),@mobdead_x,@mobdead_y;
			break;
	}
	end;
}

Имхо, куда легче, чем лопатить всех мобов и делать их эвентными. ^_^

Изменено пользователем Nurkz
1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

он берет X Y последнего убитого монстра данного типа =\
Возможно серьезные косяки.<_<
А так спасиб за инфу

0

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!


Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.


Войти сейчас