Перейти к содержанию

Cнятие ограничений Hatred и Feeling


Fox RM

Рекомендуемые сообщения

1)Hatred

Открываем eA/src/map/pc.c и ищем это:

//Attempts to set a mob.
int pc_set_hate_mob(struct map_session_data *sd, int pos, struct block_list *bl)
{
int class_;
if (!sd || !bl || pos < 0 || pos > 2)
return 0;
if (sd->hate_mob[pos] != -1)
{ //Can't change hate targets.
clif_hate_info(sd, pos, sd->hate_mob[pos], 0); //Display current
return 0;
}

class_ = status_get_class(bl);
if (!pcdb_checkid(class_)) {
unsigned int max_hp = status_get_max_hp(bl);
if ((pos == 1 && max_hp < 6000) || (pos == 2 && max_hp < 20000))
return 0;
if (pos != status_get_size(bl))
return 0; //Wrong size
}
sd->hate_mob[pos] = class_;
pc_setglobalreg(sd,hate_var[pos],class_+1);
clif_hate_info(sd, pos, class_, 1);
return 1;
}

Заменяем этот кусок на это:

/Attempts to set a mob. 
int pc_set_hate_mob(struct map_session_data *sd, int pos, struct block_list *bl)
{
int class_;
if (!sd || !bl || pos < 0 || pos > 2)
return 0;
sd->hate_mob[pos] = -1;
class_ = status_get_class(bl);
if (!pcdb_checkid(class_)) {
unsigned int max_hp = status_get_max_hp(bl);
if ((pos == 1 && max_hp < 6000) || (pos == 2 && max_hp < 20000))
return 0;
if (pos != status_get_size(bl))
return 0; //Wrong size
}
sd->hate_mob[pos] = class_;
pc_setglobalreg(sd,sg_info[pos].hate_var,class_+1);
clif_hate_info(sd, pos, class_, 1);
return 1;
}

2)Feeling

Открываем eA/src/map/skill.c и находим это:

case SG_FEEL:
//AuronX reported you CAN memorize the same map as all three. [Skotlex]
if (sd) {
if(!sd->feel_map[skilllv-1].index)
clif_parse_ReqFeel(sd->fd,sd, skilllv);
else
clif_feel_info(sd, skilllv-1, 1);
}
break;

Заменяем этот кусок на это:

	case SG_FEEL:
//AuronX reported you CAN memorize the same map as all three. [Skotlex]
if (sd) {
clif_parse_ReqFeel(sd->fd,sd, skilllv);
}
break;

  • Upvote 1
Ссылка на комментарий
Поделиться на другие сайты

  • 4 месяца спустя...
  • 1 год спустя...

Заменяем этот кусок на это:

	case SG_FEEL:
//AuronX reported you CAN memorize the same map as all three. [Skotlex]
if (sd) {
clif_parse_ReqFeel(sd->fd,sd, skilllv);
}
break;

eathena\src\map\skill.c(5474): warning C4013: clif_parse_ReqFeel: нет определения; предполагается "extern" с возвратом типа "int"

Вот такая ошибка выскакивает при перестроении.

Можно оставить все как есть, и ввести команду @feelreset?

Изменено пользователем Денис Бражник
Ссылка на комментарий
Поделиться на другие сайты

  • 1 год спустя...

Сделал всё, выдало ошибку когда набрасываешь харту на моба

[Warning]: skill_castend_nodamage_id: Unknown skill used:434

^C

Изменено пользователем Gintama
Ссылка на комментарий
Поделиться на другие сайты

  • 1 месяц спустя...

1. Говорят, что тибетские монахи, которые держат сервера РО могут подгружать в работу новые сорцы без перезапуска и даже компиляции. Для этого нужно иметь тесную духовную связь с эмулятором.

У тебя она есть?

2. Пи*дец, кто сейчас сервера держит... У меня была собака - я её учил, она поставила серв раги - я её убил.

Изменено пользователем Some
  • Upvote 2
Ссылка на комментарий
Поделиться на другие сайты

  • 3 месяца спустя...

Ребят Вставил на рАтену... При компиляции выскочило это

Ошибка 2 error C2065: skilllv: необъявленный идентификатор (..\src\map\skill.c)src\map\skill.c 7983 1 map-server_sql

Ошибка 1 error C2371: pc_set_hate_mob: переопределение; различные базовые типы (..\src\map\pc.c) \src\map\pc.c 1203 1 map-server_sql

