Sziasztok!
Adott egy quest. A mountokat úgy csináltam meg, hogy amikor a leltáradban van a hívójuk, akkor is megadják a bónuszt. A probléma viszont az, hogyha már nincs a leltáradban a mount, mert eladtad/eldobtad, a bónusz akkor is megmarad.
A quest:
Idézquest kiskutya_hivo begin
state start begin
when login begin
if pc.count_item(18555)>=1 then
affect.add_collect(apply.ATT_BONUS_TO_MONSTER, 30, 60*60*24*365*60)
else
affect.remove_collect(apply.ATT_BONUS_TO_MONSTER, 30, 60*60*24*365*60)
end
end
when 18555.use begin
if pc.is_polymorphed() then
say("Átváltozva nem lovagolhatsz!")
elseif pc.is_mount() then
say("Te már ülsz egy állaton, először szállj le!")
else
pc.mount(8851, 3600)
end
end
end
end
Valakinek esetleg lenne rá ötlete, hogyan módosítsam?
Nagyon szívesen írok rá neked c++ ban egy normális kódot ami nem luás és folyton leellenőrzi, hogy nálad van e a tárgy :)
Idézetet írta: Meli Dátum 2018-04-19, 18:37:19
Nagyon szívesen írok rá neked c++ ban egy normális kódot ami nem luás és folyton leellenőrzi, hogy nálad van e a tárgy :)
Nagyon megköszönném, mert így össze-vissza buggol...:(
egyszerű ebben is, csak bővíteni kell
quest kiskutya_hivo begin
state start begin
when login begin
loop_timer("kutya", 10)
end
when kutya.timer begin
if pc.count_item(18555)>=1 then
affect.add_collect(apply.ATT_BONUS_TO_MONSTER, 30, 60*60*24*365*60)
else
affect.remove_collect(apply.ATT_BONUS_TO_MONSTER, 30, 60*60*24*365*60)
end
end
when 18555.use begin
if pc.is_polymorphed() then
say("Átváltozva nem lovagolhatsz!")
elseif pc.is_mount() then
say("Te már ülsz egy állaton, először szállj le!")
else
pc.mount(8851, 3600)
end
end
end
end
nem biztos hogy így lefut, mert nem néztem hogy az egész quest műkdöik e, de ez alapján meg tudod írni.
érdemes egy quest / timerbe tenni az összes mountot, kicsit megnézed akkor rájösz hogyan.
mivel csak mob elleni erővel csinálod, ezért tök könnyen megoldható:
char_battle.cpp-ben a Damage függvény elejére írd bele
if(!IsPC() && pAttacker->IsPC() && pAttacker->CountSpecifyItem(18555) > 0) dam += dam/100*30;
Idézetet írta: Distraught Dátum 2018-04-20, 14:47:59
mivel csak mob elleni erővel csinálod, ezért tök könnyen megoldható:
char_battle.cpp-ben a Damage függvény elejére írd bele
if(!IsPC() && pAttacker->IsPC() && pAttacker->CountSpecifyItem(18555) > 0) dam += dam/100*30;
Igen, de neki mesteres szerverbe kellene ez.
Szóval ez is jó, csak ő még + bónuszt akar hozzá adni.