Автор: ??????: Дата: 04.22.2011
Создавал тему уже, удалили))).Объясню все заново.
Как сделать в вещах callfunc?
Делал так -
2383,Brynhild,Brynhildr,5,0,,400,,,,1,0xFFFFFFFF,7,2,16,,94,0,0,{ callfunc "111","2@cata"; bonus2 bSubRace,RC_NonBoss,100; bonus2 bSubRace,RC_Boss,100; bonus bMaxHPrate,20; },{},{}
function script 111 {
getmapxy .@mapfunk$,.@xfunk,.@yfunk,0;
if(.@map$ != getarg(0))
end;
return;
}
Автор: imba: Дата: 04.22.2011
Вот пример с Mirror Shield:
2107,Mirror_Shield,Mirror Shield,5,60000,,1000,,4,,0,0x00404082,7,2,32,,0,1,4,{ bonus bMdef,5; },{},{}
2107,Mirror_Shield,Mirror Shield,5,60000,,1000,,4,,0,0x00404082,7,2,32,,0,1,4,{getmapxy @usermap$,@usermapx,@usermapy,0; if(@usermap$=="prontera")bonus bMdef,5; },{},{}
Автор: Пикник: Дата: 04.22.2011
На ЛГ подсказали сделать так-
2107,Mirror_Shield,Mirror Shield,5,60000,,1000,,4,,0,0x00404082,7,2,32,,0,1,4,{getmapxy @usermap$,@usermapx,@usermapy,0; if(@usermap$=="prontera")bonus bMdef,5; },{},{}
Автор: imba: Дата: 04.22.2011
В сорцах правь, сделай обновление статуса, если игрок телепортируется.
Автор: Пикник: Дата: 04.22.2011
В сорцах я не силен.
Автор: imba: Дата: 04.22.2011
*** тут был бредовый совет, удалите пост, пожалуйста.
Автор: Пикник: Дата: 04.22.2011
Не помогло.Вставил в самом конце перед return,0;
Автор: imba: Дата: 04.22.2011
1. Пикник, узнай у чудодейственной силе рекомпиляции.
2.
Найди такие строки в src/map/pc.c:
if(sd->bl.prev != NULL){
unit_remove_map_pc(sd,clrtype);
clif_changemap(sd,map[m].index,x,y); // [MouseJstr]
sd->mapindex = mapindex;
sd->bl.m = m;
sd->bl.x = sd->ud.to_x = x;
sd->bl.y = sd->ud.to_y = y;
status_calc_pc(sd,0);