Я знаю что на рА Просто другие переменные скорее Всего из за этого ошибка...

Подскажите как это поправить

Использую ра 17704

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

В обоих вариантах достаточно закоментировать лишние строчки

По примеру ТСа как обезъянка повторить даже не сможешь?

  • Downvote 2
Ссылка на комментарий
Поделиться на другие сайты

В обоих вариантах достаточно закоментировать лишние строчки

По примеру ТСа как обезъянка повторить даже не сможешь?

было 2 ошибки теперь 9 и 2 варнинга...

С таким помощником думаю ток хуже Сделаю...

Хозяин Темы подскажи пожалуйста как на ратену поставить такое?

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

Я уже всё перепробовал Но либо Скилл Failed...

Либо Он сохраняется на одном мобе или человеке...

А как снять ему ограничения Я так и не нашёл Вся надежда что добрый человек появится и подскажет что-то Путёвое

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

Specially for Fizik

Hatred:


/**
* Player register a bl as hatred
* @param sd : player session
* @param pos : hate position [0;2]
* @param bl : target bl
* @return false:failed, true:success
*/
bool pc_set_hate_mob(struct map_session_data *sd, int pos, struct block_list *bl)
{
int class_;
if (!sd || !bl || pos < 0 || pos > 2)
return false;
sd->hate_mob[pos] = -1;
class_ = status_get_class(bl);
if (!pcdb_checkid(class_)) {
unsigned int max_hp = status_get_max_hp(bl);
if ((pos == 1 && max_hp < 6000) || (pos == 2 && max_hp < 20000))
return false;
if (pos != status_get_size(bl))
return false; //Wrong size
}
sd->hate_mob[pos] = class_;
pc_setglobalreg(sd,sg_info[pos].hate_var,class_+1);
clif_hate_info(sd, pos, class_, 1);
return true;
}

Feeling:


case SG_FEEL:
//AuronX reported you CAN memorize the same map as all three. [Skotlex]
if (sd) {
clif_feel_req(sd->fd,sd, skill_lv);
}
break;

Табуляцию надеюсь поставить сам сможешь.

А вообще, прежде чем что-то бездумно менять, стоит проверить исходный код. Можно было заметить что pc_set_hate_mob у нас boolean а не int.

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

Изменено пользователем friimq
  • Upvote 2
Ссылка на комментарий
Поделиться на другие сайты

Specially for Fizik

Hatred:


/**
* Player register a bl as hatred
* @param sd : player session
* @param pos : hate position [0;2]
* @param bl : target bl
* @return false:failed, true:success
*/
bool pc_set_hate_mob(struct map_session_data *sd, int pos, struct block_list *bl)
{
int class_;
if (!sd || !bl || pos < 0 || pos > 2)
return false;
sd->hate_mob[pos] = -1;
class_ = status_get_class(bl);
if (!pcdb_checkid(class_)) {
unsigned int max_hp = status_get_max_hp(bl);
if ((pos == 1 && max_hp < 6000) || (pos == 2 && max_hp < 20000))
return false;
if (pos != status_get_size(bl))
return false; //Wrong size
}
sd->hate_mob[pos] = class_;
pc_setglobalreg(sd,sg_info[pos].hate_var,class_+1);
clif_hate_info(sd, pos, class_, 1);
return true;
}

Feeling:


case SG_FEEL:
//AuronX reported you CAN memorize the same map as all three. [Skotlex]
if (sd) {
clif_feel_req(sd->fd,sd, skill_lv);
}
break;

Табуляцию надеюсь поставить сам сможешь.

А вообще, прежде чем что-то бездумно менять, стоит проверить исходный код. Можно было заметить что pc_set_hate_mob у нас boolean а не int.

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

Да вот до разбора сорцов ещё руки не дошли))) А так спасибо огромное попробую)

Feeling Работает... используется на любой локации...

Hatred Не на всех мобов)) но на некоторых кидается (на людях ещё не опробовал)

Спасибо большое за помощь Плюсик поставил))

Тему можно закрывать

Изменено пользователем Fizik
Ссылка на комментарий
Поделиться на другие сайты

  • 1 год спустя...

Новая рАтена ругается на эту строку при компиляции
Помогите решить, нужен этот мод очень сильно ( 

pc_setglobalreg(sd,sg_info[pos].hate_var,class_+1);
Ссылка на комментарий
Поделиться на другие сайты

×
×
  • Создать...
Яндекс.Метрика